Create a property

Use /ota/OTA_HotelDescriptiveContentNotif to create a property's "skeleton", containing the property's location details, policies, contact details, property-level photos, and more.

NOTE: If you are creating a property for a single property partner, see create an independent property. The following instructions enable you to add a property for multi-property partners. You must use the legal entity ID to associate the new property to an existing group.

To complete this task, you need:

Request

HTTP request

https://supply-xml.booking.com/hotels/ota/OTA_HotelDescriptiveContentNotif

Naming a property

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.

Certain words are blacklisted

If a name is rejected, the property name could contain a blacklisted word. If you do not think this is the case, reach out to our Customer Support.

Request body

Future deprecation of HotelDescriptiveContentNotif photo functionality

Adding and modifying photos through OTA_HotelDescriptiveContentNotif entered the sunset phase as of September 16, 2020. This means that to keep managing photos you must switch to the Photo API before September 16, 2021, when this functionality is fully depecrated.

Provide an OTA_HotelDescriptiveContentNotifRQ object in the 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" UsualStayFreeCutoffAge="12" UsualStayFreeChildPerAdult="1" />
                    <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>
            <MultimediaDescriptions>
                <MultimediaDescription>
                    <ImageItems>
                        <ImageItem>
                            <ImageFormat Main="1" Sort="1">
                                <URL>https://bstatic.com/data/xphoto/max10000x10000/192/19248027.jpg</URL>
                            </ImageFormat>
                            <TPA_Extensions>
                                <ImageTags>
                                    <ImageTag ID="3"/>
                                </ImageTags>
                            </TPA_Extensions>
                        </ImageItem>
                        <ImageItem>
                            <ImageFormat Sort="2">
                                <URL>https://bstatic.com/data/xphoto/max10000x10000/192/19248028.jpg</URL>
                            </ImageFormat>
                            <TPA_Extensions>
                                <ImageTags>
                                    <ImageTag ID="103"/>
                                </ImageTags>
                            </TPA_Extensions>
                        </ImageItem>
                    </ImageItems>
                </MultimediaDescription>
            </MultimediaDescriptions>
        </HotelDescriptiveContent>
    </HotelDescriptiveContents>
</OTA_HotelDescriptiveContentNotifRQ>

Response body example

The following is a successful response body example:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelDescriptiveContentNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelDescriptiveContentNotifRS.xsd" TimeStamp="2015-07-31T12:36:23-00:00" Target="Test" Version="3.000">
  <UniqueID Type="10" ID="{PropertyID}" />
  <Success />
</OTA_HotelDescriptiveContentNotifRS>
<!-- RUID: [XXXXXXXXXXXXXXXXXXXXXXXXXXX==] -->

Response body parameters

The following table describes the response elements:

Element Description Type Notes
OTA_HotelDescriptiveContentNotifRS Contains the response data. object
> warnings Contains potential warnings. These can help you improve your requests. array
> errors Contains potential errors. These can help you understand what went wrong with your request. array
> success Indicates the success of the request. object
ruid Specifies the unique id of the request. string You can send this id to Booking.com customer support if you run into an issue. This can help to understand what went wrong.

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

Asynchronous image processing

Uploaded images take time to process. This means your new property may have errors later, even if the initial response was 200 OK. You can always check the status of your property's content with /ota/OTA_HotelSummaryNotif.