Skip to main content

Enhanced Hotel Book

2.0.0
Hotel
Reservation
SOAP API

The Enhanced Hotel Book (EnhancedHotelBookRQ) is an orchestrated service that allows booking hotel content (GDS or aggregator) in a single API call.

Not Signed In.

Looks like you may not have access to all of the resources and documentation for this page.
Please log-in or contact your support desk team if you believe you should have access.

Target Audience
Travel Agency
API Version
2.0.0
Authentication
Session Token
Service Action Code
EnhancedHotelBookRQ

What is it?

With the release of Content Services for Lodging (CSL), Sabre has expanded its traditional GDS hotel offering with content from external aggregators. The Enhanced Hotel Book API (EnhancedHotelBookRQ) facilitates the booking of both traditional GDS hotel content as well as lodging aggregator content.

Why use it?

Features in the Enhanced Hotel Book API include:

  • Ability to book an Aggregator hotel as a CSL segment.
  • Ability to book a Sabre GDS hotel as a CSL segment or as a legacy segment.
  • Ability to specify a “Hotel Booking Key” that uniquely identifies the hotel property, room type, room rate, number of guests, etc.
  • Ability to identify failures during the orchestrated process, and properly notify the user.

How it works

The API performs several steps when booking a hotel room:

  • It will decode and retrieve shopped rate details based on the data provided by the "Hotel Booking Key".
  • Depending on the data of the booking key and user input, the API will follow one of the following three strategies to book the desired hotel rate:
    • Aggregator hotel via CSL
    • GDS hotel via CSL
    • GDS hotel as a legacy segment
  • If the booking is successful, the API will validate the newly added segment statuses as returned by the hotel vendor (HK/SS/NN/PN/UC/NO):
    • HK/SS/NN/PN are considered successful
    • UC/NO are considered unsuccessful and the API will return an error
  • Finally, it will return the current state of the session in the response payload (an internal call to TravelItineraryReadRQ).

How to use

For detailed instructions on using this API, refer to the Enhanced Hotel Book user guides under the Resources tab.

Sample Request
<?xml version="1.0" encoding="UTF-8"?>
<!--Book a GDS Hotel as a CSL segment with Credit Card Guarantee-->
<EnhancedHotelBookRQ bookGDSviaCSL="true" xmlns="http://services.sabre.com/sp/enhanced/hotel/book/v2" version="2.0.0">
	<BookingInfo>
		<!-- Booking key source is 100 (100 == GDS)-->
		<BookingKey>662fb7ad-8446-4142-a8a3-a74d4162cbbd</BookingKey>
	</BookingInfo>
	<Rooms>
		<Room RoomIndex="1" NonSmoking="true">
			<Guests>
				<Guest FirstName="Max" LastName="Power" Email="max.power@mailprovider.com" Type="10" Index="1" LeadGuest="true">
					<Contact Mobile="123456789"/>
				</Guest>
			</Guests>
		</Room>
	</Rooms>
	<PaymentInformation Type="GUARANTEE">
		<FormOfPayment>
			<PaymentCard>
				<PaymentType>CC</PaymentType>
				<CardCode>VI</CardCode>
				<CardNumber>4111111111111111</CardNumber>
				<ExpiryMonth>12</ExpiryMonth>
				<ExpiryYear>2019</ExpiryYear>
				<FullCardHolderName>
					<FirstName>Max</FirstName>
					<LastName>Power</LastName>
				</FullCardHolderName>
				<CSC>134</CSC>
				<Address>
					<AddressLine>Wadowicka 6</AddressLine>
					<CityName>Krakow</CityName>
					<StateProvince code="KR"/>
					<StateProvinceCodes>
						<Code>KR</Code>
					</StateProvinceCodes>
					<PostCode>30-415</PostCode>
					<CountryCodes>
						<Code>PL</Code>
					</CountryCodes>
				</Address>
			</PaymentCard>
		</FormOfPayment>
	</PaymentInformation>
</EnhancedHotelBookRQ>
Sample Response
<?xml version="1.0" encoding="UTF-8"?>
<!--Response of a successful GDS hotel book via CSL-->
<EnhancedHotelBookRS xmlns="http://services.sabre.com/sp/enhanced/hotel/book/v2">
	<ApplicationResults xmlns="http://services.sabre.com/STL_Payload/v02_01" status="Complete">
		<Success timeStamp="2019-09-11T16:07:21.493-05:00"/>
	</ApplicationResults>
	<TravelItineraryRead>
		<TravelItinerary>
			<CustomerInfo>
				<PersonName WithInfant="false" NameNumber="01.01" RPH="1" elementId="pnr-3.1">
					<GivenName>MAX</GivenName>
					<Surname>POWER</Surname>
				</PersonName>
			</CustomerInfo>
			<ItineraryInfo>
				<ReservationItems>
					<Item RPH="1">
						<Hotel DayOfWeekInd="5" NumberInParty="01" NumberOfUnits="1" SegmentNumber="0001" Status="HK" Type="HHL" IsPast="false" Id="19">
							<BasicPropertyInfo ChainCode="BW" HotelCityCode="LAS" HotelCode="6153" HotelName="BEST WESTERN MCCARRAN INN">
								<Address>
									<AddressLine>4970 PARADISE RD</AddressLine>
									<CountryCode>US</CountryCode>
								</Address>
								<CancelPenalty PolicyCode="24H"/>
								<ConfirmationNumber>892444119</ConfirmationNumber>
								<DirectConnect>DCBW</DirectConnect>
								<ContactNumbers>
									<ContactNumber Fax="1-702-7987627" Phone="1-702-7985530"/>
								</ContactNumbers>
							</BasicPropertyInfo>
							<Customer>
								<ReserveUnderName>POWER MAX</ReserveUnderName>
							</Customer>
							<Guarantee>VI4XXXXXXXXXXX1111EXP 12 19-POWER</Guarantee>
							<POS>
								<Source>
									<RequestorID>99999999</RequestorID>
								</Source>
							</POS>
							<RoomRates>
								<Commission NonCommission="false" Percent="10">10 PCT ON COMMISSIONABLE RATES</Commission>
								<Rate Amount="99.00" CurrencyCode="USD" RoomTypeCode="A1KRACC">
									<HotelTotalPricing>
										<TotalTax>
											<Tax Id="TX1">39.75 OCCUPANCY TAX</Tax>
											<Tax Id="TX2">15.21 MAF FEE</Tax>
										</TotalTax>
										<TotalSurcharge Amount="0.00"/>
										<ApproximateTotal AmountAndCurrency="351.96 USD"/>
										<RateChange Effective="00099.00USD 11OCT-001NT" Tax="0.00TX"/>
										<RateChange Effective="00099.00USD 12OCT-001NT" Tax="0.00TX"/>
										<RateChange Effective="00099.00USD 13OCT-001NT" Tax="0.00TX"/>
									</HotelTotalPricing>
									<RateAccessCodeBooked>
										<RateAccessCode>RAC</RateAccessCode>
										<CategoryTypeCode>R</CategoryTypeCode>
									</RateAccessCodeBooked>
								</Rate>
							</RoomRates>
							<TimeSpan Duration="003" End="10-14" Start="10-11"/>
						</Hotel>
					</Item>
				</ReservationItems>
			</ItineraryInfo>
			<ItineraryRef AirExtras="false" InhibitCode="U" PartitionID="AA" PrimeHostID="1S">
				<Source PseudoCityCode="TM61"/>
			</ItineraryRef>
		</TravelItinerary>
	</TravelItineraryRead>
</EnhancedHotelBookRS>