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

Материал из Megatec
Перейти к: навигация, поиск
[непроверенная версия][досмотренная версия]
(Главные фильтры)
 
(не показано 18 промежуточных версий 2 участников)
Строка 3: Строка 3:
 
<table style="background-color:#ffffcc;color:black" border="1" cellpadding="10" cellspacing="0"><tr><td>
 
<table style="background-color:#ffffcc;color:black" border="1" cellpadding="10" cellspacing="0"><tr><td>
 
Поддерживаемые версии ПК «Мастер-Тур»:<br>
 
Поддерживаемые версии ПК «Мастер-Тур»:<br>
Начиная с 15.3 версии
+
Начиная с релиза 15.3
 
</td></tr></table><br>
 
</td></tr></table><br>
  
 
==Введение==
 
==Введение==
Данный экран предназначен для поиска актуальных цен с указанием наличия мест, отображения расширенной информации по авиаперелетам. Экран позволяет выдавать найденные цены с разной детализацией.  
+
В данном разделе описан механизм, позволяющий заводить, искать и продавать авиабилеты стандартным механизмом поиска и бронирования.
 +
 
 +
==Установка==
 +
 
 +
Экран поиска и бронирования авиабилетов не требует дополнительной установки, он предоставляется в стандартной поставке программы и доступен по ссылке: ''<nowiki>http://ip-адрес сервера/TourSearchClient/Individuals/Avia</nowiki>''<br />
 +
 
 +
==Подготовка данных==
 +
 
 +
Для начала необходимо завести расписания авиаперелетов. Затем необходимо завести цены на каждое расписание. Все вышеописанное заводится стандартным образом.<br />
 +
После заведения цен необходимо создать программы туров. Для перелетов ''в одну сторону'' должна быть создана программа туров с одной услугой ''Авиаперелет''.
 +
<br />[[Файл:mb_287.png|1000px|Программа туров с перелетом в одну сторону]]<br />
 +
 
 +
Для перелетов ''туда и обратно'' должна быть создана программа туров с двумя услугами ''Авиаперелет'' (одна – прямой перелет, вторая – обратный).<br />
 +
<br />[[Файл:mb_286.png|1000px|Программа туров с перелетом туда и обратно]]<br />
 +
 
 +
При необходимости добавления многоплечевого авиаперелета (рейсы с пересадками), то в рамках одной группы необходимо задать нужное количество плечей авиапрелета с помощью кнопки Добавить перелет
 +
При использовании в одной программе туров несколько вариантов полетной программы необходимо заводить их разными группами перелетов. Для добавления группы перелетов необходимо воспользоваться кнопкой добавления новой вкладки.
 +
<br />[[Файл:mb_288.png|800px|Детализация услуги авиаперелет]]<br />
 +
 
 +
Приоритет подбора перелетов: в поиске и корзине перелеты подбираются в соответствии с указанными приоритетами для группы авиаперелета. Если приоритет не указан – то подбирается рейс с минимальной ценой, даже если на него нет квоты, а есть квота на более дорогой перелет. То есть приоритеты идут следующим образом:
 +
 
 +
* приоритет
 +
* цена
 +
* квота
 +
 
 +
==Работа в системе==
  
 
===Авторизация===
 
===Авторизация===
  
Для наличия возможности бронирования заявки в корзине необходимо авторизоваться в системе, введя Имя пользователя и Пароль. Авторизация может происходить как в экране поиска (тогда перейдя в корзину авторизационные данные пользователя будут сохранены), либо в самой корзине.
+
Для бронирования авиабилетов необходимо авторизоваться в системе, введя Имя пользователя и Пароль. Авторизация может происходить как в экране поиска (тогда перейдя в корзину авторизационные данные пользователя будут сохранены), так и в самой корзине.
 
   
 
   
{| border="1" style="border-collapse:collapse"
+
[[Файл:jk_44.png|300px|Авторизация]]
|-
 
| [[Файл:jk_44.png|300px|Авторизация]]
 
|-
 
|}
 
 
 
  
 
====Восстановление пароля====
 
====Восстановление пароля====
Строка 24: Строка 44:
 
Если пароль для входа в систему бронирования забыт, то можно воспользоваться функцией восстановления пароля. Для этого на форме '''Вход в систему''' нужно нажать '''Забыли пароль?''', после чего откроется экран '''Восстановление пароля'''.
 
Если пароль для входа в систему бронирования забыт, то можно воспользоваться функцией восстановления пароля. Для этого на форме '''Вход в систему''' нужно нажать '''Забыли пароль?''', после чего откроется экран '''Восстановление пароля'''.
  
{| border="1" style="border-collapse:collapse"
+
[[Файл:jk_109.png|Восстановление пароля]]
|-
 
| [[Файл:jk_109.png|Восстановление пароля]]
 
|-
 
|}
 
  
 
В одно из полей вводим известные данные:   
 
В одно из полей вводим известные данные:   
 
* Логин — вводим логин для входа в систему (если регистрировались как частное лицо и не меняли логин, то им является e-mail)   
 
* Логин — вводим логин для входа в систему (если регистрировались как частное лицо и не меняли логин, то им является e-mail)   
 
* E-mail — адрес электронной почты, указанный при регистрации
 
* E-mail — адрес электронной почты, указанный при регистрации
Затем нажимаем кнопку '''Выслать пароль''' и на электронную почту придет письмо с логином и паролем для входа в систему бронирования.<br>
+
Затем нажимаем кнопку '''Выслать пароль''' и на электронную почту придет письмо с логином и паролем для входа в систему бронирования<br>
Шаблон письма находится в '''MasterWeb &rarr; Templates &rarr; PasswordRecovery.xml'''.
+
Шаблон письма находится в '''MasterWeb &rarr; Templates &rarr; PasswordRecovery.xml'''
  
 
==Страница поиска авиабилетов==
 
==Страница поиска авиабилетов==
  
 
На данной странице есть несколько функциональных блоков:
 
На данной странице есть несколько функциональных блоков:
* главные фильтры
+
* Главные фильтры
* дополнительные фильтры
+
* Дополнительные фильтры
* таблица авиаперелетов
+
* Результаты поиска в виде "шахматки"
* результаты поиска<BR>
+
* Результаты поиска в виде списка
  
 +
[[Файл:TP_98.png|1050px|Поиск авиаперелетов]]
  
{| border="1" style="border-collapse:collapse"
+
===Главные фильтры===
|-
+
Для того чтобы просмотреть цены по авиаперелетам необходимо задать поисковые параметры в главных фильтрах:
| [[Файл:TP_98.png|Поиск авиаперелетов]]
+
* Откуда – город начала поездки
|-
+
* Куда (страна) – страна прибытия
|}
+
* Куда (город) – город прибытия
 +
* Дата вылета – календарь, где актуальные даты вылета в выбранное направление подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов.
 +
* Дата возврата (дата вылета обратно) – календарь, где актуальные даты возврата подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов.
 +
* Взрослые, дети (возраст детей) – количество взрослых и детей. Если указано количество детей, то возраст детей обязателен для заполнения.<br />
 +
* Выбора типа перелета:
 +
** В один конец – в этом случае скрывается фильтра Дата возврата и поиск авиаперелета будет осуществляться только в одну сторону
 +
** Туда и обратно – в этом случае будет производиться поиск туда/обратно. По умолчанию выбран вариант "Туда и обратно". <br />
 +
* +/- 1-3 дня – при выборе признака результаты поиска будут отображаться в виде "шахматки"
  
Пользователь может указать по какому варианту наличия мест необходимо искать авиаперелеты:
+
Дополнительно пользователь может указать по какому варианту наличия мест необходимо искать авиаперелеты:
 
* Есть
 
* Есть
 
* Есть+запрос
 
* Есть+запрос
* Все<BR>
+
* Все<br />
По умолчанию выбран вариант "Есть+запрос" <BR>
 
  
 +
По умолчанию выбран вариант "Есть+запрос" <br />
  
Также есть возможность выбора типа перелета:
+
Валюта – валюта, в которой будет отображаться цена авиаперелета. Отображаются все валюты из справочника "Список валют", у которых выбран признак "Отображать в поиске".<br />
* В один конец
+
По умолчанию выбрана "национальная" валюта<BR><br />
* Туда и обратно
 
По умолчанию выбран вариант "Туда и обратно" <BR>
 
  
 +
Также в поиске доступен переключатель языков (по умолчанию есть три варианта языка – русский, украинский и английский). С настройкой отображаемых данных можно ознакомиться в разделе [[Мастер-Тур(15):Настройки системы#Настройка языка приложения| Настройка языка приложения]].
  
Для отображения таблицы с авиаперелетами необходимо включить чек-бокс +/- 1-3 дня
+
[[Файл:TP_99.png|1050px|Главные фильтры]]<br />
  
 
+
После выбора значений в главных фильтрах становится доступной кнопка "Найти", при нажатии на которую система отберет туры по заданным параметрам<br />
Валюта - валюта, в которой будет отображаться цены. Отображаются все валюты из справочника "Список валют", у который выбран признак "Отображать в поиске".<BR>
+
При изменении основных фильтров (откуда, страна, город) будут подобраны ранее выбранные даты вылета и возврата, если в них будет возможность найти туры <br />
По умолчанию выбрана "национальная" валюта.<BR><BR>
 
 
 
Также в поиске доступен переключатель языков (по умолчанию есть три варианта языка - русский украинский и английский). С настройкой отображаемых данных можно ознакомиться в разделе [[Мастер-Тур(15):Настройки системы#Настройка языка приложения| Настройка языка приложения]]
 
 
 
===Главные фильтры===
 
Для того чтобы просмотреть цены по турам необходимо задать поисковые параметры в главных фильтрах:
 
* Откуда - город начала поездки;
 
* Куда(Страна) - страна прибытия;
 
* Куда(Город) - город прибытия;
 
* Дата вылета - календарь, где актуальные даты вылета в выбранное направление подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов;
 
* Дата возврата- календарь, где актуальные даты возврата подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных авиаперелетов. Дата возврата не может быть больше даты вылета;
 
* Взрослые, дети (возраст детей). Если указано количество детей, то возраст детей обязателен для заполнения.<BR>
 
 
 
 
 
[[Файл:TP_99.png|Главные фильтры]]<br />
 
 
 
 
 
После выбора значений в главных фильтрах становится доступной кнопка "Найти", при нажатии на которую система отберет туры по заданным параметрам.<BR>
 
При изменении основных фильтров (откуда, страна, город) будут подобраны ранее выбранные даты вылета и возврата, если в них будет возможность найти туры.<BR>
 
 
  Правила скрещивания, установленные в программе туров также учитываются при подборе авиаперелетов
 
  Правила скрещивания, установленные в программе туров также учитываются при подборе авиаперелетов
  
 
====Расчет стоимости тура====
 
====Расчет стоимости тура====
 
'''Расчет стоимости услуг в составе заказа (Цена тура):'''<BR>  
 
'''Расчет стоимости услуг в составе заказа (Цена тура):'''<BR>  
Изначально расчет всегда ведется в валюте тура (например: если цены на услуги заведены в $, а валюта тура EU,  
+
Изначально расчет всегда ведется в валюте тура (например: если цены на услуги заведены в $, а валюта тура EU, то в момент расчета происходит конвертация значения цены в валюте $ в валюту EU по курсу на дату расчета). Затем применяются настройки округления, указанные в ПК Мастер-Тур (если указаны настройки округления стоимости услуг).
то в момент расчета происходит конвертация значения цены в валюте $ в валюту EU по курсу на дату расчета). Затем применяются настройки округления,  
+
Стоимости этих услуг суммируются и общая сумма также округляется (по настройкам округления ПК Мастер-Тур). Полученная сумма отображается в корзине как стоимость тура (всегда в валюте тура).<BR>
указанные в ПК Мастер-Тур (если указаны настройки округления стоимости услуг).
 
Стоимости этих услуг суммируются и общая сумма также округляется (по настройкам округления ПК Мастер-Тур). Полученная сумма отображается  
 
в корзине как стоимость тура (всегда в валюте тура).<BR>
 
 
   
 
   
 
'''Расчет стоимости тура в валюте, выбранной в поиске:'''<BR>
 
'''Расчет стоимости тура в валюте, выбранной в поиске:'''<BR>
Округленная (по настройкам, указанным в ПК Мастер-Тур) стоимость в валюте тура  
+
Округленная (по настройкам, указанным в ПК Мастер-Тур) стоимость в валюте тура конвертируется по текущему курсу в валюту поиска и итоговый результат также округляется (по настройкам, указанным в ПК Мастер-Тур).
конвертируется по текущему курсу в валюту поиска и итоговый результат также округляется (по настройкам, указанным в ПК Мастер-Тур).  
 
 
Аналогичным способом рассчитывается стоимость в национальной валюте в корзине, только в качестве отображаемой валюты всегда выступает национальная валюта.<BR>
 
Аналогичным способом рассчитывается стоимость в национальной валюте в корзине, только в качестве отображаемой валюты всегда выступает национальная валюта.<BR>
 
'''Расчет стоимости в экранах OrderInfo и OrderList:'''<BR>
 
'''Расчет стоимости в экранах OrderInfo и OrderList:'''<BR>
Строка 108: Строка 108:
 
===Дополнительные фильтры===
 
===Дополнительные фильтры===
  
Для удобства поиска авиаперелетов по определенным параметрам можно воспользоваться дополнительными фильтрами.<br>
+
Для удобства поиска авиаперелетов по определенным параметрам можно воспользоваться дополнительными фильтрами<br>
 
Дополнительные фильтры применяются к уже отобранным по главным фильтрам вариантам туров. В программе представлены следующие дополнительные фильтры:
 
Дополнительные фильтры применяются к уже отобранным по главным фильтрам вариантам туров. В программе представлены следующие дополнительные фильтры:
* Цена – отбор туров в заданном диапазоне цен;
+
* Цена – отбор туров в заданном диапазоне цен
* Параметры авиаперелета – отбор по параметрам авиаперелета (время вылета/прилета, аэропорт вылета/прилета, наличие пересадок вылета/прилета, авиакомпания и класс перелета);
+
* Параметры авиаперелета – отбор по параметрам авиаперелета (время вылета/прилета, аэропорт вылета/прилета, наличие пересадок вылета/прилета, авиакомпания и класс перелета)
Заданные дополнительные фильтры отображаются в виде "плашек".
+
Заданные дополнительные фильтры отображаются в виде "плашек". <br /><br />
 +
Начиная с '''релиза 15.3''' добавлены два признака в дополнительные фильтры ''Параметры авиаперелета'':
 +
* Разрешить комбинировать авиаперелеты – по умолчанию признак не выбран. Выбрать его можно только в том случае, если выбрана хотя бы одна авиакомпания. При выборе данного признака будут подбираться рейсы, которые хотя бы в одном сегменте осуществляются выбранной авиакомпанией. Без выбора этого признака будут подбираться только те рейсы, в которых все сегменты авиаперелета осуществляются выбранной авиакомпанией.
 +
* Разрешить комбинировать классы – по умолчанию признак не выбран. Выбрать его можно только в том случае, если выбран хотя бы один класс перелета. При выборе данного признака будут подбираться рейсы, в которых хотя бы в одном сегменте авиаперелета перевозка осуществляется выбранным классом. Без выбора этого признака будут подбираться только те рейсы, в которых на всех сегментах авиаперелета перевозка осуществляется выбранным классом.
  
{| border="1" style="border-collapse:collapse"
 
|-
 
| [[Файл:TP_100.png|Дополнительные фильтры]]
 
|-
 
|}
 
  
 +
[[Файл:TP_100.png|1050px|Дополнительные фильтры]]
  
 
===Таблица авиаперелетов===
 
===Таблица авиаперелетов===
Строка 126: Строка 125:
 
* Горизонтально – даты и дни недели возврата
 
* Горизонтально – даты и дни недели возврата
  
Синим выделены даты, выбранные в фильтре, желтым – даты гибкого поиска, зеленым - есть места <BR>
+
Синим выделены даты, выбранные в фильтре, желтым – даты гибкого поиска, зеленым - есть места, красным - нет мест или стоит stop-sale на эти даты<BR>
На стыке дат показывается кол-во вариантов имеющихся перелетов + минимальная цена.<BR>
+
На стыке дат показывается кол-во вариантов имеющихся перелетов + минимальная цена<BR>
  
{| border="1" style="border-collapse:collapse"
+
 
|-
+
[[Файл:TP_101.png|Таблица авиаперелетов]]
| [[Файл:TP_101.png|Таблица авиаперелетов]]
 
|-
 
|}
 
  
  
 
===Результаты поиска===
 
===Результаты поиска===
По каждому найденному варианту туру будет представлена следующая информация:
+
По каждому найденному варианту тура будет представлена следующая информация:
 
* Авиакомпания
 
* Авиакомпания
 
* Дата
 
* Дата
 
* Рейс
 
* Рейс
 
* Тариф
 
* Тариф
* Цена от - минимальная возможная цена варианта тура по заданным в фильтрах дате и количеству людей.
+
* Цена от - минимальная возможная цена варианта тура по заданным в фильтрах дате и количеству людей
Для просмотра информации о доступных вариантах необходимо кликнуть по слову "Варианты" в соответствующей строке тура. Откроется список доступных вариантов по данному туру.<BR>
+
Для просмотра информации о доступных вариантах необходимо кликнуть по слову "Варианты" в соответствующей строке тура. Откроется список доступных вариантов по данному туру. Слева от рейса отображается наличие мест<BR>
Слева от рейса отображается наличие мест.<BR>
 
  
{| border="1" style="border-collapse:collapse"
 
|-
 
| [[Файл:TP_102.png|1050px|Результаты поиска]]
 
|-
 
|}
 
  
 +
[[Файл:TP_102.png|1050px|Результаты поиска]]
  
 
==Параметры, передаваемые через URL страницы==
 
==Параметры, передаваемые через URL страницы==
  
Предусмотрена возможность поиска тура по параметрам, указанным в URL-запросе страницы.<br>
+
Предусмотрена возможность поиска тура по параметрам, указанным в URL-запросе страницы<br>
  
 
Пример URL-запроса:<br>
 
Пример URL-запроса:<br>
Строка 165: Строка 156:
 
Ниже перечисленные параметры являются обязательными:
 
Ниже перечисленные параметры являются обязательными:
  
* '''departureCity''' — код города вылета из таблицы ''CityDictionary'';
+
* '''departureCity''' — код города вылета из таблицы ''CityDictionary''
* '''destinationCountry''' — "1_" + код страны места назначения из таблицы ''Country'';
+
* '''destinationCountry''' — "1_" + код страны места назначения из таблицы ''Country''
* '''destinationCity''' — код города места назначения из таблицы ''CityDictionary'';
+
* '''destinationCity''' — код города места назначения из таблицы ''CityDictionary''
* '''departureDate''' — дата вылета (дата задается в формате ''ДД.ММ.ГГГГ'');
+
* '''departureDate''' — дата вылета (дата задается в формате ''ДД.ММ.ГГГГ'')
* '''returnDate''' — дата возврата (дата задается в формате ''ДД.ММ.ГГГГ'');
+
* '''returnDate''' — дата возврата (дата задается в формате ''ДД.ММ.ГГГГ'')
* '''adultCount''' — количество взрослых;
+
* '''adultCount''' — количество взрослых
* '''aviaQuota''' — код варианта наличия мест на авиаперелеты (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все");
+
* '''aviaQuota''' — код варианта наличия мест на авиаперелеты (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все")
* '''currency''' — ISO код валюты (задается в справочнике '''Список валют''').<br />
+
* '''currency''' — ISO код валюты (задается в справочнике '''Список валют''')<br />
  
 
===Необязательные параметры URL-запроса===
 
===Необязательные параметры URL-запроса===
  
* '''childAges''' — возраст ребенка (если детей более одного, то возраста перечисляется через запятую, если возраст ребенка "0" - то обрабатывается как "не указан");<br />
+
* '''childAges''' — возраст ребенка (если детей более одного, то возраста перечисляется через запятую, если возраст ребенка "0" - то обрабатывается как "не указан")<br />
 
 
 
 
 
'''Параметры дополнительных фильтров:'''<br />
 
'''Параметры дополнительных фильтров:'''<br />
Строка 182: Строка 173:
 
1. Цена
 
1. Цена
  
* '''minPrice''' — минимальная цена;<br />
+
* '''minPrice''' — минимальная цена<br />
* '''maxPrice''' — максимальная цена;<br />
+
* '''maxPrice''' — максимальная цена<br />
  
 
Параметры фильтра Цена можно использовать как в совокупности, так и по отдельности.
 
Параметры фильтра Цена можно использовать как в совокупности, так и по отдельности.
Строка 189: Строка 180:
 
2. Параметры авиаперелета
 
2. Параметры авиаперелета
  
* '''airlines''' — код авиакомпании из таблицы ''Airline'';
+
* '''timeDepartureFrom/timeDepartureTo''' — временной интервал вылета (задается в формате ЧЧ:ММ)
* '''airportDeparture''' — код аэропорта вылета;<br />
+
* '''timeArrivalFrom/timeArrivalTo''' — временной интервал прилета (задается в формате ЧЧ:ММ)
* '''airportArrival''' — код аэропорта прилета;<br />
+
* '''airportDeparture''' — код аэропорта вылета
* '''tariff''' — код класса перелета;<br />
+
* '''airportArrival''' — код аэропорта прилета
* '''departureFlightNumberTransfer''' — количество пересадок вылета;<br />
+
* '''airlines''' — код авиакомпании из таблицы ''Airline''
* '''arrivalFlightNumberTransfer''' — количество пересадок прилета;<br />
+
* '''tariff''' — код класса перелета
* '''dTransfer=true''' — запрет на пересадку для прилета (без пересадок в прямом направлении);<br />
+
* '''departureFlightNumberTransfer''' – наличие пересадок в прямом направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более)
* '''aTransfer=true''' — запрет на пересадку для вылета (без пересадок в обратном направлении);<br />
+
* '''arrivalFlightNumberTransfer''' – наличие пересадок в обратном направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более)
* '''timeDepartureFrom/timeDepartureTo''' — временной интервал вылета (задается в формате ЧЧ:ММ);<br />
+
* '''dTransfer=true''' — запрет на пересадку для прилета (без пересадок в прямом направлении)
* '''timeArrivalFrom/timeArrivalTo''' — временной интервал прилета (задается в формате ЧЧ:ММ);<br />
+
* '''aTransfer=true''' — запрет на пересадку для вылета (без пересадок в обратном направлении)
 +
* '''CombineAirlines=true''' — разрешить комбинировать авиаперелеты. Параметр применяется только при наличии параметра '''airlines'''
 +
* '''CombineTariffs=true''' — разрешить комбинировать классы перелета. Параметр применяется только при наличии параметра '''tariff'''
  
 
Пример URL-запроса с использованием временных интервалов вылета и прилета:<br />
 
Пример URL-запроса с использованием временных интервалов вылета и прилета:<br />
Строка 204: Строка 197:
 
</nowiki>'''</code><br />
 
</nowiki>'''</code><br />
  
==Быстрый поиск==
+
==Корзина и бронирование==
Также можно осуществить поиск, воспользовавшись формой '''Быстрый поиск'''. Данная форма вставляется в любую страницу сайта (для этого используются фреймы).<br />
+
 
[[Файл:Mb_237.png]]<br />
+
При выборе цены пользователь попадает в стандартную [[Мастер-Тур(15):Корзина|корзину]] и бронирование происходит стандартным образом
Для того, чтобы вставить эту форму на страницу, нужно добавить следующий текст:
 
<IFRAME SRC="HTTP://ip-сервера/TourSearchClient/DemoSearch" scrolling="no" width="280" height="450" FRAMEBORDER="0">
 
Дизайн настраивается в файле ''\TourSearchClient\Views\DemoSearch\Index.cshtml''. Стили прописываются в файле ''\TourSearchClient\Content\Shared\Common.css''.<br />
 
На форме отображены фильтры, аналогичные основным фильтрам поиска: '''Откуда''', '''Куда''', '''Тип тура''', '''Даты заезда''', '''Количество ночей от... до...''', '''Взрослые''', '''Дети'''. После их заполнения и нажатия кнопки '''Найти''' происходит переход на основной поиск, куда передаются все параметры, выбранные в фильтрах быстрого поиска.
 
  
  
 
[[Category:Мастер-Тур(15)]]
 
[[Category:Мастер-Тур(15)]]

Текущая версия на 13:04, 2 июля 2020

Версия статьи от 2-07-2020.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с релиза 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

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

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