Мастер-Тур(15):API для разработки поиска авиабилетов

Материал из Megatec
Перейти к: навигация, поиск

Версия статьи от 6-06-2024.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с релиза 15.3


Введение

Данный 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 – дата действия до
развернутьПример


Выгрузка настроек службы поиска (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: "Кеш ещё инициализирован".
развернутьПример


Выгрузка списка валют (Currency)

Метод возвращает список используемых валют.

  • Формат запроса:
    • GET .../TourSearchOwin/Currency
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • Code – код валюты
    • Name – наименование валюты
    • IsMain – признак валюты «Главная»
    • IsNational – признак валюты «Национальная»
    • IsoCode – ISO код валюты
    • Key – идентификатор валюты
    • IsShowInSearch – признак показывать ли валюту в поиске
развернутьПример


Выгрузка квотируемых услуг системы (QuotedServices)

Метод производит выгрузку услуг с признаком «Квотируемая»

  • Формат запроса:
    • GET .../TourSearchOwin/QuotedServices
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • Key – идентификатор услуги
    • Code – код услуги
    • Name – наименование услуги (русский)
    • NameLat – наименование услуги (английский)
    • IsDuration – наличие продолжительности у услуги
    • IsCity – наличие города у услуги
    • IsSubCode1 – признак наличия SubCode1 у услуги (вид проживания у отеля, тариф у авиаперелета)
    • IsSubCode2 – признак наличия SubCode2 у услуги (тип питания у отеля)
    • Quoted – признак квотируемости услуги
    • CheckGeoPoint – наличие геоточек у услуги
    • IsRoute – признак маршрутной услуги
    • IsPartnerBasedOn – признак сопоставления партнера услуги в зависимости от отеля
    • Control – идентификатор статуса услуги
развернутьПример


Поиск авиабилетов в одну сторону (oneway)

Выгрузка городов отправления (oneway)

Метод производит выгрузку всех доступных городов отправления.

  • Формат запроса:
    • GET .../TourSearchOwin/individuals/avia/oneway/departures?
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • Key – ключ города
    • Name – название города
развернутьПример


Выгрузка списка стран прибытия (oneway)

Метод производит выгрузку всех доступных направлений.

  • Формат запроса:
    • GET .../TourSearchOwin/individuals/avia/oneway/arrivals/1/countries?
  • Принимаемые параметры ( * – обязательный):
  • Возвращаемый результат:
    • Name – название страны
    • Key – ключ страны
    • DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)
развернутьПример


Выгрузка списка городов прибытия (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 – название города
развернутьПример


Выгрузка актуальных дат вылета (oneway)

Метод производит выгрузку доступных дат вылета для поискового запроса.

  • Формат запроса:
    • GET .../TourSearchOwin/individuals/avia/oneway/departures/dates/1/35?
  • Принимаемые параметры ( * – обязательный):
    • 1 * – идентификатор города отправления (полученный из метода .../TourSearchOwin/individuals/avia/oneway/departures?)
    • 35 * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/individuals/avia/oneway/arrivals/1/90?)
  • Возвращаемый результат:
    • массив дат
развернутьПример


Поиск авиабилетов (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 – название
        • FlightSetting – внутренняя информация о перелете из программы туров
          • ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
          • PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
          • FlightId – идентификатор перелета (внутренняя информация из программы туров)
        • FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
        • Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
        • SvKey – ключ типа услуги
        • IsSubCode1 – признак наличия доп. описания 1
        • IsSubCode2 – признак наличия доп. описания 2
        • IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • IsHooded – признак скрытая услуга
        • IsDeleted – признак удаляемая услуга
        • IsNotCalculate – признак не рассчитываемая услуга
        • PacketId – ключ пакета
        • Index – порядковый номер услуги
      • NotRouteServices – не используется
      • MinCostServicesComposition – массив состав услуг минимальной цены
        • Key – ключ
          • TemplateId – идентификатор шаблона
          • PatternId – идентификатор вкладки
          • SettingId – идентификатор услуги
        • Value – значение
          • ServiceType – тип услуги
          • Code – ключ услуги
          • SubCode1 – доп. описание 1
          • SubCode2 – доп. описание 2
          • PacketId – пакет услуги
          • PartnerId – партнер услуги
          • CountryId – страна услуги
          • CityId – город услуги
          • Day – день предоставления услуги
          • DurationInNight – продолжительность услуги в ночах
      • 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 – флаг включен/выключен
      • 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
        • XmlSettings – xml
        • Type
      • TourDurations
      • TourDates
        • HotelCities – не используется
          • '
        • HotelResorts – не используется
          • '
        • HotelCategories – не используется
          • '
        • Hotels – не используется
          • '
        • Pansions – не используется
          • '
        • Airlines – авиакомпании в дополнительных фильтрах
          • '
        • FlightTariffs – класс перелета в дополнительных фильтрах
          • '
        • DepartureCities – города вылета в дополнительных фильтрах
          • '
        • DepartureAirports – аэропорты вылета в дополнительных фильтрах
          • '
        • ArrivalCities – города прибытия в дополнительных фильтрах
          • '
        • ArrivalAirports – аэропорты прибытия в дополнительных фильтрах
          • '
        • HotelTypes – не используется
          • '
развернутьПример


Поиск авиабилетов туда и обратно (twoway)

Выгрузка городов отправления (twoway)

Метод производит выгрузку всех доступных городов отправления.

  • Формат запроса:
    • GET .../TourSearchOwin/individuals/avia/twoway/departures?
  • Принимаемые параметры:
    • нет принимаемых параметров
  • Возвращаемый результат:
    • Key – ключ города
    • Name – название города
развернутьПример


Выгрузка списка стран прибытия (twoway)

Метод производит выгрузку всех доступных направлений.

  • Формат запроса:
    • GET .../TourSearchOwin/individuals/avia/twoway/arrivals/1/countries?
  • Принимаемые параметры ( * – обязательный):
  • Возвращаемый результат:
    • Name – название страны
    • Key – ключ страны
    • DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)
развернутьПример


Выгрузка списка городов прибытия (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 – название города
развернутьПример


Выгрузка актуальных дат вылета (twoway)

Метод производит выгрузку доступных дат вылета для поискового запроса.

  • Формат запроса:
    • GET .../TourSearchOwin/individuals/avia/twoway/departures/dates/1/35?
  • Принимаемые параметры ( * – обязательный):
    • 1 * – идентификатор города отправления (полученный из метода .../TourSearchOwin/individuals/avia/twoway/departures?)
    • 35 * – идентификатор города прибытия (полученный из метода .../TourSearchOwin/individuals/avia/twoway/arrivals/1/90?)
  • Возвращаемый результат:
    • массив дат
развернутьПример


Выгрузка актуальных дат возврата (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?)
  • Возвращаемый результат:
    • массив дат
развернутьПример


Поиск авиабилетов (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 – название
        • FlightSetting – внутренняя информация о перелете из программы туров
          • ServiceId – идентификатор класса услуги (внутренняя информация из программы туров)
          • PatternId – идентификатор паттерна услуги (внутренняя информация из программы туров)
          • FlightId – идентификатор перелета (внутренняя информация из программы туров)
        • FlightSourceMode – локальный или удаленный перелет (внутренняя информация из программы туров)
        • Id – идентификатор базового шаблона услуги (внутренняя информация из программы туров)
        • SvKey – ключ типа услуги
        • IsSubCode1 – признак наличия доп. описания 1
        • IsSubCode2 – признак наличия доп. описания 2
        • IsPartnerBasedOn – признак услуга с приоритетным подбором поставщика
        • Day – день предоставления услуги
        • DurationInNight – продолжительность услуги в ночах
        • BeginDateTime – дата предоставления услуги
        • IsHooded – признак скрытая услуга
        • IsDeleted – признак удаляемая услуга
        • IsNotCalculate – признак не рассчитываемая услуга
        • PacketId – ключ пакета
        • Index – порядковый номер услуги
      • NotRouteServices – не используется
      • MinCostServicesComposition – массив состав услуг минимальной цены
        • Key – ключ
          • TemplateId – идентификатор шаблона
          • PatternId – идентификатор вкладки
          • SettingId – идентификатор услуги
        • Value – значение
          • ServiceType – тип услуги
          • Code – ключ услуги
          • SubCode1 – доп. описание 1
          • SubCode2 – доп. описание 2
          • PacketId – пакет услуги
          • PartnerId – партнер услуги
          • CountryId – страна услуги
          • CityId – город услуги
          • Day – день предоставления услуги
          • DurationInNight – продолжительность услуги в ночах
      • 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 – флаг включен/выключен
      • 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
        • XmlSettings – xml
        • Type
      • TourDurations
      • TourDates
        • HotelCities – не используется
          • '
        • HotelResorts – не используется
          • '
        • HotelCategories – не используется
          • '
        • Hotels – не используется
          • '
        • Pansions – не используется
          • '
        • Airlines – авиакомпании в дополнительных фильтрах
          • '
        • FlightTariffs – класс перелета в дополнительных фильтрах
          • '
        • DepartureCities – города вылета в дополнительных фильтрах
          • '
        • DepartureAirports – аэропорты вылета в дополнительных фильтрах
          • '
        • ArrivalCities – города прибытия в дополнительных фильтрах
          • '
        • ArrivalAirports – аэропорты прибытия в дополнительных фильтрах
          • '
        • 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