Configuring and retrieving pricing types
Booking.com recommends that you set pricing type at the property-level. You can retrieve pricing details at the property or roomrate level.
All pricing types need certification prior to implementing them. In addition, before you can use Occupancy-Based Pricing (OBP) or Length Of Stay (LOS) pricing type, you must meet certain technical requirements to get certified by Booking.com. For more information on how to get certified before proceeding to use these pricing types, contact the Connectivity Support team.
Specifying a pricing type
You can specify a pricing type at the property-level while creating or updating property details using Booking.com's Provider portal or the OTA_HotelDescriptiveContentNotif
endpoint.
Using the OTA_HotelDescriptiveContentNotif
endpoint, you can set the following pricing types:
- Standard
- OBP
- LOS
Changing a property's pricing type after creating roomrates and availability/rates can result in unintentional pricing changes to your existing inventory. Make sure to review your availability immediately after the change.
Default pricing type assignment
If you do not specify a pricing type when creating or updating a property using the OTA_HotelDescriptiveContentNotif
endpoint, by default, the API assigns the Standard
pricing type.
In case, you are certified to use Length-of-stay (LOS) pricing type, then LOS
is assigned as the property's default pricing type.
When creating roomrates, the OTA_HotelProductNotif
endpoint assigns the property's pricing type to the roomrate. Except for RLO
pricing type, which is a subset of Standard
pricing type, changing a property's pricing type also changes the pricing type across all existing roomrates.
Specifying RLO pricing type
As an exception, you cannot set RLO
pricing type at the property level. You can only change the existing pricing type of a roomrate to RLO
.
To change the roomrate's pricing type to RLO
, you can either:
- Specify a value for the
MaxOccupancy
attribute using theOTA_HotelProductNotif
endpoint. - Create pricing offsets using the
derivedprices
endpoint.
Request body example
The following example updates a property's pricing type to standard
pricing type. Make sure to specify the existing property details while calling the endpoint using the Overlay
mode to avoid losing existing property details.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelDescriptiveContentNotifRQ Target="Test"> <HotelDescriptiveContents> <HotelDescriptiveContent HotelName="HillTop Hotel" LanguageCode="en-gb" HotelCode="8011855" HotelDescriptiveContentNotifType="Overlay"> <HotelInfo> <CategoryCodes> <GuestRoomInfo Quantity="10"/> <HotelCategory ExistsCode="1" Code="20"/> </CategoryCodes> <Position Longitude="4.9099" Latitude="52.3653"/> <!-- Existing service details --> </HotelInfo> <FacilityInfo> <!-- Existing room amenities, restaurant service details --> </FacilityInfo> <AreaInfo/> <Policies> <!-- Existing cancellation policy definitions --> <TaxPolicies> <TaxPolicy Code="3" Percent="350" DecimalPlaces="2" Type="Exclusive"/> <TaxPolicy Code="36" Percent="1800" DecimalPlaces="2" Type="Inclusive"/> </TaxPolicies> <FeePolicies> <!-- Existing fee policy definitions --> </FeePolicies> </Policies> <AffiliationInfo> <Awards> <Award Rating="3"/> </Awards> </AffiliationInfo> <ContactInfos> <!-- Existing contact information include physical location, contact person details and contact for invoices --> </ContactInfos> <TPA_Extensions> <PricingType Value="Standard"/> </TPA_Extensions> </HotelDescriptiveContent> </HotelDescriptiveContents> </OTA_HotelDescriptiveContentNotifRQ>
Retrieving pricing type
You can retrieve pricing type information at both the property and roomrate level.
Property level
To view pricing type information at the property level, use the GET OTA_HotelDescriptiveInfo
endpoint.
Note that you must enable the feature: Include hotel pricing model (include_hotel_pricing_model
) using the Provider portal to see the pricing type information.
Roomrate level
To view the pricing type for each roomrate, use the GET roomrates
endpoint.
Note that you must enable the feature: Include products extra info (include_extra_info_room_rates
) using the Provider portal to see the pricing type information.
Supported values are:
Response body example
The following response example shows a property's room with two roomrates defined, each employing different pricing types.
<rooms> <room id="801185506" hotel_id="8011855" hotel_name="HillTop Hotel" max_children="4" room_name="Three-Bedroom Chalet"> <rates> <rate id="25279855" fixed_occupancy="5" max_persons="7" policy="Special Conditions 2" policy_id="342546377" rate_name="summer time rates"> <meal_plan meal_plan_code="19"/> <policies> <booking_rules/> <cancel_policy> <cancel_penalty policy_code="62"/> </cancel_policy> <guarantee_payment_policy> <guarantee_payment policy_code="168" effective_from="after_reservation_is_made" required="1"/> </guarantee_payment_policy> </policies> <pricing type="RLO"/> </rate> <rate id="31282145" max_persons="7" policy="Special Conditions 2" policy_id="342546377" rate_name="christmas rates"> <meal_plan meal_plan_code="19"/> <policies> <booking_rules/> <cancel_policy> <cancel_penalty policy_code="62"/> </cancel_policy> <guarantee_payment_policy> <guarantee_payment policy_code="168" effective_from="after_reservation_is_made" required="1"/> </guarantee_payment_policy> </policies> <pricing type="Standard" price1="1"/> </rate> </rates> </room> </rooms> <!-- RUID: [UmFuZG9tSVYkc2RlIyh9YbQ+LfjWyRjKvV4zKtciots9/yaedSBcVSPrx8DkL3z7hAT5M2QjSsXRpgYGPa5YPjPiH9/MdPsE] -->