Pre-Book
13 min
introduction this document provides the specification for the bonotel pre book api method, which would allow customers to verify that a specific hotel, room, rate plan and occupancy is still available and to verify the rate before they attempt the booking this method bypasses caching and returns the current rate and status if you have any questions, contact us at mailto\ apisupport\@bonotel com traffic volume bonotel will be monitoring and tracking the pre book requests per customer per day to ensure that the pre book method is only used right before making a reservation request for example, if your account normally generates 20 reservation requests in a day, we expect 20 pre book requests any excessive use of the pre book method will be throttled requirements before making a pre book request, you would need to have already posted an availability request and extracted out the necessary details from the response to generate a pre book request format to help customers leverage existing code, we have modeled the pre book method after our reservation method format the primary difference is that we remove the guest names and comments from the request the response will include a status per room, the total rate per room and for the booking, and any exclusive hotel fees a room can have zero or more hotel fees regardless of the fee type request endpoint true 147,107,100,62,116,100left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type response true 120,100,100,100,77,100left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type error response – no rooms returned true 110,110,110,110,110,112left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type response \<?xml version="1 0" encoding="utf 8" ?> \<prebookresponse status="n"> 	\<errors> 	 \<code>p3\</code> 	 \<description>inventory has expired\</description> 	\</errors> \</prebookresponse> code example request method /prebookcheck do \<?xml version="1 0" encoding="utf 8" ?> \<prebookrequest> 	\<control> 	 \<username>{{username}}\</username> 	 \<password>{{password}}\</password> 	\</control> 	\<requestdetails timestamp="20220120t11 07 33"> 	 \<checkin>01 jan 2023\</checkin> 	 \<checkout>02 jan 2023\</checkout> 	 \<noofrooms>1\</noofrooms> 	 \<noofnights>1\</noofnights> 	 \<hotelcode>79\</hotelcode> 	 \<total currency="usd">390 10\</total> 	 \<totaltax currency="usd">0\</totaltax> 	 \<roomdata> 	 \<roomno>1\</roomno> 	 \<roomcode>131110\</roomcode> 	 \<roomtypecode>131\</roomtypecode> 	 \<bedtypecode>10\</bedtypecode> 	 \<rateplancode>131\</rateplancode> 	 \<noofadults>1\</noofadults> 	 \<noofchildren>2\</noofchildren> 	 \<childages> 	 \<childage>4\</childage> 	 \<childage>6\</childage> 	 \</childages> 	 \<total currency="usd">390 10\</total> 	 \<totaltax currency="usd">0\</totaltax> 	 \</roomdata> 	\</requestdetails> \</prebookrequest> response typical response \<?xml version="1 0" encoding="utf 8" ?> \<prebookresponse status="y"> 	\<roomdetails> 	 \<room roomno="1">n\</room> 	\</roomdetails> 	\<roomdetails> 	 \<room roomno="2">y\</room> 	 \<total currency="usd">390 10\</total> 	 \<totaltax currency="usd">0\</totaltax> 	 \<hotelfees> 	 \<hotelfee> 	 \<feetype>resort\</feetype> 	 \<feemethod>exclusive\</feemethod> 	 \<requiredfee>yes\</requiredfee> 	 \<feetotal>148 65\</feetotal> 	 \</hotelfee> 	 \</hotelfees> 	\</roomdetails> \</prebookresponse> response with varying results it is possible to see a response where one or more rooms are available and one or more other rooms are not available please take note of this example if you support booking two or more rooms the top level status setting is ‘y’ here because at least one of the requested rooms was available \<?xml version="1 0" encoding="utf 8" ?> \<prebookresponse status=" y y "> 	\<roomdetails> 	 \<room roomno="1"> n n \</room> 	\</roomdetails> 	\<roomdetails> 	 \<room roomno="2"> y y \</room> 	 \<total currency="usd">390 10\</total> 	 \<totaltax currency="usd">0\</totaltax> 	 \<hotelfees> 	 \<hotelfee> 	 \<feetype>resort\</feetype> 	 \<feemethod>exclusive\</feemethod> 	 \<requiredfee>yes\</requiredfee> 	 \<feetotal>148 65\</feetotal> 	 \</hotelfee> 	 \</hotelfees> 	\</roomdetails> \</prebookresponse> error response \<?xml version="1 0" encoding="utf 8" ?> \<prebookresponse status="n"> 	\<errors> 	 \<code>p3\</code> 	 \<description>inventory has expired\</description> 	\</errors> \</prebookresponse> response codes true 65left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type