Открыть главное меню

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

Версия от 03:15, 11 мая 2012; Лидия Чаплин (обсуждение | вклад) (Постфильтры на странице «Результаты поиска»)

Содержание

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

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

Чтобы установить желаемую группировку, необходимо зайти на страницу «Авиабилеты» - «Поиск» - «Настройка группировки и фильтров».

На указанной странице доступен ряд настроек группировки и фильтрации:

 

  • «Без группировки» - при включении этой настройки на результатах поиска выводятся все варианты перелетов. При поиске перелетов туда-обратно отображаются все варианты комбинаций, без какой-либо фильтрации и группировки.
  • «По сегментам» - если включена данная настройка, то пользователю предлагается список сегментов для выбора наиболее подходящего. Достаточно в левой части страницы отметить радиокнопкой желаемый перелет и нажать кнопку «Выбрать».
  • «По времени» - при такой группировке пользователь выбирает наиболее удобное для него время. В данном случае на отображение результатов так же влияет настройка «Отображать все результаты в группировке по времени». Если она не активна, то выводятся только самые дешевые варианты (прямой и с пересадками). Чтобы отобразить остальные варианты, необходимо кликнуть на соответствующих ссылках «Другие прямые рейсы» и «Другие рейсы с пересадками».

Фильтры на странице «Результаты поиска»

При использовании группировок «По времени» и «По сегментам» можно так же включить фильтрацию на результатах поиска. Форма с фильтрацией отображается в верхней части страницы - непосредственно над результатами поиска. Вид данной формы настраивается следующими опциями:

 

  • «Тип фильтра (для сгруппированных результатов)» - фильтрация по одному критерию может быть как с множеством вариантов (например, время вылета: днем и вечером - в данном случае для выбора используются чекбоксы), так и с одним конкретным вариантом (время вылета: ночью - для выбора используется радиокнопки). При использовании фильтров учитывается несочетаемость полетов. В данном случае недоступные варианты подсвечиваются серым светом - их можно выбрать, но влиять на выдачу при остальных условиях они не будут.
  • «Сортировка фильтров» - фильтрация возможна по ряду параметров, среди которых: направление, класс, время вылета, время вылета обратно, аэропорт вылета, аэропорт вылета обратно, компания, тип судна. Вывод данных параметров на форме фильтрации настраивается указанной опцией. Порядок вывода фильтров определяется числовыми коэффициентами. Чем меньше число, тем выше фильтр будет на форме результатов. Если коэффициент задается равным 0, то фильтр будет первым в списке. При отсутствие коэффициента фильтр выведен не будет.

 

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

Постфильтры на странице «Результаты поиска»

Включить либо выключить постфильтры можно в разделе «Авиабилеты» - «Поиск» - «Настройка группировки и фильтров» - «Показывать постфильтры».

Типы постфильтров:

  • По длительности перелёта - Представлены наименьшее и наибольшее время в пути. Можно установить желаемый диапазон и отсеить рейсы, несоответствующие заданным параметрам. Например, выбрать рейсы по длительности перелёта больше 3 часа 30 минут, но меньше 5-ти часов.

 

  • Рейсы с пересадками - Выбрать рейсы с одной пересадкой. В скобках указано количество вариантов с данным числом пересадок.
  • Стоимость перелета - Можно, передвинув ползунок, выбрать наиболее приемлемые варианты стоимости перелёта. Перелёты, не подходящие заданным параметрам, будут отсеяны.
  • Постфильтр «Авиакомпании» - Есть возможность дополнительно отфильтровать рейсы определённых авиакомпаний (в скобках указана наименьшая цена данного перевозчика).
  • Время вылета и время прилёта - Есть возможность отсеять рейсы по времени вылета и прилета, а также по параметру "день, утро, ночь, вечер". Дополнительно в скобках указывается период времени, количество рейсов в указанный период и наименьшая цена.

 

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

Шаблоны результатов поиска

В системе Nemo есть возможность менять шаблоны вывода группировки и фильтров. Для изменения добавьте необходимый шаблон в административной части в соответствующее поле: «Авиабилеты» - «Поиск» - «Шаблоны результатов поиска».

Группировка по сегментам

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

Каждый перелет имеет ряд свойств, по которым и происходит последующая их фильтрация.

  • aircraft{$iter} = «{if $getonesegment→getAirRusProd()}rus{else}imp{/if}»

Тип воздушного судна (Иностранное, отечественное). Если перелеты с пересадками, то может быть несколько типов судов.

  • transplantation = «{$gsegment→getAllSegments()|@count}»

Кол-во пересадок. Могут быть значения: Без пересадки, 1 пересадка, 2 и более пересадок.

  • airportDep='{$gsegment→get_departureAirport()}'

Аэропорт вылета.

  • airportArr='{$gsegment→last()→get_arrivalAirport()}'

Аэропорт прилета.

  • timetype=«{$gsegment→getTimeType()}»

Время вылета.

  • class=«{if $smarty.foreach.segmentgr.iteration == 1}chbx_first{else}chbx_first_back{/if}»

Класс данного перелета.

Группировка по времени

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

Каждый перелет имеет ряд свойств, по которым и происходит фильтрация.

  • timetype=«{$gsegment→getTimeType()}»

Время вылета.

  • class=«{if $gnumber == 0}chbx_first{else}chbx_first_back{/if}»

Класс перелета.

  • aircraft{$iter} = «{if $getonesegment→getAirRusProd()}rus{else}imp{/if}»

Тип воздушного судна (Иностранное, отечественное). Если перелеты с пересадками, то может быть несколько типов судов.

  • airportDep=«{$gsegment→get_departureAirport()}»

Аэропорт вылета.

  • airportArr=«{$gsegment→last()→get_arrivalAirport()}»

Аэропорт прилета.

  • transplantation=«{$gsegment→getAllSegments()|@count}»

Кол-во пересадок. Могут быть значения: Без пересадки, 1 пересадка, 2 и более пересадок.

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

Без группировки

Шаблон «Без группировки» берется из панели управления или загружается Стандартный шаблон без группировки.

Проверка на доступность

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

WSDL: http://sys.nemo-ibe.com/nemoflights/wsdl.php?for=AirAvail

Пример запроса и ответа:

REQUEST

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DVoidTicket">
   <soapenv:Header/>
   <soapenv:Body>
      <ver:AirAvail>
         <RequestBin>
            <Request>				
		<AirAvail>
		    <!--Запрос, обязательный-->
		    <!--FlightId ид перелёта в системе Немо, обязательный-->
		    <FlightId>534733</FlightId>
		</AirAvail>	
	     </Request>
	     <!--Авторизация, обязательный-->
	     <!--@ClientId, идентификатор клиента, обязательный-->
	     <!--@APIKey, API ключ клиента, обязательный-->
	     <!--@Language, код языка, обязательный-->
	     <!--@Currency код валюты, обязательный-->
            <Source>
               <ClientId>102</ClientId>
               <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey>
               <Language>RU</Language>
               <Currency>RUB</Currency>
            </Source>
         </RequestBin>
      </ver:AirAvail>
   </soapenv:Body>
</soapenv:Envelope>

RESPONSE

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/nemoflights/?version%3D1.0%26for%3DVoidTicket">
   <soapenv:Header/>
   <soapenv:Body>
      <ver:AirAvail>
         <ResponseBin>	
            <Response>
		<!--Запрос, обязательный-->
		<!--@FlightId ид перелёта в системе Немо, обязательный-->
		<!--@IsAvail доступность перелёта, true или false, обязательный-->
		<AirAvail FlightId="534733" IsAvail="true"/>				
	    </Response>
	    <!--Авторизация, обязательный-->
	    <!--@ClientId, идентификатор клиента, обязательный-->
	    <!--@APIKey, API ключ клиента, обязательный-->
	    <!--@Language, код языка, обязательный-->
	    <!--@Currency код валюты, обязательный-->
            <Source>
               <ClientId>102</ClientId>
               <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey>
               <Language>RU</Language>
               <Currency>RUB</Currency>
            </Source>
         </ResponseBin>
      </ver:AirAvail>
   </soapenv:Body>
</soapenv:Envelope>

См. также

'