Мастер-Тур(15):Поиск и бронирование авиабилетов
Версия статьи от 28-08-2018.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
Введение
В данном разделе описан механизм, позволяющий заводить, искать и продавать авиабилеты стандартным механизмом поиска и бронирования.
Установка
Экран поиска и бронирования авиабилетов не требует дополнительной установки, он предоставляется в стандартной поставке программы и доступен по ссылке: http://ip-адрес сервера/TourSearchClient/Individuals/Avia
Подготовка данных
Для начала необходимо завести расписания авиаперелетов. Затем необходимо завести цены на каждое расписание. Все вышеописанное заводится стандартным образом.
После заведения цен необходимо создать программы туров. Для перелетов в одну сторону должна быть создана программа туров с одной услугой Авиаперелет. Для перелетов туда и обратно должна быть создана программа туров с двумя услугами Авиаперелет (одна – прямой перелет, вторая – обратный).
При необходимости добавления многоплечевого авиаперелета (рейсы с пересадками), то в рамках одной группы необходимо задать нужное количество плечей авиапрелета с помощью кнопки Добавить перелет При использовании в одной программе туров несколько вариантов полетной программы необходимо заводить их разными группами перелетов. Для добавления группы перелетов необходимо воспользоваться кнопкой добавления новой вкладки. Приоритет подбора перелетов: в поиске и корзине перелеты подбираются в соответствии с указанными приоритетами для группы авиаперелета. Если приоритет не указан – то подбирается рейс с минимальной ценой, даже если на него нет квоты, а есть квота на более дорогой перелет. То есть приоритеты идут следующим образом:
- приоритет
- цена
- квота
Работа в системе
Авторизация
Для бронирования авиабилетов необходимо авторизоваться в системе, введя Имя пользователя и Пароль. Авторизация может происходить как в экране поиска (тогда перейдя в корзину авторизационные данные пользователя будут сохранены), так и в самой корзине.
Восстановление пароля
Если пароль для входа в систему бронирования забыт, то можно воспользоваться функцией восстановления пароля. Для этого на форме Вход в систему нужно нажать Забыли пароль?, после чего откроется экран Восстановление пароля.
В одно из полей вводим известные данные:
- Логин — вводим логин для входа в систему (если регистрировались как частное лицо и не меняли логин, то им является e-mail)
- E-mail — адрес электронной почты, указанный при регистрации
Затем нажимаем кнопку Выслать пароль и на электронную почту придет письмо с логином и паролем для входа в систему бронирования
Шаблон письма находится в MasterWeb → Templates → PasswordRecovery.xml
Страница поиска авиабилетов
На данной странице есть несколько функциональных блоков:
- Главные фильтры
- Дополнительные фильтры
- Результаты поиска в виде "шахматки"
- Результаты поиска в виде списка
Главные фильтры
Для того чтобы просмотреть цены по авиаперелетам необходимо задать поисковые параметры в главных фильтрах:
- Откуда – город начала поездки
- Куда (страна) – страна прибытия
- Куда (город) – город прибытия
- Дата вылета – календарь, где актуальные даты вылета в выбранное направление подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов.
- Дата возврата – календарь, где актуальные даты возврата подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов.
- Взрослые, дети (возраст детей) – количество взрослых и детей. Если указано количество детей, то возраст детей обязателен для заполнения.
- Выбора типа перелета:
- В один конец – в этом случае скрывается фильтра Дата возврата и поиск авиаперелета будет осуществляться только в одну сторону
- Туда и обратно – в этом случае будет производиться поиск туда/обратно. По умолчанию выбран вариант "Туда и обратно".
- +/- 1-3 дня – при выборе признака результаты поиска будут отображаться в виде "шахматки"
Дополнительно пользователь может указать по какому варианту наличия мест необходимо искать авиаперелеты:
- Есть
- Есть+запрос
- Все
По умолчанию выбран вариант "Есть+запрос"
Валюта – валюта, в которой будет отображаться цена авиаперелета. Отображаются все валюты из справочника "Список валют", у которых выбран признак "Отображать в поиске".
По умолчанию выбрана "национальная" валюта
Также в поиске доступен переключатель языков (по умолчанию есть три варианта языка – русский, украинский и английский). С настройкой отображаемых данных можно ознакомиться в разделе Настройка языка приложения.
После выбора значений в главных фильтрах становится доступной кнопка "Найти", при нажатии на которую система отберет туры по заданным параметрам
При изменении основных фильтров (откуда, страна, город) будут подобраны ранее выбранные даты вылета и возврата, если в них будет возможность найти туры
Правила скрещивания, установленные в программе туров также учитываются при подборе авиаперелетов
Расчет стоимости тура
Расчет стоимости услуг в составе заказа (Цена тура):
Изначально расчет всегда ведется в валюте тура (например: если цены на услуги заведены в $, а валюта тура EU, то в момент расчета происходит конвертация значения цены в валюте $ в валюту EU по курсу на дату расчета). Затем применяются настройки округления, указанные в ПК Мастер-Тур (если указаны настройки округления стоимости услуг).
Стоимости этих услуг суммируются и общая сумма также округляется (по настройкам округления ПК Мастер-Тур). Полученная сумма отображается в корзине как стоимость тура (всегда в валюте тура).
Расчет стоимости тура в валюте, выбранной в поиске:
Округленная (по настройкам, указанным в ПК Мастер-Тур) стоимость в валюте тура конвертируется по текущему курсу в валюту поиска и итоговый результат также округляется (по настройкам, указанным в ПК Мастер-Тур).
Аналогичным способом рассчитывается стоимость в национальной валюте в корзине, только в качестве отображаемой валюты всегда выступает национальная валюта.
Расчет стоимости в экранах OrderInfo и OrderList:
При отображении стоимостей в экранах OrderInfo и OrderList, выводятся две цены: первая в валюте тура, полученная в п.1 (не важно в результате расчета или введенная руками),
и вторая в национальной валюте, которая получается путем конвертации по зафиксированному курсу, либо курсу на текущую дату из стоимости в валюте путевки. Результат округляется математически до сотых.
Аналогично происходит расчет в национальной валюте в экране Путевка (исходя из наличия зафиксированного курса).
Дополнительные фильтры
Для удобства поиска авиаперелетов по определенным параметрам можно воспользоваться дополнительными фильтрами
Дополнительные фильтры применяются к уже отобранным по главным фильтрам вариантам туров. В программе представлены следующие дополнительные фильтры:
- Цена – отбор туров в заданном диапазоне цен
- Параметры авиаперелета – отбор по параметрам авиаперелета (время вылета/прилета, аэропорт вылета/прилета, наличие пересадок вылета/прилета, авиакомпания и класс перелета)
Заданные дополнительные фильтры отображаются в виде "плашек"
Таблица авиаперелетов
- Вертикально – даты и дни недели вылета
- Горизонтально – даты и дни недели возврата
Синим выделены даты, выбранные в фильтре, желтым – даты гибкого поиска, зеленым - есть места, красным - нет мест или стоит 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¤cy=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. Параметры авиаперелета
- airlines — код авиакомпании из таблицы Airline
- airportDeparture — код аэропорта вылета
- airportArrival — код аэропорта прилета
- tariff — код класса перелета
- departureFlightNumberTransfer — количество пересадок вылета
- arrivalFlightNumberTransfer — количество пересадок прилета
- dTransfer=true — запрет на пересадку для прилета (без пересадок в прямом направлении)
- aTransfer=true — запрет на пересадку для вылета (без пересадок в обратном направлении)
- timeDepartureFrom/timeDepartureTo — временной интервал вылета (задается в формате ЧЧ:ММ)
- timeArrivalFrom/timeArrivalTo — временной интервал прилета (задается в формате ЧЧ:ММ)
Пример URL-запроса с использованием временных интервалов вылета и прилета:
http://ip-адрес сервера/TourSearchClient_15.3/Individuals/Avia?departureCity=1&destinationCountry=64&destinationCity=410&departureDate=20180719&returnDate=20180727&flexible=2&adultCount=2&aviaQuota=7¤cy=EUR&timeArrivalFrom=03:00&timeArrivalTo=23:59&timeDepartureFrom=01:00&timeDepartureTo=23:59
Корзина и бронирование
При выборе цены пользователь попадает в стандартную корзину и бронирование происходит стандартным образом