Skip to main content
Download checklist

Before you build

Access and setup

  • Sandbox API credentials received
  • Production API access process understood
  • Webhook endpoint planned
  • Currency strategy finalized

Product understanding

  • Reviewed product / variant model
  • Reviewed cancellation & reschedule flags
  • Understood hasInstantConfirmation behavior
  • Understood that sandbox fulfilment is dummy and still needs live production testing — see Sandbox and production

While building

Product and inventory

  • Fetch and cache active cities
  • Fetch products using the List products endpoint
  • Fetch product details by ID using Get product
  • Treat each variant as a separate SKU
  • Fetch inventory in real time
  • Do not cache inventory responses

Pax types and pricing

  • Render paxTypes dynamically — see Pax Types
  • Support paxType changes per slot
  • Never hardcode or enumerate paxTypes. There are 400+ and the list grows. Read them from pricing.persons[] once a slot is selected — see Pax types
  • Enforce MSP using headoutSellingPrice — see MSP Limitation Product List
  • Use netPrice for booking creation
  • Validate total price = pax × price

Guest details

  • Render input fields dynamically — see Input Fields
  • Support all data types
  • Respect PRIMARY_CUSTOMER, ALL_CUSTOMER, and BOOKING field levels
  • Create one guest object per pax
  • Ensure exactly one primary guest

Booking flow

  • Create booking in UNCAPTURED (optional)
  • Collect payment before moving to PENDING
  • Treat PENDING as confirmed
  • Handle price mismatch errors
  • Allow all valid status transitions

Cancellation and reschedule

Test in sandbox

  • Test full booking flow using sandbox products for multiple input fields and pax types
  • Validate the PENDING → COMPLETED transition and ticket handling — all products are fulfilled in sandbox. See Sandbox and production
  • Verify webhook delivery
  • Verify voucher rendering
  • Verify QR and PDF/HTML ticket handling
  • Verify that bookings with more tickets than guests, or with mixed ticket types (for example a QR code and a barcode), show every ticket on your voucher
  • Verify that a booking with tickets set to null or [] is not treated as an error — see Bookings with no tickets. What to check depends on your voucher flow:
    • Headout voucher URL: the guest gets the voucherUrl. The Headout voucher already shows the redemption instructions, so no extra handling is needed
    • Your own voucher built from the Voucher API (API Partners): the tickets section is left out when ticketSection is null, and instructions is always rendered, so guests on COMPLETED bookings can see any steps they need to follow to get their tickets
  • Verify Cancel booking and Reschedule booking
  • For seatmap products, test seat selection, Validate and booking with the sandbox seatmap test products

Test before launch

Only use cancellable products in production testing. See Cancellable Products on Production.
  • Place limited live bookings
  • Validate PENDING → COMPLETED flow
  • Validate delayed ticket generation
  • Test cancellation on allowed products
  • Test reschedule on allowed products
  • Verify webhook behavior in prod
  • Verify voucher updates correctly

Go live

  • Communication opt-in / opt-out finalized
  • Support escalation flow aligned
  • If you are going live with a static product list, update it one last time