OTA_HotelAvailRQ API call
Skip & Hit the Playground.
Purpose
This message is used to:- Search for available hotel rooms based on specific criteria.
- Request rate information for available accommodations.
- Query inventory across multiple properties or a single hotel.
- Filter results based on guest requirements and preferences.
Structure - Root Element
Version: Specification version (e.g., “1.0”)EchoToken: Unique identifier for tracking request/response pairsPrimaryLangID: Primary language code (ISO 639)xmlns: “http://www.opentravel.org/OTA/2003/05”- MaxResponses: Limits number of bookable options returned. Default is 1500.
Structure - Core Elements
POS (Point of Sale)
Identifies the requesting party and contains credentials. Check Access to our SystemsInstance attribute value in the RequestorID node filters the search results:
Basic Filters
| Switch | Behavior |
|---|---|
MF0x2 | Returns only the cheapest room/board/rateplan per hotel |
MF0x1 | Returns cheapest contracting group option (e.g., OWN1) |
MF0x3 | Returns 4 refund types: fully refundable, non-refundable, semi-flexible, flexible |
MF0x4 | Returns 2 refund types: fully refundable + cheapest of the other three |
MF0xx | Returns all available combinations (e.g., MF005) |
MF2xx – Flexible Date Search:
- Search over a period (e.g., 3 months) for a fixed stay duration.
- Use
Duration="P7D"andStartDateWindow DOW="x"to restrict arrival days.
MF1xx – Calendar View:
- Returns cheapest price per arrival date for a hotel.
- Can be restricted by DOW (e.g., only Fridays → DOW = 16).
AvailRequestSegments
Container for one or more availability request segments.InfoSource Attribute
Controls the enrichment of the response.| Value | Enrichment Type |
|---|---|
0 | No enrichment |
1 | HotelStays only |
2 | Areas only |
3 | Amenities only |
4 | RoomDescription only |
5 | BoardDescription only |
1234 | Full enrichment (default) |
StayDateRange Element
Start: Check-in date (YYYY-MM-DD)End: Check-out date (YYYY-MM-DD)Duration: Used in flexible searches and calendar view (e.g., “P3N” for 3 nights)StayDateRange/StartDateWindow->DOW: Restrict arrival days (e.g “Mon”)
RoomStayCandidate Element
Defines Guest requirements into theGuestCount element, following these rules:
- Adults:
AgeQualifyingCode="10" - Children:
AgeQualifyingCode="8"(must specify age) - Infants:
AgeQualifyingCode="7" - Conversion Logic:
- Children exceeding max age → treated as adults
- Infants exceeding min child age → treated as children
- Same logic applies in both search and booking requests
Criterion Element
It can be used to receive results by areas or per hotel exact matching. Area SearchAdditional Features
Multi-Room Logic
- Up to 5 rooms per request
- Each room candidate is matched to available rooms
- Remaining units tracked via
NumberOfUnits - Combinations must be validated client-side based on availability
- If no suitable room is found for a candidate, a warning is returned
Search by Hotel Name
- Minimum 3 characters required
- Returns hotels with matching names
Upfront Filtering
- Filters can be applied before search:
- Board type (
MealPlanCodes) - Room type (
RoomClassificationCode) - Star rating (
Award Rating) - Specific room code (
RoomType)
- Board type (
Complete Examples
Common Use Cases
- Destination Search Request: Searches hotels based on geographical definitions like country and region.
- Hotel Search Request: Queries availability for a specific hotel using its unique code.
- Hotel List Request: Searches availability for a list of hotels, often used in mapped or curated portfolios.
- Efficient Hotel List Request: Optimized version of hotel list search for performance and reduced data volume.
- Multi-Room Search Request: Allows querying availability for multiple rooms in a single request, with occupancy and quantity details.
- Calendar View Request: Returns the cheapest price per arrival date for a given hotel or destination over a time range and a defined length of stay.
- Area List Request: Retrieves available geographical areas based on the distributor’s portfolio.
Best Practices
- Always include EchoToken - Essential for matching requests with responses.
- Specify TimeStamp - Helps with debugging and tracking.
- Use ISO date formats - YYYY-MM-DD for dates.
- Include guest counts - Ensures accurate availability and pricing.
- Validate hotel codes - Confirm codes before sending requests.
- Handle multiple rooms - Use Quantity attribute when booking multiple rooms.
- Time Zones: Be aware that timestamps should include timezone information
- Error Handling: Implement proper error handling for the response messages
Playground
OTA_HotelAvailRQ API call
Try our API playground in real time.

