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_TourActivitySearchRQ message is used to perform general search queries for tours and activities. Unlike OTA_TourActivityAvailRQ which focuses on availability for specific dates and participants, this message is designed for broader discovery searches, allowing users to browse and explore tour and activity options based on various criteria without necessarily committing to specific dates or participant counts.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.SearchCriteria
The core element containing all search parameters.DateTimePref
Specifies the date range for the excursion search (max 28 days). Duration can optionally be included.LocationPref
- 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.
OtherPref
Defines in this case spoken language preferences.CategoryTypePref (optional)
Optional section to filter by excursion categories.Complete Examples
Best Practices
- Always include EchoToken - Essential for matching requests with responses.
- Validate regions - Confirm region names before sending requests.
- 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.

