Booking Prepare

The BookingCreate operation is a mandatory step in the booking flow that accepts a “Result Id” from an AvailabilitySearch as the “Quote Id”, to validate the rate and subsequently confirm the booking. It is necessary for this operation to be carried out 3 times during the booking flow twice with CommitLevel Prepare and once with CommitLevel Confirm. For further details of the workflow, please check the ‘Booking Flow’ section of our documentation.

BookingCreate with CommitLevel Prepare

  • Verifies the details of the booking and confirms up to date availability, price and full cancellation policy
  • Obtains any rate-specific notes relevant to the stay, which should be presented to the end-user prior to booking confirmation (E.g. the swimming pool is closed for maintenance, or a resort fee is applicable for this rate)
  • The timeout for this operation is 30 seconds

BookingCreate Request Syntax

Request Header

Content-Type:       “text/xml; charset=utf-8”
Content-Length:     [Length of the content]
Host:               [Web service hostname]
Accept-Encoding     “gzip”

Name Type Description

<Authority>

Complex

Authentication information Authentication information, as
described in the ‘Getting Started’ section

<Org>

String

The organisation short code identifying the agent responsible for the request (Agency ID)

<User>

String

The user’s logon, unique within the given

organisation (User Name).

<Password>

String

The given user’s password.

<Currency>

String

Choose the currency used to return selling prices; accepts an ISO-4217 / SWIFT three character currency code (e.g. USD, GBP, EUR).

Your account has a configured billing currency. Only the configured currency can be specified here.

<Version>

String
The current interface version is 1.28.

<AgentReference>

String

A custom reference that will be added to the booking and is exposed in booking elements.

<QuoteId>

String

The search result Id returned from AvailabilitySearch that corresponds to the rate to be booked.

<HotelStayDetails>

Complex

Structured information about the requested hotel stay

<Room>

Complex

Structure containing room requirement and occupant details.

<Guests>

Array

An array of either <Adult> or <Child> elements representing the guests who will stay in this room.

<CommitLevel>

Enum

Two-valued text enumeration, which for this stage in the booking flow the value should be:

prepare – perform a dry-run booking, verifying all details such as prices and cancellation fees, as much as possible and obtaining hotel alert information, etc.

Response Body Schema

Name Type Description

<Currency>

String

The currency used to return selling prices.

Your account has a configured billing currency

<Warning>

String

Details of any non-fatal issues with the request

<CommitLevel>

Enum

Indicates the commit level with which the booking creation was performed

<Booking>

Complex

A booking structure containing details of the booking, hotel, room/s, price & cancellation policy.

<CreationDate>

Date

Date of booking creation

<AgentReference>

String

A custom reference provided for booking with <Id> specified

<HotelBooking>

(1 or more)

Complex

A booking structure for each item associated with the booking

<Id>

Integer

Numeric Id for the item

<HotelId>

Integer

Numeric Id for the hotel

<HotelName>

String

The name of the hotel

<CreationDate>

Date

Date of booking creation

<ArrivalDate>

Date

The date of the first night of the stay

<Nights>

Integer

The duration of the stay as a number of nights

<TotalSellingPrice>

Complex

The total price for HotelBooking with <Id> specified

<Status>

Enum

Current status of the HotelBooking with <Id> specified

<Room>

(1 or More)

Complex

Structure containing room requirement and occupant details

<RoomType>

Complex

A text enumeration (as a <code>,

<text> pair) identifying a specific room type. These codes are obtained dynamically from the hotel and are obtained individually per hotel.

<MealType>

Enum

A text enumeration identifying the meal type for the room

If not returned the MealType is ‘room only’

<Guests>

Array

An array of either <Adult> or <Child> elements representing the guests who will stay in this room

<Messages>

(zero or more)

Complex

Special notes provided by the hotel are provided here. These must be displayed to the guests.

<CanxFees>

Complex

A structure containing full details of the cancellation fees, including their start date where applicable and amount.

<Cancellation PolicyStatus>

String

Three-value text enumeration for the indicative cancellation policy status of the room:

Refundable – Room does not incur a cancellation charge at the time of booking.

NonRefundable – Room is fully non- refundable

Unknown – The cancellation condition status is not available and you should refer to the <CanxFees> for more details.

<QuoteRefreshStatus>

String

Three-value text enumeration for the availability status of the quote. Not present if CommitLevel is confirm

ok – There have been no changes in rate or availability and you can proceed to the next step.

pricechanged – The price is different from the one returned earlier in the booking process. Only proceed to the next step if the new price is acceptable to you.

unavailable – the room is no longer available and you should check to see if an alternative Quote Id is suitable.

<HotelDetails>

Complex

Contains extra information about the hotel room booked / to be booked.

XML Response Samples

Samples

Copy
<BookingCreate> <Authority> <Org>{{Org}}</Org> <User>{{User}}</User> <Password>{{Password}}</Password> <Currency>{{DefaultCurrency}}</Currency> <Version>1.28</Version> </Authority> <AgentReference>{{YourReference}}</AgentReference> <QuoteId>{{QuoteID}}</QuoteId> <HotelStayDetails> <Room> <Guests> <Adult title="Mr" first="A" last="Test"> </Adult> <Adult title="Ms" first="B" last="Test"> </Adult> </Guests> </Room> </HotelStayDetails> <DetailLevel>basic</DetailLevel> <CommitLevel>prepare</CommitLevel> </BookingCreate>
<?xml version="1.0" encoding="utf-8"?> <BookingCreateResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Currency>USD</Currency> <Warning /> <TestMode>true</TestMode> <CommitLevel>prepare</CommitLevel> <Booking> <CreationDate>2024-01-12</CreationDate> <HotelBooking> <Id>8463865</Id> <HotelId>53815</HotelId> <HotelName>Metropolitan</HotelName> <CreationDate>2024-01-12</CreationDate> <ArrivalDate>2024-04-11</ArrivalDate> <Nights>1</Nights> <TotalSellingPrice amt="415.60" /> <Status>quoted</Status> <Room> <TotalSellingPrice amt="415.60" /> <NightCost> <Night>0</Night> <SellingPrice amt="415.60" /> </NightCost> <RoomType code="1231969" text="City Room - Double" /> <MealType code="1000028" text="Hot Breakfast" /> <Guests> <Adult id="5357121" title="MR" first="Test" last="Test"> <Price amt="415.60" /> </Adult> <Adult id="5357122" title="MS" first="Test" last="Test"> <Price amt="0.00" /> </Adult> </Guests> <Messages /> <Status>quoted</Status> <CanxFees> <Fee from="2024-04-07T00:00:00"> <Amount amt="346.313400000" /> </Fee> <Fee from="2024-04-08T00:00:00"> <Amount amt="415.60" /> </Fee> <Fee from="2024-04-11T00:00:00"> <Amount amt="415.60" /> </Fee> </CanxFees> </Room> <VoucherInfo> <PayableBy>roomsXML</PayableBy> <VoucherRef>-2</VoucherRef> </VoucherInfo> <QuoteRefreshStatus>ok</QuoteRefreshStatus> </HotelBooking> </Booking> <HotelDetails /> </BookingCreateResult>
Copy
<BookingCreate> <Authority> <Org>{{Org}}</Org> <User>{{User}}</User> <Password>{{Password}}</Password> <Currency>{{DefaultCurrency}}</Currency> <Version>1.28</Version> </Authority> <AgentReference>{{YourReference}}</AgentReference> <QuoteId>{{QuoteID}}</QuoteId> <HotelStayDetails> <Room> <Guests> <Adult title="Mr" first="A" last="Test"> </Adult> <Adult title="Ms" first="B" last="Test"> </Adult> <Child age="5" title="Mstr" first="C" last="Test" /> </Guests> </Room> </HotelStayDetails> <DetailLevel>basic</DetailLevel> <CommitLevel>prepare</CommitLevel> </BookingCreate>
<?xml version="1.0" encoding="utf-8"?> <BookingCreateResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Currency>USD</Currency> <Warning /> <TestMode>true</TestMode> <CommitLevel>prepare</CommitLevel> <Booking> <CreationDate>2024-09-13</CreationDate> <AgentReference>{{YourReference}}</AgentReference> <HotelBooking> <Id>8718313</Id> <HotelId>53815</HotelId> <HotelName>Metropolitan</HotelName> <CreationDate>2024-09-13</CreationDate> <ArrivalDate>2024-11-15</ArrivalDate> <Nights>1</Nights> <TotalSellingPrice amt="1041.20" /> <Status>quoted</Status> <Room> <TotalSellingPrice amt="1041.20" /> <NightCost> <Night>0</Night> <SellingPrice amt="1041.20" /> </NightCost> <RoomType code="2206328" text="Metropolitan Park Room" /> <MealType code="1" text="Breakfast" /> <Guests> <Adult id="5870003" title="Mr" first="A" last="Test"> <Price amt="346.72" /> </Adult> <Adult id="5870004" title="MS" first="B" last="Test"> <Price amt="346.72" /> </Adult> <Child id="5870005" title="Mstr" first="C" last="Test" age="5"> <Price amt="347.76" /> </Child> </Guests> <Messages> <Message> <Type>General</Type><Text>&lt;span style='color:red;font-weight:bold'&gt;** ATTN **&lt;/span&gt; Take extra care to read notes, especially for any nationality/market exclusions which could override guest nationality selected &lt;span style='color:red;font-weight:bold'&gt;** ATTN **&lt;/span&gt;&lt;br/&gt;&lt;b&gt;No Show: &lt;/b&gt;Should the guest fail to arrive on the check in date and we have not been notified of any cancellations or amendments in advance, they will be deemed a no show. For same day cancellation or no shows, 100% cancellation charges apply.&lt;br&gt;</Text> </Message> <Message> <Type>Internal Note</Type><Text> . Check-in hour 15:00-00:00.Car park YES (With additional debit notes) 50.00 GBP Per unit/night.</Text> </Message> </Messages> <Status>quoted</Status> <CanxFees> <Fee from="2024-11-12T00:00:00Z"> <Amount amt="1041.20" /> </Fee> <Fee from="2024-11-13T00:00:00"> <Amount amt="1041.20" /> </Fee> </CanxFees> <CancellationPolicyStatus>Refundable</CancellationPolicyStatus> </Room> <VoucherInfo> <PayableBy>roomsXML</PayableBy> <VoucherRef>-2</VoucherRef> </VoucherInfo> <QuoteRefreshStatus>ok</QuoteRefreshStatus> </HotelBooking> </Booking> <HotelDetails /> </BookingCreateResult>
Copy
<BookingCreate> <Authority> <Org>{{Org}}</Org> <User>{{User}}</User> <Password>{{Password}}</Password> <Currency>{{DefaultCurrency}}</Currency> <Version>1.28</Version> </Authority> <AgentReference>{{YourReference}}</AgentReference> <QuoteId>{{QuoteID}}</QuoteId> <HotelStayDetails> <Room> <Guests> <Adult title="Mr" first="A" last="Test"> </Adult> <Adult title="Ms" first="B" last="Test"> </Adult> </Guests> </Room> <Room> <Guests> <Adult title="Mr" first="C" last="Test"> </Adult> <Adult title="Ms" first="D" last="Test"> </Adult> </Guests> </Room> </HotelStayDetails> <DetailLevel>basic</DetailLevel> <CommitLevel>prepare</CommitLevel> </BookingCreate>
<?xml version="1.0" encoding="utf-8"?> <BookingCreateResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Currency>USD</Currency> <Warning /> <TestMode>true</TestMode> <CommitLevel>prepare</CommitLevel> <Booking> <CreationDate>2024-09-13</CreationDate> <AgentReference>{{YourReference}}</AgentReference> <HotelBooking> <Id>8718314</Id> <HotelId>53815</HotelId> <HotelName>Metropolitan</HotelName> <CreationDate>2024-09-13</CreationDate> <ArrivalDate>2024-11-15</ArrivalDate> <Nights>2</Nights> <TotalSellingPrice amt="2770.80" /> <Status>quoted</Status> <Room> <TotalSellingPrice amt="2770.80" /> <NightCost> <Night>0</Night> <SellingPrice amt="1385.40" /> </NightCost> <NightCost> <Night>1</Night> <SellingPrice amt="1385.40" /> </NightCost> <RoomType code="2206329" text="Junior City Suite" /> <MealType code="1" text="Breakfast" /> <Guests> <Adult id="5870006" title="Mr" first="A" last="Test"> <Price amt="1385.40" /> </Adult> <Adult id="5870007" title="Ms" first="B" last="Test"> <Price amt="1385.40" /> </Adult> </Guests> <Messages> <Message> <Type>General</Type><Text>&lt;span style='color:red;font-weight:bold'&gt;** ATTN **&lt;/span&gt; Take extra care to read notes, especially for any nationality/market exclusions which could override guest nationality selected &lt;span style='color:red;font-weight:bold'&gt;** ATTN **&lt;/span&gt;&lt;br/&gt;&lt;b&gt;No Show: &lt;/b&gt;Should the guest fail to arrive on the check in date and we have not been notified of any cancellations or amendments in advance, they will be deemed a no show. For same day cancellation or no shows, 100% cancellation charges apply.&lt;br&gt;</Text> </Message> <Message> <Type>Internal Note</Type><Text> . Check-in hour 15:00-00:00.Car park YES (With additional debit notes) 50.00 GBP Per unit/night.</Text> </Message> </Messages> <Status>quoted</Status> <CanxFees> <Fee from="2024-11-12T00:00:00Z"> <Amount amt="1385.40" /> </Fee> <Fee from="2024-11-13T00:00:00"> <Amount amt="1385.40" /> </Fee> </CanxFees> <CancellationPolicyStatus>Refundable</CancellationPolicyStatus> </Room> <VoucherInfo> <PayableBy>roomsXML</PayableBy> <VoucherRef>-2</VoucherRef> </VoucherInfo> <QuoteRefreshStatus>ok</QuoteRefreshStatus> </HotelBooking> <HotelBooking> <Id>8718315</Id> <HotelId>53815</HotelId> <HotelName>Metropolitan</HotelName> <CreationDate>2024-09-13</CreationDate> <ArrivalDate>2024-11-15</ArrivalDate> <Nights>2</Nights> <TotalSellingPrice amt="2770.80" /> <Status>quoted</Status> <Room> <TotalSellingPrice amt="2770.80" /> <NightCost> <Night>0</Night> <SellingPrice amt="1385.40" /> </NightCost> <NightCost> <Night>1</Night> <SellingPrice amt="1385.40" /> </NightCost> <RoomType code="2206329" text="Junior City Suite" /> <MealType code="1" text="Breakfast" /> <Guests> <Adult id="5870008" title="Mr" first="C" last="Test"> <Price amt="1385.40" /> </Adult> <Adult id="5870009" title="Ms" first="D" last="Test"> <Price amt="1385.40" /> </Adult> </Guests> <Messages> <Message> <Type>General</Type><Text>&lt;span style='color:red;font-weight:bold'&gt;** ATTN **&lt;/span&gt; Take extra care to read notes, especially for any nationality/market exclusions which could override guest nationality selected &lt;span style='color:red;font-weight:bold'&gt;** ATTN **&lt;/span&gt;&lt;br/&gt;&lt;b&gt;No Show: &lt;/b&gt;Should the guest fail to arrive on the check in date and we have not been notified of any cancellations or amendments in advance, they will be deemed a no show. For same day cancellation or no shows, 100% cancellation charges apply.&lt;br&gt;</Text> </Message> <Message> <Type>Internal Note</Type><Text> . Check-in hour 15:00-00:00.Car park YES (With additional debit notes) 50.00 GBP Per unit/night.</Text> </Message> </Messages> <Status>quoted</Status> <CanxFees> <Fee from="2024-11-12T00:00:00Z"> <Amount amt="1385.40" /> </Fee> <Fee from="2024-11-13T00:00:00"> <Amount amt="1385.40" /> </Fee> </CanxFees> <CancellationPolicyStatus>Refundable</CancellationPolicyStatus> </Room> <VoucherInfo> <PayableBy>roomsXML</PayableBy> <VoucherRef>-2</VoucherRef> </VoucherInfo> <QuoteRefreshStatus>ok</QuoteRefreshStatus> </HotelBooking> </Booking> <HotelDetails /> </BookingCreateResult>
Copy
<BookingCreate> <Authority> <Org>{{Org}}</Org> <User>{{User}}</User> <Password>{{Password}}</Password> <Currency>{{DefaultCurrency}}</Currency> <Version>1.28</Version> </Authority> <AgentReference>{{YourReference}}</AgentReference> <QuoteId>{{QuoteID}}</QuoteId> <HotelStayDetails> <Room> <Guests> <Adult title="Mr" first="A" last="Test"> </Adult> <Adult title="Ms" first="B" last="Test"> </Adult> <Child age="5" title="Mstr" first="C" last="Test" /> </Guests> </Room> <Room> <Guests> <Adult title="Mr" first="D" last="Test"> </Adult> <Adult title="Ms" first="E" last="Test"> </Adult> <Child age="5" title="Mstr" first="F" last="Test" /> </Guests> </Room> </HotelStayDetails> <DetailLevel>basic</DetailLevel> <CommitLevel>prepare</CommitLevel> </BookingCreate>
<?xml version="1.0" encoding="utf-8"?> <BookingCreateResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Currency>USD</Currency> <Warning /> <TestMode>true</TestMode> <CommitLevel>prepare</CommitLevel> <Booking> <CreationDate>2024-09-13</CreationDate> <AgentReference>{{YourReference}}</AgentReference> <HotelBooking> <Id>8718316</Id> <HotelId>53815</HotelId> <HotelName>Metropolitan</HotelName> <CreationDate>2024-09-13</CreationDate> <ArrivalDate>2024-11-15</ArrivalDate> <Nights>2</Nights> <TotalSellingPrice amt="2082.40" /> <Status>quoted</Status> <Room> <TotalSellingPrice amt="2082.40" /> <NightCost> <Night>0</Night> <SellingPrice amt="1041.20" /> </NightCost> <NightCost> <Night>1</Night> <SellingPrice amt="1041.20" /> </NightCost> <RoomType code="2206328" text="Metropolitan Park Room" /> <MealType code="1" text="Breakfast" /> <Guests> <Adult id="5870010" title="Mr" first="A" last="Test"> <Price amt="693.44" /> </Adult> <Adult id="5870011" title="Ms" first="B" last="Test"> <Price amt="693.44" /> </Adult> <Child id="5870012" title="Mstr" first="C" last="Test" age="5"> <Price amt="695.52" /> </Child> </Guests> <Messages> <Message> <Type>General</Type><Text>&lt;span style='color:red;font-weight:bold'&gt;** ATTN **&lt;/span&gt; Take extra care to read notes, especially for any nationality/market exclusions which could override guest nationality selected &lt;span style='color:red;font-weight:bold'&gt;** ATTN **&lt;/span&gt;&lt;br/&gt;&lt;b&gt;No Show: &lt;/b&gt;Should the guest fail to arrive on the check in date and we have not been notified of any cancellations or amendments in advance, they will be deemed a no show. For same day cancellation or no shows, 100% cancellation charges apply.&lt;br&gt;</Text> </Message> <Message> <Type>Internal Note</Type><Text> . Check-in hour 15:00-00:00.Car park YES (With additional debit notes) 50.00 GBP Per unit/night.</Text> </Message> </Messages> <Status>quoted</Status> <CanxFees> <Fee from="2024-11-12T00:00:00Z"> <Amount amt="1041.20" /> </Fee> <Fee from="2024-11-13T00:00:00"> <Amount amt="1041.20" /> </Fee> </CanxFees> <CancellationPolicyStatus>Refundable</CancellationPolicyStatus> </Room> <VoucherInfo> <PayableBy>roomsXML</PayableBy> <VoucherRef>-2</VoucherRef> </VoucherInfo> <QuoteRefreshStatus>ok</QuoteRefreshStatus> </HotelBooking> <HotelBooking> <Id>8718317</Id> <HotelId>53815</HotelId> <HotelName>Metropolitan</HotelName> <CreationDate>2024-09-13</CreationDate> <ArrivalDate>2024-11-15</ArrivalDate> <Nights>2</Nights> <TotalSellingPrice amt="2082.40" /> <Status>quoted</Status> <Room> <TotalSellingPrice amt="2082.40" /> <NightCost> <Night>0</Night> <SellingPrice amt="1041.20" /> </NightCost> <NightCost> <Night>1</Night> <SellingPrice amt="1041.20" /> </NightCost> <RoomType code="2206328" text="Metropolitan Park Room" /> <MealType code="1" text="Breakfast" /> <Guests> <Adult id="5870013" title="Mr" first="D" last="Test"> <Price amt="693.44" /> </Adult> <Adult id="5870014" title="Ms" first="E" last="Test"> <Price amt="693.44" /> </Adult> <Child id="5870015" title="Mstr" first="F" last="Test" age="5"> <Price amt="695.52" /> </Child> </Guests> <Messages> <Message> <Type>General</Type><Text>&lt;span style='color:red;font-weight:bold'&gt;** ATTN **&lt;/span&gt; Take extra care to read notes, especially for any nationality/market exclusions which could override guest nationality selected &lt;span style='color:red;font-weight:bold'&gt;** ATTN **&lt;/span&gt;&lt;br/&gt;&lt;b&gt;No Show: &lt;/b&gt;Should the guest fail to arrive on the check in date and we have not been notified of any cancellations or amendments in advance, they will be deemed a no show. For same day cancellation or no shows, 100% cancellation charges apply.&lt;br&gt;</Text> </Message> <Message> <Type>Internal Note</Type><Text> . Check-in hour 15:00-00:00.Car park YES (With additional debit notes) 50.00 GBP Per unit/night.</Text> </Message> </Messages> <Status>quoted</Status> <CanxFees> <Fee from="2024-11-12T00:00:00Z"> <Amount amt="1041.20" /> </Fee> <Fee from="2024-11-13T00:00:00"> <Amount amt="1041.20" /> </Fee> </CanxFees> <CancellationPolicyStatus>Refundable</CancellationPolicyStatus> </Room> <VoucherInfo> <PayableBy>roomsXML</PayableBy> <VoucherRef>-2</VoucherRef> </VoucherInfo> <QuoteRefreshStatus>ok</QuoteRefreshStatus> </HotelBooking> </Booking> <HotelDetails /> </BookingCreateResult>