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.

Before you start

This page shows how to create a commercial property, such as a hotel or guesthouse. If you need to create an independent property, such as a privately-owned holiday home or apartment, try this page.

To complete this task, you need:

Request

HTTP request

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

Request body

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="0" />
                    </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

The response contains an OTA_HotelDescriptiveContentNotifRS object:

<?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==] -->

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.