Availability Search
15 min
request the table below describes the elements present in a request along with details around their implementation please take special note of required fields endpoint {{endpoint availability}} true false 158,117,0,85false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type example 1 hotel code search (2 rooms with child) \<?xml version="1 0" encoding="utf 8" ?> \<availabilityrequest cancelpolicy="y" hotelfees="y"> 	\<control> 	 \<username>username\</username> 	 \<password>password \</password> 	\</control> 	\<checkin>10 oct 2015\</checkin> 	\<checkout>12 oct 2015\</checkout> 	\<noofrooms>2\</noofrooms> 	\<noofnights>2\</noofnights> 	\<city>\</city> 	\<hotelcodes> 	 \<hotelcode>108\</hotelcode> 	\</hotelcodes> 	\<roomsinformation> 	 \<roominfo> 	 \<roomtypeid>4\</roomtypeid> 	 \<bedtypeid>5\</bedtypeid> 	 \<adultsnum>1\</adultsnum> 	 \<childnum>1\</childnum> 	 \<childages> 	 \<childage>8\</childage> 	 \</childages> 	 \</roominfo> 	 \<roominfo> 	 \<roomtypeid>0\</roomtypeid> 	 \<bedtypeid>0\</bedtypeid> 	 \<adultsnum>1\</adultsnum> 	 \<childnum>0\</childnum> 	 \</roominfo> 	\</roomsinformation> \</availabilityrequest> example 2 multiple hotel code search \<?xml version="1 0" encoding="utf 8" ?> \<availabilityrequest cancelpolicy="y" hotelfees="y"> 	\<control> 	 \<username> \</username> 	 \<password> \</password> 	\</control> 	\<checkin>21 mar 2018\</checkin> 	\<checkout>23 mar 2018\</checkout> 	\<noofrooms>1\</noofrooms> 	\<noofnights>2\</noofnights> 	\<city>\</city> 	\<hotelcodes> 	 \<hotelcode>108\</hotelcode> 	 \<hotelcode>108\</hotelcode> 	\</hotelcodes> 	\<roomsinformation> 	 \<roominfo> 	 \<roomtypeid>0\</roomtypeid> 	 \<bedtypeid>0\</bedtypeid> 	 \<adultsnum>2\</adultsnum> 	 \<childnum>0\</childnum> 	 \<childages/> 	 \</roominfo> 	\</roomsinformation> \</availabilityrequest> example 3 city code search legacy support is provided to allow for searching by bonotel defined city codes however, customers are strongly encouraged to migrate to a multiple hotel code search based on standardized geographic definitions we are planning on retiring support for city code searching by mid 2025 \<?xml version="1 0" encoding="utf 8" ?> \<availabilityrequest cancelpolicy="y" hotelfees="y"> 	\<control> 	 \<username> \</username> 	 \<password> \</password> 	\</control> 	\<checkin>21 mar 2018\</checkin> 	\<checkout>23 mar 2018\</checkout> 	\<noofrooms>1\</noofrooms> 	\<noofnights>2\</noofnights> 	\<city>cy191\</city> 	\<hotelcodes/> 	\<roomsinformation> 	 \<roominfo> 	 \<roomtypeid>0\</roomtypeid> 	 \<bedtypeid>0\</bedtypeid> 	 \<adultsnum>2\</adultsnum> 	 \<childnum>0\</childnum> 	 \<childages/> 	 \</roominfo> 	\</roomsinformation> \</availabilityrequest> requesting hotel fees in availability request requesting hotel fees from your availability request requires one small addition to the root xml element, which is hotelfees="y" our system will then return zero or more hotel fees per room in the following format here is the root element of availability request with the attribute for hotel fees \<availabilityrequest cancelpolicy="y" hotelfees="y"> response hotel information true false 0,122,116,53false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type room information true false 0,150,107,55false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type rate information true false 0,127,0,52false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type availability response hotel fee xml elements hotel fees are returned per room each room can have zero or more hotel fees regardless of the fee type some resort fees may be taxes sent by the hotel along with their dynamic rates the hotel fees are located here in our availability response availabilityresponse\hotellist\hotel\roominformation\rateinformation\hotelfees below is a sample of the hotel fees elements that we return in this case we are returning a resort fee that is required and exclusive for a total of $32 48 for the stay for the room it is listed under we recommend only extracting and using the bold elements \<hotelfees> 	\<hotelfee> 	 \<feetype>resort\</feetype> 	 \<feemethod>exclusive\</feemethod> 	 \<requiredfee>yes\</requiredfee> 	 \<feeassign>per room\</feeassign> 	 \<feefrequency>per night\</feefrequency> 	 \<feebasedon>val\</feebasedon> 	 \<feebasedonvalue>32 48\</feebasedonvalue> 	 \<salestax/> 	 \<conditions>paid locally by guest at checkout\</conditions> 	 \<feetotal>32 48\</feetotal> 	\</hotelfee> \</hotelfees> code example assume an availability request was made for the city of las vegas (cy191), arrival on 12/01/2023, for a 2 night stay the response demonstrates the xml that would be returned to the client if the request were only for a single hotel – where \<hotelcode> is 1413 request {{endpoint availability}} \<?xml version="1 0" encoding="utf 8" ?> \<availabilityrequest cancelpolicy="y" hotelfees="y"> 	\<control> 	 \<username>username\</username> 	 \<password>password\</password> 	\</control> 	\<checkin>01 dec 2023\</checkin> 	\<checkout>03 dec 2023\</checkout> 	\<noofrooms>1\</noofrooms> 	\<noofnights>2\</noofnights> 	\<city>cy191\</city> 	\<hotelcodes> 	 \<hotelcode>1\</hotelcode> 	\</hotelcodes> 	\<roomsinformation> 	 \<roominfo> 	 \<roomtypeid>246\</roomtypeid> 	 \<bedtypeid>10\</bedtypeid> 	 \<adultsnum>2\</adultsnum> 	 \<childnum>0\</childnum> 	 \<childages/> 	 \</roominfo> 	\</roomsinformation> \</availabilityrequest> response \<?xml version="1 0" encoding="utf 8" ?> \<availabilityresponse status="y"> 	\<hotellist> 	 \<hotel> 	 \<hotelcode>1\</hotelcode> 	 \<name>bellagio\</name> 	 \<address>3600 las vegas boulevard south\</address> 	 \<city>las vegas\</city> 	 \<stateprovince>nevada\</stateprovince> 	 \<country>usa\</country> 	 \<postalcode>89109\</postalcode> 	 \<ratecurrencycode>usd\</ratecurrencycode> 	 \<shortdescription>text description\</shortdescription> 	 \<starrating>5 5star\</starrating> 	 \<thumbnailurl>url here\</thumbnailurl> 	 \<hotelurl>url here\</hotelurl> 	 \<maintenance/> 	 \<bookingpolicy> \</bookingpolicy> 	 \<policydescription>\<!\[cdata\[ general policy text ]]>\</policydescription> 	 \<roominformation> 	 \<roomno>1\</roomno> 	 \<roomcode>1385\</roomcode> 	 \<roomtypecode>246\</roomtypecode> 	 \<roomtype>1 bedroom penthouse suite\</roomtype> 	 \<roomdescription/> 	 \<bedtypecode>10\</bedtypecode> 	 \<bedtype>double\</bedtype> 	 \<stdadults>2\</stdadults> 	 \<promotioncode>discounted rates\</promotioncode> 	 \<confirmationtype>con\</confirmationtype> 	 \<confirmationconditions/> 	 \<roombookingpolicy> 	 \<policyfrom>2008 04 01\</policyfrom> 	 \<policyto>2025 12 31\</policyto> 	 \<amendmenttype>cancel\</amendmenttype> 	 \<policybasedon>nights\</policybasedon> 	 \<policybasedonvalue>1\</policybasedonvalue> 	 \<cancellationtype>normal\</cancellationtype> 	 \<staydaterequirement>n\</staydaterequirement> 	 \<arrivalrange>less than\</arrivalrange> 	 \<arrivalrangevalue>4\</arrivalrangevalue> 	 \<policyfee>$531 96\</policyfee> 	 \<noshowbasedon>nights\</noshowbasedon> 	 \<noshowbasedonvalue>1\</noshowbasedonvalue> 	 \<noshowpolicyfee>$531 96\</noshowpolicyfee> 	 \</roombookingpolicy> 	 \<rateinformation> 	 \<rateplancode>1\</rateplancode> 	 \<rateplan>room only\</rateplan> 	 \<averagerate>631 00\</averagerate> 	 \<totalrate>1,262 01\</totalrate> 	 \<dailyrates> 	 \<nightlyrate date="01 dec 2023" dailycondition=""> 	 \<stdadultrate>531 96\</stdadultrate> 	 \<additionaladultrate>0 00\</additionaladultrate> 	 \<total>531 96\</total> 	 \<ratecode/> 	 \</nightlyrate> 	 \<nightlyrate date="02 dec 2023" dailycondition=""> 	 \<stdadultrate>730 05\</stdadultrate> 	 \<additionaladultrate>0 00\</additionaladultrate> 	 \<total>730 05\</total> 	 \<ratecode/> 	 \</nightlyrate> 	 \</dailyrates> 	 \<taxinformation> 	 \<tax taxname="roomtax"> 	 \<taxamount>0 0\</taxamount> 	 \</tax> 	 \<tax taxname="salestax"> 	 \<taxamount>0 0\</taxamount> 	 \</tax> 	 \<tax taxname="othercharges"> 	 \<taxamount>0 0\</taxamount> 	 \</tax> 	 \</taxinformation> 	 \<hotelfees> 	 \<hotelfee> 	 \<feetype>resort\</feetype> 	 \<feemethod>exclusive\</feemethod> 	 \<requiredfee>yes\</requiredfee> 	 \<feeassign>per room\</feeassign> 	 \<feefrequency>per night\</feefrequency> 	 \<feebasedon>val\</feebasedon> 	 \<feebasedonvalue>32 48\</feebasedonvalue> 	 \<salestax/> 	 \<conditions>paid locally by guest at checkout\</conditions> 	 \<feetotal>32 48\</feetotal> 	 \</hotelfee> 	 \</hotelfees> 	 \</rateinformation> 	 \</roominformation> 	 \</hotel> 	\</hotellist> \</availabilityresponse> response codes true false 57false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type