Products

In the Operator Booking System, tours & attractions are represented by a three-tiered Product schema:

  • Products are used as a high-level description of a Supplier's tour or attraction.
  • Options are lightweight objects that add one or more variations to a Product.
  • Units outline the specific types of reservations that can be made against an Option.

Products MUST have at least one option and one unit in order to be valid.

Reference can be found here

Product

A Product represents a tour or attraction provided by a Supplier. Each Product must have an id unique within the Supplier.

Products are further defined by their options and units. Availability calls against a Product require an optionId; while all calls to Booking endpoints require a Product, option, and unit ID to be specified.

The Product object's fields, value types and descriptions are enumerated below.

Field NameTypeRequiredDescription
idstringYesProduct Identifier unique within the Supplier ( 0001)
internalNamestringYesHuman-readable name for easy identification. Not to be shared with customers (Morning tour)
referencestringNoAn internal reference identifier used by the Supplier (LR1-01)
localestring(RFC 5646)YesPrimary language of the product
timeZonestringYesValid IANA timezone code
instantConfirmationbool*Yes*Indicates whether the client can expect an immediate confirmation of a booking with this product
instantDeliveryboolYesIndicates whether the client can expect immediate delivery of the customer's tickets
availabilityTypestring(enum)YesThis indicates whether the Product can be redeemed only for a specific start time (START_TIME, e.g. a guided tour) or valid any time during normal business hours (OPENING_HOURS)
deliveryFormatsarray[string(enum)] QR_CODE, EAN13, UPCA, TEXT, CODE128, CODE39,URL, INTERLEAVEDYesIndicates the operator's desired format for the ticket barcode
deliveryMethodsarray[string(enum)] TICKET , VOUCHERYesA value of TICKET indicates that there will be one deliveryValue for each ticket in the Booking while a value of VOUCHER indicates that there will be one deliveryValue that is shared among all tickets in the Booking
redemptionMethodstring(enum)YesThis indicates the redemption requirements for the customer. A value of MANIFEST indicates that the customer MUST provide a form of identification to redeem and as such a printed or digital copy of the ticket is OPTIONAL. A value of DIGITAL indicates that the customer MUST provide a copy of the ticket but MAY be digital or printed. A value of PRINT indicates that the customer MUST provide a printed copy of the ticket (this is typically only used when the Supplier must retain the printed copy for their records)
productType

string(enum)

ATTRACTION, SEATING, BEST_AVAILABLE

NoThis indicates the type of product whether it is ATTRACTION (no seat selection), SEATING (with specific seat selection) or BEST_AVAILABLE (with best available seat assignment)
capabilitiesarray[Capability]NoA list of optional and required capabilities available for this product
optionsarray[Option]YesA list of product variations available to reserve under this product

Support for delayed booking confirmations (instantConfirmation: false) is currently unavailable.

Note on Availabilities

Please note that the OBS specification requires that all products must return valid availabilities through the API. Availabilities with unlimited capacity may still be specified through the use of the FREESALE availability status.

Note on Times

It is important that the timeZone on the product accurately reflect the local offset of the attraction. This field is used to calculate the local time values returned through the availabilities endpoint.

Capabilities

The following capabilities are supported by the Product object (click the link to learn more!):

Location, Content, Policy

Option

An Option represents a variant of a Product. Each Product must contain one or more options, which must have an id unique within the Product.

The Option object's fields, value types and descriptions are enumerated below.

Field NameTypeRequiredDescription
idstringYesIdentifies a unique option within a Product (0001)
internalNamestringYesHuman-readable name for easy identification. Not to be shared with customers (Morning)
referencestringNoAn internal reference identifier used by the Supplier (LR1-01)
unitsarray[Unit]YesA list of units available to reserve under this option

Capabilities

The following capabilities are supported by the Option object (click the link to learn more!):

Hours, Content

Unit

The Unit object enumerates the different types of guests an option may be booked under. Units have an identifier that must be unique within their option. They also bear a type field which may be populated with one of the values below:

The Unit object's fields, value types and descriptions are enumerated below.

Field NameTypeRequiredDescription
idstringYesA unique identifier within the option (youth_10_17)
internalNamestringYesHuman-readable name for easy identification. Not to be shared with customers (Youth (Summer))
referencestringNoAn internal reference identifier used by the Supplier (LR1-01-new)
typestring(Unit Types)YesThe type of traveler this unit represents

Note on Unit Types

  • One of ADULT, CHILD, INFANT, YOUTH, STUDENT, SENIOR may be used to describe a particular age or occupation of a customer
  • The TRAVELER type may be used instead of the above listed types, if distinctions between age or occupation are not relevant to the product.

Capabilities

The following capabilities are supported by the Unit object (click the link to learn more!):

Pricing, Content

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard