Описание

MetaSearch Tour API. API методы, доступные в проекте.

tour/search


Запрос

Метод передачи: POST

Все идентификаторы берутся из проекта MultiCodes Таблица 1.1.

Параметр Тип Описание
dep_city required int Город вылета
countryrequired int Страна прибытия
city array Массив идентификаторов городов (курортов)
hotel array Массив идентификаторов отелей
date_fromrequired date Диапазон вылета, параметр “от”
date_tillrequired date Диапазон вылета, параметр “до”
night_fromrequired string Количество ночей (длительность путешествия), параметр “от”
night_tillrequired string Количество ночей (длительность путешествия), параметр “до”
adultrequired string Количество взрослых
child array Количество и возраст детей, передается в виде массива с возрастом для каждого из детей. Пример: [6,9] Всего двое детей, одному 6 лет, второму - 9.
hotel_category array Категория отеля, массив идентификаторов
meal array Питание, массив идентификаторов
price_from string Диапазон цены (от), в валюте поиска
price_till string Диапазон цены (до), в валюте поиска
adapterrequired array Массив адаптеров, идентификаторы из MC, по которым выполняется поиск
options array Массив с дополнительными опциями для поиска
options[transport_inc] array Включен ли перелет в цену
options[ticket] array Наличие билетов в предложениях
options[room] array Наличие мест в отеле
currencyrequired string ISO_4217 код валюты
language string ISO_639-1 код языка для результатов, по умолчанию "en"

Пример:

curl -i -H 'X-Iterios-Api-Key: some_key_value' https://tour-metasearch.iterios.com/v1/tour/search

Пример запроса:

{
"dep_city": "8",
"country": "226",
"date_from": "2016-07-02",
"date_till": "2016-07-09",
"night_from": "7",
"night_till": "10",
"adult": "2",
"currency": "28",
"adapter": [5,14,9,16,7,10,11,13,4,8,17],
"options[transport_inc]": "1",
"options[ticket]": "1",
"options[room]": "1"
}

Результаты ответа

Код Описание
200 Успешное выполнение. Содержимое файла возвращается в ответ
400 Параметры переданы неверно, описание ошибки в атрибуте error.message
403 Ошибка авторизаци. Детальное описание в разделе Авторизация
500 Внутренняя ошибка, детали в атрибуте error.message

Описание возвращаемых данных

Параметр Тип Описание
search_id int Идентификатор запроса на поиск. Используется для получения состояния поиска и вывода результатов. Если по переданным фильтрам уже был создан search_id, то возвращается он, иначе создаётся новый search_id

Пример ответа:

{
  "status": "success",
  "data": {
    "search_id": 22074
  }
}

tour/status Deprecated

Отображает текущее состояние поиска по запросу. Обязательно необходимо передать $search_id.


Запрос

Метод передачи: GET

Принимает параметры в $_GET запросе:

Параметр Тип Описание
search_idrequired int ID запроса на поиск, который был получен при использовании метода tour/search

Пример:

curl -i -H 'X-Iterios-Api-Key: some_key_value' https://tour-metasearch.iterios.com/v1/tour/status?search_id=91

Ответы

Код Описание
200 Успешное выполнение. Содержимое файла возвращается в ответ
400 Параметры переданы неверно, описание ошибки в атрибуте error.message
403 Ошибка авторизаци. Детальное описание в разделе Авторизация
500 Внутренняя ошибка, детали в атрибуте error.message

Пример ответа:

{
    "status": "success",
    "data": {
        "status": "process",
        "price_count": 42,
        "price_min": 234.00,
        "currency": "USD",
        "adapter": [
            {
                "status": "completed",
                "id": 2,
                "name": "Join UP!",
                "price_count": 30,
                "price_min": 534.00
            },
            {
                "status": "process",
                "id": 3,
                "name": "Tez Tour",
                "price_count": 12,
                "price_min": 534.00
            }
        ]
    }
}

Параметры ответа

Код Описание
status Текущий статус поиска: queue, process, completed, error
price_count Общее количество найденных предложений
price_min Самая минимальная цена, по всем адаптерам
currency Валюта, в которой выполняется поиск
adapter[] Массив со статусами по каждому поставщику

Атрибуты ответа для массива adapter (статус по каждому поставщику):

Код Описание
id Идентификатор поставщика (из MultiCodes)
name Название поставщика
price_min Минимальная найденная цена для этого адаптера
price_count Найденное количество цен (может обновляться при подгрузке данных)
status Текущий статус поиска:
  • queue - в очереди, ожидает обработки
  • process - выполняется поиск
  • completed - поиск завершен
  • empty - нет результатов
  • error - ошибка (недоступен, внутренняя ошибка и т.д.)

tour/get-result

Порционная выдача результатов поиска. Обязательно должен передаваться $search_id (идентификатор запроса на поиск), по которому возвращаются результаты поиска.


Запрос

Метод передачи: GET

Параметр Тип Описание
search_idrequired int ID запроса на поиск, который был получен при использовании метода tour/search
per_page int Количество результатов поиска на страницу. По умолчанию = 25
pagerequired int Номер страницы для выдачи результатов. При первом запросе всегда = 1.

Пример:

curl -i -H 'X-Iterios-Api-Key: some_key_value' https://tour-metasearch.iterios.com/v1/tour/get-result?search_id=8490&page=1&per_page=25

Пример ответа:

{
  "status": 
     {...}, // объект статуса
  "page": 
     {...}, //объект page
  "data": [
    {...}  // один из результатов
  ]
}

Описание параметров в status: таблица 3

Код Описание
status Текущий статус поиска: queue, process, completed, error
price_count Общее количество найденных предложений
price_min Самая минимальная цена, по всем адаптерам
currency Валюта, в которой выполняется поиск
adapter[] Массив со статусами по каждому поставщику

Атрибуты ответа для массива status.adapter (статус по каждому поставщику):

Код Описание
id Идентификатор поставщика (из MultiCodes)
name Название поставщика
price_min Минимальная найденная цена для этого адаптера
price_count Найденное количество цен (может обновляться при подгрузке данных)
status Текущий статус поиска:
  • queue - в очереди, ожидает обработки
  • process - выполняется поиск
  • completed - поиск завершен
  • empty - нет результатов
  • error - ошибка (недоступен, внутренняя ошибка и т.д.)

Описание параметров в data: таблица 3.1

Параметр Описание
page Объект с данными для постраничной навигации. Атрибуты описаны в таблице 3.2
items Массив с ценовыми предложениями. Каждый элемент массива - это объект, атрибуты которого описаны в таблице 3.3

Описание атрибутов для объекта page (постраничная навигация): таблица 3.2

Параметр Описание
total Общее количество найденных результатов (может меняться)
page_total Количество возвращенных элементов
price_min Значение минимальной цены в этих результатах. Целое число, по формуле: $min_price = intval($price * 100)
price_max Значение максимальной цены в этих результатах. Целое число, по формуле: $min_price = intval($price * 100)

Описание атрибутов для объекта из массива items (ценовые предложения): таблица 3.3


    <tr>
        <td>- info[spo_id]</td>
        <td>string</td>
        <td>Идентификатор SPO</td>
    </tr>
    <tr>
        <td>- info[spo_name]</td>
        <td>string</td>
        <td>Название SPO</td>
    </tr>
    <tr>
        <td>- info[tour_id]</td>
        <td>string</td>
        <td>Идентификатор тура</td>
    </tr>
    <tr>
        <td>- info[tour_name]</td>
        <td>string</td>
        <td>Название тура</td>
    </tr>
</tbody>
Параметр Тип Описание
claim_id string ID цены в системе поставщика, в основном число, но может быть и текст
booking_url string Полноценная ссылка в систему поставщика, на форму бронирования этого ценового предложения (тура).
adapter object Объект с данными поставщика из MC
- adapter[id] int Идентификатор поставщика
- adapter[name] string Название поставщика
dep_city object Объект с описанием города вылета, содержит как описание из MC, так и оригинальные значения поставщика
- dep_city[id] int ID города вылета из MC
- dep_city[name] string Название города вылета из MC
- dep_city[orig_id] string ID города вылета от поставщика
- dep_city[orig_name] string Название города вылета от поставщика
dep_date date|string Дата вылета, в формате YYYY-MM-DD
ret_date date|string Дата возвращения, в формате YYYY-MM-DD
nights int Общая продолжительность тура (ночей)
tickets object Объект с информацией о наличии билетов
- tickets[econom] string(2) Билеты в категории ECONOM. Значение всегда содержит два символа: туда и обратно. Значения для каждого направления могут быть:
  • Y - есть места
  • F - есть, но мало
  • N - нет мест
  • R - под запрос
Пример: “YR” - туда “есть”, обратно - “под запрос”
- tickets[business] string(2) Билеты в категории BUSINESS. Значения такие же, как и для tickets[econom].
price float Цена для тура
currency string Валюта для цены (из запроса)
options object Массив с дополнительными опциями для ценового предложения
options[transport_inc] int 1|0 Указывает, включен ли транспорт в цену
options[ticket] int 1|0 Наличие билетов для этого ценового предложения
options[room] int 1|0 Наличие мест в отеле для этого ценового предложения
hotels array Массив с объектами, которые описывают отели, входящие в это ценовое предложение. Атрибуты каждого объекта описаны в таблице 3.4
moment_confirm int 1|0 Моментальное подтверждение бронировки
exclusive int 1|0 Эксклюзивное предложение
promo int 1|0 Акционное предложение
promo_text string Текстовое описание акции
recommended int 1|0 Рекомендуемое предложение
best_price int 1|0 Лучшая цена
early_booking int 1|0 Раннее бронирование
dep_time date|string Время вылета, в ISO формате: Thh:mmTZD (Пример: T19:20+02:00)
info object Массив с дополнительной информацией

Описание атрибутов для объекта из массива items[].hotels (отели для ценового предложения): таблица 3.4

Параметр Тип Описание
id int Идентификатор отеля из MC
name string Название отеля из MC
orig_id string Оригинальный ID из системы поставщика
orig_name string Оригинальное название из системы поставщика
check_in string|datetime Дата и время заселения, в формате YYYY-MM-DDThh:mm У некоторых операторов может быть по несколько отелей в одном предложении.
check_out string|datetime Дата и время выселения, в формате YYYY-MM-DDThh:mm У некоторых операторов может быть по несколько отелей в одном предложении.
nights int Количество ночей для этого отеля
adult int Количество взрослых, не всегда есть эта информция
child int Количество детей, не всегда есть эта информция
hotel_url string Ссылка на описание отеля в системе туроператора. Передавать в метод MC: tour/compared (если такова ссылка есть у оператора)
note array Массив строк с текстовыми данными для каждого отеля.
category object Объект с описанием категории отеля (звезды)
- category[id] int ID категории из MC
- category[name] string Название категории из MC
- category[orig_id] string ID категории от поставщика
- category[orig_name] string Название категории от поставщика
room object Объект с названием типа номера для отеля, информация только от поставщика
- room[orig_id] string ID категории номера от поставщика
- room[orig_name] string Название категории номера от поставщика
meal object Объект с описанием вариантов питания
- meal[id] string ID из MC
- meal[name] string Название из MC
- meal[orig_id] string ID от поставщика
- meal[orig_name] string Название от поставщика
accommodation object Объект с названием размещения в отеле, информация только от поставщика
- accommodation[orig_id] string ID размещения от поставщика
- accommodation[orig_name] string Название размещения от поставщика
city object Объект с описанием города (курорта), в котором расположен отель
- city[id] int ID из MC
- city[name] string Название из MC
- city[orig_id] string ID от поставщика
- city[orig_name] string Название от поставщика
country object Объект с описанием страны, в которой расположен отель
- country[id] int ID из MC
- country[name] string Название из MC
- country[orig_id] string ID от поставщика
- country[orig_name] string Название от поставщика

Errors

Код HTTP Code Описание
200 200 Успешное выполнение. Содержимое файла возвращается в ответ
401 401 Не авторизованный запрос
100 400 $search_id не передан
101 404 $search_id не найден в БД, такого запроса не существует
Пример ответа:

{
    "status": "success",
    "data": {
        "page": {
            "total": 3000,
            "page_total": 20,
            "price_min": "30000",
            "price_max": "62400"
        },
        "items": [
            {
                "claim_id": "the_claim_id_from_operator",
                "booking_url": "full_url_for_booking_at_the_operator_online",
                "adapter": {
                    "id": 2,
                    "name": "Join UP!"
                },
                "dep_city": {
                    "id": 2,
                    "name": "Киев",
                    "orig_id": 23,
                    "orig_name": "Kiev"
                },
                "dep_date": "YYYY-MM-DD",
                "ret_date": "YYYY-MM-DD",
                "nights": 6,
                "hotels": [
                    {
                        "id": 23,
                        "name": "Myra Hotel",
                        "orig_id": 233234,
                        "orig_name": "Myra Hotel",
                        "check_in": "YYYY-MM-DDThh:mm",
                        "check_out": "YYYY-MM-DDThh:mm",
                        "nights": 3,
                        "adult": 2,
                        "child": 0,
                        "category": {
                            "id": 5,
                            "name": "3",
                            "orig_id": 3,
                            "orig_name": "***"
                        },
                        "room": {
                            "orig_id": 6347,
                            "orig_name": "Standard Room"
                        },
                        "meal": {
                            "id": 5,
                            "name": "AI",
                            "orig_id": 5,
                            "orig_name": "AI"
                        },
                        "accommodation": {
                            "orig_id": 654,
                            "orig_name": "DBL"
                        },
                        "city": {
                            "id": 4678,
                            "name": "Marmaris",
                            "orig_id": 4678,
                            "orig_name": "Marmaris"
                        },
                        "country": {
                            "id": 56,
                            "name": "Turkey",
                            "orig_id": 56,
                            "orig_name": "Turkey"
                        }
                    }
                ],
                "tickets": {
                    "econom": "YY",
                    "business": "NN"
                },
                "price": "624.00",
                "currency": "USD",
                "options": {
                    "transport_inc": true,
                    "ticket": true,
                    "room": true
                }
            }
        ]
    }
}

tour/detail Deprecated

Возвращает детальную информацию по ценовому предложению. Обязательно необходимо передать $search_id, $adapter_id, $claim_id.


Запрос

Метод передачи: GET

Принимает параметры в $_GET запросе:

Параметр Тип Описание
search_idrequired int ID запроса на поиск, который был получен при использовании метода tour/search
adapter_idrequired int ID адаптера, который предоставил ценовое предложение
claim_idrequired string ID ценового предложения

Пример:

curl -i -H 'X-Iterios-Api-Key: some_key_value' https://tour-metasearch.iterios.com/v1/tour/detail?search_id=91&adapter_id=11&claim_id=fsgewgefw323r3

Ответы

Код Описание
200 Успешное выполнение. Содержимое файла возвращается в ответ
400 Параметры переданы неверно, описание ошибки в атрибуте error.message
403 Ошибка авторизаци. Детальное описание в разделе Авторизация
500 Внутренняя ошибка, детали в атрибуте error.message

Пример ответа:

{
  "status": "success",
  "data": {
    "transport": [
      {
        "aircraft": "BOEING 737-300",
        "airline": {
          "code": null,
          "name": "--UKRAINE INTL AIRLINES"
        },
        "flight_number": "PS 713",
        "duration": 0,
        "departure": {
          "city": "Киев",
          "airport": {
            "code": "KBP",
            "name": "KBP"
          },
          "date": "2016-11-07T00:00:00"
        },
        "arrival": {
          "city": "Стамбул",
          "airport": {
            "code": "IST",
            "name": "IST"
          },
          "date": "2016-11-07T00:00:00"
        }
      }
    ],
    "service": [
      {
        "type": "",
        "description": "",
        "period": "2016-11-07T00:00:00"
      }
    ],
    "info": [
      null
    ]
  }
}

Параметры ответа

Код Описание
expire время хранения информации в кэше
info массив с информацией по ценовому предложению, полученный из tour/get-results
transport массив с информацией по перелёту
service массив с информацией по услугам

Атрибуты ответа для массива transport:

Код Описание
aircraft название судна
flight_number номер рейса
duration продолжительность рейса
airline массив с информацией об авиакомпании
departure массив с информацией об отправлении
arrival массив с информацией о прибытии

tour/create-offer

Возвращает идентификатор для ценового контейнера. Необходимо передать $search_id, $adapter_id, $claim_id.


Запрос

Метод передачи: GET

Принимает параметры в $_GET запросе:

Параметр Тип Описание
search_idrequired int ID запроса на поиск, который был получен при использовании метода tour/search
adapter_idrequired int ID адаптера, который предоставил ценовое предложение
claim_idrequired string ID ценового предложения. Важно! При передаче должен быть выполнен url_encode для этого параметра
log int Флаг для логирования, по умолчанию 0.

Пример:

curl -i -H 'X-Iterios-Api-Key: some_key_value' http://tour2-metasearch.iterios.net/api/v1/tour/create-offer?search_id=20207&adapter_id=20&claim_id=ZHmVwxJyM5wrSkO5qzKbZHpmtaEYsrGz0rKGS5q3JrZHpmtaEYubGz0hk7gSWxsbYZZEs4ghsrKz0hk7VGmxsbZHpms4ghsrKz1LJRFbiGQbWbZHh4shiHsriz07U3tLG3N3SyGIeysrPXskV7RotCtGETt5Jksrmz0heriXsbG0hBaLKEorKys9O1OLSxtzd0shiHubKzww

Ответы

Код Описание
200 Успешное выполнение. Содержимое файла возвращается в ответ
400 Параметры переданы неверно, описание ошибки в атрибуте error.message
403 Ошибка авторизаци. Детальное описание в разделе Авторизация
500 Внутренняя ошибка, детали в атрибуте error.message

Пример ответа:

{
  "status": "success",
  "id_offer": 5
}

tour/get-offer

Возвращает детальную информацию по ценовому контейнеру. Обязательно необходимо передать $offer_id. Передается дополнительный флаг $force_update для обновления без проверки в БД и флаг $update_all для обновления подобных предложений (similar_offer);


Запрос

Метод передачи: GET

Принимает параметры в $_GET запросе:

Параметр Тип Описание
offer_idrequired int ID ценового контейнера, который был получен при использовании метода tour/create-offer
force_update int если задан и установлен в 1 - обновление без проверки в БД.
update_all int если задан и установлен в 1 - обновление по всем предрожениям.
log int Флаг для логирования, по умолчанию 0.

Пример:

curl -i -H 'X-Iterios-Api-Key: some_key_value' http://tour2-metasearch.iterios.net/api/v1/tour/get-offer?offer_id=13

Ответы

Код Описание
200 Успешное выполнение. Содержимое файла возвращается в ответ
400 Параметры переданы неверно, описание ошибки в атрибуте error.message
403 Ошибка авторизаци. Детальное описание в разделе Авторизация
500 Внутренняя ошибка, детали в атрибуте error.message

Параметры ответа (содержатся в ответе по ключу data):

Ключ Формат Описание
base_ci string claim_id для базового предложения
base_expire int, в минутах время актуальности базового предложения
base_adapter_id int id адаптера из МС
offer_base object объект с информацией по ценовому предложению
offer_base_history array список объектов с устаревшей информацией базового ценового предложения
search_params object объект с ключами, указанный в таблице 1 для tour/search, но без ключа adapter
offer_similar object объект, содержащий набор объектов с информацией о подобных ценовых предложениях

Ключи для массива offer_base:

Ключ Формат Описание
status_info string с одним из значений process|completed|empty|error статус выгрузки массива tour_info
status_detail string с одним из значений process|completed|empty|error статус выгрузки массива tour_detail
tour_info object описан в tour/get-result, таблица 3.3
tour_detail object объект с детальной информацией, описан ниже
count_updates int количество обновлений
active bool активно ли ценовое предложение
last_update int, timestamp в секундах время последнего обновления

Массив offer_base_history состоит из элементов, в которых содержатся такие ключи:

Ключ Формат Описание
tour_info object описан в tour/get-result, таблица 3.3
tour_detail object объект с детальной информацией, описан ниже
last_update int, timestamp в секундах время последнего обновления

Массив offer_similar это объект, в котором ключи - id адаптера, а значения - объекты со следующими ключами:

</tbody>

Ключ Формат Описание
expire int, минуты время актуальности предложения
offers object ключи - claim_id, полученные от ТО, а значения - объекты, состоящие из ключей: status, tour_info, active
offers.status string с одним из значений process|completed|empty|error статус выгрузки tour_info
offers.tour_info object описан в tour/get-result, таблица 3.3
offers.active bool актуально ли ценовое предложение
offers.count_updates int количество обновлений
offers.last_update int - timestamp в секундах время последнего обновления
Массив tour_detail состоит из таких атрибутов:
Ключ Формат Описание
transport array массив, состоящий из объектов, в которых содержится информация по перелёту; описан ниже
service array массив, состоящий из объектов, в которых содержится информация по услугам

Каждый объект, входящий в массив transport, со следующими ключами:

Ключ Формат Описание
aircraft string название судна
flight_number string номер рейса
duration string hh:ii продолжительность рейса
airline object объект с информацией об авиакомпании
departure object объект с информацией об отправлении
arrival object массив с информацией о прибытии
Атрибуты ответа для массива service:
Ключ Формат Описание
type string, одно из значений hotel|plain|bus|train|visa|insurance|transfer|other тип услуги
description string текстовое описание услуги
period string период: дипазон дат, или текстовое описание длительности

Пример ответа:

{
  "status": "success",
  "data": {
    "base_ci": "ZHmVwxJyM5wrSkO5qzKbZHpmtaEYsrGz0rKGS5q3JrZHpmtaEYubGz0hk7gSWxsbYZZEs4ghsrKz0hk7VGmxsbZHpms4ghsrKz1LJRFbiGQbWbZHh4shiHsriz07U3tLG3N3SyGIeysrPXskV7RotCtGETt5Jksrmz0heriXsbG0hBaLKEorKys9O1OLSxtzd0shiHubKzww",
    "base_expire": 15,
    "base_adapter_id": "20",
    "offer_base": {
      "status_info": "completed",
      "status_detail": "completed",
      "tour_detail": {
        "service": [
          {
            "type": "hotel",
            "description": "HOTEL::Салоники/Studio in Thessaloniki RE0091 Квартира,7 ночей/Flat,2Ad/Без питания",
            "period": "2016-12-28 - 2017-01-03"
          },
          {
            "type": "transfer",
            "description": "Трансфер",
            "period": null
          },
          {
            "type": "insurance",
            "description": "Страховка",
            "period": null
          },
          {
            "type": "other",
            "description": "Гарантия от невыезда",
            "period": null
          }
        ],
        "transport": [
          {
            "aircraft": null,
            "airline": {
              "code": null,
              "name": "Ellin Air "
            },
            "flight_number": "EL 201",
            "duration": "02:25",
            "departure": {
              "city": null,
              "airport": {
                "code": "KBP",
                "name": "KBP"
              },
              "date": "2016-12-28T12:25:00"
            },
            "arrival": {
              "city": null,
              "airport": {
                "code": "SKG",
                "name": "SKG"
              },
              "date": "2016-12-28T14:50:00"
            }
          },
          {
            "aircraft": null,
            "airline": {
              "code": null,
              "name": "Ellin Air "
            },
            "flight_number": "EL 200",
            "duration": "02:15",
            "departure": {
              "city": null,
              "airport": {
                "code": "SKG",
                "name": "SKG"
              },
              "date": "2017-01-04T09:20:00"
            },
            "arrival": {
              "city": null,
              "airport": {
                "code": "KBP",
                "name": "KBP"
              },
              "date": "2017-01-04T11:35:00"
            }
          }
        ]
      },
      "tour_info": {
        "booking_url": "http://online215.mouzenidis-travel.ru/SimpleBasket/SimpleBasketNew?code=ZHmVwxJyM5wrSkO5qzKbZHpmtaEYsrGz0rKGS5q3JrZHpmtaEYubGz0hk7gSWxsbYZZEs4ghsrKz0hk7VGmxsbZHpms4ghsrKz1LJRFbiGQbWbZHh4shiHsriz07U3tLG3N3SyGIeysrPXskV7RotCtGETt5Jksrmz0heriXsbG0hBaLKEorKys9O1OLSxtzd0shiHubKzww&s=jHV8MScjNCExwck=&src=SD02UBL",
        "adapter": {
          "id": 20,
          "code": "mouzenidis",
          "name": "Mouzenidis"
        },
        "claim_id": "ZHmVwxJyM5wrSkO5qzKbZHpmtaEYsrGz0rKGS5q3JrZHpmtaEYubGz0hk7gSWxsbYZZEs4ghsrKz0hk7VGmxsbZHpms4ghsrKz1LJRFbiGQbWbZHh4shiHsriz07U3tLG3N3SyGIeysrPXskV7RotCtGETt5Jksrmz0heriXsbG0hBaLKEorKys9O1OLSxtzd0shiHubKzww",
        "dep_date": "2016-12-28",
        "ret_date": "2017-01-04",
        "nights": 7,
        "tickets": {
          "econom": "FF",
          "business": "NN"
        },
        "price": 16273,
        "options": {
          "transport_inc": 1,
          "ticket": 1,
          "room": 1
        },
        "info": {
          "tour_id": 536884,
          "tour_name": "{UA}КИЕВ_{25.12-11.01}_16-17_с.г._Аренда жилья_Салоники-Переа-Агиа Триада",
          "spo_id": null,
          "spo_name": null
        },
        "moment_confirm": null,
        "exclusive": null,
        "promo": null,
        "promo_text": null,
        "recommended": null,
        "best_price": null,
        "early_booking": null,
        "dep_time": null,
        "dep_city": {
          "id": 4,
          "name": "Kiev",
          "orig_id": 218,
          "orig_name": "Киев"
        },
        "currency": "UAH",
        "hotels": [
          {
            "orig_id": 14004,
            "orig_name": "Studio in Thessaloniki RE0091 Квартира",
            "check_in": "2016-12-28T00:00",
            "check_out": "2017-01-03T00:00",
            "nights": "7",
            "availability": "R",
            "adult": 2,
            "child": 0,
            "hotel_url": false,
            "note": null,
            "id": null,
            "name": "Studio in Thessaloniki RE0091 Квартира",
            "category": {
              "id": "138",
              "name": "Квартира",
              "orig_id": 138,
              "orig_name": "Квартира"
            },
            "room": {
              "orig_id": "Flat",
              "orig_name": "Flat"
            },
            "meal": {
              "id": "48",
              "name": "Без питания",
              "orig_id": 48,
              "orig_name": "Без питания"
            },
            "accommodation": {
              "orig_id": 390,
              "orig_name": "2Ad"
            },
            "city": {
              "id": -829252,
              "name": "Thessaloníki",
              "orig_id": 615,
              "orig_name": "Салоники"
            },
            "country": {
              "id": 89,
              "name": "Greece",
              "orig_id": 29,
              "orig_name": "Греция"
            }
          }
        ],
        "systemInfo": {
          "requestId": "70"
        }
      },
      "count_updates": 2,
      "active": true,
      "last_update": 1482477609
    },
    "offer_base_history": [],
    "search_params": {
      "dep_city": 218,
      "country": 29,
      "adapter_name": "Mouzenidis",
      "currency_id": "UH",
      "options": "{\"room\":1,\"ticket\":1,\"transport_inc\":1}",
      "child": null,
      "currency": "UAH",
      "adult": 2,
      "language": "en",
      "date_from": "2016-12-28",
      "date_till": "2017-01-04",
      "night_from": 7,
      "night_till": 7,
      "hotel": [
        {
          "dict_id": null,
          "orig_id": 14004,
          "orig_title": "Studio in Thessaloniki RE0091 Квартира"
        }
      ],
      "meal": [
        {
          "dict_id": "48",
          "orig_id": 48,
          "orig_title": "Без питания"
        }
      ],
      "min_price": null,
      "max_price": null,
      "hotel_category": null,
      "city": null,
      "page": 1
    },
    "offer_similar": {
      "20": {
        "expire": 10,
        "offers": {
          "ZHmVwxKBIVwrKGK5qzKbZHpmtaEYsrGz0rKGS5q3JrZHpmtaEYubGz0hk7gSWxsbYZZEs4ghsrKz0hk7VGmxsbZHpms4ghsrKz1LJRFbiGQbWbZHh4shiHsriz07U3tLG3N3SyGIeysrPXskV7RotCtGETt5Jksrmz0heriXsbG0hBaLKEorKys9O1OLSxtzd0shiHubKzww": {
            "status": "completed",
            "tour_info": {
              "booking_url": "http://online215.mouzenidis-travel.ru/SimpleBasket/SimpleBasketNew?code=ZHmVwxKBIVwrKGK5qzKbZHpmtaEYsrGz0rKGS5q3JrZHpmtaEYubGz0hk7gSWxsbYZZEs4ghsrKz0hk7VGmxsbZHpms4ghsrKz1LJRFbiGQbWbZHh4shiHsriz07U3tLG3N3SyGIeysrPXskV7RotCtGETt5Jksrmz0heriXsbG0hBaLKEorKys9O1OLSxtzd0shiHubKzww&s=jHV8MScjNCExwck=&src=SD02UBL",
              "adapter": {
                "id": 20,
                "code": "mouzenidis",
                "name": "Mouzenidis"
              },
              "claim_id": "ZHmVwxKBIVwrKGK5qzKbZHpmtaEYsrGz0rKGS5q3JrZHpmtaEYubGz0hk7gSWxsbYZZEs4ghsrKz0hk7VGmxsbZHpms4ghsrKz1LJRFbiGQbWbZHh4shiHsriz07U3tLG3N3SyGIeysrPXskV7RotCtGETt5Jksrmz0heriXsbG0hBaLKEorKys9O1OLSxtzd0shiHubKzww",
              "dep_date": "2017-01-04",
              "ret_date": "2017-01-11",
              "nights": 7,
              "tickets": {
                "econom": "YF",
                "business": "NN"
              },
              "price": 16273,
              "options": {
                "transport_inc": 1,
                "ticket": 1,
                "room": 1
              },
              "info": {
                "tour_id": 536884,
                "tour_name": "{UA}КИЕВ_{25.12-11.01}_16-17_с.г._Аренда жилья_Салоники-Переа-Агиа Триада",
                "spo_id": null,
                "spo_name": null
              },
              "moment_confirm": null,
              "exclusive": null,
              "promo": null,
              "promo_text": null,
              "recommended": null,
              "best_price": null,
              "early_booking": null,
              "dep_time": null,
              "dep_city": {
                "id": 4,
                "name": "Kiev",
                "orig_id": 218,
                "orig_name": "Киев"
              },
              "currency": "UAH",
              "hotels": [
                {
                  "orig_id": 14004,
                  "orig_name": "Studio in Thessaloniki RE0091 Квартира",
                  "check_in": "2017-01-04T00:00",
                  "check_out": "2017-01-10T00:00",
                  "nights": "7",
                  "availability": "R",
                  "adult": 2,
                  "child": 0,
                  "hotel_url": false,
                  "note": null,
                  "id": null,
                  "name": "Studio in Thessaloniki RE0091 Квартира",
                  "category": {
                    "id": "138",
                    "name": "Квартира",
                    "orig_id": 138,
                    "orig_name": "Квартира"
                  },
                  "room": {
                    "orig_id": "Flat",
                    "orig_name": "Flat"
                  },
                  "meal": {
                    "id": "48",
                    "name": "Без питания",
                    "orig_id": 48,
                    "orig_name": "Без питания"
                  },
                  "accommodation": {
                    "orig_id": 390,
                    "orig_name": "2Ad"
                  },
                  "city": {
                    "id": -829252,
                    "name": "Thessaloníki",
                    "orig_id": 615,
                    "orig_name": "Салоники"
                  },
                  "country": {
                    "id": 89,
                    "name": "Greece",
                    "orig_id": 29,
                    "orig_name": "Греция"
                  }
                }
              ],
              "systemInfo": {
                "requestId": "70"
              }
            },
            "active": 1,
            "count_updates": 1,
            "last_update": 1482477631
          }
        }
      }
    }
  }
}