Booking

Discovery and matching mean nothing without completion.


The job

Traveller

Job: Make this actually happen

I've found what I want. Now I need to secure it. Check availability, hold it while I confirm details, complete the booking.

Venue

Job: Get confirmed revenue

Interest doesn't pay bills. I need bookings that convert to stays. Holds that become confirmations. Confirmed revenue I can plan around.


What's broken today

Discovery without completion is just window shopping. Today's agents can find you a hotel but can't book it—you get handed off to a website to start from scratch.

For travellers:

  • Agent finds options, then you're on your own
  • Re-enter the same details on every site
  • No way to know what's actually available until you click through

For venues:

  • Different APIs for every channel
  • Bookings from agents require manual processing
  • No standard for how an AI should book a room

What changes with agents

Agents need to complete transactions, not just recommend them. This requires a standard protocol that every venue can implement and every agent can speak.

Standard actions: Check availability, get rates, place a hold, complete a booking, modify, cancel. Same operations at every venue. An agent doesn't need custom code for each hotel chain.

Lifecycle states: Every booking moves through defined states. Agents know exactly where a booking stands—requested, held, confirmed, arrived, completed—and what can happen next.

Humans in the loop: Agents recommend and hold. Humans confirm. The traveller stays in control while the agent handles the complexity. A hold expires if they don't confirm—the venue's inventory is protected.


How the specs answer this

SpecWhat it does
Bookable.actionsStandard operations: check-availability, get-rates, book, modify, cancel
StayFull booking lifecycle from request to completion
Stay.holdsTemporary reservations with configurable expiry
Stay.webhooksEvent notifications for state changes

The booking lifecycle

REQUEST → AVAILABLE → HELD → BOOKED → CONFIRMED → BALANCED → ARRIVED → STAYED → COMPLETED
                               ↓          ↓           ↓
                          MODIFIED   CANCELLED     NO_SHOW

Each state has clear entry and exit conditions. Agents know exactly where a booking stands and what can happen next.


Why holds matter

Agents choose. Humans confirm.

A hold reserves inventory while the traveller reviews the recommendation and confirms. This prevents:

  • Booking without consent
  • Lost inventory to abandoned conversations
  • Race conditions between discovery and commitment

Holds expire automatically. The venue's inventory is protected.