The OTA_HotelDescriptiveContentNotif (HDCN) endpoint was deprecated in December 2024. We will fully sunset this endpoint on December 31, 2026. For more information on the deprecation and sunsetting timeline, see OTA_HotelDescriptiveContentNotif (HDCN) endpoint in Content API.
We strongly encourage you to transition to our new modular APIs at your earliest convenience. These modern APIs are designed for straightforward integration and unlock a range of functionalities. To learn more, see our guide on Making property onboarding easier.
You can use the Property Details API to create, and update property details. Also, use the Contacts API to create, update or overwrite property contact details.
Create a property
Use the OTA_HotelDescriptiveContentNotif endpoint to create or update property details.
You can create or update a property's details using the following high-level elements:
ContactInfos: Contains details such as the property's address, contact details, and other general information.HotelInfo: Contains details such as the property's category (Hotel, ApartHotel, Cruise etc...), latitude and longitude information, service details among others.FacilityInfo: Contains details such as the facility details that the property supports including restaurant details.Policies: Contains details such as the property's cancellation policies among others.TPA-Extensions: Contains extra information.
Minimum requirements to create a property
To create a property, you must specify the following minimum details:
- A legal entity ID - An identifier for the legal entity that owns or manages a property (such as a property management company or a hotel chain). For more information on how to retrieve your legal entity ID using
Contracting API, see Retrieving the legal entity ID or partners can find it in their contract. - Provide the property name with only Latin characters.
- Provide Physical location (
PhysicalLocation) contact type with the following details:- Address line 1 - only latin characters are allowed.
- City.
- Postcode.
- Provide General (
general) and Invoice (invoices) contact types with the following details:- Contact person name (Given name and surname).
- Email address, and
- Phone number.
- Provide the latitude and longitude details of the property's physical location.
- Specify the checkin and checkout timing.
- Specify the number of sellable units.
- Specify the property's accommodation type.
- Specify at least one language code for the property.
Naming convention
When naming a property, ensure that the name:
- Has a length between 3 and 255 characters.
- Does not contain a phone number (or no more than five consecutive numbers).
- Only contains letters (any language), numbers, or the following symbols: ! # & ` ' " - ,
- Is not all in uppercase.
If a name is rejected, the property name could contain a restricted word. If you do not think this is the case, reach out to our Connectivity Support.
URL
POST https://supply-xml.booking.com/hotels/ota/OTA_HotelDescriptiveContentNotifWhen creating a property using the OTA_HotelDescriptiveContentNotif endpoint, if you do not specify the policy details, the API creates a fully-flexible policy (PolicyCode=152) as the default policy for the property.
Helpful tips
- The latitude and longitude values should correspond to the country specified under
ContactInfos... >...Address>CountryName. Otherwise, the API returnsCannot create a hotel because UFI country (countryCode) is different from property country (countryCode). - Make sure the phone numbers specified under
ContactInfos... >...Phonematch with the regional specification and the category specified underPhoneTechType. - Make sure the zip code matches with the address specified under
ContactInfos... >...Address>CountryName.
Request body parameters
The following table describes the elements you must add in the request body. Features that were sunset are struck through in the following table. For example, .AreaInfo
| Element | Attribute | Description | Type | Migration strategy |
|---|---|---|---|---|
OTA_HotelDescriptiveContentNotifRQ | [Required] Root element | object | Use Property API. | |
> HotelDescriptiveContents | [Required] Contains property details. | object | ||
>> HotelDescriptiveContent | ||||
HotelDescriptiveContentNotifType | [Optional] Specifies whether the request is meant to create a new property or overlay an existing one. Accepts the following values: * New (default) * Overlay | enumerated string | Use Property API POST method to create and PATCH to update. | |
HotelName | [Required] Specifies the name of the property on Booking.com. Required when creating a new property. If you want to (re)name a property, ensure the name follows Booking.com naming convention. | string | Use Property API's property_name parameter. | |
ID | [Optional] Specifies a custom property ID. Recommended for new properties. | string | Use Property API's provider_property_id parameter. | |
LanguageCode | [Required] Specifies the language in which the property wants their Booking.com Extranet content and communication (emails, notifications, etc.) For a list of supported language codes, see Booking.com Language Code table. | enumerated string | Use Property API's primary-language parameter. | |
CurrencyCode | [Optional] Specifies the currency code. Booking.com defines the currency for each property. To retrieve a list of all currency codes, use the /xml/currencies endpoint. | enumerated string | Use Property API's currency_code parameter. | |
Target | [Required] Specifies whether it is a test or production-ready property. Accepts the following values: - Test - Production | enumerated string | Use Property API's target parameter. | |
>>> AffiliationInfo | [Optional] Contains star ratings and other awards. | object | ||
>>>> Awards | [Optional] Contains award information. You can only set a star rating for properties with property class hotel, which means you cannot set a star rating for non-hotel properties. To verify whether your property's property class type is a hotel, see the property class type table. | object | ||
>>>>> Award | [Optional] Contains award details | object | ||
Provider | [Optional] Specifies the type of award. Accepts: Star rating | enumerated string | ||
Rating | [Optional] Specifies the number of stars. Accepts values: 0–5. Some countries don't use star ratings. | integer | Use Property API's star parameter. | |
>>> AreaInfo | ||||
>>>> Attractions | ||||
>>>>> Attraction | ||||
AttractionCategoryCode | ||||
AttractionName | LanguageCode). | |||
Distance | DistanceUnit) | |||
DistanceUnit | Distance. | |||
LanguageCode | ||||
>>> ContactInfos | [Optional] Contains contact information. | object | ||
>>>> ContactInfo | [Optional] Contains contact details of individual person/channel. See contacts[].ContactProfileType. | object | Use Contacts API. | |
ContactProfileType | [Required] Specifies the type of contact. | enumerated string | Use Contacts API's contacts[].contact_profiles.type parameter to create any of the following profile types: general (mandatory),contract, reservations,invoices,availability,site_content,parity,requests,central_reservations. To create PhysicalLocation contact type, use the Property Details API's physical_address parameter.To create invoice details which is mandatory to get a property to an open-bookable state, use the Property Settings API's invoice_settings parameter. | |
ShouldHideAddress | [Optional] Specifies whether to hide the address details. * 0 - Do not hide the full address. * 1 - Hide the full address from the guest. | boolean | Use Property details endpoint physical_address.display_address parameter. | |
>>>>> Addresses | [Required] Contains the contact addresses. | array of Address | - | |
>>>>>> Address | [Required] Contains the contact addresses. | array of Address | - | |
>>>>>>> Language | [Required] Specifies the Booking.com Language code for the address details. Default: en. For a list of supported language codes, see Booking.com Language Code table. | enumerated string | Use Contacts API's contacts[].address.language_code parameter. | |
>>>>>>> AddressLine | [Required] Specifies the full street name and number. Should not contain abbreviations (such as "Rd." for "Road") and should not exceed 255 characters. | string | Use Contacts API's contacts[].address.address_line parameter. | |
>>>>>>> CityName | [Required] Specifies the name of the city, town, or village. | string | Use Contacts API's contacts[].address.city_name parameter. | |
>>>>>>> CountryName | [Required] Specifies the two-letter country code. For more information on how to retrieve the country code details, see xml/countries endpoint. | enumerated string | Use Contacts API's contacts[].address.country_code parameter. | |
>>>>>>> HotelName | [Optional] Specifies the name of the property (in a language other than English). Required if @Language is not en. | object | Use Property Details API's translations[].property_name parameter. | |
>>>>>>> PostalCode | [Optional] Specifies the postal/zip code. | string | Use Contacts API's contacts[].address.postal_code parameter. | |
>>>>>>> StateProv | [Optional] Contains the State/province details. | object | - | |
StateCode | [Optional] Specifies the code for the state or province. Follow the ISO 3166-2 standard to specify the state, province, or other subdivision. | string | StateCode is not supported for contact types in Contacts API. To add state details for invoice details, see State code in Property settings API. | |
>>>>> Emails | [Optional] Contains the email addresses. | array of Email | Use Contacts API. | |
>>>>>> Email | [Optional] Contains the email address details. | array of Email | Use Contacts API's contacts.email parameter. | |
>>>>> Names | [Optional] Contains the contact person names. | array of Name | - | |
>>>>>> Name | [Optional] Contains the contact person name. | array of Name | Use Contacts API's contacts[].contact_person.name parameter. | |
Language | [Optional] Specifies the contact person's preferred language of communication. | string | Use Contacts API's contacts[].contact_person.language_code parameter. | |
Gender | [Optional] Contact person's gender. Accepts: Male, Female. Default: null. To set as empty, omit the entire attribute (instead of specifying ""). | enum | Use Contacts API's contacts[].contact_person.gender parameter. | |
>>>>>>> GivenName | [Optional] Specifies the contact person's first name. | string | - | |
>>>>>>> SurName | [Optional] Specifies the contact person's surname. | string | - | |
>>>>>>> JobTitle | [Optional] The contact's Booking.com Job Title Code. | BCJT | Use Contacts API's contacts[].contact_person.job_title parameter. | |
>>>>> Phones | [Optional] Contains Phone numbers. | array of Phone | - | |
>>>>>> Phone | [Optional] Contains Phone number information. | array of Phone | - | |
Extension | [Optional] The extension number that must be dialled in addition to the @PhoneNumber. Only accepted when @PhoneTechType="1". | string | Use Contacts API's contacts[].phones.extension parameter. | |
PhoneNumber | [Optional] Specifies the international phone number. Follows the format: \+[0-9]+ | string | Use Contacts API's contacts[].phones.phone_number parameter. | |
PhoneTechType | [Optional] Specifies the type of phone line/device. For a list of supported values, see PTT. | enumerated string | Use Contacts API's contacts[].phones.phone_tech_type parameter. | |
>>> FacilityInfo | [Optional] Contains property's facility details. | object | Use either Facilities or Rooms APIs. | |
>>>> GuestRooms | All content that are struck-through are deprecated and not supported anymore. | |||
>>>>> GuestRoom | ||||
>>>>>> Amenities | ||||
>>>>>>> Amenity | ||||
RoomAmenityCode | ||||
AmenityCode | RoomAmenityCode, introduced for compatibility with OTA_HotelInvNotifRQ. | |||
Quantity | - | |||
Configuration | [Optional] Specifies whether the amenity is available in the standard or alternative room arrangement. Accepted only when the room amenity type code is a bed type. Supported values are: * 1 (standard arrangement) * 2 (alternative arrangement) Introduced for compatibility with OTA_HotelInvNotifRQ. | enumerated string | ||
Value | Quantity, introduced for compatibility with OTA_HotelInvNotifRQ. | |||
>>>> Restaurants | [Optional] Contains property's restaurant details. | object | ||
>>>>> Restaurant | [Optional] Contains individual restaurant details. | object | Use Facilities API's facility_id: 3 to specify a restaurant. | |
OfferBreakfast | [Optional] Specifies whether the restaurant offers breakfast. Supports: - 1: Offers breakfast - 0: Does not offer breakfast (default) | integer | Use Facilities API's data[].instances[].restaurant_details.open_for_meals_list parameter. | |
OfferBrunch | [Optional] Specifies whether the restaurant offers brunch. Supports: - 1: Offers brunch - 0: Does not offer brunch (default) | integer | Use Facilities API's data[].instances[].restaurant_details.open_for_meals_list parameter. | |
OfferDinner | [Optional] Specifies whether the restaurant offers dinner. Supports: - 1: Offers dinner - 0: Does not offer dinner (default) | integer | Use Facilities API's data[].instances[].restaurant_details.open_for_meals_list parameter. | |
OfferLunch | [Optional] Specifies whether the restaurant offers lunch. | integer | Use Facilities API's data[].instances[].restaurant_details.open_for_meals_list parameter. | |
RestaurantName | [Optional] Specifies the name of the restaurant. | string | Use Facilities API's instances[].restaurant_details.name parameter. | |
>>>>>> CuisineCodes | [Optional] Container for cuisine details. | array of CuisineCode | - | |
>>>>>>> CuisineCode | [Optional] Container for cuisine details. | array of CuisineCode | - | |
Code | [Optional] Specifies the main cuisine code. A restaurant can offer more than one cuisine. | enumerated string | Use Facilities API's instances[].restaurant_details.cuisines_list parameter. | |
>>>>>> OperationSchedules | [Optional] Contains opening/closing times. | array of OperationSchedule | - | |
>>>>>>> OperationSchedule | [Optional] Contains opening/closing times. | array of OperationSchedule | - | |
>>>>>>>> OperationTimes | [Optional] Opening/closing times for the service offered. Currently used for breakfast services only. | array of OperationTime | ||
>>>>>>>>> OperationTime | [Optional] Opening/closing times for a Restaurant or Service like breakfast. Can contain multiple OperationTime elements. | object | Use Facilities API's instances[].schedule_details parameter. | |
Mon | [Optional] Specifies whether the Start and End times apply on this day of the week. Supported values are: - 1 = true. - 0 = false. (default) | integer | Use Facilities API's instances[].schedule_details.schedule[].day_of_week parameter. | |
Tue | [Optional] Specifies whether the Start and End times apply on this day of the week. Supported values are: - 1 = true. - 0 = false. (default) | integer | Use Facilities API's instances[].schedule_details.schedule[].day_of_week parameter. | |
Weds | [Optional] Specifies whether the Start and End times apply on this day of the week. Supported values are: - 1 = true. - 0 = false. (default) | integer | Use Facilities API's instances[].schedule_details.schedule[].day_of_week parameter. | |
Thur | [Optional] Specifies whether the Start and End times apply on this day of the week. Supported values are: - 1 = true. - 0 = false. (default) | integer | Use Facilities API's instances[].schedule_details.schedule[].day_of_week parameter. | |
Fri | [Optional] Specifies whether the Start and End times apply on this day of the week. Supported values are: - 1 = true. - 0 = false. (default) | integer | Use Facilities API's instances[].schedule_details.schedule[].day_of_week parameter. | |
Sat | [Optional] Specifies whether the Start and End times apply on this day of the week. Supported values are: - 1 = true. - 0 = false. (default) | integer | Use Facilities API's instances[].schedule_details.schedule[].day_of_week parameter. | |
Sun | [Optional] Specifies whether the Start and End times apply on this day of the week. Supported values are: - 1 = true. - 0 = false. (default) | integer | Use Facilities API's instances[].schedule_details.schedule[].day_of_week parameter. | |
Start | [Required] Contains the opening times of the Restaurant or Service. For a list of opening times, see BCIO. | enumerated string | Use Facilities API's instances[].schedule_details.schedule[].from.hours and instances[].schedule_details.schedule[].from.minute parameters. | |
End | [Required] Contains the closing times of the Restaurant or Service. For a list of closing times, see BCIO. | enumerated string | Use Facilities API's instances[].schedule_details.schedule[].from.hours and instances[].schedule_details.schedule[].to.minute parameters. | |
>>>>>> Features | [Optional] Container for special features. | array of Feature | - | |
>>>>>>> Feature | [Optional] Container for special features. | array of Feature | - | |
DescriptiveText | [Required] Specifies the feature type. For all supported values, see DescriptiveText. | enumerated string | Use one of the following parameters in the Facilities API: | |
>>>>>> TPA_Extensions | [Optional] Container for Ambiances and DietaryOptions. | object | - | |
>>>>>>> Ambiances | [Optional] Contains the ambiance/mood/atmosphere for a Restaurant. Can contain multiple Ambiances elements. | object | ||
>>>>>>>> Ambiance | [Required] Contains the ambiance/mood/atmosphere for a Restaurant. | object | ||
Name | [Required] Specifies the ambiance type. Supported values are: * family/kids friendly * modern * romantic * traditional | enumerated string | Use Facilities API's instances[].restaurant_details.ambiance_list parameter. | |
>>>>>>> DietaryOptions | [Optional] Contains dietary options in a Restaurant. Can contain multiple DietaryOptions elements. | object | ||
>>>>>>>> DietaryOption | [Optional] Contains a single dietary option in a Restaurant. Can contain multiple DietaryOption elements. | object | ||
Name | [Required] Specifies the dietary option. Supported values are: * dairy free * gluten free * halal * kosher * vegan, vegetarian | enumerated string | Use Facilities API's instances[].restaurant_details.meal_type_list parameter. | |
>>> HotelInfo | [Required] Contains information about the types of rooms and services a property offers. | object | - | |
>>>> CategoryCodes | [Optional] Contains the general property details, such as number of rooms and property type. | object | - | |
>>>>> GuestRoomInfo | [Optional] Contains room details. | object | - | |
Quantity | [Optional] Specifies the number of sellable units the property offers. A "sellable unit" is the smallest possible space that a guest can book at the property. In a hotel with 200 rooms, each room is a sellable unit, and the value would be 200.In a holiday home, guests must typically book the home in its entirety, making the value 1. | integer | Use Property Details API's room_count parameter. | |
>>>>> HotelCategory | [Optional] Contains property type details. | object | - | |
Code | [Required] Specifies the property class type code. For a list of supported property class type codes, see Property Class Type Code. | enumerated string | Use Property API's property_category parameter. | |
ExistsCode | [Optional] Specifies whether the property currently exists. Supported values are: * 1 (yes) default * 0 (no) | integer | ||
>>>> Languages | [Optional] Contains the languages spoken at the property. | array of Language | ||
>>>>> Language | [Optional] Contains the language spoken at a property. Can contain multiple Language elements. | object | ||
LanguageCode | [Required] Specifies the Booking.com Language Code. For a list of supported language codes, see Booking.com Language Code table. | enumerated string | Use Property details API's languages_spoken parameter. | |
>>>> Position | [Optional] Contains the geographical coordinates of the property. | object | - | |
Latitude | [Required] Specifies the latitude coordinates. | latitude | Use Property details API's position.latitude parameter. | |
Longitude | [Required] Specifies the longitude coordinates. | longitude | Use Property details API's position.longitude parameter. | |
>>>> Services | [Optional] Contains the services offered at the property. | array of Service | - | |
>>>>> Service | [Optional] Contains the details of individual services offered at the property. | array of Service | - | |
Code | [Required] Specifies the property amenity code for the service. For a list of Booking.com supported property amenity codes, see Amenity codes. | enumerated string | Use Facilities API's properties ID | |
ExistsCode | [Optional] Specifies whether the service/facility is present or missing. Supported values are: * 1 = yes(present) * 2 = no(missing). Default: 1. | enumerated string | Use Facilities API's state parameter for property facility | |
Included | [Optional] Specifies whether the service is included in the room price or comes at an extra charge. Supported values are: * true * false * unknown. Default: unknown | enumerated string | Use Facilities API's instances[].payment_details parameter. | |
Price | [Optional] The price for the service. Specified in the property's default currency. Required if Code is 173 (breakfast), 6000 (lunch), 6001 (dinner). | integer | Use Facilities API's instances[].payment_details.charge_details.price parameter. | |
CurrencyCode | [Optional] Specifies the currency code. Required if Code is 173 (breakfast), 6000 (lunch), 6001 (dinner). If specified, must match the property's default currency code. | currencycode | Price set using Facilities API defaults to using the Property's currency code. | |
>>>>>> Features | [Optional] Contains the details about service features. | array of Feature | ||
>>>>>>> Feature | [Optional] Contains the details about service features. | array of Feature | ||
DescriptiveText | [Required] Specifies the feature type. | |||
>>>>>> Types | [Optional] Contains the types of service offered. Currently used for breakfast services only. | array of Type | ||
>>>>>>> Type | [Optional] Contains the types of service offered. Currently used for breakfast services only. | array of Type | ||
Code | [Optional] Specifies the Booking.com breakfast type code. For a list of supported breakfast type code, see Booking.com Breakfast Type Code. | enumerated string | Use Facilities API's instances[].meal_details parameter. | |
>>>>>> Items | [Optional] Contains a collection of items. Currently used for breakfast services only. | array of Item | ||
>>>>>>> Item | [Optional] Contains the items for the service offered. Currently used for breakfast services only. | array of Item | ||
Code | [Optional] Specifies the Booking.com breakfast type code. For a list of supported breakfast type code, see Booking.com Breakfast Type Code. | enumerated string | Use Facilities API's instances[].meal_details parameter. | |
>>>> OwnershipManagementInfos | [Required] Contains the information about the property's relationship to Booking.com. | array of OwnershipManagementInfo | - | |
>>>>> OwnershipManagementInfo | [Required] Contains the details about the property's relationship to Booking.com. | object | - | |
>>>>>> CompanyName | [Optional] Contains the details of the company that owns/manages the property. | object | ||
Code | [Optional] Specifies the ID of the legal entity to which the property belongs. Only allowed for new properties. | integer | Use Property details API's legal_entity_id parameter. | |
>>>> RelativePositions | RelativePosition | - | ||
>>>>> RelativePosition | RelativePosition elements. | |||
>>>>>> Transportations | Transportation | - | ||
>>>>>>> Transportation | TPA_Extensions. | Transportation elements. | ||
>>>>>>>> TPA_Extensions | Route. | TPA_Extensions elements. | ||
>>>>>>>>> Route | - | |||
>>>>>>>>>> Leg | - | |||
>>>>>>>>>>> Departure | - | |||
Interval | - | |||
UponArrangement | - 1 = true. - 0 = false. | |||
>>>>>>>>>>> Junction | - | |||
Name | [Code="5"]. | |||
>>>>>>>>>>> Line | ||||
Name | [Code] is 3, 10, 18, 22, or 5001. | |||
>>>>>>>>>>> Motorway | - | |||
Name | [Code="5"] (car). | |||
>>>>>>>>>>> Start | - | |||
Type | airport | |||
Code | ||||
>>>>>>>>>>> TransportType | - | |||
Code | Leg's transportation type. | |||
>>>>>>>>>> JourneyTime | - | |||
Minutes | - | |||
>>>>>>>>>> Price | - | |||
Amount | CurrencyCode. | - | ||
CurrencyCode | - | |||
>>>> TPA_Extensions | [Optional] Container for AcceptedPayments, and InvoiceDetails. | object | - | |
>>>>> AcceptedPayments | [Optional] Contains the details of the payment methods. Can contain multiple AcceptedPayments elements. | object | Use Property settings API. | |
>>>>>> AcceptedPayment | [Optional] Contains the details of a payment method. Can contain multiple AcceptedPayment elements. | object | ||
PaymentTypeCode | [Required] Specifies the Booking.com Payment Type Code. | BCPT | Use Property Settings API's accepted_payment_types.codes parameter. | |
>>>>> InvoiceDetails | [Optional] Contains the special identifying information for Brazilian properties, issued by the Brazilian tax authority. Used for invoicing. Required for Brazilian properties. | object | Use the Property Settings API's invoice_settings parameter. | |
>>>>>> InvoiceTaxType | [Required] Contains details useful for processing invoices. | object | ||
Type | [Required] Specifies whether the identifying number belongs to a company or a private individual. Accepts: CNPJ (company), CPF (private individual). | enumerated string | Use Property Settings API's invoice_settings.brazil_tax_details.tax_payer_number_type parameter. | |
>>>>>> InvoiceTaxNumber | Required. | string | ||
Code | [Required] The identifying number. Length depends on the value of InvoiceTaxType[Type]. CNPJ = 14 digits. CPF = 11 digits. | string | Use Property Settings API's invoice_settings.brazil_tax_details.tax_payer_number parameter. | |
>>>>>> InvoiceAddress | Required | string | - | |
Email | [Required] Email address of invoice recipient. | string | Use Property Settings API's email parameter. | |
>>>>>>> CityHallInfo | Required | string | Use Property Settings API's invoice_settings.brazil_tax_details.city_hall_id parameter. | |
Id | [Required] The 8-digit ID for the city hall which issued the CNPJ or CPF number. | string | Use Property Settings API's invoice_settings.brazil_tax_details.city_hall_id parameter. | |
>>>>>>> BirthDate | Optional | string | ||
Date | [Optional] Date of birth of the individual providing the CPF number. Format: YYYY-MM-DD. Required if InvoiceTaxType[Type="CPF"]. | string | ||
>>>>> PaymentPreferences | [Optional] Contains details such as whether properties can see guest's credit card details and collect CVC codes. The default value for NoCVC is 1. | object | ||
NoCVC | [Optional] Specify whether properties can collect CVC for a booking. * 0 - Properties can collect CVC details. * 1 - Properties cannot collect CVC details. | boolean | Use Property Settings API's property_settings.require_cvc parameter. | |
ViewCCDetails | [Optional] Specify whether trusted properties can view the guest's credit card details. * 0 - Properties cannot view credit card details. * 1 - A trusted property can view the credit card details. | boolean | Use Property Settings API's property_settings.view_cc_details parameter. | |
>>> Policies | [Optional] Contains all policy details. | object | - | |
>>>> Policy | [Optional] Contains policy details. | object | - | |
>>>>> PolicyInfo | [Optional] Contains check-in/-out times. | object | - | |
CheckInTime | [Optional] The Booking.com Check-in/Check-Out Time Code for the earliest time a guest can check in. Format: HH:MM (from) or HH:MM-HH:MM (from-to). Only "from" is required; "to" is optional. 24-hour check-in can be specified using 00:00-00:00. | enumerated string | Use Property Details API's check_in.from and check_in.until parameters. | |
CheckOutTime | [Optional] The Booking.com Check-in/Check-Out Time Code for the time by which a guest should check out at the latest. Format: HH:MM (from) or HH:MM-HH:MM (from-to). 24-hour check-out can be specified using 00:00-00:00. | enumerated string | Use Property Details API's check_out.from and check_out.until parameters. | |
TotalGuestCount | - | |||
AcceptedGuestType | [Optional] Specifies whether the property admits adults and children, or only adults. Accepts AdultOnly and ChildrenAllowed. Default value is AdultsOnly, which means children are not allowed. | enumerated string | Use Property Settings API's children_policies.allow_children parameter. | |
MinGuestAge | [Optional] Specifies the minimum age that children are allowed (in case ChildrenAllowed). | integer | Use Property Settings API's children_policies.min_age parameter. | |
>>>>> CancelPolicy | [Optional] Policies around cancellations and no-shows. | array of CancelPenalty | Use Policies API to manage cancellation policies. | |
>>>>>> CancelPenalty | [Optional] Contains Cancellation fee details. Can contain multiple CancelPenalty elements. | |||
PolicyCode | [Optional] The Booking.com Cancellation Policy Code. | enumerated string | Use Policies API's CancelPenalty.PolicyCode parameter. | |
>>>>>>> TPA_Extensions | [Optional] Container for NoShowPolicy. | array of NoShowPolicy | - | |
>>>>>>>> NoShowPolicy | [Optional] No-show policy details. Descendant of CancelPenalty. | object | ||
Penalty | [Required] Specifies how much the property charges if the guest doesn't show up on the check-in date. Accepts: total_price (of stay), default (same as cancellation fee). | enumerated string | Use Policies API's NoShowPolicy.Penalty parameter to manage cancellation policies. | |
>>>>> PetsPolicies | [Optional] Policies around pets. | array of PetsPolicy | - | |
PetsAllowedCode | [Optional] Specifies the property's policy regarding pets. Accepts: - Pets Allowed - Pets Not Allowed (default) - Pets By Arrangements | enumerated string | Use Property Settings API's pets.pets_allowed parameter. | |
>>>>>> PetsPolicy | [Optional] Pets policy details. Required if PetsAllowedCode is Pets Allowed, Pets By Arrangements. | object | ||
NonRefundableFee | [Optional] Specifies if the property charges for having a pet stay in the room. | enumerated string | Accepts: - free (default) - charges_may_apply Use Property Settings API's pets.pets_price_type parameter. | |
>>>>> GuaranteePaymentPolicy | [Optional] Policies around refunds. | array of GuaranteePayment | Use Policies API. | |
>>>>>> GuaranteePayment | [Optional] Refund policy details. | array of GuaranteePayment | - | |
PolicyCode | [Optional] The Booking.com Cancellation Policy Code. | enumerated string | - | |
>>>>>>> TPA_Extensions | [Optional] Container for PrepaymentPolicy. | object | - | |
>>>>>>>> PrepaymentPolicy | [Optional] Descendant of GuaranteePayment. | object | ||
EffectiveFrom | [Required] The moment at which the refund policy becomes effective. Accepts: after_reservation_is_made, after_cancellation_fee_begins. Default: after_reservation_is_made | enumerated string | Use Policies API's GuaranteePayment.EffectiveFrom parameter. | |
>>>>> TaxPolicies | [Optional] Policies around taxes. | array of TaxPolicy | - | |
>>>>>> TaxPolicy | [Optional] Tax policy details. Can contain multiple TaxPolicy elements. | object | ||
Code | [Required] The Fee Tax Type Code. | FTT | Use the Charges API's property_charges[].charge_key.type parameter. | |
Amount | [Optional] The amount charged in the country's local currency. | integer | Instead of Amount, you can also use Percent. Use Charges API's property_charges[].charge_periods[].configuration.amount parameter or property_charges[].charge_periods[].configuration.amount.mode parameter to specify Percentage as mode. | |
DecimalPlaces | [Optional] The number of decimal places to apply to Amount. | integer | - | |
Percent | [Optional] The percentage of the room price that will be added as taxes. Only allowed if Amount is not provided. Required if Code="36" (VAT). | non-negative | Use Charges API's property_charges[].charge_periods[].configuration.amount parameter to specify a percentage. You must also specify property_charges[].charge_periods[].configuration.amount.mode as PERCENTAGE and property_charges[].charge_periods[].configuration.amount.base | |
Type | [Optional] Specifies whether the tax is included in the room price or not. Accepts: Inclusive, Exclusive. | enumerated string | Use Charges API's property_charges[].charge_periods[].configuration.excluded parameter. | |
ChargeFrequency | [Optional] The Charge Type Code that specifies the basis for the charge. For example, once per stay, every day). Default: 21 (Per person per night) | enumerated string | Use Charges API's property_charges[].charge_periods[].configuration.amount.mode parameter. | |
InvCode | [Optional] The Booking.com room type ID that this fee applies to. A fee can only apply to one room type at a time. To apply the same fee to multiple rooms, duplicate the entire TaxPolicy element. To apply a fee to all rooms in the property, remove InvCode. Get the room type ID from OTA_HotelInvNotifRS endpoint ResponseInvCode attribute on creation of room type. | string | Use Charges API's room_charges[].room_id parameter. | |
>>>>> FeePolicies | [Optional] Policies around service fees (WiFi, heating, pets, etc.). | array of FeePolicy | - | |
>>>>>> FeePolicy | [Optional] Fee policy details. Can contain multiple FeePolicy elements. | object | ||
Code | [Required] The Fee Tax Type Code. | FTT | Use the Charges API's property_charges[].charge_key.type parameter. | |
Amount | [Optional] The amount charged, in the country's local currency. Instead of Amount, you can also use Percent. | price | Instead of Amount, you can also use Percent. Use Charges API's property_charges[].charge_periods[].configuration.amount parameter or property_charges[].charge_periods[].configuration.amount.mode parameter to specify Percentage as mode. | |
DecimalPlaces | [Optional] The number of decimal places to apply to Amount. Default: 0 | integer | ||
Percent | [Optional] The percentage of the room price that will be added as a fee. Only allowed if Amount is not provided. | non-negative | Use Charges API's property_charges[].charge_periods[].configuration.amount parameter to specify a percentage. You must also specify property_charges[].charge_periods[].configuration.amount.mode as PERCENTAGE and property_charges[].charge_periods[].configuration.amount.base | |
Type | [Optional] Specifies whether the fee is included in the room price, or is charged only under certain conditions. Accepts: Inclusive, Exclusive, Conditional. Conditional is only allowed when [Code="5009"] (cleaning fees). | enumerated string | Use Charges API's property_charges[].charge_periods[].configuration.excluded parameter. | |
ChargeFrequency | [Optional] The Charge Type Code that specifies the unit of time on which the charge is calculated (e.g. once per stay, every day). Default: 21 (Per person per night) | enumerated string | Use Charges API's property_charges[].charge_periods[].configuration.amount.mode parameter. | |
MinAge | [Optional] Specifies the minimum age for the children policy to apply. In combination with MaxAge it becomes an age range. You can use this attribute with Fee Tax Type (FTT) code 37, 38, or 44. If you want to specify different prices per age range, you must create multiple FeePolicy elements within the same request. See example. | integer | Use the Property Settings API's property_settings.age_restriction.min parameter. | |
MaxAge | [Optional] Specifies the maximum age for the children policy to apply. The max value is 255 (adult). You can use this attribute with Fee Tax Type (FTT) code 37, 38, or 44. If you want to specify different prices per age range, you must create multiple FeePolicy elements within the same request. See example. | integer | Use the Property Settings API's property_settings.age_restriction.max parameter. | |
InvCode | [Optional] Specifies the Booking.com room type ID to which the fee applies. You can apply one fee policy to one room type at a time. To apply the same fee policy to multiple rooms, you have to add another FeePolicy element for each additional room type. To apply a fee to all room types in the property, you must remove the InvCode attribute. | string | Use Charges API's room_charges[].room_id parameter. | |
>>>>>>> TPA_Extensions | [Optional] Container for Conditions, InternetFeePolicy or ParkingFeePolicy (depending on Type). | object | - | |
>>>>>>>> Conditions | [Required] Cleaning fee conditions. | object | - | |
>>>>>>>>> Condition | [Required] Cleaning fee condition details. | object | - | |
Type | [Required] Specifies when a guest must pay the extra cleaning fee. Accepts: guest_brings_pet, guest_doesnt_clean_before_checkout, guest_smokes. | enumerated string | Not supported in the new API. | |
>>>>>>>> InternetFeePolicy | [Optional] Internet fee details. Only allowed when FeePolicy[Type="5035"]. | object | ||
InternetType | [Optional] Specifies the type of internet connection. Accepts: wired, wifi, none. Default: wifi | enumerated string | Use Facilities API's instances[].internet_details.type parameter. | |
InternetCoverage | [Optional] Specifies the area covered by the internet. Accepts: entire_property, public_areas, all_rooms, some_rooms, business_centre. Default: entire_property | enumerated string | Use Facilities API's instances[].internet_details parameter. | |
>>>>>>>> ParkingFeePolicy | [Optional] Parking fee policy details. You can apply parking fee with Parking fee policy details as a FeePolicy, which will not be added to reservation price. To apply parking fee as charges which is applied to all reservations, properties must request Booking.com local support team to set it as VAT/Tax/Charges in the extranet. | object | Use the Facilities API to configure parking fee policy. | |
ParkingType | [Optional] Specifies the type of parking the property offers. Accepts: on_site, location_nearby, none. Default: on_site | enumerated string | Use Facilities API's property_facility_meta.required_details_list[].parking_location parameter. | |
ParkingReservation | [Optional] Specifies whether guests can/must reserve a parking space in advance. Accepts: needed, not_needed, not_available. Default: not_available | enumerated string | Use Facilities API's property_facility_meta.required_details_list[].parking_reservation parameter. | |
ParkingProperty | [Optional] Specifies whether the parking facility is publicly accessible or private. Accepts: private, public. Default: public | enumerated string | Use Facilities API's property_facility_meta.required_details_list[].parking_access parameter. | |
>>> TPA_Extensions | Optional. Container for: StandardPhrases, GuestInformation, PropertyTaxInfo, PreventLikelyToBeCancelledBookings, CancellationGracePeriod, TotalNumberOfFloors, PricingType, LongStayInfo. | object | ||
>>>> StandardPhrases | [Optional] Standard phrases details. Can contain multiple StandardPhrases elements. | object | ||
>>>>> StandardPhrase | [Optional] Standard phrase details. Can contain multiple StandardPhrase elements. | object | Use Property Settings API's standard_phrases parameter. | |
Enabled | [Required] Specifies whether the standard phrase is enabled. Supported values are: - 1 = true. - 0 = false. | integer | Use Property Settings API's standard_phrases[].enabled parameter. | |
Name | [Required] Specifies which standard phrase must be displayed. For Coronavirus-related phrases, see Standard phrases during the Coronavirus. | enumerated string | Use Property Settings API's standard_phrases parameter. | |
>>>>>> Options | - | [Optional] Contains a collection of Options. | ||
>>>>>>> Option | - | [Optional] Additional configuration for certain types of StandardPhrase. Required if Name is KeyCollection, Renovation,HotelChainBedLinen, or SecurityDeposit. | ||
Name | [Required] The type of option. Accepts: KeyCollectionAddressLine, KeyCollectionCityName, KeyCollectionPostalCode, RenovationFrom, RenovationUntil, SecurityDepositAmount, SecurityDepositCollectMethod, SecurityDepositCollectWhen, SecurityDepositCollectNumDays, SecurityDepositReturnMethod, SecurityDepositReturnWhen, HotelChainBedLinenAmount. | enumerated string | Use Property Settings API's renovation, damage_policy parameters. | |
>>>> GuestInformation | [Optional] Contains flags that specify which information guests must provide. | object | - | |
RequireGuestAddress | [Optional] Specifies whether guests must provide an address. Accepts: 1 (required), 0 (not required). | integer | Ue Property Settings API's property_settings.require_booker_address parameter. | |
RequireGuestContactNumber | [Optional] Specifies whether guests must provide a contact telephone number. Accepts: 1 (required), 0 (not required). | integer | Use Property Settings API's property_settings.require_booker_phone_number parameter. | |
HasAgeRestriction | [Optional] Specifies whether there is an age limit to check-in. Accepts: 1 (has age restriction), 0 (does not have age restriction). | integer | Use Property Settings API's property_settings.age_restriction.enabled parameter. | |
AgeRestrictionMin | [18..99] Minimum allowed age for guests to check-in. Only effective when HasAgeRestriction=1. Only effective when HasAgeRestriction=1. | integer | Use Property Settings API's property_settings.age_restriction.min parameter. | |
AgeRestrictionMax | [18..99] Maximum allowed age for guests to check-in. Only effective when HasAgeRestriction=1. Only effective when HasAgeRestriction=1. | integer | Use Property Settings API's property_settings.age_restriction.max parameter. | |
HasCurfew | [Optional] Specifies whether property has a curfew - times at which guests cannot enter/leave the property. Accepts: 1 (has curfew), 0 (does not have curfew). | integer | Use Property Settings API's property_settings.curfew.enabled parameter. | |
CurfewStart | [Optional] Curfew start time in HH:MM format. Only effective when HasCurfew=1. | string | Use Property Settings API's property_settings.curfew.start parameter. | |
CurfewEnd | [Optional] Curfew start time in HH:MM format. Only effective when HasCurfew=1. | string | Use Property Settings API's property_settings.curfew.end parameter. | |
>>>> PropertyTaxInfo | [Optional] Object that contains city tax-related information. | object | - | |
PropertyRegisteredInVcs | [Required] Are you registered as a professional at the trade commercial register (Registre du Commerce et des Sociétés)? Accepts: 1 (yes), 0 (no). | integer | Use Property Settings API's french_tax_details.registered_in_rcs parameter. | |
PropertyHasVat | [Required] Do you have a VAT registered for this activity? Accepts: 1 (yes), 0 (no). | integer | Use Property Settings API's french_tax_details.has_vat parameter. | |
PropertyDeclaresRevenue | [Required] Do you declare revenues as professional for direct tax purposes (see article 155 IV du CGI)? | integer | Accepts: 1 (yes), 0 (no). Use Property Settings API's french_tax_details.declare_revenue parameter. | |
PropertyTaxCategory | [Optional] Contains a number - city tax category ID. You can retrieve available categories using the /xml/citytaxcategory call. If your answer to any of the preceding questions is (yes), then you must NOT send the PropertyTaxCategory. The system sets it up automatically. Accepts: integer value containing category ID. | integer | Use Property Settings API's french_tax_details.category_id parameter. | |
PropertyNatureCategory | [Optional] Contains a number - nature category ID. You can retrieve available categories using /xml/citytaxcategory call. Accepts integer value containing category ID. | integer | Use Property Settings API's french_tax_details.nature_id parameter. | |
Enabled | [Optional] Enable/disable selling meal plans as addons through booking or not. 1 will enable selling meals as addons through booking, 0 will disable that. | boolean | ||
>>>>PreventLikelyToBeCancelledBookings | - | |||
Enabled | 1 - opt in to the feature. 0 - opt out of the feature. | |||
>>>> CancellationGracePeriod | [Optional] Cancellation exceptions container object. | object | Use Property Settings API's cancellation_exceptions.grace_period.enabled parameter. | |
HoursAfterBooking | [Optional] Grace period - amount of hours after booking when free cancellation is available. Accepts: 0, 1, 4, 24. | integer | Use Property Settings API's cancellation_exceptions.grace_period.after_booking parameter. | |
WeeksBeforeCheckIn | [Optional] Advance cancellation - amount of weeks before check-in when free cancellation is available. Accepts: 0, 4, 8, 12 | integer | Use Property Settings API's cancellation_exceptions.advance_cancellation.before_check_in parameter. | |
>>>> TotalNumberOfFloors | [Optional] Allows to set the total number of floors in the building excluding underground floors. | object | - | |
Number | Total number of floors the building has (excl. underground floors). | non-negative | Max value can be 200. Use Property Details API's floor_count parameter. | |
>>>> PricingType | [Optional] Additional pricing configuration for HotelProduct. | object | - | |
Value | [Optional] Specifies the pricing type for the product. Accepts: Standard, OBP, or LOS. Default: Standard. Note: For length of stay pricing (LOS) and Occupancy Based pricing (OBP), you must be certified to use these pricing types. Please check with the Booking.com Connectivity support team about the certification process. | enumerated string | Use Property Settings API's property_settings.pricing_type parameter. | |
>>>> LongStayInfo | [Optional] Long Stay container object. | object | - | |
AcceptLongStay | [Optional] Whether the property accepts a stay longer than 30 nights. Defaults to No. Accepts: - 0: False - 1: true | boolean | Use Property Settings API's property_settings.long_stay.enabled parameter. | |
MaxLengthOfStay | [Optional] The maximum length of stay that a guest can book. Accepts: 45, 60, 75, 90. Defaults to 90. | integer | Use Property Settings API's property_settings.long_stay.max_length_of_stay parameter. | |
>>>> BookingModel | [Optional] Booking model of the property. Supports request to book or instant booking (default value). | object | - | |
Type | [Required] Specifies whether the property supports request to book feature. Accepts: - RTB: Enables request to book - IB: (default) Enables instant booking. Disables request to book. | enumerated string | Use Property Settings API's booking_model parameter. |
Request body
The following is a request body example:
<?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="The Best Hotel"
LanguageCode="en"
HotelDescriptiveContentNotifType="New">
<ContactInfos>
<ContactInfo ContactProfileType="PhysicalLocation">
<Addresses>
<Address>
<!-- Replace the {PlaceHolders} in the following lines! -->
<AddressLine>{AddressLine}</AddressLine>
<CityName>{CityName}</CityName>
<PostalCode>{PostalCode}</PostalCode>
<CountryName>{CountryCode}</CountryName>
</Address>
</Addresses>
</ContactInfo>
<ContactInfo ContactProfileType="general">
<Names>
<Name Language="en">
<GivenName>Jane</GivenName>
<Surname>Doe</Surname>
</Name>
</Names>
<Emails>
<Email>noreply@booking.com</Email>
</Emails>
<Phones>
<Phone PhoneNumber="+31666666666" PhoneTechType="5" />
</Phones>
</ContactInfo>
<ContactInfo ContactProfileType="invoices">
<Names>
<Name Language="en">
<GivenName>Sam</GivenName>
<Surname>Xu</Surname>
</Name>
</Names>
<Addresses>
<Address>
<AddressLine>Herengracht 597</AddressLine>
<CityName>Amsterdam</CityName>
<PostalCode>1017 CE</PostalCode>
<StateProv StateCode="NH" />
<CountryName>NL</CountryName>
</Address>
</Addresses>
<Phones>
<Phone PhoneNumber="+31207777777" PhoneTechType="1" Extension="30" />
</Phones>
</ContactInfo>
</ContactInfos>
<HotelInfo>
<CategoryCodes>
<GuestRoomInfo Quantity="100" />
<!-- Replace the {PlaceHolder} in the following line! -->
<HotelCategory ExistsCode="1" Code="{PropertyClassTypeCode}" />
</CategoryCodes>
<!-- Replace the {PlaceHolder} in the following line! -->
<Position Latitude="{Latitude}" Longitude="{Longitude}" />
<OwnershipManagementInfos>
<OwnershipManagementInfo>
<!-- Replace the {PlaceHolder} in the following line! -->
<CompanyName Code="{LegalEntityID}" />
</OwnershipManagementInfo>
</OwnershipManagementInfos>
</HotelInfo>
<FacilityInfo>
<GuestRooms>
<GuestRoom>
<Amenities>
<Amenity RoomAmenityCode="228" />
</Amenities>
</GuestRoom>
</GuestRooms>
<Restaurants>
<Restaurant RestaurantName='Antekoje' OfferLunch='1' OfferDinner='1'>
<CuisineCodes>
<CuisineCode Code='51'/>
<CuisineCode Code='49'/>
</CuisineCodes>
<OperationSchedules>
<OperationSchedule>
<OperationTimes>
<OperationTime Mon='1' Tue='1' Weds='1' Thur='1' Fri='1' Sat='1' Sun='1' Start='17:30' End='22:00' />
<OperationTime Sat='1' Sun='1' Start='11:00' End='14:30' />
</OperationTimes>
</OperationSchedule>
</OperationSchedules>
<Features>
<Feature DescriptiveText='a la carte'/>
<Feature DescriptiveText='buffet'/>
<Feature DescriptiveText='accepts reservations'/>
<Feature DescriptiveText='outdoor seating'/>
</Features>
<TPA_Extensions>
<Ambiances>
<Ambiance Name='modern'/>
</Ambiances>
<DietaryOptions>
<DietaryOption Name='gluten free'/>
<DietaryOption Name='vegan'/>
</DietaryOptions>
</TPA_Extensions>
</Restaurant>
</Restaurants>
</FacilityInfo>
<Policies>
<Policy>
<PolicyInfo CheckInTime="16:00" CheckOutTime="11:00"/>
<PetsPolicies PetsAllowedCode="Pets By Arrangements">
<PetsPolicy NonRefundableFee="free" />
</PetsPolicies>
<CancelPolicy>
<CancelPenalty PolicyCode="43" />
<CancelPenalty PolicyCode="1" />
</CancelPolicy>
<GuaranteePaymentPolicy>
<GuaranteePayment PolicyCode="43" />
<GuaranteePayment PolicyCode="1" />
</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="500" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="1" >
<TPA_Extensions>
<InternetFeePolicy InternetType="wifi" InternetCoverage="public_areas" />
</TPA_Extensions>
</FeePolicy>
<FeePolicy Code="5036" Amount="350" 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>DescriptiveText
The Feature[DescriptiveText] accepts the following values. Each value corresponds with a similarly named setting on the Facilities & Services page on our Extranet. Some options appear only when the Restaurant checkbox is selected.
| Value | Description |
|---|---|
a la carte | The restaurant offers à la carte dining. |
buffet | The restaurant has a buffet. |
guests only | The restaurant only serves guests of the property. |
accepts reservations | Customers can reserve a table at the restaurant. |
outdoor seating | The restaurant offers outdoor seating. |
ContactProfileType
ContactInfo[ContactProfileType] accepts the following values. Each value corresponds with a similarly named heading on the Contacts page in our extranet.
A property must have all the required contact profiles before you can open it.
| Value | Description | Required |
|---|---|---|
general | Primary point of contact for the property. | Required |
contract | Contact for contract matters. | Optional |
reservations | Contact for reservations. | Optional |
invoices | Contact for accounts payable. | Optional |
availability | Contact for questions about availability. | Optional |
site_content | Contact for photos, descriptions, and other website content. | Optional |
parity | Contact for pricing and rate matters. | Optional |
requests | Contact for special requests. | Optional |
central_reservations | Contact for central reservations. Applies to properties that manage reservations from another location. | Optional |
Response body example
The following is a successful response body example:
<?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="Test" Version="3.000">
<UniqueID Type="10" ID="{PropertyID}" />
<Success />
</OTA_HotelDescriptiveContentNotifRS>
<!-- RUID: [XXXXXXXXXXXXXXXXXXXXXXXXXXX==] -->Response body parameters
The following table describes the response elements:
| Element | Description | Type | Notes |
|---|---|---|---|
OTA_HotelDescriptiveContentNotifRS | Contains the response data. | object | |
> warnings | Contains potential warnings. These can help you improve your requests. | array | |
> errors | Contains potential errors. These can help you understand what went wrong with your request. | array | |
> success | Indicates the success of the request. | object | |
ruid | Specifies the unique ID of the request. | string | You can send this ID to Booking.com's Connectivity support team if you run into an issue. This can help to understand what went wrong. |
Copying fees forward
When a property has set up a tax or fee change at a future moment in time in the extranet, Booking.com systems automatically copy the other existing fees to the future period. Looking at the table below, this means that at the future moment in time the updated fees will become effective.
| Fee | Now | Future moment in time (for example, 01/01/2023) |
|---|---|---|
| VAT | 8% | 9% |
| Cleaning fee | €50 per stay | €50 per stay |
| City Tax | €5 per day | €5 per day |
However, if you make changes via the Content API (/ota/OTA_HotelDescriptiveContentNotif endpoint) after the future fee change was set up, Booking.com systems did not automatically copy the updated fees to the future period. Looking at the table, you can see that when you change the cleaning fee value via the Content API, it does not get copied forward to the future moment in time.
| Fee | Now | Future moment in time (for example, 01/01/2023) |
|---|---|---|
| VAT | 8% | 9% |
| Cleaning fee | €70 per stay | €50 per stay |
| City Tax | €5 per day | €5 per day |
To mitigate this behavior, the Content API now has a setting (TPA_Extensions > OverwriteFutureFees) with a default setting (1) to copy any fee changes to the future moment in time. If you want to turn off this behavior, you can send a request by setting the value to 0.
Partial example
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelDescriptiveContentNotifRQ Target="Production">
<HotelDescriptiveContents>
<HotelDescriptiveContent
HotelName="The Best Hotel"
LanguageCode="en"
HotelDescriptiveContentNotifType="Overlay">
<Policies>
<Policy>
<PolicyInfo CheckInTime="16:00" CheckOutTime="11:00"/>
<PetsPolicies PetsAllowedCode="Pets By Arrangements">
<PetsPolicy NonRefundableFee="free" />
</PetsPolicies>
<CancelPolicy>
<CancelPenalty PolicyCode="43" />
<CancelPenalty PolicyCode="1" />
</CancelPolicy>
<GuaranteePaymentPolicy>
<GuaranteePayment PolicyCode="43" />
<GuaranteePayment PolicyCode="1" />
</GuaranteePaymentPolicy>
<TaxPolicies>
<TaxPolicy Code="36" Percent="900" DecimalPlaces="2" Type="Inclusive" ChargeFrequency="12" />
</TaxPolicies>
<FeePolicies>
<FeePolicy Code="5009" Amount="7000" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="12" />
<FeePolicy Code="3" Amount="500" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="1" />
<FeePolicy Code="5036" Amount="350" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="2" />
</FeePolicies>
<TPA_Extensions OverwriteFutureFees='1' />
</Policy>
</Policies>
</HotelDescriptiveContent>
</HotelDescriptiveContents>
</OTA_HotelDescriptiveContentNotifRQ>Enabling request to book
Booking.com supports two types of booking flow depending on the partners choice:
- Instant booking (IB): The existing booking flow where guests search and book a stay instantly with the option to pay immediately or at the property depending on the cancellation policy.
- Request to book (RtB): (a.) Guests who want to stay at the partner's property send them a booking request at least three days before check-in. (b.) Partner receives a booking request notification and has 24 hours to accept or decline it. (c.) If the partner accepts the request, the guest has 24 hours to complete their booking and confirm their stay. If they don’t complete the booking in time, the request will expire and no reservation will be made.
Availability for request to book are shown to guests only when the stay dates are 3 or more days in the future.
RtB can only be enabled for new properties meeting certain eligibility criteria.
In order to make use of the Content API to change a property's booking model to RtB, you must have the content_api_rtb_enabled feature on. You can do this in the provider portal by going to your feature management.
If RtB feature is not specified in the /ota/OTA_HotelDescriptiveContentNotif request, then the property is configured for instant booking (IB) booking flow.
Partial example
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelDescriptiveContentNotifRQ Target="Production">
<HotelDescriptiveContents>
<HotelDescriptiveContent
HotelName="The Best Hotel"
LanguageCode="en"
HotelDescriptiveContentNotifType="New">
<TPA_Extensions>
<BookingModel Type="RTB"/>
</TPA_Extensions>
</HotelDescriptiveContent>
</HotelDescriptiveContents>
</OTA_HotelDescriptiveContentNotifRQ>Error codes
BuildHotel error
If you receive the BuildHotel error, try to resend the same building request again until you receive a success response. The system excludes properties built with the BuildHotel error, which are automatically set to Closed (status). In case the BuildHotel error does not disappear, contact Connectivity Support.