Форма поиска (Авиабилеты)
Форма поиска 一 блок системы Nemo.travel компонента Авиабилеты с настройками для задания параметров поискового запроса и запуска поиска авиабилетов.
Содержание
Основные параметры поискового запроса на форме поиска
- Тип маршрута:
Тип маршрута можно выбрать из выпадающего меню.
- Даты вылета и прилета — задаются через встроенный календарь с областью видимости на два месяца и возможностью перемещения нему вперед и назад.
В разделе настроек Управление продажами → Авиабилеты → Устаревшие настройки → Ограничения поиска можно задать ограничения на диапазон дат, разрешенных для поиска и бронирования относительно текущего числа. Это регулируется следующими настройками:- Ближайшая разрешенная дата для поиска билетов (дней от текущего числа) - Отсчет ведется от сегодняшнего дня. Ноль означает сегодня.
Можно задать целым числом, либо промежутком времени, заданным в следующем формате: 00:00-9:30,1.
Это означает, что в период времени с 00:00 до 9:30 значение настройки равно 1. Максимальное количество временных промежутков - 2, разделитель - ";".
Пример: 00:00-9:30,1;19:30-23:59,2. Таким образом, во время, не указанное во временных интервалах, настройка будет равна 0. То есть: в интервал времени с 00:00 до 9:30 пользователи сайта смогут искать рейсы с вылетом не раньше чем завтра (+1 от текущей даты). В период с 19:30 до 23:59 пользователи сайта смогут искать рейсы с вылетом не раньше чем послезавтра (+2 от текущей даты). В неохваченный период (с 9:30 до 19:30 будет доступен поиск рейсов с вылетом сегодня (+0 от текущей даты).
Значение интервала времени можно вводить от 00:00 до 24:00 включительно.
Принцип работы трех следующих настроек аналогичный. - Ближайшая разрешенная дата для бронирования билетов (дней от текущего числа) - Если значения настройки установлены так, что на какую-либо дату поиск разрешен, но не разрешено бронирование, то при попытке бронирования пользователь получит сообщение об ошибке: Бронирование запрещено, т.к. выбранная дата бронирования меньше ближайшей разрешенной даты для бронирования билетов.
- Самая дальняя разрешенная дата для поиска билетов (дней от текущего числа) - принцип работы настройки аналогичный предыдущим двум, но ограничение задается на самую дальнюю доступную в календаре дату для поиска.
- Самая дальняя разрешенная дата для бронирования билетов (дней от текущего числа) - принцип работы настройки аналогичный предыдущим трем, но ограничение задается на самую дальнюю доступную дату для бронирования.
- Ближайшая разрешенная дата для поиска билетов (дней от текущего числа) - Отсчет ведется от сегодняшнего дня. Ноль означает сегодня.
- Аэропорты вылета и прилета — пустое или предварительно заполненное текстовое поле с функцией автозаполнения по мере набора текста пользователем. Поддерживается поиск по названию города на русском или английском языке, названию аэропорта на русском или английском языке, IATA коду аэропорта. Совпадение определяется по первым буквам. В качестве подсказки выводится название страны расположения аэропорта и код аэропорта.
Для удобства поиска рекомендуется включить кнопку, меняющую местами пункты вылета и прилета, в разделе Настройки системы - Интеграция - Nemo 1.0 (JSON API) - Отображать кнопку, которая меняет местами города вылета и прилета.
По умолчанию для поиска доступны все аэропорты. Если сайт настроен на продажу билетов только одной конкретной авиакомпании, то имеет смысл отображать для поиска только те направления, по которым данная а/к осуществляет полеты. Для этого можно включить настройку Режим работы автокомплита IATA точек: По маршрутной сетке авиакомпании в разделе Настройки системы - Интеграция - Nemo 1.0 (JSON API) и внести IATA-код авиакомпании в поле ниже (Укажите авиакомпанию для подгрузки маршрутной сетки). Внимание! Данная настройка работает только для ГРС Сирена Трэвел. Маршрутная сеть авиакомпании будет подгружаться специальным запросом напрямую из ГРС, и соответствующие аэропорты будут доступны или не доступны для выбора на форме поиска.
Также в разделе Настройки системы - Интеграция - Nemo 1.0 (JSON API) присутствует настройка Выделять даты доступных рейсов в календаре формы поиска позволяющая включить подсветку доступных для поиска дат в календаре на форме поиска. Внимание! Данная настройка работает только для ГРС Сирена Трэвел. Расписание авиакомпаний будет подгружаться дополнительным запросом из ГРС по пакету выбранному в разделе Управления продажами - Авиабилеты - Процесс поиска - тонкая настройка - Пакеты для поиска по расписанию в NEMO2.0 .
- Количество пассажиров - доступные типы пассажиров:
- Взрослый (adult),
- Ребенок - от 2 полных до 12 неполных лет (child),
- Младенец без места - до 2 неполных лет (infant),
- Младенец с местом - до 2 неполных лет (infant-seat).
По умолчанию в выпадающем списке для быстрого выбора доступны три наиболее часто используемых комбинаций пассажиров: 1 взрослый, 2 взрослых, 2 взрослых и 1 ребенок. Для выбора других сочетаний по клику на кнопку Больше пассажиров появится всплывающее окно:
Можно изменить данный режим выбора пассажиров на быстрый выбор в выпадающем списке:
Для этого нужно включить настройку Выбор пассажиров на форме поиска с помощью подробного селекта в разделе Настройки системы - Интеграция - Nemo 1.0 (JSON API).
- Только прямые — включает поиск только рейсов без пересадок. Для того чтобы скрыть этот чекбокс и запретить искать рейсы без пересадок, включите настройку Скрывать опцию поиска только среди прямых рейсов на форме поиска в разделе Управление продажами - Авиабилеты - Процессы - Форма поиска.
- Класс перелета - выбор класса обслуживания:
- Эконом,
- Бизнес,
- Первый.
Для старых тем оформления отображение эконом-премиум класса и первого класса на форме поиска регулируется настройками Отображать класс эконом-премиум на форме поиска и Отображать первый класс на форме поиска соответственно в разделе Управление продажами → Авиабилеты → Устаревшие настройки → Ограничения поиска.
- Искать ±Х дня — при выборе данной опции поиск производится в диапазоне X дней (задаётся в настройках) от выбранной даты, так же система выделит самые дешевые тарифы из диапазона (см. Поиск по окружным датам (Авиабилеты)). После перехода на выбранную дату с матрицы результатов поиска по окружным датам пользователь получит полную выдачу результатов поиска на эту фиксированную дату.
Отображение параметра регулируется опцией Скрывать соседние даты на форме поиска в разделе Управление продажами - Авиабилеты - Процессы - Форма поиска.
Дополнительные параметры поискового запроса
- Цена билетов — ограничение верхнего предела стоимости найденных комбинаций за всех пассажиров.
- Авиакомпании — задайте одну или несколько предпочитаемых авиакомпаний, рейсы которых должны быть в результатах поиска. (Для старых тем оформления режим работы параметра регулируется опцией Режим фильтрации авиакомпаний на форме поиска.)
Принцип работы данного фильтра:
- Если в выдаче результатов нет рейсов авиакомпании, которая была задана в фильтре, то пользователю будет предложено удалить этот параметр фильтрации и станут доступны остальные предложения других авиакомпаний.
- Если в выдаче результатов есть рейсы авиакомпании, заданной в фильтре на форме поиска, то отображаться будут только они, однако, при желании пользователь может сбросить этот фильтр и посмотреть предложения других авиакомпаний.
- Если в выдаче результатов имеются рейсы только какой-то одной авиакомпании, но нет рейсов авиакомпании, заданной в фильтре, то фильтр сбросится автоматически.
- Время в пути - ограничение поиска рейсов по длительности перелета. Доступные для выбора варианты: не важно (по умолчанию ищутся все), не более 6 часов, не более 12 часов, не более суток.
- Пересадки - можно задать поиск только прямых рейсов или рейсов только с короткими пересадками (не более 2 часов).
Блок "Сейчас ищут"
Внимание! Работает только для старых тем оформления.
При включении блока на сайте отображается информация о 6-ти последних поисковых запросах, с которых можно перейти на результаты этих поисков. Результаты этого блока обновляются при обновлении страницы.
Включить блок можно опцией Показывать блок «Сейчас ищут» в разделе: Управление продажами → Авиабилеты → Форма поиска.
Код включения блока в CMS
1 {literal}
2 <script src="/static/js/nowSearching.js"></script>
3 <script>
4 $(function () {
5 $('.js-flights-nowSearching').nowSearching();
6 });
7 </script>
8 {/literal}
9 <div class="new-ui-container new-flights-nowSearching js-flights-nowSearching">
10 <div class="new-flights-nowSearching__header">
11 <!-- ko if: !loading() -->
12 <span class="new-ui-button new-ui-button_small new-ui-button_secondary new-flights-nowSearching__refresh js-flights-nowSearching__refresh">{'nowsearching__refresh'|language}</span>
13 <!-- /ko --> {'nowsearching__title'|language}
14 </div>
15 <div class="new-ui-container__divider new-ui-container__divider_smallMargin new-flights-nowSearching__divider"></div>
16 <div class="new-flights-nowSearching__items" data-bind="foreach: elements, css: {ldelim}'new-flights-nowSearching__items_loading':loading{rdelim}">
17 <!-- ko if: $index() != 0 -->
18 <div class="new-ui-container__divider new-ui-container__divider_smallMargin new-flights-nowSearching__divider"></div>
19 <!-- /ko -->
20 <a class="new-flights-nowSearching__item" data-bind="attr: {ldelim}href: '/index.php?go=search/view_results&uid='+searchUid{rdelim}">
21 <money class="new-flights-nowSearching__item__price" data-bind="nowSearchingMoney: price" format="0,0 $"></money>
22 <div data-bind="attr:{ldelim}'class':'new-flights-nowSearching__item__data new-flights-nowSearching__item__data_'+searchType{rdelim}">
23 <!-- ko if: searchType == 'OW' -->
24 <div class="new-flights-nowSearching__item__route" data-bind="html: segments0.depAir+' — '+segments0.arrAir"></div>
25 <div class="new-flights-nowSearching__item__dates" data-bind="html: segments0.depDate+'{'nowsearching__date_owadder'|language}'"></div>
26 <!-- /ko -->
27 <!-- ko if: searchType == 'RT' -->
28 <div class="new-flights-nowSearching__item__route" data-bind="html: segments0.depAir+' — '+segments0.arrAir"></div>
29 <div class="new-flights-nowSearching__item__dates" data-bind="html: segments0.depDate+' {'nowsearching__date_rtadder_1'|language} '+segments1.depDate+' {'nowsearching__date_rtadder_2'|language}'"></div>
30 <!-- /ko -->
31 <!-- ko if: searchType == 'CR' -->
32 <div class="new-flights-nowSearching__item__routeShort" data-bind="html: segments.length+' '+(segments.length%10 > 4 ? '{'nowsearching__flightsnumber_5pl'|language}' : '{'nowsearching__flightsnumber_2-4'|language}')"></div>
33 <!-- /ko -->
34 </div>
35 </a>
36 </div>
37 </div>