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.

Choosing a pricing type need certification from Booking.com

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

Exercise caution before changing the pricing type

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:

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] -->