Skip Navigation

Get Hotel Lead Rate

5.0.0
Hotel
Search
SOAP API
Travel Agency
  • New filtering capabilities - GetHotelLeadRate will allow you to specify the lowest rate to be returned. You will be able to exclude rates by rate codes, types, or commissionability - eg. exclude AAA rates or senior rates from the response.
  • When rates are not returned for a GDS property, a new element called 'RateUnavailabilityReason' will be populated in the response with the error message as returned by the Hotel. In some cases, Sabre will also return a Sabre recommended message to display to travel agents and corporate travelers to help normalize different errors across chains.
  • Using the BestOnly=4 option, you will now be able to retrieve a range of rates available at the property, in addition to the lowest requested rate for each source. This capability is only supported for GDS rates.
  • GDS rates don't currently support Child pricing. Older versions of the API just returned a warning saying Child count was not considered for availability. In v5, we will additionally return the 'Adults' and 'Children' element to showcase what request was made to the supplier to fetch availability pricing.
  • A new dedicated field is added for Rate plan type descriptions in the API, and the enum removed from RatePlanType in both requests and responses to allow for new rate types to be distributed via CSL APIs
  • New rate attributes - HighestNightlyRate and ApproxTotalPrice were added to the APIs and allow you to receive all rate details to apply per diems or highlight total rates without worrying about tax inclusions/exclusions.
  • The v5 APIs have many additional optional fields in both the requests and responses that will allow for better merchandizing, better content and a more optimized workflow. Enhancements will be added to the same API as we go along without the need for versioning up.

API Information

Format
XML
Current Version
5.0.0
Environment
Production

What's New

  • New filtering capabilities - GetHotelLeadRate will allow you to specify the lowest rate to be returned. You will be able to exclude rates by rate codes, types, or commissionability - eg. exclude AAA rates or senior rates from the response.
  • When rates are not returned for a GDS property, a new element called 'RateUnavailabilityReason' will be populated in the response with the error message as returned by the Hotel. In some cases, Sabre will also return a Sabre recommended message to display to travel agents and corporate travelers to help normalize different errors across chains.
  • Using the BestOnly=4 option, you will now be able to retrieve a range of rates available at the property, in addition to the lowest requested rate for each source. This capability is only supported for GDS rates.
  • GDS rates don't currently support Child pricing. Older versions of the API just returned a warning saying Child count was not considered for availability. In v5, we will additionally return the 'Adults' and 'Children' element to showcase what request was made to the supplier to fetch availability pricing.
  • A new dedicated field is added for Rate plan type descriptions in the API, and the enum removed from RatePlanType in both requests and responses to allow for new rate types to be distributed via CSL APIs
  • New rate attributes - HighestNightlyRate and ApproxTotalPrice were added to the APIs and allow you to receive all rate details to apply per diems or highlight total rates without worrying about tax inclusions/exclusions.
  • The v5 APIs have many additional optional fields in both the requests and responses that will allow for better merchandizing, better content and a more optimized workflow. Enhancements will be added to the same API as we go along without the need for versioning up.

New Features

In the Request

Optional

Parameter: Additional rate filters to receive relevant rates in the response.

Type: element

Description: RateFilters can be used to remove specific rates from the response, based on criteria that you include in the request.

Sample Value:

<RateFilters>
<RateFilter Type="RateCode" Value="AAA,ABC" Action="Exclude"/>
<RateFilter Type="BedType" Value="3" Action="Include"/>
</RateFilters>
Note: Multiple rate filters can be passed in combination. If multiple rate filters are used, they will be treated as an "OR" condition rather than an "AND" condition. For example, if you make a request that includes filters for both Commission and RateType: 1) Exclude non-commissionable rates 2) Exclude government rates then the rates will be excluded from the response if they're either non-commissionable OR a government rate. Supported values include: RateCode RateType Commission Additional supported values may be added to the same API version in the future.

In the Response

Optional

Parameter: HighestNightlyRate

Type: string

Description: This attribute will return the Highest Nightly Rate for each rate being displayed, allowing you to better apply per diems on the highest rate instead of on total rates.

Sample Value:

<ns22:ConvertedRateInfo HighestNightlyRate="149.24" AverageNightlyRate="163.84" RateKey="bbgel5FDknBw==" ApproxTotalPrice="819.19" AverageNightlyRateBeforeTax="138.32" EndDate="2023-12-06" StartDate="2023-12-01" CurrencyCode="USD" AmountAfterTax="819.19" AdditionalFeesInclusive="false" AmountBeforeTax="691.60" RateSource="110" TaxInclusive="true"/>
Note:

In the Response

Optional

Parameter: ApproxTotalPrice

Type: string

Description: The ApproxTotalPrice will always return a rate including all known taxes and fees, irrespective of whether the AmountAfterTax included them or not. This enables like-for-like comparisons of the total rate across sources, and gives a clear indication of the total charge to the traveler for a particular booking. If the AmountAfterTax already contains all the taxes and fees, ApproxTotalPrice will have the same value as it.

Sample Value:

<ns22:ConvertedRateInfo HighestNightlyRate="149.24" AverageNightlyRate="163.84" RateKey="bbgel5FDknBw==" ApproxTotalPrice="819.19" AverageNightlyRateBeforeTax="138.32" EndDate="2023-12-06" StartDate="2023-12-01" CurrencyCode="USD" AmountAfterTax="819.19" AdditionalFeesInclusive="false" AmountBeforeTax="691.60" RateSource="110" TaxInclusive="true"/>
Note:

In the Response

Optional

Parameter: RateUnavailability

Type: object

Description: Contains additional information returned when a rate is not retrieved from the source for any reason.

Sample Value:

<RateUnavailability>
    <RateSource Source="100" Reason="Hotel unavailable on requested dates" DisplayMessage="Hotel sold out"/>
</RateUnavailability>
Note: `RateUnavailability` is currently only populated for GDS rates. Each `RateSource` always retrieves the `Source` and `Reason`, however the `DisplayMessage` may or may not be returned. More sources will be enhanced to return this information in a later release.

In the Response

Optional

Parameter: Adults / Children

Type: integer

Description: The number of adults/children considered in the request when fetching availability.

Sample Value:

<Room RoomIndex="1" RoomTypeCode="3" RoomType="Suites" RoomCategory="String" RoomID="String" Floor="0" RoomViewCode="6" RoomViewDescription="Harbor View" NonSmoking="true" SharedRoomInd="true" AccessibleRoom="true" RoomSize="800 sq ft" NumberOfBedRooms="0" Adults="2" Children="0"/>
Note: These parameters only inform about the number of adults or children used when checking availability with the supplier. It does not mean that the room can accommodate the given number of adults or children.

In the Response

Optional

Parameter: RateRanges

Type: object

Description: Setting `BestOnly` to `4` returns an additional object in the response. It retrieves the range of rates (from minimum to maximum) available at the property in addition to the lowest rate.

Sample Value:

<RateRanges>
    <RateRange MinRate="0" MaxRate="1000" CurrencyCode="USD" ConvertedMinRate="0" ConvertedMaxRate="81000" ConvertedCurrencyCode="INR" RateSource="100"/>
</RateRanges>
Note: This feature is only available for GDS rates (`RateSource` set to `100`).

Functional Updates And Enhancements

In the Request

Optional

Parameter: BestOnly

Type: integer

Description: Removed enum to allow for more bestOnly options in the future.

Sample Value:

BestOnly="3"

In the Request/Response

Optional

Parameter: RatePlanType

Type: OTA code

Description: Removed enum from RatePlanType to allow for new types to be used in Sabre APIs. Ensure that your integration expects and displays the RatePlanTypeDescription (once populated) to be able to display the correct type for new rates as we move forward.

Sample Value:

RatePlanType="13"

In the Response

Optional

Parameter: TierLabels

Type: element

Description: Increased max occurrence of TierLabel from 5 to unbounded.

Sample Value:

<TierLabels>
<TierLabel Type="Agency" Value="GOLD" ProgramId="23"/>
<TierLabel Type="Supplier" Value="PREMIUM" ProgramId="2"/>
</TierLabels>

  • Return a list of all available negotiated or contractual rates for a property.
  • Return rates from all sources without taxes or fees, which allows 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, which eliminates the need for customers to translate them.

API Information

Format
XML
Current Version
4.0.0
Environment
Production

What's New

  • Return a list of all available negotiated or contractual rates for a property.
  • Return rates from all sources without taxes or fees, which allows 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, which eliminates the need for customers to translate them.

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, which allows 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"/>

In the Request

Optional

Parameter: OtherAvailableRatePlans

Type: boolean

Description: Allows customers to see a list of all available negotiated or contractual rates at the property even if the rates are not the lowest and thus not returned in the response.

Sample Value:

<RatePlanCandidates OtherAvailableRatePlans="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"/>
<MealsIncluded Breakfast="true" Lunch="true" Dinner="true" MealPlanIndicator="true" MealPlanCode="1" GuestCount="3" MealPlanDescription="All Inclusive"/>
<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">VISA</PaymentCard>
          <PaymentCard CardCode="MC">MASTER CARD</PaymentCard>
      </PaymentCards>
</GuaranteeAccepted>

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>
<DepositPolicy>
<Deadline AbsoluteDeadline="202-10-12T18:00:00"/>
<AmountPercent NmbrOfNights="1" Amount="176.48"/>
</DepositPolicy>
<DepositPolicy>
<Deadline AbsoluteDeadline="202-10-18T18:00:00"/>
<AmountPercent NmbrOfNights="1" Amount="176.48"/>
</DepositPolicy>
</DepositPolicies>

In the Response

Optional

Parameter: AvailableRatePlans

Type: element

Description: The AvailableRatePlans element will return a list of all available negotiated or contractual rates available at a property even if the rates are not the lowest and thus not returned in the response.

Sample Value:

<AvailableRatePlans>
<AvailableRatePlan RatePlanCode="IBM" RatePlanType="10" ClientId="S93" RateSource="100"/>
<AvailableRatePlan RatePlanCode="AMX" RatePlanType="22" RateSource="100"/>
</AvailableRatePlans>

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</RateSource>

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:

<HotelInfo HotelCode="100095296" CodeContext="GLOBAL" SabreHotelCode="49504" ChainCode="IQ"/>

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 rateplan 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 has been changed to make it developer friendly. Refer to the design xml 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