The booking request API allows you to submit booking details to the supplier system in real-time. A successful request will check the availability, create the booking in the supplier system, and return successful response details. Each booking request API call is for a single booking only.
BookingCreate Request Example
<?xml version="1.0" encoding="UTF-8"?>
<BookingCreateRequest xmlns="https://api.zaui.io/api/01">
<ApiKey>xxxxxxxxxxxxxxxxxxxxxxx</ApiKey>
<ResellerId>2005</ResellerId>
<SupplierId>200</SupplierId>
<ExternalReference>10051374722992616</ExternalReference>
<Timestamp>1577121674745</Timestamp>
<BookingReference>999999999</BookingReference>
<TravelDate>2020-10-31</TravelDate>
<SupplierProductCode>ACT_1765</SupplierProductCode>
<Location>Seattle, Washington</Location>
<TourOptions>
<SupplierOptionCode>09:00:00</SupplierOptionCode>
<SupplierOptionName>Zip line 9:00 am</SupplierOptionName>
<TourDepartureTime>09:00:00</TourDepartureTime>
<TourDuration>PT1H </TourDuration>
</TourOptions>
<Inclusions>
<Inclusion>Bottle of Champagne</Inclusion>
<Inclusion>Hotel Pickup</Inclusion>
</Inclusions>
<Traveller>
<TravellerIdentifier>1</TravellerIdentifier>
<TravellerTitle>Mr.</TravellerTitle>
<GivenName>John</GivenName>
<Surname>Doe</Surname>
<AgeBand>ADULT</AgeBand>
<LeadTraveller>true</LeadTraveller>
</Traveller>
<Traveller>
<TravellerIdentifier>2</TravellerIdentifier>
<TravellerTitle>Mr</TravellerTitle>
<GivenName>Ben</GivenName>
<Surname>Doe</Surname>
<AgeBand>CHILD</AgeBand>
<LeadTraveller>false</LeadTraveller>
</Traveller>
<TravellerMix>
<Senior>0</Senior>
<Adult>1</Adult>
<Child>1</Child>
<Student>0</Student>
<Infant>0</Infant>
<Total>2</Total>
</TravellerMix>
<RequiredInfo>
<Question>
<QuestionText>Passport No.</QuestionText>
<QuestionAnswer>L99999</QuestionAnswer>
</Question>
<Question>
<QuestionText>Weight</QuestionText>
<QuestionAnswer>50 Kg</QuestionAnswer>
</Question>
</RequiredInfo>
<SpecialRequirement>Vegetarian Meal</SpecialRequirement>
<PickupPoint>Hilton</PickupPoint>
<SupplierNote>Customer requested space for large luggage at pickup</SupplierNote>
<AdditionalRemarks>
<Remark>Additional charges for large luggage may apply. To be advised at pickup.
</Remark>
</AdditionalRemarks>
<ContactDetail>
<ContactType>MOBILE</ContactType>
<ContactName>John Doe</ContactName>
<ContactValue>US+1 999999999</ContactValue>
<ContactType>EMAIL</ContactType>
<ContactValue>johndoe@zaui.com</ContactValue>
</ContactDetail>
<PickupLocation>
<SupplierPickupCode>209</SupplierPickupCode>
</PickupLocation>
<DropoffLocation>
<SupplierDropoffCode>219</SupplierDropoffCode>
</DropoffLocation>
</BookingCreateRequest>
BookingCreate Response Fields
Please note that any XML Node listed below with an asterisk (*) that is sent from the reseller will be mapped to the general booking comments field in the supplier Zaui system. They will not be mapped to separate fields, and will all land in the same comments field.
String representing the unique supplier ID within the Zaui Marketplace
Mandatory
ExternalReference
BookingCreateRequest
String representing a unique transaction ID. Used to identify your original request
Optional
TimeStamp
BookingCreateRequest
Time of creation of request
• yyyy-MMddTHH:mm:ss.SSSZ(in UTC time)
or
• yyyy-MMddTHH:mm:ss.SSS[+/- ]hh:mm
Example:
2020-04- 28T13:10:12.123Z (UTC time)
2020-04- 28T13:10:12.123+10:00
Mandatory
BookingReference
BookingCreateRequest
Unique booking reference - used to identify the booking and perform a cancellation if necessary
Mandatory
TravelDate
BookingCreateRequest
Date for which to check. Date format: YYYY-MM-DD
Mandatory
SupplierProductCode
BookingCreateRequest
The unique product code for the supplier
Mandatory
Location
BookingCreateRequest
Location of the product
Optional
TourOptions
BookingCreateRequest
Tour option root XML node
Optional
SupplierOptionCode
TourOptions
String representing the unique supplier option code
Optional
SupplierOptionName
TourOptions
String representing the supplier option name
Optional
TourDepartureTime
TourOptions
Time of the activity departure and must be in the format of HH:MM:SS
Optional
TourDuration
TourOptions
Option duration, and must be in the format: PnYnMnDTnHnMnS.
Optional
Inclusions
BookingCreateRequest
Root node for inclusions
Optional
Inclusion
Inclusions
String holding the inclusion on the product offering
Optional
Traveller
BookingCreateRequest
Root XML element describing the customer details
Mandatory
TravellerIdentifier
Traveller
Unique integer per traveller for the booking
Mandatory
TravellerTitle
Traveller
Guest title (Mr, Miss, Mrs, etc)
Optional
GivenName
Traveller
Guest first name
Mandatory
Surname
Traveller
Guest last name
Mandatory
AgeBand
Traveller
Age band for the traveller. Valid values are:
• Senior
• Adult
• Student
• Child
• Infant
Mandatory
LeadTraveller
Traveller
True or False - indicates the main traveller on the booking
Optional
TravellerMix
BookingCreateRequest
Root XML element that contains the details of the passenger types to query for inventory
Mandatory
Senior
TravellerMix
Number of seniors
Optional
Adult
TravellerMix
Number of adults
Optional
Student
TravellerMix
Number of students
Optional
Child
TravellerMix
Number of children
Optional
Infant
TravellerMix
Number of infants
Optional
Total
TravellerMix
Total travellers
Mandatory
RequiredInfo*
BookingCreateRequest
Root XML node that will hold additional booking questions/answers for the booking. All information submitted is mapped to general booking comments for the supplier
Optional
Question*
RequiredInfo
String holding the question
Optional
QuestionText*
Question
String holding the question text
Optional
QuestionAnswer*
Question
Answer text supplied
Optional
SpecialRequirement*
BookingCreateRequest
String with any special requirements from the customer
Optional
PickupPoint*
BookingCreateRequest
String value with the pickup point supplied
Optional
SupplierNote*
BookingCreateRequest
String value with any supplier notes passed from your implementation
Optional
AdditionalRemarks*
BookingCreateRequest
Root XML node with additional remarks
Optional
Remark*
AdditionalRemarks
String with the remark
Optional
ContactDetail
BookingCreateRequest
Root XML node holding customer contact details
Optional
ContactType
ContactDetail
Type of contact. Options are:
• MOBILE
• EMAIL
• ALTERNATE
• NOT_CONTACTABLE
Optional
ContactName
ContactDetail
String with the name of the contact
Optional
ContactValue
ContactDetail
String with the contact information (name, email, phone, etc.)
Optional
PickupLocation
BookingCreateRequest
Root node for the pickup location
Optional, but required for transportation products
SupplierPickupCode
PickupLocation
The pickup location ID, which is returned as part of the ActivytListRequest
Optional, but required for transportation products
DropoffLocation
BookingCreateRequest
Root node for the dropoff location
Optional, but required for transportation products
SupplierDropoffCode
SupplierDropoffCode
The dropoff location ID, which is returned as part of the ActivytListRequest
Optional, but required for transportation products