# Request

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

```markup
<?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

{% hint style="info" %}
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.
{% endhint %}

| XML Node             | Parent Node          | Description                                                                                                                                                                                                                              | Optionality                                         |
| -------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- |
| BookingCreateRequest | N/A                  | Root XML node                                                                                                                                                                                                                            | Mandatory                                           |
| API Key              | BookingCreateRequest | Your Unique API Key                                                                                                                                                                                                                      | Mandatory                                           |
| ResellerId           | BookingCreateRequest | Your Unique Reseller Id                                                                                                                                                                                                                  | Mandatory                                           |
| SupplierId           | BookingCreateRequest | 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 | <p>Time of creation of request </p><p>• yyyy-MMddTHH:mm:ss.SSSZ(in UTC time)</p><p> or </p><p>• yyyy-MMddTHH:mm:ss.SSS\[+/- ]hh:mm </p><p>Example: </p><p>2020-04- 28T13:10:12.123Z (UTC time) </p><p>2020-04- 28T13:10:12.123+10:00</p> | 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            | <p>Age band for the traveller. Valid values are: </p><p>• Senior </p><p>• Adult </p><p>• Student </p><p>• Child </p><p>• Infant</p>                                                                                                      | 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        | <p>Type of contact. Options are: </p><p>• MOBILE </p><p>• EMAIL </p><p>• ALTERNATE </p><p>• NOT\_CONTACTABLE</p>                                                                                                                         | 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 |
