The property search request is the first stage of the property booking process. It is used to send search criteria to the database to check for hotel availability. A complete reference for what can be included in a property request is given below.
The minimum information a property search request should contain is login details (required in every request), a destination to search (either a region, resort, airport or hotel), the arrival date of the holiday, number of days duration and a room and its occupancy.
For example a simple search might be for a hotel in the region of Florence, for 2 nights, arriving 3 May 2014, for one room with 2 adults.
The structure of the XML will be:
The response returned will include the return status (included in every response) to give basic information about whether the call was successful, along with a list of property results, which list the available properties and rooms found that match the search criteria. The XML structure of the response is given below.
If a search was successful the return status will be <Success>true</Success>. If the search was unsuccessful, the search response will give a return status of <Success>false</Success> and list any exceptions that explain why the search failed.
No results returned
It is possible for the search to be successful and return no property results. If this is the case, it means that the search was successfully performed, but no available properties were found that match the search criteria. If you think that there should be availability, please consult trouble shooting guide.
Results returned
If no appropriate results are returned, the search can be repeated with different parameters or at another time. If suitable results are found then one or more of these can be chosen to book. In this case, the BookingToken and RoomBookingToken are important as these will need to be passed into the next stage of the booking journey, the Property Prebook request.
Each property result will include a list of available room types.
The structure of the XML will be:
A search request made for a holiday to Sharm Al Shiek for 2 adults for 7 nights, arriving 14 September 2013.
<PropertySearchRequest>
<LoginDetails>
<Login>TestLogin</Login>
<Password>TestPassword</Password>
</LoginDetails>
<Resorts>
<ResortID>133</ResortID>
</Resorts>
<ArrivalDate>2013-09-14</ArrivalDate>
<Duration>7</Duration>
<RoomRequests>
<RoomRequest>
<GuestConfiguration>
<Adults>2</Adults>
<Children>0</Children>
<Infants>0</Infants>
</GuestConfiguration>
</RoomRequest>
</RoomRequests>
</PropertySearchRequest>
iVectorConnect finds a single property available, with a choice of different types of room - twin deluxe and double deluxe.
<PropertySearchResponse>
<ReturnStatus>
<Success>true</Success>
<Exceptions/>
</ReturnStatus>
<PropertyResults>
<PropertyResult>
<BookingToken>...</BookingToken>
<PropertyReferenceID>673</PropertyReferenceID>
<GeographyLevel1ID>19</GeographyLevel1ID>
<GeographyLevel2ID>26</GeographyLevel2ID>
<GeographyLevel3ID>133</GeographyLevel3ID>
<RoomTypes>
<RoomType>
<Seq>1</Seq>
<RoomBookingToken>77XHIv7Wgmjcz5UZVg6hc5tJePeitsFIzstwLfcKR3U=</RoomBookingToken>
<MealBasisID>3</MealBasisID>
<RoomTypeID>0</RoomTypeID>
<RoomType>Twin Deluxe</RoomType>
<RoomView>Garden View</RoomView>
<AvailableRooms>10</AvailableRooms>
<DiscountID>0</DiscountID>
<Discount>0.00</Discount>
<Saving>0.00</Saving>
<SubTotal>250.00</SubTotal>
<Total>250.00</Total>
<PayLocalTotal>0</PayLocalTotal>
<Errata />
<Adjustments />
<OptionalSupplements />
<DailyRates />
<SpecialOffer />
<NonRefundable>false</NonRefundable>
<OnRequest>0</OnRequest>
</RoomType>
<RoomType>
<Seq>2</Seq>
<RoomBookingToken>30ea0uji5350043759oot09re0t=</RoomBookingToken>
<MealBasisID>3</MealBasisID>
<RoomTypeID>0</RoomTypeID>
<RoomType>Double Deluxe</RoomType>
<RoomView />
<AvailableRooms>10</AvailableRooms>
<DiscountID>0</DiscountID>
<Discount>0.00</Discount>
<Saving>0.00</Saving>
<SubTotal>280.00</SubTotal>
<Total>280.00</Total>
<PayLocalTotal>0</PayLocalTotal>
<Errata />
<Adjustments />
<OptionalSupplements />
<DailyRates />
<SpecialOffer />
<NonRefundable>false</NonRefundable>
<OnRequest>0</OnRequest>
</RoomType>
</RoomTypes>
</PropertyResult>
</PropertyResults>
</PropertySearchResponse>