Agent-Safe Payments: Letting AI Agents Book Without Losing Control
An AI agent holding a card number is a liability. An agent holding a scoped mandate, a locked quote and a human checkpoint is a sales channel.
Field Notes · Agentic Travel
AI agents are learning to book. Here is what a tour supplier should put on the menu for them, what to leave off, and how to start without betting the season.

At 9:12 on a Tuesday night, a traveler in Minneapolis types into an assistant: find us a small-group sunrise hike near Santa Fe this Saturday, two adults, under four hours, and we’d love to bring the dog.
The assistant does not open your homepage and admire the photography. It looks for something it can call: a list of departures, a price, a policy, a way to hold two seats. If it finds that for your competitor and not for you, the recommendation is settled before anyone reads a word of your copy.
That is the world the large distributors are building for. Skift reported in May 2026 that Expedia Group is preparing to launch a B2B Model Context Protocol (MCP) server so partners’ AI agents can connect directly to its inventory, from a B2B business that already processes 21 billion API calls a day. lastminute.com has opened an MCP flight server to AI models. Phocuswright’s 2026 research found that 61% of travel businesses surveyed are experimenting with or scaling agentic AI.
None of this is bad news for an independent tour supplier, but it does set a deadline. If agents can reach your tours only through an intermediary, they will see you as one row in someone else’s catalog, with no packaging logic, no voice and a thinner margin. This primer covers the alternative, which is your own agent-facing interface, and the decisions that matter more than the protocol itself.
The Model Context Protocol is an open protocol for connecting AI assistants to tools and data. A business runs an MCP server. An assistant, the client, connects to it, reads what the server offers, and lets the model decide when to use each capability. A server can offer three kinds of things:
A useful mental model is a front desk with a printed card listing what staff may do for a guest. The card is short, every item on it is precise, and some things are simply not on it. MCP doesn’t replace your reservation system or your website. Almost always it is a thin layer over the booking API you already have, plus the rules that decide what an outside agent may do.
So the hard work isn’t technical. It’s editorial: deciding what goes on the card.
Most tour and activity businesses can cover a realistic agent journey with five tools. Two more are worth adding once holds go live.
| Tool | Agent provides | You return | If you skip it |
|---|---|---|---|
search_departures |
Date range, party size, area, max duration, tags | Matching departures with start times and seats left | Agents scrape, or route through an intermediary |
get_product |
Product ID | Description, meeting point, inclusions, fitness level, age, pet and accessibility rules | Agents guess, and guesses become complaints |
check_availability |
Departure ID, party composition | Live seats, price by traveler type, hold window | Agents quote stale prices |
create_quote |
Departure, party, add-ons | Itemized total, taxes, policy version, quote expiry | No stable number for the traveler to agree to |
create_hold |
Quote ID, traveler contact | Hold ID, expiry time, confirmation step | The agent can recommend but never close |
get_hold_status |
Hold ID | Held, paid, expired or released | Agents re-ask and double-hold |
release_hold |
Hold ID | Confirmation of release | Seats stay locked until expiry |
The model picks tools by reading their descriptions, so treat descriptions as operating instructions, not API reference. Compare two versions:
The second version heads off a whole class of bad recommendations. If your staff answer the same question twenty times a month, the answer belongs in a description or a resource.
Here is how the Minneapolis request plays out against a well-built server, using a hypothetical operator with three Saturday departures.
search_departures for Saturday, two adults, within 45 minutes of Santa Fe, under four hours. Three results: a 6:40 AM ridge sunrise hike (3.5 hours), a 7:15 AM canyon walk (2.5 hours) and a 9:00 AM history stroll (2 hours).get_product on all three. The ridge hike is rated strenuous and doesn’t allow dogs. The history stroll allows dogs but isn’t an early departure. The canyon walk allows leashed dogs under 40 pounds.check_availability on the canyon walk returns four seats left, $85 per adult, a $10 pet fee and a 20-minute hold window.create_quote returns $180 before taxes, itemized, under cancellation policy cxl-2026-03 (full refund up to 48 hours out, and a full refund if the operator calls off the walk for weather), valid for 20 minutes.create_hold holds two seats and hands the agent a confirmation step for the traveler.The hold response is deliberately boring:
{
"hold_id": "H-0417",
"departure_id": "canyon-walk-2026-10-31-0715",
"seats": 2,
"total": { "amount": 180.00, "currency": "USD", "taxes_included": false },
"policy_version": "cxl-2026-03",
"expires_at": "2026-10-27T21:41:00-06:00",
"next_step": "Traveler confirms and pays through the secure link sent by SMS and email"
}
Notice what did the work. It wasn’t the protocol. It was the content. The fitness rule, the pet weight limit and the policy version were all data the agent could read. Without them, the agent would have either recommended the ridge hike (wrong) or given up (a lost sale).
To an agent, a policy that lives in a PDF effectively doesn’t exist. Publish each one as a structured resource with a version number:
Every quote should carry the policy version it was issued under. When a traveler disputes a fee three weeks later, “they accepted cxl-2026-03 at 9:21 PM through an agent” is a fact you can settle, not an argument.
The most important design decision is that agents do not capture payment in your first release. An agent places a short hold, and the traveler completes the purchase on your own checkout. Card handling, consent and the customer relationship all stay with you.
Four guardrails make holds safe:
Delegated payment, where an agent pays within a limit the traveler has set, is coming. We cover those controls in agent-safe payments. It is a second step, not a first.
Some capabilities look helpful and turn out to be dangerous:
Before any agent connects, you should be able to tick every item below. A longer version lives in our agent-ready checklist.
Inventory truth
Content
Policy and checkout
Operations
The order you do things in matters more than speed.
Weeks 1–3: read-only. Expose search_departures, get_product and check_availability, and log every call. You’ll learn which questions agents ask that your content can’t answer. That log is the best content brief you will ever get.
Weeks 4–8: quotes and holds on one product line. Choose a line with simple pricing and plenty of availability. Watch three numbers: the share of quotes that become holds, the share of holds that become paid bookings, and how often travelers abandon checkout because something didn’t match what the agent told them.
After that: widen on purpose. Add products, add clients, and consider delegated payment only once hold-to-paid conversion is steady and disputes are close to zero.
That sequence is the backbone of most Agentic Commerce Readiness engagements we run, and it’s the order in which Nova’s Agent Gateway switches on catalog, policies, holds and attribution. Businesses that run many short departures each day tend to see results first. Our page for experiences and activities describes that pattern.
Open your inbox and pull the last fifty questions travelers sent before booking. Sort them into four piles: availability, eligibility, logistics and policy. Agents will need answers to every question in those piles. Each one you can answer with a field instead of a sentence is a booking an agent can close without phoning you.
Questions
No. In most cases the MCP server is a thin layer over the reservation system you already run. It translates an agent's requests into your existing availability and booking calls, and adds the rules that decide what an agent is allowed to do.
Not at first. Let agents search, quote and place short holds, then send the traveler a link to pay on your own checkout. Delegated payment within traveler-set limits can come later, once hold-to-paid conversion is stable and disputes are rare.
Issue each connecting client its own credentials and stamp every quote and hold with that client's identifier. That gives you attribution, per-agent limits, and a clean way to switch one client off without affecting the others.
Keep reading
An AI agent holding a card number is a liability. An agent holding a scoped mandate, a locked quote and a human checkpoint is a sales channel.
Assistants recommend what they can understand, verify and quote. Most independent travel brands give them remarkably little to work with.
Before a recommender can know what a traveler wants, it has to know what actually exists. Here is how to turn five messy feeds into one true record per real-world thing.
Bring the problem this article describes to a 45-minute discovery call. We will tell you honestly whether AI is the right tool for it yet.