OTA_HotelAvailRQ. It is compatible with enrichment switches and multi-room behavior defined for the availability workflow.
Purpose
- Confirm successful processing (
<Success/>) or return error diagnostics (<Errors/>). Error Scenarios. - Deliver one or more
<RoomStay>items with pricing, guest counts, and property references. - Optionally include contextual blocks (
HotelStays,Areas, amenities/descriptions) controlled byInfoSource.
Structure – Root Element
Errors.
Errors
Container for one or more Error items describing non-recoverable issues in the request. Error Scenarios.
Warnings
Used for non-fatal guidance. Example: when a multi-room search cannot satisfy every candidate, a warning like Code="14" with text Not all rooms in the request do have a suitable candidate may be present.
Structure - Core Elements
HotelStays
Portfolio-level hotel facts that can accompany availability (e.g.,BasicPropertyInfo with HotelCode, HotelName, AreaID, optional VendorMessages, Award).
Example
HotelCodeContext returns the GIATA code if the client is licensed
Areas
Geographical labels corresponding to theAreaID linkage.
Example
RoomStays
EachRoomStay conveys a bookable option (room/board/rateplan) for a given hotel.
RoomStay@RoomStayCandidateRPHechoes the corresponding room candidate index from the request.- Grouping Semantics
- Standard searches: multiple room/board combinations for the same hotel may share the same
RPHfor grouping purposes. - Multi-room mode: each
RoomStaycarries a uniqueRPH(one per returned option) to help client-side combination logic.
- Standard searches: multiple room/board combinations for the same hotel may share the same
RoomType
Specifies the room code of the returned product.RoomRates
- Pricing appears under
RoomRates/RoomRate/Rates/RateasBaseandTotal(amounts after tax, currency). - Availability for each option is indicated at
RoomRate@NumberOfUnits(omitted when free sales apply). - The
ChargeTypecode onRatereflects the original contract rate basis (OTA CHG codelist):19→ Per Unit21→ Per Person
Features/Feature/Description/Textindicates the board for the returned rate.
GuestCounts
Shows the pax count for the returned product:- AgeQualifyingCode values:
- 10: Adult
- 8: Child
- 7: Infant
TimeSpan
Indicates the dates for which the service is available.BasicPropertyInfo
Shows the hotel code for the returned room stay. Vendor Messages can also be displayed at this section. Check Vendor MessagesRules and Features
Enrichment via InfoSource
The response can be enriched beyond RoomStays depending on the InfoSource value used in the request:
Combination is supported (e.g.,InfoSource="12"returnsHotelStays+Areas).
Multi-Room Specifics
- Up to 5 room candidates per request are supported.
- Response returns one
RoomStayper option that fits each candidate; combine client‑side usingRoomStayCandidateRPH,RPH, andNumberOfUnits. - If one or more candidates cannot be satisfied, a warning is returned.
Reccomended Retail price
As a distributor, there is an optional setup that can be activated so that the Hotel avail response returns the reccomended retail price from the hotelier. In this case two rates will be received, our own selling price, and also the the minimal price for which this hotel can be sold to end-customers. The Rate node containing the attributeRateMode = "1" defines the minimal price to sell to an end-customer. See below example:
Offer Tags
As a distributor, there is an optional setup to receive Offer Tags. For more info please check General MessagingComplete Examples
Best Practices
- Include
EchoTokenin both request and response correlation. - Use
InfoSource=0when you only need pricing blocks; enable specific enrichments incrementally. - In multi-room flows, validate combinations client‑side using
NumberOfUnitsand candidate indexes. - Parse
ChargeTypeto correctly label price basis (per person/per unit).

