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

Материал из Центр поддержки системы бронировании
Версия от 00:17, 7 апреля 2012; Лидия Чаплин (обсуждение | вклад) (Группировка по времени)
Перейти к навигации Перейти к поиску

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

Возможно несколько вариантов вывода результатов поиска:

  • Без группировки;
  • По сегментам;
  • По времени.

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

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

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

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

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

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

Фильтры на результатах поиска

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

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

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

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

В системе 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>

См. также

Авиабилеты
Пересадка
Маршрут "Туда и обратно" (Roundtrip)
Сегмент
Маркировка