# Configuring and Retrieving Pricing Types

Booking.com recommends using a single pricing type for all room-rates within a property.

Certification required for OBP and LOS pricing types
Before using Occupancy-Based Pricing (OBP) or Length of Stay (LOS) pricing types, you must meet technical requirements and obtain certification from Booking.com. Contact the [Connectivity Support team](https://connectivity.booking.com/s/article/Contact-Us?language=en_US) for certification details.

## Setting a pricing type

### 1. Property level

Set the pricing type for the entire property using either option:

**Option A: API**
Use the [`OTA_HotelDescriptiveContentNotif` endpoint](/connectivity/docs/ota-hoteldescriptivecontentnotif#full-xml-example) with the `<PricingType>` element.

Supported values:

- `Standard` (default)
- `OBP`
- `LOS`


**Option B: Provider Portal**
Use the Booking.com [pricing model tool](https://connect.booking.com/pricing-type-switching).

### 2. Room-rate level

Set pricing type for individual room-rates using the [`OTA_HotelProductNotif` endpoint](/connectivity/docs/room-type-and-rate-plan-management/managing-roomrates/#updating-a-roomrate) with the `<PricingType>` element.

Supported values:

- `Standard`
- `OBP`
- `LOS`


Caution when changing pricing types
Changing a property's pricing type after creating room-rates and setting availability/rates may cause unintentional pricing changes or inventory removal. Review your availability immediately after making changes.

### RLO pricing type (exception)

`RLO` pricing type **cannot** be set at the property level—only at the room-rate level.

To set a room-rate to `RLO`, use either method:

- Specify the `MaxOccupancy` attribute via the [`OTA_HotelProductNotif` endpoint](/connectivity/docs/room-type-and-rate-plan-management/managing-roomrates/#updating-a-roomrate)
- Create pricing offsets via the [`derivedprices` endpoint](/connectivity/docs/b_xml-derivedprices)


### Example: Setting property pricing type

The following example updates a property to `Standard` pricing type. Use `Overlay` mode and include existing property details to prevent data loss.


```xml
<?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 types

### Property level

Use the [`GET OTA_HotelDescriptiveInfo` endpoint](/connectivity/docs/tsk-retrieve-property).

**Note:** Enable the *Include hotel pricing model* (`include_hotel_pricing_model`) feature in the Provider Portal to view pricing type information.

### Room-rate level

Use the [`GET roomrates` endpoint](/connectivity/docs/room-type-and-rate-plan-management/managing-roomrates/#retrieving-active-roomrates) to view pricing types for each room-rate.

Supported values:

- Standard
- RLO
- OBP
- LOS


### Example: Retrieving room-rate pricing types

The following response shows a property with two room-rates using different pricing types.


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