- Enums
- Error codes
Reference data
Language codes
Language codes
Supported language codes for API localization.
If a translation is not available for the requested language, content falls back to English (
EN).Currency codes
Currency codes
City codes
City codes
Supported cities are returned dynamically by the City API. This list may change over time, so always handle cities dynamically rather than hardcoding values.See: List Cities · List Collections · List Categories · List Subcategories · List Products
Media types
Media types
Product types
Product types
Listing price types
Listing price types
Pricing types used in product listings. The price type determines how inventory pricing is structured and how booking requests must be formed.
See: List Products · Get Product
Inventory types
Inventory types
Defines how a variant’s start time and duration are structured. This affects how See: List Inventory
startDateTime and endDateTime in inventory slots should be interpreted, and what kind of date/time picker to show the user.For
FLEXIBLE_START_* types, startDateTime represents the opening time of the venue, not a specific entry time for the customer.Inventory availability
Inventory availability
Availability status within inventory slots, for
inventorySelectionType: NORMAL products only. Determines whether and how many bookings can still be made for a given slot.SEATMAP products don’t return this status field — availability is expressed purely through remaining (top-level and per-section). See remaining count and availability status.See: List InventoryInventory selection types
Inventory selection types
Person types
Person types
Person types valid for booking variants.See: List Inventory · Create Booking · Get Booking — see Pax Types
Additional types such as
RESIDENT, NON_EUR_CHILD, etc. may appear dynamically.Input fields
Input field types
Input field types
Input field types for variant-specific customer information.See: Get Product · List Inventory — see Input Fields
Many more values may appear dynamically from supply partners. Always handle unknown values gracefully.
Input field data types
Input field data types
Data types an input field can have. Use this to drive form validation and rendering on your end.Allowed values for
There is no dedicated
DATE dataType. Date and date-time fields (such as DATE_OF_BIRTH_*) are submitted as STRING, with the expected format enforced by validation.regex on the field.ENUM and LOCATION fields arrive in the validation.values object, which has two different shapes depending on the endpoint — see Input field validation values.See: Get Product · List Inventory · Get inventory detailsInput field validation values
Input field validation values
validation.values carries the allowed values for ENUM and LOCATION fields. It has two shapes, and which one you get depends on the endpoint you called — not on the field’s dataType.ENUM fields
LOCATION fields with predefined options
Render the options as a dropdown and submit the selected location’sid or its displayName as the field value. Each object carries coordinates, an address, and optional timing constraints — see Predefined location objects for the full shape.Branch on
values.type, not on dataType. A supplier’s pickup-point list can arrive as an ENUM field with type: "TEXT" (plain names) or as a LOCATION field with type: "PREDEFINED_LOCATION" (structured objects) — values.type is the only reliable signal for which one you got.Fields with no predefined options
STRING, INT, FLOAT and BOOL fields have no allowed-value list, and so does a LOCATION field that accepts a free-form address. The legacy shape reports this as "values": null; the current shape omits the key.values object fields — current shape
See: Get Product · Get inventory details
Predefined location objects
Predefined location objects
The location object used by See: Input field validation values · Get inventory details
LOCATION input fields that offer predefined pickup or drop-off points. The shape is identical in both validation.values shapes — the objects sit directly in the values array (legacy) or inside values.value when values.type is PREDEFINED_LOCATION (current).Submit either the selected object’s id or its displayName as the input field value when creating a booking.Full location object
Booking lifecycle
Cashback types
Cashback types
Cashback value types for promotional offers. The
value field on the cashback object should be interpreted according to this type.See: List Products · Get Product
Booking status
Booking status
Booking lifecycle statuses.
PENDING and COMPLETED can still move to CANCELLED — e.g. customer cancellation within policy, or Headout-initiated cancellations like venue closures.Transitions
- From
UNCAPTURED: remainsUNCAPTUREDuntil captured, →PENDINGon successful capture, →FAILEDon rejected capture, →CAPTURE_TIMEDOUTif no capture within 1 hour. - From
PENDING: →COMPLETEDwhen the ticket is generated, →CANCELLEDif cancelled before fulfilment. - From
COMPLETED: →CANCELLEDif cancelled after fulfilment (e.g. venue closure). - From
FAILEDorCAPTURE_TIMEDOUT: no further transitions.
Ticket types
Ticket types
Ticket delivery formats returned in the
tickets array of a booking, and in ticketSection.tickets[].ticketType on the voucher response.On the voucher response, branch your rendering on
displayType rather than on this field. See Ticket display type.See: Get Booking · Get a voucherVoucher booking status
Voucher booking status
Booking lifecycle states returned by the Get a voucher endpoint. Same vocabulary as Booking status on the booking endpoints, so the two never disagree.
Bookings that were never captured (
UNCAPTURED, CAPTURE_TIMEDOUT) have no voucher and return 404.See: Get a voucher · Voucher API deep diveVoucher template
Voucher template
The layout a voucher is meant to be rendered in.
Render the voucher in the template returned. Venue staff check vouchers against the layout they expect for that experience, so using the other template risks the guest being turned away at entry.See: Get a voucher
Address sequence type
Address sequence type
Controls the shape of
instructions.structured.location.addressGroups in the voucher response.See: Voucher API deep dive
Policy type
Policy type
Returned in
instructions.structured.policies[].type on the voucher response.The accompanying
value is HTML and carries no heading of its own.See: Voucher API deep divePickup drop-off type
Pickup drop-off type
Returned in
bookingDetails.pickupDropoffLocation.pickupDropOffType on the voucher response, for transfer experiences. Null for everything else.See: Voucher API deep dive
Voucher exchange location type
Voucher exchange location type
Returned in
instructions.structured.location.voucherExchangeLocationType on the voucher response. Indicates whether the voucher is exchanged at the activity venue or elsewhere. Applies to the location section as a whole, not to individual addresses.See: Voucher API deep dive
Ticket display type
Ticket display type
How to render a ticket entry. Drives UI rendering — branch on this instead of
ticketType.See: Voucher API deep dive
Input field level
Input field level
Defines who a given input field should be collected for. Use this to drive form rendering — only show and collect fields appropriate for each level.See: Get Product · List Inventory
level (who you collect from) and dataType (what shape the value takes) are independent axes — a LOCATION dataType field can be at any level.Cancellation reasons
Cancellation reasons