Мастер-Тур(15):Поиск и бронирование авиабилетов — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Дополнительные фильтры)
(Необязательные параметры URL-запроса)
Строка 180: Строка 180:
 
2. Параметры авиаперелета
 
2. Параметры авиаперелета
  
 +
* '''timeDepartureFrom/timeDepartureTo''' — временной интервал вылета (задается в формате ЧЧ:ММ)
 +
* '''timeArrivalFrom/timeArrivalTo''' — временной интервал прилета (задается в формате ЧЧ:ММ)
 +
* '''airportDeparture''' — код аэропорта вылета
 +
* '''airportArrival''' — код аэропорта прилета
 
* '''airlines''' — код авиакомпании из таблицы ''Airline''
 
* '''airlines''' — код авиакомпании из таблицы ''Airline''
* '''airportDeparture''' — код аэропорта вылета<br />
+
* '''tariff''' — код класса перелета
* '''airportArrival''' — код аэропорта прилета<br />
+
* '''departureFlightNumberTransfer''' – наличие пересадок в прямом направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более)
* '''tariff''' — код класса перелета<br />
+
* '''arrivalFlightNumberTransfer''' – наличие пересадок в обратном направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более)
* '''departureFlightNumberTransfer''' — количество пересадок вылета<br />
+
* '''dTransfer=true''' — запрет на пересадку для прилета (без пересадок в прямом направлении)
* '''arrivalFlightNumberTransfer''' — количество пересадок прилета<br />
+
* '''aTransfer=true''' — запрет на пересадку для вылета (без пересадок в обратном направлении)
* '''dTransfer=true''' — запрет на пересадку для прилета (без пересадок в прямом направлении)<br />
+
* '''CombineAirlines=true''' — разрешить комбинировать авиаперелеты. Параметр применяется только при наличии параметра '''airlines'''
* '''aTransfer=true''' — запрет на пересадку для вылета (без пересадок в обратном направлении)<br />
+
* '''CombineTariffs=true''' — разрешить комбинировать классы перелета. Параметр применяется только при наличии параметра '''tariff'''
* '''timeDepartureFrom/timeDepartureTo''' — временной интервал вылета (задается в формате ЧЧ:ММ)<br />
 
* '''timeArrivalFrom/timeArrivalTo''' — временной интервал прилета (задается в формате ЧЧ:ММ)<br />
 
  
 
Пример URL-запроса с использованием временных интервалов вылета и прилета:<br />
 
Пример URL-запроса с использованием временных интервалов вылета и прилета:<br />

Версия 08:50, 28 декабря 2018

Версия статьи от 28-12-2018.

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


Введение

В данном разделе описан механизм, позволяющий заводить, искать и продавать авиабилеты стандартным механизмом поиска и бронирования.

Установка

Экран поиска и бронирования авиабилетов не требует дополнительной установки, он предоставляется в стандартной поставке программы и доступен по ссылке: http://ip-адрес сервера/TourSearchClient/Individuals/Avia

Подготовка данных

Для начала необходимо завести расписания авиаперелетов. Затем необходимо завести цены на каждое расписание. Все вышеописанное заводится стандартным образом.
После заведения цен необходимо создать программы туров. Для перелетов в одну сторону должна быть создана программа туров с одной услугой Авиаперелет.
Программа туров с перелетом в одну сторону

Для перелетов туда и обратно должна быть создана программа туров с двумя услугами Авиаперелет (одна – прямой перелет, вторая – обратный).

Программа туров с перелетом туда и обратно

При необходимости добавления многоплечевого авиаперелета (рейсы с пересадками), то в рамках одной группы необходимо задать нужное количество плечей авиапрелета с помощью кнопки Добавить перелет При использовании в одной программе туров несколько вариантов полетной программы необходимо заводить их разными группами перелетов. Для добавления группы перелетов необходимо воспользоваться кнопкой добавления новой вкладки.
Детализация услуги авиаперелет

Приоритет подбора перелетов: в поиске и корзине перелеты подбираются в соответствии с указанными приоритетами для группы авиаперелета. Если приоритет не указан – то подбирается рейс с минимальной ценой, даже если на него нет квоты, а есть квота на более дорогой перелет. То есть приоритеты идут следующим образом:

  • приоритет
  • цена
  • квота

Работа в системе

Авторизация

Для бронирования авиабилетов необходимо авторизоваться в системе, введя Имя пользователя и Пароль. Авторизация может происходить как в экране поиска (тогда перейдя в корзину авторизационные данные пользователя будут сохранены), так и в самой корзине.

Авторизация

Восстановление пароля

Если пароль для входа в систему бронирования забыт, то можно воспользоваться функцией восстановления пароля. Для этого на форме Вход в систему нужно нажать Забыли пароль?, после чего откроется экран Восстановление пароля.

Восстановление пароля

В одно из полей вводим известные данные:

  • Логин — вводим логин для входа в систему (если регистрировались как частное лицо и не меняли логин, то им является e-mail)
  • E-mail — адрес электронной почты, указанный при регистрации

Затем нажимаем кнопку Выслать пароль и на электронную почту придет письмо с логином и паролем для входа в систему бронирования
Шаблон письма находится в MasterWeb → Templates → PasswordRecovery.xml

Страница поиска авиабилетов

На данной странице есть несколько функциональных блоков:

  • Главные фильтры
  • Дополнительные фильтры
  • Результаты поиска в виде "шахматки"
  • Результаты поиска в виде списка

Поиск авиаперелетов

Главные фильтры

Для того чтобы просмотреть цены по авиаперелетам необходимо задать поисковые параметры в главных фильтрах:

  • Откуда – город начала поездки
  • Куда (страна) – страна прибытия
  • Куда (город) – город прибытия
  • Дата вылета – календарь, где актуальные даты вылета в выбранное направление подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов.
  • Дата возврата – календарь, где актуальные даты возврата подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов.
  • Взрослые, дети (возраст детей) – количество взрослых и детей. Если указано количество детей, то возраст детей обязателен для заполнения.
  • Выбора типа перелета:
    • В один конец – в этом случае скрывается фильтра Дата возврата и поиск авиаперелета будет осуществляться только в одну сторону
    • Туда и обратно – в этом случае будет производиться поиск туда/обратно. По умолчанию выбран вариант "Туда и обратно".
  • +/- 1-3 дня – при выборе признака результаты поиска будут отображаться в виде "шахматки"

Дополнительно пользователь может указать по какому варианту наличия мест необходимо искать авиаперелеты:

  • Есть
  • Есть+запрос
  • Все

По умолчанию выбран вариант "Есть+запрос"

Валюта – валюта, в которой будет отображаться цена авиаперелета. Отображаются все валюты из справочника "Список валют", у которых выбран признак "Отображать в поиске".
По умолчанию выбрана "национальная" валюта

Также в поиске доступен переключатель языков (по умолчанию есть три варианта языка – русский, украинский и английский). С настройкой отображаемых данных можно ознакомиться в разделе Настройка языка приложения.

Главные фильтры

После выбора значений в главных фильтрах становится доступной кнопка "Найти", при нажатии на которую система отберет туры по заданным параметрам
При изменении основных фильтров (откуда, страна, город) будут подобраны ранее выбранные даты вылета и возврата, если в них будет возможность найти туры

Правила скрещивания, установленные в программе туров также учитываются при подборе авиаперелетов

Расчет стоимости тура

Расчет стоимости услуг в составе заказа (Цена тура):
Изначально расчет всегда ведется в валюте тура (например: если цены на услуги заведены в $, а валюта тура EU, то в момент расчета происходит конвертация значения цены в валюте $ в валюту EU по курсу на дату расчета). Затем применяются настройки округления, указанные в ПК Мастер-Тур (если указаны настройки округления стоимости услуг). Стоимости этих услуг суммируются и общая сумма также округляется (по настройкам округления ПК Мастер-Тур). Полученная сумма отображается в корзине как стоимость тура (всегда в валюте тура).

Расчет стоимости тура в валюте, выбранной в поиске:
Округленная (по настройкам, указанным в ПК Мастер-Тур) стоимость в валюте тура конвертируется по текущему курсу в валюту поиска и итоговый результат также округляется (по настройкам, указанным в ПК Мастер-Тур). Аналогичным способом рассчитывается стоимость в национальной валюте в корзине, только в качестве отображаемой валюты всегда выступает национальная валюта.
Расчет стоимости в экранах OrderInfo и OrderList:
При отображении стоимостей в экранах OrderInfo и OrderList, выводятся две цены: первая в валюте тура, полученная в п.1 (не важно в результате расчета или введенная руками), и вторая в национальной валюте, которая получается путем конвертации по зафиксированному курсу, либо курсу на текущую дату из стоимости в валюте путевки. Результат округляется математически до сотых. Аналогично происходит расчет в национальной валюте в экране Путевка (исходя из наличия зафиксированного курса).

Дополнительные фильтры

Для удобства поиска авиаперелетов по определенным параметрам можно воспользоваться дополнительными фильтрами
Дополнительные фильтры применяются к уже отобранным по главным фильтрам вариантам туров. В программе представлены следующие дополнительные фильтры:

  • Цена – отбор туров в заданном диапазоне цен
  • Параметры авиаперелета – отбор по параметрам авиаперелета (время вылета/прилета, аэропорт вылета/прилета, наличие пересадок вылета/прилета, авиакомпания и класс перелета)

Заданные дополнительные фильтры отображаются в виде "плашек".

Начиная с релиза 15.3 добавлены два признака в дополнительные фильтры Параметры авиаперелета:

  • Разрешить комбинировать авиаперелеты – по умолчанию признак не выбран. Выбрать его можно только в том случае, если выбрана хотя бы одна авиакомпания. При выборе данного признака будут подбираться рейсы, которые хотя бы в одном сегменте осуществляются выбранной авиакомпанией. Без выбора этого признака будут подбираться только те рейсы, в которых все сегменты авиаперелета осуществляются выбранной авиакомпанией.
  • Разрешить комбинировать классы – по умолчанию признак не выбран. Выбрать его можно только в том случае, если выбран хотя бы один класс перелета. При выборе данного признака будут подбираться рейсы, в которых хотя бы в одном сегменте авиаперелета перевозка осуществляется выбранным классом. Без выбора этого признака будут подбираться только те рейсы, в которых на всех сегментах авиаперелета перевозка осуществляется выбранным классом.


Дополнительные фильтры

Таблица авиаперелетов

  • Вертикально – даты и дни недели вылета
  • Горизонтально – даты и дни недели возврата

Синим выделены даты, выбранные в фильтре, желтым – даты гибкого поиска, зеленым - есть места, красным - нет мест или стоит stop-sale на эти даты
На стыке дат показывается кол-во вариантов имеющихся перелетов + минимальная цена


Таблица авиаперелетов


Результаты поиска

По каждому найденному варианту тура будет представлена следующая информация:

  • Авиакомпания
  • Дата
  • Рейс
  • Тариф
  • Цена от - минимальная возможная цена варианта тура по заданным в фильтрах дате и количеству людей

Для просмотра информации о доступных вариантах необходимо кликнуть по слову "Варианты" в соответствующей строке тура. Откроется список доступных вариантов по данному туру. Слева от рейса отображается наличие мест


Результаты поиска

Параметры, передаваемые через URL страницы

Предусмотрена возможность поиска тура по параметрам, указанным в URL-запросе страницы

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

http://ip-адрес сервера/TourSearchClient_15.3/Individuals/Avia?departureCity=1&destinationCountry=64&destinationCity=410&departureDate=20180719&returnDate=20180727&flexible=2&adultCount=2&childAges=6&aviaQuota=7&currency=EUR

Обязательные параметры URL-запроса

Ниже перечисленные параметры являются обязательными:

  • departureCity — код города вылета из таблицы CityDictionary
  • destinationCountry — "1_" + код страны места назначения из таблицы Country
  • destinationCity — код города места назначения из таблицы CityDictionary
  • departureDate — дата вылета (дата задается в формате ДД.ММ.ГГГГ)
  • returnDate — дата возврата (дата задается в формате ДД.ММ.ГГГГ)
  • adultCount — количество взрослых
  • aviaQuota — код варианта наличия мест на авиаперелеты (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все")
  • currency — ISO код валюты (задается в справочнике Список валют)

Необязательные параметры URL-запроса

  • childAges — возраст ребенка (если детей более одного, то возраста перечисляется через запятую, если возраст ребенка "0" - то обрабатывается как "не указан")

Параметры дополнительных фильтров:

1. Цена

  • minPrice — минимальная цена
  • maxPrice — максимальная цена

Параметры фильтра Цена можно использовать как в совокупности, так и по отдельности.

2. Параметры авиаперелета

  • timeDepartureFrom/timeDepartureTo — временной интервал вылета (задается в формате ЧЧ:ММ)
  • timeArrivalFrom/timeArrivalTo — временной интервал прилета (задается в формате ЧЧ:ММ)
  • airportDeparture — код аэропорта вылета
  • airportArrival — код аэропорта прилета
  • airlines — код авиакомпании из таблицы Airline
  • tariff — код класса перелета
  • departureFlightNumberTransfer – наличие пересадок в прямом направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более)
  • arrivalFlightNumberTransfer – наличие пересадок в обратном направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более)
  • dTransfer=true — запрет на пересадку для прилета (без пересадок в прямом направлении)
  • aTransfer=true — запрет на пересадку для вылета (без пересадок в обратном направлении)
  • CombineAirlines=true — разрешить комбинировать авиаперелеты. Параметр применяется только при наличии параметра airlines
  • CombineTariffs=true — разрешить комбинировать классы перелета. Параметр применяется только при наличии параметра tariff

Пример URL-запроса с использованием временных интервалов вылета и прилета:
http://ip-адрес сервера/TourSearchClient_15.3/Individuals/Avia?departureCity=1&destinationCountry=64&destinationCity=410&departureDate=20180719&returnDate=20180727&flexible=2&adultCount=2&aviaQuota=7&currency=EUR&timeArrivalFrom=03:00&timeArrivalTo=23:59&timeDepartureFrom=01:00&timeDepartureTo=23:59

Корзина и бронирование

При выборе цены пользователь попадает в стандартную корзину и бронирование происходит стандартным образом