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.
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:
- Explore available facilities, facility IDs and other related details through the meta endpoint.
- Add, update, or remove property facilities.
- Get the list of facilities set for the property.
- Add, update, or remove room facilities.
- Get the list of facilities set for the room.
- Manage bathroom facilities.
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:
- Explore available charge types and their related details through the meta endpoint.
- Retrieve, add, update, or remove property and room charges.
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.
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.
Test the feature on a per-request basis. For example, when sending the request, attach to your HTTP Header
Features
valuedomain_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.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.
Ignored root parameter in HDCN | Notes |
---|---|
>> HotelDescriptiveContent > ID | Specifies a custom property ID. |
>> HotelDescriptiveContent.HotelName | |
>> HotelDescriptiveContent > LanguageCode | |
>> HotelDescriptiveContent > CurrencyCode | |
>>>>> HotelCategory | |
>>> ContactInfos | Where ContactProfileType=PhysicalLocation |
>>>> Position | |
>>>>> PolicyInfo.CheckInTime | |
>>>>> PolicyInfo.CheckOutTime | |
>>> AffiliationInfo > Awards > Award.Rating | |
>>> HotelInfo.Languages | Contains the language(s) spoken at the property. |
>> OwnershipManagementInfo > CompanyName.Code | |
>>>> TotalNumberOfFloors.Number | |
>>>>> GuestRoomInfo.Quantity |
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 HDCN | Notes |
---|---|
HotelInfo > TPA_Extensions > PaymentPreferences | |
TPA_Extensions > GuestInformation | Affecting data related to booker address, curfew, age restrictions |
TPA_Extensions > LongStayInfo | |
TPA_Extensions > PricingType | |
HotelInfo -> Services -> Service | Only 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 HDCN | Notes |
---|---|
TPA_Extensions > StandardPhrases | Including 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
Ignored root parameter in HDCN |
---|
TPA_Extensions > CancellationGracePeriod > HoursAfterBooking |
TPA_Extensions > CancellationGracePeriod > WeeksBeforeCheckIn |
Feature domain_update_lock_settings_age_buckets
Ignored root parameter in HDCN | Notes |
---|---|
TPA_Extensions > AgeBuckets | Affecting only AgeBuckets in the Policy. |
Feature domain_update_lock_settings_cp
Ignored root parameter in HDCN | Notes |
---|---|
Policies > Policy > PolicyInfo | Affecting only AcceptedGuestType and MinGuestAge |
Policies > Policy > FeePolicies | Affecting only Fee Policies with Code that has values: 37, 38, 44 |
Feature domain_update_lock_settings_invoice
Ignored root parameter in HDCN | Notes |
---|---|
ContactInfos > ContactInfo | In 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 > InvoiceDetails | Brazil 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 HDCN | Notes |
---|---|
>>> 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 HDCN | Notes |
---|---|
FacilityInfo -> Restaurants | |
HotelInfo -> Services -> Service | Service[@Code]=312 (All Spaces Non-Smoking (public and private)) will not be affected as its part of Property Settings API |
Policies -> FeePolicies -> TPA_Extensions -> InternetFeePolicy | FeePolicy[@Code=5035] |
Policies -> FeePolicies -> TPA_Extensions -> ParkingFeePolicy | FeePolicy[@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 HDCN | Notes |
---|---|
Policies - > FeePolices | Excluding: - 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:
Ignored root parameter in HDCN |
---|
Policies - > GuaranteePaymentPolicy |
Policies - > CancelPolicy |
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.