Case study · Agentic commerce

When the customer is an agent: making a Southeast Asian travel marketplace ready for AI assistants

A regional travel marketplace saw consumer AI agents arrive in its home market, able to compare, basket and book on a person's behalf. Its site was built for humans and scrapers. The goal was to give agents a fast, safe and honest way in, without breaking the experience for everyone else.

Case studyTravel · Singapore & Southeast AsiaSumanta Mukhopadhyay9 min read
#ai#agents#architecture
CASE STUDY · CASE STUDY · AGENTIC COMMERCE29 Oct 2026 · 10:25 GST
At a glance
SectorTravel · Singapore & Southeast Asia
My roleFractional CTO and AI architect
EngagementStrategy, architecture and delivery leadership
ScopeAgent-facing APIs, structured inventory, booking safety, traffic routing, data protection
What changed
  • Inventory, prices and policies readable by agents without scraping
  • Bookings that require an explicit human approval step and cannot be duplicated
  • Agent traffic routed, limited and measured separately from human traffic
  • A clear basis for personal data use under the PDPA
  • Partners able to integrate through a documented interface
Structured product dataAgent booking APIMCP serverKubernetes Gateway APIIdempotent booking serviceConsent and approval flowRate limitingOpenTelemetry

Anonymised composite. Client names, identifying details and confidential figures are withheld; public facts are cited in the references.

The situation

A travel marketplace serving Singapore and its neighbours sold hotels, flights and activities through a website and app. Its traffic already included price scrapers and comparison bots, handled with blocking and rate limits. Its booking flow assumed a person clicking through screens.

Why now. In late October 2026, Meta made its personal AI agent, Muse, available in Singapore, with partners including Shopee, Grab, Singapore Airlines, Agoda and Trip.com12. Coverage describes the agent building a basket and waiting for the person's approval before ordering, and asking for approval before sensitive steps such as purchases2. For a travel business, that means some customers will arrive through an assistant rather than the app, and the marketplace either offers agents a good way in or watches them book elsewhere. See the tech news update for 29 October.

What had to be true

  • Agents read the truth: inventory, total prices, fees and cancellation rules available as structured data, not scraped from pages.
  • No booking without a person's approval, and no duplicate bookings from retries.
  • Agent traffic isolated, so a busy agent platform cannot slow down human customers.
  • Clear data protection basis for using personal data in recommendations under Singapore's PDPA.
  • One interface for many agents, not a custom integration per assistant.

Architecture

Callers
Peopleweb and appConsumer agentspartner assistantsBusiness partnersresellers and OTAs
Edge
Gateway routingagents to their own backendAuthenticationper agent platformRate limitsper caller
Agent interface
Search and quote APIstructured, complete pricesMCP serversearch, hold, book toolsPolicy pages as datafees, cancellation
Booking
Hold and approveshort inventory holdIdempotent bookingkeys per requestPaymentsperson-confirmed
Assurance
Telemetry by caller typeconversion, errors, costAudit trailwho approved whatConsent recordsPDPA basis per use
Agents get their own front door, their own limits and a booking path that cannot complete without a person.

The data flow, end to end

  1. AskA person asks their assistant for a hotel and flight within a budget
  2. SearchThe agent queries the structured search API or MCP tools
  3. QuoteFull price, fees and cancellation terms returned as data
  4. HoldInventory held briefly under an idempotency key
  5. ApproveThe person approves in their assistant; the approval is recorded
  6. BookBooking and payment confirmed once; retries return the same result
The hold-and-approve step turns an agent's plan into a booking only with a person's consent.

The agent-facing tools followed the Model Context Protocol so different assistants could use the same interface5. Security for those tools followed the practices in securing MCP servers, and the idempotent booking design reused patterns from idempotent payment pipelines.

The hard part: serving agents without hurting people

Agent platforms can generate bursts of searches as they compare options for thousands of users at once. The answer was to route agent traffic to its own backends with its own limits and capacity, so a spike from one assistant never slowed the app. The Kubernetes Gateway API made this declarative: routes can match on headers, such as an authenticated agent identifier, and split or direct traffic to different services4.

Diagram of a load balancer sending requests through an HTTPRoute: normal traffic split 90 percent to service v1 and 10 percent to v2, and requests with a canary header sent entirely to v2
Header-based routing with the Gateway API: the same mechanism sends identified agent traffic to its own backend and lets new agent APIs roll out gradually. Source: Kubernetes blog, Gateway API authors · CC BY 4.0

Treat agents as a customer channel, not as bots to block. Give them a front door, rules and limits, and they become measurable revenue instead of unmanaged load.

On personal data, the PDPC's advisory guidelines explain how consent and notification obligations, and their exceptions, apply when personal data is used in AI recommendation systems3. Recommendations to agents used only the data needed for the request, and anything personalised was tied to a recorded basis. More on the rules in fractional CTO in Singapore.

How it ran

Product and commercial
  1. Which partners and agents
  2. Pricing and fee transparency
  3. Partner terms
Engineering
  1. Structured search API
  2. Hold, approve and idempotent booking
  3. Gateway routing and limits
Risk and data
  1. PDPA basis per use
  2. Fraud signals for agent traffic
  3. Audit trail of approvals
Commercial transparency mattered as much as engineering: agents compare total prices ruthlessly.
Phase 1Readable
  • Structured inventory
  • Prices and policies as data
  • Agent traffic measured
Phase 2Bookable
  • Hold and approve
  • Idempotent booking
  • Pilot with one partner
Phase 3Isolated
  • Gateway routing
  • Per-agent limits
  • Separate capacity
Phase 4Open
  • MCP tools
  • Partner onboarding
  • Conversion by channel
Read first, book second, scale third.

Key decisions and trade-offs

DecisionAlternativeWhy
Serve agents through an APIBlock or tolerate scrapingAccurate data, control and a measurable channel
Hold and approve before bookingLet agents book directlyA person's consent for every purchase, fewer disputes
Idempotency keys on every booking callRely on agents not retryingAgents retry; duplicates are expensive
Separate routing and capacity for agentsOne shared backendAgent bursts cannot degrade the app
Standard protocol for toolsCustom integration per assistantOne interface, many agents

What I'd do again, and differently

Again: make prices and policies machine-readable first; it improved the human site too. Differently: involve finance and customer service earlier. Approval, refund and dispute flows for agent bookings raised more questions than the APIs did. Related reading: structured data for AI search and MCP registries for enterprises.

If your customers are starting to arrive through AI assistants, my AI architecture work and work in Singapore and Southeast Asia explain how I approach it, or analyse your challenge and bring the result to a call.

References
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
FAQ

Common questions

What does agent-ready mean for an online marketplace?

Agents can find, compare and book through documented, machine-readable interfaces instead of scraping pages, with clear prices and policies, safe booking steps that need human approval, and their own rate limits and monitoring.

Should we block AI agents or serve them?

Blocking rarely works and loses customers who choose to shop through an assistant. Serving agents through a proper interface gives you control: authentication, limits, accurate data and a human approval step for purchases.

How do you stop an agent from booking twice?

Make every booking request idempotent with a client-supplied key, hold inventory for a short approval window, and confirm only after an explicit approval from the person the agent is acting for.

Keep reading

Related

Open to advisory, fractional CTO & select builds

Let's talk about what you're building.

The fastest route is a free 30-minute call. Prefer to write? Send a message and I'll reply personally within two business days.

Start a conversation

How would you like to reach me?

Book a 30-min callFastest. Pick any open slot on my calendar.→ Write in GmailOpens a pre-filled draft in your browser.→ Use my email appOutlook, Apple Mail or your default client.→

I reply personally within two business days. Time zones from the Americas and Europe to the Middle East and Asia-Pacific.