Multi-Room Support for GDS Segments
Introduction
Multi-room shopping and booking is a feature supported for multi-room reservations from Sabre Global Distribution System (GDS) suppliers. This guide describes how to best utilize multi-room shopping and booking for GDS suppliers, as well as any limitations associated with this feature.
Benefits
- Book multiple rooms with a single request
- Manage all reservations under one confirmation number
- Book multiple rooms for several guests and get immediate confirmations/rejections from the property based on availability, instead of booking them one at a time to see if the property will be able to accommodate all
- For stateless (REST) customers – confirm or reject all rooms in one request, instead of having to cancel other reservations later if the number of rooms available is less than required
Supported versions
The following APIs and versions support shopping/booking multi-room segments for GDS chains in Content Services for Lodging (CSL):
Shopping
API Name | Versions | Formats |
---|---|---|
Get Hotel Availability | v3, v4 | REST and SOAP |
Get Hotel Details | v2, v3 | REST and SOAP |
Hotel Price Check | v3, v4 | REST and SOAP |
Get Hotel Lead Rate | v3, v4 | REST and SOAP |
Get Hotel Rate Info | v3, v4 | REST and SOAP |
Booking
API Name | Versions | Formats | Segment Types |
---|---|---|---|
Update Itinerary | All active versions | SOAP | CSL |
Enhanced Hotel Book | v2.2.0 | SOAP | Legacy and CSL |
All other versions | SOAP | Only CSL | |
Update Passenger Name Record | 1.1.0 | REST and SOAP | Legacy and CSL |
All other versions | REST and SOAP | Only CSL | |
Create Passenger Name Record | v2.4.0 | REST and SOAP | Legacy and CSL |
All other versions | REST and SOAP | Only CSL |
General rules
- Both
SABRE
andGLOBAL
hotel codes can be used - Each
Room
element must have the sameAdults
andChildren
configuration - Only the same
Guest
configuration can be booked across multiple rooms - All room indexes must be sequentially added. If you’re requesting for 3 rooms, all indexes - 1, 2, and 3, must be present in the request.
- You cannot book different room types in the same request. This will require 2 different sell requests and will create 2 different segments in the Passenger Name Record (PNR).
- Due to limitations with supplier connectivity, when you shop for multiple rooms, we cannot guarantee that the property has all required number of rooms:
- If the number of rooms are available, your sell will succeed and you will have a single segment in the PNR with multiple rooms
- If the number of room are unavailable, your sell will be rejected and you will have a UC segment in the PNR
- Some chains may support multi room bookings only in certain properties. Such properties will error out at sell initiate.
Shopping
Request
Ensure you’re asking for multiple-rooms in the initial shopping request by including multiple Room
elements in the request:
REST example:
"GetHotelDetailsRQ": {
"SearchCriteria": {
"HotelRefs": {
"HotelRef": {
"HotelCode": "100072188",
"CodeContext": "GLOBAL"
}
},
"RateInfoRef": {
"StayDateTimeRange": {
"StartDate": "2022-07-20",
"EndDate": "2022-07-22"
},
"Rooms": {
"Room": [
{
"Index": 1,
"Adults": 1,
"Children": 1,
"ChildAges": "1"
},
{
"Index": 2,
"Adults": 1,
"Children": 1,
"ChildAges": "2"
}
]
},
"RateSource": "100"
}
}
}
}
SOAP example:
<SearchCriteria>
<HotelRefs>
<HotelRef HotelCode="100072188" CodeContext="GLOBAL"/>
</HotelRefs>
<RateInfoRef CurrencyCode="USD" PrepaidQualifier="IncludePrepaid" RefundableOnly="true">
<StayDateRange StartDate="2022-06-10" EndDate="2022-06-12"/>
<Rooms>
<Room Index="1" Adults="1" Children="0"/>
<Room Index="2" Adults="1" Children="0"/>
</Rooms>
<InfoSource>100</InfoSource>
</RateInfoRef>
</SearchCriteria>
</GetHotelDetailsRQ>
Response
In both REST and SOAP responses, the RateInfos
element displays the sum of the rates across all rooms. For example, if a room costs $100 and you requested 2 rooms, the RateInfos
element will show the rates as $200.
This makes the total information available to you at a quick glance:
For each RateInfo
element in the response, there can also be multiple Room
elements. Each room element returns information corresponding to the single room rate:
Room
elements can be linked to RateInfos
(and to each other) based on the rateKey
:
Errors during shopping
If you request a greater number of rooms for a chain than what is allowed, you will receive the below error:
<ns7:SystemSpecificResults>
<ns7:Message code="WARN.0106">Too many rooms/units</ns7:Message>
<ns7:Message code="WarningDetails">100-Max 4 rooms currently supported for YX chain</ns7:Message>
</ns7:SystemSpecificResults>
</ns7:Warning>
Booking
Request
Multi-room booking is enabled on any API that supports booking multi-room CSL segments. The only difference between a single and multi-room sell request is adding two (2) Room
elements in the request:
Important! Each room must have at least one (1)
Guest
information element.
<BookingInfo>
<BookingKey>8408cbaa-38c0-40a2-955f-28a92aeebd7d</BookingKey>
</BookingInfo>
<Rooms>
<Room RoomIndex="1">
<Guests>
<Guest FirstName="TEST" LastName="BOOKING" Email="test.booking@sabre.com" Type="10" Index="1" LeadGuest="true">
<Contact Phone="2025550137"/>
</Guest>
</Guests>
</Room>
<Room RoomIndex="2">
<Guests>
<Guest FirstName="TEST" LastName="BOOKING" Email="test.booking@sabre.com" Type="10" Index="1" LeadGuest="true">
<Contact Phone="2025550137"/>
</Guest>
</Guests>
</Room>
</Rooms>
<PaymentInformation Type="GUARANTEE">
<FormOfPayment>
<PaymentCard>
<PaymentType>CC</PaymentType>
<CardCode>VI</CardCode>
<CardNumber>XXXXXXXXXXXXX1111</CardNumber>
<ExpiryMonth>XX</ExpiryMonth>
<ExpiryYear>XXXX</ExpiryYear>
<FullCardHolderName>
<FirstName>TEST</FirstName>
<LastName>BOOKIGN</LastName>
<Email>test.booking@sabre.com</Email>
</FullCardHolderName>
<CSC>123</CSC>
<Address>
<CityName>Irving</CityName>
<CityCodes>
<Code codeContext="IATA">DFW</Code>
</CityCodes>
<StateProvince code="TX"/>
<PostCode>75063</PostCode>
<CountryCodes>
<Code>US</Code>
</CountryCodes>
</Address>
<Phone>
<PhoneNumber>19729298400</PhoneNumber>
</Phone>
</PaymentCard>
</FormOfPayment>
</PaymentInformation>
</EnhancedHotelBookRQ>
Response
A typical response will look like:
1 HHL SI HK2 DFW IN01JUN W-OUT05JUN 4NT 499 SH /DCSI
ERATON DFW AIRPOR 2AABS00 -1/ 132.05USD/RC-¤¤¤-Z2H-R/CMN-C/CMT
-COMMISSIONABLE/AA/GVIXXXXXXXXXXXX1111EXP XXXXX-DZIK/C01D/SI-CF
-92881760-