Мастер-Тур(15):API для разработки поиска авиабилетов
Версия статьи от 6-06-2024.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
- 1 Введение
- 2 Установка
- 3 Список методов
- 3.1 Авторизация (Token)
- 3.2 Выгрузка настроек службы поиска (Settings)
- 3.3 Выгрузка списка валют (Currency)
- 3.4 Выгрузка квотируемых услуг системы (QuotedServices)
- 3.5 Поиск авиабилетов в одну сторону (oneway)
- 3.6 Поиск авиабилетов туда и обратно (twoway)
- 3.7 Отображение авиабилетов в корзине и бронирование
- 4 Приложения
Введение
Данный web-сервис предназначен для разработки собственного поиска авиабилетов на основе API.
Установка
Для работы с web-сервисом необходимо на отдающей стороне установить службу поиска.
После установки web-сервис будет доступен по адресу http://значение настройки "serviceAddress" в TourSearchOwin/"название метода" (пример: http://localhost:9000/TourSearchOwin/Settings)
Список методов
Авторизация (Token)
Метод производит получение авторизационного токена (описание стандарта).
- Формат запроса:
- POST .../TourSearchOwin/Token?
- Принимаемые параметры POST запроса ( * – обязательный):
- grant_type * – password
- username * – логин представителя партнера
- password * – пароль представителя партнера
- Возвращаемый результат:
- access_token – токен
- token_type – тип токена
- expires_in – код
- userKey – ключ пользователя
- .issued – дата получения
- .expires – дата действия до
Вызов метода Token POST http://localhost:9000/TourSearchOwin/Token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=test&password=1
Возвращаемый результат метода TransportPlan (в формате JSON) {
"access_token": "AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAAAAAADZgAAwAAAA-
EqAAAAAASAAACgAAAAEAAAAO4S-VrqBhQuhqliqrAKKfIgAQAAn-gfgP-rYjk-Krr1Ck2A-IGCw6FBhamUOzFxgTtk1hR-
GLMryFIH8VK5GmHdHubZWj4S7XcazGL1Kn5-VlbiYdW2ZVWpYlk638aV-XS2kpZ9YrKgViiM_x8RH5TPo4-
9LhE7V-SjiB_CP_qs58DRKcyohq3Tz9QaiFgH1Ko7O2XKjTBG7SHyQPDPYjaqg9kDxmzq0UcIT6Fm4YkDxmm9-
CW7u3cEFWcpiqKOc2VvZFKPPHc07uDOO4w9FXPhpXZwOqrJBxzhbr73RuhzPs_e-hgxKaIlsMaK5b0v5ReAMy1kuY0ebXA",",
"token_type": "bearer",
"expires_in": 1209599,
"userKey": "333",
".issued": "Thu, 05 Apr 2018 12:05:31 GMT",
".expires": "Thu, 19 Apr 2018 12:05:31 GMT"
}
|
Выгрузка настроек службы поиска (Settings)
Метод производит выгрузку настроек службы поиска.
- Формат запроса:
- GET .../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 – максимальное количество продолжительностей, которое будет обрабатываться в клиенте поиска
- UseHotelCategoryGlobalCodeInDopFilter – использовать глобальные коды категорий отелей в поиске
- UsePansionGlobalCodeInDopFilter – использовать глобальные коды питаний в поиске
- CheckTouristDataInBasket – проверять корректность данных туристов
- SimpleRegistration – упрощенная регистрация частного лица
- ShowHotelImagesInSearch – показывать описание и изображения отелей в поиске
- CacheReadyMessage – сообщение о готовности службы поиска или службы расчета актуальных фильтров. Варианты возвращаемых значений:
- <add key="enableActualFilters" value="true" /> - CacheReady: true = CacheReadyMessage: "Кеш инициализирован"; CacheReady: false = CacheReadyMessage: "Кеш еще не инициализирован"
- <add key="enableActualFilters" value="false" /> - Служба актуальных фильтров недоступна (выключена, неверно указана ссылка на нее и т.п.) CacheReadyMessage: "Служба актуальных фильтров недоступна"; Служба актуальных фильтров доступна но не готова - CacheReadyMessage: "Кеш службы актуальных фильтров не инициализирован"; Служба актуальных фильтров готова, а основная служба не готова - CacheReadyMessage: "Кеш ещё не инициализирован"; Служба актуальных фильтров готова, и основная служба готова - CacheReadyMessage: "Кеш ещё инициализирован".
Вызов метода Settings GET 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)
Метод возвращает список используемых валют.
- Формат запроса:
- GET .../TourSearchOwin/Currency
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Code – код валюты
- Name – наименование валюты
- IsMain – признак валюты «Главная»
- IsNational – признак валюты «Национальная»
- IsoCode – ISO код валюты
- Key – идентификатор валюты
- IsShowInSearch – признак показывать ли валюту в поиске
Вызов метода Currency GET 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)
Метод производит выгрузку услуг с признаком «Квотируемая»
- Формат запроса:
- GET .../TourSearchOwin/QuotedServices
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – идентификатор услуги
- Code – код услуги
- Name – наименование услуги (русский)
- NameLat – наименование услуги (английский)
- IsDuration – наличие продолжительности у услуги
- IsCity – наличие города у услуги
- IsSubCode1 – признак наличия SubCode1 у услуги (вид проживания у отеля, тариф у авиаперелета)
- IsSubCode2 – признак наличия SubCode2 у услуги (тип питания у отеля)
- Quoted – признак квотируемости услуги
- CheckGeoPoint – наличие геоточек у услуги
- IsRoute – признак маршрутной услуги
- IsPartnerBasedOn – признак сопоставления партнера услуги в зависимости от отеля
- Control – идентификатор статуса услуги
Вызов метода QuotedServices GET 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,
"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,
"IsPartnerBasedOn": false,
"Control": 1
}
]
|
Поиск авиабилетов в одну сторону (oneway)
Выгрузка городов отправления (oneway)
Метод производит выгрузку всех доступных городов отправления.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/oneway/departures?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – ключ города
- Name – название города
Вызов метода GET http://localhost:9000/TourSearchOwin/individuals/avia/oneway/departures?
Возвращаемый результат метода (в формате JSON) [{
"Key": 312,
"Name": "Астрахань"
},
{
"Key": 1,
"Name": "Москва"
}]
|
Выгрузка списка стран прибытия (oneway)
Метод производит выгрузку всех доступных направлений.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/oneway/arrivals/1/countries?
- Принимаемые параметры ( * – обязательный):
- 1 * – идентификатор города отправления (из контроллера .../TourSearchOwin/individuals/avia/oneway/departures?)
- Возвращаемый результат:
- Name – название страны
- Key – ключ страны
- DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)
Вызов метода GET http://localhost:9000/TourSearchOwin/individuals/avia/oneway/arrivals/1/countries?
Возвращаемый результат метода (в формате JSON) [{
"Name": "Австрия",
"Key": 90,
"DestinationType": 1
},
{
"Name": "Индия",
"Key": 26,
"DestinationType": 1
},
{
"Name": "Финляндия",
"Key": 64,
"DestinationType": 1
}]
|
Выгрузка списка городов прибытия (oneway)
Метод возвращает список всех доступных городов по определенному городу отправления и стране прибытия.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/oneway/arrivals/1/90?
- Принимаемые параметры ( * – обязательный):
- 1 * – идентификатор города отправления (полученный из метода .../TourSearchOwin/individuals/avia/oneway/departures?)
- 90 * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/individuals/avia/oneway/arrivals/1/countries?)
- Возвращаемый результат:
- Key – идентификатор города
- Name – название города
Вызов метода GET http://localhost:9000/TourSearchOwin/individuals/avia/oneway/arrivals/1/90?
Возвращаемый результат метода (в формате JSON) [{
"Key": 35,
"Name": "Вена"
},
{
"Key": 440,
"Name": "Зельден"
}]
|
Выгрузка актуальных дат вылета (oneway)
Метод производит выгрузку доступных дат вылета для поискового запроса.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/oneway/departures/dates/1/35?
- Принимаемые параметры ( * – обязательный):
- 1 * – идентификатор города отправления (полученный из метода .../TourSearchOwin/individuals/avia/oneway/departures?)
- 35 * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/individuals/avia/oneway/arrivals/1/90?)
- Возвращаемый результат:
- массив дат
Вызов метода GET http://localhost:9000/TourSearchOwin/individuals/avia/oneway/departures/dates/1/35?
Возвращаемый результат метода (в формате JSON) ["28.08.2018",
"29.08.2018",
"30.08.2018",
"31.08.2018",
"01.09.2018",
"02.09.2018",]
|
Поиск авиабилетов (oneway)
Метод поиска авиабилетов использует множество параметров для поиска и фильтрации авиабилетов. Метод возвращает варианты перелетов в порядке возрастания цены.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/1/35/20180830?
- Принимаемые параметры ( * – обязательный):
- 1 * – идентификатор города отправления (полученный из метода .../TourSearchOwin/individuals/avia/oneway/departures?)
- 35 * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/individuals/avia/oneway/arrivals/1/90?)
- 20180830 * – дата вылета в формате YYYYMMDD (полученная из метода .../TourSearchOwin/individuals/avia/oneway/departures/dates/1/35?)
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- AdultCount * – количество взрослых
- ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- CurrencyName * – код валюты
- AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- fromFlexible – гибкий поиск (- "x" дней) от текущей даты, "x" в диапазоне от 1 до 3 дней.
- toFlexible – гибкий поиск (+ "x" дней) от текущей даты, "x" в диапазоне от 1 до 3 дней.
- TourKey – просмотр нескольких вариантов перелетов по туру, если такие варианты имеются
- MinPrice * – минимальная цена (по умолчанию не передается)
- MaxPrice – максимальная цена (по умолчанию не передается)
- Airline – ключ авиакомпании (дополнительный фильтр)
- AirportDeparture – ключ аэропорта вылета (дополнительный фильтр)
- AirportArrival – ключ аэропорта прилета (дополнительный фильтр)
- TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
- TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
- TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
- TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
- ArrivalFlightNoTransfer – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
- DepartureFlightNoTransfer – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
- DepartureFlightNumberTransfer – наличие пересадок в прямом направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более)
- ArrivalFlightNumberTransfer – наличие пересадок в обратном направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более)
- Tariff – ключ класса авиаперелета (дополнительный фильтр)
- CombineAirlines — разрешить комбинировать авиаперелеты (дополнительный фильтр). Параметр применяется только при наличии параметра airline. Обрабатывается начиная с релиза 15.3.
- CombineTariffs — разрешить комбинировать классы перелета (дополнительный фильтр). Параметр применяется только при наличии параметра tariff. Обрабатывается начиная с релиза 15.3.
- Возвращаемый результат:
- CheckMessages – сообщения для логики проверки тура (не используется)
- Message – сообщение об ошибке
- Key – код ошибки
- Value – сообщение об ошибке
- Result – результаты поиска
- Key – идентификатов программы тура
- Name – название программы тура
- TourUrl – ссылка на программу тура
- BookingConditions – условия бронирования программы туров
- DefaultManagers – список ведущих менеджеров
- Manager – менеджер по умолчанию
- Branches – список филиалов бронирования
- DetermineTheBranchOnCity – признак определения филиала в зависимости от города начала поездки
- StartDate – дата начала тура
- Duration – продолжительность тура (в днях)
- DurationInNight – продолжительность тура (в ночах)
- Types – идентификатор типа туров
- Cost – цена тура
- Rate – код валюты тура
- CityDepature – город отправления
- Key – идентификатор города отправления
- Value – название города отправления
- CountryId – страна тура
- 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 – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- 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 – не используется
- MinCostServicesComposition – массив состав услуг минимальной цены
- Key – ключ
- TemplateId – идентификатор шаблона
- PatternId – идентификатор вкладки
- SettingId – идентификатор услуги
- Value – значение
- 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 – типы тура
Вызов метода GET http://localhost:9000/TourSearchOwin/individuals/avia/1/35/20180830?
AdultCount=2&AviaQuota=5&CurrencyName=EU&PageNumber=1&PageSize=20&departureFlightNoTransfer=true
Возвращаемый результат метода (в формате JSON) {
"CheckMessages": null,
"Message": {
"Key": 0,
"Value": null
},
"Result": [{
"Key": 100002328,
"Name": "Общая проверка системы_Aviabooking",
"TourUrl": "www.megatec.ru",
"BookingConditions": "<p><strong>Условия бронирования<\/strong><\/p>",
"DefaultManagers": [-1],
"Manager": 128,
"Branches": [1],
"DetermineTheBranchOnCity": false,
"StartDate": "2018-08-30T00:00:00",
"Duration": 10,
"DurationInNight": 9,
"Types": [2],
"Cost": 7.02,
"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": "VIE",
"Value": "Vena"
},
"Airline": {
"Key": "7U",
"Value": "Авиаэнерго"
},
"Aircraft": {
"Key": "727",
"Value": "Boeing"
},
"Flight": {
"Key": 773,
"Value": "111"
},
"DepartureTime": "10:00:00",
"ArrivalTime": "13:00:00",
"EndDateTime": "2018-08-30T13:00:00",
"FlightDetails": [{
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 7.02,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 3,
"PatternId": 1,
"FlightId": 1
},
"FlightSourceMode": 1,
"Id": 3,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-08-30T10:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 0
},
{
"DepartureCity": {
"Key": 35,
"Value": "Вена"
},
"DepartureCountry": {
"Key": 90,
"Value": "Австрия"
},
"ArrivalCity": {
"Key": 1,
"Value": "Москва"
},
"ArrivalCountry": {
"Key": 460,
"Value": "Россия"
},
"DepartureAirport": {
"Key": "VIE",
"Value": "Vena"
},
"ArrivalAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"Airline": {
"Key": "7U",
"Value": "Авиаэнерго"
},
"Aircraft": {
"Key": "727",
"Value": "Boeing"
},
"Flight": {
"Key": 774,
"Value": "222"
},
"DepartureTime": "15:00:00",
"ArrivalTime": "16:00:00",
"EndDateTime": "2018-09-08T16:00:00",
"FlightDetails": [{
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 0,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 4,
"PatternId": 2,
"FlightId": 1
},
"FlightSourceMode": 1,
"Id": 4,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 10,
"DurationInNight": 0,
"BeginDateTime": "2018-09-08T15:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 1
}],
"NotRouteServices": [],
"MinCostServicesComposition": [{
"Key": {
"TemplateId": 3,
"PatternId": 1,
"SettingId": 1
},
"Value": {
"ServiceType": 1,
"Code": 773,
"SubCode1": 89,
"SubCode2": 1,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 0
}
},
{
"Key": {
"TemplateId": 4,
"PatternId": 2,
"SettingId": 1
},
"Value": {
"ServiceType": 1,
"Code": 774,
"SubCode1": 89,
"SubCode2": 35,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 460,
"CityId": 1,
"Day": 10,
"DurationInNight": 0
}
}],
"FlightWeight": 2,
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": [],
"flightSettings": [],
"enabled": false
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"RouteSubVariants": [],
"Routes": 1
}],
"SecondaryFiltersResult": {
"TourTypes": [{
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"TourPrograms": [{
"Key": 100002328,
"Name": "Общая проверка системы_Aviabooking",
"TourUrl": "www.megatec.ru",
"BookingConditions": "<p><strong>Условия бронирования<\/strong><\/p>",
"DefaultManagers": [-1],
"Manager": 128,
"Branches": [1],
"DetermineTheBranchOnCity": false,
"IsLandOnly": false,
"IsRestrictMultiHotels": false,
"IsHotelTemplates": false,
"IsRouteServices": true,
"MultiHotelDelta": 0,
"Rate": "EU",
"DateStart": "2018-06-21T00:00:00Z",
"DateEnd": "2019-05-31T00:00:00Z",
"UpdateDate": null,
"Status": {
"Key": 3,
"Value": "Доступен для продажи"
},
"Templates": [{
"$id": "1"
},
{
"$id": "2"
}],
"Types": [{
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": [],
"flightSettings": [],
"enabled": false
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"XmlSettings": "<TourProgram xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">",
"Type": "TourProgram"
}],
"TourDurations": [10],
"TourDates": ["2018-08-30T00:00:00"],
"HotelCities": [],
"HotelResorts": [],
"HotelCategories": [],
"Hotels": [],
"Pansions": [],
"Airlines": [{
"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": 12,
"Code": "DME",
"Name": "Домодедово",
"NameLat": "Домодедово",
"CityKey": 1,
"CountryKey": 460,
"Letter": "D",
"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": []
}
}
|
Поиск авиабилетов туда и обратно (twoway)
Выгрузка городов отправления (twoway)
Метод производит выгрузку всех доступных городов отправления.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/twoway/departures?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – ключ города
- Name – название города
Вызов метода GET http://localhost:9000/TourSearchOwin/individuals/avia/twoway/departures?
Возвращаемый результат метода (в формате JSON) [{
"Key": 312,
"Name": "Астрахань"
},
{
"Key": 1,
"Name": "Москва"
}]
|
Выгрузка списка стран прибытия (twoway)
Метод производит выгрузку всех доступных направлений.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/twoway/arrivals/1/countries?
- Принимаемые параметры ( * – обязательный):
- 1 * – идентификатор города отправления (из контроллера .../TourSearchOwin/individuals/avia/twoway/departures?)
- Возвращаемый результат:
- Name – название страны
- Key – ключ страны
- DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)
Вызов метода GET http://localhost:9000/TourSearchOwin/individuals/avia/twoway/arrivals/1/countries?
Возвращаемый результат метода (в формате JSON) [{
"Name": "Австрия",
"Key": 90,
"DestinationType": 1
},
{
"Name": "Индия",
"Key": 26,
"DestinationType": 1
},
{
"Name": "Финляндия",
"Key": 64,
"DestinationType": 1
}]
|
Выгрузка списка городов прибытия (twoway)
Метод возвращает список всех доступных городов по определенному городу отправления и стране прибытия.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/twoway/arrivals/1/90?
- Принимаемые параметры ( * – обязательный):
- 1 * – идентификатор города отправления (полученный из метода .../TourSearchOwin/individuals/avia/twoway/departures?)
- 90 * – идентификатор страны прибытия (полученный из метода .../TourSearchOwin/individuals/avia/twoway/arrivals/1/countries?)
- Возвращаемый результат:
- Key – идентификатор города
- Name – название города
Вызов метода GET http://localhost:9000/TourSearchOwin/individuals/avia/twoway/arrivals/1/90?
Возвращаемый результат метода (в формате JSON) [{
"Key": 35,
"Name": "Вена"
},
{
"Key": 440,
"Name": "Зельден"
}]
|
Выгрузка актуальных дат вылета (twoway)
Метод производит выгрузку доступных дат вылета для поискового запроса.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/twoway/departures/dates/1/35?
- Принимаемые параметры ( * – обязательный):
- 1 * – идентификатор города отправления (полученный из метода .../TourSearchOwin/individuals/avia/twoway/departures?)
- 35 * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/individuals/avia/twoway/arrivals/1/90?)
- Возвращаемый результат:
- массив дат
Вызов метода GET http://localhost:9000/TourSearchOwin/individuals/avia/twoway/departures/dates/1/35?
Возвращаемый результат метода (в формате JSON) ["28.08.2018",
"29.08.2018",
"30.08.2018",
"31.08.2018",
"01.09.2018",
"02.09.2018",]
|
Выгрузка актуальных дат возврата (twoway)
Метод производит выгрузку доступных дат возврата для поискового запроса.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/twoway/arrivals/dates/1/35/20180830?
- Принимаемые параметры ( * – обязательный):
- 1 * – идентификатор города отправления (полученный из метода .../TourSearchOwin/individuals/avia/twoway/departures?)
- 35 * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/individuals/avia/twoway/arrivals/1/90?)
- 20180830 * – дата вылета в формате YYYYMMDD (полученная из метода .../TourSearchOwin/individuals/avia/twoway/departures/dates/1/35?)
- Возвращаемый результат:
- массив дат
Вызов метода GET http://localhost:9000/TourSearchOwin/individuals/avia/twoway/arrivals/dates/1/35/20180830?
Возвращаемый результат метода (в формате JSON) ["30.08.2018",
"31.08.2018",
"01.09.2018",
"02.09.2018",]
|
Поиск авиабилетов (twoway)
Метод поиска авиабилетов использует множество параметров для поиска и фильтрации авиабилетов. Метод возвращает варианты перелетов в порядке возрастания цены.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/1/35/20180830/20180912?
- Принимаемые параметры ( * – обязательный):
- 1 * – идентификатор города отправления (полученный из метода .../TourSearchOwin/individuals/avia/twoway/departures?)
- 35 * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/individuals/avia/twoway/arrivals/1/90?)
- 20180830 * – дата вылета в формате YYYYMMDD (полученная из метода .../TourSearchOwin/individuals/avia/twoway/departures/dates/1/35?)
- 20180912 * – дата возврата в формате YYYYMMDD (полученная из метода .../TourSearchOwin/individuals/avia/twoway/departures/dates/1/35/20180830?)
- PageNumber * – номер возвращаемой страницы (по умолчанию возвращается 1)
- PageSize * – количество возвращаемых результатов на одной странице (возвращается 20)
- AdultCount * – количество взрослых
- ChildAges – возраст детей. Если детей несколько, и параметры передаются через url, то каждое значение необходимо передавать отдельным параметром.
- CurrencyName * – код валюты
- AviaQuota * – информация о квотах на авиаперелет (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
- fromFlexible – гибкий поиск (- "x" дней) от текущей даты, "x" в диапазоне от 1 до 3 дней.
- toFlexible – гибкий поиск (+ "x" дней) от текущей даты, "x" в диапазоне от 1 до 3 дней.
- TourKey – просмотр нескольких вариантов перелетов по туру, если такие варианты имеются
- MinPrice * – минимальная цена (по умолчанию не передается)
- MaxPrice – максимальная цена (по умолчанию не передается)
- Airline – ключ авиакомпании (дополнительный фильтр)
- AirportDeparture – ключ аэропорта вылета (дополнительный фильтр)
- AirportArrival – ключ аэропорта прилета (дополнительный фильтр)
- TimeDepartureFrom – время отправления с (по умолчанию возвращается 00:00)
- TimeDepartureTo – время отправления по (по умолчанию возвращается 23:59)
- TimeArrivalFrom – время прибытия с (по умолчанию возвращается 00:00)
- TimeArrivalTo – время прибытия по (по умолчанию возвращается 23:59)
- ArrivalFlightNoTransfer – производить поиск без пересадок в прямом направлении (true/false, по умолчанию false)
- DepartureFlightNoTransfer – производить поиск без пересадок в обратном направлении (true/false, по умолчанию false)
- DepartureFlightNumberTransfer – наличие пересадок в прямом направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более)
- ArrivalFlightNumberTransfer – наличие пересадок в обратном направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более)
- Tariff – ключ класса авиаперелета (дополнительный фильтр)
- CombineAirlines — разрешить комбинировать авиаперелеты (дополнительный фильтр). Параметр применяется только при наличии параметра airline. Обрабатывается начиная с релиза 15.3.
- CombineTariffs — разрешить комбинировать классы перелета (дополнительный фильтр). Параметр применяется только при наличии параметра tariff. Обрабатывается начиная с релиза 15.3.
- Возвращаемый результат:
- CheckMessages – сообщения для логики проверки тура (не используется)
- Message – сообщение об ошибке
- Key – код ошибки
- Value – сообщение об ошибке
- Result – результаты поиска
- Key – идентификатов программы тура
- Name – название программы тура
- TourUrl – ссылка на программу тура
- BookingConditions – условия бронирования программы туров
- DefaultManagers – список ведущих менеджеров
- Manager – менеджер по умолчанию
- Branches – список филиалов бронирования
- DetermineTheBranchOnCity – признак определения филиала в зависимости от города начала поездки
- StartDate – дата начала тура
- Duration – продолжительность тура (в днях)
- DurationInNight – продолжительность тура (в ночах)
- Types – идентификатор типа туров
- Cost – цена тура
- Rate – код валюты тура
- CityDepature – город отправления
- Key – идентификатор города отправления
- Value – название города отправления
- CountryId – страна тура
- 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 – количество свободных мест, если удовлетворяются условия, заданные в настройке "Мало" и включена настройка "Отображать числовое значение оставшихся мест". Иначе возвращается 0. Если в данном параметре 0, то руководствоваться следует значением, полученном в параметре PlacesStatus.
- IsFewPlaces – выполнены ли условия, заданные в настройке "Мало": true – если заданы условия количества мест "Мало" и данные условия выполнены, false – если не заданы условия количества мест "Мало" или они заданы, но не выполнены.
- 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 – не используется
- MinCostServicesComposition – массив состав услуг минимальной цены
- Key – ключ
- TemplateId – идентификатор шаблона
- PatternId – идентификатор вкладки
- SettingId – идентификатор услуги
- Value – значение
- 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 – типы тура
Вызов метода GET http://localhost:9000/TourSearchOwin/individuals/avia/1/35/20180830/20180908?
AdultCount=2&AviaQuota=5&CurrencyName=EU&PageNumber=1&PageSize=20&departureFlightNoTransfer=true
Возвращаемый результат метода (в формате JSON) {
"CheckMessages": null,
"Message": {
"Key": 0,
"Value": null
},
"Result": [{
"Key": 100002328,
"Name": "Общая проверка системы_Aviabooking",
"TourUrl": "www.megatec.ru",
"BookingConditions": "<p><strong>Условия бронирования<\/strong><\/p>",
"DefaultManagers": [-1],
"Manager": 128,
"Branches": [1],
"DetermineTheBranchOnCity": false,
"StartDate": "2018-08-30T00:00:00",
"Duration": 10,
"DurationInNight": 9,
"Types": [2],
"Cost": 7.02,
"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": "VIE",
"Value": "Vena"
},
"Airline": {
"Key": "7U",
"Value": "Авиаэнерго"
},
"Aircraft": {
"Key": "727",
"Value": "Boeing"
},
"Flight": {
"Key": 773,
"Value": "111"
},
"DepartureTime": "10:00:00",
"ArrivalTime": "13:00:00",
"EndDateTime": "2018-08-30T13:00:00",
"FlightDetails": [{
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 7.02,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 3,
"PatternId": 1,
"FlightId": 1
},
"FlightSourceMode": 1,
"Id": 3,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 1,
"DurationInNight": 0,
"BeginDateTime": "2018-08-30T10:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 0
},
{
"DepartureCity": {
"Key": 35,
"Value": "Вена"
},
"DepartureCountry": {
"Key": 90,
"Value": "Австрия"
},
"ArrivalCity": {
"Key": 1,
"Value": "Москва"
},
"ArrivalCountry": {
"Key": 460,
"Value": "Россия"
},
"DepartureAirport": {
"Key": "VIE",
"Value": "Vena"
},
"ArrivalAirport": {
"Key": "DME",
"Value": "Домодедово"
},
"Airline": {
"Key": "7U",
"Value": "Авиаэнерго"
},
"Aircraft": {
"Key": "727",
"Value": "Boeing"
},
"Flight": {
"Key": 774,
"Value": "222"
},
"DepartureTime": "15:00:00",
"ArrivalTime": "16:00:00",
"EndDateTime": "2018-09-08T16:00:00",
"FlightDetails": [{
"Tariff": {
"Key": 89,
"Code": "Y",
"Name": "Экономический класс"
},
"Cost": 0,
"QuotaStatus": {
"PlacesStatus": 4,
"FreePlaces": 0,
"IsFewPlaces": false
},
"PartnerId": 10760,
"ByPax": true,
"Partner": {
"Key": 0,
"Value": null
}
}],
"FlightSetting": {
"ServiceId": 4,
"PatternId": 2,
"FlightId": 1
},
"FlightSourceMode": 1,
"Id": 4,
"SvKey": 1,
"IsSubCode1": true,
"IsSubCode2": false,
"IsPartnerBasedOn": false,
"Day": 10,
"DurationInNight": 0,
"BeginDateTime": "2018-09-08T15:00:00",
"IsHooded": false,
"IsDeleted": false,
"IsNotCalculate": false,
"PacketId": 779,
"Index": 1
}],
"NotRouteServices": [],
"MinCostServicesComposition": [{
"Key": {
"TemplateId": 3,
"PatternId": 1,
"SettingId": 1
},
"Value": {
"ServiceType": 1,
"Code": 773,
"SubCode1": 89,
"SubCode2": 1,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 90,
"CityId": 35,
"Day": 1,
"DurationInNight": 0
}
},
{
"Key": {
"TemplateId": 4,
"PatternId": 2,
"SettingId": 1
},
"Value": {
"ServiceType": 1,
"Code": 774,
"SubCode1": 89,
"SubCode2": 35,
"PacketId": 779,
"PartnerId": 10760,
"CountryId": 460,
"CityId": 1,
"Day": 10,
"DurationInNight": 0
}
}],
"FlightWeight": 2,
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": [],
"flightSettings": [],
"enabled": false
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"RouteSubVariants": [],
"Routes": 1
}],
"SecondaryFiltersResult": {
"TourTypes": [{
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"TourPrograms": [{
"Key": 100002328,
"Name": "Общая проверка системы_Aviabooking",
"TourUrl": "www.megatec.ru",
"BookingConditions": "<p><strong>Условия бронирования<\/strong><\/p>",
"DefaultManagers": [-1],
"Manager": 128,
"Branches": [1],
"DetermineTheBranchOnCity": false,
"IsLandOnly": false,
"IsRestrictMultiHotels": false,
"IsHotelTemplates": false,
"IsRouteServices": true,
"MultiHotelDelta": 0,
"Rate": "EU",
"DateStart": "2018-06-21T00:00:00Z",
"DateEnd": "2019-05-31T00:00:00Z",
"UpdateDate": null,
"Status": {
"Key": 3,
"Value": "Доступен для продажи"
},
"Templates": [{
"$id": "1"
},
{
"$id": "2"
}],
"Types": [{
"Id": 2,
"Name": "Стандартный тур",
"ParentId": null,
"Type": "TourType"
}],
"LinkingFlightsRules": {
"notCombineDifferentAirlineRule": {
"airlines": [],
"flightSettings": [],
"enabled": false
},
"checkPlusMinus1CharterRule": {
"FlightSettingPairs": [],
"enabled": false
},
"notCombineDifferentTariffGroupRule": {
"FlightSettings": [],
"enabled": true
},
"notCombineDifferentPartnerRule": {
"FlightSettings": [],
"enabled": false
},
"departureCityEqualsArrivalCityRule": {
"FlightSettingPairs": [],
"enabled": false
},
"combineOnlySpecificChartersRule": {
"settings": [],
"enabled": false
}
},
"XmlSettings": "<TourProgram xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">",
"Type": "TourProgram"
}],
"TourDurations": [10],
"TourDates": ["2018-08-30T00:00:00"],
"HotelCities": [],
"HotelResorts": [],
"HotelCategories": [],
"Hotels": [],
"Pansions": [],
"Airlines": [{
"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": 12,
"Code": "DME",
"Name": "Домодедово",
"NameLat": "Домодедово",
"CityKey": 1,
"CountryKey": 460,
"Letter": "D",
"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": []
}
}
|
Отображение авиабилетов в корзине и бронирование
Отображение авиабилетов в корзине и бронирование производиться стандартным механизмом, описанном в API для разработки онлайн поиска и бронирования .
Приложения
Приложение 1: параметры услуги (ServiceType, Code, SubCode1, SubCode2)
Параметры ServiceType – это ключ типа услуги, Сode – ключ услуги, SubCode1 и SubCode2, возвращаемые при API-запросах – это параметры дополнительных описаний двух типов, индивидуальных для каждой услуги.
Ключ типа услуги (ServiceType) | Наименование типа услуги | Ключ услуги (Code) | Доп. описание 1 (SubCode1) | Таблица БД со значениями SubCode1 | Доп. описание 2 (SubCode2) | Таблица БД со значениями SubCode2 |
---|---|---|---|---|---|---|
1 | Авиаперелет | индивидуальный ключ услуги | Тариф | AirService | отсутствует | отсутствует |
2 | Трансфер | индивидуальный ключ услуги | Вид транспорта | Transport | отсутствует | отсутствует |
3 | Отель/Круиз | индивидуальный ключ услуги | Вид проживания (Тип номера + Категория номера + Тип размещения) | HotelRooms (Rooms + RoomCategory + Accmdmentype) | Тип питания | Pansion |
4 | Экскурсия | индивидуальный ключ услуги | Вид транспорта | Transport | отсутствует | отсутствует |
5 | Виза | индивидуальный ключ услуги | отсутствует | отсутствует | отсутствует | отсутствует |
6 | Страховка | индивидуальный ключ услуги | Доп. описание 1 | AddDescript1 | Доп. описание 2 | AddDescript2 |
8 | Доп услуга в отеле/круизе | индивидуальный ключ услуги | Вид проживания (Тип номера + Категория номера + Тип размещения) | HotelRooms (Rooms + RoomCategory + Accmdmentype) | Доп. описание 2 | AddDescript2 |
14 | Автобусный переезд | индивидуальный ключ услуги | Место посадки | BusTransferPoints | Вид транспорта | Transport |
99 | Любая пользовательская услуга | индивидуальный ключ услуги | Доп. описание 1 | AddDescript1 | Доп. описание 2 | AddDescript2 |