The OTA_HotelDescriptiveContentNotif
(HDCN) endpoint was deprecated in December 2024. We will fully sunset this endpoint on December 31, 2026. For more information on the deprecation and sunsetting timeline, see OTA_HotelDescriptiveContentNotif (HDCN) endpoint in Content API.
We strongly encourage you to transition to our new modular APIs at your earliest convenience. These modern APIs are designed for straightforward integration and unlock a range of functionalities. To learn more, see our guide on Making property onboarding easier.
/ota/OTA_HotelDescriptiveContentNotif
Use this endpoint to create or modify the "skeleton" of a property. This skeleton contains the property's location details, policies, contact details and more.
If you're new to creating properties with the API, try our tutorial!
Methods
POST https://supply-xml.booking.com/hotels/ota/OTA_HotelDescriptiveContentNotif
Headers
Header | Description | Type | Required | Notes |
---|---|---|---|---|
Authorization | Machine account username and password | string | Required | Example: Authorization: Basic {username:password} |
Examples
- Create a property
- Modify property name
- Modify property contact details
- Modify property facilities
- Setting up children policies
- Modify property policies
Full XML sample
For reference, here is a sample request body containing all possible fields. The root-level object is OTA_HotelDescriptiveContentNotifRQ.
<?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="Test">
<HotelDescriptiveContents>
<HotelDescriptiveContent HotelName="Fake Hotel" ID="101010" LanguageCode="en" HotelDescriptiveContentNotifType="New">
<ContactInfos>
<ContactInfo ContactProfileType="PhysicalLocation">
<Addresses>
<Address>
<AddressLine>15 Station Street</AddressLine>
<CityName>Sotteville</CityName>
<PostalCode>50340</PostalCode>
<CountryName>FR</CountryName>
</Address>
<Address Language="fr">
<HotelName>Le Faux Hôtel 001</HotelName>
<CityName>Sotteville-lès-Rouen</CityName>
<CountryName>FR</CountryName>
<PostalCode>76300</PostalCode>
<AddressLine>15 Rue de la Gare</AddressLine>
</Address>
</Addresses>
</ContactInfo>
<ContactInfo ContactProfileType="general">
<Names>
<Name Gender="female" Language="en">
<GivenName>Carol</GivenName>
<Surname>Xu</Surname>
<JobTitle>Owner</JobTitle>
</Name>
</Names>
<Addresses>
<Address>
<AddressLine>1000 Eighth Avenue</AddressLine>
<CityName>New York</CityName>
<PostalCode>10000</PostalCode>
<StateProv StateCode="NY"/>
<CountryName>US</CountryName>
</Address>
</Addresses>
<Emails>
<Email>carol.xu@fakehotel.com</Email>
</Emails>
<Phones>
<Phone Extension="30" PhoneNumber="+31622222220" PhoneTechType="1"/>
</Phones>
</ContactInfo>
<ContactInfo ContactProfileType="availability" Index="1">
<Names>
<Name Gender="male" Language="en">
<GivenName>Steve</GivenName>
<Surname>Martin</Surname>
<JobTitle>Administration Employee</JobTitle>
</Name>
</Names>
<Addresses>
<Address>
<AddressLine>200 rue de Paris</AddressLine>
<CityName>Sotteville</CityName>
<CountryName>FR</CountryName>
<PostalCode>50340</PostalCode>
</Address>
</Addresses>
<Emails>
<Email>admin@fakehotel.com</Email>
</Emails>
<Phones>
<Phone PhoneNumber="+33622111110" PhoneTechType="1" Extension="30"/>
<Phone PhoneNumber="+33622111111" PhoneTechType="1" Extension="30"/>
<Phone PhoneNumber="+33622111112" PhoneTechType="1" Extension="30"/>
<Phone PhoneNumber="+33622111113" PhoneTechType="5"/>
<Phone PhoneNumber="+33622111114" PhoneTechType="3"/>
</Phones>
</ContactInfo>
<ContactInfo ContactProfileType="invoices">
<Names>
<Name>
<GivenName>Carol</GivenName>
<Surname>Xu</Surname>
</Name>
</Names>
<Addresses>
<Address>
<AddressLine>1000 Eighth Avenue</AddressLine>
<CityName>New York</CityName>
<PostalCode>10000</PostalCode>
<StateProv StateCode="NY"/>
<CountryName>US</CountryName>
</Address>
</Addresses>
<HiddenAddress ShouldHideAddress="1"/>
<Emails>
<Email>carol.xu@fakehotel.com</Email>
</Emails>
<Phones>
<Phone Extension="30" PhoneNumber="+31622222220" PhoneTechType="1"/>
</Phones>
</ContactInfo>
<ContactInfo ContactProfileType="availability" Index="2">
<Names>
<Name Gender="female" Language="xt">
<GivenName>Carol</GivenName>
<Surname>Xu</Surname>
<JobTitle>Owner</JobTitle>
</Name>
</Names>
<Addresses>
<Address>
<AddressLine>1000 Eighth Avenue</AddressLine>
<CityName>New York</CityName>
<PostalCode>10000</PostalCode>
<StateProv StateCode="NY"/>
<CountryName>US</CountryName>
</Address>
</Addresses>
<Emails>
<Email>carol.xu@fakehotel.com</Email>
</Emails>
<Phones>
<Phone PhoneNumber="+31622222220" PhoneTechType="1" Extension="30"/>
<Phone PhoneNumber="+31622222221" PhoneTechType="1" Extension="30"/>
<Phone PhoneNumber="+31622222222" PhoneTechType="1" Extension="30"/>
<Phone PhoneNumber="+31622222223" PhoneTechType="5"/>
<Phone PhoneNumber="+31622222224" PhoneTechType="3"/>
</Phones>
</ContactInfo>
</ContactInfos>
<HotelInfo>
<CategoryCodes>
<GuestRoomInfo Quantity="100"/>
<HotelCategory Code="20" ExistsCode="1"/>
</CategoryCodes>
<Languages>
<Language LanguageCode="fr"/>
<Language LanguageCode="en"/>
</Languages>
<Position Latitude="49.4092" Longitude="1.0900"/>
<Services>
<Service Code="5" Included="false"/>
<Service Code="173" Price="14" CurrencyCode="EUR">
<Types>
<Type Code="5001"/>
<Type Code="5004"/>
<Type Code="5009"/>
</Types>
<Items>
<Item Code="5005"/>
<Item Code="5006"/>
<Item Code="5007"/>
<Item Code="5009"/>
<Item Code="5011"/>
</Items>
<OperationTimes>
<OperationTime Mon='1' Tue='1' Weds='1' Thur='1' Fri='1' Sat='1' Sun='1' Start="08:00" End="10:00"/>
</OperationTimes>
</Service>
</Services>
<OwnershipManagementInfos>
<OwnershipManagementInfo>
<CompanyName Code="1234"/>
</OwnershipManagementInfo>
</OwnershipManagementInfos>
<RelativePositions>
<RelativePosition>
<Transportations>
<Transportation>
<TPA_Extensions>
<Route>
<Leg>
<Start Type='airport' Code='AMS'/>
<TransportType Code="5000"/>
<Departure UponArrangement="1"/>
</Leg>
<JourneyTime Minutes="20"/>
<Price Amount="10" CurrencyCode="EUR"/>
</Route>
</TPA_Extensions>
</Transportation>
<Transportation>
<TPA_Extensions>
<Route>
<Leg>
<Start Type='airport' Code='AMS'/>
<TransportType Code="3"/>
<Line Name="10"/>
<Departure Interval="20"/>
</Leg>
<JourneyTime Minutes="20"/>
<Price Amount="5.5" CurrencyCode="EUR"/>
</Route>
</TPA_Extensions>
</Transportation>
<Transportation>
<TPA_Extensions>
<Route>
<Leg>
<Start Type='airport' Code='AMS'/>
<TransportType Code="5"/>
<Motorway Name="A2"/>
<Junction Name="Amsterdam Zuid"/>
</Leg>
<JourneyTime Minutes="30"/>
</Route>
</TPA_Extensions>
</Transportation>
</Transportations>
</RelativePosition>
</RelativePositions>
<TPA_Extensions>
<AcceptedPayments>
<AcceptedPayment PaymentTypeCode="1"/>
<AcceptedPayment PaymentTypeCode="2"/>
<AcceptedPayment PaymentTypeCode="3"/>
</AcceptedPayments>
<PaymentPreferences NoCVC="0" ViewCCDetails="1" />
</TPA_Extensions>
</HotelInfo>
<FacilityInfo>
<GuestRooms>
<GuestRoom>
<Amenities>
<Amenity RoomAmenityCode="91" Quantity="4"/>
</Amenities>
</GuestRoom>
</GuestRooms>
<Restaurants>
<Restaurant RestaurantName='Orient' OfferBreakfast='1' OfferDinner='1'>
<CuisineCodes>
<CuisineCode Code="1"/>
<CuisineCode Code="5000"/>
</CuisineCodes>
<OperationSchedules>
<OperationSchedule>
<OperationTimes>
<OperationTime Mon='1' Tue='1' Thur='1' Fri='1' Start='16:00' End='22:00'/>
<OperationTime Weds='1' Sun='1' Start='14:00' End='18:00'/>
</OperationTimes>
</OperationSchedule>
</OperationSchedules>
<Features>
<Feature DescriptiveText="a la carte"/>
<Feature DescriptiveText="buffet"/>
<Feature DescriptiveText="guests only"/>
<Feature DescriptiveText="accepts reservations"/>
<Feature DescriptiveText="outdoor seating"/>
</Features>
<TPA_Extensions>
<Ambiances>
<Ambiance Name="modern"/>
</Ambiances>
<DietaryOptions>
<DietaryOption Name="halal"/>
<DietaryOption Name="vegan"/>
</DietaryOptions>
</TPA_Extensions>
</Restaurant>
</Restaurants>
</FacilityInfo>
<AreaInfo>
<Attractions>
<Attraction AttractionName="test_market" AttractionCategoryCode="29" Distance="1.2" DistanceUnit="miles" LanguageCode="en"/>
<Attraction AttractionName="test_restaurant" AttractionCategoryCode="41" Distance="3"/>
</Attractions>
</AreaInfo>
<Policies>
<Policy>
<PolicyInfo CheckInTime="17:00-20:00" CheckOutTime="12:00" AcceptedGuestType="ChildrenAllowed" MinGuestAge="0"/>
<PetsPolicies PetsAllowedCode="Pets By Arrangements">
<PetsPolicy NonRefundableFee="charges_may_apply"/>
</PetsPolicies>
<CancelPolicy>
<CancelPenalty PolicyCode="1">
<TPA_Extensions>
<NoShowPolicy Penalty="default"/>
</TPA_Extensions>
</CancelPenalty>
<CancelPenalty PolicyCode="29">
<TPA_Extensions>
<NoShowPolicy Penalty="total_price"/>
</TPA_Extensions>
</CancelPenalty>
</CancelPolicy>
<GuaranteePaymentPolicy>
<GuaranteePayment PolicyCode="1">
<TPA_Extensions>
<PrepaymentPolicy EffectiveFrom="after_reservation_is_made"/>
</TPA_Extensions>
</GuaranteePayment>
<GuaranteePayment PolicyCode="29">
<TPA_Extensions>
<PrepaymentPolicy EffectiveFrom="after_cancellation_fee_begins"/>
</TPA_Extensions>
</GuaranteePayment>
</GuaranteePaymentPolicy>
<TaxPolicies>
<TaxPolicy Code="36" Percent="1200" DecimalPlaces="2" Type="Exclusive"/>
<TaxPolicy Code="3" Amount="800" DecimalPlaces="2" Type="Inclusive" ChargeFrequency="20"/>
</TaxPolicies>
<FeePolicies>
<FeePolicy Code="5009" Amount="1500" DecimalPlaces="2" Type="Conditional" ChargeFrequency="12">
<TPA_Extensions>
<Conditions>
<Condition Type="guest_doesnt_clean_before_checkout"/>
</Conditions>
</TPA_Extensions>
</FeePolicy>
<FeePolicy Code="5035" Amount="10000" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="5001">
<FeePolicy Code="44" ChargeFrequency="21" Amount="0" DecimalPlaces="2" MinAge="0" MaxAge="3" />
<FeePolicy Code="44" ChargeFrequency="21" Amount="6000" DecimalPlaces="2" MinAge="4" MaxAge="12" />
<FeePolicy Code="37" ChargeFrequency="20" Amount="2000" DecimalPlaces="2" MinAge="0" MaxAge="3" />
<FeePolicy Code="38" ChargeFrequency="21" Amount="7000" DecimalPlaces="2" MinAge="4" MaxAge="255" />
<TPA_Extensions>
<InternetFeePolicy InternetType="wired" InternetCoverage="public_areas"/>
</TPA_Extensions>
</FeePolicy>
<FeePolicy Code="5036" Amount="10000" DecimalPlaces="2" Type="Exclusive" ChargeFrequency="2">
<TPA_Extensions>
<ParkingFeePolicy ParkingType="location_nearby" ParkingReservation="needed" ParkingProperty="private"/>
</TPA_Extensions>
</FeePolicy>
</FeePolicies>
</Policy>
</Policies>
<AffiliationInfo>
<Awards>
<Award Provider="Star rating" Rating="3"/>
</Awards>
</AffiliationInfo>
<TPA_Extensions>
<!-- Standard Phrases -->
<StandardPhrases>
<StandardPhrase Enabled="1" Name="KeyCollection">
<Options>
<Option Name="KeyCollectionAddressLine">15 Station Street</Option>
<Option Name="KeyCollectionCityName">Sotteville</Option>
<Option Name="KeyCollectionPostalCode">76000</Option>
</Options>
</StandardPhrase>
<StandardPhrase Enabled="1" Name="GuestIdentification"/>
<StandardPhrase Enabled="1" Name="InformArrivalTime"/>
<StandardPhrase Enabled="1" Name="PayBeforeStay"/>
<StandardPhrase Enabled="1" Name="TattooRestriction"/>
<StandardPhrase Enabled="1" Name="Renovation">
<Options>
<Option Name="RenovationFrom">2017-01-01</Option>
<Option Name="RenovationUntil">2017-12-31</Option>
</Options>
</StandardPhrase>
<StandardPhrase Enabled="1" Name="SecurityDeposit">
<Options>
<Option Name="SecurityDepositAmount">10.43</Option>
<Option Name="SecurityDepositReturnMethod">cash</Option>
<Option Name="SecurityDepositReturnWhen">on_checkout</Option>
<Option Name="SecurityDepositCollectNumDays">0</Option>
<Option Name="SecurityDepositCollectMethod">cash</Option>
<Option Name="SecurityDepositCollectWhen">upon_arrival</Option>
</Options>
</StandardPhrase>
</StandardPhrases>
<TotalNumberOfFloors Number="10"/>
<LongStayInfo AcceptLongStay="1" MaxLengthOfStay="45"/>
<PricingType Value="LOS"/>
</TPA_Extensions>
</HotelDescriptiveContent>
</HotelDescriptiveContents>
</OTA_HotelDescriptiveContentNotifRQ>