Изменения

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

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

25 251 байт добавлено, 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>
{{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,PS&param_by_get=on</pre>
Если вы указываете все необходимые для Имена переменных аналогичны именам полей на поисковой форме. *Значения переменных должны удовлетворять ограничениям из соответствующих настроек формы поиска параметры. Например, если согласно настройкам поиск можно совершать не далее чем на 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: 1000px;"! 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="wikitable mw-collapsible mw-collapsed" style="width: 800px;"! colspan="3" style="text-align:left;"| Параметры запроса для поиска маршрутов «В одну сторону» и «Туда и обратно»|-! scope="col" width="300" | Элемент! scope="col" width="250" | Переменная! scope="col" width="250" | Допустимые значения|-| Тип маршрута| trip_type| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | OW| В одну сторону|-| RT| Туда и обратно|-| CR| Сложный маршрут|} |-| Пункт вылета| out_iata| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | MOW| Код аэропорта ИАТА|} |-| Пункт прилета| in_iata| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | LED| Код аэропорта ИАТА|} |-| Дата вылета| departure_date| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 25.10.2013| Дата в формате ДД.ММ.ГГГГ|} |-| Дата обратного вылета| back_departure_date| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 27.10.2013| Дата в формате ДД.ММ.ГГГГ|} |-| Время вылета| prefered_departure_type| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | not_important| Любое время|-| morning| Утром|-| afternoon| Днем|-| evening| Вечером|-| night| Ночью|} |-| Время обратного вылета| prefered_back_departure_type| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | not_important| Любое время|-| morning| Утром|-| afternoon| Днем|-| evening| Вечером|-| night| Ночью|} |-| Поиск только среди прямых рейсов ("Без пересадок")| direct| true|} {| class="wikitable mw-collapsible mw-collapsed" style="width: 800px;"! colspan="3" style="text-align:left;"| Дополнительные параметры запроса для поиска маршрутов «В одну сторону» и «Туда и обратно»|-! scope="col" width="300" | Элемент! scope="col" width="250" | Переменная! scope="col" width="250" | Допустимые значения|-| Нижнее ограничение по цене по умолчанию| money_from| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 0| Целое число большее либо равное 0|} |-| Верхнее ограничение по цене по умолчанию| money_to| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 10000| Целое число большее 0|} |-| Поиск в окружных датах| district_date| true|-| Диапазон соседних дат +(-) [дней]| date_range| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 1| Целое число большее [1..3]|} |-| Поиск по соседним аэропортам| district_airport| true|-| Класс обслуживания| class| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| econom| Перелет эконом-классом|-| business| Перелет бизнес-классом|-| first| Перелет первым-классом|} |-| Фильтр по авиакомпании | input_vendors| style="padding: 0;" |  {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | SU,PS| Коды авиакомпании ИАТА через запятую без пробелов|} |-| Сортировка| sort| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | price| По стоимости|-| out_date| По расписанию|-| company| По авиакомпании|-| 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;"! colspan="3" style="text-align:left;"| Параметры указания пассажиров в запросе поиска|-! scope="col" width="300" | Элемент! scope="col" width="250" | Переменная! scope="col" width="250" | Допустимые значения|-| Взрослых от 12 лет| adults| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| Целое число большее либо равное 0|} |-| Детей от 2 до 12 лет| children| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| Целое число большее либо равное 0|} |-| Младенцев до 2 лет| infants| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| Целое число большее либо равное 0|} |-| Младенцев с местом до 2 лет| infants_seat| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| Целое число большее либо равное 0|} |-| Молодых от 12 до 24 лет <br/>| youths| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| Целое число большее либо равное 0|} |-| Пожилых от 65 лет| seniors| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| Целое число большее либо равное 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|}|} == Взаимодействие 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> |} == См. также ==*[[Поиск (Авиабилеты)]]*[[Тип маршрута]]*[[Модуль метрики]]*[[Форма поиска (Авиабилеты)]]

Навигация

'