Final Price and Availability Check

These days our suppliers make the most of the technology available to manage their inventory and prices as well as the availability of rooms can change at any time of the day. It is therefore possible that a specific room and price is no longer available at booking stage even though it was returned by us moments earlier with the <SearchHotelPriceResponse>; this behaviour can occur regardless of the length of time elapsed between those two XML requests.

Whilst every effort is made to ensure the price and availability returned in the <SearchHotelPriceResponse> messages is accurate we cannot make any guarantee that the same price will be returned with the <BookingResponse> and there can be occasions when it is not. This can be caused by, but is not limited to, one of the following reasons:

Only one room was left available and was booked in the time elapsed between the <SearchHotelPriceRequest> and the <AddBookingRequest>

Suppliers updating the price or availability in the time elapsed between the <SearchHotelPriceRequest> and the <AddBookingRequest>

Supplier caches carrying slightly stale data

Request details for the <SearchHotelPriceRequest> not completely matching the request details for the <AddBookingRequest>

In all cases the price we return with the <BookingResponse> is the final price and the amount we will charge and invoice.

To minimise any issues resulting from this volatility of inventory we suggest that before sending an <AddBookingRequest> an additional <SearchHotelPriceRequest> is performed for the required property, including the item code and the Id attribute (for clients on participation levels 1 and 2) to ensure the property is still available at the required price; see an example >SearchHotelPriceRequest> for this on page 3 of this document. Please refer to the sample integration plan on the next page which demonstrates this with the step highlighted in yellow.

Even then it is occasionally still possible that a different price is confirmed with the <BookingResponse>. We therefore recommend that you have procedures in place that can check and handle price discrepancies between the <SearchHotelPriceResponse> and the <BookingResponse>. Please refer to the sample integration plan on the next page which demonstrates this with the step highlighted in orange. We are happy to discuss the most appropriate solution for your specific integration with you.

Example <SearchHotelPriceRequest> containing the item code for the property as well as the room category ID:

<?xml version="1.0" encoding="UTF-8"?>
<Request>
    <Source>
        <RequestorID
            Client = "123"
            EMailAddress = "client@travel.com"
            Password = "XXX"/>
        <RequestorPreferences
            Country = "GB"
            Currency = "EUR"
            Language = "en">
            <RequestMode>SYNCHRONOUS</RequestMode>
        </RequestorPreferences>
    </Source>
    <RequestDetails>
        <SearchHotelPriceRequest>
            <ItemDestination DestinationCode = "NYC" DestinationType = "city"/>
            <ImmediateConfirmationOnly/>
            <ItemCode>BES2</ItemCode>
            <PeriodOfStay>
                <CheckInDate>2012-11-14</CheckInDate>
                <Duration><![CDATA[1]]></Duration>
            </PeriodOfStay>
            <Rooms>
                <Room
                    Code = "db"
                    Id = "002:BW:BW:33133:VIPB:VIPB:A1K"
                    NumberOfCots = "0"
                    NumberOfRooms = "1">
                    <ExtraBeds/>
                </Room>
            </Rooms>
        </SearchHotelPriceRequest>
    </RequestDetails>
</Request>

 

Docs Navigation