Skip to main content

Overview

Workflow
API Partner teams control the full booking experience inside their own product. The flow below starts with discovery and ends with post-booking updates.

Discover what to sell

1

Discover supported cities

API: List CitiesStart by fetching the cities Headout supports. Each product is tied to a city.What you get: city code, city name, country, and coordinates.
2

Browse products for a city

API: List ProductsUse the city code to fetch the products available in that market. Filter by collection, category, currency, or language.What you get: product summaries, titles, pricing, media, and category metadata.
3

Open product details

API: Get ProductPull the full product record for variants, policies, media, and booking fields required later in the flow.What you get: variants, pricing tiers, input field definitions, cancellation and reschedule policies, and deep-link URLs.
Read each variant’s inputFields carefully. They define the guest data you must collect before creating the booking.

Check availability

1

Browse date-level availability

API: List availabilities - NormalFetch available dates and pricing for a specific variant within a date range. Use this to build a calendar or date picker before the customer selects a specific slot.What you get: available dates, availability status (LIMITED, UNLIMITED, CLOSED), remaining count, and minimum pricing per date.
remaining: 1000 is a sentinel value indicating unlimited availability.
2

Check live slot inventory

API: List Inventory - NormalOnce the customer selects a date, fetch real-time slot inventory. Inventory is slot-based and can change quickly, so do not cache it.What you get: time slots, pax types, netPrice, and headoutSellingPrice.
Never sell below headoutSellingPrice. Pax types and prices can vary by slot even for the same variant.

Create the booking

1

Create the booking

API: Create BookingSubmit the selected slot, guest details, and pax counts. The booking starts in UNCAPTURED, then moves to PENDING after payment capture.What you get: a booking object with a bookingId and initial status.

Keep the user updated

1

Track the booking status

APIs: Get Booking · List BookingsPoll the booking or listen for webhooks. When the booking reaches COMPLETED, the ticket data is ready to show to the customer.Status progression: PENDINGCOMPLETED / FAILED / CANCELLED
2

Receive updates automatically

APIs: Create Webhook · Webhook PayloadRegister a webhook so status changes arrive automatically instead of relying on polling.What you receive: bookingId, new status, and eventTimestamp.
3

Change or cancel a booking

APIs: Cancel Booking · Reschedule BookingUse the booking policies returned by product details to decide whether a customer can change or cancel a booking.