Открыть главное меню

Изменения

Frontend API

7761 байт добавлено, 14:14, 27 февраля 2019
Нет описания правки
Формат запросов имеет вид
<pre>http(s)://host/api/{component}/{module}/{action} + /{parameter1}/{parameter2}... (где параметры необязательны)</pre>
Пример:
http://demo.nemo.travel/api/flights/search/formData
 
Примечание: для изменения языка в ответах запросов нужно использовать GET параметр <syntaxhighlight lang="text" enclose="none" style="font-size: 1.2em; padding: 0 3px; background: #F0F0F0; border: 1px dashed #2F6FAB;">apilang=xx</syntaxhighlight>, где <syntaxhighlight lang="text" enclose="none" style="font-size: 1.2em; padding: 0 3px; background: #F0F0F0; border: 1px dashed #2F6FAB;">xx</syntaxhighlight> это 2-х буквенный код языка.
 
Пример: http://demo.nemo.travel/api/flights/utils/sunInfo/RTW/2016-06-28T15:00:00/DME/2016-06-28T20:30:00?apilang=en
= Описание запросов =
* Request
** URI /api/hotels/search/request/{searchId?} (получение данных запроса поиска с идентификатором {searchId}или создание нового запроса на поиск)
** POST request="[[#hotels.search.request|hotels.search.request]]" (Параметры запроса поиска)
* Response:
== Модуль Заказов (order) ==
 
=== Модуль аутентификации ===
 
Внимание, для сохранения статуса авторизованного пользователя запросы должны быть отправлены с поддержкой cookie
 
(Параметр withCredentials = true у объекта XmlHttpRequest в случае использования JS)
 
==== Запрос аутентификации пользователя====
 
* Request
** URI /api/order/auth/request
** POST request="[[#order.auth.request|order.auth.request]]" (Параметры запроса аутентификации)
* Response:
** [[#order.auth.response|order.auth.response]] (Результат аутентификации)
** [[#system.info|system.info]] (Служебная информация)
 
==== Запрос восстановления пароля====
 
* Request
** URI /api/order/auth/sendPasswordLink
** POST request="[[#order.auth.sendPasswordLink|order.auth.sendPasswordLink]]" (Параметры запроса восстановления пароля)
* Response:
** [[#order.auth.sendPasswordLinkResponse|order.auth.sendPasswordLinkResponse]] (Информация о результате операции)
** [[#system.info|system.info]] (Служебная информация)
 
==== Запрос регистрации====
 
* Request
** URI /api/order/auth/registration
** POST request="[[#order.auth.registration|order.auth.registration]]" (Параметры запроса регистрации)
* Response:
** [[#order.auth.registrationResponse|order.auth.registrationResponse]] (Информация о результате регистрации)
** [[#system.info|system.info]] (Служебная информация)
 
==== Запрос на получение параметров капчи====
 
* Request
** URI /api/order/auth/captchaParams
* Response:
** [[#order.auth.captchaParamsResponse|order.auth.captchaParamsResponse]] (Информация о параметрах капчи)
** [[#system.info|system.info]] (Служебная информация)
 
==== Запрос проверки состояния заказа====
 
* Request
** URI /api/order/auth/status
** POST request="[[#order.auth.status|order.auth.status]]" (Параметры запроса проверки состояния заказа)
* Response:
** [[#order.auth.statusResponse|order.auth.statusResponse]] (Информация о состоянии заказа)
** [[#system.info|system.info]] (Служебная информация)
=== Модуль Протокорзина (reminder) ===
"aroundDates": 0,
"serviceClass": "All",
"airlines": [ { "IATA": "UT" } ],
"delayed": false
"priceRefundType": null
|Предпочитаемые авиакомпании
|[]
|...|-|:: Массив IATA|IATA код кодов авиакомпании|string|Строка из 2 знаков (букв латинского алфавита и цифр)
|-
|
</div>
==Отели (hotels) == == Служебная информация= Поиск (systemsearch) ====
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">
===== Служебная информация Данные формы поиска (infoformData) =====<pre id="utilshotels.systemsearch.infoformData">systemhotels.search.info formData = </pre>
<div class="mw-collapsible-content">
<pre>
{
"responcecitySuggestions": [ 58165, 15777 ], "maxLimits": { "guestsCountInRoom": { "ADT": 4, "CLD": 4, "timestamptotal": 1433754718.95576 }, "responceTimeroomsCount": 0.109006166458134, "childrenAge": 17 }, "userdateOptions": { "userIDminOffset": 35990, "agencyIDmaxOffset": 35983695, "statusmaxStayDays": 21 }, "managerroomsSelectionTemplates",: { "isB2BuseExtendedSelect": true, "settingsfastSelect": [ { "currentLanguageADT": 1, "ruCLD": 0, "currentCurrencychildAges": [], "USDlabel": "singleAdult" }, { "agencyCurrencyADT": 2, "USDCLD": 0, "googleMapsApiKeychildAges": "null"[], "googleMapsClientIdlabel": "nulltwoAdults" } ] }, "id": 49825, "uri": "/api/hotels/search/formData/49825" }</pre>{| border="1" cellpadding="10" cellspacing="0"!Параметр!Описание!Тип!Значения|-|responcecitySuggestions|Ограничения Массив идентификаторов городов, которые выводятся для примера на максимальные значения параметровформе поиска|{}[]|...
|-
|:timestampmaxLimits|Текущая временная метка с сервераОграничения на максимальные значения параметров|number{}|Вещественное число...
|-
|
:responceTime|Время ответа|number|Вещественное числоguestsCountInRoom|Ограничения на максимальные значения кол-|user|Служебная информация о пользователева человек в комнате
|{}
|...
|-
|
:userID: ADT|ID пользователяМаксимальное количество взрослых
|number
|Целое положительное число
|-
|
:agencyID: CLD|ID агентстваМаксимальное количество детей
|number
|Целое положительное число
|-
|
:status: total|Статус пользователяМаксимальное количество человек в комнате|stringnumber|Строка, принимающая следующие значения:: guest: admin: user: expert: manager: company_user: company_expert: company_managerЦелое положительное число
|-
|
:isB2BroomsCount| Признак типа B2BКоличество комнат| booleannumber| логический типЦелое положительное число
|-
|
:settingschildrenAge| Настройки пользователяМаксимальный возраст, при котором гость считается ребенком|number|Целое положительное число|-|dateOptions|Ограничения на разрешенные даты для поиска отелей
|{}
|...
|-
|
::currentLanguageminOffset| Текущий языкБлижайшая разрешенная дата для поиска отеля (дней от текущего числа)|stringnumber|Строка из 2 латинских буквЦелое положительное число
|-
|
::currentCurrencymaxOffset| Текущая валютаСамая дальняя разрешенная дата для поиска отеля (дней от текущего числа)|stringnumber|Строка из 3 латинских буквЦелое положительное число
|-
|
: maxStayDays|Максимальное количество ночей, проведенных в отеле|number|Целое положительное число|-|roomsSelectionTemplates|Настройки выбора гостей|{}|...|-|: useExtendedSelect| Включить расширенный поиск пассажиров|boolean|Логический тип|-|: fastSelect| Комбинации для быстрого поиска|[]|...|-|:: ADT|Максимальное количество взрослых|number|Целое положительное число|-|::agencyCurrencyCLD| Валюта агентстваМаксимальное количество детей|stringnumber|Строка из 3 латинских буквЦелое положительное число
|-
|
::googleMapsApiKeychildAges| Api ключ для доступа к google mapsмассив возрастов детей|stringnumber|СтрокаЦелое положительное число
|-
|
::googleMapsClientIdlabel| CliendId для доступа к google mapsНазвание комбинации|stringString
|Строка
|-
|id|Идентификатор поиска|number|Целое положительное число|-|uri|URI поиска|String|Строка вида "/api/hotels/search/formData/id"|}
</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">
== Отели (hotels) == === Поиск (search) === <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">==== Данные формы запроса поиска (formDatarequest) ====<pre id="hotels.search.formDatarequest">hotels.search.formData request = </pre>
<div class="mw-collapsible-content">
<pre>
{
"citySuggestionscityId": 63052, "hotelId": 50778, "checkInDate": "2015-12-16T00:00:00", "checkOutDate": "2015-12-23T00:00:00", "isDelayed": false, "rooms": [ 58165{ "ADT": 1, "CLD": 1, "childAges": [ 10 ] 15777}
],
"maxLimits": { "guestsCountInRoom": { "ADT": 4, "CLD": 4, "total": 6 }, "roomsCount": 4, "childrenAge": 17 }, "dateOptions": { "minOffset": 0, "maxOffset": 3695, "maxStayDays": 21 }, "roomsSelectionTemplates": { "useExtendedSelect": true, "fastSelect": [ { "ADT": 1, "CLD": 0, "childAges": [], "label": "singleAdult" }, { "ADT": 2, "CLD": 0, "childAges": [], "label": "twoAdults" } ] }, "id": 49825, "uri": "/api/hotels/search/formDatarequest/49825"}</pre> {| border="1" cellpadding="10" cellspacing="0"
!Параметр
!Описание
!Значения
|-
|citySuggestionscityId|Массив идентификаторов городовИдентификатор города, которые выводятся для примера на форме поискав котором расположен отель|[]int|...Целое число
|-
|maxLimitshotelId|Ограничения на максимальные значения параметровИдентификатор отеля(необязательный параметр)|{}int|Целое число|-|checkInDate|Дата прибытия в отель|String|Строка в формате yyyy-MM-ddTHH:mm:ss (ISO 8601)|-|checkOutDate|Дата выселения из отеля|String|Строка в формате yyyy-MM-ddTHH:mm:ss (ISO 8601)|-|isDelayed|Признак отложенного поиска|boolean|Логический тип|-|rooms|Информация о номерах|[]|...
|-
|
: guestsCountInRoomADT|Ограничения на максимальные значения кол-ва человек Количество взрослых в комнатеномере|{}int|...Целое число
|-
|
:: ADTCLD|Максимальное количество взрослыхКоличество детей в номере (необязательный параметр, если в номере нет детей)|numberint|Целое положительное число
|-
|
:: CLDchildAges|Максимальное количество Массив возрастов детей(необязательный параметр, если в номере нет детей)|[]|...|-|id|Идентификатор поиска
|number
|Целое положительное число
|-
|:: totaluri|Максимальное количество человек в комнатеURI поиска|numberString|Целое положительное числоСтрока вида "/api/hotels/search/request/id"
|-
|}</div></div><div class="toccolours mw-collapsible mw-collapsed" style="width: roomsCount800px; margin-bottom:10px;"> ==== Данные ответа на запрос поиска (response) ====<pre id="hotels.search.response">hotels.search.response = </pre><div class="mw-collapsible-content"> <pre>{ "id": 20898}</pre> {|Количество комнатborder="1" cellpadding="10" cellspacing="0"|number!Параметр!Описание!Тип|Целое положительное число!Значения
|-
|: childrenAgeid|Максимальный возрастИдентификатор поиска, при котором гость считается ребенкомполученный от поставщика|numberint|Целое положительное число
|-
|dateOptions}</div></div>|Ограничения на разрешенные даты для поиска отелей<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;"> ==== Настройки выдачи результатов (resultData) ====<pre id="hotels.search.resultData">hotels.search.resultData = </pre><div class="mw-collapsible-content"> <pre>{ "showPostFilterHint": true, "defaultSort": "price", "showBlocks": { "useShowCase": true, "showFlightsOffer": true, "showMap": true, "showHotelsWatched": true }, "defaultShowVariants": 100, "showSupplier": true,| "searchTimeout": { "useSearchTimeout": true, "warningBeforeSearchTimeout": 540, "searchTimeout": 600 }, "promotionalHotels": [ 50216654, 33961705 ]}</pre> {|...border="1" cellpadding="10" cellspacing="0"!Параметр!Описание!Тип!Значения
|-
|: minOffsetshowPostFilterHint|Ближайшая разрешенная дата для поиска отеля (дней от текущего числа)Показать подсказку к постфильтрам|numberboolean|Целое положительное числоЛогический тип
|-
|: maxOffsetdefaultSort|Самая дальняя разрешенная дата для поиска отеля (дней от текущего числа)Тип выбранной по умолчанию сортировки|numberstring |Целое положительное числоСтрока, принимающая следующие значения:...
|-
|: maxStayDays|Максимальное количество ночей, проведенных в отеле|number|Целое положительное число|-|roomsSelectionTemplatesshowBlocks|Настройки выбора гостейотображения дополнительных блоков
|{}
|...
|-
|
: useExtendedSelectuseShowCase| Включить расширенный поиск пассажировПоказать витрину
|boolean
|Логический тип
|-
|
: fastSelectshowFlightsOffer| Комбинации для быстрого поискаПоказать блок с предложением перелетов |[]boolean|...Логический тип
|-
|
:: ADTshowMap|Максимальное количество взрослыхПоказать карту|numberboolean|Целое положительное числоЛогический тип
|-
|
:: CLDshowHotelsWatched|Максимальное количество детейПоказать блок с просмотренными отелями из данных результатов|boolean|Логический тип|-|defaultShowVariants|Число вариантов, показанных по умолчанию|number
|Целое положительное число
|-
|showSupplier
|Показывать поставщика в результатах поиска
|boolean
|Логический тип
|-
|searchTimeout
|Настройки устаревания результатов поиска
|{}
|...
|-
|
:useSearchTimeout|Использовать таймер устаревания результатов поиска |boolean|Логический тип|-|: childAgeswarningBeforeSearchTimeout|массив возрастов детейВремя в секундах, после которого появится предупреждение, что поиск устаревает
|number
|Целое положительное число
|-
|
:: labelsearchTimeout|Название комбинации|String|Строка|-|id|Идентификатор поискаВремя в секундах, через которое поиск устаревает
|number
|Целое положительное число
|-
|uripromotionalHotels|URI поискаМассив идентификаторов отелей, которые будут рекламироваться|String[]|Строка вида "/api/hotels/search/formData/id"Массив|-
|}
</div>
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">
==== Данные запроса результатов поиска (requestresults) ====<pre id="hotels.search.requestresults">hotels.search.request results = </pre>
<div class="mw-collapsible-content">
<pre>
{
"cityIdisFinished": 63052true, "hotelIdroomTypes": 50778[ { "id": 0, "checkInDatename": "2015-12-16T00Superior Double", "commonName":00:00"Superior Double" }, { "checkOutDateid": 1, "name"2015-12-23T00:00"Superior Twin conventionalized", "commonName":00"Superior Twin" }, { "id": 2, "isDelayedname": false"Junior Suite conventionalized", "roomscommonName": ["Junior Suite" },
{
"ADTid": 13, "CLDname": 1"Economy (without windows) Single ", "childAgescommonName": [ 10 ]"Economy Single"
}
],
"roomMeals": [ { "id": 498250, "code": "BB", "uriname": "/api/hotels/search/request/49825Continental Breakfast" },</pre> { "id": 1, "code": "BB", "name": "Buffet Breakfast" }, {| border= "id": 2, "code": "1BB" cellpadding=, "10name" cellspacing=: "0Breakfast"!Параметр }!Описание ],!Тип "roomRates": [!Значения {|- "id": 0,|cityId "price": {|Идентификатор города "amount": 246.86, в котором расположен отель|int "currency": "EUR"|Целое число },|- "isSpecialOffer": false,|hotelId "visaSupportProvided": false,|Идентификатор отеля(необязательный параметр) "isNonRefundable": false,|int "bookingRemarks": "",|Целое число "cancellationRules": []|- },|checkInDate {|Дата прибытия в отель "id": 1,|String "price": {|Строка в формате yyyy-MM-ddTHH "amount":mm246.86, "currency":ss (ISO 8601)"EUR"|- },|checkOutDate "isSpecialOffer": false, "visaSupportProvided": false,|Дата выселения из отеля "isNonRefundable": false,|String "bookingRemarks": "",|Строка в формате yyyy-MM-ddTHH "cancellationRules":mm[] }, { "id":ss (ISO 8601)2,|- "price": {|isDelayed "amount": 299.75,|Признак отложенного поиска "currency": "EUR"|boolean },|Логический тип "isSpecialOffer": false,|- "visaSupportProvided": false,|rooms "isNonRefundable": false,|Информация о номерах "bookingRemarks": "",| "cancellationRules": []|... },|- {| "id": 3, "price": ADT{|Количество взрослых в номере "amount": 170.75,|int "currency": "EUR"|Целое число },|- "isSpecialOffer": false,| "visaSupportProvided": false, "isNonRefundable": CLDfalse,|Количество детей в номере (необязательный параметр "bookingRemarks": "", если в номере нет детей)|int "cancellationRules": [] } ],|Целое число "roomsGroup": [|- {| "id": 0, "typeId": childAges0,|Массив возрастов детей (необязательный параметр "mealId": 0, если в номере нет детей)|[] "rateId": 0|... },|- {| "id": 1,|Идентификатор поиска "typeId": 1,|number "mealId": 0,|Целое положительное число "rateId": 1|- },|uri {|URI поиска "id": 2,|String "typeId": 2,|Строка вида "/api/hotels/search/request/idmealId": 0,|- "rateId": 2| }</div> ],</div> "cancellationRules": [],<div class= "toccolours mw-collapsible mw-collapsedhotels" style=: { "50236286"width:800px; margin-bottom{ "id":10px;50236286, ">name": "Danilovskaya", "roomGroups": [==== Данные ответа на запрос поиска (response) ==== {<pre id= "hotels.search.responsesearchRoomId">hotels.search.response = </pre>: 0,<div class= "mw-collapsible-contentroomVariants">: [ 0, 1, 2 ] }<pre> ] } }, "info": { "warnings": [], "errorCode": null, "errorMessageEng": null }, "id": 20898"167", "uri": "/api/hotels/search/results/167"
}
</pre>
!Значения
|-
|idisFinished|Идентификатор Признак полностью завершенного поиска, полученный от поставщика|intboolean|Целое числоЛогический тип
|-
|}roomTypes</div>|Информация о найденных типах комнат</div>|[]<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;"> ==== Настройки выдачи результатов (resultData) ====<pre id="hotels|.search.resultData">hotels.search.resultData = </pre><div class="mw-collapsible-content"> <pre>{ "showPostFilterHint": true, "defaultSort": "price", "showBlocks": { "useShowCase": true, "showFlightsOffer": true, "showMap": true, "showHotelsWatched": true }, "defaultShowVariants": 100, "showSupplier": true, "searchTimeout": { "useSearchTimeout": true, "warningBeforeSearchTimeout": 540, "searchTimeout": 600 }, "promotionalHotels": [ 50216654, 33961705 ]}</pre> {| border="1" cellpadding="10" cellspacing="0"!Параметр!Описание!Тип!Значения
|-
|showPostFilterHint: id|Идентификатор типа комнаты в рамках данного поиска|number|Целое положительное число|-|: name|Показать подсказку к постфильтрамНазвание типа комнаты|booleanstring|Логический типСтрока
|-
|defaultSort: commonName|Тип выбранной по умолчанию сортировкиРаспространенное название комнаты|string |Строка, принимающая следующие значения:...
|-
|showBlocksroomMeals|Настройки отображения дополнительных блоковИнформация о возможных типах питания|{}[]
|...
|-
|
: useShowCaseid|Показать витринуИдентификатор типа питания в рамках этого результата поиска|booleannumber|Логический типЦелое положительное число
|-
|
: showFlightsOffername|Показать блок с предложением перелетов Название типа питания|booleanstring|Логический типСтрока
|-
|
: showMapcode|Показать картуКод типа питания|booleanstring|Логический типСтрока|-|roomRates|Информация о стоимости комнат|[]|...
|-
|
: showHotelsWatchedid|Показать блок с просмотренными отелями из данных результатов|boolean|Логический тип|-|defaultShowVariants|Число вариантов, показанных по умолчаниюИдентификатор тарифа в рамках этого результата поиска
|number
|Целое положительное число
|-
|showSupplier|Показывать поставщика в результатах поиска|boolean|Логический тип|-|searchTimeout: price|Настройки устаревания результатов поискаКонтейнер с информацией о валюте
|{}
|...
|-
|
: useSearchTimeout: amount|Использовать таймер устаревания результатов поиска Сумма базовый цены|number|Дробное число|-|:: currency|Код валюты базовой цены|string|Строка|-|: isSpecialOffer|является ли данный тариф специальным предложением
|boolean
|Логический тип
|-
|
: warningBeforeSearchTimeoutvisaSupportProvided|Время в секундах, после которого появится предупреждение, что поиск устареваетПризнак визовой поддержки отеля|boolean|Логический тип|-|: isNonRefundable|Признак возможности возврата|boolean|Логический тип|-|: bookingRemarks|Текст ремарок|string|Строка|-|: cancellationRules|Набор идентификаторов правил отмены|[]|Массив целых положительных чисел|-|roomsGroup|Информация о различных вариантах комнат|{}|...|-|: id|Идентификатор комнаты
|number
|Целое положительное число
|-
|
: searchTimeouttypeId|Время в секундах, через которое поиск устареваетИдентификатор типа комнаты
|number
|Целое положительное число
|-
|promotionalHotels: mealId|Массив идентификаторов отелей, которые будут рекламироватьсяИдентификатор типа питания|[]number|МассивЦелое положительное число
|-
|}</div>: rateId|Идентификатор тарифа|number</div>|Целое положительное число<div class="toccolours mw|-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">|cancellationRules|Информация о правилах отмены==== Данные результатов поиска (results) ====|[]<pre id="hotels|.search.results">hotels.search.results = </pre><div class="mw|-collapsible-content">|: id<pre>|Идентификатор правила отмены в рамках результата данного поиска{|number "isFinished": true,|Целое положительное число "roomTypes": [|- {| "id": 0deadLine|Время,до которого действует данное правило "name": "Superior Double",|string "commonName": "Superior Double"|Строка },|- {| "id": 1,percentValue "name": "Superior Twin conventionalized",|... "commonName": "Superior Twin"|number },|Число {|- "id": 2,| "name": "Junior Suite conventionalized",absoluteValue "commonName": "Junior Suite"|... },|number {|Число "id": 3,|- "name": "Economy (without windows) Single ",|hotels "commonName": "Economy Single"|Информация об отелях |{} ],|... "roomMeals": [|- {| ": id": 0, "code": "BB",|Идентификатор отеля "name": "Continental Breakfast"|number },|Целое положительное число {|- "id": 1,| "code": "BB",name "name": "Buffet Breakfast"|Название отеля },|string {|Строка "id": 2,|- "code": "BB",| "name": "Breakfast"roomGroups }|Информация о комнатах в отеле |[], "roomRates": [|...|- {| "id": 0,: searchRoomId "price": {|Идентификатор комнаты в отеле в рамках данного поиска "amount": 246.86,|number "currency": "EUR"|Целое число },|- "isSpecialOffer": false,| "visaSupportProvided": false, "isNonRefundable": false,roomVariants "bookingRemarks": "",| Массив идентификаторов комнат - ссылки на roomsGroup "cancellationRules": |[] ||-|info|Информация об успешности/неуспешности поиска|{}, {||- "id": 1,| "price": {errorCode "amount": 246.86,|Код ошибки "currency": "EUR"|number }|Число,может иметь следующие значения: "isSpecialOffer": false,404 ('No results') "visaSupportProvided": false,410 ('Invalid SearchId') "isNonRefundable": false,500 ('System Error') "bookingRemarks": "",null|-| "cancellationRules": []errorMessageEng },|Сообщение об ошибке {|string "id"|Строка, принимающая следующие значения: 2, "price": {'No results' "amount": 299.75,'Invalid SearchId' "currency": "EUR"'System Error' },: null "isSpecialOffer": false,|- "visaSupportProvided": false,| "isNonRefundable": false,warnings "bookingRemarks": "",|Массив предупреждений "cancellationRules": |[] ||-|}, { </div></div> === Статика отелей (staticDataInfo) === <div class="toccolours mw-collapsible mw-collapsed"idstyle="width:800px; margin-bottom: 3,10px;"> "price": {==== Данные о статике отелей (staticDataInfo) ==== <pre id="amounthotels.staticDataInfo": 170>hotels.75,staticDataInfo = </pre> <div class="currency": "EURmw-collapsible-content"> <pre> },{ "isSpecialOffercountries": false,[ "visaSupportProvided": false, { "isNonRefundableid": false178, "bookingRemarksname": "Russia", "cancellationRulesisoCode": []"RU"
}
],
"roomsGroupregions": [
{
"id": 03000046, "typeIdname": 0, "mealIdМосква": 0, "rateIdcountryId": 0178 } ], "cities": [
{
"id": 14754, "typeIdname": 1"Москва", "countryId": 178, "mealIdregionId": 03000046, "rateIdlatitude": 1null, "longitude": null } ], "resorts": [
{
"id": 21315, "typeIdname": 2, "mealIdSHERSTON": 0, "rateIdcityId": 24754
}
],
"cancellationRuleshotels": [] { "id": 163157, "name": "SHERSTON", "checkInTime": null, "checkOutTime": null, "starRating": 5, "category": null, "cityId": 4754, "hotelsresortId": {null, "50236286district": {"", "idposLatitude": 50236286null, "nameposLongitude": null, "Danilovskayadescription": null, "roomGroupsphotos": [ {"http://nt.natecnia.com/NT/photos/HOT/ES/best.western.dante.jumbotours/c_foto1173177694944.jpg", "http://nt.natecnia.com/NT/photos/HOT/ES/best.western.dante.jumbotours/c_foto1173177491528.jpg" ], "searchRoomIdmainPhotoId": 0, "roomVariantsaddresses": [ 0 "MALLORCA 181", "MALLORCA 182" ], "features": { "CheckIn": { "typeName": "Круглосуточная регистрация", "featuresArray": [ 1"24h Reception", 2"Early check-in"
]
}
"Smoking": { "typeName": "Курение", "featuresArray": [ "Non Smoking Rooms" ] } }, "infoInternet": { "typeName": "Интернет", "warningsfeaturesArray": [ "Internet Corner ($)", "High- Speed Wireless Internet Access", "Wi-Fi (Public Areas)", "High Speed Internet Access" ] }, "ClimateControl": { "errorCodetypeName": null"Климат-контроль", "errorMessageEngfeaturesArray": null[ "Air Conditioning" ] }, "Safe": { "idtypeName": "167Сейф", "urifeaturesArray": [ "/api/hotels/search/results/167Safe" ] } },</pre> "popularFeatures": [ "ExpressCheckIn",{| border= "1WiFi" cellpadding=, "10ClimateControl" cellspacing= ], "0distances": {!Параметр "Subway Station": {!Описание "typeName": "Станция метро",!Тип "distancesArray": [!Значения {| "name": "Smolenskaya - Arbatsko-Pokrovskaya line", "isClose": false,|isFinished "value": {|Признак полностью завершенного поиска "distance": 0.3,|boolean "measurement": "км",|Логический тип "transportType": null|- }|roomTypes },|Информация о найденных типах комнат {|[] "name": "smolenskaya",|... "isClose": false,|- "value": {| "distance": 0.3, "measurement": id"км",|Идентификатор типа комнаты в рамках данного поиска "transportType": null|number }|Целое положительное число }|- ]| }, "Bus Station": name{|Название типа комнаты "typeName": "Автобусная станция",|string "distancesArray": [|Строка {|- "name": "",| "isClose": true, "value": commonNamenull|Распространенное название комнаты } ]|string },|Строка },|- "customerRating": {|roomMeals "room": 9.1,|Информация о возможных типах питания "facilities": 7.7,|[] "cleanness": 8.9,| "food": 9.5, "staff": 8.2, "checkIn": 9.1,|- "valueForMoney": 9.6| }, "averageCustomerRating": id{|Идентификатор типа питания в рамках этого результата поиска "value": 8.6,|number "description": "Хорошо"|Целое положительное число },|- "usersOpinionInfo": {| "opinionsCount": 2, "opinions": name[ {|Название типа питания "userName": "Варя",|string "mark": 1,|Строка "text": "Всё плохо" |- },| { "userName": code"Бронислав",|Код типа питания "mark": 5,|string "text": "Всё отлично!" |Строка }|- ]|roomRates }|Информация о стоимости комнат } |[ ], "popularHotelsFeatures": { "ExpressCheckIn": "Круглосуточная регистрация", "ConferenceFacilities": "услуги для проведения конференций", "Restaurant": "Ресторан", "Bar": "Бар", "Parking": "Парковка", "Children": "Услуги для клиентов с детьми", "WiFi": "WiFi", "BathroomAmenities": "Услуги для водных процедур",|... "Elevator": "Лифт",| "ClimateControl": "Климат-контроль" }}</pre>{|border="1" cellpadding="10" cellspacing="0": id!Параметр|Идентификатор тарифа в рамках этого результата поиска!Описание|number!Тип|Целое положительное число!Значения|-|: pricecountries|Контейнер с информацией о валютеМассив стран|{}[]
|...
|-
|
:: amountid|Сумма базовый ценыИдентификатор страны в системе Немо2
|number
|Дробное Целое положительное число
|-
|
:: currencyname|Код валюты базовой ценыНазвание страны|stringString
|Строка
|-
|
: isSpecialOfferisoCode|является ли данный тариф специальным предложениемISO код страны|booleanString|Логический типСтрока из 2 букв(ISO 3166-1 alpha-2)
|-
|: visaSupportProvided|Признак визовой поддержки отеля|boolean|Логический тип|-|: isNonRefundable|Признак возможности возврата|boolean|Логический тип|-|: bookingRemarks|Текст ремарок|string|Строка|-|: cancellationRulesregions|Набор идентификаторов правил отменыМассив регионов стран
|[]
|Массив целых положительных чисел
|-
|roomsGroup
|Информация о различных вариантах комнат
|{}
|...
|-
|
: id
|Идентификатор комнатырегиона в системе Немо2
|number
|Целое положительное число
|-
|
: typeIdname|Идентификатор типа комнатыНазвание региона|numberString|Целое положительное числоСтрока
|-
|
: mealIdcountryId|Идентификатор типа питанияидентификатор страны в системе Немо2, которой принадлежит регион
|number
|Целое положительное число
|-
|: rateId|Идентификатор тарифа|number|Целое положительное число|-|cancellationRulescities|Информация о правилах отменыМассив городов
|[]
|...
|
: id
|Идентификатор правила отмены города в рамках результата данного поискасистеме Немо2
|number
|Целое положительное число
|-
|
: deadLinename|Время, до которого действует данное правилоНазвание города|stringString
|Строка
|-
|
: percentValuecountryId|...идентификатор страны в системе Немо2, которой принадлежит регион|number|Целое положительное число|-|: regionId|идентификатор региона в системе Немо2, которому принадлежит город
|number
|ЧислоЦелое положительное число
|-
|
: absoluteValuelatitude|...Географическая широта города
|number
|Число
|-
|hotels: longitude|Географическая долгота города|number|Число|-|resorts|Информация об отеляхо курортах|{}[]
|...
|-
|
: id
|Идентификатор отелякурорта в системе Немо2
|number
|Целое положительное число
|
: name
|Название отелякурорта|stringString
|Строка
|-
|
: roomGroupscityId|Идентификатор города в системе Немо2, в котором находится курорт |number|Целое положительное число|-|hotels|Информация о комнатах в отелеоб отелях
|[]
|...
|-
|
:: searchRoomIdid|Идентификатор комнаты отеля в отеле в рамках данного поискасистеме Немо2
|number
|Целое положительное число
|-
|
:: roomVariantsname| Массив идентификаторов комнат - ссылки на roomsGroupНазвание отеля|[]String|Строка
|-
|info
|Информация об успешности/неуспешности поиска
|{}
|
: checkInTime
|Время заезда
|String
|Строка
|-
|
: errorCodecheckOutTime|Код ошибкиВремя выезда|String|Строка|-|: category|Тип отеля|String|Строка|-|: cityId|Идентификатор города в системе Немо2, в котором находится отель
|number
|Число, может иметь следующие значения:: 404 ('No results'): 410 ('Invalid SearchId'): 500 ('System Error'): nullЦелое положительное число
|-
|
: errorMessageEngresortId|Сообщение об ошибкеидентификатор курорта в массиве resorts|stringnumber|Строка, принимающая следующие значения:: 'No results': 'Invalid SearchId': 'System Error': nullЦелое положительное число
|-
|
: warningsdistrict|Массив предупрежденийназвание района, в котором расположен отель|[]String|Строка|-
|
: posLatitude
|Географическая широта отеля
|number
|Число
|-
|}: posLongitude</div>|Географическая долгота отеля</div>|number|Число=== Статика отелей (staticDataInfo) ===|-|<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">checkOutTime|Время выезда==== Данные о статике отелей (staticDataInfo) ====|String<pre id="hotels.staticDataInfo">hotels.staticDataInfo = </pre>|Строка<div class="mw|-collapsible-content">|<pre>: starRating{|Количество звезд "countries": [|number {|Целое число от 0 до 5 "id": 178,|- "name": "Russia",| "isoCode": "RU"description }|Описание отеля ],|String "regions": [|Строка {|- "id": 3000046, "name": "Москва",| "countryId": 178photos }|Массив фотографий отеля |[], "cities": [|... {|- "id": 4754,| "name": "Москва",mainPhotoId "countryId": 178,|Идентификатор главного изображения "regionId": 3000046,|number "latitude": null,|Целое число "longitude": null|- } ],| "resorts": [features { "id": 1315|Информация об услугах,предоставляемых в отеле "name": "SHERSTON", "cityId": 4754 |{} ],|... "hotels": [|- {| "id": 163157, "name": "SHERSTON",typeName "checkInTime": null,|Идентификатор услуги(название группы услуг) "checkOutTime": null,|String "starRating": 5,|Строка "category": null,|- "cityId": 4754,| "resortId": null, "district": "",featuresArray "posLatitude": null,|Массив подробных описаний услуги "posLongitude": null,|{} "description": null,|Массив строк "photos": [|- "http://nt.natecnia.com/NT/photos/HOT/ES/best.western.dante.jumbotours/c_foto1173177694944.jpg",| "http://nt.natecnia.com/NT/photos/HOT/ES/best.western.dante.jumbotours/c_foto1173177491528.jpg"popularFeatures ]|Список популярных услуг,предоставляемых отелем "mainPhotoId": 0, "addresses": |[] "MALLORCA 181",|Массив "MALLORCA 182"|- ],| "features": {distances|Информация о расстояниях от отеля до важных объектов "CheckIn": |{} "typeName": "Круглосуточная регистрация",|Объект "featuresArray": [ "24h Reception", "Early check|-in" ]| } "Smoking": {: typeName "typeName": "Курение",|Название типа объекта "featuresArray": [|String "Non Smoking Rooms"|Строка ]|- },| "Internet": { "typeName": "Интернет",distancesArray "featuresArray": [|Массив объектов данного типа "Internet Corner ($)",|{} "High- Speed Wireless Internet Access",|Объект "Wi|-Fi (Public Areas)", "High Speed Internet Access"| ] }, "ClimateControl": {:: name "typeName": "Климат-контроль",|Название объекта "featuresArray": [|String "Air Conditioning"|Строка ]|- },| "Safe": { "typeName": "Сейф", "featuresArray": [isClose "Safe" ] } }|Признак того, "popularFeatures": [ "ExpressCheckIn"что объект находится очень близко к отелю. Если имеет значение true,value=null "WiFi",|boolean "ClimateControl"|логический тип ],|- "distances": {| "Subway Station": { "typeName": "Станция метро", "distancesArray": [value { "name": "Smolenskaya - Arbatsko-Pokrovskaya line"|Информация о расстоянии/времени пути. Если она имеется, "isClose": =false, "value": |{} "distance": 0|...3, "measurement"|-|:::: "км",distance|Число единиц измерения "transportType": null|number }|Число },|- {| "name": "smolenskaya", "isClose": false, "value": { "distance": 0.3, "measurement": "км", "transportType": null|Единица измерения }|String }|Строка ]|- }, | "Bus Station": { "typeName": "Автобусная станция", "distancesArray": [ { "name": "",transportType "isClose": true|Тип способа перемещения,для которого актуальны distance и measurement "value": null |{} ]|... },|- },| ": customerRating": { "room": 9|Оценка отеля посетителями|[]|...1, "facilities": 7.7,|-| "cleanness": 8.9, "food": 9.5,room "staff": 8.2,|Оценка комнаты "checkIn": 9.1,|number "valueForMoney": 9.6|Число },|- "averageCustomerRating": {| "value": 8.6, "description": "Хорошо"facilities },|Оценка бытовых удобств "usersOpinionInfo": {|number "opinionsCount": 2,|Число "opinions": [|- {| "userName": "Варя",: cleanness "mark": 1,|Оценка чистоты "text": "Всё плохо" |number },|Число {|- "userName": "Бронислав",| "mark": 5, "text": "Всё отлично!" food }|Оценка еды ]|number }|Число } |- ],| "popularHotelsFeatures": { "ExpressCheckIn": "Круглосуточная регистрация",staff "ConferenceFacilities": "услуги для проведения конференций",|Оценка обслуживающего персонала "Restaurant": "Ресторан",|number "Bar": "Бар",|Число "Parking": "Парковка",|- "Children": "Услуги для клиентов с детьми",| "WiFi": "WiFi", "BathroomAmenities": "Услуги для водных процедур",checkIn "Elevator": "Лифт",|Оценка регистрации "ClimateControl": "Климат-контроль"|number }|Число}|- </pre>{| border="1" cellpadding="10" cellspacing="0"!Параметр:: valueForMoney!Описание|Оценка соотношения цены и качества!Тип|number!Значения|Число
|-
|countries: averageCustomerRating|Массив странДанные о средней оценке отеля посетителями
|[]
|...
|-
|
: id: value|Идентификатор страны в системе Немо2Оценка
|number
|Целое положительное числоЧисло|-
|
: name: description|Название страныТекствое описание(при оценке выше 7)|Stringnumber|СтрокаЧисло|- |: usersOpinionInfo|Информация об отзывах пользователей|{}|null, если нет отзывов
|-
|
: isoCode: opinionsCount|ISO код страныКоличество отзывов|Stringnumber|Строка из 2 букв(ISO 3166-1 alpha-2)Число
|-
|regions:: opinions|Массив регионов странотзывов
|[]
|...
|-
|
: id|Идентификатор региона в системе Немо2|number|Целое положительное число|-|: name: userName|Название регионаИмя пользователя, оставившего отзыв|Stringstring
|Строка
|-
|
: countryId:: mark|идентификатор страны в системе Немо2, которой принадлежит регионОценка
|number
|Целое положительное числоЧисло
|-
|cities|Массив городов|[]|...|-|: id|Идентификатор города в системе Немо2|number|Целое положительное число|-|: name|Название города|String|Строка|-|: countryId|идентификатор страны в системе Немо2, которой принадлежит регион|number|Целое положительное число|-|: regionId|идентификатор региона в системе Немо2, которому принадлежит город|number|Целое положительное число|-|: latitude|Географическая широта города|number|Число|-|: longitude|Географическая долгота города|number|Число|-|resorts|Информация о курортах|[]|...|-|: id|Идентификатор курорта в системе Немо2|number|Целое положительное число|-|: name|Название курорта|String|Строка|-|: cityId|Идентификатор города в системе Немо2, в котором находится курорт |number|Целое положительное число|-|hotels|Информация об отелях|[]|...|-|: id|Идентификатор отеля в системе Немо2|number|Целое положительное число|-|: nametext |Название отеляТекст отзыва|Stringstring
|Строка
|-
|popularHotelsFeatures
|Список популярных услуг, которые встречаются в данной выдаче
|Объект вида "Ключ" => "Локальное название"
|{}
|-
|}
 
'''Полный список популярных услуг'''
 
Bar
BathroomAmenities
BusinessCenter
ConferenceFacilities
Children
ClimateControl
DisabledFacilities
Elevator
ExpressCheckIn
Gym
Laundry
Meal
Parking
PetsAllowed
Pool
Restaurant
SPA
Transfer
WiFi
</div>
</div>
 
=== Автокомплит отелей (autocomplete) ===
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">
==== Автокомлит отелей (autocomplete) ====
<pre id="hotels.autocomplete">hotels.autocomplete = </pre>
<div class="mw-collapsible-content">
 
<pre>
{
"autocomplete": {
"cities": [{
"id": 4754,
"name": "Москва",
"country_code": "RU",
"hotelsCount": 280,
"country_name": "Россия"
}, {
"id": 14997,
"name": "Моссель-Бей",
"country_code": "ZA",
"hotelsCount": 9,
"country_name": "Южная Африка"
}, {
"id": 12838,
"name": "Моссман",
"country_code": "AU",
"hotelsCount": 1,
"country_name": "Австралия"
}],
"hotels": [{
"id": 50577298,
"name": "Mosaic",
"category": 4,
"country_code": "TR",
"cityName": "Istanbul",
"country_name": "Турция"
}, {
"id": 50410601,
"name": "Mosaic House",
"category": 4,
"country_code": "CZ",
"cityName": "Prague",
"country_name": "Чешская Республика"
}, {
"id": 50575348,
"name": "Mosaic House",
"category": 4,
"country_code": "CZ",
"cityName": "Prague",
"country_name": "Чешская Республика"
}],
}
}
}
 
</pre>
{| border="1" cellpadding="10" cellspacing="0"
!Параметр
!Описание
!Тип
!Значения
|-
|: checkInTimeautocomplete|Время заездаБлок ответа автокомлита|String[]|Строка...
|-
|
: checkOutTimecities|Время выездаМассив городов для автокомплита|String[]|Строка...|-|:: id|Номер города|integer|...
|-
|
: category: name|Тип отеляНазвание города
|String
|Строка
|-
|
: cityId: country_сode|Идентификатор города в системе Немо2, в котором находится отель Код страны|numberString|Целое положительное числоВ формате ISO2
|-
|
: resortId: hotelsCount|идентификатор курорта Количество отелей в массиве resortsгороде|numberinteger|Целое положительное число...
|-
|
: district: country_name|название района, в котором расположен отельНазвание страны
|String
|Строка
|-
|
: posLatitudehotels|Географическая широта отеляМассив отелей|number[]|Число...
|-
|: posLongitude: id|Географическая долгота Номер отеля|numberinteger|Число...
|-
|
: checkOutTime: name|Время выездаНазвание города
|String
|Строка
|-
|
: starRating: category|Количество звездКатегория отеля |numberinteger|Целое число Числа от 0 1 до 5, включительно
|-
|
: description: country_code|Описание отеляКод страны
|String
|СтрокаВ формате ISO2
|-
|
: photos: cityName|Массив фотографий отеляНазвание города|[]String|...Строка
|-
|
: mainPhotoId: country_name|Идентификатор главного изображенияНазвание страны|numberString|Целое числоСтрока|- |}</div></div> == Путеводитель (guide) == === Страны (countries) === <div class="toccolours mw-collapsible mw-collapsed" style="width:800px">==== Данные по коду страны ISO 3166-1 alpha-2 (CODE) ====<pre id="guide.countries.CODE">guide.countries.CODE = </pre><div class="mw-collapsible-content"> <pre>{ "code": "RU", "name": features"Россия", "nameEn": "Russia"}</pre> {| border="1" cellpadding="10" cellspacing="0"!Параметр!Описание!Тип!Значения|-|RU|Информация об услугах, предоставляемых в отелеКод страны|{}string|...Строка из 2 латинских букв
|-
|:: typeNamename|Идентификатор услуги(название группы услуг)Название страны|Stringstring
|Строка
|-
|nameEn:: featuresArray|Английское название страны|string|Массив подробных описаний услугиСтрока|}</div></div> === Города(cities) === <div class="toccolours mw-collapsible mw-collapsed" style="width:800px">==== Данные по идентификатору города ====<pre id="guide.cities.ID">guide.cities.ID = </pre><div class="mw-collapsible-content"><pre>{ "IATA": "MOW", "name": "Москва", "nameEn": "Moscow", "countryCode": "RU", "id": 58165}</pre>  {|Массив строкborder="1" cellpadding="10" cellspacing="0"!Параметр!Описание!Тип!Значения
|-
|: popularFeaturesIATA|Список популярных услуг, предоставляемых отелемКод города|[]string|МассивСтрока из 3 букв латинского алфавита
|-
|: distances|Информация о расстояниях от отеля до важных объектов|{}|Объект|-|:: typeNamename|Название типа объекта города|Stringstring
|Строка
|-
|:: distancesArray|Массив объектов данного типа|{}|Объект|-|::: namenameEn|Название объектаАнглийское название города|Stringstring
|Строка
|-
|::: isClosecountryCode|Признак того, что объект находится очень близко к отелю. Если имеет значение true, value=nullКод страны|booleanstring|логический типСтрока из 2 букв(ISO 3166-1 alpha-2)
|-
|::: value|Информация о расстоянии/времени пути. Если она имеется, isClose=false|{}|...|-|:::: distanceid|Число единиц измеренияКод города
|number
|Число
|}
</div>
</div>
 
=== Воздушные суда (aircrafts) ===
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
==== Данные по коду воздушного судна====
<pre id="guide.aircrafts.CODE">guide.aircrafts.CODE = </pre>
<div class="mw-collapsible-content">
<pre>
{
"id": 108,
"name": "Yk 42",
"nameEn": "YK 42",
"manufacture": "ОКБ Яковлева",
"originCountries": [
"RU"
],
"distanceType": "medium_range",
"fuselageType": "narrowbody",
"capacity": "102 - 120",
"cruiseSpeed": "730",
"isTurbineAirctaft": false,
"isHomeAirctaft": false,
"image": {
"image": "/static/images/guide_aircraft/images_php154_0.jpg",
"icon": "/static/images/guide_aircraft_icon/images_php154_0.jpg",
"height": 500,
"width": 743
},
"map_image": {
"image": "/static/images/guide_aircraft/map_image_php155_0.jpg",
"icon": "/static/images/guide_aircraft_icon/map_image_php155_0.jpg",
"height": 200,
"width": 500
}
}
</pre>
 
{| border="1" cellpadding="10" cellspacing="0"
!Параметр
!Описание
!Тип
!Значения
|-
|id:::: measurement|Идентификатор воздушного судна|number|число|-|name|Единица измеренияНазвание авиакомпании|Stringstring|Строка|-|nameEn:::: transportType|Английское название авиакомпании|Тип способа перемещения, для которого актуальны distance и measurementstring|{}Строка|...-|manufacture|Компания-производитель|string|Строка
|-
|: customerRatingoriginCountries|Оценка отеля посетителямиНабор IATA-кодов стран-производителей
|[]
|...
|-
|distanceType|Магистральность|string|Строка, принимающая следующие значения:: short_range(Ближнемагистральный):medium_range(Среднемагистральный): roomlong_range(Дальнемагистральный) |Оценка комнаты-|numberfuselageType|ЧислоФюзеляжность|- string|Строка, принимающая следующие значения::narrowbody(Узкофюзеляжный): facilitieswidebody(Широкофюзеляжный)|-|capacity|Вместимость|string|Строка вида (100 - 200)|-|cruiseSpeed|Оценка бытовых удобствКрейсерская скорость (км/ч)
|number
|ЧислоЦелое положительное число|-|isTurbineAirctaft|Турбовинтовой|boolean|Логический тип|-|isHomeAirctaft|Отечественный|boolean|Логический тип|-|image|Данные о логотипе|{}|...|-
|
:: cleannessimage|Оценка чистотыСсылка на логотип|numberstring|ЧислоСтрока, указывающая относительный путь к изображению|-
|
:: foodicon|Оценка едыСсылка на иконку логотипа|numberstring|ЧислоСтрока, указывающая относительный путь к изображению|-
|
:: staffheight|Оценка обслуживающего персоналаВысота логотипа
|number
|ЧислоЦелое положительное число|-
|
:: checkInwidth|Оценка регистрацииШирина логотипа
|number
|Число|- |:: valueForMoney|Оценка соотношения цены и качества|number|ЧислоЦелое положительное число
|-
|: averageCustomerRatingmap_image|Данные о средней оценке отеля посетителямисхеме судна|[]{}
|...
|-
|}</div></div> === Аэропорты (airports) === <div class="toccolours mw-collapsible mw-collapsed" style="width:: value800px">|Оценка==== Данные по IATA коду аэропорта ====|number<pre id="guide.airports.CODE">guide.airports.CODE = </pre>|Число<div class="mw-collapsible-content">|- <pre>|{ "IATA":"DME", "name": description"Домодедово, Москва",|Текствое описание(при оценке выше 7) "nameEn": "Domodedovo, Moscow",|number "properName": "Домодедово",|Число "properNameEn": "Domodedovo",|- "cityId": 58165,| "isAggregation": false, "countryCode": usersOpinionInfo"RU"}</pre> {|Информация об отзывах пользователейborder="1" cellpadding="10" cellspacing="0"|{}!Параметр!Описание!Тип|null, если нет отзывов!Значения
|-
|:: opinionsCountIATA|Количество отзывовIATA код аэропорта|numberstring|ЧислоСтрока из 3-х заглавных латинских букв
|-
|name:: opinions|Название аэропорта|string|Строка|-|nameEn|Английское название аэропорта|string|Строка|-|properName|Массив отзывовОригинальное название аэропорта (без города), может быть пустым|[]string|...Строка
|-
|::: userNameproperNameEn|Имя пользователяОригинальное название аэропорта на английском (без города), оставившего отзывможет быть пустым
|string
|Строка
|-
|::: markcityId|ОценкаКод города
|number
|Число
|-
|isAggregation::: text |Является ли город агрегатом аэропортов|boolean|Логический тип|-|countryCode|Текст отзываКод страны
|string
|Строка|из 2 латинских букв(ISO 3166- |popularHotelsFeatures |Список популярных услуг, которые встречаются в данной выдаче|Объект вида "Ключ" => "Локальное название"|{}|1 alpha- 2)
|}
</div>
</div>
'''Полный список популярных услуг'''=== Авиакомпании (airlines) ===
Bar BathroomAmenities BusinessCenter ConferenceFacilities Children ClimateControl DisabledFacilities Elevator ExpressCheckIn Gym Laundry Meal Parking PetsAllowed Pool Restaurant SPA Transfer WiFi</div></div> === Автокомплит отелей (autocomplete) === <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">==== Автокомлит отелей (autocomplete) Данные по IATA коду авиакомпании ====<pre id="hotelsguide.autocompleteairlines.CODE">hotelsguide.airlines.autocomplete CODE = </pre>
<div class="mw-collapsible-content">
 
<pre>
{
"autocompleteIATA": { "cities": [{ SU"id": 4754, "name": "МоскваАэрофлот - Российские авиалинии", "country_codenameEn": "RUAeroflot", "hotelsCountrating": 2806.43, "country_namecountryCode": "Россия" }, { "id": 14997, "name": "Моссель-БейRU", "country_codelogo": "ZA", "hotelsCount": 9, "country_name": "Южная Африка" }, { "idimage": 12838, "name": "Моссман/static/images/guide_carrier/logotype_5_0.svg", "country_codeicon": "AU/static/images/guide_carrier_icon/logotype_5_0.svg", "hotelsCountheight": 1null, "country_namewidth": "Австралия"null }], "hotelsmonochromeLogo": [{ "id": 50577298, "nameimage": "Mosaic/static/images/guide_carrier/monochrome_logotype_5_0.svg", "categoryicon": 4, "country_code": "TR/static/images/guide_carrier_monochrome_icon/monochrome_logotype_5_0.svg", "cityNameheight": "Istanbul"null, "country_namewidth": "Турция"null }, { "id": 50410601, "name": "Mosaic House", "category": 4, "country_code": "CZ", "cityNamecolors": "Prague", "country_name": "Чешская Республика" }, { "idcompanyColor": 50575348, "name": "Mosaic House#000080", "categorycompanyColorAdditional": 4, "country_code#000080": "CZ", "cityName": "Prague", "country_name": "Чешская Республика" }], } }} </pre>  {| border="1" cellpadding="10" cellspacing="0"!Параметр!Описание!Тип!Значения|-|IATA|IATA код авиакомпании|string|Строка из 2 знаков (букв латинского алфавита и цифр)
|-
|autocompletename|Блок ответа автокомлитаНазвание авиакомпании|[]string|...Строка
|-
|: citiesnameEn|Массив городов для автокомплитаАнглийское название авиакомпании|[]string|...Строка
|-
|rating:: id|Рейтинг перевозчика|number|Число|-|countryCode|Код страны авиакомпании|string|Строка из 2 латинских букв (ISO 3166-1 alpha-2)|-|logo|Данные о логотипе авиакомпании|{}|...|-|monochromeLogo|Номер городаДанные о монохромном логотипе авиакомпании|integer{}
|...
|-
|
:: nameimage|Название городаСсылка на логотип авиакомпании|Stringstring|Строка, указывающая относительный путь к изображению
|-
|
:: country_сodeicon|Код страныСсылка на иконку логотипа авиакомпании|Stringstring|В формате ISO2Строка, указывающая относительный путь к изображению
|-
|
:: hotelsCountheight|Количество отелей в городеВысота логотипа|integernumber|...Целое положительное число
|-
|
:: country_namewidth|Название страныШирина логотипа|Stringnumber|СтрокаЦелое положительное число
|-
|: hotels|Массив отелей|[]|...|-:: idcolors|Номер отеляДанные о фирменных цветах авиакомпании|integer{}
|...
|-
|
:: namecompanyColor|Название городаФирменный цвет|Stringstring|СтрокаHEX код, соответствующий регулярному выражению /^\#[\da-f]{6}$/
|-
|
:: categorycompanyColorAdditional|Категория отеля Дополнительный фирменный цвет|integerstring|Числа от 1 до 5HEX код, включительносоответствующий регулярному выражению /^\#[\da-f]{6}$/
|-
|:: country_code|Код страны|String|В формате ISO2|-|:: cityName|Название города|String|Строка|-|:: country_name|Название страны|String|Строка|- |}</div></div> == Путеводитель (guide) == === Страны Отели (countrieshotels) === <div class="toccolours mw-collapsible mw-collapsed" style="width:800px">==== Данные по коду страны ISO 3166-1 alpha-2 (CODE) отеля ====<pre id="guide.countrieshotels.CODEID">guide.countrieshotels.CODE ID = </pre>
<div class="mw-collapsible-content">
 
<pre>
{
"codename": "RUBridgestreet Opera Saint Lazar", "namenameEn": "РоссияBRIDGESTREET OPERA SAINT LAZAR", "nameEncityId": 15777, "Russiaid": 7 }
</pre>
 
{| border="1" cellpadding="10" cellspacing="0"
!Значения
|-
|RUname|Код страныНазвание отеля
|string
|Строка из 2 латинских букв
|-
|namenameEn|Название страныАнглийское название отеля
|string
|Строка
|-
|nameEncityId|Английское название страныИдентификатор города, в котором расположен отель|stringnumber|СтрокаЧисло|-|id|Код отеля|number|Число|-
|}
</div>
</div>
=== ГородаАвтокомплит (citiesautocomplete) ===
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
==== Данные по идентификатору города IATA совместимые локации ====<pre id="guide.citiesautocomplete.IDiata">guide.citiesautocomplete.ID iata = </pre>
<div class="mw-collapsible-content">
<pre>
[ { "IATA": "MOW", "nameisCity": "Москва"true, "nameEncityId": "Moscow",58165 "countryCode": "RU", "id": 58165}}]
</pre>
|-
|IATA
|Код городаIATA код
|string
|Строка из 3 букв латинского алфавита
|-
|nameisCity|Название Признак, что указан код города-агрегата аэропортов|stringboolean|СтрокаЛогический тип
|-
|nameEncityId|Английское название города|string|Строка|-|countryCode|Код страны|string|Строка из 2 букв(ISO 3166-1 alpha-2)|-|id|Код Идентификатор города
|number
|Число
</div>
=== Воздушные суда (aircrafts) ===
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
==== Данные по коду воздушного суднаГорода ====<pre id="guide.aircraftsautocomplete.CODEcities">guide.aircraftsautocomplete.CODE cities = </pre>
<div class="mw-collapsible-content">
<pre>
[ { "id": 108, "name": "Yk 4258165", "nameEnname": "YK 42Москва", "manufacturecountry_code": "ОКБ Яковлева", "originCountries": [ "RU" ], "distanceType": "medium_range", "fuselageType": "narrowbody", "capacity": "102 - 120", "cruiseSpeed": "730", "isTurbineAirctaft": false, "isHomeAirctaft": false, "image": { "image": "/static/images/guide_aircraft/images_php154_0.jpg", "iconcountry_name": "/static/images/guide_aircraft_icon/images_php154_0.jpgРоссия", "height": 500, "width": 743 }, "map_image": { "image": "/static/images/guide_aircraft/map_image_php155_0.jpg", "icon": "/static/images/guide_aircraft_icon/map_image_php155_0.jpg", "height": 200, "width": 500 } }]</pre>  {| border="1" cellpadding="10" cellspacing="0"!Параметр!Описание!Тип
!Значения
|-
|id
|Идентификатор воздушного суднагорода|numberint|Целое число
|-
|name
|Название авиакомпаниигорода
|string
|Строка
|-
|nameEncountry_code|Английское название авиакомпанииКод страны
|string
|Строкаиз 2 латинских букв
|-
|manufacturecountry_name|Компания-производительНазвание страны
|string
|Строка
|-
|originCountries}|Набор IATA-кодов стран-производителей</div>|[]</div>|...|-== Служебная информация(system) ==|distanceType|Магистральность|string|Строка, принимающая следующие значения<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">: short_range=== Служебная информация (Ближнемагистральныйinfo)===: medium_range(Среднемагистральный)<pre id="system.info">system.info = </pre>: long_range(Дальнемагистральный)<div class="mw-collapsible-content">
<pre>
{
"responce": {
"timestamp": 1433754718.9557,
"responceTime": 0.10900616645813
},
"user": {
"userID": 3037,
"agencyID": 3036,
"status": "manager",
"settings": {
"currentLanguage": "ru",
"currentCurrency": "USD",
"agencyCurrency": "USD"
"googleMapsApiKey": "null"
"googleMapsClientId": "null"
},
"promoCode": {
"code": "22SV2ZS9S",
"promoAction": {
"name": "Название акции",
"description": "Описание акции",
"hasFullDesc": true,
"fullDescURL": "index.php?go=loyalty/description&id=106"
}
}
}
}
</pre>
{| border="1" cellpadding="10" cellspacing="0"
!Параметр
!Описание
!Тип
!Значения
|-
|fuselageTyperesponce|Фюзеляжность|string|Строка, принимающая следующие Ограничения на максимальные значения:: narrowbody(Узкофюзеляжный): widebody(Широкофюзеляжный)|-|capacity|Вместимость|string|Строка вида (100 - 200)|-|cruiseSpeed|Крейсерская скорость (км/ч)|number|Целое положительное число|-|isTurbineAirctaft|Турбовинтовой|boolean|Логический тип|-|isHomeAirctaft|Отечественный|boolean|Логический тип|-|image|Данные о логотипепараметров
|{}
|...
|-
|
: imagetimestamp|Ссылка на логотипТекущая временная метка с сервера|stringnumber|Строка, указывающая относительный путь к изображениюВещественное число
|-
|
: iconresponceTime|Ссылка на иконку логотипаВремя ответа|stringnumber|Строка, указывающая относительный путь к изображениюВещественное число|-|user|Служебная информация о пользователе|{}|...
|-
|
: heightuserID|Высота логотипаID пользователя
|number
|Целое положительное число
|-
|
: widthagencyID|Ширина логотипаID агентства
|number
|Целое положительное число
|-
|map_image: status|Статус пользователя|string|Строка, принимающая следующие значения:: guest: admin: user: expert: manager: company_user: company_expert: company_manager|-|: settings|Данные о схеме суднаНастройки пользователя
|{}
|...
|-
|}</div></div> === Аэропорты (airports) === <div class="toccolours mw-collapsible mw-collapsed" style="width:800px">==== Данные по IATA коду аэропорта ====<pre id="guide.airports.CODE">guide.airports.CODE = </pre><div class="mw-collapsible-content"><pre>{ "IATA": "DME",currentLanguage "name": "Домодедово, Москва",| Текущий язык "nameEn": "Domodedovo, Moscow",|string "properName": "Домодедово",|Строка из 2 латинских букв "properNameEn": "Domodedovo",|- "cityId": 58165,| "isAggregation": false, "countryCode": "RU"currentCurrency}</pre>| Текущая валюта|string{| border="1" cellpadding="10" cellspacing="0"!Параметр!Описание!Тип!ЗначенияСтрока из 3 латинских букв
|-
|IATA:: agencyCurrency|IATA код аэропортаВалюта агентства
|string
|Строка из 3-х заглавных латинских букв
|-
|name:: googleMapsApiKey|Название аэропортаApi ключ для доступа к google maps
|string
|Строка
|-
|nameEn:: googleMapsClientId|Английское название аэропортаCliendId для доступа к google maps
|string
|Строка
|-
|properName: promoCode| Информация о промокоде|{}|...|-|:: code|Оригинальное название аэропорта (без города), может быть пустымкод
|string
|Строка
|-
|properNameEn:: promoAction| информация о промоакции|{}|...|-|::: name|Оригинальное название аэропорта на английском (без города), может быть пустымНазвание акции
|string
|Строка
|-
|cityId::: description|Код городаОписание акции|numberstring|ЧислоСтрока
|-
|isAggregation::: hasFullDesc|Является ли город агрегатом аэропортовФлаг наличия подробного описания
|boolean
|Логический логический тип
|-
|countryCode::: fullDescURL|Код страны Ссылка для получения подробного описания
|string
|Строка из 2 латинских букв(ISO 3166|-1 alpha-2)
|}
</div>
</div>
=== Авиакомпании Заказы (airlinesorder) ===
=== Аутентификация (auth) === <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">==== Данные по IATA коду авиакомпании запроса аутентификации(request) ====<pre id="guideorder.airlinesauth.CODErequest">guideorder.airlinesauth.CODE request = </pre>
<div class="mw-collapsible-content">
 
<pre>
{
"IATAlogin": "SUtest", "namepassword": "Аэрофлот - Российские авиалинииtest", "nameEn": "Aeroflot", "rating": 6.43, "countryCode": "RU", "logo": { "image": "/static/images/guide_carrier/logotype_5_0.svg", "icon": "/static/images/guide_carrier_icon/logotype_5_0.svg", "height": null, "width": null }, "monochromeLogo": { "image": "/static/images/guide_carrier/monochrome_logotype_5_0.svg", "icon": "/static/images/guide_carrier_monochrome_icon/monochrome_logotype_5_0.svg", "height": null, "width": null }, "colors": { "companyColor": "#000080", "companyColorAdditional": "#000080" }
}
</pre>
 
 
{| border="1" cellpadding="10" cellspacing="0"
!Параметр
!Значения
|-
|IATAlogin|IATA код авиакомпанииЛогин пользователя
|string
|Строка из 2 знаков (букв латинского алфавита и цифр)строка
|-
|namepassword|Название авиакомпанииПароль пользователя
|string
|Строкастрока
|-
|nameEn}|Английское название авиакомпании</div></div> <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">|string==== Данные результата аутентификации(response) ====|Строка<pre id="order.auth.response">order.auth.response = </pre>|<div class="mw-collapsible-content"> <pre>{ "success": true}</pre>{|ratingborder="1" cellpadding="10" cellspacing="0"|Рейтинг перевозчика!Параметр!Описание|number!Тип|Число!Значения
|-
|countryCodesuccess|Код страны авиакомпанииРезультат аутентификации|stringBoolean|Строка из 2 латинских букв (ISO 3166-1 alpha-2)Логический тип
|-
|logo}</div></div>|<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">==== Данные о логотипе авиакомпаниизапроса восстановления пароля(sendPasswordLink) ====<pre id="order.auth.sendPasswordLink">order.auth.sendPasswordLink = </pre><div class="mw-collapsible-content"> <pre>|{ "login": "test"}</pre>{|...border="1" cellpadding="10" cellspacing="0"!Параметр!Описание!Тип!Значения
|-
|monochromeLogologin|Данные о монохромном логотипе авиакомпанииЛогин пользователя|{}string|...строка
|-
|}</div></div> <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">==== Результат запроса восстановления пароля(sendPasswordLinkResponse) ====<pre id="order.auth.sendPasswordLinkResponse">order.auth.sendPasswordLinkResponse = </pre><div class="mw-collapsible-content"> <pre>{ "success": imagetrue, "message": "Письмо со ссылкой на восстановление пароля отправлено вам на почту"}</pre>{|Ссылка на логотип авиакомпанииborder="1" cellpadding="10" cellspacing="0"!Параметр!Описание!Тип!Значения|-|success|Результат аутентификации|Boolean|Логический тип|-|message|Сообщение
|string
|Строкастрока|-|}</div></div> <div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">==== Данные запроса регистрации пользователя(registration) ====<pre id="order.auth.registration">order.auth.registration = </pre><div class="mw-collapsible-content"> <pre>{ "booking_name": "tst", указывающая относительный путь к изображению "booking_lastname": "tst", "registration_email": "tst@mute-lab.com", "registration_password": "tst", "booking_phone": "89271111111", "subscribe": true, "capture": "tst"}</pre>{| border="1" cellpadding="10" cellspacing="0"!Параметр!Описание!Тип!Значения
|-
|: iconbooking_name|Ссылка на иконку логотипа авиакомпанииИмя пользователя
|string
|Строка, указывающая относительный путь к изображениюстрока
|-
|: heightbooking_lastname|Высота логотипаФамилия пользователя|numberstring|Целое положительное числострока
|-
|: widthregistration_email|Ширина логотипаАдрес электронной почты пользователя|numberstring|Целое положительное числострока
|-
|colorsregistration_password|Данные о фирменных цветах авиакомпанииПароль|{}string|...строка
|-
|: companyColorbooking_phone|Фирменный цветТелефон пользователя
|string
|HEX код, соответствующий регулярному выражению /^\#[\daстрока|-f]{6}$/|subscribe|Признак согласия на получение информации о лучших предложениях|Boolean|Логический тип
|-
|: companyColorAdditionalcapture|Дополнительный фирменный цветКод проверки с контрольного изображения
|string
|HEX код, соответствующий регулярному выражению /^\#[\da-f]{6}$/строка
|-
|}
</div>
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">= Отели === Результат запроса регистрации пользователя(hotelsregistrationResponse) ====<pre id="order.auth.registrationResponse">order.auth.registrationResponse = </pre><div class="mw-collapsible-content">
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
==== Данные по коду отеля ====
<pre id="guide.hotels.ID">guide.hotels.ID = </pre>
<div class="mw-collapsible-content">
<pre>
{
"namesuccess": "Bridgestreet Opera Saint Lazar"true, "nameEnmessage": "BRIDGESTREET OPERA SAINT LAZAR"Письмо с регистрационными данными отправлено на Ваш электронный адрес. Для подтверждения регистрации перейдите, пожалуйста, "cityIdпо ссылке в письме.": 15777, "idredirectUrl": 7 null}
</pre>
 
 
{| border="1" cellpadding="10" cellspacing="0"
!Параметр
!Значения
|-
|namesuccess|Название отеляРезультат регистрации|Boolean|Логический тип|-|message|Сообщение
|string
|Строка строка
|-
|nameEnredirectUrl|Английское название отеляСсылка для перехода|string|Строка|-|cityId|Идентификатор города, в котором расположен отель|number|Число|-|id|Код отеля|number|Числострока
|-
|}
</div>
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">= Автокомплит === Данные результата запроса о параметрах капчи(autocompletecaptchaParamsResponse) ====<pre id="order.auth.captchaParamsResponse">order.auth.captchaParamsResponse = </pre><div class="mw-collapsible-content">
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
==== IATA совместимые локации ====
<pre id="guide.autocomplete.iata">guide.autocomplete.iata = </pre>
<div class="mw-collapsible-content">
<pre>
[ { "IATAimage": "MOW", "isCity"data: trueimage/jpeg;base64, JBJ435346...."cityId": 58165 }]
</pre>
 
 
{| border="1" cellpadding="10" cellspacing="0"
!Параметр
!Значения
|-
|IATAimage|IATA код Ссылка на изображение
|string
|Строка из 3 букв латинского алфавита|-|isCity|Признак, что указан код города-агрегата аэропортов|boolean|Логический типстрока
|-
|cityId
|Идентификатор города
|number
|Число
|}
</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">
==== Данные запроса о состоянии заказа(status) ====
<pre id="order.auth.status">order.auth.status = </pre>
<div class="mw-collapsible-content">
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px">
==== Города ====
<pre id="guide.autocomplete.cities">guide.autocomplete.cities = </pre>
<div class="mw-collapsible-content">
<pre>
[ { "idbooking_id": "58165"445469, "namepassenger_lastname": "МоскваIvanov", "country_codeaccess_code": "RU8Z273L", "country_name": "Россия" }]
</pre>
 
 
{| border="1" cellpadding="10" cellspacing="0"
!Параметр
!Значения
|-
|idbooking_id|Идентификатор города|int|Целое число|-|name|Название городазаказа
|string
|Строкастрока, может содержать цифры от 0 до 9 и дефис
|-
|country_codepassenger_lastname|Код страныФамилия одного из пассажиров
|string
|Строка из 2 латинских буквстрока
|-
|country_nameaccess_code|Название страныКод доступа к заказу
|string
|Строкастрока
|-
|}
</div>
</div>
 
== Служебная информация(system) ==
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; margin-bottom:10px;">
=== Служебная информация = Данные результата запроса о состоянии заказа(infostatusResponse) ====<pre id="systemorder.auth.infostatusResponse">systemorder.auth.info statusResponse = </pre>
<div class="mw-collapsible-content">
<pre>
{
"responcesuccess": { "timestamp": 1433754718.9557, "responceTime": 0.10900616645813 }, "user": { "userID": 3037, "agencyID": 3036, "status": "manager"true, "settings": { "currentLanguage": "ru", "currentCurrency": "USD", "agencyCurrency": "USD" "googleMapsApiKey": "null" "googleMapsClientIdmessage": "null" }, "promoCoderedirectUrl": { "code"http: "22SV2ZS9S", "promoAction": { "name": "Название акции", "description": "Описание акции", "hasFullDesc": true, "fullDescURL": "index.php//nemotravel/poffice__bookinfo?go=loyalty/description&idbooking_id=106452434" } } }}</pre>{| border="1" cellpadding="10" cellspacing="0"!Параметр!Описание
!Тип
!Значения
|-
|responcesuccess|Ограничения на максимальные значения параметровПризнак успешности получения ответа|{}Boolean|...Логический тип
|-
|: timestamp|Текущая временная метка с сервера|number|Вещественное число|-|: responceTime|Время ответа|number|Вещественное число|-|user|Служебная информация о пользователе|{}|...|-|: userID|ID пользователя|number|Целое положительное число|-|: agencyID|ID агентства|number|Целое положительное число|-|: status|Статус пользователя|string|Строка, принимающая следующие значения:: guest: admin: user: expert: manager: company_user: company_expert: company_manager|-|: settings| Настройки пользователя|{}|...|-|:: currentLanguage| Текущий язык|string|Строка из 2 латинских букв|-|:: currentCurrency| Текущая валюта|string|Строка из 3 латинских букв|-|:: agencyCurrency| Валюта агентства|string|Строка из 3 латинских букв|-|:: googleMapsApiKey| Api ключ для доступа к google maps|string|Строка|-|:: googleMapsClientId| CliendId для доступа к google maps|string|Строка|-|: promoCode| Информация о промокоде|{}|...|-|:: code| код|string|Строка|-|:: promoAction| информация о промоакции|{}|...|-|::: namemessage| Название акцииСообщение
|string
|Строкастрока
|-
|::: descriptionredirectUrl| Описание акцииСсылка для перехода
|string
|Строка|-|::: hasFullDesc| Флаг наличия подробного описания|boolean|логический тип|-|::: fullDescURL| Ссылка для получения подробного описания|string|Строкастрока
|-
|}
</div>
</div>
 
== Заказы (order) ==
=== Протокорзина (reminder) ===
</div>
</div>
 
== Информация о системе (system) ==
'