The purpose of this call is for the Connectivity Partner to build/modify information which is stored at the accommodation level on Booking.com.
| Type | HTTP Method | Message Sender | Message Receiver |
|---|---|---|---|
| Request | POST | Connectivity Partner | Booking.com |
Authentication for OTA calls requires the header parameter Authorization. For more information, see token-based authentication:
Authorization: Bearer {JWT}The XML message body must be encoded in the XML standard default encoding of UTF-8.
<?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>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'| Field Name | Nest Level | Parent Element |
|---|---|---|
| AcceptedPayment | L6 | AcceptedPayments |
| AcceptedPayments | L5 | TPA_Extensions |
| Address | L6 | Addresses |
| Addresses | L5 | ContactInfo |
| AddressLine | L7 | Address |
| AffiliationInfo | L3 | HotelDescriptiveContent |
| Amenities | L6 | GuestRoom |
| Amenity | L7 | Amenities |
| Award | L5 | Awards |
| Awards | L4 | AffiliationInfo |
| CancelPenalty | L6 | CancelPolicy |
| CancelPolicy | L5 | Policy |
| CategoryCodes | L4 | HotelInfo |
| CityName | L7 | Address |
| CommissionPercent | L5 | CommissionPercents |
| CommissionPercents | L4 | TPA_Extensions |
| ContactInfo | L4 | ContactInfos |
| ContactInfos | L3 | HotelDescriptiveContent |
| CountryName | L7 | Address |
| DomesticOnly | L4 | TPA_Extensions |
| L6 | Emails | |
| Emails | L5 | ContactInfo |
| FacilityInfo | L3 | HotelDescriptiveContent |
| GivenName | L7 | Name |
| GuaranteePayment | L6 | GuaranteePaymentPolicy |
| GuaranteePaymentPolicy | L5 | Policy |
| GuestRoom | L5 | GuestRooms |
| GuestRoomInfo | L5 | CategoryCodes |
| GuestRooms | L4 | FacilityInfo |
| HotelCategory | L5 | HotelDescriptiveContents |
| HotelDescriptiveContent | L2 | CategoryCodes |
| HotelDescriptiveContents | L1 | OTA_HotelDescriptiveContentNo tifRQ |
| HotelInfo | L3 | HotelDescriptiveContent |
| HotelName | L4 | HotelInfo |
| JobTitle | L7 | Name |
| Language | L6 | Languages |
| Languages | L5 | HotelInfo |
| MultimediaDescription | L4 | CategoryCodes |
| MultimediaDescriptions | L3 | HotelDescriptiveContent |
| Name | L6 | Names |
| Names | L5 | ContactInfo |
| OTA_HotelDescriptiveContentNotifRQ | L0 | NULL (root) |
| PetsPolicies | L5 | Policy |
| PetsPolicy | L6 | PetsPolicies |
| Phone | L6 | Phones |
| Phones | L5 | ContactInfo |
| Policies | L3 | HotelDescriptiveContent |
| Policy | L4 | Policies |
| PolicyInfo | L5 | Policy |
| Position | L4 | HotelInfo |
| PostalCode | L7 | Address |
| Service | L5 | Services |
| Services | L4 | HotelInfo |
| StateProv | L7 | Address |
| Surname | L7 | Name |
| TPA_Extensions | L3 | HotelDescriptiveContent |
| TPA_Extensions | L4 | HotelInfo |
| URL | L8 | ImageFormat |
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)
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.
| Type | HTTP Method | Message Sender | Message Receiver |
|---|---|---|---|
| Response | POST | Booking.com | Connectivity Partner |
<?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==] -->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.
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.