Skip to content
Last updated

OTA_HotelDescriptiveContentNotifRQ/RS (2014B)

The purpose of this call is for the Connectivity Partner to build/modify information which is stored at the accommodation level on Booking.com.

Step 1: Request (RQ) sent with Accommodation-Level Build Data

TypeHTTP MethodMessage SenderMessage Receiver
RequestPOSTConnectivity PartnerBooking.com

Request — HTTP Header: Token-Based Authentication

Authentication for OTA calls requires the header parameter Authorization. For more information, see token-based authentication:

   Authorization: Bearer {JWT}

Request — HTTP Message Body Encoding

The XML message body must be encoded in the XML standard default encoding of UTF-8.

Request — HTTP Message Body Model

<?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 HotelName="Fake Hotel" ID="101010" LanguageCode="zh" BrandName="Ctrip" ChainName="Ctrip" HotelDescriptiveContentNotifType="New">
      <ContactInfos>
        <ContactInfo ContactProfileType="PhysicalLocation">
          <Addresses>
            <Address Language="xt">
              <HotelName>该假酒店</HotelName>
              <AddressLine>南京西路15号</AddressLine>
              <CityName>上海</CityName>
              <CountryName>CN</CountryName>
              <PostalCode>000000</PostalCode>
            </Address>
          </Addresses>
        </ContactInfo>
        <ContactInfo ContactProfileType="availability" Index="1">
          <Names>
            <Name Language="en" Gender="male">
              <GivenName>Steve</GivenName>
              <Surname>Martin</Surname>
              <JobTitle>Administration Employee</JobTitle>
            </Name>
          </Names>
          <Addresses>
            <Address>
              <AddressLine>200 rue de Paris</AddressLine>
              <CityName>Sotteville</CityName>
              <CountryName>FR</CountryName>
              <PostalCode>76000</PostalCode>
            </Address>
          </Addresses>
          <Emails>
            <Email>admin@fakehotel.com</Email>
          </Emails>
          <Phones>
            <Phone PhoneNumber="+3362211110" PhoneTechType="1" Extension="30" />
            <Phone PhoneNumber="+3362211111" PhoneTechType="1" Extension="30" />
            <Phone PhoneNumber="+3362211112" PhoneTechType="1" Extension="30" />
            <Phone PhoneNumber="+3362211113" PhoneTechType="5" />
            <Phone PhoneNumber="+3362211114" PhoneTechType="3" />
          </Phones>
        </ContactInfo>
        <ContactInfo ContactProfileType="availability" Index="2">
          <Names>
            <Name Language="xt" Gender="female">
              <GivenName>Carol</GivenName>
              <Surname>Xu</Surname>
              <JobTitle>Owner</JobTitle>
            </Name>
          </Names>
          <Addresses>
            <Address>
              <AddressLine>1000 Eighth Avenue</AddressLine>
              <CityName>New York</CityName>
              <PostalCode>10000</PostalCode>
              <StateProv StateCode="NY" />
              <CountryName>US</CountryName>
            </Address>
          </Addresses>
          <Emails>
            <Email>carol.xu@fakehotel.com</Email>
          </Emails>
          <Phones>
            <Phone PhoneNumber="+3162222220" PhoneTechType="1" Extension="30" />
            <Phone PhoneNumber="+3162222221" PhoneTechType="1" Extension="30" />
            <Phone PhoneNumber="+3162222222" PhoneTechType="1" Extension="30" />
            <Phone PhoneNumber="+3162222223" PhoneTechType="5" />
            <Phone PhoneNumber="+3162222224" PhoneTechType="3" />
          </Phones>
        </ContactInfo>
      </ContactInfos>
      <HotelInfo>
        <CategoryCodes>
          <GuestRoomInfo Quantity="100" />
          <HotelCategory Code="20" />
        </CategoryCodes>
        <Languages>
          <Language LanguageCode="zh" />
          <Language LanguageCode="en" />
        </Languages>
        <Position Longitude="1.0900" Latitude="49.4092" />
        <Services>
          <Service Code="5" Included="false" />
        </Services>
        <TPA_Extensions>
          <AcceptedPayments>
            <AcceptedPayment PaymentTypeCode="1" />
            <AcceptedPayment PaymentTypeCode="2" />
            <AcceptedPayment PaymentTypeCode="3" />
          </AcceptedPayments>
        </TPA_Extensions>
      </HotelInfo>
      <FacilityInfo>
        <GuestRooms>
          <GuestRoom>
            <Amenities>
              <Amenity RoomAmenityCode="91" Quantity="4" />
            </Amenities>
          </GuestRoom>
        </GuestRooms>
      </FacilityInfo>
      <Policies>
        <Policy>
          <PolicyInfo CheckInTime="17:00" CheckOutTime="12:00" KidsStayFree="1" UsualStayFreeCutoffAge="16" UsualStayFreeChildPerAdult="2" />
          <PetsPolicies PetsAllowedCode="Pets By Arrangements">
            <PetsPolicy NonRefundableFee="charges_may_apply" />
          </PetsPolicies>
          <CancelPolicy>
            <CancelPenalty PolicyCode="1" />
            <CancelPenalty PolicyCode="29" />
          </CancelPolicy>
          <GuaranteePaymentPolicy>
            <GuaranteePayment PolicyCode="1" />
          </GuaranteePaymentPolicy>
          <TaxPolicies>
            <TaxPolicy Code="36" Amount="1200" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="12" />
            <TaxPolicy Code="3" Percent="800" DecimalPlaces="2" Type="Inclusive" ChargeFrequency="20" />
          </TaxPolicies>
        </Policy>
      </Policies>
      <AffiliationInfo>
        <Awards>
          <Award Provider="Star rating" Rating="3" />
        </Awards>
      </AffiliationInfo>
      <TPA_Extensions>
        <DomesticOnly Value="1" />
        <CommissionPercents>
          <CommissionPercent Value="15.2" />
          <CommissionPercent Value="17.0" DOW="Monday" />
          <CommissionPercent Value="12.2" DOW="Sunday" />
        </CommissionPercents>
      </TPA_Extensions>
    </HotelDescriptiveContent>
  </HotelDescriptiveContents>
</OTA_HotelDescriptiveContentNotifRQ>

Request — cURL Model

curl -H "Host: providerhostname" \
-H "Connection: keep-alive" \
-H "Content-Length: XXX" \
-H "Cache-Control: no-cache" \
-H "Origin: XXXXXXXXXXXXX" \
-H "User-Agent: Provider User-Agent name" \
-H "Content-Type: text/xml;charset=UTF-8" \
-H "Accept: */*" \
-H "Accept-Encoding: gzip,deflate" \
-H "Authorization: Bearer {JWT}" \ 
--http1.1 \
-d @messagebody.xml -X POST \
'https://supply-xml.booking.com/hotels/ota/OTA_HotelDescriptiveContentNotif'

Request — Element Overview:

Field NameNest LevelParent Element
AcceptedPaymentL6AcceptedPayments
AcceptedPaymentsL5TPA_Extensions
AddressL6Addresses
AddressesL5ContactInfo
AddressLineL7Address
AffiliationInfoL3HotelDescriptiveContent
AmenitiesL6GuestRoom
AmenityL7Amenities
AwardL5Awards
AwardsL4AffiliationInfo
CancelPenaltyL6CancelPolicy
CancelPolicyL5Policy
CategoryCodesL4HotelInfo
CityNameL7Address
CommissionPercentL5CommissionPercents
CommissionPercentsL4TPA_Extensions
ContactInfoL4ContactInfos
ContactInfosL3HotelDescriptiveContent
CountryNameL7Address
DomesticOnlyL4TPA_Extensions
EmailL6Emails
EmailsL5ContactInfo
FacilityInfoL3HotelDescriptiveContent
GivenNameL7Name
GuaranteePaymentL6GuaranteePaymentPolicy
GuaranteePaymentPolicyL5Policy
GuestRoomL5GuestRooms
GuestRoomInfoL5CategoryCodes
GuestRoomsL4FacilityInfo
HotelCategoryL5HotelDescriptiveContents
HotelDescriptiveContentL2CategoryCodes
HotelDescriptiveContentsL1OTA_HotelDescriptiveContentNo tifRQ
HotelInfoL3HotelDescriptiveContent
HotelNameL4HotelInfo
JobTitleL7Name
LanguageL6Languages
LanguagesL5HotelInfo
MultimediaDescriptionL4CategoryCodes
MultimediaDescriptionsL3HotelDescriptiveContent
NameL6Names
NamesL5ContactInfo
OTA_HotelDescriptiveContentNotifRQL0NULL (root)
PetsPoliciesL5Policy
PetsPolicyL6PetsPolicies
PhoneL6Phones
PhonesL5ContactInfo
PoliciesL3HotelDescriptiveContent
PolicyL4Policies
PolicyInfoL5Policy
PositionL4HotelInfo
PostalCodeL7Address
ServiceL5Services
ServicesL4HotelInfo
StateProvL7Address
SurnameL7Name
TPA_ExtensionsL3HotelDescriptiveContent
TPA_ExtensionsL4HotelInfo
URLL8ImageFormat

Request — Element Notes

Address — Only one address per ContactInfo is allowed.

AddressLine — A string containing the full street name and number with no abbreviations (eg. "Road" instead of "Rd.", "Northwest" instead of "NW", etc.)

CityName — The city/town/village of the address. (string)

CountryName — The Booking.com [code] (b_xml-countries.md) for the country.

Email — The e-mail of the specific contact. (string)

GivenName — The first/given name of the specific contact. (string)

GuestRoom — Only one GuestRoom element can be used, as it represents global settings for all rooms at the accommodation.

GuaranteePaymentPolicy — A Booking.com guarantee is needed. The guarantee amount is the same as the cancellation fee.

JobTitle — The accepted job title of the given contact.

Names — Only one Name per ContactInfo allowed.

PostalCode — The postal/zip code for the address. (string)

Surname — The last/family name of the specific contact. (string)

Request — Attribute(@) Notes

OTA_HotelDescriptiveContentNotifRQ@Target — Options for this attribute are "Test" to build a test hotel or "Production" to build an accommodation to be opened on Booking.com.

HotelDescriptiveContent@HotelName — This attribute contains a string for the name of the accommodation to be used on Booking.com

HotelDescriptiveContent@HotelCode — Unless the property is a new build, the Booking.com accommodation ID (integer) will be required in this attribute node. Otherwise, it is not expected.

HotelDescriptiveContent@ID — This attribute contains the Connectivity Partner's own internal code. NOTE Booking.com does not store Connectivity Partner IDs, it is only used to be returned in the response message to the provider with the Booking.com accommodation code. (Required on new builds)

HotelDescriptiveContent@LanguageCode — In general, all data is expected by default to be sent in UK English without a @LanguageCode specified (Booking.com language code "en" is set by default.) If reviewed and approved by Booking.com, Booking.com language codes can be added to certain nodes. Acceptable values for Booking.com can be found in the Booking.com Language Code table BCL

HotelDescriptiveContent@BrandName — The name of the Brand as provided to the Connectivity Partner by Booking.com

HotelDescriptiveContent@ChainName — The name of the Chain as provided to the Connectivity Partner by Booking.com

HotelDescriptiveContent@HotelDescriptiveContentNotifType — current possible values are: "New" for new builds, "Overlay" for updates. If empty, "New" is assumed.

ContactInfo@ContactProfileType — The type of contact information submitted. If left empty the accommodation address is assumed. Acceptable entries are "PhysicalLocation", "contract", "reservations". "invoices", "availability", "site_content", "parity", "requests", and "central_reservations". All contacts fields should be filled out.

Address@Language — The language for the address provided. Acceptable values for Booking.com can be found in the Booking.com Language Code table BCL

ContactInfo@Index — Since multiple contacts are allowed per ContactInfo@ContactProfileType an index value (integer) can be used to separate them.

Name@Language — Booking.com Language Code BCL for the language spoken by the contact.

Name@Gender — Gender, if known, of the contact "Male", "Female", or "unknown" ("unknown" is assumed if not specified)

Phone@PhoneNumber — The phone number formatted as shown in the example above, with no whitespace, hyphens, or periods etc. acting as separators, and beginning with "+", followed by the country code, and all following digits as required if dialing internationally.

Phone@PhoneTechType — The type of device for the phone number. Supported codes on Booking.com can be found in the PTT code table

Phone@Extension — Any phone extension needed to dial the given contact.

StateProv@StateCode — Specifies the code for the state or province, which follows the ISO 3166-2 standard.

GuestRoomInfo@Quantity — The total number of guest rooms found at the accommodation. (positive integer)

HotelCategory@Code — The OTA2014B (PCT) Property Class Type and extended to cover unique Booking.com accommodations.

Language@LanguageCode — Booking.com Language Code BCL of the specified language spoken at the hotel.

Position@Longitude — Longitude value of the front entrance of the physical accommodation expressed as a decimal/float.

Position@Latitude — Latitude value of the front entrance of the physical accommodation expressed as a decimal/float.

Service@Code — The OTA2014B (HAC) Hotel Amenity Codes of the Accommodation amenity.

Service@Included — A boolean value "true" or "false" whether the associated Service@Code is included or not without an extra fee. The default is included without a fee, "true".

AcceptedPayment@PaymentTypeCode — The Booking.com Payment Type BCPT accepted at the accommodation.

Amenity@RoomAmenityCode — The OTA2014B (RMA) Room Amenity Code shared by all rooms at the specific accommodation. If the amenity/-ies are room-specific should be populated with the OTA_HotelInvNotif call.

Amenity@Quantity — The quantity associated with the Amenity element.

PolicyInfo@CheckInTime — Valid time on Booking.com when check-in begins ('from') BCIO times

PolicyInfo@CheckOutTime — Valid time on Booking.com when check-out ends ('until') BCIO times

PolicyInfo@KidsStayFree — If children can stay in the guest rooms at no additional fee, than the value "1" should be sent.

PolicyInfo@UsualStayFreeCutoffAge — The maximum age at which children can stay in the guest rooms at no additional fee. If KidsStayFree="1", then this attribute is mandatory.

PolicyInfo@UsualStayFreeChildPerAdult — The number of children who may stay free in the room per adult staying in the room (integer). If KidsStayFree="1", then this attribute is mandatory.

PetsPolicies@PetsAllowedCode — The name of the Booking.com Pet Policy: "Pets Allowed", "Pets Not Allowed", or "Pets By Arrangements"

PetsPolicy@NonRefundableFee — The extra charge in the currency of the accommodation's country for having a Pet stay in the guest room.

CancelPenalty@PolicyCode — The Booking.com Cancellation Code BCCP for the given penalty.

GuaranteePayment@PolicyCode — The Booking.com Code BCCP for the given guarantee.

TaxPolicy@Code — The OTA 2014B (FTT) Fee Tax Type Code

TaxPolicy@Amount — The monetary amount charged in the given Tax policy in the given Booking.com currency for the country of the accommodation.

TaxPolicy@DecimalPlaces — The number of decimal places to apply to the numeric value of the TaxPolicy.

TaxPolicy@Type — Whether pricing that will be set on Booking.com will come with the given tax policy will be "Inclusive" or "Exclusive" of the quoted amount.

TaxPolicy@ChargeFrequency — OTA 2014B (CHG) Charge Type

TaxPolicy@Percent — Instead of providing a flat TaxPolicy@Amount an alternative is to specify with the attribute as a percentage.

Award@Provider — A "Star rating" is the only provider type current accepted on Booking.com.

Award@Rating — Acceptable values for the Star rating are "0".."5", in integer increments, unless the accommodation is located in Germany.

DomesticOnly@Value — This should only be set to "1" or "true" if the accommodation can only accept guests with citizenship in the same country as the property is located. By default the value is set to "0" or "false". (Boolean)

CommissionPercent@Value — CommissionPercents are used to specify settled commission for the accommodation.

CommissionPercent@DOW — Overrides CommissionPercent@Value for the specified day of week. In the body example above, the commission percentage would be 5.2% Tuesday - Saturday, 17.0% Monday, 12.2% Sunday.

Step 2: Response of Cross-Reference Information

TypeHTTP MethodMessage SenderMessage Receiver
ResponsePOSTBooking.comConnectivity Partner

Response — HTTP Message Body Model

<?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"
OTA_HotelDescriptiveContentNotifRS.xsd" 
TimeStamp="2015-07-31T12:36:23-00:00" 
Target="Production"
Version="3.000">
   <UniqueID Type="10" ID="9999999" />
   <TPA_Extensions>
     <HotelCrossRefs>
             <HotelCrossRef RequestHotelCode="101010" 
              ResponseHotelCode="9999999" />
     </HotelCrossRefs>
   </TPA_Extensions>
<Success />
</OTA_HotelDescriptiveContentNotifRS>
<!-- RUID: [XXXXXXXXXXXXXXXXXXXXXXXXXXX==] -->

Response — Attribute(@) Notes

UniqueID@Type — The OTA2014B (UIT) Unique ID Type

UniqueID@ID — This will be the Booking.com accommodation code (hotel id) for the provider to store for cross-reference and later use.

HotelCrossRef@RequestHotelCode — This will be the Provider's own internal accommodation reference code for cross-reference, not stored by Booking.com.

HotelCrossRef@ResponseHotelCode — This will be the Booking.com accommodation code (hotel id) for the provider to store for cross-reference and later use.

Errors/Warnings

As with every standard Booking.com response, an RUID string terminates the message inside an XML comment node. This string is necessary for any XML troubleshooting of requests to Booking.com.