Skip to main content

Get Hotel Rate Info

Hotel
Search
REST API
Travel Agency
Try Now
release_note
  • 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 rate 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 in case of unavailability of rates from Sabre.
  • Additional grouping parameters supported under room sets, to group similar rates together and enable comparison shopping.

API Information

Response Format
JSON
Method/Endpoint
/v4.0.0/get/hotelrateinfo
Current Version
4
Target Audience
Both TN and AS
Environment
Production

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 rate 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 in case of unavailability of rates from Sabre.
  • Additional grouping parameters supported under room sets, to group similar rates together and enable comparison shopping.

New Features

In the Request

Optional

Parameter: Traveller country

Type: string

Description: The traveller country field allows users to pass this information on to suppliers that support this, allowing user access to location specific products in the availability response.

Sample Value:

{
   "RateInfoRef": {
      "CurrencyCode": "USD",
      "BestOnly": "1",
      "PrepaidQualifier": "ExcludePrepaid",
      "RefundableOnly": "false",
      "ConvertedRateInfoOnly": "true",
      "TravellerCountry": "US"
   }
}
Note:

In the Request

Optional

Parameter: ShowNegotiatedRatesFirst

Type: boolean

Description: Overrides the regular sorting (based on 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"
   }
}
Note:

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"
   }
}
Note:

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"
}
Note:

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 would be mandatorily needed when booking.

Sample Value:

{
   "GuaranteeAccepted": {
      "GuaranteeTypeCode": "5",
      "GuaranteeTypeDescription": "Credit Card",
      "PaymentCards": {
         "CVVRequired": "true",
         "PaymentCard": [
            {
               "CardCode": "VI",
               "value": "VISA"
            },
            {
               "CardCode": "MC",
               "value": "MASTER CARD"
            }
         ]
      }
   }
}
Note:

In the Response

Optional

Parameter: DepositPolicies

Type: element

Description: The Deposit policies element will now contain a list of multiple policies, for rates that may have a varying deposit policies based on 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"
         }
      }
   ]
}
Note:

In the Request

Optional

Parameter: RoomSetTypes

Type: element

Description: The RoomSetTypes element has been enhanced to allow users 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"
}
]
}
}
Note:

In the Response

Optional

Parameter: AlternateHotelInfos

Type: element

Description: In case 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 GDS but this can be enhanced in the future to be returned irrespective of rate source.

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"
}
Note:

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 Chain code will be returned in the response.

Sample Value:

Request
{
   "HotelRefs": {
      "HotelRef": {
         "HotelCode": "1234",
         "CodeContext": "SABRE"
      }
   }
}


Response
{
   "HotelInfo": {
      "HotelCode": "100095296",
      "CodeContext": "GLOBAL",
      "SabreHotelCode": "1234",
      "ChainCode": "IQ"
   }
}
Note:

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"
   }
}
Note:

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 rateplan and not rates.

Sample Value:

{
   "RatePlan": {
      "RatePlanName": "Room, 2 Double Beds",
      "RatePlanCode": "AARP",
      "RatePlanType": "1",
      "LoyaltyId": "IQ1234"
   }
}
Note:

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.

Sample Value:

 
Note:

Resolved Issues

In the Response

Optional

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

Relase note ID: 16236


  • 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 shop in an authorized (AAA Access) branch location (PCC) while remaining signed-into the home branch or IPCC

API Information

Response Format
JSON
Method/Endpoint
GetHotelRateInfoRQPOST /v3.0.0/get/hotelrateinfo
Current Version
3.0.0
Target Audience
TN
Environment
Production

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 shop in an authorized (AAA Access) branch location (PCC) while remaining signed-into the home branch or IPCC

New Features

In the Response

Optional

Parameter: SabreHotelCode

Type: string

Description: Sabre Hotel Code of a Global ID.

Sample Value:

53121
Note: 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:

A1KRAC
Note: Populated only for GDS products; not for Aggregator products

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'

Relase note ID: 13337