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

Материал из Megatec
Перейти к: навигация, поиск
(Регистрация частного лица)
(Фильтр Выбранная комбинация отелей)
 
(не показано 157 промежуточных версий 9 участников)
Строка 1: Строка 1:
<span style="color:red;font-size:120%">Статья находится на стадии разработки.</span><br />
 
 
Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}.
 
Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}.
  
Строка 8: Строка 7:
  
 
==Введение==
 
==Введение==
Данный экран предназначен для публикации в онлайн актуальной информации о ценах, программах туров, наличию мест и условиях продажи туров.
+
Данный экран предназначен для поиска актуальных цен с указанием наличия мест, отображения расширенной информации о программах туров и условиях продажи. Экран позволяет выдавать найденные цены с разной детализацией и группировать по нескольким параметрам. Также данном экран предназначен для поиска туров без проживания (к примеру, экскурсионных), а также автобусных туров (начиная с релиза 15.2).
 +
 
 +
[https://www.youtube.com/watch?v=aJUUtAUQ9-k Поиск и бронирование туров (YouTube)]
  
 
==Страница поиска туров==
 
==Страница поиска туров==
Строка 28: Строка 29:
 
Для наличия возможности бронирования заявки в корзине необходимо авторизоваться в системе, введя Имя пользователя и Пароль. Авторизация может происходить как в экране поиска (тогда перейдя в корзину авторизационные данные пользователя будут сохранены), либо в самой корзине.
 
Для наличия возможности бронирования заявки в корзине необходимо авторизоваться в системе, введя Имя пользователя и Пароль. Авторизация может происходить как в экране поиска (тогда перейдя в корзину авторизационные данные пользователя будут сохранены), либо в самой корзине.
 
   
 
   
{| border="1" style="border-collapse:collapse"
+
<br />[[Файл:mb_339.png|Восстановление пароля]]<br />
|-
 
| [[Файл:jk_44.png|300px|Состав тура]]
 
|-
 
|}
 
  
  
Строка 44: Строка 41:
 
|-
 
|-
 
|}
 
|}
 +
  
 
В одно из полей вводим известные данные:   
 
В одно из полей вводим известные данные:   
Строка 51: Строка 49:
 
Шаблон письма находится в '''MasterWeb &rarr; Templates &rarr; PasswordRecovery.xml'''.
 
Шаблон письма находится в '''MasterWeb &rarr; Templates &rarr; PasswordRecovery.xml'''.
  
====Регистрация агенства====
+
====Регистрация агентства====
  
Для того чтобы зарегистрировать агенство на форме '''Вход в систему''' нужно выбрать пункт '''Регистрация агенства''', после чего откроется экран '''Регистрация партнера'''.
+
Для того чтобы зарегистрировать агентство на форме '''Вход в систему''' нужно выбрать пункт '''Регистрация агентства''', после чего откроется экран '''Регистрация партнера'''.
  
 
{| border="1" style="border-collapse:collapse"
 
{| border="1" style="border-collapse:collapse"
Строка 87: Строка 85:
  
 
Для того чтобы зарегистрировать частное лицо на форме '''Вход в систему''' нужно выбрать пункт '''Регистрация туриста''', после чего откроется регистрационная форма '''Регистрация частного лица'''.
 
Для того чтобы зарегистрировать частное лицо на форме '''Вход в систему''' нужно выбрать пункт '''Регистрация туриста''', после чего откроется регистрационная форма '''Регистрация частного лица'''.
 +
Существует две формы регистрации частного лица, стандартная форма и упрощенная регистрация частного лица (включается в [[Мастер-Тур(15):Программа туров. Настройки|настройках]]).
 +
 +
 +
=====Стандартная регистрация частного лица=====
  
 
{| border="1" style="border-collapse:collapse"
 
{| border="1" style="border-collapse:collapse"
 
|-
 
|-
| [[Файл:jk_107.png|Регистрация частного лица]]
+
| [[Файл:RR 146.png|Регистрация частного лица]]
 
|-
 
|-
 
|}
 
|}
Строка 96: Строка 98:
  
 
Заполняем регистрационные данные. Обязательные поля:
 
Заполняем регистрационные данные. Обязательные поля:
* Имя;
+
* Имя
* Фамилия;
+
* Фамилия
* Телефон;
+
* Телефон
* E-mail(Логин) - введенный e-mail будет являться логином. Поменять логин можно в Справочники->Постоянные клиенты->Регистрационные данные;
+
* E-mail (Логин) введенный e-mail будет являться логином. Поменять логин можно в Справочники->Постоянные клиенты->Регистрационные данные
* Пароль - должен содержать не менее шести символов, среди которых должны быть латинские буквы (строчные и прописные), цифры или символы;
+
* Пароль должен содержать не менее шести символов, среди которых должны быть латинские буквы (строчные и прописные), цифры или символы
* Подтверждение пароля;
+
* Подтверждение пароля
* Ведите текст с картинки (латиница) - поле для ввода проверочного кода с картинки. Если код трудночитаемый, то можно нажать кнопку '''Обновить'''.
+
* Ведите текст с картинки (латиница) поле для ввода проверочного кода с картинки. Если код трудночитаемый, то можно нажать кнопку '''Обновить'''
  
 
Необязательные поля:
 
Необязательные поля:
* Страна;
+
* Страна
* Город;
+
* Город
* Адрес;
+
* Адрес
* Примечание.
+
* Примечание
  
 
<BR>[[Файл: mb_031.png|left|Дополнительная информация]] <BR>
 
<BR>[[Файл: mb_031.png|left|Дополнительная информация]] <BR>
 
  В форму регистрации частного лица существует возможность добавить обязательное поле «Гражданство».
 
  В форму регистрации частного лица существует возможность добавить обязательное поле «Гражданство».
  Регулируется настройкой [[Мастер-Тур(15):Программа туров. Панель администрирования#Общие настройки|Запрашивать гражданство при регистрации частника]].<br />
+
  Регулируется настройкой [[Мастер-Тур(15):Программа туров. Настройки|Запрашивать гражданство при регистрации частника]].<br />
 +
 
 +
=====Упрощенная регистрация частного лица=====
 +
 
 +
Упрощенная регистрация туриста позволяет максимально быстро зарегистрироваться с заполнением минимально необходимых полей, а также сразу купить путевку (подробнее об этом описано в разделе о [[Мастер-Тур(15):Поиск вариантов программ туров#Взаимодействие формы регистрации и корзины|взаимодействии формы регистрации и корзины]])
 +
 
 +
[[Файл:RR 144.png|Упрощенная регистрация частного лица]]
 +
 
 +
Упрощенная регистрация частного лица включается в общих настройках в [[Мастер-Тур(15):Программа туров. Настройки|настройках]].
 +
Обязательные поля:
 +
 
 +
* Имя
 +
* Фамилия
 +
* Телефон
 +
* E-mail (Логин) – введенный e-mail будет являться логином. Поменять логин можно в Справочники->Постоянные клиенты->Регистрационные данные
 +
* Ведите текст с картинки (латиница) – поле для ввода проверочного кода с картинки. Если код трудночитаемый, то можно нажать кнопку '''Обновить'''
 +
 
 +
Поле пароль в упрощенной форме регистрации отсутствует. Пароль автоматически генерируются и отправляются на указанный при регистрации электронный адрес.<br>
 +
Настройка ''Запрашивать гражданство при регистрации частного лица'' в форме ''Упрощенная регистрация частного лица'' не обрабатывается.
 +
 
  
 
После того, как данные заполнены, нажимаем кнопку '''Зарегистрироваться'''. По факту регистрации на указанный e-mail частного лица приходит письмо, которое уведомляет об успешно пройденной регистрации. Также приходит письмо на электронную почту администратора системы, уведомляющее, что в системе произошла регистрация частного лица.<br>
 
После того, как данные заполнены, нажимаем кнопку '''Зарегистрироваться'''. По факту регистрации на указанный e-mail частного лица приходит письмо, которое уведомляет об успешно пройденной регистрации. Также приходит письмо на электронную почту администратора системы, уведомляющее, что в системе произошла регистрация частного лица.<br>
Строка 118: Строка 139:
 
*TemplateForTourist.txt - шаблон письма ''Произведена регистрация в системе онлайн бронирования'';
 
*TemplateForTourist.txt - шаблон письма ''Произведена регистрация в системе онлайн бронирования'';
 
*TemplateForAdmin.txt - шаблон письма ''Новая регистрация частного лица''
 
*TemplateForAdmin.txt - шаблон письма ''Новая регистрация частного лица''
Для отправки писем в '''Megatek.TourSearchOwin.exe.config''' службы '''TourSearchOwin''' нужно указать настройки:
 
  
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
+
Настройки для отправки писем задаются в конфигурационном файле [[Мастер-Тур(15):Установка#Установка службы поиска|Megatec.TourSearchOwin.exe.config]].
  
|- style="background-color:#F2F2F2"
+
Настройка ссылки на Политику конфиденциальности задаётся в конфигурационном файле [[Мастер-Тур(15):Установка#Установка поиска вариантов программ туров|web.config, в папке TourSearchClient ]].
  
! width="2%" | №
+
=====Взаимодействие формы регистрации и корзины=====
! width="35%" | Описание
 
! width="35%" | Настройка
 
  
|- style="vertical-align:text-top"
+
* Если неавторизированный турист в корзине внес данные туристов и нажал кнопку '''Вход в систему''' – открывается окно авторизации. При выборе пункта ''регистрация туриста'' – откроется регистрационная форма с уже заполненными данными, внесенными для главного туриста. При нажатии на '''Зарегистрироваться''' будет произведена регистрация и авторизация туриста.
  
| 1
+
* Если неавторизированный турист в корзине внес данные туристов и нажал кнопку '''Купить''' – открывается окно авторизации. При выборе пункта ''регистрация туриста'' – откроется регистрационная форма с уже заполненными данными, внесенными для главного туриста. При нажатии на '''Купить''' будет произведена регистрация туриста, его авторизация и попытка бронирования (если все обязательные поля заполнены). Если заполнены не все обязательные поля для бронирования, то система сообщит об этом пользователю. Данный пункт обрабатывается только в упрощенной форме регистрации.
| Адрес, с которого отправляются письма из системы бронирования
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="mailFrom"value="MasterWeb@EmailServiceProvider.com" />
 
</syntaxhighlight>
 
  
|- style="vertical-align:text-top"
+
* Если неавторизированный турист в корзине нажал кнопку '''Вход в систему''' – открывается окно авторизации. При выборе пункта ''регистрация туриста'' – откроется регистрационная форма. После заполнения обязательных полей и нажатии кнопки '''Зарегистрироваться''' будет произведена регистрация и авторизация туриста, а все введенные при регистрации данные будут добавлены главному туристу.
| 2
 
| Адрес администратора системы, на который приходит уведомление о новой регистрации (можно добавить несколько адресов через « ; »)
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="rcptTo"value="MasterWebAdmin@EmailServiceProvider.com"/>
 
</syntaxhighlight>
 
  
|- style="vertical-align:text-top"
+
* Если неавторизированный турист в корзине нажал кнопку '''Купить''' – открывается окно авторизации. При выборе пункта ''регистрация туриста'' – откроется регистрационная форма. После заполнения обязательных полей и нажатии кнопки '''Купить''' будет произведена регистрация туриста, его авторизация и попытка бронирования (если все обязательные поля для бронирования заполнены). Если заполнены не все поля, то система сообщит об этом пользователю. Данный пункт обрабатывается только в упрощенной форме регистрации.
| 3
 
| Дополнительные e-mail адреса, на которые приходят сообщения о новой регистрации и заявке на бронирование (можно добавить несколько e-mail адресов через « ; »)
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="addRcptTo"value="Email1@EmailServiceProvider.com; Email2@EmailServiceProvider.com" />
 
</syntaxhighlight>
 
  
|- style="vertical-align:text-top"
+
===Главные фильтры===
| 4
+
Для того чтобы просмотреть цены по турам необходимо задать поисковые параметры в главных фильтрах:
|Почтовый сервер SMTP
+
* Откуда - город начала поездки, существует возможность задать несколько городов начала поездки;
| <syntaxhighlight lang="xml" enclose="div">
+
* Куда (страна) - страна прибытия (можно выбрать только одну страну);
<add key="smtpServer"value="Smtp.EmailServiceProvider.com" />
+
* Куда (город) - город прибытия (можно выбрать несколько или Все);
</syntaxhighlight>
+
Начиная с релиза 15.8 города экскурсий, указанные в программе туров, отображаются в списке городов в разделе "Куда(город)".
 +
* Тип тура - по умолчанию фильтр заполняется значением ''Все''. В фильтр подгружаются значения (типы туров), соответствующие выбранному направлению. Возможен выбор нескольких вариантов типа тура;
 +
* Даты начала тура - календарь, где актуальные даты начала тура в выбранную страну подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных программ туров;
 +
* Количество дней - список возможных продолжительностей, которые сформированы автоматически. Отображаются только те продолжительности, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных программ туров;
 +
* Взрослые, дети (возраст детей). Если указано количество детей, то возраст детей обязателен для заполнения.<BR>
  
|- style="vertical-align:text-top"
+
При нажатии на кнопку '''Очистить фильтры''' происходит очистка ранее выбранных фильтров.<br />
| 5
 
| SMTP порт почтового сервера (по умолчанию — 25)
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="smtpPort" value="25" />
 
</syntaxhighlight>
 
  
|- style="vertical-align:text-top"
+
Перед тем, как начать поиск туров без услуги проживания, рекомендуется ознакомиться с [[Мастер-Тур(15):Программа туров. Создание нового тура#Определение страны назначения|правилами определения страны назначения для туров без услуги проживания.]]
| 6
 
|Тип авторизации на сервере: None, Base64 или TLS/SSL
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="smtpAuthentication" value="Base64" />
 
</syntaxhighlight>
 
  
|- style="vertical-align:text-top"
+
Существует возможность добавить '''Город''' в главные фильтры. Для этого необходимо
| 7
+
воспользоваться настройкой [[Мастер-Тур(15):Программа туров. Настройки|Отображать фильтр по городам на главной странице поиска]].
| Активация протокола SSL (Нужно включить при использовании TLS/SSL авторизации.)
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="EnableSsl" value="false" />
 
</syntaxhighlight>
 
  
|- style="vertical-align:text-top"
+
Дополнительно пользователь может указать по какому варианту наличия мест на отели, авиаперелеты, автобусы, поезда необходимо искать программы туров:
| 8
+
* Есть
|Имя пользователя для подключения к почтовому серверу
+
* Есть+Запрос
| <syntaxhighlight lang="xml" enclose="div">
+
* Все
<add key="smtpUser" value="Domain\Username" />
+
По умолчанию выбран вариант "Есть+Эапрос", установка других доступных значений (Есть, Все) производится в [[Мастер-Тур(15):Программа туров. Настройки#Настройки поиска|Программах Туров → Настройки поиска]]<br />
</syntaxhighlight>
 
|}
 
  
После того, как указаны настройки, необходимо перезапустить службу TourSearchWebApi.
+
Валюта - валюта, в которой будет отображаться цена тура. Отображаются все валюты из справочника "Список валют", у которых выбран признак "Отображать в поиске"<BR>
 +
По умолчанию выбрана "национальная" валюта. <BR><BR>
 +
Также в поиске доступен переключатель языков (по умолчанию есть два варианта языка - русский и английский. С настройкой отображаемых данных можно ознакомиться в разделе [[Мастер-Тур(15):Настройки системы#Настройка языка приложения| Настройка языка приложения]].
 +
====Расчет стоимости тура====
 +
'''Расчет стоимости услуг в составе заказа (Цена тура):'''<BR>
 +
Изначально расчет всегда ведется в валюте тура (например: если цены на услуги заведены в $, а валюта тура EU,
 +
то в момент расчета происходит конвертация значения цены в валюте $ в валюту EU по курсу на дату расчета). Затем применяются настройки округления,  
 +
указанные в ПК Мастер-Тур (если указаны настройки округления стоимости услуг).
 +
Стоимости этих услуг суммируются и общая сумма также округляется (по настройкам округления ПК Мастер-Тур). Полученная сумма отображается
 +
в корзине как стоимость тура (всегда в валюте тура).<BR>
 +
 +
'''Расчет стоимости тура в валюте, выбранной в поиске:'''<BR>
 +
Округленная (по настройкам, указанным в ПК Мастер-Тур) стоимость в валюте тура
 +
конвертируется по текущему курсу в валюту поиска и итоговый результат также округляется (по настройкам, указанным в ПК Мастер-Тур).
 +
Аналогичным способом рассчитывается стоимость в национальной валюте в корзине, только в качестве отображаемой валюты всегда выступает национальная валюта.<BR>
 +
'''Расчет стоимости в экранах OrderInfo и OrderList:'''<BR>
 +
При отображении стоимостей в экранах OrderInfo и OrderList, выводятся две цены: первая в валюте тура, полученная в п.1 (не важно в результате расчета или введенная руками),
 +
и вторая в национальной валюте, которая получается путем конвертации по зафиксированному курсу, либо курсу на текущую дату из стоимости в валюте путевки. Результат округляется математически до сотых.
 +
Аналогично происходит расчет в национальной валюте в экране Путевка (исходя из наличия зафиксированного курса).<BR>
  
===Главные фильтры===
 
Для того чтобы просмотреть цены по турам необходимо задать поисковые параметры в главных фильтрах:
 
* Откуда - город начала поездки, существует возможность задать несколько городов начала поездки.
 
* Куда - страна, город, курорт, отель. По умолчанию в фильтр подгружаются только страны и выбрать можно только одну страну. Для поиска по городу, курорту или отелю необходимо воспользоваться контекстным поиском.
 
* Даты начала тура - календарь, где актуальные даты начала тура в выбранную страну подсвечены зеленым цветом. Подсвечиваются только те даты, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных программ туров.
 
* Количество дней - список возможных продолжительностей, которые сформированы автоматически. Отображаются только те продолжительности, на которые есть возможность сформировать хотя бы один вариант результата поиска согласно заведенных программ туров.
 
* Взрослые, дети (возраст детей)<BR>
 
  
Дополнительно пользователь может указать по какому варианту наличия мест на отели и авиаперелеты необходимо искать программы туров:
+
После выбора значений в главных фильтрах становится доступной кнопка "Найти", при нажатии на которую система отберет туры по заданным параметрам.
* Есть
 
* Есть+запрос
 
* Все<BR>
 
По умолчанию выбран вариант "Есть+запрос" <BR>
 
  
Валюта - валюта, в которой будет отображаться цена тура. Отображаются все валюты из справочника "Список валют"<BR>
+
[[Файл:mb_271.png|1050px|Состав тура]]<br />
По умолчанию выбрана первая валюта из списка.<BR><BR>
 
После выбора значений в главных фильтрах становится доступной кнопка "Найти", при нажатии на которую система отберет туры по заданным параметрам.
 
  
{| border="1" style="border-collapse:collapse"
+
При изменении основных фильтров (откуда, страна, город, тип тура) будут подобраны ранее выбранные даты заезда и продолжительности, если в них будет возможность найти туры.
|-
 
| [[Файл:mb_209.png|1050px|Состав тура]]
 
|-
 
|}
 
  
 
===Результаты поиска===
 
===Результаты поиска===
По каждому найденному варианту туру будет представлена следующая информация:
+
По каждому найденному варианту тура будет представлена следующая информация:
* Даты туров и продолжительность тура (в днях)
+
* Даты туров и продолжительность тура (в днях) – продолжительность считается по дате окончания предоставления последней услуги. Поэтому, например, при обратном перелете на следующий день, количество дней в туре в поиске будет увеличено на один день
 
* Город начала поездки
 
* Город начала поездки
 
* Название тура
 
* Название тура
Строка 221: Строка 214:
 
* Цена - минимальная возможная цена варианта тура по заданным в фильтрах дате, продолжительности, количеству людей, туру и отелю.
 
* Цена - минимальная возможная цена варианта тура по заданным в фильтрах дате, продолжительности, количеству людей, туру и отелю.
 
Для просмотра информации о доступных вариантах размещения и типах питания необходимо кликнуть по слову "Варианты" в соответствующей строке тура. Откроется список доступных вариантов размещения и типов питания по данному отелю.<BR>
 
Для просмотра информации о доступных вариантах размещения и типах питания необходимо кликнуть по слову "Варианты" в соответствующей строке тура. Откроется список доступных вариантов размещения и типов питания по данному отелю.<BR>
Слева от варианта размещения или авиаперелета отображается наличие мест.
+
Слева от варианта размещения или авиаперелета отображается наличие мест.<BR>
 +
В том случае, если по выбранным параметрам не будет найдено результатов, то пользователю будет выведено сообщение: ''С выбранными параметрами поиска туров не найдено. Пожалуйста, измените параметры поиска, значения статусов наличия мест, измените даты или продолжительность''. В том случае, если в поисковой строке были выбраны доп. фильтры (к примеру отель, турпрограмма) и по ним нет данных в программах тура (удалили отель или продолжительность), то в этом случае доп. фильтры будут сброшены и будет осуществлена попытка поиска результатов без указанных значений.
 +
 
  
 
{| border="1" style="border-collapse:collapse"
 
{| border="1" style="border-collapse:collapse"
Строка 228: Строка 223:
 
|-
 
|-
 
|}
 
|}
 +
====Отображения минимальной цены для конкретного отеля====
 +
Примерно в 1% результатов поиска может возникать ситуация, когда для конкретного отеля подбирается не самая минимальная цена.<br />
 +
[[Файл:As020.JPG|1060px|Отображения минимальной цены конкретного отеля]]<br />
 +
 +
При инициализации службы поиска происходит "взвешивание" цены на отель.
 +
В случаях когда суточные цены на разные размещения или типа питания внесены разным количеством периодов, средний вес более дешевого номера может быть больше, чем у более дорого.
 +
Например цены на питании завтрак внесены 4-мя строчками, а цена на питании полупансион 6-ю. При измерении общего среднего веса цены получится, что цена на питании полупансион весит меньше.<br />
 +
Для избежания подобных ситуаций рекомендуем вносить цены на разные размещения и типы питания '''одинаковым''' количеством периодов.<br />
 +
[[Файл:As021.JPG|1060px|Вес суточной цены]]<br />
  
 
===Дополнительные фильтры===
 
===Дополнительные фильтры===
Строка 233: Строка 237:
 
Для удобства поиска туров по определенным параметрам можно воспользоваться дополнительными фильтрами.<br>
 
Для удобства поиска туров по определенным параметрам можно воспользоваться дополнительными фильтрами.<br>
 
Дополнительные фильтры применяются к уже отобранным по главным фильтрам вариантам туров. В программе представлены следующие дополнительные фильтры:
 
Дополнительные фильтры применяются к уже отобранным по главным фильтрам вариантам туров. В программе представлены следующие дополнительные фильтры:
* Цена - отбор туров в заданном диапазоне цен.
+
* Цена отбор туров в заданном диапазоне цен;
* Тип тура и программа тура - отбор по типу тура и по самой программе тура.
+
* Программа тура отбор по самой программе тура;
* Дата начала тура и продолжительность - отбор по дате начала тура и продолжительности (в днях).
+
* Параметры проживания отбор по городу, курорту, категории отеля, питанию, признаку отеля и названию отеля;
* Параметры проживания - отбор по городу, курорту, категории отеля и названию отеля.
+
** Признаки отелей – находятся в фильтре Параметры проживания. Производит отбор отелей по выбранному признаку (фильтр доступен, начиная со 2-го релиза). Добавляются в справочнике [[Мастер-Тур(15):Признаки отелей|Признаки отелей]];
* Параметры авиаперелета - отбор по параметрам авиаперелета (время вылета/прилета, аэропорт вылета/прилета, авиакомпания).
+
* Параметры авиаперелета отбор по параметрам авиаперелета (время вылета/прилета, аэропорт вылета/прилета, город вылета, авиакомпания и класс перелета);
Заданные дополнительные фильтры отображаются в виде "плашек".
+
 
 +
Начиная с '''релиза 15.3''' реализован механизм, позволяющий не сбрасывать дополнительные фильтры при изменении основных фильтров.<br />
 +
Начиная с '''релиза 15.3''' реализован подсчет общего количества найденных отелей, а также подсчет выбранных отелей в дополнительных фильтрах.<br />
 +
Начиная с '''релиза 15.3''' добавлена возможность выводить в дополнительных фильтрах поиска сгруппированные типы питания и категории отелей по их глобальным кодам. Регулируется соответствующими [[Мастер-Тур(15):Программа туров. Настройки|настройками]].<br />
 +
Логика отображения следующая: если в справочнике ''Типы питания'' или ''Категории отелей'' заполнено поле ''Глобальный код'', то он будет отображаться в дополнительных фильтрах. Если поле ''Глобальный код'' не заполнено, то будет отображаться значение, заданное в поле ''Название''. В результатах поиска ''Глобальный код'' не отображается.<br />
 +
Начиная с '''релиза 15.3''' добавлены два признака в дополнительные фильтры ''Параметры авиаперелета'':
 +
* Разрешить комбинировать авиаперелеты – по умолчанию признак не выбран. Выбрать его можно только в том случае, если выбрана хотя бы одна авиакомпания. При выборе данного признака будут подбираться рейсы, которые хотя бы в одном сегменте осуществляются выбранной авиакомпанией. Без выбора этого признака будут подбираться только те рейсы, в которых все сегменты авиаперелета осуществляются выбранной авиакомпанией.
 +
* Разрешить комбинировать классы – по умолчанию признак не выбран. Выбрать его можно только в том случае, если выбран хотя бы один класс перелета. При выборе данного признака будут подбираться рейсы, в которых хотя бы в одном сегменте авиаперелета перевозка осуществляется выбранным классом. Без выбора этого признака будут подбираться только те рейсы, в которых на всех сегментах авиаперелета перевозка осуществляется выбранным классом.<br />
 +
Начиная с '''релиза 15.7''' реализована возможность, что при нажатии на название отеля, которое подсвечено голубым цветом, в разделе фильтров '''Параметры проживания''' происходят действия, описанные в разделе [[Мастер-Тур(15):Поиск вариантов программ туров#Поиск с включенными изображениями и описанием отеля|Поиск с включенными изображениями и описанием отеля]].<br />
  
 
{| border="1" style="border-collapse:collapse"
 
{| border="1" style="border-collapse:collapse"
 
|-
 
|-
| [[Файл:mb_211.png|1050px|Состав тура]]
+
| [[Файл:ea_50.png|1050px|Состав тура]]
 
|-
 
|-
 
|}
 
|}
 +
 +
====Фильтр Выбранная комбинация отелей====
 +
 +
Данный фильтр предназначен для поиска конкретной комбинации отелей в сложных турах. Например, мы едем в тур ''Бангкок-Паттайя'' и хотим жить в ''Бангкоке'' в отеле           
 +
''Grand Mercure Bangkok Atrium'', а в Паттайе в ''Jomtien Palm Beach''. Для этого в списке отелей выбираем требуемые отели и ставим чекбокс '''Выбранная комбинация отелей'''.<br />
 +
Теперь в поиске будут показываться только те варианты туров, в которых есть данная комбинация отелей.<br />
 +
По умолчанию фильтр '''Выбранная комбинация отелей''' не виден. Он становится доступным после того, как пользователь выбрал в списке отелей хотя бы один отель.
 +
 +
[[Файл:Rr 34.png|1050 px|Дополнительные фильтры]]<br />
 +
 +
====Фильтр Выбранная комбинация признаков отелей====
 +
Данный фильтр предназначен для отображения только тех отелей, в которых встречается выбранная комбинация признаков отелей. Например, нам нужны отели, в которых есть ''Закрытая территория'' и ''Конференц-зал''. Для этого в списке признаков отелей выбираем требуемые признаки и ставим чекбокс '''Выбранная комбинация признаков отелей'''.<br />
 +
Теперь в поиске будут показываться только те варианты туров, в отелях в которых есть данная комбинация признаков отелей.<br />
 +
По умолчанию фильтр '''Выбранная комбинация признаков отелей''' не виден. Он становится доступным после того, как пользователь выбрал в списке отелей хотя бы один признак отеля.<br />
  
 
===Группировка результатов поиска===
 
===Группировка результатов поиска===
Строка 259: Строка 285:
  
 
Отдельные случаи группировок по отель, городу, курорту и категории отеля:<br>
 
Отдельные случаи группировок по отель, городу, курорту и категории отеля:<br>
* В случае если производится группировка по отелю и дополнительно делается попытка группировки по городу, курорту, или категории отеля - то группировка по отелю сбрасывается.<br>
+
* В случае если производится группировка по отелю и дополнительно делается попытка группировки по городу, курорту, или категории отеля - то группировка по отелю сбрасывается;<br>
 
* В случае если производится группировка по городу, курорту или категории отеля и дополнительно делается попытка группировки по отелю - то группировки по городу, курорту и категории отеля сбрасывается.<br>
 
* В случае если производится группировка по городу, курорту или категории отеля и дополнительно делается попытка группировки по отелю - то группировки по городу, курорту и категории отеля сбрасывается.<br>
  
Строка 270: Строка 296:
 
|}
 
|}
  
 +
'''Начиная с релиза 15.8''' произведена оптимизация, при которой при группировке по ''названию тура'' и ''отелю'' участвует только одна дата и продолжительность для каждой программы туров.
  
 +
===Особенности путешествия в выбранную страну===
 +
Блок '''Особенности путешествия в выбранную страну''' появляется в том случае, если в системе администрирования ПК "Мастер-Web" в поле '''Примечание''' подраздела '''Страны -> Страна''' задано описание страны.<br />
 +
Начиная с 15 версии релиза 7 и выше описание по стране добавляется в справочнике Страны в программе туров. '''Справочники &rarr; География &rarr; Страны''' (ссылка на страницу <code>''<nowiki>http://ip-адрес сервера/TourPrograms/Countries</nowiki>''</code>).
 +
<br />[[Файл:As67.JPG|1060px|Примечания по стране]]<br />
 +
 +
===Поиск с включенными изображениями и описанием отеля===
 +
Отображение изображений и описание отеля включается в настройкой [[Мастер-Тур(15):Программа туров. Настройки|показывать описание и изображения отелей в поиске]] в панели администрирования программы туров. Само описание и изображения отеля необходимо предварительно добавить в новом справочнике [[Мастер-Тур(15):Отели|отелей]].<br />
 +
При включенной настройке поиск начинает работать следующим образом:
 +
<br />[[Файл:As 007.JPG|Поиск с изображение отеля]]<br /><br />
 +
 +
Нажав либо на изображение ''preview'' рядом с отелем, либо на название отеля – откроется окно с изображениями и описанием отеля, разделенное на разделы. Такие же разделы отображаются и в справочнике отеля. Если описание не добавлено, но указана ссылка на сайт в карточке отеля, то нажав на название отеля происходит переход по ссылке. Если добавлено описание, то открывается окно с описанием, и ссылка на сайт находится справа внизу с текстом ''Подробнее''.<br />
 +
<br />[[Файл:As 008.JPG|Описание отеля]]<br /><br />
 +
 +
Нажав на изображение, откроется слайдер изображений во весь экран.<br />
 +
<br />[[Файл:As 009.JPG|1000px|Карусель изображений отеля]]<br />
 +
 +
===Отображение в поиске информации по ценовым блокам и акциям===
 +
 +
Начиная с релиза 15.5 в настройки [[Мастер-Тур(15):Внесение_цен_на_услуги#Отображение информации о ценовом блоке в онлайне|ценовых блоков]] и [[Мастер-Тур(15):Программа_туров._Акции#Отображение акций в онлайне|акций]] добавлена возможность отображать информацию о них в онлайне. После включения этих настроек в поиске около цен, к которым применяются такие ценовые блоки или акции, появятся специальные иконки, при наведении на которые отобразится необходимая информация.</br>
 +
[[Файл:Nr125.png|1060px|Пример цены с информацией о ценовом блоке и акциях]]</br>
 +
Начиная с релиза 15.8 дата, указанная в поле '''период продаж по''' при создании ценового блока, отображается при наведении на иконку SPO.</br>
 +
Видимость в поиске регулируется настройкой '''Отображать окончание периода продаж ценового блока''' в [[Мастер-Тур(15):Программа туров. Настройки#Настройки поиска|настройках поиска программы туров]].</br>
 +
[[Файл:Ea_404.png|1000px]]</br>
 +
 +
===Поиск по ночам проживания в отеле===
 +
 +
Начиная с релиза 15.5 в настройку ''Осуществлять поиск'' [[Мастер-Тур(15):Программа туров. Настройки|панели администрирования]] добавлена опция "в ночах проживания в отеле".
 +
 +
[[Файл:Nr128.png|1060px|Настройка поиска цен тура по ночам проживания в отеле]]
 +
 +
При выборе этой опции поиск туров будет осуществляться не по общему количеству дней тура, а по количеству ночей проживания в отеле или круизе. К примеру, если общая длительность тура составляет одиннадцать дней, однако ночей проживания в нем девять, то искаться цены этого тура будут при выборе девяти ночей в поисковом фильтре "Ночи проживания". </br>
 +
Дополнительно указывается рядом с количеством ночей проживания в туре также количество ночей в пути. </br>
 +
При наведении на количество ночей в пути вcплывает сообщение "9 ночей проживания в отеле+2 ночи в пути"</br>
 +
 +
[[Файл:Ea_364.png|1060px|Пример поиска цен тура по ночам проживания в отеле]]
 +
 +
Аналогично информация о туре будет отображаться и в корзине.
 +
 +
[[Файл:Ea_365.png|Отображение информации о ночах проживания тура в корзине]]
 +
 +
===Поиск, бронирование и квотирование инфанта===
 +
 +
Стоимость на услугу Авиаперелет для инфанта вноситься на тот же тариф, для которого заведена стоимость для взрослого. Цена вносится отдельной строчкой с указание возрастных ограничений.
 +
[[Файл:As 015.JPG|1060px|Цена за инфант]]<br /><br />
 +
 +
При поиске туров, где в состав семьи входит инфант, ребенка с возрастом «1 год» необходимо добавлять в основной состав туристов, в основных фильтрах поиска. Возраст инфанта задается в [[Мастер-Тур(15):Программа туров. Настройки|общих настройках, панели администрирования]]<br />
 +
[[Файл:As016.JPG|1060px|Фильтры поиска]]<br /><br />
 +
 +
В результатах поиска будут доступны номера, в которых доступно размещение детей от 0 лет. <br />
 +
При включенной настройке [[Мастер-Тур(15):Программа туров. Настройки|искать цены на альтернативные размещения]] будут также подбираться другие доступные размещения.<br />
 +
[[Файл:As017.JPG|1060px|Результат поиска]]<br /><br />
 +
 +
Квоты на отель: Мастер-Тур 15 работает только с ценами и квотами за номер. Инфант не снимает дополнительную квоту, а также не изменяет стоимость номера.<br />
 +
Услуга Авиаперелет для инфанта будет подтверждена вне квоты. <br />
 +
В случае если инфант в процессе тура становится ребенком, он будет занимать квоту на обратном перелете. Цена также будет рассчитана с учетом возраста на обратном перелете.<br />
 +
[[Файл:As018.JPG|Результат поиска]]<br />
 +
 +
===Поиск типов размещений с детьми===
 +
Начиная с релиза 15.8 в [[Мастер-Тур(15):Типы размещений|типах размещений]] можно указывать любое количество детей на основных и дополнительных места. При поиске туров, где указаны размещения с детьми происходит обработка возраста каждого ребенка, указанного в типе размещения. Так же следует учитывать работу настройки [[Мастер-Тур(15):Программа туров. Настройки#Настройки поиска|Искать цены на альтернативные размещения]].
 +
 +
==Проверка наличия курсов валют в поиске==
 +
 +
Проверка наличия курсов валют – по умолчанию признак включен (т.е. поиск туров осуществляется с учетом наличия курса национальной валюты и реальных кросс-курсов). <br />
 +
Включение и отключение признака происходит в [[Мастер-Тур(15):Программа туров. Настройки|общих настройках, панели администрирования.]]<br />
 +
Если признак включен, но курсы национальной валюты и реальные кросс-курсы не заданы поиск недоступен и отображается сообщение:<br />
 +
[[Файл:As019.JPG|1060px|Курсы не заданы]]<br />
 +
 +
Что бы поиск работал, нужно добавить [[Мастер-Тур:Справочники#Курс национальной валюты|курсы национальной валюты]] и [[Мастер-Тур:Справочники#Реальные кросс-курсы валют|реальные кросс-курсы]] в соответствующие справочники Мастер-Тур.<br /><br />
 +
 +
Если признак выключен, то работа поиска осуществляется следующим образом:
 +
* Если отсутствует курс национальной валюты, а поиск происходит в ней, то система все цены показывает равными 0;
 +
* Если отсутствует кросс-курс между валютами (например: перелет в $, а отель в EU), а поиск происходит в одной из этих валют, то система все цены показывает равными 0;
 +
* Если отсутствует курс национальной валюты, то в корзине система показывает стоимость в валюте тура, в национальной валюте цена показывается 0. Бронирование происходит по стоимости в валюте тура, при этом курс национальной валюты в путевке не фиксируется, стоимость в национальной валюте указывается 0;
 +
* Если отсутствует кросс-курс между валютами (например: перелет в $, а отель в EU), то в корзине цена в валюте тура показывается равная 0 и бронирование становится невозможным;
 +
<br />
  
 
==Параметры, передаваемые через URL страницы==
 
==Параметры, передаваемые через URL страницы==
Строка 278: Строка 380:
 
Пример URL-запроса:<br>
 
Пример URL-запроса:<br>
  
<code>'''<nowiki>http://ip-адрес сервера/TourSearchClient?departureCities=1&destination=1_30&dates=23.06.2016,24.06.2016,25.06.2016&durations=2,3,4,5,6,7,8,9&adultCount=2&hotelQuota=7&aviaQuota=7&currency=$</nowiki>'''</code><br />  
+
<code>'''<nowiki>http://ip-адрес сервера/TourSearchClient?departureCities=1&destination=1_30&tourType=5,2&dates=23.06.2016,24.06.2016,25.06.2016&durations=2,3,4,5,6,7,8,9&adultCount=2&hotelQuota=7&aviaQuota=7&currency=USD</nowiki>'''</code><br />  
  
 
===Обязательные параметры URL-запроса===
 
===Обязательные параметры URL-запроса===
 
 
 
 
Ниже перечисленные параметры являются обязательными:<br />
+
Ниже перечисленные параметры являются обязательными:
 +
 
 +
* '''departureCities''' — код города вылета из таблицы ''CityDictionary'';
 +
* '''destination''' — "1_" + код страны места назначения из таблицы ''Country'';
 +
* '''destCities''' — код города места назначения из таблицы ''CityDictionary'' (только при включенной настройке [[Мастер-Тур(15):Программа туров. Настройки|Отображать фильтр по городам на главной странице поиска]]);
 +
* '''tourType''' — код типа тура;
 +
* '''dates''' — даты начала тура (даты задаются в формате ''ДД.ММ.ГГГГ'', более одной даты указываются через запятую);
 +
* '''durations''' — продолжительности (задаются через запятую);
 +
* '''adultCount''' — количество взрослых;
 +
* '''hotelQuota/aviaQuota''' — код варианта наличия мест на отели/авиаперелеты (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все");
 +
* '''currency''' — ISO код валюты (задается в справочнике '''Список валют''').<br />
 +
 
 +
К примеру, если нужно передать по умолчанию значения фильтра ''Наличия мест в отеле'' – ''Все'', то URL-запроса будет следующего вида:<br />
 +
<code>'''<nowiki><http://ip-адрес сервера/TourSearchClient?hotelQuota=7</nowiki>'''</code><br />
  
* '''departureCities''' — код города вылета из таблицы ''CityDictionary'';<br />
 
* '''destination''' — код страны места назначения из таблицы ''Country'';<br />
 
* '''dates''' — даты начала тура (даты задаются в формате ''ДД.ММ.ГГГГ'', более одной даты указываются через запятую);<br />
 
* '''durations''' — продолжительности (задаются через запятую);<br />
 
* '''adultCount''' — количество взрослых;<br />
 
* '''hotelQuota/aviaQuota''' — код варианта наличия мест на отели/авиаперелеты (значения параметров: ''"1"'' — фильтр "Есть", ''"5"'' — фильтр "Есть+запрос", ''"7"'' — фильтр "Все");<br />
 
* '''currency''' — валюта, в которой отображаются найденные туры.<br />
 
 
 
===Необязательные параметры URL-запроса===
 
===Необязательные параметры URL-запроса===
  
Строка 304: Строка 411:
 
** Курорту;
 
** Курорту;
 
** Категории отеля.
 
** Категории отеля.
Пример: <code>'''<nowiki>http://ip-адрес сервера/TourSearchClient?departureCities=1&destination=1_30&dates=27.06.2016&durations=5&adultCount=2& childAges=1,3& hotelQuota=5&aviaQuota=7&currency=$ groupingKeys=2,4,8</nowiki>'''</code><br />
+
Пример: <code>'''<nowiki>http://ip-адрес сервера/TourSearchClient?departureCities=1&destination=1_30&tourType=5,2&dates=27.06.2016&durations=5&adultCount=2& childAges=1,3&hotelQuota=5&aviaQuota=7&currency=USD&groupingKeys=2,4,8</nowiki>'''</code><br />
 
 
 
 
 
'''Параметры фильтров:'''<br />
 
'''Параметры фильтров:'''<br />
Строка 315: Строка 422:
 
Параметры фильтра Цена можно использовать как в совокупности, так и по отдельности.
 
Параметры фильтра Цена можно использовать как в совокупности, так и по отдельности.
 
 
 
 
2. Тип тура и программа тура
+
2. Программа тура
 
 
* '''tourTypes''' — код типа тура;<br />
 
 
* '''tours''' — ключ программы тура из таблицы ''TourPrograms'';<br />
 
* '''tours''' — ключ программы тура из таблицы ''TourPrograms'';<br />
 
 
Строка 325: Строка 431:
 
* '''resorts''' — код курорта из таблицы ''Resorts'';<br />
 
* '''resorts''' — код курорта из таблицы ''Resorts'';<br />
 
* '''cats''' — код категории отеля из таблицы ''CategoriesofHotel'';<br />
 
* '''cats''' — код категории отеля из таблицы ''CategoriesofHotel'';<br />
 +
* '''hotelTypes''' — код признака отеля из таблицы ''HotelTypes'';<br />
 
* '''pansions''' — код типа питания из таблицы ''Pansion'';<br />
 
* '''pansions''' — код типа питания из таблицы ''Pansion'';<br />
 
* '''hotels''' — код отеля из таблицы ''HotelDictionary'';<br />
 
* '''hotels''' — код отеля из таблицы ''HotelDictionary'';<br />
Строка 334: Строка 441:
  
 
Пример URL-запроса с использованием временных интервалов вылета и прилета:<br />
 
Пример URL-запроса с использованием временных интервалов вылета и прилета:<br />
<code>'''<nowiki>http://ip-адрес сервера/TourSearchClient?departureCities=232&destination=1_10&dates=27.06.2016&durations=5&adultCount=2&hotelQuota=5&aviaQuota=7&currency=$& depTimeFrom=01:00& depTimeTo=01:59& arrTimeFrom=02:00& arrTimeTo=03:59</nowiki>'''</code><br />
+
<code>'''<nowiki>http://ip-адрес сервера/TourSearchClient?departureCities=232&destination=1_10&tourType=5,2&dates=27.06.2016&durations=5&adultCount=2&hotelQuota=5&aviaQuota=7&currency=USD&depTimeFrom=01:00
 +
&depTimeTo=01:59&arrTimeFrom=02:00& arrTimeTo=03:59
 +
</nowiki>'''</code><br />
 +
 
 +
* '''dep_airports''' — коды аэропортов вылета
 +
* '''arr_airports''' — коды аэропортов прилета
 +
* '''flightCityDeparture''' — код города вылета
 +
* '''airlines''' — код авиакомпании из таблицы ''Airline''
 +
* '''flightTariffs''' — код класса перелета
 +
* '''departureFlightNumberTransfer''' – наличие пересадок в прямом направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более). Обрабатывается начиная с релиза 15.3.
 +
* '''arrivalFlightNumberTransfer''' – наличие пересадок в обратном направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более). Обрабатывается начиная с релиза 15.3.
 +
 
 +
Ниже перечисленные параметры подразумевают установку признака активности, поэтому принимают только значение '''true''':<br />
 +
* '''dTransfer=true''' — запрет на пересадку для прилета (без пересадок в прямом направлении)
 +
* '''aTransfer=true''' — запрет на пересадку для вылета (без пересадок в обратном направлении)
 +
* '''CombineAirlines=true''' — разрешить комбинировать авиаперелеты. Параметр применяется только при наличии параметра '''airlines'''. Обрабатывается начиная с релиза 15.3.
 +
* '''CombineTariffs=true''' — разрешить комбинировать классы перелета. Параметр применяется только при наличии параметра '''tariff'''. Обрабатывается начиная с релиза 15.3.
 +
 
 +
Пример: <code>'''<nowiki>http://ip-адрес сервера/TourSearchClient?departureCities=1&destination=1_30 &tourType=5,2&dates=27.06.2016&durations=5&adultCount=2&hotelQuota=5&aviaQuota=7&currency=USD&dTransfer=true&aTransfer=true</nowiki>'''</code><br />
 +
 
 +
==Настройка View для разграничения туров, опубликованных для продажи==
 +
Существует возможность настроить разграничение доступа к турам для пользователя, которым подключается служба поиска в БД. Пользователь прописывается в [[Мастер-Тур(15):Установка#Установка службы поиска|строке подключения службы поиска]]<br />
 +
Для пользователя создается View на таблицы ToursSearch и TourPrograms.<br />
 +
==Пример скрипта, для создания View для разграничения поиска по странам и городам вылета==
 +
<syntaxhighlight lang="java" enclose="div">
 +
IF OBJECT_ID('UserMT.ToursSearchView') IS NOT NULL
 +
DROP VIEW UserMT.ToursSearchView
 +
GO
 +
CREATE VIEW [UserMT].[ToursSearchView]
 +
AS
 +
SELECT *
 +
FROM dbo.ToursSearch
 +
WHERE
 +
(TS_CTDepartureKeys = '1' or TS_CTDepartureKeys = '5' or TS_CTDepartureKeys = '1;5' or TS_CTDepartureKeys = '5;1')
 +
and (TS_CNKeys = '90' or TS_CNKeys = '460' or TS_CNKeys = '460;90' or TS_CNKeys = '90;460' )
 +
GO
 +
IF OBJECT_ID('UserMT.TourProgramsView') IS NOT NULL
 +
DROP VIEW UserMT.TourProgramsView
 +
GO
 +
CREATE VIEW [UserMT].[TourProgramsView]
 +
AS
 +
SELECT *
 +
FROM dbo.TourPrograms
 +
WHERE TP_Id in
 +
(SELECT TS_Id FROM [UserMT].[ToursSearchView])
 +
GO
 +
</syntaxhighlight>
 +
Где,
 +
<br />
 +
(TS_CTDepartureKeys = '1' or TS_CTDepartureKeys = '5' or TS_CTDepartureKeys = '1;5' or TS_CTDepartureKeys = '5;1') and (TS_CNKeys = '90' or TS_CNKeys = '460' or TS_CNKeys = '460;90' or TS_CNKeys = '90;460' ) это условия разграничения.
 +
<br />
 +
* '''TS_CTDepartureKeys''' – указываются ключи городов вылета ('''CT_KEY''' таблицы Citydictionary);<br />
 +
* '''TS_CNKeys''' – указываются ключи стран, направлений поиска ('''CN_KEY''' таблицы Country);<br />
 +
* '''UserMT''' – пользователь, который прописан в строке подключения службы поиска (указан в скрипте в 7 местах);
 +
<br />
 +
 
 +
==Пример скрипта, для создания View для разграничения поиска по филиалам==
 +
<syntaxhighlight lang="java" enclose="div">
 +
IF OBJECT_ID('UserMT.ToursSearchView') IS NOT NULL
 +
DROP VIEW UserMT.ToursSearchView
 +
GO
 +
CREATE VIEW [UserMT].[ToursSearchView]
 +
AS
 +
SELECT *
 +
FROM dbo.ToursSearch
 +
WHERE
 +
TS_Id in
 +
(select tp_id from (
 +
SELECT tp_id,tp_xmlsettings, cast(T2.Loc.query('.') as nvarchar(max))  as branches
 +
FROM  TourPrograms 
 +
CROSS APPLY tp_xmlsettings.nodes('/TourProgram/TourSettingsViewModel/Branches') as T2(Loc) ) tt
 +
where ((CHARINDEX('<int>446</int>',branches) > 0) ))
 +
GO
 +
IF OBJECT_ID('UserMT.TourProgramsView') IS NOT NULL
 +
DROP VIEW UserMT.TourProgramsView
 +
GO
 +
CREATE VIEW [UserMT].[TourProgramsView]
 +
AS
 +
SELECT *
 +
FROM dbo.TourPrograms
 +
WHERE TP_Id in
 +
(SELECT TS_Id FROM [UserMT].[ToursSearchView])
 +
GO
 +
</syntaxhighlight>
 +
Где,
 +
* '''<int>446</int>''' – указывается ключ партнера из таблицы tbl.Partners, который указан в поле филиал бронирования в тур программе;
 +
* '''UserMT''' – пользователь, который прописан в строке подключения службы поиска (указан в скрипте в 7 местах);
 +
 
 +
==Быстрый поиск==
 +
Также можно осуществить поиск, воспользовавшись формой '''Быстрый поиск'''. Данная форма вставляется в любую страницу сайта (для этого используются фреймы).<br />
 +
[[Файл:Mb_237.png]]<br />
 +
Для того, чтобы вставить эту форму на страницу, нужно добавить следующий текст:
 +
<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 />
 +
На форме отображены фильтры, аналогичные основным фильтрам поиска: '''Откуда''', '''Куда''', '''Тип тура''', '''Даты заезда''', '''Количество ночей от... до...''', '''Взрослые''', '''Дети'''. После их заполнения и нажатия кнопки '''Найти''' происходит переход на основной поиск, куда передаются все параметры, выбранные в фильтрах быстрого поиска.<br />
  
* '''dep_airports/arr_airports''' — коды аэропортов вылета/прилета;<br />
+
==Быстрый поиск (новая форма)==
* '''flightCityDeparture''' — код города вылета;
+
Данная форма является альтернативным решение быстрого поиска с другим дизайном и реализацией.
* '''airlines''' — код авиакомпании из таблицы ''Airline'';
+
[[Файл:JK 126.png|1400px|Быстрый поиск]]<br />
* '''flightTariffs''' — код класса перелета;
+
Дизайн и настройки прописываются в файле ''\TourSearchOwin\NotifyResponse\DemoSearchTemplate.html''.<br />
 +
Этот же файл является самой формой поиска, которая встраивается путем вставки в страницу сайта текста в html формате.  <br />
 +
'''Весь текст, указанный в этом файле – необходимо использовать целиком.''' <br />
 +
Настройки подключения к службе поиска и настройки фильтров:<br />
  
Ниже перечисленные параметры подразумевают установку признака активности,поэтому принимают только значение '''true''':<br />
+
<syntaxhighlight lang="java" enclose="div">
* '''dTransfer=true''' — запрет на пересадку для прилета (без пересадок в прямом направлении);<br />
+
            search_api_service_url: "http://localhost:9000/TourSearchOwin/", /* URL сервиса  */
* '''aTransfer=true''' — запрет на пересадку для вылета (без пересадок в обратном направлении);<br />
+
            search_client_url: "http://localhost/TourSearchClient/", /* URL клиента поиска */
* '''byAirlineAll=true''' — авиакомпания, признак ''во всех перелетах в туре'';<br />
+
            localizeCode: "ru", /* Код локализации (ru, en или ua) */
* '''tariffAll=true''' — класс перелета, признак ''во всех перелетах в туре''.<br />
+
            filtersOrder: {
 +
                country: 1,
 +
                type: 2,
 +
                date: 3,
 +
                duration: 4,
 +
                people: 5,
 +
                city: 6,
 +
            }
 +
            cityKey: 1,
 +
            countryKey: null,
 +
            typeKey: null,
 +
            title: "",
 +
</syntaxhighlight>
 +
<br />
 +
* search_api_service_url – указывается путь к службе поиска (TourSearchOwin)
 +
* search_client_url – указывается путь к клиенту поиска (TourSearchClient)
 +
* localizeCode – код локализации (ru, en или ua). Позволяет изменить локализацию окна быстрого поиска. Переводы задаются в объекте '''localize''' в файле '''demoSearch.js'''.<br />
 +
* country: 1 – фильтр страна
 +
* type: 2 – фильтр тип тура
 +
* date: 3 – фильтр даты заезда
 +
* duration: 4 – фильтр количество дней
 +
* people: 5 – фильтр количество туристов
 +
* city: 6 – фильтр город вылета/выезда
 +
Цифра указывает очередность фильтра, то есть в каком порядке будут расположены фильтры.<br />  
 +
* cityKey – указывается ключ (CT_KEY из таблицы CityDictionary) города вылета/выезда по умолчанию, null – город вылета/выезда в фильтре не будет заполнен. Существует возможность передать множественное значение, в формате: [-1, 1]
 +
* countryKey – указывается ключ (CN_KEY из таблицы Country) страны по умолчанию, null – страна в фильтре не будет заполнена
 +
* typeKey – указывается ключ (TP_KEY из таблицы TipTur) типа тура по умолчанию, null – тип тура в фильтре не будет заполнен
 +
* title – заголовок над формой поиска, если необходим
 +
[[Файл: Ls0260.png|left|Полезная информация]] <BR>
 +
Существует возможность в фильтрах '''city''', '''country''' и '''type''' указать 0, в этом случае фильтры будут скрыты
 +
со значением по умолчанию, указанным в параметрах '''cityKey''', '''countryKey''' и '''typeKey''' соответственно.<br />
 +
<br />
 +
Дизайн настраивается в тегах:<br />
 +
<syntaxhighlight lang="java" enclose="div">
 +
            /* Блок с переменными */
 +
            :root {
 +
                --search-color_159753: #00c2eb; /* цвет кнопки Найти */                       
 +
                --search-text-color_159753: #fff; /* цвет текста кнопки Найти */
 +
                --color_159753: #333; /* цвет остальных кнопок */
 +
                --font-size_159753: 15px; /* размер шрифта фильтров */
 +
                --font-size-controlers_159753: 13px; /* размер шрифта выпадающих фильтров количества дней и количества взрослых/детей) */
 +
                --font-size-search-btn_159753: 15px; /* размер шрифта кнопки поиска */
 +
                --font-size-calendar-btn_159753: 13px; /* размер шрифта кнопки очистить в колендаре */
 +
                --font-size-error_159753: 40px; /* размер шрифта текста ошибки */
 +
                --font-color_159753: #000; /* цвет всех шрифтов */
 +
                --font-family_159753: sans-serif; /* гарнитура шрифта */
 +
                --angle-icon-color_159753: #999; /* цвет иконок (треугольных) */
 +
            }
 +
 
 +
            /*Фон и отступы*/
 +
            .demo-search_159753 {
 +
                background: #eee; /* можно ввести цвет (#eee) или при использовании изображения вместо background: #eee; ввести background-size: cover; background-image: (url("путь к картинке")) */
 +
                padding: 70px 70px 70px 70px; /* отступы до фильтров (сверху/справа/снизу/слева) */
 +
            }
 +
 
 +
            /* Стили заголовка */
 +
            .demo-search-title_159753 {
 +
                color: #000; /* цвет заголовка */
 +
                margin-bottom: 0px; /* расстояние между заголовком и фильтрами */
 +
                font-family: var(--font-family_159753); /* гарнитура шрифта заголовка */
 +
                font-size: 40px; /* размер шрифта заголовка */
 +
                text-align: center; /* расположение текста заголовка */
 +
            }
 +
</syntaxhighlight>
 +
[[Category:Мастер-Тур(15)]]
  
Пример: <code>'''<nowiki>http://ip-адрес сервера/TourSearchClient?departureCities=1&destination=1_30&dates=27.06.2016&durations=5&adultCount=2&hotelQuota=5&aviaQuota=7&currency=$&
+
==Встраиваемая схема доступных мест в автобусе в отдельный сайт==
dTransfer=true& aTransfer=true& tariffAll=true& byAirlineAll=true</nowiki>'''</code><br />
+
Начиная с релиза 15.8 появилась возможность отображения схемы с планом рассадки автобусного переезда на любом внешнем сайте.
 +
===Предварительная подготовка===
 +
====Подготовка тура====
 +
Для отображения плана рассадки в туре обязательно должна присутствовать услуга ''Автобусный переезд'' и в услуге должен быть указан транспорт с заполненным планом рассадки.
 +
====Подготовка файлов====
 +
Файлы находятся по пути ''Master15.8.0_№сборки\TourSearchOwin\TransportPlan''. Также в папке имеется шаблон наполнения сайта '''demoSite.html'''.</BR>
 +
В корневую папку внешнего проекта сайта добавить файлы '''bus-scheme.min.js''' и стили '''bus-scheme.css'''. </BR>
 +
[[Файл:Ea_382.png|Автобусы план рассадки]]</BR>
 +
В теге <head> страницы необходимо прописать ссылку на файл стилей bus-scheme.css.</BR>
 +
<syntaxhighlight lang="java" enclose="div">
 +
<link rel="stylesheet" href="bus-scheme.css" />
 +
</syntaxhighlight></BR>
 +
На странице в конце тега <body> добавить ссылку на файл bus-scheme.min.js </BR>
 +
<syntaxhighlight lang="java" enclose="div">
 +
<script src="./bus-scheme.min.js"></script>
 +
</syntaxhighlight></BR>
 +
Далее в любой части кода страницы можно вызвать кнопку вывода плана рассадки автобусного переезда, указав в параметре '''tour-program-key''' ключ турпрограммы, в параметре '''api-origin''' прописать адрес службы поиска. Количество кнопок на странице неограничено и зависит от количества указанных ниже строк.</BR>
 +
<syntaxhighlight lang="java" enclose="div">
 +
<bus-scheme tour-program-key="100011312" api-origin="http://localhost:9000/TourSearchOwin/" />
 +
<bus-scheme tour-program-key="100011313" api-origin="http://localhost:9000/TourSearchOwin/" />
 +
</syntaxhighlight></BR>
 +
[[Файл:Ea_381.png|Автобусы план рассадки]]</BR>
 +
===Работа с формой===
 +
После выполнения указанных выше действий на странице в нужном месте появится кнопка [[Файл:Ea_387.png]]. </BR>
 +
[[Файл:Ea_383.png]]</BR>
 +
При нажатии на кнопку откроется форма, на которой будет отображено направление автобусного переезда (берется из названия услуги), дата начала и план рассадки. Существует возможность выбрать другую дату с просмотром актуальной схемы рассадки на выбранную дату.</BR>
 +
[[Файл:Ea_390.png]]
 +
</BR>
 +
Зеленым помечены свободные места, красным — занятые.</BR>
 +
Обратите внимание, если в туре несколько автобусных переездов, то отобразится название и план рассадки только первого из них

Текущая версия на 15:15, 24 февраля 2024

Версия статьи от 24-02-2024.

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


Содержание

Введение

Данный экран предназначен для поиска актуальных цен с указанием наличия мест, отображения расширенной информации о программах туров и условиях продажи. Экран позволяет выдавать найденные цены с разной детализацией и группировать по нескольким параметрам. Также данном экран предназначен для поиска туров без проживания (к примеру, экскурсионных), а также автобусных туров (начиная с релиза 15.2).

Поиск и бронирование туров (YouTube)

Страница поиска туров

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

  • главные фильтры
  • дополнительные фильтры
  • группировка результатов поиска
  • результаты поиска
Состав тура

Авторизация

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


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


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

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

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


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

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

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

Регистрация агентства

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

Регистрация партнера

Поля для заполнения регистрационных данных:

  • Название агентства(торговая марка);
  • ФИО представителя компании;
  • Логин для доступа к системе;
  • Пароль для доступа к системе;
  • ФИО руководителя;
  • Должность руководителя - не обязательно для заполнения;
  • Страна;
  • Город;
  • Индекс;
  • Адрес места нахождения;
  • Телефон - указывается код города и номер телефона;
  • E-mail;
  • ИНН - не обязательно для заполнения;
  • Система налогооблажения - ОСН или УСН;
  • Р/с - расчетный счет в банке;
  • К/с - корреспондентский счет банка;
  • Наименование банка;
  • БИК - БИК банка.

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

Регистрация частного лица

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


Стандартная регистрация частного лица
Регистрация частного лица


Заполняем регистрационные данные. Обязательные поля:

  • Имя
  • Фамилия
  • Телефон
  • E-mail (Логин) – введенный e-mail будет являться логином. Поменять логин можно в Справочники->Постоянные клиенты->Регистрационные данные
  • Пароль – должен содержать не менее шести символов, среди которых должны быть латинские буквы (строчные и прописные), цифры или символы
  • Подтверждение пароля
  • Ведите текст с картинки (латиница) – поле для ввода проверочного кода с картинки. Если код трудночитаемый, то можно нажать кнопку Обновить

Необязательные поля:

  • Страна
  • Город
  • Адрес
  • Примечание


Дополнительная информация


В форму регистрации частного лица существует возможность добавить обязательное поле «Гражданство».
Регулируется настройкой Запрашивать гражданство при регистрации частника.
Упрощенная регистрация частного лица

Упрощенная регистрация туриста позволяет максимально быстро зарегистрироваться с заполнением минимально необходимых полей, а также сразу купить путевку (подробнее об этом описано в разделе о взаимодействии формы регистрации и корзины)

Упрощенная регистрация частного лица

Упрощенная регистрация частного лица включается в общих настройках в настройках. Обязательные поля:

  • Имя
  • Фамилия
  • Телефон
  • E-mail (Логин) – введенный e-mail будет являться логином. Поменять логин можно в Справочники->Постоянные клиенты->Регистрационные данные
  • Ведите текст с картинки (латиница) – поле для ввода проверочного кода с картинки. Если код трудночитаемый, то можно нажать кнопку Обновить

Поле пароль в упрощенной форме регистрации отсутствует. Пароль автоматически генерируются и отправляются на указанный при регистрации электронный адрес.
Настройка Запрашивать гражданство при регистрации частного лица в форме Упрощенная регистрация частного лица не обрабатывается.


После того, как данные заполнены, нажимаем кнопку Зарегистрироваться. По факту регистрации на указанный e-mail частного лица приходит письмо, которое уведомляет об успешно пройденной регистрации. Также приходит письмо на электронную почту администратора системы, уведомляющее, что в системе произошла регистрация частного лица.
Шаблоны писем находятся в папке TourSearchOwin → NotifyResponse:

  • TemplateForTourist.txt - шаблон письма Произведена регистрация в системе онлайн бронирования;
  • TemplateForAdmin.txt - шаблон письма Новая регистрация частного лица

Настройки для отправки писем задаются в конфигурационном файле Megatec.TourSearchOwin.exe.config.

Настройка ссылки на Политику конфиденциальности задаётся в конфигурационном файле web.config, в папке TourSearchClient .

Взаимодействие формы регистрации и корзины
  • Если неавторизированный турист в корзине внес данные туристов и нажал кнопку Вход в систему – открывается окно авторизации. При выборе пункта регистрация туриста – откроется регистрационная форма с уже заполненными данными, внесенными для главного туриста. При нажатии на Зарегистрироваться будет произведена регистрация и авторизация туриста.
  • Если неавторизированный турист в корзине внес данные туристов и нажал кнопку Купить – открывается окно авторизации. При выборе пункта регистрация туриста – откроется регистрационная форма с уже заполненными данными, внесенными для главного туриста. При нажатии на Купить будет произведена регистрация туриста, его авторизация и попытка бронирования (если все обязательные поля заполнены). Если заполнены не все обязательные поля для бронирования, то система сообщит об этом пользователю. Данный пункт обрабатывается только в упрощенной форме регистрации.
  • Если неавторизированный турист в корзине нажал кнопку Вход в систему – открывается окно авторизации. При выборе пункта регистрация туриста – откроется регистрационная форма. После заполнения обязательных полей и нажатии кнопки Зарегистрироваться будет произведена регистрация и авторизация туриста, а все введенные при регистрации данные будут добавлены главному туристу.
  • Если неавторизированный турист в корзине нажал кнопку Купить – открывается окно авторизации. При выборе пункта регистрация туриста – откроется регистрационная форма. После заполнения обязательных полей и нажатии кнопки Купить будет произведена регистрация туриста, его авторизация и попытка бронирования (если все обязательные поля для бронирования заполнены). Если заполнены не все поля, то система сообщит об этом пользователю. Данный пункт обрабатывается только в упрощенной форме регистрации.

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

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

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

При нажатии на кнопку Очистить фильтры происходит очистка ранее выбранных фильтров.

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

Существует возможность добавить Город в главные фильтры. Для этого необходимо
воспользоваться настройкой Отображать фильтр по городам на главной странице поиска.

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

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

По умолчанию выбран вариант "Есть+Эапрос", установка других доступных значений (Есть, Все) производится в Программах Туров → Настройки поиска

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

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

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

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

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


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

Состав тура

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

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

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

  • Даты туров и продолжительность тура (в днях) – продолжительность считается по дате окончания предоставления последней услуги. Поэтому, например, при обратном перелете на следующий день, количество дней в туре в поиске будет увеличено на один день
  • Город начала поездки
  • Название тура
  • Отель, город, курорт, категория, продолжительность проживания (в ночах)
  • Авиаперелет - информация по рейсам авиаперелета
  • Цена - минимальная возможная цена варианта тура по заданным в фильтрах дате, продолжительности, количеству людей, туру и отелю.

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


Состав тура

Отображения минимальной цены для конкретного отеля

Примерно в 1% результатов поиска может возникать ситуация, когда для конкретного отеля подбирается не самая минимальная цена.
Отображения минимальной цены конкретного отеля

При инициализации службы поиска происходит "взвешивание" цены на отель. В случаях когда суточные цены на разные размещения или типа питания внесены разным количеством периодов, средний вес более дешевого номера может быть больше, чем у более дорого. Например цены на питании завтрак внесены 4-мя строчками, а цена на питании полупансион 6-ю. При измерении общего среднего веса цены получится, что цена на питании полупансион весит меньше.
Для избежания подобных ситуаций рекомендуем вносить цены на разные размещения и типы питания одинаковым количеством периодов.
Вес суточной цены

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

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

  • Цена – отбор туров в заданном диапазоне цен;
  • Программа тура – отбор по самой программе тура;
  • Параметры проживания – отбор по городу, курорту, категории отеля, питанию, признаку отеля и названию отеля;
    • Признаки отелей – находятся в фильтре Параметры проживания. Производит отбор отелей по выбранному признаку (фильтр доступен, начиная со 2-го релиза). Добавляются в справочнике Признаки отелей;
  • Параметры авиаперелета – отбор по параметрам авиаперелета (время вылета/прилета, аэропорт вылета/прилета, город вылета, авиакомпания и класс перелета);

Начиная с релиза 15.3 реализован механизм, позволяющий не сбрасывать дополнительные фильтры при изменении основных фильтров.
Начиная с релиза 15.3 реализован подсчет общего количества найденных отелей, а также подсчет выбранных отелей в дополнительных фильтрах.
Начиная с релиза 15.3 добавлена возможность выводить в дополнительных фильтрах поиска сгруппированные типы питания и категории отелей по их глобальным кодам. Регулируется соответствующими настройками.
Логика отображения следующая: если в справочнике Типы питания или Категории отелей заполнено поле Глобальный код, то он будет отображаться в дополнительных фильтрах. Если поле Глобальный код не заполнено, то будет отображаться значение, заданное в поле Название. В результатах поиска Глобальный код не отображается.
Начиная с релиза 15.3 добавлены два признака в дополнительные фильтры Параметры авиаперелета:

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

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

Состав тура

Фильтр Выбранная комбинация отелей

Данный фильтр предназначен для поиска конкретной комбинации отелей в сложных турах. Например, мы едем в тур Бангкок-Паттайя и хотим жить в Бангкоке в отеле Grand Mercure Bangkok Atrium, а в Паттайе в Jomtien Palm Beach. Для этого в списке отелей выбираем требуемые отели и ставим чекбокс Выбранная комбинация отелей.
Теперь в поиске будут показываться только те варианты туров, в которых есть данная комбинация отелей.
По умолчанию фильтр Выбранная комбинация отелей не виден. Он становится доступным после того, как пользователь выбрал в списке отелей хотя бы один отель.

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

Фильтр Выбранная комбинация признаков отелей

Данный фильтр предназначен для отображения только тех отелей, в которых встречается выбранная комбинация признаков отелей. Например, нам нужны отели, в которых есть Закрытая территория и Конференц-зал. Для этого в списке признаков отелей выбираем требуемые признаки и ставим чекбокс Выбранная комбинация признаков отелей.
Теперь в поиске будут показываться только те варианты туров, в отелях в которых есть данная комбинация признаков отелей.
По умолчанию фильтр Выбранная комбинация признаков отелей не виден. Он становится доступным после того, как пользователь выбрал в списке отелей хотя бы один признак отеля.

Группировка результатов поиска

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

  • название тура
  • дата тура
  • продолжительность
  • город начала поездки
  • отель
  • город
  • курорт
  • категория отеля

Отдельные случаи группировок по отель, городу, курорту и категории отеля:

  • В случае если производится группировка по отелю и дополнительно делается попытка группировки по городу, курорту, или категории отеля - то группировка по отелю сбрасывается;
  • В случае если производится группировка по городу, курорту или категории отеля и дополнительно делается попытка группировки по отелю - то группировки по городу, курорту и категории отеля сбрасывается.

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

Состав тура

Начиная с релиза 15.8 произведена оптимизация, при которой при группировке по названию тура и отелю участвует только одна дата и продолжительность для каждой программы туров.

Особенности путешествия в выбранную страну

Блок Особенности путешествия в выбранную страну появляется в том случае, если в системе администрирования ПК "Мастер-Web" в поле Примечание подраздела Страны -> Страна задано описание страны.
Начиная с 15 версии релиза 7 и выше описание по стране добавляется в справочнике Страны в программе туров. Справочники → География → Страны (ссылка на страницу http://ip-адрес сервера/TourPrograms/Countries).
Примечания по стране

Поиск с включенными изображениями и описанием отеля

Отображение изображений и описание отеля включается в настройкой показывать описание и изображения отелей в поиске в панели администрирования программы туров. Само описание и изображения отеля необходимо предварительно добавить в новом справочнике отелей.
При включенной настройке поиск начинает работать следующим образом:
Поиск с изображение отеля

Нажав либо на изображение preview рядом с отелем, либо на название отеля – откроется окно с изображениями и описанием отеля, разделенное на разделы. Такие же разделы отображаются и в справочнике отеля. Если описание не добавлено, но указана ссылка на сайт в карточке отеля, то нажав на название отеля происходит переход по ссылке. Если добавлено описание, то открывается окно с описанием, и ссылка на сайт находится справа внизу с текстом Подробнее.

Описание отеля

Нажав на изображение, откроется слайдер изображений во весь экран.

Карусель изображений отеля

Отображение в поиске информации по ценовым блокам и акциям

Начиная с релиза 15.5 в настройки ценовых блоков и акций добавлена возможность отображать информацию о них в онлайне. После включения этих настроек в поиске около цен, к которым применяются такие ценовые блоки или акции, появятся специальные иконки, при наведении на которые отобразится необходимая информация.
Пример цены с информацией о ценовом блоке и акциях
Начиная с релиза 15.8 дата, указанная в поле период продаж по при создании ценового блока, отображается при наведении на иконку SPO.
Видимость в поиске регулируется настройкой Отображать окончание периода продаж ценового блока в настройках поиска программы туров.
Ea 404.png

Поиск по ночам проживания в отеле

Начиная с релиза 15.5 в настройку Осуществлять поиск панели администрирования добавлена опция "в ночах проживания в отеле".

Настройка поиска цен тура по ночам проживания в отеле

При выборе этой опции поиск туров будет осуществляться не по общему количеству дней тура, а по количеству ночей проживания в отеле или круизе. К примеру, если общая длительность тура составляет одиннадцать дней, однако ночей проживания в нем девять, то искаться цены этого тура будут при выборе девяти ночей в поисковом фильтре "Ночи проживания".
Дополнительно указывается рядом с количеством ночей проживания в туре также количество ночей в пути.
При наведении на количество ночей в пути вcплывает сообщение "9 ночей проживания в отеле+2 ночи в пути"

Пример поиска цен тура по ночам проживания в отеле

Аналогично информация о туре будет отображаться и в корзине.

Отображение информации о ночах проживания тура в корзине

Поиск, бронирование и квотирование инфанта

Стоимость на услугу Авиаперелет для инфанта вноситься на тот же тариф, для которого заведена стоимость для взрослого. Цена вносится отдельной строчкой с указание возрастных ограничений. Цена за инфант

При поиске туров, где в состав семьи входит инфант, ребенка с возрастом «1 год» необходимо добавлять в основной состав туристов, в основных фильтрах поиска. Возраст инфанта задается в общих настройках, панели администрирования
Фильтры поиска

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

Квоты на отель: Мастер-Тур 15 работает только с ценами и квотами за номер. Инфант не снимает дополнительную квоту, а также не изменяет стоимость номера.
Услуга Авиаперелет для инфанта будет подтверждена вне квоты.
В случае если инфант в процессе тура становится ребенком, он будет занимать квоту на обратном перелете. Цена также будет рассчитана с учетом возраста на обратном перелете.
Результат поиска

Поиск типов размещений с детьми

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

Проверка наличия курсов валют в поиске

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

Что бы поиск работал, нужно добавить курсы национальной валюты и реальные кросс-курсы в соответствующие справочники Мастер-Тур.

Если признак выключен, то работа поиска осуществляется следующим образом:

  • Если отсутствует курс национальной валюты, а поиск происходит в ней, то система все цены показывает равными 0;
  • Если отсутствует кросс-курс между валютами (например: перелет в $, а отель в EU), а поиск происходит в одной из этих валют, то система все цены показывает равными 0;
  • Если отсутствует курс национальной валюты, то в корзине система показывает стоимость в валюте тура, в национальной валюте цена показывается 0. Бронирование происходит по стоимости в валюте тура, при этом курс национальной валюты в путевке не фиксируется, стоимость в национальной валюте указывается 0;
  • Если отсутствует кросс-курс между валютами (например: перелет в $, а отель в EU), то в корзине цена в валюте тура показывается равная 0 и бронирование становится невозможным;


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

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

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

http://ip-адрес сервера/TourSearchClient?departureCities=1&destination=1_30&tourType=5,2&dates=23.06.2016,24.06.2016,25.06.2016&durations=2,3,4,5,6,7,8,9&adultCount=2&hotelQuota=7&aviaQuota=7&currency=USD

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

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

  • departureCities — код города вылета из таблицы CityDictionary;
  • destination — "1_" + код страны места назначения из таблицы Country;
  • destCities — код города места назначения из таблицы CityDictionary (только при включенной настройке Отображать фильтр по городам на главной странице поиска);
  • tourType — код типа тура;
  • dates — даты начала тура (даты задаются в формате ДД.ММ.ГГГГ, более одной даты указываются через запятую);
  • durations — продолжительности (задаются через запятую);
  • adultCount — количество взрослых;
  • hotelQuota/aviaQuota — код варианта наличия мест на отели/авиаперелеты (значения параметров: "1" — фильтр "Есть", "5" — фильтр "Есть+запрос", "7" — фильтр "Все");
  • currency — ISO код валюты (задается в справочнике Список валют).

К примеру, если нужно передать по умолчанию значения фильтра Наличия мест в отелеВсе, то URL-запроса будет следующего вида:
<http://ip-адрес сервера/TourSearchClient?hotelQuota=7

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

  • childAges — возраст ребенка (если детей более одного, то возраста перечисляется через запятую, если возраст ребенка "0" - то обрабатывается как "не указан");
  • groupingKeys — группировка результатов поиска по:
    • Названию тура;
    • Дате тура;
    • Продолжительности;
    • Городу начала поездки;
    • Отелю;
    • Городу;
    • Курорту;
    • Категории отеля.

Пример: http://ip-адрес сервера/TourSearchClient?departureCities=1&destination=1_30&tourType=5,2&dates=27.06.2016&durations=5&adultCount=2& childAges=1,3&hotelQuota=5&aviaQuota=7&currency=USD&groupingKeys=2,4,8

Параметры фильтров:

1. Цена

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

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

2. Программа тура

  • tours — ключ программы тура из таблицы TourPrograms;

3. Параметры проживания

  • cities — код города из таблицы CityDictionary;
  • resorts — код курорта из таблицы Resorts;
  • cats — код категории отеля из таблицы CategoriesofHotel;
  • hotelTypes — код признака отеля из таблицы HotelTypes;
  • pansions — код типа питания из таблицы Pansion;
  • hotels — код отеля из таблицы HotelDictionary;

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

  • depTimeFrom/depTimeTo — временной интервал вылета (задается в формате ЧЧ:ММ);
  • arrTimeFrom/arrTimeTo — временной интервал прилета (задается в формате ЧЧ:ММ);

Пример URL-запроса с использованием временных интервалов вылета и прилета:
http://ip-адрес сервера/TourSearchClient?departureCities=232&destination=1_10&tourType=5,2&dates=27.06.2016&durations=5&adultCount=2&hotelQuota=5&aviaQuota=7&currency=USD&depTimeFrom=01:00 &depTimeTo=01:59&arrTimeFrom=02:00& arrTimeTo=03:59

  • dep_airports — коды аэропортов вылета
  • arr_airports — коды аэропортов прилета
  • flightCityDeparture — код города вылета
  • airlines — код авиакомпании из таблицы Airline
  • flightTariffs — код класса перелета
  • departureFlightNumberTransfer – наличие пересадок в прямом направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более). Обрабатывается начиная с релиза 15.3.
  • arrivalFlightNumberTransfer – наличие пересадок в обратном направлении (1 – одна пересадка, 2 – две пересадки и более, 3 – одна пересадка совместно с двумя пересадками и более). Обрабатывается начиная с релиза 15.3.

Ниже перечисленные параметры подразумевают установку признака активности, поэтому принимают только значение true:

  • dTransfer=true — запрет на пересадку для прилета (без пересадок в прямом направлении)
  • aTransfer=true — запрет на пересадку для вылета (без пересадок в обратном направлении)
  • CombineAirlines=true — разрешить комбинировать авиаперелеты. Параметр применяется только при наличии параметра airlines. Обрабатывается начиная с релиза 15.3.
  • CombineTariffs=true — разрешить комбинировать классы перелета. Параметр применяется только при наличии параметра tariff. Обрабатывается начиная с релиза 15.3.

Пример: http://ip-адрес сервера/TourSearchClient?departureCities=1&destination=1_30 &tourType=5,2&dates=27.06.2016&durations=5&adultCount=2&hotelQuota=5&aviaQuota=7&currency=USD&dTransfer=true&aTransfer=true

Настройка View для разграничения туров, опубликованных для продажи

Существует возможность настроить разграничение доступа к турам для пользователя, которым подключается служба поиска в БД. Пользователь прописывается в строке подключения службы поиска
Для пользователя создается View на таблицы ToursSearch и TourPrograms.

Пример скрипта, для создания View для разграничения поиска по странам и городам вылета

IF OBJECT_ID('UserMT.ToursSearchView') IS NOT NULL
	DROP VIEW UserMT.ToursSearchView
GO
CREATE VIEW [UserMT].[ToursSearchView] 
AS 
SELECT * 
FROM dbo.ToursSearch 
WHERE 
	(TS_CTDepartureKeys = '1' or TS_CTDepartureKeys = '5' or TS_CTDepartureKeys = '1;5' or TS_CTDepartureKeys = '5;1') 
	and (TS_CNKeys = '90' or TS_CNKeys = '460' or TS_CNKeys = '460;90' or TS_CNKeys = '90;460' )
GO
IF OBJECT_ID('UserMT.TourProgramsView') IS NOT NULL
	DROP VIEW UserMT.TourProgramsView
GO
CREATE VIEW [UserMT].[TourProgramsView] 
AS 
SELECT * 
FROM dbo.TourPrograms 
WHERE TP_Id in 
	(SELECT TS_Id FROM [UserMT].[ToursSearchView]) 
GO

Где,
(TS_CTDepartureKeys = '1' or TS_CTDepartureKeys = '5' or TS_CTDepartureKeys = '1;5' or TS_CTDepartureKeys = '5;1') and (TS_CNKeys = '90' or TS_CNKeys = '460' or TS_CNKeys = '460;90' or TS_CNKeys = '90;460' ) это условия разграничения.

  • TS_CTDepartureKeys – указываются ключи городов вылета (CT_KEY таблицы Citydictionary);
  • TS_CNKeys – указываются ключи стран, направлений поиска (CN_KEY таблицы Country);
  • UserMT – пользователь, который прописан в строке подключения службы поиска (указан в скрипте в 7 местах);


Пример скрипта, для создания View для разграничения поиска по филиалам

IF OBJECT_ID('UserMT.ToursSearchView') IS NOT NULL
	DROP VIEW UserMT.ToursSearchView
GO
CREATE VIEW [UserMT].[ToursSearchView] 
AS 
SELECT * 
FROM dbo.ToursSearch 
WHERE 
	TS_Id in 
	(select tp_id from (
		SELECT tp_id,tp_xmlsettings, cast(T2.Loc.query('.') as nvarchar(max))  as branches
		FROM   TourPrograms  
		CROSS APPLY tp_xmlsettings.nodes('/TourProgram/TourSettingsViewModel/Branches') as T2(Loc) ) tt
		where ((CHARINDEX('<int>446</int>',branches) > 0) ))
GO
IF OBJECT_ID('UserMT.TourProgramsView') IS NOT NULL
	DROP VIEW UserMT.TourProgramsView
GO
CREATE VIEW [UserMT].[TourProgramsView] 
AS 
SELECT * 
FROM dbo.TourPrograms 
WHERE TP_Id in 
	(SELECT TS_Id FROM [UserMT].[ToursSearchView]) 
GO

Где,

  • <int>446</int> – указывается ключ партнера из таблицы tbl.Partners, который указан в поле филиал бронирования в тур программе;
  • UserMT – пользователь, который прописан в строке подключения службы поиска (указан в скрипте в 7 местах);

Быстрый поиск

Также можно осуществить поиск, воспользовавшись формой Быстрый поиск. Данная форма вставляется в любую страницу сайта (для этого используются фреймы).
Mb 237.png
Для того, чтобы вставить эту форму на страницу, нужно добавить следующий текст:

<IFRAME SRC="HTTP://ip-сервера/TourSearchClient/DemoSearch" scrolling="no" width="280" height="450" FRAMEBORDER="0">

Дизайн настраивается в файле \TourSearchClient\Views\DemoSearch\Index.cshtml. Стили прописываются в файле \TourSearchClient\Content\Shared\Common.css.
На форме отображены фильтры, аналогичные основным фильтрам поиска: Откуда, Куда, Тип тура, Даты заезда, Количество ночей от... до..., Взрослые, Дети. После их заполнения и нажатия кнопки Найти происходит переход на основной поиск, куда передаются все параметры, выбранные в фильтрах быстрого поиска.

Быстрый поиск (новая форма)

Данная форма является альтернативным решение быстрого поиска с другим дизайном и реализацией. Быстрый поиск
Дизайн и настройки прописываются в файле \TourSearchOwin\NotifyResponse\DemoSearchTemplate.html.
Этот же файл является самой формой поиска, которая встраивается путем вставки в страницу сайта текста в html формате.
Весь текст, указанный в этом файле – необходимо использовать целиком.
Настройки подключения к службе поиска и настройки фильтров:

            search_api_service_url: "http://localhost:9000/TourSearchOwin/", /* URL сервиса  */
            search_client_url: "http://localhost/TourSearchClient/", /* URL клиента поиска */
            localizeCode: "ru", /* Код локализации (ru, en или ua) */
            filtersOrder: {
                country: 1,
                type: 2,
                date: 3,
                duration: 4,
                people: 5,
                city: 6,
            }
            cityKey: 1,
            countryKey: null,
            typeKey: null,
            title: "",


  • search_api_service_url – указывается путь к службе поиска (TourSearchOwin)
  • search_client_url – указывается путь к клиенту поиска (TourSearchClient)
  • localizeCode – код локализации (ru, en или ua). Позволяет изменить локализацию окна быстрого поиска. Переводы задаются в объекте localize в файле demoSearch.js.
  • country: 1 – фильтр страна
  • type: 2 – фильтр тип тура
  • date: 3 – фильтр даты заезда
  • duration: 4 – фильтр количество дней
  • people: 5 – фильтр количество туристов
  • city: 6 – фильтр город вылета/выезда

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

  • cityKey – указывается ключ (CT_KEY из таблицы CityDictionary) города вылета/выезда по умолчанию, null – город вылета/выезда в фильтре не будет заполнен. Существует возможность передать множественное значение, в формате: [-1, 1]
  • countryKey – указывается ключ (CN_KEY из таблицы Country) страны по умолчанию, null – страна в фильтре не будет заполнена
  • typeKey – указывается ключ (TP_KEY из таблицы TipTur) типа тура по умолчанию, null – тип тура в фильтре не будет заполнен
  • title – заголовок над формой поиска, если необходим
Полезная информация


Существует возможность в фильтрах city, country и type указать 0, в этом случае фильтры будут скрыты 
со значением по умолчанию, указанным в параметрах cityKey, countryKey и typeKey соответственно.


Дизайн настраивается в тегах:

            /* Блок с переменными */
            :root {
                --search-color_159753: #00c2eb; /* цвет кнопки Найти */                        
                --search-text-color_159753: #fff; /* цвет текста кнопки Найти */
                --color_159753: #333; /* цвет остальных кнопок */
                --font-size_159753: 15px; /* размер шрифта фильтров */
                --font-size-controlers_159753: 13px; /* размер шрифта выпадающих фильтров количества дней и количества взрослых/детей) */
                --font-size-search-btn_159753: 15px; /* размер шрифта кнопки поиска */
                --font-size-calendar-btn_159753: 13px; /* размер шрифта кнопки очистить в колендаре */
                --font-size-error_159753: 40px; /* размер шрифта текста ошибки */
                --font-color_159753: #000; /* цвет всех шрифтов */
                --font-family_159753: sans-serif; /* гарнитура шрифта */
                --angle-icon-color_159753: #999; /* цвет иконок (треугольных) */
            }

            /*Фон и отступы*/
            .demo-search_159753 {
                background: #eee; /* можно ввести цвет (#eee) или при использовании изображения вместо background: #eee; ввести background-size: cover; background-image: (url("путь к картинке")) */
                padding: 70px 70px 70px 70px; /* отступы до фильтров (сверху/справа/снизу/слева) */
            }

            /* Стили заголовка */
            .demo-search-title_159753 {
                color: #000; /* цвет заголовка */
                margin-bottom: 0px; /* расстояние между заголовком и фильтрами */
                font-family: var(--font-family_159753); /* гарнитура шрифта заголовка */
                font-size: 40px; /* размер шрифта заголовка */
                text-align: center; /* расположение текста заголовка */
            }

Встраиваемая схема доступных мест в автобусе в отдельный сайт

Начиная с релиза 15.8 появилась возможность отображения схемы с планом рассадки автобусного переезда на любом внешнем сайте.

Предварительная подготовка

Подготовка тура

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

Подготовка файлов

Файлы находятся по пути Master15.8.0_№сборки\TourSearchOwin\TransportPlan. Также в папке имеется шаблон наполнения сайта demoSite.html.
В корневую папку внешнего проекта сайта добавить файлы bus-scheme.min.js и стили bus-scheme.css.
Автобусы план рассадки
В теге <head> страницы необходимо прописать ссылку на файл стилей bus-scheme.css.

<link rel="stylesheet" href="bus-scheme.css" />


На странице в конце тега <body> добавить ссылку на файл bus-scheme.min.js

<script src="./bus-scheme.min.js"></script>


Далее в любой части кода страницы можно вызвать кнопку вывода плана рассадки автобусного переезда, указав в параметре tour-program-key ключ турпрограммы, в параметре api-origin прописать адрес службы поиска. Количество кнопок на странице неограничено и зависит от количества указанных ниже строк.

<bus-scheme tour-program-key="100011312" api-origin="http://localhost:9000/TourSearchOwin/" />
<bus-scheme tour-program-key="100011313" api-origin="http://localhost:9000/TourSearchOwin/" />


Автобусы план рассадки

Работа с формой

После выполнения указанных выше действий на странице в нужном месте появится кнопка Ea 387.png.
Ea 383.png
При нажатии на кнопку откроется форма, на которой будет отображено направление автобусного переезда (берется из названия услуги), дата начала и план рассадки. Существует возможность выбрать другую дату с просмотром актуальной схемы рассадки на выбранную дату.
Ea 390.png
Зеленым помечены свободные места, красным — занятые.

Обратите внимание, если в туре несколько автобусных переездов, то отобразится название и план рассадки только первого из них