Изменения

Перейти к навигации Перейти к поиску

FastSearch — передача параметров в форму поиска

17 054 байта добавлено, 13:01, 20 августа 2018
Отмена правки 15015, сделанной Андрей Кизимов (обсуждение)
В системе Nemo имеется возможность [[Категория:Плагины (Авиабилеты)]][[Категория:Интеграция]][[Категория:Модули]] [[Категория:Встроенные модули]]<!-- -->FastSearch в {{NameSystem|link}} — функция [http://www.nemo.travel системы онлайн-бронирования {{NameSystem}}], позволяющая перенаправлять пользователей на страницу с уже заполненными параметрами поиска, или же сразу напрямую на результаты актуального поиска.
Эта технология может использоватся к примеру для формирования ссылок с баннеров, при клике на которые пользователь попадает на ==Назначение==Функция автоматически заполняет форму, на которой уже могут быть заполнены пункты назначения, даты, количество пассажиров поиска и прочие параметрызапускает процесс поиска.
== Примеры использования ==Формирование ссылок для баннеров или спецпредложений для клиентов, по клику на которые [[пользователь]] попадает на [[Форма поиска (Авиабилеты)|форму поиска]] с уже заполненными полями: пункт вылета и назначения, дата, количество и типы пассажиров и прочие параметры. Также, при указании всех необходимых параметров пользователя по ссылке можно перебрасывать сразу на запускать процесс [[Поиск (Авиабилеты)|поиска авиабилетов с указанными критериями]] по заданным заранее параметрам.
== Принцип работы ==Для использования заполнения формы из URL следует включить Fast Search включите одноименную опцию: Администрирование → Настройки агентства → в разделе настроек '''Управление сайтом → Домены и протоколы → Включить FastSearch Fast Search (передачу параметров поиска)'''.<!--{{Menu|Управление сайтом|Домены и протоколы|Включить Fast Search (передачу параметров поиска)}}.-->
После этого можно использовать ссылки на форму поиска видаЗапрос Fast Search состоит из ''параметров'' и их ''значений'', которые в определенном порядке задаются в ссылке.
<pre>http://DOMAIN/?trip_type=OW&out_iata=MOW&in_iata=BER&departure_date=21Fast Search для Frontend 1.10.2009&adults=1&children=0&input_vendors=SU,PS&param_by_get=on</pre>
== Переменные FastSearch =={{Attention| Приведенные ниже инструкции актуальны только для старых тем оформления! Для тем оформления, унаследованных от темы wurst, см. подраздел '''Fast Search для Frontend 2.0''' данной статьи!}}<br>Имена полей - такие же как имена инпутов на поисковой формеПри использовании Frontend 1.0 ссылка имеет следующий вид:
Если вы указываете все необходимые для поиска параметры<pre>http://SITENAME/?trip_type=OW&out_iata=MOW&in_iata=BER&departure_date=21.10.2009&adults=1&children=0&input_vendors=SU, то для того чтобы отправить пользователя сразу на результаты поиска нужно указать непустой параметр fast_search. Например PS&fast_searchparam_by_get=trueon</pre>
<div style="background-color: rgb(255, 240, 245);"><span style="font-size: large; color: rgb(255, 0, 0); margin-left: 5px;">!&nbsp;</span><span>&nbsp;Следите за тем, чтобы значения соответствовали установленным в настройках ограничениям:</span>* Авиабилеты ⇨ Поиск ⇨ Предустановки поиска* Авиабилеты ⇨ Поиск ⇨ Ограничения поиска</div>Имена переменных аналогичны именам полей на поисковой форме.
Переменные*Значения переменных должны удовлетворять ограничениям из соответствующих настроек формы поиска. Например, если согласно настройкам поиск можно совершать не далее чем на 270 дней вперед, то для FastSearch это ограничение тоже будет действовать.*Рекомендуется не включать в запрос переменные, которые предполагают в качестве значения "''true" можно просто не включать в запрос, '' <!-- чтобы их логика не отработала.-->*Чтобы перенаправить пользователя '''''на форму с заполненными параметрами поиска''''', в конце запроса добавьте get-параметр '''&param_by_get=on''', иначе сработают стандартные предустановки полей формы поиска.*Чтобы отправить пользователя напрямую '''''на результаты поиска''''', добавьте get-параметр '''&fast_search=on'''.
=== Примеры ==={| class="wikitable mw-collapsible mw-collapsed" style="width: 1000px;"! style="text-align:left;"| Маршрут в одну сторону|-|Прямые маршруты в одну сторону из Москвы в Париж на двух взрослых людей с вылетом 25.10.2016* '''''Запрос заполняет форму поиска'''''<syntaxhighlight lang="text" enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">http://SITENAME/?trip_type=OW&out_iata=MOW&in_iata=PAR&departure_date=25.10.2016&direct=true&adults=2&param_by_get=on</syntaxhighlight>* '''''Запрос запускает процесс поиска'''''<syntaxhighlight lang="text" enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">http://SITENAME/?trip_type=OW&out_iata=MOW&in_iata=PAR&departure_date=25.10.2016&direct=true&adults=2&param_by_get=on&fast_search=on</syntaxhighlight> {| class="wikitable"|-|[[Файл:FS1Маршрут в одну сторону.png]]|-|Маршрут в одну сторону|}|} {| class="wikitable mw-collapsible mw-collapsed" style="width: 800px1000px;"! style="text-align:left;"| Маршрут туда-обратно|-|Маршрут туда-обратно Москва - Париж - Москва эконом-классом на двух взрослых людей и младенца* '''''Запрос заполняет форму поиска'''''<syntaxhighlight lang="text" enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">http://SITENAME/?trip_type=RT&out_iata=MOW&in_iata=PAR&departure_date=25.10.2016&back_departure_date=27.10.2016&class=econom&adults=2&infants=1&param_by_get=on</syntaxhighlight>* '''''Запрос запускает процесс поиска'''''<syntaxhighlight lang="text" enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">http://SITENAME/?trip_type=RT&out_iata=MOW&in_iata=PAR&departure_date=25.10.2016&back_departure_date=27.10.2016&class=econom&adults=2&infants=1&param_by_get=on&fast_search=on</syntaxhighlight> {| class="wikitable"|-|[[Файл:FS1Маршрут туда-обратно.png]]|-|Маршрут туда-обратно|}|} {| class="wikitable mw-collapsible mw-collapsed" style="width: 1000px;"! style="text-align:left;"| Сложный маршрут|-|Сложный маршрут на одного взрослого из Москвы в Париж с вылетом 25.10.2016, из Парижа в Санкт-Петербург с вылетом 26.10.2016, из Санкт-Петербурга в Москву, с вылетом 29.10.2016.* '''''Запрос заполняет форму поиска'''''<syntaxhighlight lang="text" enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">http://SITENAME/?trip_type=CR&cr_iata[0]=MOW&cr_back_iata[0]=PAR&cr_date[0]=25.10.2016&cr_iata[1]=PAR&cr_back_iata[1]=LED&cr_date[1]=26.10.2016&cr_iata[2]=LED&cr_back_iata[2]=MOW&cr_date[2]=29.10.2016&adults=1&param_by_get=on</syntaxhighlight>* '''''Запрос запускает процесс поиска'''''<syntaxhighlight lang="text" enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;" >http://SITENAME/?trip_type=CR&cr_iata[0]=MOW&cr_back_iata[0]=PAR&cr_date[0]=25.10.2016&cr_iata[1]=PAR&cr_back_iata[1]=LED&cr_date[1]=26.10.2016&cr_iata[2]=LED&cr_back_iata[2]=MOW&cr_date[2]=29.10.2016&adults=1&param_by_get=on&fast_search=on</syntaxhighlight> {| class="wikitable"|-|[[Файл:FS1сложный маршрут.png]]|-|Сложный маршрут|}|} === Параметры запроса ======= Маршрут «В одну сторону» или «Туда и обратно» ===={| class="wikitablemw-collapsible mw-collapsed" style="width: 800px;"! colspan="3" style="text-align:left;"| Параметры запроса для поиска маршрутов «В одну сторону» и «Туда и обратно»
|-
! scope="col" width="300" | Элемент
|-
| Пункт вылета
| out_searchout_iata
| style="padding: 0;" |
|-
| Пункт прилета
| in_searchin_iata
| style="padding: 0;" |
|-
| Поиск только среди прямых рейсов("Без пересадок")
| direct
| true
|}
==== Сложный маршрут ===={| style="width: 800px;" class="wikitable"|mw-collapsible mw-! scope=collapsed"col" width="300" | Элемент! scopestyle="col" width="250: 800px;" | Переменная! scope="col" width="250" colspan="23" | Допустимые значения|-| Пункты вылета| cr_search[0]<br/>cr_search[1]<br/>...<br/>cr_search[8]| widthstyle="80" | MOW| Код аэропорта ИАТА|text-| Пункты прилета| cr_back_search[0]<br/>cr_back_search[1]<br/>...<br/>cr_back_search[8]| width="80" | LED| Код аэропорта ИАТА|-| Дата вылета| cr_date[0]<br/>cr_date[1]<br/>...<br/>cr_date[8]| width="80" | 25.10.2013 | Дата в формате ДД.ММ.ГГГГ |-| Время вылета| cr_pref_departure[0]<br/>cr_pref_departure[1]<br/>...<br/>cr_pref_departure[8]| colspan="2" style="paddingalign: 0left;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | not_important| Любое время|-| morning| Утром|-| afternoon| Днем|-| evening| Вечером|-| night| Ночью|} |-| Класс обслуживания| cr_class[0]<br/>cr_class[1]<br/>...<br/>cr_class[8]| colspan="2" | true|-| Окружные аэропорты (±XX км) | cr_district_airport[0]<br/>cr_district_airport[1]<br/>...<br/>cr_district_airport[8]| colspan="2" | true|} === Дополнительные параметры ==={| style="width: 800px" class="wikitable"запроса для поиска маршрутов «В одну сторону» и «Туда и обратно»
|-
! scope="col" width="300" | Элемент
{| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"
|-
| width="80" | all
| Перелет любым классом
|-
| econom
|-
| first
| Перелет первым -классом
|}
|-
| Выбрать туда и обратно отдельно Фильтр по авиакомпании | separateinput_vendors| truestyle="padding: 0;" |  {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"
|-
| Фильтр по width="80" | SU,PS| Коды авиакомпании ИАТА через запятую без пробелов| preferable}| true
|-
| Сортировка
| fltduration
| По длительности перелёта
|}
|}
==== Сложный маршрут ====
{{Attention|Данные переменные применимы только для сложного маршрута (trip_type&#61;CR).}}
 
{| class="wikitable mw-collapsible mw-collapsed" style="width: 800px;"
! colspan="4" style="text-align:left;"| Параметры запроса для поиска сложного маршрута
|-
! scope="col" width="300" | Элемент
! scope="col" width="250" | Переменная
! scope="col" width="250" colspan="2" | Допустимые значения
|-
| Пункты вылета
| cr_iata[0]<br/>
cr_iata[1]<br/>
...<br/>
cr_iata[8]
| width="80" | MOW
| Код аэропорта ИАТА
|-
| Пункты прилета
| cr_back_iata[0]<br/>
cr_back_iata[1]<br/>
...<br/>
cr_back_iata[8]
| width="80" | LED
| Код аэропорта ИАТА
|-
| Дата вылета
| cr_date[0]<br/>
cr_date[1]<br/>
...<br/>
cr_date[8]
| width="80" | 25.10.2013
| Дата в формате ДД.ММ.ГГГГ
|-
| Время вылета
| cr_pref_departure[0]<br/>
cr_pref_departure[1]<br/>
...<br/>
cr_pref_departure[8]
| colspan="2" style="padding: 0;" |
 
{| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"
|-
| width="80" | not_important
| Любое время
|-
| morning
| Утром
|-
| afternoon
| Днем
|-
| evening
| Вечером
|-
| night
| Ночью
|}
 
|-
| Класс обслуживания
| cr_class[0]<br/>
cr_class[1]<br/>
...<br/>
cr_class[8]
| colspan="2" style="padding: 0;" |
 
{| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"
|-
| econom
| Перелет эконом-классом
|-
| business
| Перелет бизнес-классом
|-
| first
| Перелет первым классом
|}
 
|-
| Окружные аэропорты (±XX км)
| cr_district_airport[0]<br/>
cr_district_airport[1]<br/>
...<br/>
cr_district_airport[8]
| colspan="2" | true
|}
'''[X]''' - номера отдельных перелетов. Нумерация начинается с 0, что означает первый перелет. Максимальное количество сегментов для [[(термин) Сложный маршрут|сложного маршрута]] определяется в разделе Управление продажами → Устаревшие настройки → Ограничения поиска.<!--{{Menu|Управление продажами|Устаревшие настройки|Ограничения поиска}}.--> ==== Пассажиры ===={| class="wikitable mw-collapsible mw-collapsed" style="width: 800px;" class! colspan="3" style="wikitabletext-align:left;"| Параметры указания пассажиров в запросе поиска
|-
! scope="col" width="300" | Элемент
{| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"
|-
| width="80" | 1
| Целое число большее либо равное 0
|}
{| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"
|-
| width="80" | 1
| Целое число большее либо равное 0
|}
{| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"
|-
| width="80" | 1
| Целое число большее либо равное 0
|}
{| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"
|-
| width="80" | 1
| Целое число большее либо равное 0
|}
|-
| Молодых от 12 до 24 лет <br/>
| youths
| style="padding: 0;" |
{| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"
|-
| width="80" | 1
| Целое число большее либо равное 0
|}
{| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"
|-
| width="80" | 1
| Целое число большее либо равное 0
|}
|}
==Fast Search для Frontend 2.0== === Параметры запроса ===При использовании Frontend 2.0 для ссылки доступны следующие переменные:Параметры в таблице приведены в том порядке, в котором они должны следовать в запросе.{| class="wikitable" style="width: 800px;"! colspan="3" style="text-align:left;"| Параметры указания пассажиров в запросе поиска|-! scope="col" width="300" | Элемент! scope="col" width="250" | Формат ввода! scope="col" width="250" | Допустимые значения |- | rowspan="2" | Пункт вылета || rowspan="2" |Трехбуквенный '''IATA код''' аэропорта || MOW |- |LED |- |rowspan="2"| Пункт прилета || rowspan="2" |Трехбуквенный '''IATA код''' аэропорта || IEV |- |MOW |- | rowspan="2" | Дата вылета || Дата вылета в формате '''ГГГГММДД''' || 20160818 |- |'''dX''', где ''X'' - смещение даты вылета относительно текущей даты. Неотрицательное число. || d7 |- | rowspan="3"|Типы пассажиров и их количество ||rowspan="3"|Трехбуквенный '''код типа''' пассажира (ADT,CLD,INF,INS,YTH,SRC) с количеством || ADT2 |- |ADT2INF2 |- |ADT3INS1CLD2SRC1 |- | Искать только прямые рейсы || Команда || -direct |- | Искать по окружным датам || Команда || -vicinityDates |- |rowspan="3"| Класс|| rowspan="3"|Название класса перелета (Economy, Business, First) || -class=Economy |- | -class=Business |- | -class=First |- | Валюта || Трехбуквенный '''код''' валюты (USD, EUR, RUB) || -ccCurrency=USD |- | Запуск процесса поиска || Команда. Если параметр не указан, параметры будут подставлены в форму поиска, но поиск запущен не будет || -GO |- | Отключение перенаправления || Команда. Позволяет отключить использование перенаправления на другой домен для ссылок в формате FastSearch при включенной настройке [[Раздел_настроек_«Nemo_1.0_(JSON_API)»|"Перенаправлять указанные страницы на другой домен"]]. Если параметр не указан, перенаправление будет осуществляться в соответствии с параметрами настройки "Перенаправлять указанные страницы на другой домен"|| ?noredirect=1 |} '''Примечание.''' Если необходимо передать параметры в форму без дат вылета-прилета, оставив поля дат пустыми, можно вместо конкретных дат подставить 8 нулей, например: /search/MOWMAD00000000ADT1-class=Economy. Тогда пользователь сам выберет дату, а остальные переданные параметры будут заполнены. ===Примеры==={| class="wikitable mw-collapsible mw-collapsed"| '''Маршрут в одну сторону'''|-|Прямые маршруты эконом класса в одну сторону из Москвы в Париж с вылетом 18.02.2016 на трех взрослых, двух детей и одного младенца с местом с поиском по окружным датам.* '''''Запрос заполняет форму поиска'''''<pre>http://SITENAME/search/MOWPAR20160218ADT3INS1CLD2-direct-vicinityDates-class=Economy</pre>  * '''''Запрос запускает процесс поиска'''''<pre>http://SITENAME/search/MOWPAR20160218ADT3INS1CLD2-direct-vicinityDates-class=Economy-GO</pre> {| class="wikitable"|-|[[Файл:FS2Маршрут в одну сторону.png]]|-| Форма поиска, автоматически заполненная с помощью запроса Fast Search|} {| class="wikitable"|-|[[Файл:FS2Маршрут в одну сторону. Пассажиры.png]]|-| Форма пассажиров, автоматически заполненная с помощью запроса Fast Search|}|} {| class="wikitable mw-collapsible mw-collapsed"| '''Маршрут туда-обратно'''|-|Маршрут бизнес-класса из Москвы в Берлин с вылетом через 10 дней от текущей даты и обратно через 20 дней от текущей даты на двух взрослых. * '''''Запрос заполняет форму поиска'''''<pre>http://SITENAME/search/MOWBERd10BERMOWd20ADT2-class=Business</pre>  * '''''Запрос запускает процесс поиска'''''<pre>http://SITENAME/search/MOWBER20160218d10BERMOW20160222d20ADT2-class=Business-GO</pre> {| class="wikitable"|-|[[Файл:FS2Маршрут туда-обратно.png]]|-| Форма поиска, автоматически заполненная с помощью запроса Fast Search|}|} {| class="wikitable mw-collapsible mw-collapsed"| '''Сложный маршрут'''|-|Маршрут из Киева в Пешевар с вылетом 10.07.2016, из Пешевара в Москву с вылетом 18.07.2016, из Москвы в Париж, с вылетом 19.07.2016 на одного взрослого. * '''''Запрос заполняет форму поиска'''''<pre>http://SITENAME/search/IEVPEW20150710PEWMOW20150718MOWPAR20150719ADT1</pre> * '''''Запрос запускает процесс поиска'''''<pre>http://SITENAME/search/IEVPEW20150710PEWMOW20150718MOWPAR20150719ADT1-GO</pre> {| class="wikitable"|-|[[Файл:FS2сложный маршрут.png]]|-| Форма поиска, автоматически заполненная с помощью запроса Fast Search|}|} == Взаимодействие FastSearch Fast Search и модуля метрики ==[[Файл:Источник перехода в служебной информации.png|thumb|250px|right|Отображение источника перехода в служебной информации.]]<!-- -->Чтобы зафиксировать источник ссылки, по которой перешел пользователь, необходимо передать в конце запроса дополнительный параметр:<syntaxhighlight lang="text" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">?utm_source=source_alias</syntaxhighlight>где '''source_alias''' — алиас источника перехода [[Модуль метрики |модуля метрики]]. Информация об источнике перехода отображается в [[Логи системы|логах]] и на странице заказа в [[Форма бронирования (Авиабилеты)#Интерфейс|служебной информации]]. === Пример Fast Search для Frontend 1.0 ==={| class="wikitable mw-collapsible mw-collapsed"! style="text-align:left;"| Запрос Fast Search для Frontend 1.0 с учетом источника перехода модуля метрики|-|Маршрут в одну сторону без пересадок на одного взрослого из Москвы в Париж с вылетом 25.10.2016 (с учетом источника перехода модуля метрики). * '''''Запрос заполняет форму поиска'''''<syntaxhighlight lang="text" enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">http://SITENAME/?trip_type=OW&out_iata=MOW&in_iata=PAR&departure_date=25.10.2016&direct=true&adults=2&param_by_get=on&utm_source=source_alias</syntaxhighlight> * '''''Запрос запускает процесс поиска'''''<syntaxhighlight lang="text" enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">http://SITENAME/?trip_type=OW&out_iata=MOW&in_iata=PAR&departure_date=25.10.2016&direct=true&adults=2&param_by_get=on&fast_search=on&utm_source=source_alias</syntaxhighlight>|} ===Пример Fast Search для Frontend 2.0==={| class="wikitable mw-collapsible mw-collapsed"! Запрос Fast Search для Frontend 2.0 с учетом источника перехода модуля метрики|-|Прямые маршруты эконом-класса в одну сторону из Москвы в Париж с вылетом 18.02.2016 на трех взрослых, двух детей и Метрики одного младенца с местом с поиском по окружным датам (с учетом источника перехода модуля метрики). * '''''Запрос заполняет форму поиска'''''<pre>http://SITENAME/search/MOWPAR20160918ADT3INS1CLD2-vicinityDates-class=Economy?ccCurrency=USD&utm_source=source_alias</pre>  * '''''Запрос запускает процесс поиска'''''<pre>http://SITENAME/search/MOWPAR20171218ADT1-vicinityDates-class=Economy-GO?ccCurrency=USD&utm_source=source_alias</pre> |}
== См. также ==
*[[Fast Search для отелейПоиск (Авиабилеты)]]*[[Тип маршрута]]
*[[Модуль метрики]]
*[[ИнтеграцияФорма поиска (Авиабилеты)]] [[Категория:Функции]]<br>

Навигация

'