intui.travel API

The intui.travel API is designed to integrate transfer search data into a partner's project.

Using the API, you can:

Note: You must use the link generation form in your account to create links. This ensures that clicks and bookings are tracked in your Travelpayouts dashboard and that you receive commissions for them.

Working with the API requires development experience. If you don't have the necessary skills, you can hire a developer through one of the freelance platforms.

Transport Hub Search

Method

POST

URL

Depends on the language in which you want to receive the data:

Request

Request format

Headers:
  x-requested-with: “XMLHttpRequest”
Body(form-data):
  searchStr: [string]

Request parameters

  • searchStr (string) — the name of the city or departure location (Latin characters only).

Request example (JavaScript)

var formdata = new FormData();
formdata.append("searchStr[]", "Moscow");
fetch("https://www.intui.travel/ajax/AjaxFindLocation/hub/", {
  method: 'POST',
  headers: {
"x-requested-with": "XMLHttpRequest"
  },
  body: formdata,
  redirect: 'follow'
}).then(r => r.json())

Request example (cURL)

curl 'https://www.intui.travel/ajax/AjaxFindLocation/hub/' \
  -H 'x-requested-with: XMLHttpRequest' \
  -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryzBiECeofvtmY4KUD' \
  --data-binary $'------WebKitFormBoundaryzBiECeofvtmY4KUD\r\nContent-Disposition: form-data; name="searchStr[]"\r\n\r\nMoscow\r\n------WebKitFormBoundaryzBiECeofvtmY4KUD--\r\n'

Response

[
  {
    "label": "<b>Moscow</b> Sheremetyevo Airport (<b>Moscow</b> Sheremetyevo Airport) (SVO)<small>Russia</small>",
    "value": "Moscow Sheremetyevo Airport (Moscow Sheremetyevo Airport) (SVO), Russia",
    "country_id": "65_417",
    "value_en": "Airport", 
    "dt": ""
  }
] 

Response parameters

  • label (string) — the name of the transport hub/city with HTML tags for displaying it on the page;

  • value (string) — the name of the transport hub/city without HTML tags;

  • country_id (integer) — the first number is the country ID, and the second is the location ID;

  • value_en (string) — the type of transport hub:

    • Airport — airport;

    • Train — railway station;

    • Bus — bus station;

    • Sea — seaport;

    • Geo — populated area.

  • dt — not used.

City or Hotel Search

Method

POST

URL

Depends on the language in which you want to receive the data:

Request

Request format

Headers:
  x-requested-with: “XMLHttpRequest”
Body(form-data):
  searchStr: [string]
  ag_ap: string

Request parameters

  • ag_ap (string) — corresponds to the country_id obtained when searching for a transport hub. Use this parameter to filter the search results in advance;

  • searchStr (string) — the user's search query.

Request example (JavaScript)

var formdata = new FormData();
formdata.append("searchStr[]", "Kemer");
formdata.append("ag_ap", "14_121”");
fetch("https://www.intui.travel/ajax/AjaxFindLocation/resort/", {
  method: 'POST',
  headers: {
"x-requested-with": "XMLHttpRequest"
  },
  body: formdata,
  redirect: 'follow'
}).then(r => r.json())

Request example (cURL)

curl 'https://www.intui.travel/ajax/AjaxFindLocation/resort/' \
  -H 'x-requested-with: XMLHttpRequest' \
  -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryozW4ItWXXUHkybK7' \
  --data-binary $'------WebKitFormBoundaryozW4ItWXXUHkybK7\r\nContent-Disposition: form-data; name="searchStr[]"\r\n\r\nKemer\r\n------WebKitFormBoundaryozW4ItWXXUHkybK7\r\nContent-Disposition: form-data; name="ag_ap"\r\n\r\n14_121”\r\n------WebKitFormBoundaryozW4ItWXXUHkybK7--\r\n'

Response

Response example

[
  {
    "label": "<b>Kemer</b> city centre Кемер район центра города",
    "value": "Kemer city centre Кемер район центра города",
    "value_en": "r",
    "dt": "60.8_66",
    "country_id": "148650"
  },
  {
    "label": "Erendiz <b>Kemer</b> Resort",
    "value": "Erendiz Kemer Resort",
    "value_en": "h", 
    "dt": "112.5_110", 
    "country_id": "r1075h16671_b"
  }
]

Response parameters

  • label (string) — the name of the location (transport hub/city) with HTML tags for displaying it on the page;

  • value (string) — the name of the location (transport hub/city) without HTML tags;

  • value_en (string) — the type of location:

    • r — resort/area;

    • h — hotel.

  • country_id (string) — if it contains only a number, this is the ID of the resort/area. If it starts with r, the resort/area ID comes first, followed by h and the hotel ID. For example, r1075h16671_b means ResortId = 1075 and hotelId = 16671.

  • dt — TBD.

Generate a Link to the Available Transfers Search Results Page

Method

GET

URL

Depends on the language in which you want to receive the data:

Request

Request parameters

Fields marked with an asterisk are required.

  • AirportGroupId* (integer) — airport group ID. The first number in the country_id parameter returned by the transport hub search request;

  • AirportId* (integer) — airport ID. The second number in the country_id parameter returned by the transport hub search request;

  • ResortId* (integer) — resort ID. The country_id value returned by the city or hotel search request;

  • hotelId (integer) — hotel ID. The country_id value returned by the city or hotel search request;

  • NumberOfAdults* (integer) — number of adults;

  • NumberOfChildren (integer) — number of children aged 2 to 12;

  • NumberOfInfants (integer) — number of infants under 2 years old;

  • leaving_datetime (integer) — departure time (timestamp);

  • come_datetime (integer) — arrival time (timestamp);

  • forcibly_currency* (string) — currency code used to display prices on transfer search results pages. Possible values: EUR, USD, RUB, GBP, AUD, SGD, CNY, CAD, INR, UAH, CHF, ZAR, AED, ILS, HKD, CZK, BRL, JPY. The default value is EUR;

  • BookingTypeId* (integer) — transfer type:

    • 1 — round trip (to and from the airport);

    • 2 — from the airport;

    • 3 — to the airport.

Example URL

https://www.intui.travel/transfer/search/?transfer_search[AirportGroupId]=14&transfer_search[AirportId]=121&transfer_search[ResortId]=1075&transfer_search[NumberOfAdults]=3&transfer_search[BookingTypeId]=2&transfer_search[forcibly_currency]=EUR&partnerID=2871992
 

Get Available Transfers

Method

GET

Description

Returns a list of all transfers available for booking. To retrieve a list of available routes, you need to specify the pick-up and drop-off locations.

There are three ways to specify locations:

  • AR — using the transport hub code and the city/hotel ID.

  • IG — using the transport hub's IATA code and the GPS coordinates of the hotel, villa, apartment, or pick-up/drop-off address.

  • GEO — using the GPS coordinates of the pick-up and drop-off locations. GPS coordinates can be obtained from any source or map service.

For the AR and IG methods, you can download a cached database of all transport hubs, cities, and hotels using this link, or use the parameters returned by the methods described above.

Request

General parameters for AR and IG methods

Fields marked with an asterisk are required.

  • apikey* — to obtain an API key, contact Travelpayouts Support;

  • coordinatesType* (string) — specifies how the starting and ending points of the route are defined:

    • AR;

    • IG;

    • GEO.

  • bookingType* (integer) — transfer direction:

    • 1 — round-trip transfer;

    • 2 — one-way transfer to the destination;

    • 3 — one-way return transfer.

The default value is 2.

When coordinatesType is specified, the bookingType parameter is optional and ignored in the request.

Note: For GEO routes, it is not possible to request a round-trip transfer using bookingType = 1.

  • adults* (integer) — number of adult passengers. The default value is 1;

  • children (integer) — number of children aged 2 to 12. The default value is 0;

  • infants (integer) — number of infants under 2 years old. The default value is 0;

  • lang (string) — the language used for the returned text values. Supported values:

    • en (default);

    • ru;

    • de;

    • es;

    • it;

    • fr;

    • cn.

If the transport company doesn't provide instructions in the requested language, the instructions will be returned in English.

  • multiprice (boolean) — specifies whether transfer prices should be returned in the four main currencies (EUR, USD, RUB, GBP). The default value is false. If set to false, the price array will contain values only in the currency specified in the currency parameter (EUR by default);

  • currency (string) — currency code used to display prices on the transfer search results and booking details pages (see the returned variables IntuiUrlTransfersList, IntuiUrlOrderSingle, and IntuiUrlOrderBoth below). Supported values: EUR (default), USD, RUB, GBP, AUD, SGD, CNY, CAD, INR, UAH, CHF, ZAR, AED, ILS, HKD, CZK, BRL, JPY;

  • childseat (integer) — number of child seats available from the provider;

  • booster (integer) — number of booster seats available from the provider;

  • arrivalDateTime* (integer) — passenger arrival time at the transport hub (for transfers from the hub). The time must be in 5-minute increments and use the ISO 8601 format: YYYY-MM-DDThh:mm:ss.
    Note: For GEO routes, arrivalDateTime specifies the local pick-up date and time. It must also be in 5-minute increments and use the ISO 8601 format: YYYY-MM-DDThh:mm:ss.

  • departureDateTime* (integer) — passenger pick-up time (for transfers to the transport hub). The time must be in 5-minute increments and use the ISO 8601 format: YYYY-MM-DDThh:mm:ss.
    Note: For GEO routes, departureDateTime is optional when using BookingCreate.

If arrivalDateTime or departureDateTime is left empty, the system will use the nearest available transfer time. If the user provides a date that is earlier than the available transfer dates, the system will adjust it accordingly. If the specified time is not a multiple of 5 minutes, the system will round it to the nearest 5-minute increment.

 

Parameters specific to the AR method

  • ResortId (integer) — ID of the city area that is one of the transfer route locations;

  • iata (integer) — IATA code of the transport hub that is the second location on the transfer route.

Parameters specific to the IG method

  • iata (integer) — IATA code of the transport hub that is the second location on the transfer route;

  • gpsLatR (float) — latitude of the GPS coordinates of the city location that is the second point on the route;

  • gpsLngR (float) — longitude of the GPS coordinates of the city location that is the second point on the route.

Parameters specific to the GEO method

  • gpsLatR (float) — latitude of the GPS coordinates of the first point on the route;

  • gpsLngR (float) — longitude of the GPS coordinates of the first point on the route;

  • gpsLatEnd (float) — latitude of the GPS coordinates of the final point on the route;

  • gpsLngEnd (float) — longitude of the GPS coordinates of the final point on the route.

AR Request Example

$url = 'https://api.intui.travel/ver1_0/GetAvailCar/';
$parameters = array(
apikey : ******************************
coordinatesType : AR
iata : HBA
ResortId : 107074
gpsLatR :
gpsLngR :
gpsLatEnd :
gpsLngEnd :
bookingType : 1
adults : 1
childs : 0
infants : 0
childseat : 0
booster : 0
arrivalDateTime : 2022-01-01T10:00:00
pickupDateTime :
departureDateTime :
currency : EUR
productid :
lang : en
multiprice : 1
)
//
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($parameters));
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response);
var_dump($result);

IG Request Example

$url = 'https://api.intui.travel/ver1_0/GetAvailCar/';
$parameters = array(
apikey : ******************************8
coordinatesType : IG
iata : HBA
ResortId :
HotelId :
gpsLatR : -42.687243
gpsLngR : 147.869284
gpsLatEnd :
gpsLngEnd :
bookingType : 3
adults : 1
childs : 0
infants : 0
childseat : 0
booster : 0
arrivalDateTime :
pickupDateTime :
departureDateTime : 2022-01-01T10:00:00
currency : EUR
productid :
lang : en
multiprice : 1
)
//
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($parameters));
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response);
var_dump($result);

GEO Request Example

$url = 'http://api.intui.travel/ver1_0/GetAvailCar/';
$parameters = array(
apikey : ******************************
coordinatesType : geo
iata : HBA
ResortId :
HotelId :
gpsLatR : -42.836354
gpsLngR : 147.507461
gpsLatEnd : -42.687243
gpsLngEnd : 147.869284
adults : 1
childs : 0
infants : 0
childseat : 0
booster : 0
arrivalDateTime : 2022-01-01T10:00:00
currency : EUR
productid :
lang : en
multiprice : 1
)
//
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($parameters));
$response = curl_exec($curl);
curl_close($curl);
$result = json_decode($response);
var_dump($result);

Response

You can find sample responses for the AR, IG, and GEO methods here.

Response parameters

  • status (string) — response status. Possible values:

    • ok — the request was successful;

    • authorization_error — invalid authorization credentials;

    • wrong_params — invalid required parameters.

  • LocationInfo — an object containing information about the route locations:

    • ResortId — city area ID.

    • AirportId — transport hub ID.

    • AirportGroupId — country ID.

    • ResortName — name of the city area in the requested language.

    • ResortCenterLatitude — latitude of the GPS coordinates of the area center (may be useful for calculating the optimal transfer option).

    • ResortCenterLongitude — longitude of the GPS coordinates of the area center.

    • Distance — distance from the area center to the transport hub.

    • HotelLatitude — latitude of the hotel's GPS coordinates (may be useful for calculating the optimal transfer option). For AR searches with a hotel ID specified, the hotel's coordinates are returned instead of the area center coordinates and distance.

    • HotelLongitude — longitude of the hotel's GPS coordinates (may be useful for calculating the optimal transfer option). For AR searches with a hotel ID specified, the hotel's coordinates are returned instead of the area center coordinates and distance.

    • AirportName — name of the transport hub in the requested language.

    • AirportGroupName — name of the country in the requested language.

    • StationType — type of transport hub. Possible values:

      • AIR — airport;

      • STN — railway station;

      • BUS — bus station;

      • PRT — seaport.

    • StationCode — IATA code of the transport hub or its pseudo-code returned in the response parameters of the DestinationAirportToMPoint or DestinationPointToMAirport methods.

    • IntuiUrlTransfersList — link to the transfer search results page on intui.travel for the selected route and date. The link is valid for 24 hours.

    • travelling — an array containing all available vehicles for transfers from the transport hub.

  • info — an object containing general information about the vehicle and trip:

    • productid — vehicle ID.

    • bookingTypeId — transfer direction (for GEO routes only).

    • transfertime — estimated journey time in minutes.

    • advanced_booking — minimum time required between booking and the transfer (in hours).

    • free_cancellation — number of hours before the transfer until which the booking can be cancelled free of charge. Free cancellation is available at least one hour in advance and depends on the settings for the specific vehicle. This value may vary between offers. If free cancellation is not available, the system returns 0.

    • maxpax — maximum passenger capacity of the vehicle (for private transfers).

    • luggage — maximum luggage capacity of the vehicle (for private transfers).

    • perperson — indicates that the price is calculated per passenger (for shuttles).

    • vehicle_type — type of transfer vehicle. Possible values:

      • shuttle — shuttle bus;

      • private — private transfer.

    • vehicle_description — brief description of the vehicle, including its body type, year of manufacture, and make.

    • vehicle_class — vehicle class for private transfers, if specified by the transport provider. Possible values:

      • N/a (if no value is specified);

      • Economy class;

      • Standard;

      • Eco-Electric car;

      • Business;

      • Luxury;

      • Moto taxi;

      • Boat;

      • Speed Boat;

      • Ferry;

      • Plane;

      • Sea plane;

      • Helicopter;

      • Car+Boat.

    • vehicle_class_index — vehicle class ID. Possible values:

      • 1 (Economy class);

      • 2 (Standard);

      • 3 (Eco-Electric car);

      • 4 (Business);

      • 5 (Luxury);

      • 6 (Moto taxi);

      • 7 (Boat);

      • 8 (Speed Boat);

      • 9 (Ferry);

      • 10 (Plane);

      • 11 (Sea plane);

      • 12 (Helicopter);

      • 13 (Car+Boat).

    • type_vehicle — vehicle type. Possible values:

      • N/A;

      • Sedan;

      • High class sedan;

      • Superior High class sedan;

      • Minivan;

      • Minibus;

      • Bus;

      • Coach;

      • Station Wagon;

      • Limousine;

      • SUV;

      • Car 4×4;

      • Boat;

      • Speedboat;

      • Catamaran;

      • Car + Boat;

      • Car + Speedboat;

      • Minivan + boat;

      • Minivan + speedboat;

      • Motorbike;

      • Hatchback.

    • type_vehicle_id — vehicle type ID. Possible values:

      • 0 (N/A);

      • 1 (Sedan);

      • 2 (High class sedan);

      • 3 (Superior High class sedan);

      • 4 (Minivan);

      • 5 (Minibus);

      • 6 (Bus);

      • 7 (Coach);

      • 8 (Station Wagon);

      • 9 (Limousine);

      • 10 (SUV);

      • 11 (Car 4×4);

      • 12 (Boat);

      • 13 (Speedboat);

      • 14 (Catamaran);

      • 15 (Car + Boat);

      • 16 (Car + Speedboat);

      • 17 (Minivan + boat);

      • 18 (Minivan + speedboat);

      • 19 (Motorbike);

      • 20 (Hatchback).

    • route_description — additional information about the route and vehicle.

    • carImgUrl — URL of the vehicle photo.

    • meetingPointScheme — URL of the customer meeting point diagram.

    • interiorImgUrl — URL of the vehicle interior photo.

    • driverPhotoUrl — URL of the driver's photo.

    • intuiUrlOrderSingle — link to the transfer booking details page for a one-way transfer on intui.travel (from the transport hub for travelling, or to the transport hub for returning). The link is valid for 24 hours.

    • intuiUrlOrderBoth — link to the booking details page for a round-trip transfer. The link is valid for 24 hours

      If the user has selected a specific transfer option, we recommend returning the IntuiUrlOrderSingle and IntuiUrlOrderBoth links. If no specific transfer option has been selected, return IntuiUrlTransfersList.

      If IntuiUrlTransfersList is returned, you can also pass the destination name using the apiHotelName=YourNameOfHotel parameter. This name will be displayed on the landing page with the search results.

    • apiHotelName— destination name.
      Note: This parameter is processed only for routes to a resort when ResortId is used. It is not processed for routes generated using HotelId.

  • conditions — an object containing the transfer conditions, if any (otherwise, it may be set to false):

    • instruction — instructions for the customer on arrival/departure (depending on the route segment).

    • maximum_waiting_time — maximum waiting time and conditions for waiting on arrival/departure (depending on the route segment).

    • luggage_information — luggage information.

    • children_infants — information about children and infants.

    • additional_info — additional information about the route.

  • additional — additional information about the vehicle (returns false if no additional information is available):

    • car_licensing — vehicle license number.

    • driver_licensing — driver license number.

    • driver_langs — languages spoken by the driver (comma-separated).

    • available_currency — currencies accepted by the driver (comma-separated currency codes).

    • card_payment — whether payment by bank card is available with the driver (1 — available, 0 — unavailable).

    • wheelchair_access — whether the vehicle is adapted for passengers with disabilities (1 — available, 0 — unavailable).

    • covid19 — whether the transport company disinfects the vehicle (1 — available, 0 — unavailable).

    • wi_fi — whether free Wi-Fi is available (1 — available, 0 — unavailable).

    • ski — whether skis/snowboards can be transported (1 — available, 0 — unavailable).

    • free_water — whether water is provided free of charge (1 — available, 0 — unavailable).

    • dvd — whether the vehicle is equipped with a DVD player (1 — available, 0 — unavailable).

    • console — whether a game console is available (1 — available, 0 — unavailable).

    • free_refreshment — whether refreshing towels are provided free of charge (1 — available, 0 — unavailable).

    • free_map — whether a city/island map is provided as a gift (1 — available, 0 — unavailable).

    • charger — whether a phone charger is available free of charge (1 — available, 0 — unavailable).

    • support24 — whether 24/7 customer support is available from the provider (1 — available, 0 — unavailable).

    • no_smoking — whether the vehicle is non-smoking (1 — available, 0 — unavailable).

    • woman_driver — whether the driver is a woman (1 — available, 0 — unavailable).

    • pets_are_allow — whether pets are allowed (1 — available, 0 — unavailable).

    • conditioner — whether air conditioning is available (1 — available, 0 — unavailable).

    • golf_bag — whether golf bags are allowed (1 — available, 0 — unavailable).

    • bike_allowed — whether bicycles are allowed (1 — available, 0 — unavailable).

    • music_instr_allowed — whether musical instruments are allowed (1 — available, 0 — unavailable).

    • flightdelayedsupplierwait — whether the transport company will wait for the customer for up to 2 hours at no extra charge if the flight is delayed (1 — available, 0 — unavailable; otherwise, waiting is limited to the time specified in maximum_waiting_time). This applies only to TP2 and TS2.

    • meet_greet — whether the driver will meet the customer with a name sign. The customer's phone number must be provided so the driver can contact them by phone or SMS (1 — available, 0 — unavailable).

    • NumberFulfilledOrders — number of transfers completed by the provider.

    • response_time — provider response time. Values may be specified in minutes, Instant, or ND (no data).

    • EvaluationReviews — average provider rating.

  • pricing — an object containing general and detailed information about the transfer price:

    • allprice — total transfer price in the currency specified by the currency parameter, or in the four main currencies if multiprice is enabled. Note that for round-trip transfers, the price is returned separately for each segment.

    • detailprice — an object containing a detailed breakdown of the transfer price. For per-passenger pricing, as in the case of shuttles, the detailprice object contains the price (price) per adult (type: Adult), child (type: Child), and infant (type: Infants), as well as the number of passengers (units) in each category. For per-vehicle pricing, the object contains the price (price) per vehicle and the number of vehicles (units) required to transport all passengers, depending on vehicle capacity.

  • returning — an array with the same structure as travelling, containing all available vehicles for transfers to the transport hub.

Helpful Tips

  1. You can create a search form on your side for a specific transport hub, with the transport hub name pre-filled in the corresponding field.

  2. For the GetAvCars method, you can use your own data: IATA codes or GPS coordinates of airports, railway stations, cities, and hotels.

  3. If the search results contain more than 10 vehicles, we recommend using lazy loading in the client interface or loading the data in the background.

  4. You can use the example search results page to show customers the available offers and additional vehicle options: https://www.intui.travel/transfer/turciya/airport_antaliya/kemer_raion_centra_goroda/

  5. You can configure sorting by the parameters you need, such as price, vehicle capacity, and transfer type.

  6. You can configure filters on your side to let customers filter vehicles by class and additional options.