Modify a property's policies

Besides creating a property, you can also use the /ota/OTA_HotelDescriptiveContentNotif endpoint to add or modify policies for your property.

In the case of fee policies, you can add them both on the property level and room level. For more information, see fee policy.

Before you start

Overlay

Content API uses an overlay system. Every time you update an existing property, room type, or other object, the body of your request replaces whatever information was stored in our servers at that time. This means existing information may be deleted if you don't include it in your request.

To update an object without deleting information, make sure your request contains both the fields you want to update and those you want to keep the same. Copy/paste sample requests from this page at your own risk.

You need:

Request

HTTP request

https://supply-xml.booking.com/hotels/ota/OTA_HotelDescriptiveContentNotif

Request body

Example:

<!-- WARNING: This request overlays existing objects. Copy/pasting may lead to loss of information. -->
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelDescriptiveContentNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" PrimaryLangID="en-us"
  EchoToken="GUID"
  TimeStamp="2015-06-09T09:30:47Z" xsi:schemaLocation="http://www.opentravel.org/2014B/OTA_HotelDescriptiveContentNotifRQ.xsd"
  id="OTA2014B"
  Version="8.0"
  Target="Production">
  <HotelDescriptiveContents>
    <HotelDescriptiveContent
      HotelCode="{PropertyID}"
      LanguageCode="en"
      HotelDescriptiveContentNotifType="Overlay" >
      <Policies>
        <Policy>
          <PolicyInfo CheckInTime="13:00" CheckOutTime="12:00" UsualStayFreeCutoffAge="12" UsualStayFreeChildPerAdult="1" AcceptedGuestType="ChildrenAllowed" MinGuestAge="0"/>
          <PetsPolicies PetsAllowedCode="Pets By Arrangements">
            <PetsPolicy NonRefundableFee="free" />
          </PetsPolicies>
          <CancelPolicy>
            <CancelPenalty PolicyCode="43" />
            <CancelPenalty PolicyCode="1" />
            <CancelPenalty PolicyCode="116" />
          </CancelPolicy>
          <GuaranteePaymentPolicy>
            <GuaranteePayment PolicyCode="43" />
            <GuaranteePayment PolicyCode="1" />
            <GuaranteePayment PolicyCode="116" />
          </GuaranteePaymentPolicy>
          <TaxPolicies>
            <TaxPolicy Code="36" Percent="1800" DecimalPlaces="2" Type="Inclusive" ChargeFrequency="12" />
            <TaxPolicy Code="3" Percent="350" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="21" />
          </TaxPolicies>
          <FeePolicies>
            <FeePolicy Code="5012" Amount="1600" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="12" />
            <FeePolicy Code="5013" Amount="1800" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="12" />
            <FeePolicy Code="5035" Amount="10000" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="5001" >
              <TPA_Extensions>
                <InternetFeePolicy InternetType="wired" InternetCoverage="public_areas" />
              </TPA_Extensions>
            </FeePolicy>
            <FeePolicy Code="5036" Amount="10000" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="2" >
              <TPA_Extensions>
                <ParkingFeePolicy ParkingType="location_nearby" ParkingReservation="needed" ParkingProperty="private"/>
              </TPA_Extensions>
            </FeePolicy>
          </FeePolicies>
        </Policy>
      </Policies>
    </HotelDescriptiveContent>
  </HotelDescriptiveContents>
</OTA_HotelDescriptiveContentNotifRQ>

Response

The response contains an OTA_HotelDescriptiveContentNotifRS object:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelDescriptiveContentNotifRS 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_HotelDescriptiveContentNotifRS.xsd" TimeStamp="2015-07-31T12:36:23-00:00" Target="Production" Version="3.000">
<Success />
</OTA_HotelDescriptiveContentNotifRS>
<!-- RUID: [UmFuZG9tetc] -->

Known issues

Updating policies

To update any part of policies we recommend that you always send complete information (both the fields you want to update and those you want to keep the same) between <Policy> and </Policy>.

Removing entries from FeePolicies when only Internet fee (5035) and Parking fee (5036) will remain

There is a special case where FeePolicy fields will not be removed from the database when the only remaining FeePolicy entries are Internet fee (5035) and Parking fee (5036). Let's use the example below. This is an excerpt and not a valid XML document.

<Policies>
  <Policy>
    <PetsPolicies PetsAllowedCode="Pets By Arrangements">
      <PetsPolicy NonRefundableFee="charges_may_apply" />
    </PetsPolicies>
    <FeePolicies>
      <FeePolicy Code="5009" Amount="1800" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="12" />
      <FeePolicy Code="5035" Amount="10000" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="1" >
        <TPA_Extensions>
          <InternetFeePolicy InternetType="wired" InternetCoverage="public_areas" />
        </TPA_Extensions>
      </FeePolicy>
      <FeePolicy Code="5036" Amount="10000" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="2" >
        <TPA_Extensions>
          <ParkingFeePolicy ParkingType="location_nearby" ParkingReservation="needed" ParkingProperty="private"/>
        </TPA_Extensions>
      </FeePolicy>
    </FeePolicies>
  </Policy>
</Policies>

If you would like to remove Cleaning fee (5009) from the example above you will need to set it's amount value to 0, like in the example below.

<Policies>
  <Policy>
    <PetsPolicies PetsAllowedCode="Pets By Arrangements">
      <PetsPolicy NonRefundableFee="charges_may_apply" />
    </PetsPolicies>
    <FeePolicies>
      <!-- Removing this FeePolicy using Amount="0" -->
      <FeePolicy Code="5009" Amount="0" Type="Exclusive" />
      <FeePolicy Code="5035" Amount="10000" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="1" >
        <TPA_Extensions>
          <InternetFeePolicy InternetType="wired" InternetCoverage="public_areas" />
        </TPA_Extensions>
      </FeePolicy>
      <FeePolicy Code="5036" Amount="10000" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="2" >
        <TPA_Extensions>
          <ParkingFeePolicy ParkingType="location_nearby" ParkingReservation="needed" ParkingProperty="private"/>
        </TPA_Extensions>
      </FeePolicy>
    </FeePolicies>
  </Policy>
</Policies>

Next steps