Last updated

Managing rate plans

Rate plans are labels or categories used to organize prices for a property.

What is a rate plan?

A rate plan is simply a name you use to organize prices. To add conditions such as a cancellation policy, prepayment policy, and meal plan, you must create a roomrate.

→ To learn more about rate plans, conditions, and roomrates, see basic definitions.

What falls under managing rate plans?

Managing rate plans involves the following actions:

Create a rate plan

Use the OTA_HotelRatePlanNotif endpoint to create a rate plan for your property.

Endpoint

POST https://supply-xml.booking.com/hotels/ota/OTA_HotelRatePlanNotif

Request

Headers

HeaderDescriptionTypeRequiredNotes
Accept-VersionSpecify the version number to get the API functionality specific to that version.stringRequiredSupports the following values:
- 1.1: Current version (default)
Content-TypeRequest content typestringRequiredMust be application/xml

Body parameters

ElementAttributeDescriptionTypeRequiredNotes
OTA_HotelRatePlanNotifRQContains the RatePlans arrayobjectRequired
> RatePlansContains the RatePlan objectsarrayRequired
HotelCodeSpecifies the unique ID of the property you create rate plans forintegerRequired
>> RatePlanContains a Description object, which contains the name of the rate planobjectRequired
RatePlanNotifTypeSpecifies the purpose of the requestenumRequiredPossible values: New, Overlay, Activate, Remove. Use New to create a rate plan
RatePlanIDSpecifies the rate plan ID you use in your systemstringOptional
>>> DescriptionContains the rate plan nameobjectRequired
NameSpecifies the name of the rate planstringRequired

Request body example

<OTA_HotelRatePlanNotifRQ>
  <RatePlans HotelCode="6314570" >
    <RatePlan RatePlanNotifType="New" RatePlanID="123456">
      <Description Name="Summer Rate"/>
    </RatePlan>
  </RatePlans>
</OTA_HotelRatePlanNotifRQ>

Response

Response body example - Success

<?xml version='1.0' encoding='UTF-8'?>
<OTA_HotelRatePlanNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                          xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRateAmountNotifRS.xsd"
                          Version="3.000">
  <RatePlanCrossRefs>
    <RatePlanCrossRef RequestRatePlanCode="123456" ResponseRatePlanCode="19617122"/>
  </RatePlanCrossRefs>
  <Success/>
</OTA_HotelRatePlanNotifRS>

<!-- RUID: [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] -->

Error response (HTTP 400)

<OTA_HotelRatePlanNotifRS>
    <Errors>
        <Error Code="497" ShortText="Access denied while trying to update rate" Details="hotel_ids: 15007123; rate_ids: 51727020"/>
    </Errors>
</OTA_HotelRatePlanNotifRS>
<!-- RUID: [UmFuZG9tSVYkc2RlIyh9YWVEetwbMG/FMpzy/QM5cwDyRiLnoKEGBZ3Rcslghlzsoierhgvs3efsve] -->
Rate plan limits
  • v1.1: Maximum 200 active rate plans per property

Response body parameters

ElementAttributeDescriptionTypeNotes
OTA_HotelRatePlanNotifRSContains the response dataobject
> RatePlanCrossRefsContains the RatePlanCrossRef objectsarray
>> RatePlanCrossRefContains the mapping details in terms of your rate plan ID and Booking.com rate plan IDobject
RequestRatePlanCodeSpecifies your rate plan IDstringOnly present if you specified RatePlanID in the request
ResponseRatePlanCodeSpecifies the unique Booking.com ID of the created rate planinteger
> successIndicates the success of the requestobject
> WarningsGroups a list of individual warnings.object-
>> WarningList details of individual warnings.objectWarnings can occur even if the response contains Success.
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the warning occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the warning.
ShortTextWarning message.string-
> ErrorsGroups a list of individual errors.object-
>> ErrorList details of individual errors.object-
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the error occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the error.
ShortTextError message.string-

Update a rate plan

Use the OTA_HotelRatePlanNotif endpoint to update (rename) a rate plan for your property.

Endpoint

POST https://supply-xml.booking.com/hotels/ota/OTA_HotelRatePlanNotif

Request

Headers

HeaderDescriptionTypeRequiredNotes
Accept-VersionSpecify the version number to get the API functionality specific to that version.stringRequiredSupports the following values:
- 1.1: Current version (default)
Content-TypeRequest content typestringRequiredMust be application/xml

Body parameters

ElementAttributeDescriptionTypeRequiredNotes
OTA_HotelRatePlanNotifRQContains the RatePlans arrayobjectRequired
> RatePlansContains the RatePlan objectsarrayRequired
HotelCodeSpecifies the unique ID of the property you update rate plans forintegerRequired
>> RatePlanContains a Description object, which contains the name of the rate planobjectRequired
RatePlanNotifTypeSpecifies the purpose of the requestenumRequiredPossible values: New, Overlay, Activate, Remove. Use Overlay to update a rate plan
RatePlanCodeSpecifies the unique Booking.com ID of the rate plan you want to updateintegerRequired
RatePlanIDSpecifies the rate plan ID you use in your systemstringOptional
>>> DescriptionContains the rate plan nameobjectRequired
NameSpecifies the name of the rate planstringRequired
Retrieving rate plan IDs

To retrieve rate plans and their RatePlanCode, see retrieving rate plans.

Request body example

<OTA_HotelRatePlanNotifRQ>
  <RatePlans HotelCode="6314570" >
    <RatePlan RatePlanNotifType="Overlay" RatePlanCode="19617122" RatePlanID="123456">
      <Description Name="Summer non-refundable Rate"/>
    </RatePlan>
  </RatePlans>
</OTA_HotelRatePlanNotifRQ>

Response

Response body example

<?xml version='1.0' encoding='UTF-8'?>
<OTA_HotelRatePlanNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                          xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRateAmountNotifRS.xsd"
                          Version="3.000">
  <RatePlanCrossRefs>
    <RatePlanCrossRef RequestRatePlanCode="123456" ResponseRatePlanCode="19617122"/>
  </RatePlanCrossRefs>
  <Success/>
</OTA_HotelRatePlanNotifRS>

<!-- RUID: [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] -->

Response body parameters

ElementAttributeDescriptionTypeNotes
OTA_HotelRatePlanNotifRSContains the response dataobject
> successIndicates the success of the requestobject
> WarningsGroups a list of individual warnings.object-
>> WarningList details of individual warnings.objectWarnings can occur even if the response contains Success.
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the warning occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the warning.
ShortTextWarning message.string-
> ErrorsGroups a list of individual errors.object-
>> ErrorList details of individual errors.object-
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the error occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the error.
ShortTextError message.string-

Deactivate a rate plan

Use the OTA_HotelRatePlanNotif endpoint to deactivate an active rate plan.

Endpoint

POST https://supply-xml.booking.com/hotels/ota/OTA_HotelRatePlanNotif
Deactivating causes roomrates to be deactivated

If you deactivate a rate plan, all room-rates (products) you have created for a property with this rate plan become deactivated as well. This also means any inventory is removed.

If you decide to activate a deactivated rate plan, you must both create roomrates and push inventory (availability) again.

Request

Headers

HeaderDescriptionTypeRequiredNotes
Accept-VersionSpecify the version number to get the API functionality specific to that version.stringRequiredSupports the following values:
- 1.1: Current version (default)
Content-TypeRequest content typestringRequiredMust be application/xml

Body parameters

ElementAttributeDescriptionTypeRequiredNotes
OTA_HotelRatePlanNotifRQContains the RatePlans arrayobjectRequired
> RatePlansContains the RatePlan objectsarrayRequired
HotelCodeSpecifies the unique ID of the propertyintegerRequired
>> RatePlanContains a Description object, which contains the name of the rate planobjectRequired
RatePlanNotifTypeSpecifies the purpose of the requestenumRequiredPossible values: New, Overlay, Activate, Remove. Use Remove to deactivate a rate plan
RatePlanCodeSpecifies the Booking.com ID of the rate plan you want to deactivateintegerRequired
RatePlanIDSpecifies the rate plan ID you use in your systemstringOptional
>>> DescriptionContains the rate plan nameobjectRequired
NameSpecifies the name of the rate planstringRequired

Request body example

<OTA_HotelRatePlanNotifRQ>
  <RatePlans HotelCode="123456" >
    <RatePlan RatePlanNotifType="Remove" RatePlanCode="12345601" />
  </RatePlans>
</OTA_HotelRatePlanNotifRQ>

Response

Response body example

<?xml version='1.0' encoding='UTF-8'?>
<OTA_HotelRatePlanNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                          xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRateAmountNotifRS.xsd">
    <Success/>
</OTA_HotelRatePlanNotifRS>
<!-- RUID: [XXXXXXXXXXXXXXXXXXXXXXXXXXXXX] -->

Response body parameters

ElementAttributeDescriptionTypeNotes
OTA_HotelRatePlanNotifRSContains the response dataobject
> successIndicates the success of the requestobject
> WarningsGroups a list of individual warnings.object-
>> WarningList details of individual warnings.objectWarnings can occur even if the response contains Success.
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the warning occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the warning.
ShortTextWarning message.string-
> ErrorsGroups a list of individual errors.object-
>> ErrorList details of individual errors.object-
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the error occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the error.
ShortTextError message.string-

Activate a rate plan

Use the OTA_HotelRatePlanNotif endpoint to reactivate a previously deactivated rate plan.

Endpoint

POST https://supply-xml.booking.com/hotels/ota/OTA_HotelRatePlanNotif

Request

Headers

HeaderDescriptionTypeRequiredNotes
Accept-VersionSpecify the version number to get the API functionality specific to that version.stringRequiredSupports the following values:
- 1.1: Current version (default)
Content-TypeRequest content typestringRequiredMust be application/xml

Body parameters

ElementAttributeDescriptionTypeRequiredNotes
OTA_HotelRatePlanNotifRQContains the RatePlans arrayobjectRequired
> RatePlansContains the RatePlan objectsarrayRequired
HotelCodeSpecifies the unique ID of the property you create rate plans forintegerRequired
>> RatePlanContains a Description object, which contains the name of the rate planobjectRequired
RatePlanNotifTypeSpecifies the purpose of the requestenumRequiredPossible values: New, Overlay, Activate, Remove. Use Activate to activate a rate plan
RatePlanCodeSpecifies the Booking.com ID of the rate plan you want to activateintegerRequired
RatePlanIDSpecifies the rate plan ID you use in your systemstringOptional
>>> DescriptionContains the rate plan nameobjectRequired
NameSpecifies the name of the rate planstringRequired

Request body example

<OTA_HotelRatePlanNotifR>
  <RatePlans HotelCode="123456" >
    <RatePlan RatePlanNotifType="Activate" RatePlanCode="12345601" />
  </RatePlans>
</OTA_HotelRatePlanNotifRQ>

Response

Response body example

<?xml version='1.0' encoding='UTF-8'?>
<OTA_HotelRatePlanNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                          xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRateAmountNotifRS.xsd">
    <Success/>
</OTA_HotelRatePlanNotifRS>
        <!-- RUID: [XXXXXXXXXXXXXXXXXXXXXXXXXXXXX] -->

Response body parameters

ElementAttributeDescriptionTypeNotes
OTA_HotelRatePlanNotifRSContains the response dataobject
> successIndicates the success of the requestobject
> WarningsGroups a list of individual warnings.object-
>> WarningList details of individual warnings.objectWarnings can occur even if the response contains Success.
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the warning occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the warning.
ShortTextWarning message.string-
> ErrorsGroups a list of individual errors.object-
>> ErrorList details of individual errors.object-
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the error occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the error.
ShortTextError message.string-

Create a rate relation

Use the OTA_HotelRatePlanNotif endpoint to create a rate relation (or derived rate plan). This allows you to create a new (child) rate plan and specify what aspects it should follow from an existing (parent) rate plan.

What is a rate relation?

You can use a rate relation (or derived rate plan) if you want to automatically base the price, restrictions, or status of another rate plan. To create a rate relation:

  • Provide the ID of the parent rate plan
  • Indicate whether it follows the price to which the parent rate plan is connected
  • Specify the percentage (discount or surplus) in relation to the price connected to the parent rate plan: For example, 80 refers to a 20% discount, while 120 refers to a 20% surplus
  • Indicate whether and in what scenario it follows the status (active or deactivated) of the parent rate plan
  • Indicate whether it follows the cancellation policy of the roomrate to which the parent rate plan is connected
  • Indicate whether it follows the restrictions of the roomrate to which the parent rate plan is connected

Endpoint

POST https://supply-xml.booking.com/hotels/ota/OTA_HotelRatePlanNotif

Request

Headers

HeaderDescriptionTypeRequiredNotes
Accept-VersionSpecify the version number to get the API functionality specific to that version.stringRequiredSupports the following values:
- 1.1: Current version (default)
Content-TypeRequest content typestringRequiredMust be application/xml

Body parameters

ElementAttributeDescriptionTypeRequiredNotes
OTA_HotelRatePlanNotifRQContains the RatePlans arrayobjectRequired
> RatePlansContains the RatePlan objectsarrayRequired
HotelCodeSpecifies the unique ID of the property you create rate plans forintegerRequired
>> RatePlanContains a Description object, which contains the name of the rate planobjectRequired
RatePlanNotifTypeSpecifies the purpose of the requestenumRequiredPossible values: New, Overlay, Activate, Remove. Use New to create a rate relation
RatePlanIDSpecifies the rate plan ID you use in your systemstringOptional
>>> DescriptionContains the rate plan nameobjectRequired
NameSpecifies the name of the rate planstringRequired
>>> RateRelationContains the details about the new rate relationobjectOptional
ParentRateIdSpecifies the Booking.com ID of the parent rate planintegerRequired
PercentageSpecifies the percentage in relation to the price connected to the parent rate planintegerOptionalMinimum: 1. Maximum: 200.
For example, 80 = 20% discount, 120 = 20% surplus
FollowsPriceIndicates whether the rate relation follows the price of the parent rate planbooleanOptionalPossible values: 0, 1. Default: 1
FollowsRestrictionsIndicates whether the rate relation follows the restrictions of the parent rate planbooleanOptionalPossible values: 0, 1. Default: 1
FollowsPolicyGroupIndicates whether the rate relation follows the policies of the parent rate planbooleanOptionalPossible values: 0, 1. Default: 1
FollowsClosedIndicates how the rate relation follows the status (active or deactivated) of the parent rate planenumOptionalPossible values:
- 0: Never follows parent rate plan status
- 1: Follows parent status when parent rate plan is open
- 2: Follows parent status when parent rate plan is closed
- 3: Always follows parent rate plan status
Default: 3

Request body example

<OTA_HotelRatePlanNotifRQ>
  <RatePlans HotelCode="12345">
    <RatePlan RatePlanNotifType="New">
      <Description Name="Basic rate 2 guests"/>
      <RateRelation ParentRateId="54321"
                    Percentage="90"
                    FollowsPrice="1"
                    FollowsRestrictions="1"
                    FollowsPolicyGroup="1"
                    FollowsClosed="1">
      </RateRelation>
    </RatePlan>
  </RatePlans>
</OTA_HotelRatePlanNotifRQ>

Response

Response body example

<?xml version='1.0' encoding='UTF-8'?>
<OTA_HotelRatePlanNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                          xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRateAmountNotifRS.xsd"
                          Version="3.000">
   <RatePlanCrossRefs>
      <RatePlanCrossRef RequestRatePlanCode="123490" ResponseRatePlanCode="19617133"/>
   </RatePlanCrossRefs>
   <Success/>
</OTA_HotelRatePlanNotifRS>

<!-- RUID: [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] -->

Response body parameters

ElementAttributeDescriptionTypeNotes
OTA_HotelRatePlanNotifRSContains the response dataobject
> RatePlanCrossRefsContains the RatePlanCrossRef objectsarray
>> RatePlanCrossRefContains the mapping details in terms of your rate plan ID and Booking.com rate plan IDobject
RequestRatePlanCodeSpecifies your rate plan IDstringOnly present if you specified RatePlanID in the request
ResponseRatePlanCodeSpecifies the unique Booking.com ID of the created rate planinteger
> successIndicates the success of the requestobject
> WarningsGroups a list of individual warnings.object-
>> WarningList details of individual warnings.objectWarnings can occur even if the response contains Success.
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the warning occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the warning.
ShortTextWarning message.string-
> ErrorsGroups a list of individual errors.object-
>> ErrorList details of individual errors.object-
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the error occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the error.
ShortTextError message.string-

Update a rate relation

Use the OTA_HotelRatePlanNotif endpoint to update an existing rate relation.

Include all existing information

When updating a rate relation, it is very important to:

  • Set RatePlanNotifType to Overlay
  • Include the RatePlanCode, which is the Booking.com ID referring to an existing rate plan
  • Include all the other existing rate relation information and change only the elements you want to update
  • To remove the rate relation while keeping the rate plan, Provide an empty RateRelation object

→ To retrieve the relevant information of an existing rate relation, see retrieving roomrates.

Endpoint

POST https://supply-xml.booking.com/hotels/ota/OTA_HotelRatePlanNotif

Request

Headers

HeaderDescriptionTypeRequiredNotes
Accept-VersionSpecify the version number to get the API functionality specific to that version.stringRequiredSupports the following values:
- 1.1: Current version (default)
Content-TypeRequest content typestringRequiredMust be application/xml

Body parameters

ElementAttributeDescriptionTypeRequiredNotes
OTA_HotelRatePlanNotifRQContains the RatePlans arrayobjectRequired
> RatePlansContains the RatePlan objectsarrayRequired
HotelCodeSpecifies the unique ID of the property you create rate plans forintegerRequired
>> RatePlanContains a Description object, which contains the name of the rate planobjectRequired
RatePlanNotifTypeSpecifies the purpose of the requestenumRequiredPossible values: New, Overlay, Activate, Remove. Use Overlay to update a rate relation
RatePlanCodeSpecifies the unique ID of the rate plan you want to updateintegerRequired
RatePlanIDSpecifies the rate plan ID you use in your systemstringOptional
>>> DescriptionContains the rate plan nameobjectRequired
NameSpecifies the name of the rate planstringRequired
>>> RateRelationContains the details about the rate relationobjectOptional
ParentRateIdSpecifies the ID of the parent rate planintegerRequiredDefault: 1
PercentageSpecifies the percentage in relation to the price connected to the parent rate planintegerOptionalMinimum: 1. Maximum: 200.
For example, 80 = 20% discount, 120 = 20% surplus
FollowsPriceIndicates whether the rate relation follows the price of the parent rate planbooleanOptionalPossible values: 0, 1 (Follows parent). Default: 1
FollowsRestrictionsIndicates whether the rate relation follows the restrictions of the parent rate planbooleanOptionalPossible values: 0, 1 (Follows parent). Default: 1
FollowsPolicyGroupIndicates whether the rate relation follows the policies of the parent rate planbooleanOptionalPossible values: 0, 1 (Follows parent). Default: 1
FollowsClosedIndicates how the rate relation follows the status of the parent rate planintegerOptionalPossible values:
- 0: Never follows parent rate plan status
- 1: Follows parent status when parent rate plan is open
- 2: Follows parent status when parent rate plan is closed
- 3: Always follows parent rate plan status
Default: 3

Request body example

<OTA_HotelRatePlanNotifRQ>
  <RatePlans HotelCode="12345">
    <RatePlan RatePlanNotifType="Overlay" RatePlanCode="543216">
      <Description Name="Basic rate 2 guests"/>
      <RateRelation ParentRateId="54321"
                    Percentage="80"
                    FollowsPrice="1"
                    FollowsRestrictions="1"
                    FollowsPolicyGroup="1"
                    FollowsClosed="0">
      </RateRelation>
    </RatePlan>
  </RatePlans>
</OTA_HotelRatePlanNotifRQ>

Response

Response body example

<?xml version='1.0' encoding='UTF-8'?>
<OTA_HotelRatePlanNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                          xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRateAmountNotifRS.xsd">
    <Success/>
</OTA_HotelRatePlanNotifRS>
<!-- RUID: [XXXXXXXXXXXXXXXXXXXXXXXXXXXXX] -->

Response body parameters

ElementAttributeDescriptionTypeNotes
OTA_HotelRatePlanNotifRSContains the response dataobject
> RatePlanCrossRefsContains the RatePlanCrossRef objectsarray
>> RatePlanCrossRefContains the mapping details in terms of your rate plan ID and Booking.com rate plan IDobject
RequestRatePlanCodeSpecifies your rate plan IDstringOnly present if you specified RatePlanID in the request
ResponseRatePlanCodeSpecifies the unique Booking.com ID of the created rate planinteger
> successIndicates the success of the requestobject
> WarningsGroups a list of individual warnings.object-
>> WarningList details of individual warnings.objectWarnings can occur even if the response contains Success.
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the warning occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the warning.
ShortTextWarning message.string-
> ErrorsGroups a list of individual errors.object-
>> ErrorList details of individual errors.object-
CodeOTA EWT code.stringSee Error code table.
DetailsContains additional context about where the error occurred.stringMay include identifiers such as hotel_id, room_id, rate_id, or date to help identify the specific data that caused the error.
ShortTextError message.string-

Retrieve rate plans

Use the POST /xml/rates endpoint to retrieve rate plans of a property.

Endpoint

POST https://supply-xml.booking.com/hotels/xml/rates

Request

Headers

HeaderDescriptionTypeRequiredNotes
Accept-VersionSpecify the version number to get the API functionality specific to that version.stringRequiredSupports the following values:
- 1.1: Current version (default)
Content-TypeRequest content typestringRequiredMust be application/xml

Body parameters

ElementDescriptionTypeRequiredNotes
requestContains the request informationobjectRequired
> hotel_idSpecifies the unique ID of the property you want to retrieve the rate plans forintegerRequired
> show_rates_statusSpecifies the code for the status of the rate plans you want to retrieveintegerOptionalPossible values:
- 1: All rate plans with active attribute
- 3: All active rate plans with active attribute set to active
- 6: All deactivated rate plans with active attribute set to deactivated

Request body example

<request>
   <hotel_id>6314570</hotel_id>
   <show_rates_status>1</show_rates_status>
</request>

Response

Response body example

<?xml version='1.0' encoding='UTF-8'?>
<rates>
    <rate id="18045111" active="1" hotel_id="6314570" hotel_name="The Tech W">Non-refundable rate</rate>
    <rate id="19454895" active="1" hotel_id="6314570" hotel_name="The Tech W">Fully flexible</rate>
    <rate id="20275653" active="0" hotel_id="6314570" hotel_name="The Tech W">Standard rate</rate>
    <rate id="20442599" active="0" hotel_id="6314570" hotel_name="The Tech W" is_child_rate="1">basic rate extended</rate>
</rates>
<!-- RUID: [XXXXXXXXXXXXXXXXXXXXXXXXXXX] -->

Response body parameters

ElementAttributeDescriptionTypeNotes
ratesContains the rate objectsobject
> rateContains the rate plan informationobject
idSpecifies the unique Booking.com ID of the rate planinteger
activeIndicates whether the rate plan is active or deactivatedbooleanPossible values: 1 (active), 0 (deactivated)
hotel_idSpecifies the unique ID of the property you retrieved the rate plans forinteger
hotel_nameSpecifies the name of the property you retrieved the rate plans forstring
is_child_rateSpecifies whether the rate plan has a rate relation with a parent rate planbooleanPossible value: 1 (Yes, rate plan is a child rate plan), 0 (Not a child rate plan)

Error codes

The following table lists the possible error codes you may encounter when managing rate plans:

Error CodeError MessageDescriptionResolution
321OTA_HotelRatePlanNotifRQ: missing RatePlans elementThe request is missing the required RatePlans elementEnsure your request includes the RatePlans element in the request body
321RatePlans: missing RatePlan element(s)The RatePlans element doesn't contain any RatePlan elementsAdd at least one RatePlan element within the RatePlans array
321RatePlanCode is mandatory when RatePlanNotifType is not set to 'New'The RatePlanCode is missing when updating, activating, or deactivating a rate planInclude the RatePlanCode attribute when RatePlanNotifType is set to Overlay, Activate, or Remove
497Access denied while trying to update rateYou don't have permission to update the specified rate planVerify your authentication credentials and ensure you have the necessary permissions for this property
562Limit 200 of number of Rates has reachedThe property has reached the maximum limit of 200 active rate plans (v1.1)Deactivate unused rate plans before creating new ones.
592Rate with the same name already existsA rate plan with the specified name already exists for this propertyUse a different name for the rate plan or update the existing rate plan instead
592Rate name invalidThe provided rate plan name doesn't meet the validation requirementsEnsure the rate plan name meets the required format and length constraints
592Rate business model invalidThe specified business model for the rate plan is not validVerify the business model configuration. For more information, see Managing business models
592Cannot modify rate business modelYou cannot change the business model of an existing rate planThe business model cannot be modified after creation. Create a new rate plan with the desired business model instead
592Cannot assign rate business model %s to rate plan %s having rate relationsYou cannot assign a business model to a rate plan that has rate relations (derived rate plans)Remove the rate relations before assigning a business model, or assign the business model to the parent rate plan
733RatePlanNotifType cannot be 'New' when RatePlanCode providedYou're trying to create a new rate plan but provided an existing RatePlanCodeRemove the RatePlanCode attribute when creating a new rate plan, or set RatePlanNotifType to Overlay to update an existing rate plan