Мастер-Тур(15):API для разработки онлайн поиска и бронирования — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) (→Выгрузка первоначального варианта в корзину для бронирования (Tour)) |
Biryukov (обсуждение | вклад) |
||
Строка 2420: | Строка 2420: | ||
</TD></TR></TABLE> | </TD></TR></TABLE> | ||
</div></div><br /> | </div></div><br /> | ||
+ | |||
+ | ===Выгрузка настройки отображения полей по туристам (TouristDataSettings)=== | ||
+ | Метод производит выгрузку настроек отображения полей по туристам. | ||
+ | * Формат запроса: | ||
+ | ** .../TourSearchOwin/TouristDataSettings? | ||
+ | * Принимаемые параметры ( '''*''' – обязательный): | ||
+ | ** '''countryId *''' – ключ страны, для которой будут выгружаться настройки | ||
+ | * Возвращаемый результат: | ||
+ | ** '''TouristFieldsSettings''' – массив полей с информацией о туристах (из админки Мастер-Web) | ||
+ | *** '''lastname''' – объект фамилия туриста | ||
+ | **** '''Code''' – код поля | ||
+ | **** '''HeaderText''' – название поля | ||
+ | **** '''IsVisible''' – видимость поля | ||
+ | **** '''IsRequired''' – признак обязательности заполнения поля | ||
+ | **** '''IsEdit''' – признак редактируемости поля | ||
+ | **** '''Translit''' – настройки транслитерации (0 – нет, 1 – транслитерация, 2 – латиница) | ||
+ | **** '''LetterCase''' – настройки регистра (0 – по умолчанию, 1 – с заглавной, 2 – большие, 3 – маленькие) | ||
+ | *** '''patronymic''' – объект отчество туриста | ||
+ | *** '''sex''' – объект пол туриста | ||
+ | *** '''firstname''' – объект имя туриста | ||
+ | *** '''passportbywhom''' – объект кем выдан заграничный паспорт | ||
+ | *** '''birthplace''' – объект место рождения | ||
+ | *** '''birthdate''' – объект дата рождения | ||
+ | *** '''patronymicrus''' – объект отчество (рус) | ||
+ | *** '''lastnamerus''' – объект фамилия туриста (рус) | ||
+ | *** '''citizenid''' – объект ID туриста | ||
+ | *** '''passport''' – объект серия и номер заграничного паспорта | ||
+ | *** '''passportrus''' – объект серия и номер национального паспорт а | ||
+ | *** '''ismain''' – объект признак главного туриста | ||
+ | *** '''passportdate''' – объект дата выдачи заграничного паспорта | ||
+ | *** '''firstnamerus''' – объект имя туриста (рус) | ||
+ | *** '''passportbywhomrus''' – объект кем выдан национальный паспорт | ||
+ | *** '''citizenship''' – объект гражданство | ||
+ | *** '''passportdaterus''' – объект дата выдачи национального паспорта | ||
+ | *** '''phone''' – объект телефон | ||
+ | *** '''number''' – объект порядковый номер | ||
+ | *** '''passportdateend''' – объект дата окончания заграничного паспорта | ||
+ | *** '''email''' – объект e-mail туриста | ||
+ | ** '''PassportDurationOfExpiry''' – объект минимальный срок действия загранпаспорта туриста | ||
+ | *** '''StartPoint''' – точка отсчета | ||
+ | *** '''Duration''' – минимальная продолжительность | ||
+ | ** '''ChildAgeSetting''' – максимальный возраст ребенка, когда он считается ребенком (лет) | ||
+ | ** '''InfantAgeSetting''' – максимальный возраст младенца (месяцев) | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример | ||
+ | <div class="mw-collapsible-content"> | ||
+ | <TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD> | ||
+ | Вызов метода TouristDataSettings | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | http://localhost:9000/TourSearchOwin/TouristDataSettings?countryId=90 | ||
+ | </syntaxhighlight> | ||
+ | Возвращаемый результат метода TouristDataSettings (в формате JSON) | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | { | ||
+ | "TouristFieldsSettings": { | ||
+ | "lastname": { | ||
+ | "Code": "lastname", | ||
+ | "HeaderText": "Фамилия<font color=\"red\">*<\/font>", | ||
+ | "IsVisible": true, | ||
+ | "IsRequired": true, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 1, | ||
+ | "LetterCase": 2 | ||
+ | }, | ||
+ | "patronymic": { | ||
+ | "Code": "patronymic", | ||
+ | "HeaderText": "Отчество", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 2 | ||
+ | }, | ||
+ | "sex": { | ||
+ | "Code": "sex", | ||
+ | "HeaderText": "Пол<font color=\"red\">*<\/font>", | ||
+ | "IsVisible": true, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "firstname": { | ||
+ | "Code": "firstname", | ||
+ | "HeaderText": "Имя<font color=\"red\">*<\/font>", | ||
+ | "IsVisible": true, | ||
+ | "IsRequired": true, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 1, | ||
+ | "LetterCase": 2 | ||
+ | }, | ||
+ | "passportbywhom": { | ||
+ | "Code": "passportbywhom", | ||
+ | "HeaderText": "Кем выдан", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": false, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "birthplace": { | ||
+ | "Code": "birthplace", | ||
+ | "HeaderText": "Место рождения", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": false, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "birthdate": { | ||
+ | "Code": "birthdate", | ||
+ | "HeaderText": "Дата рождения<br />(dd.MM.yyyy)", | ||
+ | "IsVisible": true, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "patronymicrus": { | ||
+ | "Code": "patronymicrus", | ||
+ | "HeaderText": "Отчество", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 3 | ||
+ | }, | ||
+ | "lastnamerus": { | ||
+ | "Code": "lastnamerus", | ||
+ | "HeaderText": "Нац. паспорт: Фамилия", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": true, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "citizenid": { | ||
+ | "Code": "citizenid", | ||
+ | "HeaderText": "ID туриста1", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 2, | ||
+ | "LetterCase": 2 | ||
+ | }, | ||
+ | "passport": { | ||
+ | "Code": "passport", | ||
+ | "HeaderText": "Загран-паспорт: Паспорт<br />(серия/номер)", | ||
+ | "IsVisible": true, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 2 | ||
+ | }, | ||
+ | "passportrus": { | ||
+ | "Code": "passportrus", | ||
+ | "HeaderText": "серия/номер", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": false, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "ismain": { | ||
+ | "Code": "ismain", | ||
+ | "HeaderText": "<img src=\"images/mw_main_tourist.gif\" border=\"0\" alt=\"Главный турист\" />", | ||
+ | "IsVisible": true, | ||
+ | "IsRequired": true, | ||
+ | "IsEdit": false, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "passportdate": { | ||
+ | "Code": "passportdate", | ||
+ | "HeaderText": "Загран-паспорт: дата выдачи", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": false, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "firstnamerus": { | ||
+ | "Code": "firstnamerus", | ||
+ | "HeaderText": "Нац. паспорт: Имя", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": true, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "passportbywhomrus": { | ||
+ | "Code": "passportbywhomrus", | ||
+ | "HeaderText": "Паспорт: кем выдан", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": false, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "citizenship": { | ||
+ | "Code": "citizenship", | ||
+ | "HeaderText": "Гражданство", | ||
+ | "IsVisible": true, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "passportdaterus": { | ||
+ | "Code": "passportdaterus", | ||
+ | "HeaderText": "Нац. паспорт:дата выдачи", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": false, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "phone": { | ||
+ | "Code": "phone", | ||
+ | "HeaderText": "Телефон", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": false, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "number": { | ||
+ | "Code": "number", | ||
+ | "HeaderText": "№", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": false, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "passportdateend": { | ||
+ | "Code": "passportdateend", | ||
+ | "HeaderText": "Действителен до<br />(dd.MM.yyyy)", | ||
+ | "IsVisible": true, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": true, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | }, | ||
+ | "email": { | ||
+ | "Code": "email", | ||
+ | "HeaderText": "Email", | ||
+ | "IsVisible": false, | ||
+ | "IsRequired": false, | ||
+ | "IsEdit": false, | ||
+ | "Translit": 0, | ||
+ | "LetterCase": 0 | ||
+ | } | ||
+ | }, | ||
+ | "PassportDurationOfExpiry": { | ||
+ | "StartPoint": 0, | ||
+ | "Duration": null | ||
+ | }, | ||
+ | "ChildAgeSetting": 16, | ||
+ | "InfantAgeSetting": 24 | ||
+ | }</syntaxhighlight> | ||
+ | </TD></TR></TABLE> | ||
+ | </div></div><br /> | ||
+ | |||
[[Category:Мастер-Тур(15)]] | [[Category:Мастер-Тур(15)]] |
Версия 14:29, 3 апреля 2018
Статья находится на стадии разработки.
Версия статьи от 3-04-2018.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
- 1 Введение
- 2 Установка
- 3 Список методов
- 3.1 Выгрузка настроек службы поиска (Settings)
- 3.2 Выгрузка списка валют (Currency)
- 3.3 Выгрузка квотируемых услуг системы (QuotedServices)
- 3.4 Выгрузка городов отправления (departureCities)
- 3.5 Выгрузка списка стран (Destination)
- 3.6 Выгрузка списка городов (ActualizeCities)
- 3.7 Выгрузка типов туров (ActualizeTourType)
- 3.8 Выгрузка актуальных дат заездов (TourDate)
- 3.9 Выгрузка актуальных продолжительностей (Duration)
- 3.10 Поиск туров (Tour)
- 3.11 Выгрузка первоначального варианта в корзину для бронирования (Tour)
- 3.12 Выгрузка настройки отображения полей по туристам (TouristDataSettings)
Введение
Данный web-сервис разработан для разработки собственного сайта туроператору на основе API.
Установка
Для работы с web-сервисом необходимо установить службу поиска.
После установки web-сервис будет доступен по адресу http://значение настройки "serviceAddress" в TourSearchOwin/"название метода" (пример: http://localhost:9000/TourSearchOwin/Settings)
Список методов
Последовательность вызова методов сервиса
Выгрузка настроек службы поиска (Settings)
Метод производит выгрузку настроек службы поиска.
- Формат запроса:
- .../TourSearchOwin/Settings?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- ChildAgesSetting – регулируется настройкой максимальный возраст ребенка (массив возрастов, при которых турист будет считаться ребенком
- DurationSetting – регулируется настройкой максимальная продолжительность тура (массив продолжительностей, доступных в фильтрах для поиска)
- RoundServiceSetting – признак округления цены (количество знаков после запятой)
- CacheReady – статус готовности службы поиска к работе (true/false)
- EnableFiterTree – устаревшая настройка, будет убрана (по умолчанию всегда false)
- EnableActualFilters – включены ли актуальные фильтры (true/false)
- CorrectLicense – проверка лицензии (true/false)
- CorrectLicenseMessage – сообщение, если проверка лицензии не прошла
- IsCorrectUser – проверка наличия пользователя в таблице Userlist, под которым запущена служба поиска (true/false)
- IsShowCitizenAuthTourist – настройка запрашивать гражданство при регистрации частного лица (true/false)
- IsShowFewCountPlaces – настройка отображения числового значения оставшихся мест, когда достигнуто значение «Мало» (true/false)
- IsShowBusTransferPlaces – использовать фильтр наличие мест на автобусный переезд в поиске (true/false)
- UseBusSeatChecks – план рассадки автобусного переезда (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
- UseTransferSeatChecks – план рассадки трансфера (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
- IsShowFiltersByCity – отображать фильтр по городам на главной странице поиска (true/false)
- CheckRealCourses – включена ли проверка курсов реальных валют при поиске (true/false)
- CommonImagesFolderPath – путь к папке для хранения изображений
- UseApplyFiltersButton – отображать кнопку «Применить фильтры» (true/false)
- AutoSearchFiltersTimeout – задержка между выбором дополнительных фильтров и выводом результатов (в секундах)
- UseFastSearchAlgoritm – использовать быстрый алгоритм поиска (true/false)
- MaxSearchDatesCountClient – максимальное количество дат, которое будет обрабатываться в клиенте поиска
- MaxDurationsCountClient – максимальное количество продолжительностей, которое будет обрабатываться в клиенте поиска
Вызов метода Settings http://localhost:9000/TourSearchOwin/Settings
Возвращаемый результат метода Settings (в формате JSON) {
"ChildAgesSetting": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16
],
"DurationSetting": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20
],
"RoundServiceSetting": 2,
"CacheReady": true,
"EnableFiterTree": false,
"EnableActualFilters": true,
"CorrectLicense": true,
"CorrectLicenseMessage": "0deb1f882da1ec6301c961780507a180",
"IsCorrectUser": true,
"IsShowCitizenAuthTourist": true,
"IsShowFewCountPlaces": true,
"IsShowBusTransferPlaces": true,
"UseBusSeatChecks": 1,
"UseTransferSeatChecks": 2,
"IsShowFiltersByCity": true,
"CheckRealCourses": true,
"CommonImagesFolderPath": "\\\\server\\Icons",
"UseApplyFiltersButton": false,
"AutoSearchFiltersTimeout": 1,
"UseFastSearchAlgoritm": true,
"MaxSearchDatesCountClient": 10,
"MaxDurationsCountClient": 14
}
|
Выгрузка списка валют (Currency)
Метод возвращает список используемых валют.
- Формат запроса:
- .../TourSearchOwin/Currency
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Code – код валюты
- Name – наименование валюты
- IsMain – признак валюты «Главная»
- IsNational – признак валюты «Национальная»
- IsoCode – ISO код валюты
- Key – идентификатор валюты
- IsShowInSearch – признак показывать ли валюту в поиске
Вызов метода Currency http://localhost:9000/TourSearchOwin/Currency
Возвращаемый результат метода Currency (в формате JSON) [
{
"Code": "EU",
"Name": "Euro",
"IsMain": false,
"IsNational": false,
"IsoCode": "EUR",
"Key": 2,
"IsShowInSearch": true
},
{
"Code": "рб",
"Name": "Рубль",
"IsMain": false,
"IsNational": true,
"IsoCode": "RUR",
"Key": 14,
"IsShowInSearch": true
},
{
"Code": "$",
"Name": "US Dollar",
"IsMain": true,
"IsNational": false,
"IsoCode": "USD",
"Key": 1,
"IsShowInSearch": true
}
]
|
Выгрузка квотируемых услуг системы (QuotedServices)
Метод производит выгрузку услуг с признаком «Квотируемая»
- Формат запроса:
- .../TourSearchOwin/QuotedServices
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – идентификатор услуги
- Code – код услуги
- Name – наименование услуги (русский)
- NameLat – наименование услуги (английский)
- IsDuration – наличие продолжительности у услуги
- IsCity – наличие города у услуги
- IsSubCode1 – признак наличия SubCode1 у услуги (вид проживания у отеля, тариф у авиаперелета)
- IsSubCode2 – признак наличия SubCode2 у услуги (тип питания у отеля)
- Quoted – признак квотируемости услуги
- CheckGeoPoint – наличие геоточек у услуги
- IsRoute – признак маршрутной услуги
- LittlePercent – число в %, при которых будет считаться количество мест «Мало»
- LittlePlace – число, при котором будет считаться количество мест «Мало»
- LittleAnd – признак наличия мест «Мало» – будем ли учитывать количество мест вместе с процентным соотношением между общим и оставшимся количеством мест
- IsPartnerBasedOn – признак сопоставления партнера услуги в зависимости от отеля
- Control – идентификатор статуса услуги
Вызов метода QuotedServices http://localhost:9000/TourSearchOwin/QuotedServices
Возвращаемый результат метода QuotedServices (в формате JSON) [
{
"Key": 1,
"Code": "А_П",
"Name": "Авиаперелет",
"NameLat": "Flight",
"IsDuration": false,
"IsCity": true,
"IsSubCode1": true,
"IsSubCode2": false,
"Quoted": true,
"CheckGeoPoint": true,
"IsRoute": true,
"LittlePercent": null,
"LittlePlace": 10,
"LittleAnd": true,
"IsPartnerBasedOn": false,
"Control": 1
},
{
"Key": 3,
"Code": "HOTEL",
"Name": "Отель/Круиз",
"NameLat": "Hotel/Cruise",
"IsDuration": true,
"IsCity": true,
"IsSubCode1": true,
"IsSubCode2": true,
"Quoted": true,
"CheckGeoPoint": true,
"IsRoute": true,
"LittlePercent": 99,
"LittlePlace": 5,
"LittleAnd": false,
"IsPartnerBasedOn": false,
"Control": 1
}
]
|
Выгрузка городов отправления (departureCities)
Метод производит выгрузку всех доступных городов отправления для поискового запроса.
- Формат запроса:
- .../TourSearchOwin/departureCities?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – идентификатор города
- Name – название города
Вызов метода departureCities http://localhost:9000/TourSearchOwin/departureCities
Возвращаемый результат метода departureCities (в формате JSON) [
{
"Key": -1,
"Name": "Без перелета"
},
{
"Key": 312,
"Name": "Астрахань"
},
{
"Key": 1,
"Name": "Москва"
}
]
|
Выгрузка списка стран (Destination)
Метод производит выгрузку всех доступных направлений туроператора.
- Формат запроса:
- .../TourSearchOwin/Destination?
- Принимаемые параметры ( * – обязательный):
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- departureCities * – идентификатор города отправления (из контроллера .../TourSearchOwin/departureCities?)
- Возвращаемый результат:
- Name – название страны
- Key – идентификатор страны
- DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)
Вызов метода Destination http://localhost:9000/TourSearchOwin/Destination?pageNumber=1&term=&showAll=false&departureCities=1
Возвращаемый результат метода Destination (в формате JSON) [
{
"Name": "Болгария",
"Key": 359,
"DestinationType": 1
},
{
"Name": "Индия",
"Key": 26,
"DestinationType": 1
},
{
"Name": "Финляндия",
"Key": 64,
"DestinationType": 1
}
]
|
Выгрузка списка городов (ActualizeCities)
Метод возвращает список всех доступных городов по определенному городу отправления и стране прибытия.
- Формат запроса:
- .../TourSearchOwin/ActualizeCities?
- Принимаемые параметры ( * – обязательный):
- cityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Key – идентификатор города
- Name – название города
Вызов метода ActualizeCities http://localhost:9000/TourSearchOwin/ActualizeCities?cityKeys=1&Key=90&Name=Австрия&term=
Возвращаемый результат метода ActualizeCities (в формате JSON) [
{
"Key": -1,
"Name": "Все"
},
{
"Key": 35,
"Name": "Вена"
},
{
"Key": 440,
"Name": "Зельден"
}
]
|
Выгрузка типов туров (ActualizeTourType)
Метод возвращает список типов туров по определенному городу отправления, стране и городу прибытия.
- Формат запроса:
- .../TourSearchOwin/ActualizeTourType?
- Принимаемые параметры ( * – обязательный):
- departureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- destinationCity * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- Key – идентификатор типа тура
- Name – название типа тура
- ParentId – идентификатор группы, к которой относится данный типа тура (если тип тура не относится к группе, то возвращается null)
Вызов метода ActualizeTourType http://localhost:9000/TourSearchOwin/ActualizeTourType?departureCityKeys=1&Key=90&Name=Австрия&Type=1&destinationCity=-1&terms=
Возвращаемый результат метода ActualizeTourType (в формате JSON) [
{
"Key": -1,
"Name": "Все",
"ParentId": null
},
{
"Key": 2,
"Name": "Стандартный тур",
"ParentId": null
},
{
"Key": 16,
"Name": "Экскурсионный тур",
"ParentId": 35
}
]
|
Выгрузка актуальных дат заездов (TourDate)
Метод производит выгрузку доступных дат заездов для поискового запроса.
- Формат запроса:
- .../TourSearchOwin/TourDate?
- Принимаемые параметры ( * – обязательный):
- departureCity * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- destinationCity * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- tourTypes * – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- массив дат
Вызов метода TourDate http://localhost:9000/TourSearchOwin/TourDate?departureCity=1&destinationCity=-1&Key=90&Name=Австрия&Type=1&tourTypes=-1&term=
Возвращаемый результат метода TourDate (в формате JSON) [
"21.02.2018",
"22.02.2018",
"23.02.2018",
"24.02.2018",
"25.02.2018",
"26.02.2018",
"27.02.2018",
"28.02.2018"
]
|
Выгрузка актуальных продолжительностей (Duration)
Метод производит выгрузку доступных продолжительностей для поискового запроса.
- Формат запроса:
- .../TourSearchOwin/Duration?
- Принимаемые параметры ( * – обязательный):
- departureCity * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- destinationCity * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны
- Key * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Name * – название страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Type * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- tourDate * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- tourTypes * – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны
- term * – фильтрация результатов по контекстному поиску (по умолчанию параметр пустой)
- Возвращаемый результат:
- массив продолжительностей
Вызов метода Duration http://localhost:9000/TourSearchOwin/Duration?departureCity=1&destinationCity=-1&Key=90&Name=Австрия&Type=1&tourDate=25.02.2018&tourDate=26.02.2018&tourTypes=-1&term=
Возвращаемый результат метода Duration (в формате JSON) [
7,
8,
10,
12,
15,
18
]
|
Поиск туров (Tour)
Метод поиска туров использует множество параметров для поиска и фильтрации туров. Метод возвращает наиболее дешевые предложения, найденные по предоставленным параметрам и сгруппированные по отелям в порядке возрастания цены.
- Формат запроса:
- .../TourSearchOwin/Tour?
- Принимаемые параметры ( * – обязательный):
- DepartureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- Dates * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- Durations * – массив продолжительностей (полученные из метода .../TourSearchOwin/Duration?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- HotelScheme – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля. Передаются следующие параметры: TemplateId – идентификатор шаблона услуги, DurationInNight – продолжительность отеля в ночах, Code – ключ отеля, PacketKey – ключ пакета, PartnerKey – ключ партнера
- TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
- TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
- isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false)
- isFillSecondaryFilters * – заполнены ли дополнительные фильтры (true/false)
- DestinationType * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- DestinationKey * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- AdultCount * – количество взрослых
- ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- CurrencyName – код валюты
- AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- MinPrice * – минимальная цена (по умолчанию не задана, передается NaN)
- TourType – идентификатор типа тура (полученный из метода .../TourSearchOwin/ActualizeTourType?), по умолчанию передается -1, то есть все типы тура в рамках данной страны. Возможна множественная передача параметров.
- CityIds – идентификатор города прибытия (полученный из метода .../TourSearchOwin/ActualizeCities?), по умолчанию передается -1, то есть все города в рамках данной страны. Возможна множественная передача параметров.
- TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
- TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
- TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
- TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
- ArrivalFlightNoTransfer – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
- DepartureFlightNoTransfer – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
- Возвращаемый результат:
- CheckMessages – сообщения для логики проверки тура (не используется)
- Message – сообщение об ошибке
- Key – код ошибки
- Value – сообщение об ошибке
- Result – результаты поиска
- Key – идентификатов программы тура
- Name – название программы тура
- TourUrl – ссылка на программу тура
- BookingConditions – условия бронирования программы туров
- StartDate – дата начала тура
- Duration – продолжительность тура (в днях)
- DurationInNight – продолжительность проживания (в ночах)
- Types – идентификатор типа туров
- Cost – цена тура
- Rate – код валюты тура
- CityDepature – город отправления
- Key – идентификатор города отправления
- Value – название города отправления
- CountryId – всегда возвращается ключ 0
- Services – услуги в туре
- DepartureCity – город отправления
- Key – идентификатор
- Value – название
- DepartureCountry – страна отправления
- Key – идентификатор
- Value – название
- ArrivalCity – город прибытия
- Key – идентификатор
- Value – название
- ArrivalCountry – страна прибытия
- Key – идентификатор
- Value – название
- DepartureAirport – аэропорт отправления
- Key – идентификатор
- Value – название
- ArrivalAirport – аэропорт прибытия
- Key – идентификатор
- Value – название
- Airline – авиакомпания
- Key – идентификатор
- Value – название
- Aircraft – воздушное судно
- Key – идентификатор
- Value – название
- Flight – рейс
- Key – идентификатор
- Value – название
- DepartureTime – время вылета
- ArrivalTime – время прилета
- EndDateTime – дата и время прилета
- FlightDetails – информация об авиаперелете
- Tariff – информация о тарифе перелета
- Key – идентификатор
- Code – код тарифа
- Name – название тарифа
- Cost – стоимость
- QuotaStatus – информация о квоте
- PlacesStatus – внутренний ключ информации о местах
- FreePlaces – свободных мест
- TotalPlaces – всего мест
- PartnerId – ключ партнера
- ByPax – цена за человека (true/false)
- Partner – информация о партнере
- Key – идентификатор
- Value – название
- Tariff – информация о тарифе перелета
- FlightSetting – внутренняя информация о перелете из программы туров
- ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
- PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- FlightId – идентификатор перелета (внутренняя информация из программы туров)
- FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
- Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
- SvKey – ключ типа услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- IsHooded – признак скрытая услуга
- IsDeleted – признак удаляемая услуга
- IsNotCalculate – признак не рассчитываемая услуга
- PacketId – ключ пакета
- Index – порядковый номер услуги
- DepartureCity – город отправления
- NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
- ServiceName – название типа услуги
- City – объект город
- Key – ключ города
- Value – название города
- Country – ключ страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – флаг услуга по расписанию или нет
- Details – объект детализация услуги
- SubCode1 – объект доп. описание 1
- Key – ключ доп. описания 1
- Value – название доп. описания 1
- SubCode2 – объект доп. описание 2
- Key – ключ доп. описания 2
- Value – название доп. описания 2
- Date – дата услуги
- IsShowTransportPlan – признак показывать ли план рассадки (для автобусов)
- Cost – цена
- QuotaStatus – объект информация по квотам
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест
- TotalPlaces – всего мест
- PartnerId – идентификатор партнера
- ByPax – признак цены за человека
- Partner – объект партнер (не заполняется)
- Key – ключ (не заполняется)
- Value – название (не заполняется)
- SubCode1 – объект доп. описание 1
- ParentId – идентификатор родительской услуги (для вложенных услуг)
- PartnerBasedOnServiceTemplateId – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
- Id – идентификатор услуги
- SvKey – ключ типа услуги
- IsSubCode1 – наличие доп. описания 1
- IsSubCode2 – наличие доп. описания 2
- IsPartnerBasedOn – услуга с подбором приоритетного поставщика услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- EndDateTime – дата окончания услуги
- IsHooded – скрытая ли услуга
- IsDeleted – удаляемая ли услуга
- IsNotCalculate – не рассчитываемая ли услуга
- PacketId – пакет услуги
- Index – индекс услуги
- MinCostServicesComposition – массив состав услуг минимальной цены
- Key – ключ
- TemplateId – идентификатор шаблона
- PatternId – идентификатор вкладки
- SettingId – идентификатор услуги
- Value – значение
- Cost – стоимость услуги
- ServiceType – тип услуги
- Code – ключ услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – пакет услуги
- PartnerId – партнер услуги
- CountryId – страна услуги
- CityId – город услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- Key – ключ
- FlightWeight –
- LinkingFlightsRules – объект правил связывания
- notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
- airlines – авиакомпании
- flightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- checkPlusMinus1CharterRule – объект Отличие номера рейса на 1
- FlightSettingPairs – массив чартеров, для которых это правило будет выполняться
- enabled – флаг включен/выключен
- notCombineDifferentTariffGroupRule – объект не комбинировать рейсы от разных классов перелетов
- FlightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- notCombineDifferentPartnerRule – объект не комбинировать рейсы от разных партнеров
- FlightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- departureCityEqualsArrivalCityRule – объект Город вылета = городу прилета
- FlightSettingPairs – чартеры, для которых это будет выполняться
- enabled – флаг включен/выключен
- combineOnlySpecificChartersRule – объект не комбинировать различные классы перелетов
- settings – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
- RouteSubVariants – подварианты услуг (используется в основном поиске)
- SecondaryFiltersResult –
- TourTypes – типы тура
- Id –
- Name –
- ParentId –
- Type –
- TourPrograms – информация по каждой турпрограмме
- Key –
- Name –
- TourUrl –
- BookingConditions –
- IsLandOnly –
- IsRestrictMultiHotels –
- IsHotelTemplates –
- IsRouteServices –
- MultiHotelDelta –
- Rate –
- DateStart –
- DateEnd –
- Status –
- Key –
- Value –
- Templates –
- $id –
- $id –
- Types –
- Id –
- Name –
- ParentId –
- Type –
- LinkingFlightsRules –
- notCombineDifferentAirlineRule –
- airlines –
- flightSettings –
- enabled –
- checkPlusMinus1CharterRule –
- FlightSettingPairs –
- enabled –
- notCombineDifferentTariffGroupRule –
- FlightSettings –
- enabled –
- notCombineDifferentPartnerRule –
- FlightSettings –
- enabled –
- departureCityEqualsArrivalCityRule –
- FlightSettingPairs –
- enabled –
- combineOnlySpecificChartersRule –
- settings –
- enabled –
- notCombineDifferentAirlineRule –
- XmlSettings – xml
- Type –
- TourDurations –
- TourDates –
- HotelCities – город в дополнительных фильтрах
- ' –
- HotelResorts – курорты в дополнительных фильтрах
- ' –
- HotelCategories – категории отеля в дополнительных фильтрах
- ' –
- Hotels – отели в дополнительных фильтрах
- ' –
- Pansions – питания в дополнительных фильтрах
- ' –
- Airlines – авиакомпании в дополнительных фильтрах
- ' –
- FlightTariffs – класс перелета в дополнительных фильтрах
- ' –
- DepartureCities – города вылета в дополнительных фильтрах
- ' –
- DepartureAirports – аэропорты вылета в дополнительных фильтрах
- ' –
- ArrivalCities – города прибытия в дополнительных фильтрах
- ' –
- ArrivalAirports – аэропорты прибытия в дополнительных фильтрах
- ' –
- HotelTypes – признаки отелей в дополнительных фильтрах
- ' –
- HotelCities – город в дополнительных фильтрах
- TourTypes – типы тура
Вызов метода Tour http://localhost:9000/TourSearchOwin/Tour?DepartureCityKeys=1&Dates=25.02.2018&Durations=4
&PageNumber=1&PageSize=20&HotelScheme=&TourKey=&TourDuration=&isFromBasket=false
&isFillSecondaryFilters=true&DestinationType=1&DestinationKey=90&AdultCount=2&ChildAges=2
&ChildAges=2&CurrencyName=EU&AviaQuota=5&HotelQuota=5&BusTransferQuota=5&MinPrice=NaN&TourType=-1
&CityIds=-1&TimeDepartureFrom=00%3A00&TimeDepartureTo=23%3A59&TimeArrivalFrom=00%3A00
&TimeArrivalTo=23%3A59&ArrivalFlightNoTransfer=false&DepartureFlightNoTransfer=false
Возвращаемый результат метода Tour (в формате JSON) {
"CheckMessages": null,
"Message": {
"Key": 0,
"Value": null
},
"Result": [
{
"Key": 100000004,
"Name": "Общая проверка системы",
"TourUrl": "www.megatec.ru",
"BookingConditions": "<p>Условия бронирования тура.<\/p>",
"StartDate": "2018-02-25T00:00:00",
"Duration": 4,
"DurationInNight": 3,
"Types": [2],
"Cost": 260,
"Rate": "EU",
"CityDepature": {
"Key": 1,
"Value": "Москва"
},
"CountryId": 0,
"Services": [
{
"DepartureCity": {
"Key": 1,
"Value": "Москва"
},
"DepartureCountry": {
"Key": 460,
"Value": "Россия"
},
"ArrivalCity": {
"Key": 35,
"Value": "Вена"
},
"ArrivalCountry": {
"Key": 90,
"Value": "Австрия"
},
"DepartureAirport": {
"Key": "SVO4",
"Value": "Шереметьево-24"
},
"ArrivalAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"Airline": {
"Key": "BA7",
"Value": "BRITISH AIRWAYS"
},
"Aircraft": {
"Key": "319",
"Value": "AIRBUS "
},
"Flight": {
"Key": 882,
"Value": "4444"
},
"DepartureTime": "10:00:00",
"ArrivalTime": "12:00:00",
"EndDateTime": "2018-02-25T12:00:00",
"FlightDetails": [ {
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 240,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"TotalPlaces": 0
},
"PartnerId": 12668,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 3,
"PatternId": 13,
"FlightId": 13
},
"FlightSourceMode": 1,
"Id": 3,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-02-25T10:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 0
},
{
"Hotel": {
"Key": 709,
"Value": "Am Brilliantengrund"
},
"City": {
"Key": 35,
"Value": "Вена"
},
"Stars": {
"Key": -1,
"Value": null
},
"Resort": {
"Key": -1,
"Value": null
},
"ImageURL": "",
"Http": null,
"Description": "",
"Country": {
"Key": 90,
"Value": "Австрия"
},
"HotelDetails": [ {
"HotelRoom": 46463,
"Room": {
"Key": 129,
"Value": "DBL"
},
"RoomCategory": {
"Key": 3493,
"Value": "Cosy"
},
"AccomodationType": {
"Key": 1256,
"Value": "2+1_K",
"AdultCount": 2,
"ChildCount": 1
},
"Pansion": {
"Key": 4,
"Value": "Завтрак"
},
"Cost": 19.47,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"TotalPlaces": 0
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 12667,
"Value": "Партнер-покупатель1"
}
}],
"HotelTypes": [ {
"Key": 5,
"Value": "Рекомендуемые"
}],
"Id": 1,
"SvKey": 3,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 3,
"BeginDateTime": "2018-02-25T12:00:00",
"EndDateTime": "2018-02-28T12:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 1
},
{
"DepartureCity": {
"Key": 35,
"Value": "Вена"
},
"DepartureCountry": {
"Key": 90,
"Value": "Австрия"
},
"ArrivalCity": {
"Key": 1,
"Value": "Москва"
},
"ArrivalCountry": {
"Key": 460,
"Value": "Россия"
},
"DepartureAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"ArrivalAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"Airline": {
"Key": "7U",
"Value": "Авиаэнерго"
},
"Aircraft": {
"Key": "727",
"Value": "Boeing"
},
"Flight": {
"Key": 774,
"Value": "222"
},
"DepartureTime": "00:00:00",
"ArrivalTime": "00:00:00",
"EndDateTime": "2018-02-28T00:00:00",
"FlightDetails": [ {
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 0,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"TotalPlaces": 0
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 4,
"PatternId": 5,
"FlightId": 4
},
"FlightSourceMode": 1,
"Id": 4,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 4,
"DurationInNight": 0,
"BeginDateTime": "2018-02-28T00:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 4
}
],
"NotRouteServices": [
[ {
"ServiceName": "страховка",
"City": null,
"Country": 6245,
"Code": {
"Key": 297,
"Value": "Страховка от несчастного случая"
},
"ByScheduler": false,
"Details": [ {
"SubCode1": {
"Key": 18,
"Value": "2"
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": null,
"IsShowTransportPlan": true,
"Cost": 389.57,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"TotalPlaces": 0
},
"PartnerId": 12668,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"Id": 10,
"SvKey": 6,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 3,
"BeginDateTime": "2018-02-25T00:00:00",
"EndDateTime": "2018-02-28T00:00:00",
"IsHooded": false,
"IsDeleted": true,
"IsNotCalculate": true,
"PacketId": 882,
"Index": 2
}],
[ {
"ServiceName": "экскурсия",
"City": {
"Key": 1046,
"Value": "Санто-Доминго"
},
"Country": 6245,
"Code": {
"Key": 743,
"Value": "4"
},
"ByScheduler": false,
"Details": [ {
"SubCode1": {
"Key": 37,
"Value": "Мини-автобус 10 чел."
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": null,
"IsShowTransportPlan": false,
"Cost": 85.22,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"TotalPlaces": 0
},
"PartnerId": 12667,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"Id": 7,
"SvKey": 4,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": true,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-02-25T00:00:00",
"EndDateTime": "2018-02-26T00:00:00",
"IsHooded": false,
"IsDeleted": true,
"IsNotCalculate": true,
"PacketId": 779,
"Index": 3
}]
],
"MinCostServicesComposition": [
{
"Key": {
"TemplateId": 3,
"PatternId": 13,
"SettingId": 13
},
"Value": {
"Cost": 240,
"ServiceType": 1,
"Code": 882,
"SubCode1": 89,
"SubCode2": 1,
"PacketId": 779,
"PartnerId": 12668,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 0
}
},
{
"Key": {
"TemplateId": 1,
"PatternId": 0,
"SettingId": 0
},
"Value": {
"Cost": 19.47,
"ServiceType": 3,
"Code": 709,
"SubCode1": 46463,
"SubCode2": 4,
"PacketId": 779,
"PartnerId": 12667,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 3
}
},
{
"Key": {
"TemplateId": 4,
"PatternId": 5,
"SettingId": 4
},
"Value": {
"Cost": 0,
"ServiceType": 1,
"Code": 774,
"SubCode1": 89,
"SubCode2": 35,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 460,
"CityId": 1,
"Day": 4,
"DurationInNight": 0
}
}
],
"FlightWeight": 2,
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": ["AY2"],
"flightSettings": [],
"enabled": true
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"RouteSubVariants": []
}
],
"SecondaryFiltersResult": {
"TourTypes": [ {
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"TourPrograms": [
{
"Key": 100000004,
"Name": "Общая проверка системы",
"TourUrl": "www.megatec.ru",
"BookingConditions": "<p>Условия бронирования тура.<\/p>",
"IsLandOnly": false,
"IsRestrictMultiHotels": false,
"IsHotelTemplates": true,
"IsRouteServices": true,
"MultiHotelDelta": 0,
"Rate": "EU",
"DateStart": "2018-01-30T00:00:00Z",
"DateEnd": "2018-02-27T00:00:00Z",
"Status": {
"Key": 3,
"Value": "Доступен для продажи"
},
"Templates": [
{"$id": "5"},
{"$id": "6"},
{"$id": "7"},
{"$id": "8"},
{"$id": "9"}
],
"Types": [ {
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": ["AY2"],
"flightSettings": [],
"enabled": true
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"XmlSettings": "информация о туре в формате xml",
"Type": "TourProgram"
}
],
"TourDurations": [4],
"TourDates": ["2018-02-25T00:00:00"],
"HotelCities": [ {
"key": 35,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Вена",
"Code": "VIE",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
}],
"HotelResorts": [ {
"Key": -1,
"CountryKey": 0,
"Name": "Не указан",
"NameLat": null,
"Type": "Resort"
}],
"HotelCategories": [
{
"Key": 23,
"Name": "1*",
"PrintNumber": 1,
"Type": "HotelCatigory"
},
{
"Key": 56,
"Name": "2*",
"PrintNumber": 2,
"Type": "HotelCatigory"
},
{
"Key": 66,
"Name": "4*Boutique",
"PrintNumber": null,
"Type": "HotelCatigory"
}
],
"Hotels": [
{
"Key": 705,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"City": {
"key": 35,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Вена",
"Code": "VIE",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
},
"Resort": null,
"Name": "Continental",
"Category": {
"Key": 23,
"Name": "1*",
"PrintNumber": 1,
"Type": "HotelCatigory"
},
"TimeFrom": null,
"TimeTo": null,
"HTTP": null,
"Stars": "1*",
"TimeIsEmpty": true,
"NameLat": "Continental",
"Address": null,
"IsCruise": 0,
"Phone": null,
"Code": null,
"Type": "Hotel"
},
{
"Key": 178,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"City": {
"key": 35,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Вена",
"Code": "VIE",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
},
"Resort": null,
"Name": "Ananas",
"Category": {
"Key": 56,
"Name": "2*",
"PrintNumber": 2,
"Type": "HotelCatigory"
},
"TimeFrom": "1900-01-01T11:00:00",
"TimeTo": "1900-01-01T12:00:00",
"HTTP": "http://booking.panteon.ru/TourPrograms/Home/Tour/?tourKey=100000007",
"Stars": "2*",
"TimeIsEmpty": false,
"NameLat": "Ananas",
"Address": null,
"IsCruise": 0,
"Phone": "(+43/1) 546200",
"Code": null,
"Type": "Hotel"
},
{
"Key": 707,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"City": {
"key": 35,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Вена",
"Code": "VIE",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
},
"Resort": null,
"Name": "Beim Theresianum",
"Category": {
"Key": 66,
"Name": "4*Boutique",
"PrintNumber": null,
"Type": "HotelCatigory"
},
"TimeFrom": null,
"TimeTo": null,
"HTTP": null,
"Stars": "4*Boutique",
"TimeIsEmpty": true,
"NameLat": "Beim Theresianum",
"Address": null,
"IsCruise": 0,
"Phone": null,
"Code": null,
"Type": "Hotel"
},
{
"Key": 709,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"City": {
"key": 35,
"Country": {
"key": 90,
"name": "Австрия",
"Code": "AUS",
"CitizenName": "Австрия",
"CitizenNameLat": "AUSTRIA",
"PassportMinDurCheckFrom": 0,
"CheckINN": false,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 1,
"WebImage": "/pics/animate/austria.gif",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Вена",
"Code": "VIE",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
},
"Resort": null,
"Name": "Am Brilliantengrund",
"Category": null,
"TimeFrom": null,
"TimeTo": null,
"HTTP": null,
"Stars": "",
"TimeIsEmpty": true,
"NameLat": "Am Brilliantengrund",
"Address": null,
"IsCruise": 0,
"Phone": null,
"Code": null,
"Type": "Hotel"
}
],
"Pansions": [
{
"Key": 46,
"Code": "RO",
"Name": "RO",
"NameLat": null,
"Type": "Pansion"
},
{
"Key": 4,
"Code": "BB2",
"Name": "Завтрак",
"NameLat": null,
"Type": "Pansion"
},
{
"Key": 2,
"Code": "HB",
"Name": "Полупансион",
"NameLat": null,
"Type": "Pansion"
}
],
"Airlines": [
{
"Key": 8,
"Code": "BA7",
"Name": "BRITISH AIRWAYS",
"NameLat": "en_BRITISH AIRWAYS",
"Type": "AirLine"
},
{
"Key": 3,
"Code": "7U",
"Name": "Авиаэнерго",
"NameLat": "en_Авиаэнерго",
"Type": "AirLine"
}
],
"FlightTariffs": [ {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс",
"NameLat": "Coach economy",
"Group": null,
"Type": "AirService"
}],
"DepartureCities": [ {
"key": 1,
"Country": {
"key": 460,
"name": "Россия",
"Code": null,
"CitizenName": "Россия",
"CitizenNameLat": "Russia",
"PassportMinDurCheckFrom": 0,
"CheckINN": true,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 0,
"WebImage": "",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Москва",
"Code": "MOW",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
}],
"DepartureAirports": [ {
"Key": 52,
"Code": "SVO4",
"Name": "Шереметьево-24",
"NameLat": "Шереметьево-",
"CityKey": 1,
"CountryKey": 460,
"Letter": "S",
"Site": 0,
"Type": "Airport"
}],
"ArrivalCities": [ {
"key": 1,
"Country": {
"key": 460,
"name": "Россия",
"Code": null,
"CitizenName": "Россия",
"CitizenNameLat": "Russia",
"PassportMinDurCheckFrom": 0,
"CheckINN": true,
"PassportMinDur": null,
"INNName": "ИНН",
"Web": 0,
"WebImage": "",
"WebHTTP": "",
"AnkLang": 0,
"Type": "Country"
},
"name": "Москва",
"Code": "MOW",
"Web": 0,
"RSKey": 0,
"WebImage": null,
"IsDeparture": 1,
"Type": "City"
}],
"ArrivalAirports": [ {
"Key": 12,
"Code": "DME",
"Name": "Домодедово",
"NameLat": "Домодедово",
"CityKey": 1,
"CountryKey": 460,
"Letter": "D",
"Site": 0,
"Type": "Airport"
}],
"HotelTypes": [
{
"key": 94,
"name": "Молодежный отдых",
"Type": "HotelType"
},
{
"key": 5,
"name": "Рекомендуемые",
"Type": "HotelType"
}
]
}
}
|
Выгрузка первоначального варианта в корзину для бронирования (Tour)
Метод поиска, который возвращает варианты только по данной турпрограмме и схеме отеля.
- Формат запроса:
- .../TourSearchOwin/Tour?
- Принимаемые параметры ( * – обязательный):
- DepartureCityKeys * – идентификатор города отправления (полученный из метода .../TourSearchOwin/departureCities?)
- DestinationType * – тип результата (всегда возвращается в JSON = 1, в xml = country)
- DestinationKey * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/Destination?)
- Dates * – массив дат заезда (полученные из метода .../TourSearchOwin/TourDate?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- Durations * – массив продолжительностей (полученные из метода .../TourSearchOwin/Duration?). Если параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- AdultCount * – количество взрослых
- ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- CurrencyName * – код валюты
- HotelQuota * – информация о квотах на отель (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- BusTransferQuota – информация о квотах на автобусный переезд (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- HotelScheme * – объект схемы отеля
- TemplateId – идентификатор шаблона услуги
- DurationInNight – продолжительность отеля в ночах
- Code – ключ отеля
- PacketKey – ключ пакета
- PartnerKey – ключ партнера
- TourKey – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: ключ программы тура
- TourDuration – пустой по умолчанию. Заполняется при вызове вариантов размещений в рамках одного отеля: продолжительность тура в днях
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- isFromBasket * – происходит ли обращение из корзины или из поиска туров (true/false).
- isFillSecondaryFilters * – заполнены ли дополнительные фильтры (true/false)
- Возвращаемый результат:
- CheckMessages – сообщения для логики проверки тура (не используется)
- Message – сообщение об ошибке
- Key – код ошибки
- Value – сообщение об ошибке
- Result – результаты поиска
- Key – идентификатов программы тура
- Name – название программы тура
- TourUrl – ссылка на программу тура
- BookingConditions – условия бронирования программы туров
- StartDate – дата начала тура
- Duration – продолжительность тура (в днях)
- DurationInNight – продолжительность проживания (в ночах)
- Types – идентификатор типа туров
- Cost – цена тура
- Rate – код валюты тура
- CityDepature – город отправления
- Key – идентификатор города отправления
- Value – название города отправления
- CountryId – всегда возвращается ключ 0
- Services – услуги в туре
- DepartureCity – город отправления
- Key – идентификатор
- Value – название
- DepartureCountry – страна отправления
- Key – идентификатор
- Value – название
- ArrivalCity – город прибытия
- Key – идентификатор
- Value – название
- ArrivalCountry – страна прибытия
- Key – идентификатор
- Value – название
- DepartureAirport – аэропорт отправления
- Key – идентификатор
- Value – название
- ArrivalAirport – аэропорт прибытия
- Key – идентификатор
- Value – название
- Airline – авиакомпания
- Key – идентификатор
- Value – название
- Aircraft – воздушное судно
- Key – идентификатор
- Value – название
- Flight – рейс
- Key – идентификатор
- Value – название
- DepartureTime – время вылета
- ArrivalTime – время прилета
- EndDateTime – дата и время прилета
- FlightDetails – информация об авиаперелете
- Tariff – информация о тарифе перелета
- Key – идентификатор
- Code – код тарифа
- Name – название тарифа
- Cost – стоимость
- QuotaStatus – информация о квоте
- PlacesStatus – внутренний ключ информации о местах
- FreePlaces – свободных мест
- TotalPlaces – всего мест
- PartnerId – ключ партнера
- ByPax – цена за человека (true/false)
- Partner – информация о партнере
- Key – идентификатор
- Value – название
- Tariff – информация о тарифе перелета
- FlightSetting – внутренняя информация о перелете из программы туров
- ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
- PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
- FlightId – идентификатор перелета (внутренняя информация из программы туров)
- FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
- Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
- SvKey – ключ типа услуги
- IsSubCode1 – признак наличия доп. описания 1
- IsSubCode2 – признак наличия доп. описания 2
- IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- IsHooded – признак скрытая услуга
- IsDeleted – признак удаляемая услуга
- IsNotCalculate – признак не рассчитываемая услуга
- PacketId – ключ пакета
- Index – порядковый номер услуги
- DepartureCity – город отправления
- NotRouteServices – массив коллекций немаршрутных услуг (например если две экскурсии будут являться одним элементом массива, то это будет говорить о том, что эти экскурсии можно будет выбрать в выпадающем списке)
- ServiceName – название типа услуги
- City – объект город
- Key – ключ города
- Value – название города
- Country – ключ страны
- Code – объект код услуги
- Key – ключ услуги
- Value – название услуги
- ByScheduler – флаг услуга по расписанию или нет
- Details – объект детализация услуги
- SubCode1 – объект доп. описание 1
- Key – ключ доп. описания 1
- Value – название доп. описания 1
- SubCode2 – объект доп. описание 2
- Key – ключ доп. описания 2
- Value – название доп. описания 2
- Date – дата услуги
- IsShowTransportPlan – признак показывать ли план рассадки (для автобусов)
- Cost – цена
- QuotaStatus – объект информация по квотам
- PlacesStatus – статус по квотам (есть места / нет мест / под запрос)
- FreePlaces – количество свободных мест
- TotalPlaces – всего мест
- PartnerId – идентификатор партнера
- ByPax – признак цены за человека
- Partner – объект партнер (не заполняется)
- Key – ключ (не заполняется)
- Value – название (не заполняется)
- SubCode1 – объект доп. описание 1
- ParentId – идентификатор родительской услуги (для вложенных услуг)
- PartnerBasedOnServiceTemplateId – ключ шаблона услуги, по которой приоритетно выбирается партнер текущей услуги
- Id – идентификатор услуги
- SvKey – ключ типа услуги
- IsSubCode1 – наличие доп. описания 1
- IsSubCode2 – наличие доп. описания 2
- IsPartnerBasedOn – услуга с подбором приоритетного поставщика услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- BeginDateTime – дата предоставления услуги
- EndDateTime – дата окончания услуги
- IsHooded – скрытая ли услуга
- IsDeleted – удаляемая ли услуга
- IsNotCalculate – не рассчитываемая ли услуга
- PacketId – пакет услуги
- Index – индекс услуги
- MinCostServicesComposition – массив состав услуг минимальной цены
- Key – ключ
- TemplateId – идентификатор шаблона
- PatternId – идентификатор вкладки
- SettingId – идентификатор услуги
- Value – значение
- Cost – стоимость услуги
- ServiceType – тип услуги
- Code – ключ услуги
- SubCode1 – доп. описание 1
- SubCode2 – доп. описание 2
- PacketId – пакет услуги
- PartnerId – партнер услуги
- CountryId – страна услуги
- CityId – город услуги
- Day – день предоставления услуги
- DurationInNight – продолжительность услуги в ночах
- Key – ключ
- FlightWeight –
- LinkingFlightsRules – объект правил связывания
- notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
- airlines – авиакомпании
- flightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- checkPlusMinus1CharterRule – объект Отличие номера рейса на 1
- FlightSettingPairs – массив чартеров, для которых это правило будет выполняться
- enabled – флаг включен/выключен
- notCombineDifferentTariffGroupRule – объект не комбинировать рейсы от разных классов перелетов
- FlightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- notCombineDifferentPartnerRule – объект не комбинировать рейсы от разных партнеров
- FlightSettings – массив ключей ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- departureCityEqualsArrivalCityRule – объект Город вылета = городу прилета
- FlightSettingPairs – чартеры, для которых это будет выполняться
- enabled – флаг включен/выключен
- combineOnlySpecificChartersRule – объект не комбинировать различные классы перелетов
- settings – массив ключей чартеров CharterIds и ServiceId, PatternId, FlightId
- enabled – флаг включен/выключен
- notCombineDifferentAirlineRule – объект не скрещивать авиакомпании
- RouteSubVariants – подварианты услуг (используется в основном поиске)
- SecondaryFiltersResult – доп. фильтры (не используется при вызове из корзины)
Вызов метода Tour (первоначальный вариант Tour в корзине для бронирования) http://localhost:9000/TourSearchOwin/Tour?DepartureCityKeys=1&DestinationType=1&DestinationKey=90
&Dates=31.03.18&Durations=8&AdultCount=2&CurrencyName=EU&HotelQuota=5&AviaQuota=5&BusTransferQuota=5
&HotelScheme=[{"TemplateId":"1","DurationInNight":"7","Code":"707","PacketKey":"779","PartnerKey":"12667"}]
&TourKey=100003404&TourDuration=8&PageNumber=1&PageSize=20&IsFromBasket=true&isFillSecondaryFilters=false
Возвращаемый результат метода Tour (в формате JSON) {
"CheckMessages": null,
"Message": {
"Key": 0,
"Value": null
},
"Result": [
{
"Key": 100003404,
"Name": "Удалить этот тур",
"TourUrl": "www.megatec.ru",
"BookingConditions": "Условия бронирования тура",
"StartDate": "2018-03-31T00:00:00",
"Duration": 8,
"DurationInNight": 7,
"Types": [2],
"Cost": 122,
"Rate": "EU",
"CityDepature": {
"Key": 1,
"Value": "Москва"
},
"CountryId": 90,
"Services": [
{
"DepartureCity": {
"Key": 1,
"Value": "Москва"
},
"DepartureCountry": {
"Key": 460,
"Value": "Россия"
},
"ArrivalCity": {
"Key": 35,
"Value": "Вена"
},
"ArrivalCountry": {
"Key": 90,
"Value": "Австрия"
},
"DepartureAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"ArrivalAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"Airline": {
"Key": "3G",
"Value": "Атлант Союз_d;kgmdlfkgnfdlkhndlfkhnlkfnh"
},
"Aircraft": {
"Key": "319",
"Value": "AIRBUS "
},
"Flight": {
"Key": 858,
"Value": "1111"
},
"DepartureTime": "10:00:00",
"ArrivalTime": "11:59:00",
"EndDateTime": "2018-03-31T11:59:00",
"FlightDetails": [ {
"Tariff": {
"Key": 67,
"Code": "C",
"Name": "Бизнес класс"
},
"Cost": 6.45,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"TotalPlaces": 0
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 3,
"PatternId": 14,
"FlightId": 14
},
"FlightSourceMode": 1,
"Id": 3,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-03-31T10:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 0
},
{
"Hotel": {
"Key": 707,
"Value": "Beim Theresianum"
},
"City": {
"Key": 35,
"Value": "Вена"
},
"Stars": {
"Key": 66,
"Value": "4*Boutique"
},
"Resort": {
"Key": -1,
"Value": null
},
"ImageURL": "",
"Http": null,
"Description": "",
"Country": {
"Key": 90,
"Value": "Австрия"
},
"HotelDetails": [
{
"HotelRoom": 10468,
"Room": {
"Key": 2,
"Value": "Double"
},
"RoomCategory": {
"Key": 776,
"Value": "Standart133"
},
"AccomodationType": {
"Key": 328,
"Value": "2Ad",
"AdultCount": 2,
"ChildCount": 0
},
"Pansion": {
"Key": 4,
"Value": "Завтрак"
},
"Cost": 112.96,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"TotalPlaces": 0
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 12667,
"Value": "Партнер-покупатель1"
}
},
{
"HotelRoom": 38636,
"Room": {
"Key": 2,
"Value": "Double"
},
"RoomCategory": {
"Key": 3764,
"Value": "Standart Without window"
},
"AccomodationType": {
"Key": 328,
"Value": "2Ad",
"AdultCount": 2,
"ChildCount": 0
},
"Pansion": {
"Key": 4,
"Value": "Завтрак"
},
"Cost": 338.9,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"TotalPlaces": 0
},
"PartnerId": 12667,
"ByPax": false,
"Partner": {
"Key": 12667,
"Value": "Партнер-покупатель1"
}
}
],
"HotelTypes": [],
"Id": 1,
"SvKey": 3,
"IsSubCode1": true,
"IsSubCode2": true,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 7,
"BeginDateTime": "2018-03-31T11:59:00",
"EndDateTime": "2018-04-07T11:59:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 1
},
{
"DepartureCity": {
"Key": 35,
"Value": "Вена"
},
"DepartureCountry": {
"Key": 90,
"Value": "Австрия"
},
"ArrivalCity": {
"Key": 1,
"Value": "Москва"
},
"ArrivalCountry": {
"Key": 460,
"Value": "Россия"
},
"DepartureAirport": {
"Key": "VIE1",
"Value": "Vena1"
},
"ArrivalAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"Airline": {
"Key": "7U",
"Value": "Авиаэнерго"
},
"Aircraft": {
"Key": "727",
"Value": "Boeing"
},
"Flight": {
"Key": 774,
"Value": "222"
},
"DepartureTime": "00:00:00",
"ArrivalTime": "00:00:00",
"EndDateTime": "2018-04-07T00:00:00",
"FlightDetails": [ {
"Tariff": {
"Key": 67,
"Code": "C",
"Name": "Бизнес класс"
},
"Cost": 1.61,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"TotalPlaces": 0
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 4,
"PatternId": 5,
"FlightId": 4
},
"FlightSourceMode": 1,
"Id": 4,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 8,
"DurationInNight": 0,
"BeginDateTime": "2018-04-07T00:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 3
}
],
"NotRouteServices": [ [
{
"ServiceName": "экскурсия",
"City": {
"Key": 1046,
"Value": "Санто-Доминго"
},
"Country": 6245,
"Code": {
"Key": 743,
"Value": "4"
},
"ByScheduler": false,
"Details": [ {
"SubCode1": {
"Key": 37,
"Value": "Мини-автобус 10 чел."
},
"SubCode2": {
"Key": null,
"Value": ""
},
"Date": null,
"IsShowTransportPlan": false,
"Cost": 56.48,
"QuotaStatus": {
"PlacesStatus": 1,
"FreePlaces": 0,
"TotalPlaces": 0
},
"PartnerId": 12667,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"ParentId": null,
"PartnerBasedOnServiceTemplateId": null,
"Id": 7,
"SvKey": 4,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": true,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-03-31T00:00:00",
"EndDateTime": "2018-04-01T00:00:00",
"IsHooded": false,
"IsDeleted": true,
"IsNotCalculate": true,
"PacketId": 779,
"Index": 2
}
]],
"MinCostServicesComposition": [
{
"Key": {
"TemplateId": 3,
"PatternId": 14,
"SettingId": 14
},
"Value": {
"Cost": 6.45,
"ServiceType": 1,
"Code": 858,
"SubCode1": 67,
"SubCode2": 1,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 0
}
},
{
"Key": {
"TemplateId": 1,
"PatternId": 0,
"SettingId": 0
},
"Value": {
"Cost": 112.96,
"ServiceType": 3,
"Code": 707,
"SubCode1": 10468,
"SubCode2": 4,
"PacketId": 779,
"PartnerId": 12667,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 7
}
},
{
"Key": {
"TemplateId": 4,
"PatternId": 5,
"SettingId": 4
},
"Value": {
"Cost": 1.61,
"ServiceType": 1,
"Code": 774,
"SubCode1": 67,
"SubCode2": 35,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 460,
"CityId": 1,
"Day": 8,
"DurationInNight": 0
}
}
],
"FlightWeight": 2,
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": ["AY2"],
"flightSettings": [],
"enabled": true
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"RouteSubVariants": []
}
],
"SecondaryFiltersResult": null
}
|
Выгрузка настройки отображения полей по туристам (TouristDataSettings)
Метод производит выгрузку настроек отображения полей по туристам.
- Формат запроса:
- .../TourSearchOwin/TouristDataSettings?
- Принимаемые параметры ( * – обязательный):
- countryId * – ключ страны, для которой будут выгружаться настройки
- Возвращаемый результат:
- TouristFieldsSettings – массив полей с информацией о туристах (из админки Мастер-Web)
- lastname – объект фамилия туриста
- Code – код поля
- HeaderText – название поля
- IsVisible – видимость поля
- IsRequired – признак обязательности заполнения поля
- IsEdit – признак редактируемости поля
- Translit – настройки транслитерации (0 – нет, 1 – транслитерация, 2 – латиница)
- LetterCase – настройки регистра (0 – по умолчанию, 1 – с заглавной, 2 – большие, 3 – маленькие)
- patronymic – объект отчество туриста
- sex – объект пол туриста
- firstname – объект имя туриста
- passportbywhom – объект кем выдан заграничный паспорт
- birthplace – объект место рождения
- birthdate – объект дата рождения
- patronymicrus – объект отчество (рус)
- lastnamerus – объект фамилия туриста (рус)
- citizenid – объект ID туриста
- passport – объект серия и номер заграничного паспорта
- passportrus – объект серия и номер национального паспорт а
- ismain – объект признак главного туриста
- passportdate – объект дата выдачи заграничного паспорта
- firstnamerus – объект имя туриста (рус)
- passportbywhomrus – объект кем выдан национальный паспорт
- citizenship – объект гражданство
- passportdaterus – объект дата выдачи национального паспорта
- phone – объект телефон
- number – объект порядковый номер
- passportdateend – объект дата окончания заграничного паспорта
- email – объект e-mail туриста
- lastname – объект фамилия туриста
- PassportDurationOfExpiry – объект минимальный срок действия загранпаспорта туриста
- StartPoint – точка отсчета
- Duration – минимальная продолжительность
- ChildAgeSetting – максимальный возраст ребенка, когда он считается ребенком (лет)
- InfantAgeSetting – максимальный возраст младенца (месяцев)
- TouristFieldsSettings – массив полей с информацией о туристах (из админки Мастер-Web)
Вызов метода TouristDataSettings http://localhost:9000/TourSearchOwin/TouristDataSettings?countryId=90
Возвращаемый результат метода TouristDataSettings (в формате JSON) {
"TouristFieldsSettings": {
"lastname": {
"Code": "lastname",
"HeaderText": "Фамилия<font color=\"red\">*<\/font>",
"IsVisible": true,
"IsRequired": true,
"IsEdit": true,
"Translit": 1,
"LetterCase": 2
},
"patronymic": {
"Code": "patronymic",
"HeaderText": "Отчество",
"IsVisible": false,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 2
},
"sex": {
"Code": "sex",
"HeaderText": "Пол<font color=\"red\">*<\/font>",
"IsVisible": true,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"firstname": {
"Code": "firstname",
"HeaderText": "Имя<font color=\"red\">*<\/font>",
"IsVisible": true,
"IsRequired": true,
"IsEdit": true,
"Translit": 1,
"LetterCase": 2
},
"passportbywhom": {
"Code": "passportbywhom",
"HeaderText": "Кем выдан",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"birthplace": {
"Code": "birthplace",
"HeaderText": "Место рождения",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"birthdate": {
"Code": "birthdate",
"HeaderText": "Дата рождения<br />(dd.MM.yyyy)",
"IsVisible": true,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"patronymicrus": {
"Code": "patronymicrus",
"HeaderText": "Отчество",
"IsVisible": false,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 3
},
"lastnamerus": {
"Code": "lastnamerus",
"HeaderText": "Нац. паспорт: Фамилия",
"IsVisible": false,
"IsRequired": true,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"citizenid": {
"Code": "citizenid",
"HeaderText": "ID туриста1",
"IsVisible": false,
"IsRequired": false,
"IsEdit": true,
"Translit": 2,
"LetterCase": 2
},
"passport": {
"Code": "passport",
"HeaderText": "Загран-паспорт: Паспорт<br />(серия/номер)",
"IsVisible": true,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 2
},
"passportrus": {
"Code": "passportrus",
"HeaderText": "серия/номер",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"ismain": {
"Code": "ismain",
"HeaderText": "<img src=\"images/mw_main_tourist.gif\" border=\"0\" alt=\"Главный турист\" />",
"IsVisible": true,
"IsRequired": true,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"passportdate": {
"Code": "passportdate",
"HeaderText": "Загран-паспорт: дата выдачи",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"firstnamerus": {
"Code": "firstnamerus",
"HeaderText": "Нац. паспорт: Имя",
"IsVisible": false,
"IsRequired": true,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"passportbywhomrus": {
"Code": "passportbywhomrus",
"HeaderText": "Паспорт: кем выдан",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"citizenship": {
"Code": "citizenship",
"HeaderText": "Гражданство",
"IsVisible": true,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"passportdaterus": {
"Code": "passportdaterus",
"HeaderText": "Нац. паспорт:дата выдачи",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"phone": {
"Code": "phone",
"HeaderText": "Телефон",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"number": {
"Code": "number",
"HeaderText": "№",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
},
"passportdateend": {
"Code": "passportdateend",
"HeaderText": "Действителен до<br />(dd.MM.yyyy)",
"IsVisible": true,
"IsRequired": false,
"IsEdit": true,
"Translit": 0,
"LetterCase": 0
},
"email": {
"Code": "email",
"HeaderText": "Email",
"IsVisible": false,
"IsRequired": false,
"IsEdit": false,
"Translit": 0,
"LetterCase": 0
}
},
"PassportDurationOfExpiry": {
"StartPoint": 0,
"Duration": null
},
"ChildAgeSetting": 16,
"InfantAgeSetting": 24
}
|