Preparing a property to be open / bookable
To prepare a property to be open so that it is ready for guests to book involves multiple steps. You cannot open a property for stays unless the property has all the minimum requirements defined.
Use the OTA_HotelSummaryNotif
endpoint to check whether the property created in Booking.com has all the necessary content ready to accept reservations from guests. If the property clears all the checks, then you can set the property to open
and bookable.
You can perform the following tasks using the OTA_HotelSummaryNotif
endpoint:
- Check whether the property has all the necessary content required to become open and bookable.
- Change the status of the property to Open and bookable.
- Change the status of the property to be Closed.
Getting ready to open a property for stays
Depending on the property type you want to create, you must use multiple endpoints to define all the information before you can set the property open
for booking. To see the minimum requirements when creating a property, see Minimum requirements to create a property.
At a high level, you must use the following APIs and their endpoints:
Minimum requirements to open a property
For a property to be open and bookable, you need to make sure that you have configured the following content:
Using Licence API (licenses
):
- You may need a licence for the room or property depending on the rules. Check if the property needs a license before creating it. You can check whether a property needs a licence using the licence API. The licence requirement can be at the room-level or property-level.
Using Contracting API
- The accommodation partner needs to have signed contract with Booking.com for the countries in which the properties are located. The contract can be specific to the country the property is located in.
You can retrieve the contract status to check whether the accommodation partner has signed the contract using the Contracting API.
Using OTA_HotelDescriptiveContentNotif
endpoint (Content API):
- 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.
- Specify at least one cancellation policy.
- If the property is one of the following types:
APARTHOTEL
,CAPSULE_HOTEL
,HOTEL INN
,LOVE_HOTEL
,MOTEL RESORT
,RYOKAN
, then provide at least one facility for the property. - If the property is one of the following types:
APARTHOTEL
,APARTMENT
, orCONDO
, you must specify whether the property has a Kitchen or a Kitchenette. For more information, see the [Property class type.(/connectivity/docs/codes-pct.md)
You can update the General and Invoice contact types when the property status is open and bookable. However, you cannot delete the contact types.
Using Photo API (photo-api
):
- Set the property's main photo. Note: If you do not set the property's main photo, then the API selects the first photo in the property-level photo gallery as the main photo.
- Specify a photo for each room type. This applies to all property types excluding:
VILLA
,CHALET
,APARTMENT
,HOLIDAY_HOME
,APART_HOTEL
.
Using Room and Rate Plan Management API:
- Specify at least one roomtype using the
OTA_HotelInvNotif
endpoint and specify the following:- The occupancy based on the roomtype.
- If you optionally specify a name for the roomtype, make sure the room name is appropriate for the room type.
- Specify at least one amenity per room for the property.
- Specify at least one rate plan using the
OTA_HotelRatePlanNotif
endpoint. - Specify at least one roomrate using the
OTA_HotelProductNotif
endpoint.
Using Rates & Availability API (/hotels/xml/availability
):
- Create inventory with a price for at least 1 stay date using the Rates and Availability API.
High-level steps to set a property to Open/bookable
To prepare a property to be open and bookable on Booking.com, you must perform the following steps:
- Verify whether the property fulfils all the necessary requirements to become open and bookable.
- If not all requirements are met, make sure to fix at least the issues mentioned in the errors. For more information on all the possible errors and their resolutions, see the Error guidelines section.
- If the API doesn't return any errors:
- Wait until Booking.com changes the property status to
Ready To Open
. This takes place every day at 12:00 PM CE(S)T. For more information on all the property status changes, see property creation workflow. - Alternatively, you can turn on the feature: Direct to 'Open Bookable' status (
skip_rtc_rto
) to set the property to open/bookable immediately.
- Wait until Booking.com changes the property status to
- Set the property to open and bookable.
Verifying, opening, and closing a property
POST https://supply-xml.booking.com/hotels/ota/OTA_HotelSummaryNotif
This section covers the endpoint and lists the request body and response parameters.
Body parameters
The following table describes what elements you must add in the request body:
Element | Attribute | Description | Type | Required/Optional | Notes |
---|---|---|---|---|---|
OTA_HotelSummaryNotifRQ | Contains the HotelCode attribute, which specifies the property ID of the property you want to perform an action on. | root object | required | ||
>HotelSummaryMessages | Contains the HotelSummaryMessage elements | array | required | ||
>> HotelSummaryMessage | Contains the StatusType attribute, which specifies the action that you want to perform upon the property. | object | required | Possible values are: Check , Open , and Closed . | |
>>> TPA_Extensions | [Only applicable when StatusType is Closed ] Contains the Reason element to include the reason for closure. | object | optional | - | |
>>>> Reason | Specify a description for closing the property. | string | optional | Reason content is required if type is Other | |
Type | Specify the reason for closing from an enumerated list of reasons for closure. | enumerated string | required | Supports the following values: - Season - Renovation - Property_Not_Available - Fully_Booked - Issues_Guests - Issues_Booking - Strategy - Other For more information on the reasons, see Request body example: Closed. |
Request body example: Check
The following is a request body example where you verify whether a property fulfills all the necessary requirements to become open and bookable (with StatusType
="Check"):
<OTA_HotelSummaryNotifRQ HotelCode="12345"> <HotelSummaryMessages> <HotelSummaryMessage StatusType="Check" /> </HotelSummaryMessages> </OTA_HotelSummaryNotifRQ>
Sample response: Check
<OTA_HotelSummaryNotifRS Target="Production"> <Success /> <Warnings> <Warning Code="733" ShortText="Restricted">Warning on check total_num_rooms: Hotel Info: Number of active rooms: 0 </Warning> </OTA_HotelSummaryNotifRS>
If the response contains errors, make sure to fix the specified errors before you can set the property to open
. For more information on all the possible errors and their resolutions, see the Error guidelines section.
Warnings do not prevent you from opening the property, but may point out issues that are worth fixing. Ignore warnings at your own risk.
Request body example: Open
<OTA_HotelSummaryNotifRQ HotelCode="12345"> <HotelSummaryMessages> <HotelSummaryMessage StatusType="Open" /> </HotelSummaryMessages> </OTA_HotelSummaryNotifRQ>
Sample response: Open
<OTA_HotelSummaryNotifRS Target="Production"> <Success /> <Warnings> <Warning Code="733" ShortText="Restricted">Warning on check total_num_rooms: Hotel Info: Number of active rooms: 0 </Warning> </OTA_HotelSummaryNotifRS>
Request body example: Closed
You can temporarily close a property and prevent it from appearing on Booking.com. Booking.com recommends that you add a reason and closure type for closing a property. You can select from one of the following reasons:
Season
: The property is closed during certain months of the year. For example, during winter.Renovation
: The property is under renovation.Property_Not_Available
: The property is closing the business indefinitely due to public crisis/government regulations.Fully_Booked
: The property is sold out through Booking.com, other websites or direct booking.Issues_Guests
: Select this option for any of the following reasons:- The property can't review guests,
- Guests caused property damages,
- Guests from Booking.com cancel too often,
- Guests don't pay.
Issues_Booking
: Select this option for any of the following reasons:- The property lacks support from Booking.com,
- The property feels that the commission is too high,
- The property faces issues with payments,
- The property faces issues with Extranet or other tools,
- The property prefers direct selling.
Strategy
: Select this option for any of the following reasons:- The property is not sure about the price in the long term,
- The property wants to avoid cancellations,
- The property is planning to switch to a new property management company,
- The property's staff are on holiday.
Other
To change or update a property content, you do not need to close the property. You can make the necessary changes when the property is in open
status with a few exceptions that you can only perform when the property is in XML: Being built
status. For more information, see property statuses.
<OTA_HotelSummaryNotifRQ HotelCode="12345"> <HotelSummaryMessages> <HotelSummaryMessage StatusType="Closed"> <TPA_Extensions> <Reason Type="Other">Include a description</Reason> </TPA_Extensions> </HotelSummaryMessage> </HotelSummaryMessages> </OTA_HotelSummaryNotifRQ>
Sample response: Closed
<OTA_HotelSummaryNotifRS Target="Production"> <Success /> <Warnings> <Warning Code="733" ShortText="Restricted">Warning on check total_num_rooms: Hotel Info: Number of active rooms: 0 </Warning> </OTA_HotelSummaryNotifRS>
Response body
The following table describes the elements of the response body:
Element | Description | Type | Notes |
---|---|---|---|
OTA_HotelSummaryNotifRS | Contains the Target attribute, which specifies whether the property is in Test or Production | object | |
> Success | Indicates the success of the request. | object | This element only appears when you receive no errors. |
> Errors | Contains the Error elements that need to be resolved before you can make the property open and bookable. | array | |
>> Error | Specifies a specific error. Contains the attributes Code , which specifies the error code, and ShortText , which provides a short description of the error. | string | |
> Warnings | Contains the Warning elements. | array | |
>> Warning | Specifies a specific warning. A warning does not prevent you from making the property open and bookable, but they provide useful information to further improve the property's content. | string |
Error guidelines
Before your property can become Open
/ bookable on Booking.com, it needs to pass some validations. For more information, see Check a property's content.
This page contains a list of errors with Error Message
they produce on OTA_HotelSummaryNotif Endpoint, their descriptions and possible resolution steps.
Please note the message type for each message:
Type
Error
means this is a blocker and you can't proceed with going toOpen
status.Type
Warning
means something is uncertain, but you can still proceed.
List of property-level errors
Caused by Object | Error Message | Message Type | Description | Resolution | Notes |
---|---|---|---|---|---|
OTA_HotelDescriptiveContentNotif -> ContactInfos -> Phones | The phone number (number) is not valid for international calling | Error | One or more of the contact phones of the property is not in international format. | Update the property details with correct phone numbers. | - |
OTA_HotelDescriptiveContentNotif -> ContactInfos -> Emails | The email address (email) is invalid | Error | One or more of the contact emails of the property is not valid. | Update the property details with correct emails. | - |
OTA_HotelDescriptiveContentNotif -> HotelName | Hotel has non-Latin characters in name | Error | Property names can only contain latin letters and numbers. | Update the property details with a proper name. | - |
availability | No availability pushed | Error | Property can not go to "Open" state without any availability pushed. | Push availability. | - |
OTA_HotelDescriptiveContentNotif -> HotelInfo -> Services | No hotel facilities defined | Error | Property does not have any facilities set. | Update the property facilities. | - |
OTA_HotelDescriptiveContentNotif -> Policies | No general policy defined | Error | Property does not have any policies set. | Update property policies to have at least one PolicyName="General". | - |
OTA_HotelDescriptiveContentNotif -> Policies | No policies defined | Error | Property does not have any policies set. | Update property policies. | - |
OTA_HotelDescriptiveContentNotif -> Policies | All policies are disabled, not existing policies | Error | Property has all policies disabled, or does not have any policies. | Update property policies, create at least one policy and activate it. | - |
OTA_HotelDescriptiveContentNotif -> ContactInfos -> Addresses -> Phones | Hotel has non-Latin characters in city | Error | City name of the property contains non-latin letters. | Update the property details with a proper city name. | - |
OTA_HotelDescriptiveContentNotif -> ContactInfos -> Addresses | Hotel has non-Latin characters in address | Error | City name of the property contains non-latin letters. | Update the property details with a proper address. | - |
OTA_HotelDescriptiveContentNotif -> ContactInfos -> Addresses | No resolvable address is specified | Error | System marks the property address as invalid. | Update the property details with a properly resolvable address. | - |
OTA_HotelRatePlanNotifRQ -> RatePlans | No rates defined | Error | Property does not have any rates. | Update rate plans and create at least one rate plan. | - |
OTA_HotelProductNotifRQ -> HotelProducts | No products defined | Error | Property does not have any products. | Create a product for the property. | - |
OTA_HotelDescriptiveContentNotif -> ContactInfos | No contacts specified | Error | Property does not have any contacts. | Update the property details with at least one contact. | - |
OTA_HotelProductNotifRQ -> HotelProducts | Hotel has a mix of domestic (number) and non-domestic (number) products | Error / Warning | Property has both domestic and non-domestic products. | Update property products to make sure you only have products of one category. | This can be either an error or a warning, depending on the type of accommodation. |
OTA_HotelDescriptiveContentNotif -> Policies | Policy (policy_id) has no prepayment required | Error | Specified policy does not have a prepayment defined. | Update property policies and define a prepayment for specified (policy_id). | - |
OTA_HotelDescriptiveContentNotif -> ContactInfos | No general contact is specified in the correct format | Error | Property does not have a correct general contact specified. | Update the property details with proper general contact. | - |
OTA_HotelDescriptiveContentNotif -> ContactInfos -> Addresses | Postal code not correct | Error | Property postal code is invalid. | Update the property details with a valid postal code. | - |
OTA_HotelDescriptiveContentNotif -> HotelInfo -> CategoryCodes -> HotelCategory | Hotel type not set | Error | Property does not have a proper accommodation type. | Update the property details with a suitable accommodation type. | - |
OTA_HotelDescriptiveContentNotif -> Policies | Invalid checkin/checkout | Error / Warning | Property check-in/check-out times are invalid. | Update property policies with proper check-in/check-out times. | This can be either an error or a warning, depending on the accommodation type. |
OTA_HotelDescriptiveContentNotif -> HotelInfo -> OwnershipManagementInfos | No company name for invoicing found | Warning | Property does not have a valid company name set for invoicing. | Update the property details with proper invoice details. | - |
OTA_HotelDescriptiveContentNotif -> HotelInfo -> CategoryCodes -> GuestRoomInfo -> Quantity | The number of rooms are not specified | Error | Property does not have any rooms. | Specify the quantity of room in GuestRoomInfo object. | - |
List of room-level errors
Object | Message | Message Type | Description | Resolution | Notes |
---|---|---|---|---|---|
OTA_HotelInvNotif -> SellableProducts -> GuestRoom | No rooms active | Error | Property does not have any active rooms. | Activate a room. | - |
OTA_HotelInvNotif -> SellableProducts -> GuestRoom | (number) duplicates for room name (room_name) (room_ids_list) | Error | Duplicated rooms were found for this property. | Update room details - delete or rename rooms with duplicated names. | - |
OTA_HotelInvNotif -> SellableProducts -> GuestRoom | Undefined room type (room_id) | Error | Room with specified room_id does not have a type defined. | Update room details with proper type. | - |
OTA_HotelInvNotif -> SellableProducts -> GuestRoom | Unhandled room type (room_type_id) for room (room_id) | Error | The room type ID for specified room_id is invalid. | Update room details with proper type. | - |
OTA_HotelInvNotif -> SellableProducts -> GuestRoom | Room (room_id) does not have a kitchen or a kitchenette. | Warning / Error | Specified room is missing a kitchen or kitchenette. | Update room details with kitchen or kitchenette. | This can be either an error or a warning, depending on the type of accommodation and the status of the room (active room = error, inactive room = warning). |
OTA_HotelInvNotif -> SellableProducts -> GuestRoom | Room name for room (room_id) (room_name) does not correspond to RoomType (room_type_name) | Warning / Error | Room name does not correspond to Room Type. | Update room details with the proper room name. | This can be either an error or a warning, depending on the status of the room (active room = error, inactive room = warning). |
OTA_HotelInvNotif -> SellableProducts -> GuestRoom | Room type for room (room_id) (room_name) does not correspond to expected RoomType (room_type_name) | Warning / Error | Room type mismatch. | Update room details with the proper room type. | This can be either an error or a warning, depending on the status of the room (active room = error, inactive room = warning). |
OTA_HotelInvNotif -> SellableProducts -> GuestRoom | Room occupancy (number) for room (room_id) (room_name) does not correspond to RoomType (room_type) | Warning / Error | Invalid occupancy for this room type. | Update room details with the proper occupancy. | This can be either an error or a warning, depending on the status of the room (active room = error, inactive room = warning). |
OTA_HotelInvNotif -> SellableProducts -> GuestRoom | Room (room_id) has no occupancy defined | Warning / Error | No defined occupancy for this room type. | Update room details with the proper occupancy. | This can be either an error or a warning, depending on the status of the room (active room = error, inactive room = warning). |
OTA_HotelInvNotif -> SellableProducts -> GuestRoom | Room (room_id) has no facilities defined | Warning / Error | No defined facilities for specified room_id. | Update room details to add room amenities. | This can be either an error or a warning, depending on the status of the room (active room = error, inactive room = warning). |