The OTA API provides a standardized set of endpoints for online travel agency (OTA) partners to list activities, check availability, and create bookings in Sailia. Use these endpoints to build integrations that sell a Sailia operator’s activities on your own platform. All endpoints require an API key with OTA permissions. See authentication for details on passing your key.Documentation Index
Fetch the complete documentation index at: https://sailia-mintlify-docs-reorg-1776565301.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Base path
All OTA endpoints are under:List products
Retrieve all activities that are available in the operator’s shopfront.Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | No | Filter products by name (partial match) |
Example request
Response
Returns a200 response with a list of products.
Resolve a product
Look up a specific product by its ID or name.Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| ID | integer | No | The numeric product ID |
| Name | string | No | The product name to look up |
ID or Name, not both.
Example request
Responses
| Status | Description |
|---|---|
| 200 | Product details returned |
| 400 | Invalid request — provide either ID or Name |
| 404 | Product not found |
Get available dates
Retrieve dates with available capacity for a specific activity within a date range.Path parameters
| Parameter | Type | Description |
|---|---|---|
| ActivityID | string | The UUID of the activity (e.g. s_abc123xyz456) |
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| StartDate | string | Yes | Start of the date range in YYYY-MM-DD format |
| EndDate | string | Yes | End of the date range in YYYY-MM-DD format |
Example request
Responses
| Status | Description |
|---|---|
| 200 | List of available dates |
| 400 | Invalid ActivityID |
| 422 | Missing StartDate or EndDate |
Get available timeslots
Retrieve timeslots with availability for a specific activity on a given date.Path parameters
| Parameter | Type | Description |
|---|---|---|
| ActivityID | string | The UUID of the activity (e.g. s_abc123xyz456) |
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| Date | string | Yes | The date to check in YYYY-MM-DD format |
Example request
Responses
| Status | Description |
|---|---|
| 200 | List of available timeslots |
| 400 | Invalid ActivityID |
| 422 | Missing Date parameter |
Get waiver questions
Retrieve the waiver questions associated with an activity. Use this to display required forms to customers before they complete a booking. Questions can be marked as required — your integration should validate that all required fields (including file uploads) are completed before submitting the booking.Path parameters
| Parameter | Type | Description |
|---|---|---|
| ActivityID | string | The UUID of the activity (e.g. s_abc123xyz456) |
Example request
Responses
| Status | Description |
|---|---|
| 200 | List of waiver questions with field types, labels, and required flags |
| 400 | Invalid ActivityID |
Create a booking
Submit a new booking for an activity.Example request
Responses
| Status | Description |
|---|---|
| 201 | Booking created — returns a booking reference |
| 409 | Insufficient capacity for the requested timeslot |
| 500 | Internal server error |
Bookings created through the OTA API are recorded with the OTA partner’s payment reference. The operator sees these bookings in their bookings dashboard alongside online and POS bookings.
Typical integration flow
A standard OTA integration follows these steps:Discover products
Call list products to retrieve the operator’s activities. Cache results and refresh periodically.
Check availability
When a customer selects an activity, call get available dates to show bookable dates, then get available timeslots for the chosen date.
Collect waiver responses
Call get waiver questions and display the required fields to the customer before checkout.
Create the booking
Submit the reservation with create a booking. Handle a
409 response by prompting the customer to choose a different timeslot.Error handling
All error responses follow the RFC 7807 problem detail format. See error format for details.| Status | Cause |
|---|---|
| 400 | Invalid path parameter — check the ActivityID format |
| 404 | Product not found |
| 409 | Insufficient capacity for the requested booking |
| 422 | Missing or invalid query parameters |
Related guides
API introduction
Authentication, base URL, and error format.
Adventuro integration
Pre-built OTA integration with Adventuro marketplace.