RESTful API

The Leezair Partner API is a REST (REpresentational STate) based API which allows you to read and possibly write resources linked to your Leezair account. The API makes use of the HTTP verbs to determine the type of request.

Please note that not every resource supports all operations. Please check the complete list of operations on our live client (provided in the portal).

Media Types

The Leezair Partner API supports both XML and JSON formats. You must include both Accept and Content-Type headers to your requests. UTF-8 should be used for all content encoding.

You can add the extension .xml to any endpoint path to receive the result as XML feed (in this case you won’t get the data tag as it will be suppressed).

Versioning

Leezair Partner API is versioned, and you must include the version in the URL you’re calling.

Please note our API is actively updated. Non-breaking changes are released without the version being updated. Version will be v1 until major changes are released. Please check the changelog for details or ask our engineering team. 

Authentication

All API calls require a valid API Key. You can generate your unique key from Travel Partner Portal. It must be passed as a query parameter to all requests, using the following format:

https://partner.api.leezair.com/v1/products?key=XXXXXXXXXXXXXXX

You can generate and revoke your API key by logging into your Leezair Partner Portal account.

Response format

All responses will contain a success element. That element will tell you if your request was successful or not. If not a message element can contain error and warning messages.

Date format

We provide one format for Availability and Booking dates/times as a unix timestamp in local time. We also provide timezone and duration.

Pagination

Requests that return multiple items are paginated to 150 items by default. You can control pagination by using the page(default:1) and limit (default: 150) query parameters. The custom limit may not exceed 150.

GET /products?page=1&limit=150
GET /products?page=2&limit=150
GET /products?page=3&limit=150

Caching

To provide the best experience to your travellers/customers and avoid hitting the rate limits, you should implement some form of caching on your end rather than calling the Leezair API for each request. Browsing and booking process should follow a clear caching strategy.

Errors

We return success and errors elements as status.

API Limitations

Our API is actively updated, we regularly add new endpoints and features to support more use cases. Let us know what you need.

Availability

Our applications and API availability are closely monitored and can be requested (our current and historical server status).

We use a high availability architecture. Releases should be transparent and backwards-compatible. In case a maintenance period is required we’ll alert users via in-app messages and announcements via email.


Leezair Affiliate Partner API - endpoints

GET /products
As partner, through the API you can retrieve our products: experiences, tours and activities details using several filters/search such as locations, categories, availabilities, duration or price. We will return details about the experiences including cover image, name, description, highlights, price, rating, country, city, duration, available for instant booking, next sessions available, URLs, etc. Please specify at least the country or latitude + longitude parameter.

GET /recommendations
We have built an advanced recommendation engine (also called recommender) with machine/deep learning embedded so you could suggest relevant experiences, tours and activities to your audience around a specific location. Here the user experience is more proactive and make sense if you already know a little bit your customers, where they are going, their traveller type (eg. age, genre, gender, etc.).

GET /taxonomy/categories
You can retrieve our list of categories which is always updated dynamically based on the activities available within our ecosystem.

GET /taxonomy/genres
You can retrieve our experiences genres we have available within our catalogue. You can consider our ‘genres’ as ‘themes’ or top-top categories. You can use it to optimise the recommendations if you have collected or asked your customer interests or preferences.

GET /taxonomy/countries
You can retrieve a list of countries where Leezair has experiences listed. Use this is list to limit your /products, /taxonomy/categories or /taxonomy/genres requests for a specific country.


Leezair Advanced Partner API - additional endpoints

GET /availabilities
You can retrieve availabilities per product (experiences, tours, activities, rentals, etc.)

POST /booking
Create a new booking

POST /payment
Create a new payment (often needed to validate booking)

UPDATE/ booking
Update a booking with participant details, date change, pickup change or location change.  


Did this answer your question?