CHR API-GATEWAY Search


Hotel search cache

to get data from API-GATEWAY search cache use the following endpoint. All the search cache data with type=public is made with one room and 2 adults

Request info

Item Description
URL /v1/hotel-searches
Type GET

GET params

Item Possible values Explanation
_includes hotel_search_result.meal_plans, hotel_search_result.rooms, hotel_search_result.discount, hotel_search_result.meal_plans, hotel_search_result.fees include solicited data
type public type must be public

Response

Item Description
id search id
destination_id destination id see Static Data -> Destinations list
hotel_id hotel id see Static Data -> Hotel list *for cache data hotel_id will be always 0
check_in check in date (Y-m-s)
nights number of nights
type public or private
pax pax data
finished if the search is finished true or false
last_result_created_at datetime of the last result (Y-md H:i:s)
_includes.hotel_search_result results list
_includes.hotel_search_result.data.id result id
_includes.hotel_search_result.data.hotel_id hotel id see Static Data -> Hotel list
_includes.hotel_search_result.data.to tour operator code
_includes.hotel_search_result.data.min_price the minimum price for the search true or false
_includes.hotel_search_result.data.gross gross price
_includes.hotel_search_result.data.tax tax price
_includes.hotel_search_result.data.total_discount discount
_includes.hotel_search_result.data.is_hot_deal is hot deal true or false
_includes.hotel_search_result.data.allocation allocation
_includes.hotel_search_result.data.is_available is available true or false
_includes.hotel_search_result.data.currency currency
_includes.hotel_search_result.data._includes.meal_plans meal plans list for the result
_includes.hotel_search_result.data._includes.meal_plans.data.id meal plan id
_includes.hotel_search_result.data._includes.meal_plans.data.label_id meal plan label see Static Data Meal plan labels
_includes.hotel_search_result.data._includes.meal_plans.data.gross meal plan price
_includes.hotel_search_result.data._includes.meal_plans.data.tax meal plan tax
_includes.hotel_search_result.data._includes.rooms.data room info
_includes.hotel_search_result.data._includes.rooms.data.id room result id
_includes.hotel_search_result.data._includes.rooms.data.hotel_room_category_id hotel room category id see Static Data Hotel list => room_categories
_includes.hotel_search_result.data._includes.discount.data result discount rules
_includes.hotel_search_result.data._includes.discount.data.discount_label_id discount label id
_includes.hotel_search_result.data._includes.discount.data.text discount description
_includes.hotel_search_result.data._includes.discount.data.booking_from discount booking from
_includes.hotel_search_result.data._includes.discount.data.booking_to discount booking to
_includes.hotel_search_result.data._includes.discount.data.travel_from discount travel from
_includes.hotel_search_result.data._includes.discount.data.travel_to discount travel to
_includes.hotel_search_result.data._includes.discount.data.percent discount percent value
_includes.hotel_search_result.data._includes.discount.data.value discount fixed value

Example

Request

curl --request GET \
  --url 'URL/v1/hotel-searches?_includes=hotel_search_result.meal_plans%2Chotel_search_result.rooms%2Chotel_search_result.discount.label%2Chotel_search_result.meal_plans.label%2Chotel_search_result.fees%2Chotel_search_result.extra_components.extra_component%2Chotel_search_result.extra_info.label&type=public' \
  --header 'Authorization: Bearer TOKEN' \
  --header 'Content-Type: application/x-www-form-urlencoded'

Response

{
  "data": [
    {
      "id": 64198734,
      "destination_id": 26,
      "hotel_id": 0,
      "check_in": "2021-06-01",
      "nights": 3,
      "type": "public",
      "pax": "[{\"adults\":2,\"child_ages\":[]}]",
      "finished": true,
      "last_result_created_at": "2021-05-25 00:30:10",
      "created_at": "2020-07-12T15:44:12+03:00",
      "updated_at": "2021-06-01T01:10:58+03:00",
      "_includes": {
        "hotel_search_result": {
          "data": [
            {
              "id": 691793634,
              "search_id": 64198734,
              "hotel_id": 13543,
              "to": null,
              "min_price": true,
              "gross": "187.00",
              "tax": "0.00",
              "total_discount": "0.00",
              "is_hot_deal": true,
              "allocation": "not_available",
              "is_available": true,
              "currency": "EUR",
              "fare_type_id": 0,
              "created_at": "2021-05-21T01:59:16+03:00",
              "updated_at": "2021-06-01T01:10:57+03:00",
              "_includes": {
                "meal_plans": {
                  "data": [
                    {
                      "id": 717222692,
                      "result_id": 691793634,
                      "label_id": 37,
                      "gross": "0.00",
                      "tax": "0.00",
                      "_includes": {
                        "label": {
                          "data": {
                            "id": 37,
                            "user_id": 1,
                            "name": "All Inclusive",
                            "slug": "all-inclusive"
                          },
                          "instance": "meal_plan_label"
                        }
                      }
                    }
                  ],
                  "instance": "search_result_meal_plan"
                },
                "rooms": {
                  "data": [
                    {
                      "id": 786692577,
                      "result_id": 691793634,
                      "api_index": "0",
                      "hotel_room_category_id": 35074
                    }
                  ],
                  "instance": "search_result_room"
                },
                "discount": {
                  "data": [
                      {
                          "id": 13591463,
                          "result_id": 305726261,
                          "discount_label_id": 2907,
                          "text": null,
                          "booking_from": "2019-10-28 00:00:00",
                          "booking_to": "2019-12-31 23:59:00",
                          "travel_from": null,
                          "travel_to": null,
                          "percent": "35.00",
                          "value": "0.00",
                          "created_at": "2019-11-27T14:04:27+02:00",
                          "updated_at": "2019-11-27T14:04:27+02:00"
                      }
                  ],
                  "instance": "search_result_discount"
                }
              }
            }
          ]
        }
      }
    }
  ],
    "links": {
        "first": "URL/v1\/hotel-searches?_includes=hotel_search_result.meal_plans%2Chotel_search_result.rooms%2Chotel_search_result.discount.label%2Chotel_search_result.meal_plans.label%2Chotel_search_result.fees%2Chotel_search_result.extra_components.extra_component%2Chotel_search_result.extra_info.label&type=public&_page=1",
        "last": "URL/v1\/hotel-searches?_includes=hotel_search_result.meal_plans%2Chotel_search_result.rooms%2Chotel_search_result.discount.label%2Chotel_search_result.meal_plans.label%2Chotel_search_result.fees%2Chotel_search_result.extra_components.extra_component%2Chotel_search_result.extra_info.label&type=public&_page=71808",
        "prev": null,
        "next": "URL/v1\/hotel-searches?_includes=hotel_search_result.meal_plans%2Chotel_search_result.rooms%2Chotel_search_result.discount.label%2Chotel_search_result.meal_plans.label%2Chotel_search_result.fees%2Chotel_search_result.extra_components.extra_component%2Chotel_search_result.extra_info.label&type=public&_page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 71808,
        "path": "URL/v1\/hotel-searches",
        "per_page": 10,
        "to": 10,
        "total": "718079"
    }
}  

Hotel search

this search is for creating a live search in all the upstreams apis. the search will not return immediate results, the search will be processed by a background job. to get the results you will need to pool the search until finished became true

first step create a search

Item Description
URL /v1/hotel-searches
Type POST

GET params

Item Possible values Explanation
check_in check in date (Y-m-d) *required
destination_id destination id see Static Data Destinations list *required
hotel_id hotel id see Static Data Hotel list *optional
nights number of nights to stay at the hotel *required
pax search pax *required

Example

Request

curl --request POST \
  --url URL/v1/hotel-searches \
  --header 'Authorization: Bearer TOKEN' \
  --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \
  --form check_in=2021-11-27 \
  --form destination_id=278 \
  --form nights=3 \
  --form 'pax[0][adults]=2' \
  --form 'pax[0][child_ages]=[]'

Response

{
    "data": {
        "id": 91177227,
        "destination_id": 278,
        "hotel_id": 49615,
        "check_in": "2021-11-27",
        "nights": 3,
        "type": "private",
        "pax": "[{\"adults\":2,\"child_ages\":\"[]\"}]",
        "finished": false,
        "last_result_created_at": null,
        "created_at": "2021-10-26T20:55:35+03:00",
        "updated_at": "2021-10-26T20:55:36+03:00"
    }
}

second step pool for results until finished=false

Request info

Item Description
URL /v1/hotel-searches/{search_id}
Type GET

GET params

Item Possible values Explanation
_includes hotel_search_result.meal_plans, hotel_search_result.rooms, hotel_search_result.discount, hotel_search_result.meal_plans, hotel_search_result.fees include solicited data

Hotel search for booking

is the same as the Hotel search but hotel_id is required, and we need to add to the request _includes=hotel_search_result.meal_plans,hotel_search_result.rooms,hotel_search_result.discount,hotel_search_result.meal_plans,hotel_search_result.fees and _sync=true. the results will come when the request is finished. the results can be used to make a book request

Example

Request

curl --request POST \
  --url URL/v1/hotel-searches \
  --header 'Authorization: Bearer ak9tU1BzN1lFZks0amJ5Rm9kSzJSNmtVenJjckZLdUlEbzZmVnYwbQ==' \
  --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \
  --form check_in=2021-11-27 \
  --form destination_id=278 \
  --form hotel_id=49615 \
  --form nights=3 \
  --form 'pax[0][adults]=2' \
  --form 'pax[0][child_ages]=[]' \
  --form '_includes=hotel_search_result.meal_plans,hotel_search_result.rooms,hotel_search_result.discount,hotel_search_result.meal_plans,hotel_search_result.fees' \
  --form _sync=true

the response is similar with the response from Hotel search cache

Package search cache

to get data from API-GATEWAY search cache use the following endpoint. All the search cache data with type=public is made with one room and 2 adults

Request info

Item Description
URL /v1/package-searches
Type GET

GET params

Item Possible values Explanation
_includes package_search_result.discount, package_search_result.flights.legs, package_search_result.meal_plans, package_search_result.rooms, package_search_result.bus, package_search_result.fees include solicited data
type public type must be public

Response

Item Description
id search id
transport_id transport id see Static Data -> Transport list
departure_point_id departure point id see Static Data -> Destinations list
destination_id destination id see Static Data -> Destinations list
duration package number of nights
hotel_id hotel id see Static Data -> Hotel list *for cache data hotel_id will be always 0
departure_date departure date (Y-m-d)
type search type
pax pax
last_result_created_at datetime for the last result (Y-m-d H:i:s)
_includes.package_search_result.data search results
_includes.package_search_result.data.id package search result id
_includes.package_search_result.data.hotel_id hotel id see Static Data -> Hotel list
_includes.package_search_result.data.package_id package id see Static Data -> Package list
_includes.package_search_result.data.min_price the minimum price for the search true or false
_includes.package_search_result.data.gross gross price
_includes.package_search_result.data.tax tax price
_includes.package_search_result.data.total_discount discount
_includes.package_search_result.data.is_hot_deal is hot deal true or false
_includes.package_search_result.data.allocation allocation
_includes.package_search_result.data.is_available is available true or false
_includes.package_search_result.data.currency currency
_includes.package_search_result.data._includes.meal_plans meal plans list for the result
_includes.package_search_result.data._includes.meal_plans.data.id meal plan id
_includes.package_search_result.data._includes.meal_plans.data.label_id meal plan label see Static Data Meal plan labels
_includes.package_search_result.data._includes.meal_plans.data.gross meal plan price
_includes.package_search_result.data._includes.meal_plans.data.tax meal plan tax
_includes.package_search_result.data._includes.rooms.data room info
_includes.package_search_result.data._includes.rooms.data.id room result id
_includes.package_search_result.data._includes.rooms.data.hotel_room_category_id hotel room category id see Static Data Hotel list => room_categories
_includes.package_search_result.data._includes.discount.data result discount rules
_includes.package_search_result.data._includes.discount.data.discount_label_id discount label id
_includes.package_search_result.data._includes.discount.data.text discount description
_includes.package_search_result.data._includes.discount.data.booking_from discount booking from
_includes.package_search_result.data._includes.discount.data.booking_to discount booking to
_includes.package_search_result.data._includes.discount.data.travel_from discount travel from
_includes.package_search_result.data._includes.discount.data.travel_to discount travel to
_includes.package_search_result.data._includes.discount.data.percent discount percent value
_includes.package_search_result.data._includes.discount.data.value discount fixed value
_includes.package_search_result.data._includes.bus.data bus trip info
_includes.package_search_result.data._includes.bus.data.price price
_includes.package_search_result.data._includes.bus.data.total_discount total discount
_includes.package_search_result.data._includes.bus.data.label label
_includes.package_search_result.data._includes.bus.data.outbound_date departure date
_includes.package_search_result.data._includes.bus.data.inbound_date returning date
_includes.package_search_result.data._includes.bus.data.from departure point id see Static Data -> Destinations list
_includes.package_search_result.data._includes.bus.data.to destination id see Static Data -> Destinations list
_includes.package_search_result.data._includes.bus.data.bus_type bus type
_includes.package_search_result.data._includes.bus.data.type type
_includes.package_search_result.data._includes.flights.data flights list
_includes.package_search_result.data._includes.flights.data.type flight type inbond or outbound
_includes.package_search_result.data._includes.flights.data.airline flight airline
_includes.package_search_result.data._includes.flights.data.class flight class
_includes.package_search_result.data._includes.flights.data.cabin flight cabin
_includes.package_search_result.data._includes.flights.data.cabin_name flight cabin_name
_includes.package_search_result.data._includes.flights.data._includes.legs.data flight legs list
_includes.package_search_result.data._includes.flights.data._includes.legs.data.from departure airport IATA code
_includes.package_search_result.data._includes.flights.data._includes.legs.data.from departure airport IATA code
_includes.package_search_result.data._includes.flights.data._includes.legs.data.to arrival airport IATA code
_includes.package_search_result.data._includes.flights.data._includes.legs.data.departure departure datetime
_includes.package_search_result.data._includes.flights.data._includes.legs.data.arrival arrival datetime
_includes.package_search_result.data._includes.flights.data._includes.legs.data.airline leg airline
_includes.package_search_result.data._includes.flights.data._includes.legs.data.flight_no leg flight number
_includes.package_search_result.data._includes.flights.data._includes.legs.data.class leg class
_includes.package_search_result.data._includes.flights.data._includes.legs.data.flight_time leg flight time

Example

Request

curl --request GET \
  --url 'URL/v1/package-searches?type=public&type=public&_includes=package_search_result.discount%2Cpackage_search_result.flights.legs%2Cpackage_search_result.meal_plans%2Cpackage_search_result.rooms%2Cpackage_search_result.bus%2Cpackage_search_result.fees' \
  --header 'Authorization: Bearer TOKEN'

Response

{
  "data": [
    {
      "id": 9483595,
      "transport_id": 3,
      "departure_point_id": 189,
      "destination_id": 2621,
      "duration": 7,
      "hotel_id": 0,
      "departure_date": "2021-06-23",
      "type": "public",
      "pax": "[{\"adults\":2,\"child_ages\":[]}]",
      "last_result_created_at": "2021-01-15 03:11:23",
      "created_at": "2020-04-10T00:36:33+03:00",
      "updated_at": "2021-06-02T02:01:11+03:00",
      "_includes": {
        "package_search_result": {
          "data": [
            {
              "id": 544139828,
              "search_id": 9483595,
              "hotel_id": 14355,
              "package_id": 88348,
              "min_price": true,
              "gross": "858.00",
              "tax": "190.00",
              "total_discount": "300.00",
              "is_hot_deal": false,
              "allocation": "not_available",
              "is_available": true,
              "currency": "EUR",
              "fare_type_id": null,
              "created_at": "2020-09-30T02:22:08+03:00",
              "updated_at": "2021-05-11T01:08:33+03:00",
              "_includes": {
                "bus": {
                    "data": [
                        {
                            "id": 21732930,
                            "result_id": 544409286,
                            "price": "0.00",
                            "total_discount": "0.00",
                            "label": "Corfu-iesire Giurgiu",
                            "outbound_date": "2021-08-29 00:00:00",
                            "inbound_date": "2021-09-06 00:00:00",
                            "from": 224,
                            "to": 2337,
                            "bus_type": "Setra 59",
                            "type": null
                        }
                    ],
                  "instance": "search_result_bus"
                },
                "discount": {
                  "data": [
                    {
                      "id": 513066591,
                      "result_id": 544139828,
                      "discount_label_id": 13340,
                      "text": null,
                      "booking_from": null,
                      "booking_to": "2021-06-03",
                      "travel_from": "2021-06-23",
                      "travel_to": "2021-06-23",
                      "percent": "0.00",
                      "value": "0.00"
                    }
                  ],
                  "instance": "search_result_discount"
                },
                "flights": {
                  "data": [
                    {
                      "id": 1009374161,
                      "result_id": 544139828,
                      "type": "outbound",
                      "airline": "A2",
                      "class": "Y",
                      "cabin": "",
                      "cabin_name": null,
                      "_includes": {
                        "legs": {
                          "data": [
                            {
                              "id": 1011445741,
                              "flight_id": 1009374161,
                              "api_index": 0,
                              "from": "OTP",
                              "to": "NBE",
                              "departure": "2021-06-23T06:00:00+03:00",
                              "arrival": "2021-06-23T06:30:00+03:00",
                              "airline": "A2",
                              "flight_no": "5001",
                              "class": "Y",
                              "flight_time": "9000"
                            }
                          ],
                          "instance": "search_result_flight_leg"
                        }
                      }
                    },
                    {
                      "id": 1009374163,
                      "result_id": 544139828,
                      "type": "inbound",
                      "airline": "A2",
                      "class": "Y",
                      "cabin": "",
                      "cabin_name": null,
                      "_includes": {
                        "legs": {
                          "data": [
                            {
                              "id": 1011445743,
                              "flight_id": 1009374163,
                              "api_index": 0,
                              "from": "NBE",
                              "to": "OTP",
                              "departure": "2021-06-30T14:00:00+03:00",
                              "arrival": "2021-06-30T18:45:00+03:00",
                              "airline": "A2",
                              "flight_no": "5002",
                              "class": "Y",
                              "flight_time": "9000"
                            }
                          ],
                          "instance": "search_result_flight_leg"
                        }
                      }
                    }
                  ],
                  "instance": "search_result_flight"
                },
                "meal_plans": {
                  "data": [
                    {
                      "id": 611623069,
                      "result_id": 544139828,
                      "api_index": 0,
                      "code": "AI",
                      "label_id": 37,
                      "gross": "0.00",
                      "tax": "0.00"
                    }
                  ],
                  "instance": "search_result_meal_plan"
                },
                "rooms": {
                  "data": [
                    {
                      "id": 544485880,
                      "result_id": 544139828,
                      "api_index": "0",
                      "hotel_room_category_id": 38574,
                      "code": null,
                      "pax": "[{\"Type\":\"ADT\",\"Age\":30,\"IsFree\":false},{\"Type\":\"ADT\",\"Age\":30,\"IsFree\":false}]"
                    }
                  ],
                  "instance": "search_result_room"
                },
                "fees": {
                  "data": [],
                  "instance": "package_search_result_fee"
                }
              }
            }
          ]
        }
      }
    }
  ],
    "links": {
        "first": "URL/v1\/package-searches?type=public&_includes=package_search_result.discount%2Cpackage_search_result.flights.legs%2Cpackage_search_result.meal_plans%2Cpackage_search_result.rooms%2Cpackage_search_result.bus%2Cpackage_search_result.fees&_page=1",
        "last": "URL/v1\/package-searches?type=public&_includes=package_search_result.discount%2Cpackage_search_result.flights.legs%2Cpackage_search_result.meal_plans%2Cpackage_search_result.rooms%2Cpackage_search_result.bus%2Cpackage_search_result.fees&_page=2500",
        "prev": null,
        "next": "URL/v1\/package-searches?type=public&_includes=package_search_result.discount%2Cpackage_search_result.flights.legs%2Cpackage_search_result.meal_plans%2Cpackage_search_result.rooms%2Cpackage_search_result.bus%2Cpackage_search_result.fees&_page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 2500,
        "path": "URL/v1\/package-searches",
        "per_page": 10,
        "to": 10,
        "total": 25000
    }
}

Package search

this search is for creating a live search in all the upstreams apis. the search will not return immediate results, the search will be processed by a background job. to get the results you will need to pool the search until finished became true

first step create a search

Item Description
URL /v1/package-searches
Type POST

GET params

Item Possible values Explanation
transport_id transport id *required
departure_date check in date (Y-m-d) *required
destination_id destination id see Static Data Destinations list *required
departure_point_id departure point id see Static Data Destinations list *required
hotel_id hotel id see Static Data Hotel list *optional
duration number of nights to stay at the hotel *required
pax search pax *required

Example

Request

curl --request POST \
  --url URL/v1/package-searches \
  --header 'Authorization: Bearer TOKEN' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data destination_id=28 \
  --data transport_id=3 \
  --data departure_date=2021-09-16 \
  --data duration=7 \
  --data departure_point_id=189 \
  --data 'pax[0][adults]=2' \
  --data 'pax[0][child_ages]=[]'

Response

{
    "data": {
        "id": 14890469,
        "transport_id": 3,
        "departure_point_id": 189,
        "destination_id": 28,
        "duration": 7,
        "hotel_id": 0,
        "departure_date": "2021-11-16",
        "type": "private",
        "pax": "[{\"adults\":\"2\",\"child_ages\":\"[]\"}]",
        "finished": false,
        "last_result_created_at": null,
        "created_at": "2021-10-28T13:20:36+03:00",
        "updated_at": "2021-10-28T13:20:40+03:00"
    }
}

second step pool for results until finished=false

Request info

Item Description
URL /v1/package-searches/{search_id}
Type GET

GET params

Item Possible values Explanation
_includes package_search_result.discount, package_search_result.flights.legs, package_search_result.meal_plans, package_search_result.rooms, package_search_result.bus, package_search_result.fees include solicited data

Package search for booking

is the same as the Package search but hotel_id is required, and we need to add to the request _includes=package_search_result.discount,package_search_result.flights.legs,package_search_result.meal_plans,package_search_result.rooms,package_search_result.bus,package_search_result.fees and _sync=true. the results will come when the request is finished. the results can be used to make a book request

Example

Request

curl --request POST \
  --url 'URL/v1/package-searches?_includes=package_search_result.discount%2Cpackage_search_result.flights.legs%2Cpackage_search_result.meal_plans%2Cpackage_search_result.rooms%2Cpackage_search_result.bus%2Cpackage_search_result.fees' \
  --header 'Authorization: Bearer TOKEN' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data destination_id=28 \
  --data transport_id=3 \
  --data departure_date=2021-11-16 \
  --data duration=7 \
  --data departure_point_id=189 \
  --data 'pax[0][adults]=2' \
  --data 'pax[0][child_ages]=[]' \
  --data hotel_id=14495 \
  --data _sync=true

the response is similar with the response from Package search cache

Circuit search cache

to get data from API-GATEWAY search cache use the following endpoint. All the search cache data with type=public is made with one room and 2 adults

Request info

Item Description
URL /v1/circuit-searches
Type GET

GET params

Item Possible values Explanation
_includes circuit_search_result.discount, circuit_search_result.flights.legs, circuit_search_result.meal_plans, circuit_search_result.rooms, circuit_search_result.bus, circuit_search_result.fees include solicited data
type public type must be public

Response

Item Description
id search id
transport_id transport id see Static Data -> Transport list
departure_point_id departure point id see Static Data -> Destinations list
destination_id destination id see Static Data -> Destinations list
duration package number of nights
hotel_id hotel id see Static Data -> Hotel list *for cache data hotel_id will be always 0
departure_date departure date (Y-m-d)
type search type
pax pax
last_result_created_at datetime for the last result (Y-m-d H:i:s)
_includes.circuit_search_result.data search results
_includes.circuit_search_result.data.id package search result id
_includes.circuit_search_result.data.hotel_id hotel id see Static Data -> Hotel list
_includes.circuit_search_result.data.circuit_id package id see Static Data -> Circuit list
_includes.circuit_search_result.data.min_price the minimum price for the search true or false
_includes.circuit_search_result.data.gross gross price
_includes.circuit_search_result.data.tax tax price
_includes.circuit_search_result.data.total_discount discount
_includes.circuit_search_result.data.is_hot_deal is hot deal true or false
_includes.circuit_search_result.data.allocation allocation
_includes.circuit_search_result.data.is_available is available true or false
_includes.circuit_search_result.data.currency currency
_includes.circuit_search_result.data._includes.meal_plans meal plans list for the result
_includes.circuit_search_result.data._includes.meal_plans.data.id meal plan id
_includes.circuit_search_result.data._includes.meal_plans.data.label_id meal plan label see Static Data Meal plan labels
_includes.circuit_search_result.data._includes.meal_plans.data.gross meal plan price
_includes.circuit_search_result.data._includes.meal_plans.data.tax meal plan tax
_includes.circuit_search_result.data._includes.rooms.data room info
_includes.circuit_search_result.data._includes.rooms.data.id room result id
_includes.circuit_search_result.data._includes.rooms.data.hotel_room_category_id hotel room category id see Static Data Hotel list => room_categories
_includes.circuit_search_result.data._includes.discount.data result discount rules
_includes.circuit_search_result.data._includes.discount.data.discount_label_id discount label id
_includes.circuit_search_result.data._includes.discount.data.text discount description
_includes.circuit_search_result.data._includes.discount.data.booking_from discount booking from
_includes.circuit_search_result.data._includes.discount.data.booking_to discount booking to
_includes.circuit_search_result.data._includes.discount.data.travel_from discount travel from
_includes.circuit_search_result.data._includes.discount.data.travel_to discount travel to
_includes.circuit_search_result.data._includes.discount.data.percent discount percent value
_includes.circuit_search_result.data._includes.discount.data.value discount fixed value
_includes.circuit_search_result.data._includes.bus.data bus trip info
_includes.circuit_search_result.data._includes.bus.data.price price
_includes.circuit_search_result.data._includes.bus.data.total_discount total discount
_includes.circuit_search_result.data._includes.bus.data.label label
_includes.circuit_search_result.data._includes.bus.data.outbound_date departure date
_includes.circuit_search_result.data._includes.bus.data.inbound_date returning date
_includes.circuit_search_result.data._includes.bus.data.from departure point id see Static Data -> Destinations list
_includes.circuit_search_result.data._includes.bus.data.to destination id see Static Data -> Destinations list
_includes.circuit_search_result.data._includes.bus.data.bus_type bus type
_includes.circuit_search_result.data._includes.bus.data.type type
_includes.circuit_search_result.data._includes.flights.data flights list
_includes.circuit_search_result.data._includes.flights.data.type flight type inbond or outbound
_includes.circuit_search_result.data._includes.flights.data.airline flight airline
_includes.circuit_search_result.data._includes.flights.data.class flight class
_includes.circuit_search_result.data._includes.flights.data.cabin flight cabin
_includes.circuit_search_result.data._includes.flights.data.cabin_name flight cabin_name
_includes.circuit_search_result.data._includes.flights.data._includes.legs.data flight legs list
_includes.circuit_search_result.data._includes.flights.data._includes.legs.data.from departure airport IATA code
_includes.circuit_search_result.data._includes.flights.data._includes.legs.data.from departure airport IATA code
_includes.circuit_search_result.data._includes.flights.data._includes.legs.data.to arrival airport IATA code
_includes.circuit_search_result.data._includes.flights.data._includes.legs.data.departure departure datetime
_includes.circuit_search_result.data._includes.flights.data._includes.legs.data.arrival arrival datetime
_includes.circuit_search_result.data._includes.flights.data._includes.legs.data.airline leg airline
_includes.circuit_search_result.data._includes.flights.data._includes.legs.data.flight_no leg flight number
_includes.circuit_search_result.data._includes.flights.data._includes.legs.data.class leg class
_includes.circuit_search_result.data._includes.flights.data._includes.legs.data.flight_time leg flight time

Example

Request

curl --request GET \
  --url 'URL/v1/package-searches?type=public&type=public&_includes=package_search_result.discount%2Cpackage_search_result.flights.legs%2Cpackage_search_result.meal_plans%2Cpackage_search_result.rooms%2Cpackage_search_result.bus%2Cpackage_search_result.fees' \
  --header 'Authorization: Bearer TOKEN'

Response

{
  "data": [
    {
      "id": 1725754,
      "transport_id": 2,
      "departure_point_id": 228,
      "destination_id": 392,
      "duration": 4,
      "hotel_id": 0,
      "departure_date": "2021-06-30",
      "type": "public",
      "pax": "[{\"adults\":2,\"child_ages\":[]}]",
      "finished": true,
      "last_result_created_at": "2020-03-24 02:56:19",
      "created_at": "2020-03-24T00:32:12+02:00",
      "updated_at": "2021-06-01T22:02:03+03:00",
      "_includes": {
        "circuit_search_result": {
          "data": [
            {
              "id": 4193338,
              "search_id": 1725754,
              "hotel_id": 13203,
              "circuit_id": 944,
              "min_price": 1,
              "gross": "430.00",
              "tax": "0.00",
              "total_discount": "0.00",
              "is_hot_deal": true,
              "allocation": "not_available",
              "is_available": true,
              "currency": "EUR",
              "fare_type_id": null,
              "created_at": "2020-03-24T02:56:18+02:00",
              "updated_at": "2021-04-09T22:04:24+03:00",
              "_includes": {
                "bus": {
                  "data": [
                    {
                      "id": 2154413,
                      "result_id": 4193338,
                      "price": "0.00",
                      "total_discount": "0.00",
                      "label": "Istanbul 4 nopti\/5 zile",
                      "outbound_date": "2021-06-30 00:00:00",
                      "inbound_date": "2021-07-04 12:00:00",
                      "from": 228,
                      "to": 392,
                      "bus_type": "Setra 48",
                      "type": null,
                      "created_at": "2020-03-24T02:56:19+02:00",
                      "updated_at": "2020-03-24T02:56:19+02:00"
                    }
                  ],
                  "instance": "search_result_bus"
                },
                "discount": {
                  "data": [
                    {
                      "id": 3131121,
                      "result_id": 4193338,
                      "discount_label_id": 9284,
                      "text": null,
                      "booking_from": null,
                      "booking_to": null,
                      "travel_from": null,
                      "travel_to": null,
                      "percent": "0.00",
                      "value": "0.00",
                      "created_at": "2020-06-23T02:25:53+03:00",
                      "updated_at": "2020-06-23T02:25:53+03:00"
                    }
                  ],
                  "instance": "search_result_discount"
                },
                  "flights": {
                      "data": [
                          {
                              "id": 2889389,
                              "result_id": 3168116,
                              "type": "outbound",
                              "airline": "LH",
                              "class": "Y",
                              "cabin": "",
                              "cabin_name": "",
                              "created_at": "2020-01-15T03:03:01+02:00",
                              "updated_at": "2021-03-26T22:48:12+02:00",
                              "_includes": {
                                  "legs": {
                                      "data": [
                                          {
                                              "id": 2896568,
                                              "flight_id": 2889389,
                                              "from": "OTP",
                                              "to": "ANC",
                                              "departure": "2021-09-15T00:00:00+03:00",
                                              "arrival": "2021-09-15T00:00:00+03:00",
                                              "airline": "LH",
                                              "flight_no": "1",
                                              "class": "Y",
                                              "flight_time": "0",
                                              "created_at": "2020-01-15T03:03:01+02:00",
                                              "updated_at": "2021-03-26T22:48:12+02:00"
                                          }
                                      ],
                                      "instance": "search_result_flight_leg"
                                  }
                              }
                          },
                          {
                              "id": 2889390,
                              "result_id": 3168116,
                              "type": "inbound",
                              "airline": "LH",
                              "class": "Y",
                              "cabin": "",
                              "cabin_name": "",
                              "created_at": "2020-01-15T03:03:01+02:00",
                              "updated_at": "2021-03-26T22:48:12+02:00",
                              "_includes": {
                                  "legs": {
                                      "data": [
                                          {
                                              "id": 2896569,
                                              "flight_id": 2889390,
                                              "from": "ANC",
                                              "to": "OTP",
                                              "departure": "2021-09-25T00:00:00+03:00",
                                              "arrival": "2021-09-25T00:00:00+03:00",
                                              "airline": "LH",
                                              "flight_no": "2",
                                              "class": "Y",
                                              "flight_time": "0",
                                              "created_at": "2020-01-15T03:03:01+02:00",
                                              "updated_at": "2021-03-26T22:48:12+02:00"
                                          }
                                      ],
                                      "instance": "search_result_flight_leg"
                                  }
                              }
                          }
                      ],
                      "instance": "search_result_flight"
                  },
                "meal_plans": {
                  "data": [
                    {
                      "id": 4193142,
                      "result_id": 4193338,
                      "label_id": 32,
                      "gross": "0.00",
                      "tax": "0.00",
                      "created_at": "2020-03-24T02:56:18+02:00",
                      "updated_at": "2020-03-24T02:56:18+02:00"
                    }
                  ],
                  "instance": "search_result_meal_plan"
                },
                "rooms": {
                  "data": [
                    {
                      "id": 4207712,
                      "result_id": 4193338,
                      "hotel_room_category_id": 33722,
                      "created_at": "2020-03-24T02:56:18+02:00",
                      "updated_at": "2020-03-24T02:56:18+02:00"
                    }
                  ],
                  "instance": "search_result_room"
                },
                "fees": {
                  "data": [],
                  "instance": "circuit_search_result_fee"
                }
              }
            }
          ],
          "instance": "circuit_search_result"
        }
      }
    }
  ],
    "links": {
        "first": "URL/v1\/circuit-searches?_includes=circuit_search_result.discount%2Ccircuit_search_result.flights.legs%2Ccircuit_search_result.meal_plans%2Ccircuit_search_result.rooms%2Ccircuit_search_result.bus%2Ccircuit_search_result.fees&_page=1",
        "last": "URL/v1\/circuit-searches?_includes=circuit_search_result.discount%2Ccircuit_search_result.flights.legs%2Ccircuit_search_result.meal_plans%2Ccircuit_search_result.rooms%2Ccircuit_search_result.bus%2Ccircuit_search_result.fees&_page=1678",
        "prev": null,
        "next": "URL/v1\/circuit-searches?_includes=circuit_search_result.discount%2Ccircuit_search_result.flights.legs%2Ccircuit_search_result.meal_plans%2Ccircuit_search_result.rooms%2Ccircuit_search_result.bus%2Ccircuit_search_result.fees&_page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1678,
        "path": "URL/v1\/circuit-searches",
        "per_page": 10,
        "to": 10,
        "total": 16777
    }
}

Circuit search

this search is for creating a live search in all the upstreams apis. the search will not return immediate results, the search will be processed by a background job. to get the results you will need to pool the search until finished became true

first step create a search

Item Description
URL /v1/circuit-searches
Type POST

GET params

Item Possible values Explanation
transport_id transport id *required
departure_date check in date (Y-m-d) *required
destination_id destination id see Static Data Destinations list *required
departure_point_id departure point id see Static Data Destinations list *required
hotel_id hotel id see Static Data Hotel list *optional
duration number of nights to stay at the hotel *required
pax search pax *required

Example

Request

curl --request POST \
  --url URL/v1/circuit-searches/ \
  --header 'Authorization: Bearer TOKEN' \
  --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \
  --form transport_id=2 \
  --form departure_point_id=189 \
  --form destination_id=367 \
  --form duration=11 \
  --form departure_date=2021-11-26 \
  --form 'pax[0][adults]=2' \
  --form 'pax[0][child_ages]=[]' 

Response

{
    "data": {
        "id": 14890469,
        "transport_id": 3,
        "departure_point_id": 189,
        "destination_id": 28,
        "duration": 7,
        "hotel_id": 0,
        "departure_date": "2021-11-16",
        "type": "private",
        "pax": "[{\"adults\":\"2\",\"child_ages\":\"[]\"}]",
        "finished": false,
        "last_result_created_at": null,
        "created_at": "2021-10-28T13:20:36+03:00",
        "updated_at": "2021-10-28T13:20:40+03:00"
    }
}

second step pool for results until finished=false

Request info

Item Description
URL /v1/circuit-searches/{search_id}
Type GET

GET params

Item Possible values Explanation
_includes circuit_search_result.discount, circuit_search_result.flights.legs, circuit_search_result.meal_plans, circuit_search_result.rooms, circuit_search_result.bus, circuit_search_result.fees include solicited data

Circuit search for booking

is the same as the Circuit search but hotel_id is required, and we need to add to the request _includes=circuit_search_result.discount,circuit_search_result.flights.legs,circuit_search_result.meal_plans,circuit_search_result.rooms,circuit_search_result.bus,circuit_search_result.fees and _sync=true. the results will come when the request is finished. the results can be used to make a book request

Example

Request

curl --request POST \
  --url 'http://api-gateway.christiantour.test/v1/circuit-searches?_includes=circuit_search_result.discount%2Ccircuit_search_result.flights.legs%2Ccircuit_search_result.meal_plans%2Ccircuit_search_result.rooms%2Ccircuit_search_result.bus%2Ccircuit_search_result.fees&_sync=true' \
  --header 'Authorization: Bearer eTZhWUl4d2szVEgwN0dZZUFXZlBVR0NuN3pVdm82NEdRU3dVbERXTA==' \
  --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \
  --form transport_id=2 \
  --form departure_point_id=189 \
  --form destination_id=367 \
  --form duration=11 \
  --form departure_date=2021-11-26 \
  --form 'pax[0][adults]=2' \
  --form 'pax[0][child_ages]=[]' \
  --form hotel_id=13798

the response is similar with the response from Circuit search cache