1. SearchTourPackages
Method Description
Tour package mean, tour with hotel and flight together. Using this method gives data about full package availability with flight and hotel options.
It's possible to receive data as current dates, also in date ranges using parameter "stayDays": 0, "stayDaysTo": 0. the maximum difference between the days can be 7. Below you can see examples.
Endpoint URL - [POST]
Request Parameters
Request Body
"departureCountryCode": "string",
"departureCityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"arrivalCountryCode": "string",
"arrivalLocations": [
{
"type": "string",
"parent": "string",
"label": "string",
"subLabel": "string",
"value": "string",
"tag": "string"
}
],
"checkInDate": "2023-12-14",
"checkInDateTo": "2023-12-14",
"checkOutDate": "2023-12-14",
"stayDays": 0,
"stayDaysTo": 0,
"departureDate": "2023-12-14",
"returnDate": "2023-12-14",
"airlineCode": "string",
"ticketType": "string",
"directFlightsOnly": true,
"longConnectTime": true,
"adults": 0,
"children": 0,
"childrenAges": [
0
],
"extendedSearch": true,
"totalPriceFrom": 0,
"totalPriceTo": 0,
"recommended": true,
"popular": true,
"freeSale": true,
"groupByHotel": true,
"hotelCodes": [
"string"
],
"mealPlans": [
"string"
],
"hotelClasses": [
"string"
],
"hotelTypes": [
"CityHotel"
],
"hotelServices": [
"HasAlcohol"
],
"pagingId": "string",
"pageNumber": 0,
"pageRowCount": 0
}
Request example
"departureCountryCode": "KZ",
"departureCityUID": "f0ba6324-f337-405c-8cc7-23d62cf664e8",
"arrivalCountryCode": "AE",
"arrivalLocations": [
{
"type": "city",
"label": "Dubai",
"value": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
"tag": "Dubai"
}
],
"checkInDate": "2024-02-05T20:00:00.000Z",
"checkInDateTo": "2024-02-10T20:00:00.000Z",
"stayDays": 3,
"stayDaysTo": 6,
"airlineCode": "",
"ticketType": "",
"directFlightsOnly": true,
"longConnectTime": true,
"adults": 1,
"children": 1,
"childrenAges": [
2
],
"extendedSearch": false,
"totalPriceFrom": 100,
"totalPriceTo": 15000,
"recommended": true,
"popular": true,
"freeSale": true,
"groupByHotel": true,
"hotelCodes": [
],
"mealPlans": [
],
"hotelClasses": [
],
"hotelTypes": [
],
"hotelServices": [
],
"pagingId": "",
"pageNumber": 10,
"pageRowCount": 10
}
Response Body
"error": true,
"errorCode": "string",
"errorDescription": "string",
"userErrorDescription": "string",
"packages": [
{
"cacheKey": "string",
"id": "string",
"priceCurrency": "string",
"totalPrice": 0,
"agentCommissionPercent": 0,
"agentCommissionAmount": 0,
"includedExtrasAmount": 0,
"priceDifference": 0,
"hotel": {
"hotelPriceId": "string",
"providerId": 0,
"hotelName": "string",
"hotelCode": "string",
"nigths": 0,
"mealPlan": "string",
"hotelClass": "string",
"availabilityType": "OnRequest",
"availableRoomsCount": 0,
"fewRooms": true,
"roomCategoryCode": "string",
"roomCategoryName": "string",
"placementTypeName": "string",
"placementDescription": "string",
"checkInDate": "2023-12-14T13:47:13.396Z",
"checkOutDate": "2023-12-14T13:47:13.396Z",
"adults": 0,
"children": 0,
"districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"districtName": "string",
"cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cityName": "string",
"countryCode": "string",
"countryName": "string",
"hasAlcohol": true,
"hasFreeWifi": true,
"hasMetro": true,
"hasPool": true,
"hasMall": true,
"cancellationPolicyDescription": "string",
"cancellationPolicy": {
"cancellationPolicyCode": "string",
"noShowChargeValue": 0,
"noShowChargeValueType": "string",
"earlyDepartureChargeValue": 0,
"earlyDepartureChargeValueType": "string",
"conditions": [
{
"timeunits": 0,
"timeunitType": "string",
"timeOffsetTypeName": "string",
"chargeValue": 0,
"chargeValueType": "string"
}
]
}
},
"flight": {
"id": "string",
"departureDate": "2023-12-14T13:47:13.396Z",
"returnDate": "2023-12-14T13:47:13.396Z",
"departureTicketsLeft": 0,
"returnTicketsLeft": 0,
"departureAvailabilityType": "OnRequest",
"returnAvailabilityType": "OnRequest",
"isTwoWay": true,
"departureSegments": [
{
"airlineCode": "string",
"airlineName": "string",
"flightCode": "string",
"class": "string",
"lugageWeight": 0,
"handLugageWeight": 0,
"departureFlightDate": "2023-12-14T13:47:13.396Z",
"departureCountryName": "string",
"departureCityName": "string",
"departureAirportCode": "string",
"departureAirportName": "string",
"departureTerminalCode": "string",
"arrivalFlightDate": "2023-12-14T13:47:13.396Z",
"arrivalCountryName": "string",
"arrivalCityName": "string",
"arrivalAirportCode": "string",
"arrivalAirportName": "string",
"arrivalTerminalCode": "string",
"flightDuration": "string",
"baggages": [
{
"baggageCode": "string",
"description": "string",
"price": 0,
"currency": "string",
"included": true
}
]
}
],
"returnSegments": [
{
"airlineCode": "string",
"airlineName": "string",
"flightCode": "string",
"class": "string",
"lugageWeight": 0,
"handLugageWeight": 0,
"departureFlightDate": "2023-12-14T13:47:13.396Z",
"departureCountryName": "string",
"departureCityName": "string",
"departureAirportCode": "string",
"departureAirportName": "string",
"departureTerminalCode": "string",
"arrivalFlightDate": "2023-12-14T13:47:13.396Z",
"arrivalCountryName": "string",
"arrivalCityName": "string",
"arrivalAirportCode": "string",
"arrivalAirportName": "string",
"arrivalTerminalCode": "string",
"flightDuration": "string",
"baggages": [
{
"baggageCode": "string",
"description": "string",
"price": 0,
"currency": "string",
"included": true
}
]
}
]
},
"extraServices": [
{
"extraServiceCode": "string",
"extraServiceTypeCode": "string",
"isMandatory": 0,
"extraServiceName": "string",
"minimalServiceAmount": 0,
"includedPriceCode": "string",
"prices": [
{
"extraServicePriceCode": "string",
"displayName": "string",
"restrictionInfo": "string",
"additionalInfo": "string",
"price": 0,
"extraPrice": 0,
"currency": "string"
}
]
}
],
"insurancePrice": {
"name": "string",
"price": 0,
"priceSurcarge": 0,
"actualStartDate": "2023-12-14T13:47:13.396Z",
"actualEndDate": "2023-12-14T13:47:13.396Z",
"optional": true,
"includedInPackagePrice": true
}
}
],
"pagingId": "string",
"pageNumber": 0,
"pageCount": 0
}
Response example
"packages": [
{
"cacheKey": "c705ab31e00e4f9a81c2fd46b2cdbb47f6fd9a6e16984236beb979b31aefafa4:{79}:i:10",
"id": "tour:b01c168e-2ea7-4ea6-b6e0-55abb8cab0a0:da894a1e-88c0-4877-b216-0eeeabe186f3:4298d06f-4344-4a39-ad98-071b7760cf30",
"priceCurrency": "USD",
"totalPrice": 1033.53,
"agentCommissionPercent": 0.0,
"agentCommissionAmount": 0.0,
"includedExtrasAmount": 0,
"priceDifference": 0,
"hotel": {
"hotelPriceId": "da894a1e-88c0-4877-b216-0eeeabe186f3",
"providerId": 13,
"hotelName": "Mercure Dubai Barsha Heights Suites Apartments",
"hotelCode": "5f125310-7025-4807-a4c6-49cd284c9c14",
"nigths": 3,
"mealPlan": "BB",
"hotelClass": "4",
"availabilityType": "FreeSale",
"availableRoomsCount": 0,
"fewRooms": true,
"roomCategoryCode": "bc5f2224-bd4c-49b2-ab57-01eb7fa80d41",
"roomCategoryName": "1 B/R Suite City View",
"placementTypeName": "DBL",
"checkInDate": "2024-02-09T20:00:00.000Z",
"checkOutDate": "2024-02-12T20:00:00.000Z",
"adults": 1,
"children": 1,
"districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e",
"districtName": "Al Barsha",
"cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
"cityName": "Dubai",
"countryCode": "AE",
"countryName": "United Arab Emirates",
"hasAlcohol": false,
"hasFreeWifi": true,
"hasMetro": true,
"hasPool": true,
"hasMall": false,
"cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %",
"cancellationPolicy": {
"noShowChargeValue": 100.0,
"noShowChargeValueType": "%",
"earlyDepartureChargeValue": 100.0,
"earlyDepartureChargeValueType": "%",
"conditions": [
{
"timeunits": 5,
"timeunitType": "Day",
"timeOffsetTypeName": "Before Arrival",
"chargeValue": 100.0,
"chargeValueType": "%"
}
]
}
},
"flight": {
"id": "4298d06f-4344-4a39-ad98-071b7760cf30",
"departureDate": "2024-02-09T20:00:00.000Z",
"returnDate": "2024-02-12T20:00:00.000Z",
"departureTicketsLeft": 7,
"returnTicketsLeft": 7,
"departureAvailabilityType": "FewPlaces",
"returnAvailabilityType": "FewPlaces",
"isTwoWay": true,
"sameBaggageForAll": false,
"totalBaggage": false,
"departureSegments": [
{
"airlineCode": "KC",
"airlineName": "Air Astana-",
"flightCode": "KC897",
"class": "econom",
"lugageWeight": 20,
"handLugageWeight": 6,
"departureFlightDate": "2024-02-09T20:00:00.000Z",
"departureCountryName": "Kazakhstan",
"departureCityName": "Almaty",
"departureAirportCode": "ALA",
"departureAirportName": "Almaty Intl Airport",
"departureTerminalCode": "ALA",
"arrivalFlightDate": "2024-02-09T20:00:00.000Z",
"arrivalCountryName": "United Arab Emirates",
"arrivalCityName": "Dubai",
"arrivalAirportCode": "DXB",
"arrivalAirportName": "Dubai Intl Airport",
"arrivalTerminalCode": "DXB1",
"flightDuration": "0h 50m"
}
],
"returnSegments": [
{
"airlineCode": "KC",
"airlineName": "Air Astana-",
"flightCode": "KC900",
"class": "econom",
"lugageWeight": 20,
"handLugageWeight": 6,
"departureFlightDate": "2024-02-12T20:00:00.000Z",
"departureCountryName": "United Arab Emirates",
"departureCityName": "Dubai",
"departureAirportCode": "DXB",
"departureAirportName": "Dubai Intl Airport",
"departureTerminalCode": "DXB1",
"arrivalFlightDate": "2024-02-12T20:00:00.000Z",
"arrivalCountryName": "Kazakhstan",
"arrivalCityName": "Almaty",
"arrivalAirportCode": "ALA",
"arrivalAirportName": "Almaty Intl Airport",
"arrivalTerminalCode": "ALA",
"flightDuration": "8h 15m"
}
],
"passengers": [
{
"id": "42768722011000004-A1",
"isAdult": true,
"forwardBaggages": [],
"backwardBaggages": []
},
{
"id": "42768722011000004-C1",
"isAdult": false,
"forwardBaggages": [],
"backwardBaggages": []
}
]
},
"extraServices": [],
"insurancePrice": {
"name": "Medical INS (N10000)",
"price": 17.92,
"priceSurcarge": 0.0,
"actualStartDate": "2024-02-09T20:00:00.000Z",
"actualEndDate": "2024-02-12T20:00:00.000Z",
"optional": false,
"includedInPackagePrice": true
}
}
],
"pagingId": "79",
"pageNumber": 10,
"pageCount": 2452,
"totalCount": 2452,
"error": false
}
Schema
Definitions
Request Parameters
Field | Type | Description |
---|---|---|
departureCountryCode | string | The ISO 3166-1 alpha-2 country code for the departure country. For example, "KZ" for Kazakhstan. |
departureCityUID | string | The unique identifier for the departure city. |
arrivalCountryCode | string | The ISO 3166-1 alpha-2 country code for the arrival country. For example, "AE" for United Arab Emirates. |
arrivalLocations | array | An array of objects, each representing an arrival location. Each object contains: type (string) - The type of the location. This can be "city". label (string) - The name of the location. value (string) - The unique identifier for the location. tag (string) - A tag for the location. |
checkInDate | string | The check-in date in ISO 8601 format. |
checkInDateTo | string | The latest possible check-in date in ISO 8601 format. |
stayDays | integer | The minimum number of days to stay. |
stayDaysTo | integer | The maximum number of days to stay. |
airlineCode | string | The code of the airline. This field can be empty. |
ticketType | string | The type of the ticket. This field can be empty. |
directFlightsOnly | boolean | Indicates whether to search for direct flights only. |
longConnectTime | boolean | Indicates whether to include flights with long connection times. |
adults | integer | The number of adults. |
children | integer | The number of children. |
childrenAges | array | An array of integers, each representing the age of a child. |
extendedSearch | boolean | Indicates whether to perform an extended search. |
totalPriceFrom | float | The minimum total price. |
totalPriceTo | float | The maximum total price. |
recommended | boolean | Indicates whether to include recommended packages. |
popular | boolean | Indicates whether to include popular packages. |
freeSale | boolean | Indicates whether to include free sale packages. |
groupByHotel | boolean | Indicates whether to group the results by hotel. |
hotelCodes | array | An array of strings, each representing a hotel code. This field can be empty. |
mealPlans | array | An array of meal plans. This field can be empty. |
hotelClasses | array | An array of hotel classes. This field can be empty. |
hotelTypes | array | An array of hotel types. This field can be empty. |
hotelServices | array | An array of hotel services. This field can be empty. |
pagingId | string | The paging ID for paginated results. This field can be empty. |
pageNumber | integer | The page number for paginated results. |
pageRowCount | integer | The number of rows per page for paginated results. |
Request Parameters
Paging and Caching
During the first request, Paging id must be empty like this ( "pagingId": "",) pagenumber is the number of the page, pagerowcount means number of the given result in one page. So in the first request we can search like this:
first request
"pagingId": "",
"pageNumber": 1,
"pageRowCount":10
}
Request with caching
as we receive response, in the end we can see pagingId- number, chich we can use for caching, and then just switch pagenumbers. for cleaning cache, it's important to make new request without pagingID
"pagingId": "80",
"pageNumber": 1,
"pageRowCount":10
}
search parameter options
in the request body it's available to filter search results with parameters. parameter examples:
"totalPriceTo": 10000,
"hotelTypes": [
"CityHotel",
"BeachHotel",
"SecondLineBeach"
],
"hotelClasses": [
"1",
"2",
"3",
"4",
"5",
"6"
],
"hotelServices": [
"HasAlcohol",
"HasFreeWifi",
"HasMetro",
"HasPool",
"HasMall"
],
"mealPlans": [
"RO",
"BB",
"HB",
"FB",
"AL"
]
}