v3 | May 4, 2021
- See all negotiated or contractual rates at the top of the response.
- Return rates from all sources without taxes or fees, allowing for a uniform comparison of rates between different sources.
- Show supplier-recommended selling rates to customers for net rates.
- 'ConvertedRateInfoOnly' implementation has been changed to be more developer-friendly.
- All OTA codes are now returned with descriptions, eliminating the need for customers to translate them.
- Alternate hotel information is returned in the response if rates from Sabre are unavailable.
- Additional grouping parameters are now supported under room sets in order to group similar rates together and enable comparison shopping.
API Information
What's New
- See all negotiated or contractual rates at the top of the response.
- Return rates from all sources without taxes or fees, allowing for a uniform comparison of rates between different sources.
- Show supplier-recommended selling rates to customers for net rates.
- 'ConvertedRateInfoOnly' implementation has been changed to be more developer-friendly.
- All OTA codes are now returned with descriptions, eliminating the need for customers to translate them.
- Alternate hotel information is returned in the response if rates from Sabre are unavailable.
- Additional grouping parameters are now supported under room sets in order to group similar rates together and enable comparison shopping.
New Features
In the Request
Optional
- Parameter: Traveller country
-
Type: string
Description: The 'TravellerCountry' field allows users to pass information to suppliers, allowing access to location-specific products in the availability response.
Sample Value:
{
"RateInfoRef": {
"CurrencyCode": "USD",
"BestOnly": "1",
"PrepaidQualifier": "ExcludePrepaid",
"RefundableOnly": "false",
"ConvertedRateInfoOnly": "true",
"TravellerCountry": "US"
}
}
In the Request
Optional
- Parameter: ShowNegotiatedRatesFirst
-
Type: boolean
Description: Overrides the regular sorting (based on the amount before tax) for the API and shows all available negotiated or contractual rates before public rates.
Sample Value:
{
"RateInfoRef": {
"CurrencyCode": "USD",
"PrepaidQualifier": "PrepaidOnly",
"RefundableOnly": "false",
"ConvertedRateInfoOnly": "true",
"TravellerCountry": "US",
"ShowNegotiatedRatesFirst": "false"
}
}
In the Response
Optional
- Parameter: MinSellingRate
-
Type: decimal
Description: Returns the supplier-recommended selling price for the rate, if returned. This is generally populated for net rates.
Sample Value:
{
"RateInfo": {
"StartDate": "2021-10-20",
"EndDate": "2021-10-24",
"AmountBeforeTax": "760.60",
"AmountAfterTax": "882.40",
"MinSellingRate": "900.00"
}
}Note: If populated, this is returned for each 'RateInfo' or 'ConvertedRateInfo' element in the response.
In the Response
Optional
- Parameter: AverageNightlyRateBeforeTax
-
Type: decimal
Description: Irrespective of the source, the 'AverageNightlyRateBeforeTax' field will always be populated in the response, returning the overall averaged (not highest) nightly rate without considering any taxes or fees.
Sample Value:
{
"RateInfo": {
"StartDate": "2021-10-20",
"EndDate": "2021-10-24",
"AmountBeforeTax": "760.60",
"AmountAfterTax": "882.40",
"AverageNightlyRate": "220.60",
"AverageNightlyRateBeforeTax": "190.15",
"CurrencyCode": "USD"
}
}
In the Response
Optional
- Parameter: All OTA Code elements will now be accompanied with an attribute with the description of that OTA code.
-
Type: string
Description: This change applies to all OTA codes in the API responses, including but not limited to 'RoomTypeCode', 'RatePlanInclusion', 'Amenity', 'TaxGroups', and 'FeeGroups'.
Sample Value:
"RatePlanInclusion": {
"Code": "222",
"Description": "Free high speed internet connection"
},
"TaxGroup": {
"Code": "13",
"Description": "Sales Tax",
"Amount": "40.00",
"CurrencyCode": "USD"
},
"FeeGroup": {
"Code": "2",
"Description": "City Hotel Fee",
"Amount": "25.00",
"CurrencyCode": "USD"
}
In the Response
Optional
- Parameter: CVVRequired
-
Type: boolean
Description: When specifically returned by suppliers, this boolean field is populated in the response to indicate that a CVV number is mandatory when booking.
Sample Value:
{
"GuaranteeAccepted": {
"GuaranteeTypeCode": "5",
"GuaranteeTypeDescription": "Credit Card",
"PaymentCards": {
"CVVRequired": "true",
"PaymentCard": [
{
"CardCode": "VI",
"value": "VISA"
},
{
"CardCode": "MC",
"value": "MASTER CARD"
}
]
}
}
}
In the Response
Optional
- Parameter: DepositPolicies
-
Type: element
Description: The 'DepositPolicies' element now contains a list of multiple policies for rates that may have a varying deposit policies based on the dates for a reservation.
Sample Value:
{
"DepositPolicies": [
{
"Deadline": {
"AbsoluteDeadline": "202-10-12T18:00:00"
},
"AmountPercent": {
"NmbrOfNights": "1",
"Amount": "176.48"
}
},
{
"Deadline": {
"AbsoluteDeadline": "202-10-18T18:00:00"
},
"AmountPercent": {
"NmbrOfNights": "1",
"Amount": "176.48"
}
}
]
}
In the Request
Optional
- Parameter: RoomSetTypes
-
Type: element
Description: The 'RoomSetTypes' element has been enhanced to allow you to choose multiple grouping parameters at the same time. All products matching the same set of requested room set types will be returned under a single 'RoomSet' element in the response.
Sample Value:
{
"RoomSetTypes": {
"RoomSet": [
{
"Type": "RoomType"
},
{
"Type": "BedTypes"
}
]
}
}Note: Supported values at this time are "BedType", "RoomView", "RoomType" and "RateSource" but this can change as more features are added.
In the Response
Optional
- Parameter: RoomSetAttributes
-
Type: element
Description: The room set attributes element shows the unique parameters that all products belonging to a room set would abide by.
Sample Value:
{
"RoomSetAttributes": {
"RoomSetAttribute": [
{
"Type": "RoomType",
"Code": 3,
"Value": "Suite"
},
{
"Type": "BedType",
"Code": 3,
"Value": "King bed"
},
{
"Type": "BedType",
"Code": 5,
"Value": "Queen bed"
},
{
"Type": "RoomView",
"Code": 6,
"Value": "Harbor View"
},
{
"Type": "RateSource",
"Value": "100"
}
]
}
}
In the Response
Optional
- Parameter: AlternateHotelInfos
-
Type: element
Description: If rates are not available for a requested source, the 'AlternateHotelInfos' element returns a list of other properties that could be shopped in place of the requested property.
Sample Value:
{
"AlternateHotelInfos": {
"AlternateHotelInfo": [
{
"HotelCode": "100097634",
"CodeContext": "GLOBAL",
"SabreHotelCode": "11111",
"ChainCode": "MC",
"Distance": 20,
"Direction": "SW",
"UOM": "KM"
}
]
}
}Note: At this point, alternate hotel information is returned only if rates are unavailable from the GDS, but this can be enhanced in the future to be returned irrespective of rate source.
In the Request
Optional
- Parameter: GuaranteePolicy
-
Type: string
Description: Customers will have the ability to retrieve property-specific guarantee policies by specifying that as an option under the 'Descriptions' element.
Sample Value:
{
"Descriptions": {
"Description": {
"Type": "GuaranteePolicy"
}
}
}Note: This information is not returned with the initial release of the API.
Functional Updates And Enhancements
In the Request
Optional
- Parameter: RateSource
-
Type: element
Description: The 'InfoSource' element has been renamed to 'RateSource' to be in line with its functionality.
Sample Value:
{
"RateSource": "100,110,112,113"
}
In the Response
Optional
- Parameter: Hotel Codes
-
Type: string
Description: The response will now always return Global hotel codes irrespective of whether a Sabre or a Global hotel code was used in the request. If the property is also available from Sabre, a 'SabreHotelCode' and the 'ChainCode' will be returned in the response.
Sample Value:
{
"HotelRefs": {
"HotelRef": {
"HotelCode": "1234",
"CodeContext": "SABRE"
}
}
}
response
{
"HotelInfo": {
"HotelCode": "100072188",
"CodeContext": "GLOBAL",
"SabreHotelCode": "1234",
"HotelName": "Hyatt Regency Tulsa",
"ChainCode": "HY",
"ChainName": "Hyatt Hotels And Resorts",
"BrandCode": "10008",
"BrandName": "Hyatt",
"Distance": 23.45,
"Direction": "S",
"UOM": "MI",
"Logo": "http://vcmp-hotels.cert.sabre.com/image/upload/t_vcmp_thumb/hotel/i/1/jdbkyzhiy4tmmm0a30e3.jpg",
"SabreRating": "3.5"
}
}
In the Response
Optional
- Parameter: AmountBeforeTax
-
Type: decimal
Description: The 'AmountBeforeTax' is now always returned in the response, irrespective of the source being shopped.
Sample Value:
{
"RateInfo": {
"StartDate": "2021-10-20",
"EndDate": "2021-10-24",
"AmountBeforeTax": "760.60",
"AmountAfterTax": "882.40",
"AverageNightlyRate": "220.60",
"AverageNightlyRateBeforeTax": "190.15",
"CurrencyCode": "USD",
"AdditionalFeesInclusive": "true",
"TaxInclusive": "true"
}
}
In the Response
Optional
- Parameter: LoyaltyId
-
Type: string
Description: The 'LoyaltyId' attribute has been removed from the 'RateInfos' element and instead moved inside the Rooms -> Room -> RatePlans -> RatePlan element, since it reflects the rate plan and not rates.
Sample Value:
{
"RatePlan": {
"RatePlanName": "Room, 2 Double Beds",
"RatePlanCode": "AARP",
"RatePlanType": "1",
"LoyaltyId": "IQ1234"
}
}
In the Request
Optional
- Parameter: ConvertedRateInfoOnly
-
Type: boolean
Description: The implementation of the 'ConvertedRateInfoOnly' attribute has been changed to make it developer-friendly. Refer to the API documentation for details.
Resolved Issues
In the Response
Optional
Description: Rate-related additional details will now be populated in the 'AdditionalDetails' element inside the 'RateInfo' element for all sources, removing an inconsistency where it was sometimes populated under the Rooms element.
In the Response
Optional
Description: The API will now always return the same static information for a property, irrespective of whether the search was made using a Sabre or a Global hotel code.
v2.0.0 | June 1, 2020
- Content Services for Lodging APIs now provide the ability to search for and identify properties that have implemented enhanced safety protocols to provide a safe stay for the guests
- A new amenity OTA code (2002) can be used to request and identify properties that support the Stay Safe initiative
- For more information - https://developer.sabre.com/docs/safe_stay_indicator
API Information
What's New
- Content Services for Lodging APIs now provide the ability to search for and identify properties that have implemented enhanced safety protocols to provide a safe stay for the guests
- A new amenity OTA code (2002) can be used to request and identify properties that support the Stay Safe initiative
- For more information - https://developer.sabre.com/docs/safe_stay_indicator
Business Value
- In the wake of the COVID-19 crisis, hotels around the globe are increasingly looking at improving cleanliness programs at their properties. Hotels want to provide guests with peace of mind and assure them that their room has been thoroughly sanitized. Whether it's guest rooms, restaurants, gyms, or other public areas, hotels want to make sure the health and safety of guests is a priority, now more than ever.
- While our hotel partners have always taken providing clean rooms seriously, some are taking actions that go above and beyond standards provided by various governing bodies to meet the expectations presented by COVID-19. Several hoteliers are already implementing enhanced hotel cleaning practices, social interactions, and workplace protocols to meet new health and safety regulations.
- This is of particular importance as Sabre connected travel agencies, Online Travel Agencies (OTAs), and corporations have a duty of care about the well-being of the traveler whilst they are on their trip.
New Features
In the Response
Optional
- Parameter: Amenities
-
Type: String
Description: The Stay Safe indicator is returned as Amenities as Code 2002 in the API response for the properties that support Stay Safe guidelines.
Sample Value:
"Amenities": {
"Amenity": [
{
"Code": 2002,
"Description": "Stay Safe",
"value": ""
},
{
"Code": 262,
"Description": "Kitchenette",
"value": ""
},
{
"Code": 42,
"Description": "Free parking",
"value": ""
},
{
"Code": 44,
"Description": "Game room",
"value": ""
},
{
"Code": 55,
"Description": "Hot Tub",
"value": ""
}
]
}
v2.0.0 | November 13, 2019
- The response now shows both the Sabre Hotel Code and the Global ID
- Product codes now returned in the response for GDS products in 'ProductCode'
- Breakdown of tax and fee information by date range is now returned in 'Taxes' and 'Fees' elements
- Updated structure of element 'Guarantee'
- Added ability to view Security Features mapped to a property
- Amenities can now have a text description assosciated to them
- Added ability to shop in an authorized (AAA Access) branch location (PCC) while remaining signed-into the home branch or IPCC
- Renamed 'PointOfInterests' to 'PointsOfInterest'
API Information
What's New
- The response now shows both the Sabre Hotel Code and the Global ID
- Product codes now returned in the response for GDS products in 'ProductCode'
- Breakdown of tax and fee information by date range is now returned in 'Taxes' and 'Fees' elements
- Updated structure of element 'Guarantee'
- Added ability to view Security Features mapped to a property
- Amenities can now have a text description assosciated to them
- Added ability to shop in an authorized (AAA Access) branch location (PCC) while remaining signed-into the home branch or IPCC
- Renamed 'PointOfInterests' to 'PointsOfInterest'
New Features
In the Response
Optional
- Parameter: SabreHotelCode
-
Type: string
Description: Sabre Hotel Code of a Global ID.
Sample Value:
53121Note: Populated only if a Global ID has a Sabre Hotel Code mapped to it, and the search was made with the Global ID
In the Response
Optional
- Parameter: ProductCode
-
Type: string
Description: Inventory code uniquely identifying a GDS product
Sample Value:
A1KRACNote: Populated only for GDS products; not for Aggregator products
In the Request
Optional
- Parameter: SecurityFeatures
-
Type: boolean
Description: Boolean field to control whether you want to see security features in the response
Sample Value:
"SecurityFeatures": "false"Note: Default false. When true, Security feature information is returned in the response
In the Response
Optional
- Parameter: SecurityFeatures
-
Type: object
Description: Security features (mapped to SEC OTA Code) applicable to a property
Sample Value:
"SecurityFeatures":{
"SecurityFeature":[
{
"Code":9,
"Description":"Complies with Local/State/Federal fire laws",
"value":"Fire safety law compliant"
}
]
}
In the Request
Optional
- Parameter: POS
-
Type: object
Description: Allows shopping in an authorized (AAA Access) branch location (PCC) while remaining signed-into the home branch or IPCC
Sample Value:
"POS": {
"Source": {
"PseudoCityCode": "TM61"
}
}Note: Although the shopping happens in the branch location PCC given in the request, the underlying Session or Token used to authenticate or call this API remains unchanged. This is different from how AAA branch shopping worked in legacy GDS where the underlying session itself is AAAed into the branch location
Functional Updates And Enhancements
In the Response
Optional
- Parameter: Taxes
-
Type: object
Description: Taxes contains the breakdown of tax information by date range and type
Sample Value:
"Taxes": {
"Amount": 22.46,
"CurrencyCode": "AUD",
"Tax": [{
"StartDate": "2019-09-20",
"EndDate": "2019-09-22",
"Amount": 11.23,
"CurrencyCode": "AUD"
}],
"TaxGroups": {
"TaxGroup": [{
"Code": 36,
"Amount": 22.46,
"CurrencyCode": "AUD",
"TaxDescription": {
"Text": [
"Value Added Tax"
]
}
}]
}
}Note: Changed structure of 'Taxes'
In the Response
Optional
- Parameter: Fees
-
Type: object
Description: Fees contains the breakdown of fee information by date range and type
Sample Value:
"Fees": {
"Amount": 22.46,
"CurrencyCode": "AUD",
"Fee": [{
"StartDate": "2019-09-20",
"EndDate": "2019-09-22",
"Amount": 11.23,
"CurrencyCode": "AUD"
}],
"FeeGroups": {
"FeeGroup": [{
"Code": 12,
"Amount": 22.46,
"CurrencyCode": "AUD",
"FeeDescription": {
"Text": [
"Resort Fee"
]
}
}]
}
}Note: Changed structure of 'Fees'
In the Response
Optional
- Parameter: Guarantee
-
Type: object
Description: Guarantee information related to Product
Sample Value:
"Guarantee": {
"GuaranteeType": "GUAR",
"GuaranteesAccepted": {
"GuaranteeAccepted": [
{
"GuaranteeTypeCode": 5,
"PaymentCards": {
"PaymentCard": [
{
"CardCode": "AX",
"value": "American Express"
}
]
}
}
]
},
"Deadline": {
"AbsoluteDeadline": "2018-07-01T23:59:00",
"OffsetTimeUnit": "Day",
"OffsetUnitMultiplier": 2,
"OffsetDropTime": "BeforeArrival"
},
"AmountPercent": {
"TaxInclusive": true,
"FeesInclusive": true,
"NmbrOfNights": 12,
"BasisType": "Basis Type",
"Percent": 12.01,
"Amount": 84.12,
"CurrencyCode": "AUD",
"ApplyAs": "Apply As"
},
"GuaranteeDescription": {
"Text": [
"A pre-arrival deposit that is given back to the traveler after a completed stay."
]
}
}Note: Updated structed of 'Guarantee'
In the Response
Optional
- Parameter: Amenities
-
Type: object
Description: Amenities available at the property
Sample Value:
"Amenities": {
"Amenity": [
{
"Code": 15,
"Description": "Car rental desk",
"ComplimentaryInd": false,
"value": "Ask at reception for car rental charges"
}
]
}Note: Amenities can now have text information assosciated to an Amenity
In the Request
Optional
- Parameter: PointsOfInterest
-
Type: boolean
Description: Boolean flag to control whether points of interest should be returned in the API response
Sample Value:
"PointsOfInterest": trueNote: This is changed from 'PointOfInterests' to 'PointsOfInterest' in the V3.0.0 schemas