Last updated

Property Management APIs

Booking.com provides multiple APIs to manage focussed sections of your property and its content. These APIs are part of the initiative to modularise the Content API (used to create and open properties on Booking.com).

Authentication

The Property Management APIs use the same authentication methods as other APIs.

Property API

Create and manage a property by providing only the basic required details.

What can you do with Property API?

The following are the benefits of using the property-api:

  • Create or update a property's details such as name, property category, check in/out time and physical location without impacting other information.
  • Edit the property location by changing the property's latitude and longitude values.
  • Specify an external property ID while creating a property. This could be the ID of the property within your system and may be useful for you while you're debugging or testing your integration.
  • Create a property ID quickly by providing minimum information. Add the rest of the details later using other endpoints.
  • See an improved request and response body structure in Json.
  • Get familiar with the validation checks for property creation and property updates early.

For more details on the Property API, see Managing property details.

Difference in request parameters between Content API and Property API

To see the difference in request parameters between the OTA_HotelDescriptiveContentNotif and property-api endpoints, see the Root parameter in HDCN column under the Request body parameters table.

Managing property settings

Use the Property API's settings endpoint to manage settings at the property level like property's location coordinates, pets allowance, children policies and so on. For more information, see managing property settings.

Contacts API

Use the Contacts API to create and manage property contact information. To open/list a property on Booking.com, a general/primary point of contact is required.

In addition, you can:

  • Create one contact and use the same contact information to represent multiple contact profile types.
  • Replace multiple contact details using a single request.

What you can do with the Contacts API

The following are the benefits of using the contacts-api endpoint:

  • Just send only contacts information and no other property information.
  • You can update any contact details including of types: General when the property is open and bookable.
  • You can use the same contact details for multiple contact types. This reduces creating duplicate contacts for different purposes.
  • Get familiar with the validation checks early.
  • See an improved request and response body structure in Json.

For more details on the Contacts API, see Managing contact details.

Difference in request parameters between Content API and Contacts API

To see the difference in request parameters between the OTA_HotelDescriptiveContentNotif (HDCN) and contacts-api endpoints, see the Root parameter in HDCN column under the Request body parameters table.

For all other APIs except property details, you need to specify a property ID

You need to specify a property ID to create contacts, room details, facilities & amenities or taxes & fees for a property and to set property settings.

Facilities API

Use the Facilities API to manage facilities at both the property and room-level.

Using the Facilities API, you can:

For more information, see the introduction to the Facilities API.

Charges API

Use the Charges API to manage charges at both the property and room-level.

Using the Charges API, you can:

For more information, see the introduction to the Charges API.

Rooms API

Use the Rooms API to manage rooms, configure bed arrangements, and set occupancy limits among other tasks.

Using the Rooms API, you can:

  • Retrieve information about room types, room names and bed types supported by Rooms API in the language of your choice through the meta endpoint.
  • Retrieve, add, update, or remove rooms.

For more information, see the introduction to the Rooms API.

Using Property Management APIs along with Content API

The following section lists the recommended approach when using any of the Property Management APIs along with the Content API.

The Content API's default overlay behavior treats missing data in updates as intentional omissions. This can accidentally remove data you've set through any of the Property Management APIs if you don't include the same data in subsequent HDCN requests.

To prevent this issue and maintain your new API's data even when it's not included in HDCN updates, Booking.com is introducing a domain_update_lock_<api_name> feature.

How to use the new domain update lock feature?

This section provides guidance on how to enable the domain update lock feature if you continue to use the Content API (OTA_HotelDescriptiveContentNotif) endpoint along with the Property Management APIs.

  1. Keep your existing HDCN request unchanged and continue to send the full HDCN request without omitting any details. When the feature is on we ignore the related updates in HDCN. Note that the request must be valid and pass existing validations.

  2. Test the feature on a per-request basis. For example, when sending the request, attach to your HTTP Header Features value domain_update_lock_charges. You can specify multiple feature names separated by a comma to include multiple features at the same time. See Testing the domain_update_lock_charges feature.

  3. Once satisfied with the responses from both the OTA_HotelDescriptiveContentNotif and the Property Management API, switch the feature on for all your requests using the Provider Portal.

    a. Navigate to the Provider Portal. Log in with your credentials. Click Administration -> Feature Management.

    b. Enable the domain_update_lock_charges feature and click Save.

For more information on using Charges API along with the Content API, see Using Charges API along with Content API.

Using Property Details API along with Content API

To prevent your Property Details API related data from being accidentally updated via HDCN updates, Booking.com has introduced the domain_update_lock_property_general_info feature. This feature only applies to connectivity partners who have implemented the Property Details API.

Continue sending the full HDCN payload without omitting any information and enable the feature domain_update_lock_property_general_info after you have tested and implemented the Property Details API.

If you enable the feature domain_update_lock_property_general_info, subsequent HDCN calls will not make updates to the following fields.

For testing the feature, please check section below.

Using Property Settings API along with Content API

Enable the following features once you have tested and implemented the related sections in the Property Settings API. With the features enabled, you can continue to send the full HDCN payload without omitting any information.

Once you have tested and implemented the full functionality of the Property Settings API, you can enable all the domain_update_lock_settings_* features.

Feature domain_update_lock_settings_general
Ignored root parameter in HDCNNotes
HotelInfo > TPA_Extensions > PaymentPreferences
TPA_Extensions > GuestInformationAffecting data related to booker address, curfew, age restrictions
TPA_Extensions > LongStayInfo
TPA_Extensions > PricingType
HotelInfo -> Services -> ServiceOnly applicable for Service[@Code]=312 (All Spaces Non-Smoking (public and private))
Feature domain_update_lock_settings_pets
Ignored root parameter in HDCN
Policies > Policy > PetsPolicies
Feature domain_update_lock_settings_sp
Ignored root parameter in HDCNNotes
TPA_Extensions > StandardPhrasesIncluding HotelChainBedLinen, SecurityDeposit and Renovation with the rest of all Standard Phrases.
Feature domain_update_lock_settings_accepted_pt
Ignored root parameter in HDCN
TPA_Extensions > AcceptedPayments
Feature domain_update_lock_settings_cancel_ex
Feature domain_update_lock_settings_age_buckets
Ignored root parameter in HDCNNotes
TPA_Extensions > AgeBucketsAffecting only AgeBuckets in the Policy.
Feature domain_update_lock_settings_cp
Ignored root parameter in HDCNNotes
Policies > Policy > PolicyInfoAffecting only AcceptedGuestType and MinGuestAge
Policies > Policy > FeePoliciesAffecting only Fee Policies with Code that has values: 37, 38, 44
Feature domain_update_lock_settings_invoice
Ignored root parameter in HDCNNotes
ContactInfos > ContactInfoIn HDCN, the contact where ContactProfileType=invoices is used to update invoice details. In the new APIs, this is updated in Property Settings API and invoice contact in Contacts API.
TPA_Extensions > InvoiceDetailsBrazil tax info
Feature domain_update_lock_settings_french_taxes
Ignored root parameter in HDCN
TPA_Extensions > PropertyTaxInfo
Feature domain_update_lock_settings_rtb
Ignored root parameter in HDCN
TPA_Extensions > RTB

For testing the features, please check section below.

Using Contacts API along with Content API

After fully migrating to Contacts API, you can enable the domain_update_lock_contacts feature to prevent HDCN updating data related to Contacts API.

Ignored root parameter in HDCNNotes
>>> ContactInfos- Where ContactProfileType is not PhysicalLocation.
- Invoice contact (ContactProfileType=invoices), has double purpose in HDCN: to update invoice contact itself and update invoice details. This feature will only lock updating the contact itself. To prevent invoice details from being updated please check domain_update_lock_settings_invoice_settings

For testing the feature, please check section below.

Using Facilities API along with Content API

Facilities API consists of 3 endpoints (Property Facilities, Room Facilities, Bathrooms).

Property Facilities are part of HDCN endpoint and can be locked using domain_update_lock_facilities feature.

Room facilities and Bathrooms are part of OTA_HotelInvNotif (HIN) endpoint, therefore, won't be affected by this feature.

Once you started using Property Facilities in Facilities API, you can choose to enable the feature for locking Property Facilities data domain updates in HDCN.

Ignored root parameter in HDCNNotes
FacilityInfo -> Restaurants
HotelInfo -> Services -> ServiceService[@Code]=312 (All Spaces Non-Smoking (public and private)) will not be affected as its part of Property Settings API
Policies -> FeePolicies -> TPA_Extensions -> InternetFeePolicyFeePolicy[@Code=5035]
Policies -> FeePolicies -> TPA_Extensions -> ParkingFeePolicyFeePolicy[@Code=5036]

For testing the feature, please check section below.

For more information on Facilities API, see Facilities API overview.

Using Charges API along with Content API

To prevent your Charges data from being accidentally deleted when it's not included in HDCN updates, Booking.com has introduced the domain_update_lock_charges feature.

It will affect the following fields:

Ignored root parameter in HDCNNotes
Policies - > FeePolicesExcluding:
- ChildrenPolicy-related FeePolicies: 37, 38, 44
- Parking FeePolicy: 5035
- Internet policy: 5036
Policies - > TaxPolicies

For testing the feature, please check section below.

For more information on Charges API, see Charges API overview.

Using Policies API along with Content API

To prevent your Policy data from being accidentally deleted when it's not included in HDCN updates, Booking.com has introduced the domain_update_lock_cancellation_policies feature.

It will affect the following fields:

For testing the feature, please check section below.

For more information on Policy API, see Policy API overview.

Migrating away from OTA_HotelInvNotif (HIN)

If you are migrating from HIN to Rooms API and Facilities API (Room Facilities and Bathrooms) endpoints, Booking.com currently doesn’t support a feature. We therefore recommend you to migrate to Rooms API and the Room facilities and Bathroom within the Facilities API's in one go.

Testing the features

Enabling the feature impacts all the properties that you manage. Before doing so, to test whether the HDCN call works as intended, pass the feature name in the Header of your HDCN request on a per-request basis.

For example:

curl --location 'https://supply-xml.booking.com/hotels/ota/OTA_HotelDescriptiveContentNotif' \
--header 'Content-Type: text/plain' \
--header 'Authorization: ••••••' \
--header 'Features: domain_update_lock_charges,domain_update_lock_facilities'

If you are satisfied with the feature behaviour, then enable it to omit/ignore any Charges and Facilities related data updates provided in subsequent HDCN calls.

Going live

Before you go live with your API integration, you'll need to meet certain requirements. For more information, see Going Live.

Quick Actions


→ To learn more about the Property API, see Introduction to Property API.
→ To learn more about the Contacts API, see Introduction to Contacts API.