Last updated
The `OTA_HotelDescriptiveContentNotif` (HDCN) endpoint is now under deprecation

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.

Property API is now generally available

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.
Usage of certain words are restricted as property names

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_HotelDescriptiveContentNotif
Each property must have at least one cancellation policy

When 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 returns Cannot create a hotel because UFI country (countryCode) is different from property country (countryCode).
  • Make sure the phone numbers specified under ContactInfos ... >... Phone match with the regional specification and the category specified under PhoneTechType.
  • 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.

ElementAttributeDescriptionTypeMigration strategy
OTA_HotelDescriptiveContentNotifRQ[Required] Root elementobjectUse 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 stringUse 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.
stringUse Property API's property_name parameter.
ID[Optional] Specifies a custom property ID. Recommended for new properties.stringUse 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 stringUse 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 stringUse 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 stringUse 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 detailsobject
Provider[Optional] Specifies the type of award. Accepts: Star ratingenumerated string
Rating[Optional] Specifies the number of stars. Accepts values: 05. Some countries don't use star ratings.integerUse Property API's star parameter.
>>> AreaInfoContains details about attractions and amenities near the property.objectoptional
>>>> AttractionsContains details about attractions and amenities near the property.objectoptional
>>>>> AttractionContains attraction details near the property.objectoptional
AttractionCategoryCodeSpecifies the attraction Category Code.enumerated stringrequired
AttractionNameSpecifies the attraction name (in LanguageCode).stringrequired
DistanceSpecifies the distance from the property to the attraction site (in DistanceUnit).floatrequired
DistanceUnitSpecifies the measurement unit for Distance.enumoptional
LanguageCodeSpecifies the Booking.com language code used for the attraction information.enumerated stringoptional
>>> ContactInfos[Optional] Contains contact information.object
>>>> ContactInfo[Optional] Contains contact details of individual person/channel.
See contacts[].ContactProfileType.
objectUse Contacts API.
ContactProfileType[Required] Specifies the type of contact.enumerated stringUse 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.
booleanUse 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 stringUse 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.
stringUse Contacts API's contacts[].​address.address_line parameter.
>>>>>>> CityName[Required] Specifies the name of the city, town, or village.stringUse 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 stringUse 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.objectUse Property Details API's translations[].​property_name parameter.
>>>>>>> PostalCode[Optional] Specifies the postal/zip code.stringUse 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.stringStateCode 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 EmailUse Contacts API.
>>>>>> Email[Optional] Contains the email address details.array of EmailUse 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 NameUse Contacts API's contacts[].contact_person.name parameter.
Language[Optional] Specifies the contact person's preferred language of communication.stringUse 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 "").
enumUse 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.BCJTUse 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".
stringUse Contacts API's contacts[].phones.extension parameter.
PhoneNumber[Optional] Specifies the international phone number.
Follows the format: \+[0-9]+
stringUse 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 stringUse Contacts API's contacts[].phones.phone_tech_type parameter.
>>> FacilityInfo[Optional] Contains property's facility details.objectUse either Facilities or Rooms APIs.
>>>> GuestRooms[Optional] Contains property's room details.object All content that are struck-through are deprecated and not supported anymore.
>>>>> GuestRoom[Optional] Contains property's room details.object
>>>>>> Amenities[Optional] Contains property's amenities details.object
>>>>>>> Amenity[Optional] Contains property's amenity details.object
RoomAmenityCode [Required] Specifies a collection of room amenity type codes. For a list of supported room amenity type codes, see Room Amenity Type Code.enumerated string
AmenityCode[Required] Specifies the room amenity type code. Same as RoomAmenityCode, introduced for compatibility with OTA_HotelInvNotifRQ.enumerated string
Quantity[Optional] Specifies the available number of amenities of this type.integer-
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[Optional] Specifies the available number of amenities of this type. Same as Quantity, introduced for compatibility with OTA_HotelInvNotifRQ.enumerated string
>>>> Restaurants[Optional] Contains property's restaurant details.object
>>>>> Restaurant[Optional] Contains individual restaurant details.objectUse 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)
integerUse 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)
integerUse 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)
integerUse Facilities API's data[].​instances[].​restaurant_details.​open_for_meals_list parameter.
OfferLunch[Optional] Specifies whether the restaurant offers lunch.
integerUse Facilities API's data[].​instances[].​restaurant_details.​open_for_meals_list parameter.
RestaurantName[Optional] Specifies the name of the restaurant.stringUse 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 stringUse 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.objectUse 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)
integerUse 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)
integerUse 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)
integerUse 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)
integerUse 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)
integerUse 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)
integerUse 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)
integerUse 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 stringUse 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 stringUse 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 stringUse 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 stringUse 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 stringUse 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.
integerUse 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 stringUse 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 stringUse Property details API's languages_spoken parameter.
>>>> Position[Optional] Contains the geographical coordinates of the property.object-
Latitude[Required] Specifies the latitude coordinates.latitudeUse Property details API's position.​latitude parameter.
Longitude[Required] Specifies the longitude coordinates.longitudeUse 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 stringUse 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 stringUse 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 stringUse 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).integerUse 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.currencycodePrice 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 stringUse 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 stringUse 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.
integerUse Property details API's legal_entity_id parameter.
>>>> RelativePositionsContains the travel routes to and from the property. array of RelativePosition-
>>>>> RelativePositionContains the details of a travel route to or from the property.objectCan contain multiple RelativePosition elements.
>>>>>> TransportationsContains an array of Transportation object-
>>>>>>> TransportationContainer for TPA_Extensions.objectCan contain multiple Transportation elements.
>>>>>>>> TPA_ExtensionsContainer for Route.objectCan contain multiple TPA_Extensions elements.
>>>>>>>>> RouteContains the details of a travel route.object-
>>>>>>>>>> LegContains the details of the starting point, destination, and transport method. object-
>>>>>>>>>>> DepartureContains the departure times. object-
IntervalContains the departure interval in minutes, if the transportation departs multiple times a day.integer-
UponArrangementSpecifies whether the transportation is available only by arrangement.integerSupported values are:
- 1 = true.
- 0 = false.
>>>>>>>>>>> JunctionContains details of the motorway/highway junction/exit to take. object-
NameSpecifies the name of the junction/exit to take, if travelling by car.stringOnly allowed when TransportType[Code="5"].
>>>>>>>>>>> LineContains the public transport line details.objectoptional
NameSpecifies the name or number of the line to take, if travelling by shuttle or public transport.stringOnly allowed when TransportType[Code] is 3, 10, 18, 22, or 5001.
>>>>>>>>>>> MotorwayContains details of the motorway/highway details.object-
NameSpecifies the name of the motorway to take, if travelling by car.stringOnly allowed when TransportType[Code="5"] (car).
>>>>>>>>>>> StartContains the starting point details.object-
TypeSpecifies the type of starting point.enumerated stringAccepted values: airport
CodeSpecifies the 3-letter IATA code of the airport that serves as the starting location.enumerated stringFor a list of supported IATA codes, see IATA.
>>>>>>>>>>> TransportTypeContains the transportation mode.object-
CodeSpecifies the transportation code for the Leg's transportation type.integerFor a list of supported values, see Transportation code.
>>>>>>>>>> JourneyTimeContains the travel time details.object-
MinutesSpecifies the journey time in minutes.integer-
>>>>>>>>>> PriceContains the travel price details.object-
AmountSpecifies the estimated price of the journey, in CurrencyCode.real-
CurrencyCodeSpecifies the currency code.currencycode-
>>>> TPA_Extensions[Optional] Container for AcceptedPayments, and InvoiceDetails.object-
>>>>> AcceptedPayments[Optional] Contains the details of the payment methods.
Can contain multiple AcceptedPayments elements.
objectUse 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.BCPTUse 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.objectUse 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 stringUse Property Settings API's invoice_settings.​brazil_tax_details.​tax_payer_number_type parameter.
>>>>>> InvoiceTaxNumberRequired.string
Code[Required] The identifying number. Length depends on the value of InvoiceTaxType[Type].
CNPJ = 14 digits. CPF = 11 digits.
stringUse Property Settings API's invoice_settings.​brazil_tax_details.​tax_payer_number parameter.
>>>>>> InvoiceAddressRequiredstring-
Email[Required] Email address of invoice recipient.stringUse Property Settings API's email parameter.
>>>>>>> CityHallInfoRequiredstringUse 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.stringUse Property Settings API's invoice_settings.​brazil_tax_details.​city_hall_id parameter.
>>>>>>> BirthDateOptionalstring
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.
booleanUse 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.
booleanUse 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 stringUse 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 stringUse Property Details API's check_out.​from and check_out.​until parameters.
TotalGuestCount[Optional] The total number of guests that can stay at the property at a given time. integer -
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 stringUse Property Settings API's children_policies.​allow_children parameter.
MinGuestAge[Optional] Specifies the minimum age that children are allowed (in case ChildrenAllowed).integerUse Property Settings API's children_policies.​min_age parameter.
>>>>> CancelPolicy[Optional] Policies around cancellations and no-shows.array of CancelPenaltyUse 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 stringUse 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 stringUse 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 stringUse 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 stringAccepts:
- free (default)
- charges_may_apply Use Property Settings API's pets.​pets_price_type parameter.
>>>>> GuaranteePaymentPolicy[Optional] Policies around refunds.array of GuaranteePaymentUse 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_madeenumerated stringUse 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.FTTUse the Charges API's property_charges[].​charge_key.​type parameter.
Amount[Optional] The amount charged in the country's local currency.integerInstead 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-negativeUse 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 stringUse 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 stringUse 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.
stringUse 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.FTTUse 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.priceInstead 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: 0integer
Percent[Optional] The percentage of the room price that will be added as a fee. Only allowed if Amount is not provided.non-negativeUse 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 stringUse 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 stringUse 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.
integerUse 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.
integerUse 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.stringUse 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 stringNot 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: wifienumerated stringUse 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_propertyenumerated stringUse 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.objectUse 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_siteenumerated stringUse 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_availableenumerated stringUse 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: publicenumerated stringUse Facilities API's property_facility_meta.​required_details_list[].​parking_access parameter.
>>> TPA_ExtensionsOptional. 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.objectUse Property Settings API's standard_phrases parameter.
Enabled[Required] Specifies whether the standard phrase is enabled. Supported values are:
- 1 = true.
- 0 = false.
integerUse 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 stringUse 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 stringUse 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).integerUe 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).integerUse 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).integerUse 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.integerUse 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.integerUse 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).integerUse Property Settings API's property_settings.​curfew.​enabled parameter.
CurfewStart[Optional] Curfew start time in HH:MM format. Only effective when HasCurfew=1.stringUse Property Settings API's property_settings.​curfew.start parameter.
CurfewEnd[Optional] Curfew start time in HH:MM format. Only effective when HasCurfew=1.stringUse 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).integerUse 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).integerUse 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)?integerAccepts: 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.
integerUse 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.integerUse 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[Optional] Feature objectobject-
Enabled[Optional] Enable/disable the feature for current property. 1 - opt in to the feature. 0 - opt out of the feature.boolean
>>>> CancellationGracePeriod[Optional] Cancellation exceptions container object.objectUse 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.integerUse 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, 12integerUse 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-
NumberTotal number of floors the building has (excl. underground floors).non-negativeMax 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 stringUse 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
booleanUse 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.
integerUse 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 stringUse 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.

ValueDescription
a la carteThe restaurant offers à la carte dining.
buffetThe restaurant has a buffet.
guests onlyThe restaurant only serves guests of the property.
accepts reservationsCustomers can reserve a table at the restaurant.
outdoor seatingThe 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.

ValueDescriptionRequired
generalPrimary point of contact for the property.Required
contractContact for contract matters.Optional
reservationsContact for reservations.Optional
invoicesContact for accounts payable.Optional
availabilityContact for questions about availability.Optional
site_contentContact for photos, descriptions, and other website content.Optional
parityContact for pricing and rate matters.Optional
requestsContact for special requests.Optional
central_reservationsContact 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:

ElementDescriptionTypeNotes
OTA_HotelDescriptiveContentNotifRSContains the response data.object
> warningsContains potential warnings. These can help you improve your requests.array
> errorsContains potential errors. These can help you understand what went wrong with your request.array
> successIndicates the success of the request.object
ruidSpecifies the unique ID of the request.stringYou 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.

FeeNowFuture moment in time (for example, 01/01/2023)
VAT8%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.

FeeNowFuture moment in time (for example, 01/01/2023)
VAT8%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.
Note

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.

RtB Provider Feature

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.

Next steps