Мастер-Тур(15):Поиск и бронирование авиабилетов — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) (→Подготовка данных) |
Biryukov (обсуждение | вклад) (→Главные фильтры) |
||
(не показано 8 промежуточных версий этого же участника) | |||
Строка 11: | Строка 11: | ||
==Установка== | ==Установка== | ||
− | Экран поиска и бронирования авиабилетов не требует дополнительной установки, он предоставляется в стандартной поставке программы | + | Экран поиска и бронирования авиабилетов не требует дополнительной установки, он предоставляется в стандартной поставке программы и доступен по ссылке: ''<nowiki>http://ip-адрес сервера/TourSearchClient/Individuals/Avia</nowiki>''<br /> |
==Подготовка данных== | ==Подготовка данных== | ||
Для начала необходимо завести расписания авиаперелетов. Затем необходимо завести цены на каждое расписание. Все вышеописанное заводится стандартным образом.<br /> | Для начала необходимо завести расписания авиаперелетов. Затем необходимо завести цены на каждое расписание. Все вышеописанное заводится стандартным образом.<br /> | ||
− | После заведения цен необходимо создать программы туров. Для перелетов ''в одну сторону'' должна быть создана туров с одной услугой ''Авиаперелет''. Для перелетов ''туда и обратно'' должна быть создана программа туров с двумя услугами ''Авиаперелет''.<br /> | + | После заведения цен необходимо создать программы туров. Для перелетов ''в одну сторону'' должна быть создана программа туров с одной услугой ''Авиаперелет''. |
+ | <br />[[Файл:mb_287.png|1000px|Программа туров с перелетом в одну сторону]]<br /> | ||
+ | |||
+ | Для перелетов ''туда и обратно'' должна быть создана программа туров с двумя услугами ''Авиаперелет'' (одна – прямой перелет, вторая – обратный).<br /> | ||
+ | <br />[[Файл:mb_286.png|1000px|Программа туров с перелетом туда и обратно]]<br /> | ||
При необходимости добавления многоплечевого авиаперелета (рейсы с пересадками), то в рамках одной группы необходимо задать нужное количество плечей авиапрелета с помощью кнопки Добавить перелет | При необходимости добавления многоплечевого авиаперелета (рейсы с пересадками), то в рамках одной группы необходимо задать нужное количество плечей авиапрелета с помощью кнопки Добавить перелет | ||
При использовании в одной программе туров несколько вариантов полетной программы необходимо заводить их разными группами перелетов. Для добавления группы перелетов необходимо воспользоваться кнопкой добавления новой вкладки. | При использовании в одной программе туров несколько вариантов полетной программы необходимо заводить их разными группами перелетов. Для добавления группы перелетов необходимо воспользоваться кнопкой добавления новой вкладки. | ||
+ | <br />[[Файл:mb_288.png|800px|Детализация услуги авиаперелет]]<br /> | ||
+ | |||
Приоритет подбора перелетов: в поиске и корзине перелеты подбираются в соответствии с указанными приоритетами для группы авиаперелета. Если приоритет не указан – то подбирается рейс с минимальной ценой, даже если на него нет квоты, а есть квота на более дорогой перелет. То есть приоритеты идут следующим образом: | Приоритет подбора перелетов: в поиске и корзине перелеты подбираются в соответствии с указанными приоритетами для группы авиаперелета. Если приоритет не указан – то подбирается рейс с минимальной ценой, даже если на него нет квоты, а есть квота на более дорогой перелет. То есть приоритеты идут следующим образом: | ||
Строка 25: | Строка 31: | ||
* цена | * цена | ||
* квота | * квота | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Работа в системе== | ==Работа в системе== | ||
Строка 68: | Строка 68: | ||
* Куда (город) – город прибытия | * Куда (город) – город прибытия | ||
* Дата вылета – календарь, где актуальные даты вылета в выбранное направление подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов. | * Дата вылета – календарь, где актуальные даты вылета в выбранное направление подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов. | ||
− | * Дата возврата – календарь, где актуальные даты возврата подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов. | + | * Дата возврата (дата вылета обратно) – календарь, где актуальные даты возврата подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов. |
* Взрослые, дети (возраст детей) – количество взрослых и детей. Если указано количество детей, то возраст детей обязателен для заполнения.<br /> | * Взрослые, дети (возраст детей) – количество взрослых и детей. Если указано количество детей, то возраст детей обязателен для заполнения.<br /> | ||
* Выбора типа перелета: | * Выбора типа перелета: | ||
Строка 112: | Строка 112: | ||
* Цена – отбор туров в заданном диапазоне цен | * Цена – отбор туров в заданном диапазоне цен | ||
* Параметры авиаперелета – отбор по параметрам авиаперелета (время вылета/прилета, аэропорт вылета/прилета, наличие пересадок вылета/прилета, авиакомпания и класс перелета) | * Параметры авиаперелета – отбор по параметрам авиаперелета (время вылета/прилета, аэропорт вылета/прилета, наличие пересадок вылета/прилета, авиакомпания и класс перелета) | ||
− | Заданные дополнительные фильтры отображаются в виде "плашек" | + | Заданные дополнительные фильтры отображаются в виде "плашек". <br /><br /> |
+ | Начиная с '''релиза 15.3''' добавлены два признака в дополнительные фильтры ''Параметры авиаперелета'': | ||
+ | * Разрешить комбинировать авиаперелеты – по умолчанию признак не выбран. Выбрать его можно только в том случае, если выбрана хотя бы одна авиакомпания. При выборе данного признака будут подбираться рейсы, которые хотя бы в одном сегменте осуществляются выбранной авиакомпанией. Без выбора этого признака будут подбираться только те рейсы, в которых все сегменты авиаперелета осуществляются выбранной авиакомпанией. | ||
+ | * Разрешить комбинировать классы – по умолчанию признак не выбран. Выбрать его можно только в том случае, если выбран хотя бы один класс перелета. При выборе данного признака будут подбираться рейсы, в которых хотя бы в одном сегменте авиаперелета перевозка осуществляется выбранным классом. Без выбора этого признака будут подбираться только те рейсы, в которых на всех сегментах авиаперелета перевозка осуществляется выбранным классом. | ||
[[Файл:TP_100.png|1050px|Дополнительные фильтры]] | [[Файл:TP_100.png|1050px|Дополнительные фильтры]] | ||
− | |||
===Таблица авиаперелетов=== | ===Таблица авиаперелетов=== | ||
Строка 178: | Строка 180: | ||
2. Параметры авиаперелета | 2. Параметры авиаперелета | ||
+ | * '''timeDepartureFrom/timeDepartureTo''' — временной интервал вылета (задается в формате ЧЧ:ММ) | ||
+ | * '''timeArrivalFrom/timeArrivalTo''' — временной интервал прилета (задается в формате ЧЧ:ММ) | ||
+ | * '''airportDeparture''' — код аэропорта вылета | ||
+ | * '''airportArrival''' — код аэропорта прилета | ||
* '''airlines''' — код авиакомпании из таблицы ''Airline'' | * '''airlines''' — код авиакомпании из таблицы ''Airline'' | ||
− | + | * '''tariff''' — код класса перелета | |
− | + | * '''departureFlightNumberTransfer''' – наличие пересадок в прямом направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более) | |
− | * '''tariff''' — код класса перелета | + | * '''arrivalFlightNumberTransfer''' – наличие пересадок в обратном направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более) |
− | * '''departureFlightNumberTransfer''' | + | * '''dTransfer=true''' — запрет на пересадку для прилета (без пересадок в прямом направлении) |
− | * '''arrivalFlightNumberTransfer''' | + | * '''aTransfer=true''' — запрет на пересадку для вылета (без пересадок в обратном направлении) |
− | * '''dTransfer=true''' — запрет на пересадку для прилета (без пересадок в прямом направлении) | + | * '''CombineAirlines=true''' — разрешить комбинировать авиаперелеты. Параметр применяется только при наличии параметра '''airlines''' |
− | * '''aTransfer=true''' — запрет на пересадку для вылета (без пересадок в обратном направлении) | + | * '''CombineTariffs=true''' — разрешить комбинировать классы перелета. Параметр применяется только при наличии параметра '''tariff''' |
− | * ''' | ||
− | * ''' | ||
Пример URL-запроса с использованием временных интервалов вылета и прилета:<br /> | Пример URL-запроса с использованием временных интервалов вылета и прилета:<br /> |
Текущая версия на 13:04, 2 июля 2020
Версия статьи от 2-07-2020.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
Введение
В данном разделе описан механизм, позволяющий заводить, искать и продавать авиабилеты стандартным механизмом поиска и бронирования.
Установка
Экран поиска и бронирования авиабилетов не требует дополнительной установки, он предоставляется в стандартной поставке программы и доступен по ссылке: 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¤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. Параметры авиаперелета
- 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¤cy=EUR&timeArrivalFrom=03:00&timeArrivalTo=23:59&timeDepartureFrom=01:00&timeDepartureTo=23:59
Корзина и бронирование
При выборе цены пользователь попадает в стандартную корзину и бронирование происходит стандартным образом