OTA_TourActivity API call
Skip & Hit the Playground.
Search VS Avail
To get activities from the system we have 2 message-types:OTA_TourActivitySearchRQ
This is a search request message used to:- Find available tour and activity products based on search criteria.
- Query what tours/activities are offered in a destination.
- Filter by location, dates, activity types, price ranges, etc.
- Get a broad list of matching products.
- Get NBC data for the matching products.
- Get “best scenario” cheapest price for the matching products.
OTA_TourActivityAvailRQ
This is an availability request message used to:- Check specific availability for a particular tour or activity.
- Get detailed pricing, time slots, and capacity for a known product.
- Verify real-time availability before booking.
- Retrieve detailed schedules and options for a specific offering.
Purpose
The OTA_TourActivityAvailRQ message is used to request availability information for tours and activities. This request allows travel systems to query suppliers for available tour and activity products based on various search criteria including dates, locations, categories, and participant information.Structure - Root Element
| Attribute | Type | Required | Description |
|---|---|---|---|
Version | String | Yes | Schema version being used |
xmlns | String | Yes | ”http://www.opentravel.org/OTA/2003/05” |
TimeStamp | DateTime | No | Creation timestamp of the message |
PrimaryLangID | String | No | Primary language code (ISO 639) |
EchoToken | String | No | Reference for asynchronous transactions |
MaxResponses | Integer | No | Maximum number of results to return |
Structure - Core Elements
POS (Point of Sale)
Identifies the party or connection making the request.Instance
| Switch | Behavior |
|---|---|
MF002 | Returns one cheapest price per service (price-from, per person). |
MF001 | Returns all schedules and all products/subservices for the selected service (prices per group). |
TourActivity
Core element containing search criteria for tours and activities.Location
- Two contexts:
Context="Source"(guest origin/pick-up base) andContext="Service"(where the activity runs). - Use one location type per context: Areas (
Country→Region→Resort),HotelCode,GIATA,Product, or geocode viaPosition. - When using areas, always include
Country.
- Source locations allowed: Area (Country, Region, Resort), GIATA code, Hotel Code or Geo Location.
- Destination locations allowed: Area (Country, Region, Resort), TourActivity Code.
Schedule
Defines temporal search criteria:StartPeriod: Start date for availability search.EndPeriod: End date for availability search.
ParticipantCount
Details about participants:8: Child10: Adult7: Infant
MultimodalOffer
Can be used to specify a maximum price and it’s type (PerPerson, PerUnit).Complete Examples
Common Use Cases
- Product Availability Request: Searches a specific activity, ideally with instance MF001 to get all the possible results of the product.
- Region Availability Request: Searches multiple activities in one region, ideally with instance MF002 to get only the cheapest combination of each product.
Best Practices
- Be Specific: Include as many relevant search criteria as possible to get accurate results.
- Date Ranges: Use reasonable date ranges to avoid overwhelming results.
- Participant Details: Always specify participant counts and age categories for accurate pricing.
- MaxResponses: Set appropriate limits to manage result sets.
- Language: Specify PrimaryLangID to receive results in the desired language.
- Time Zones: Be aware that timestamps should include timezone information.
- Error Handling: Implement proper error handling for the response messages.
Playground
OTA_TourActivity API call
Hit the Playground.

