Мастер-Web:Дополнительный модуль Поиск для агентств — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) (→Настройка секции dynamicCharterClasses) |
Porunova (обсуждение | вклад) |
||
(не показано 8 промежуточных версий 3 участников) | |||
Строка 170: | Строка 170: | ||
| | | | ||
* '''Пустое значение''' – отображать все поля в таблице с результатами; | * '''Пустое значение''' – отображать все поля в таблице с результатами; | ||
− | * '''Названия полей | + | * '''Названия полей''' – отображать только поля, указанные в значении настройки. (''Примечание!'' Указывать названия через запятую и без пробелов) : |
* Результирующая таблица: | * Результирующая таблица: | ||
− | ** | + | ** TourDate – дата тура в таблице поиска (dd.MM) |
+ | ** CityName – город отеля | ||
** Nights – количество ночей в туре | ** Nights – количество ночей в туре | ||
** Price - цена | ** Price - цена | ||
** Currency – валюта также отображается, если отображается цена | ** Currency – валюта также отображается, если отображается цена | ||
+ | ** OfferHotelURL – ссылка для открытия формы бронирования при нажатии на цену (обязательное поле) | ||
+ | ** PriceType – тип цены (Цена за) | ||
** HotelCategory – категория отеля | ** HotelCategory – категория отеля | ||
** HotelName – название отеля | ** HotelName – название отеля | ||
Строка 225: | Строка 228: | ||
** HotelDescHealth – красота и здоровье | ** HotelDescHealth – красота и здоровье | ||
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
− | <add key="searchResultSelectedFields" value=" | + | <add key="searchResultSelectedFields" value="TourDate,Nights,Price,Currency,OfferHotelURL,HotelName,RoomName,RoomCategoryName,AccomodationName,PansionName"/> |
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 277: | Строка 280: | ||
|} | |} | ||
− | |||
====Настройка секции dynamicCharterClasses==== | ====Настройка секции dynamicCharterClasses==== | ||
Строка 287: | Строка 289: | ||
====Фильтрация по числу основных/дополнительных или взрослых/детских мест==== | ====Фильтрация по числу основных/дополнительных или взрослых/детских мест==== | ||
Существует возможность настройки поиска: искать по числу [[Мастер-Web:Дополнительный модуль Подбор туров с наличием мест#Фильтрация по числу основных/дополнительных или взрослых/детских мест|основных/дополнительных или взрослых/детских мест]] . | Существует возможность настройки поиска: искать по числу [[Мастер-Web:Дополнительный модуль Подбор туров с наличием мест#Фильтрация по числу основных/дополнительных или взрослых/детских мест|основных/дополнительных или взрослых/детских мест]] . | ||
+ | |||
+ | ====Настройка работы по https==== | ||
+ | |||
+ | В файле ..\wsjssearch\Web.config необходимо заменить секцию: | ||
+ | <binding name="jsonpBinding"> | ||
+ | <jsonpMessageEncoding /> | ||
+ | <httpTransport manualAddressing="true" /> | ||
+ | </binding> | ||
+ | на | ||
+ | <binding name="jsonpBinding"> | ||
+ | <jsonpMessageEncoding /> | ||
+ | <httpsTransport manualAddressing="true" /> | ||
+ | </binding> | ||
===Настройка приложения «Поиск для агентств» на сервере туроператора=== | ===Настройка приложения «Поиск для агентств» на сервере туроператора=== | ||
Строка 306: | Строка 321: | ||
===Генерация скрипта=== | ===Генерация скрипта=== | ||
После установки надстройки туроператор размещает на своем сайте программу автоматической генерации скрипта для встраивания формы поиска в сайт турагентства (см. раздел Установка надстройки). | После установки надстройки туроператор размещает на своем сайте программу автоматической генерации скрипта для встраивания формы поиска в сайт турагентства (см. раздел Установка надстройки). | ||
− | Программа автоматической генерации скрипта доступна по адресу: http: //somesite/JSSearch/scgen.htm (пример в соответствии с названием каталога и местом его размещения в разделе | + | Программа автоматической генерации скрипта доступна по адресу: http: //somesite/JSSearch/scgen.htm (пример в соответствии с названием каталога и местом его размещения в разделе [[Мастер-Web:Дополнительный модуль Поиск для агентств#Установка приложения «Поиск для агентств»|Установка приложения «Поиск для агентств»]]). |
<BR> | <BR> | ||
[[Файл:789.PNG]]<BR> | [[Файл:789.PNG]]<BR> | ||
Строка 335: | Строка 350: | ||
[[Файл:795.PNG]]<BR> | [[Файл:795.PNG]]<BR> | ||
Для встраивания формы поиска в сайт, необходимо скопировать сгенерированный скрипт в нужную страницу сайта внутри тега <body />. При загрузке этой страницы сайта пользователь увидит поисковую форму в соответствии с выбранными параметрами. | Для встраивания формы поиска в сайт, необходимо скопировать сгенерированный скрипт в нужную страницу сайта внутри тега <body />. При загрузке этой страницы сайта пользователь увидит поисковую форму в соответствии с выбранными параметрами. | ||
+ | [[Файл: mb_030.png|left|Предупреждение]] <BR> | ||
+ | В том случае, если информация в календаре отображается с неправильной кодировкой, то необходимо внутри тега <head /> | ||
+ | страницы, на которой отображается форма поиска, явно указать кодировку utf-8 в секции ''meta charset'', пример: | ||
+ | <head> | ||
+ | <meta charset=utf-8"> | ||
+ | </head> | ||
==Работа в системе== | ==Работа в системе== | ||
Строка 345: | Строка 366: | ||
<BR> | <BR> | ||
[[Файл:797.PNG]]<BR> | [[Файл:797.PNG]]<BR> | ||
− | Если в БД туроператора заполнены | + | Если в БД туроператора заполнены описания отелей и туров, то в результатах поиска отображаются ссылки, по которым можно будет перейти к просмотру соответствующих описаний.<BR> |
+ | [[Файл:ep_191.png]]<BR> | ||
По нажатию на цену пользователь получает возможность отправить заявку по e-mail: | По нажатию на цену пользователь получает возможность отправить заявку по e-mail: | ||
<BR> | <BR> |
Текущая версия на 09:48, 15 октября 2018
Версия статьи от 15-10-2018. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице ниже:
Более ранние версии: |
Содержание
Введение
Данная надстройка предназначена для установки поискового модуля туроператора на сайте туристического агентства. Также «Поиск для агентств» может понадобиться в случае, если сайт туроператора находится на хостинге, отличном от хостинга приложения Мастер-Web на iis. Т.е. ПК Мастер-Web в большинстве случаев разместить на хостинге нельзя, а «Поиск для агентств» - можно. Он не требует наличия iis на сервере. Его можно встроить в php-сайт или статичную страницу html. Модуль «Поиск для агентств» позволяет развернуть на сайте туроператора мастер формирования html-скрипта для встраивания формы поиска туров в сайт туристического агентства. Дизайн поиска при этом стандартен для всех турагентств. Данная схема максимально упрощает встраивание формы поиска и не требует глубоких знаний html-разметки. Агентство выбирает на сайте туроператора, какие данные ему нужны в форме поиска и получает готовый html-скрипт, который нужно скопировать в страницу сайта.
Установка
Установка надстройки
Надстройка «Поиск для агентств» устанавливается на сервере туроператора. Установка надстройки «Поиск для агентств» производится в несколько этапов:
- Установка web-сервиса «Поиск для агентств»
- Установка приложения «Поиск для агентств»
- Встраивание формы поиска в сайт турагентства
Установка web-сервиса «Поиск для агентств»
Для установки Сервиса «Поиск для агентств» нужно создать отдельную директорию, например, wsjssearch (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива mw-ws-jssearch-2007.2.XX.XXXX.zip. В управлении IIS необходимо создать виртуальный каталог для папки WSJsSearch.
Установка приложения «Поиск для агентств»
Для установки надстройки «Поиск для агентств» нужно выложить распакованные файлы из архива mw-jssearch-2007.2.XX.XXXX.zip в отдельный каталог, например, jssearch (далее в примерах будет использоваться данное название каталога) на сервере, на котором размещен сайт туроператора. После установки надстройки туроператор размещает на своем сайте ссылку на страницу автоматической генерации скрипта для встраивания формы поиска в сайт турагентства, которая будет доступна по адресу: http: //somesite/JSSearch/scgen.htm (пример в соответствии с названием каталога и местом его размещения в разделе Установка приложения «Поиск для агентств»).
Встраивание формы поиска в сайт турагентства
Агентство на сайте туроператора формирует скрипт для встраивания формы поиска в свой сайт. Подробное описание процесса генерации скрипта размещено в разделе 3.1 Генерация скрипта.
Создание виртуального каталога
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
- 1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools).
- 2. Запустить Internet Information Services (IIS) Manager.
- 3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».
Подключение web-сервиса к базе данных ПК «Мастер-Тур»
В файле web.config, расположенном в папке WSJsSearch, в которую установлен web-сервис «Поиск для агентств», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести).
Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>
Настройка
Настройка web-сервиса «Поиск для агентств»
Настройка отправки e-mail сообщений в системе бронирования
В таблице ниже приведены настройки e-mail адресов, которые должны быть заданы в системе, для отправки и получения сообщений.
Описание | Настройка |
---|---|
Адрес, с которого отправляются письма из системы бронирования | <add key="mailFrom" value="MasterWeb@EmailServiceProvider.com" />
|
Адрес администратора системы (можно добавить несколько адресов через « ; ») | <add key="rcptTo" value="MasterWebAdmin@EmailServiceProvider.com" />
|
Дополнительные e-mail адреса, на которые приходят сообщения о новой регистрации и заявке на бронирование (можно добавить несколько e-mail адресов через « ; ») | <add key="addRcptTo" value="Email1@EmailServiceProvider.com; Email2@EmailServiceProvider.com" />
|
Почтовый сервер SMTP | <add key="smtpServer" value="Smtp.EmailServiceProvider.com" />
|
SMTP порт почтового сервера (по умолчанию — 25) | <add key="smtpPort" value="25" />
|
Тип авторизации на сервере. Если не используется авторизация, то None, если используется, то Base64 или TLS/SSL. | <add key="smtpAuthentication" value="Base64" />
|
Активация протокола SSL (Нужно включить при использовании TLS/SSL авторизации.) | <add key="EnableSsl" value="false" />
|
Имя пользователя для подключения к почтовому серверу | <add key="smtpUser" value="Domain\Username" />
|
Пароль пользователя почтового сервера | <add key="smtpPassword" value="Pa$$w0rd" />
|
Адрес, на который отправляется скрытая копия письма с заявкой на бронирование (можно добавить несколько e-mail адресов через « ; ») | <add key="hiddenEmail" value="mail@megatec.ru" />
|
Дополнительные настройки
Данные настройки прописываются в файле web.config для web-сервиса «Поиск для агентств».
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Настройка, определяющая относительный путь к файлу описания шаблонов | Путь к файлу описания шаблонов | <add key="templatesList" value="templates\\templates.xml"/>
|
2 | Настройка, определяющая доменные имена, ссылки на которые запрещены из окна поиска. Данная настройка распространяется на ссылки на описание туров и отелей в результатах поиска и в форме заказа | Доменные имена, ссылки на которые запрещены из окна поиска, разделенные запятой. Если ссылки на описания туров и отелей ведут на сайт туроператора, то в значении настройки необходимо указать этот сайт, чтобы в форме поиска на сайте агентства эти ссылки не отображались |
<add key="illegalDomainNames" value="www.somesite.ru,www.somesite2.ru"/>
|
3 | Поля, которые должны отображаться в таблице с результатами поиска и в форме отправки заявки на бронирование |
|
<add key="searchResultSelectedFields" value="TourDate,Nights,Price,Currency,OfferHotelURL,HotelName,RoomName,RoomCategoryName,AccomodationName,PansionName"/>
|
4 | Настройка, определяющая максимальный период для отбора данных в экранах "Подбор туров с наличием мест" («QuotedDynamic») и "Поиск для агентств" | Максимальное количество дней, на которое можно производить отбор данных | <add key="tourDatesIntervalLimit" value="30"/>
|
5 | Указание в поиске количества основных и дополнительных мест вместо типа номера и размещения, в случае, если цены указаны за номер. Используется для более удобного поиска подходящих номеров. Обрабатывается в экранах:
|
|
<add key="costForRoom" value="true" />
|
6 | Настройка, определяющая страны, в которых цены заводятся за номер. Обрабатывается в экранах:
|
Ключи стран через запятую (Ключи стран — это значения колонки cn_key в таблице tbl_country.) | <add key="costForRoomCountries" value="9,86,461" />
|
7 | Настройка, позволяющая разделять цену по разрядам. |
|
<add key="EnableDecimalSeparator" value="true" />
|
Настройка секции dynamicCharterClasses
Данная секция определяет какие колонки тарифов на авиаперелет будут отображаться в результатах поиска в экране «Поиск для агентств». Секция dynamicCharterClasses должна содержать как минимум одно значение. Для добавления нового значения необходимо добавить строчку вида:
<add name="Название тарифа на авиаперелет" keys="ключи тарифов, задаются через запятую без пробелов"/>
- name - название колонки, которое будет отображаться в экране «Поиск для агентств»,
- keys - ключи тарифов на авиаперелет, указываются через запятую. Ключи тарифов на авиаперелет хранятся в таблице AirService.
Фильтрация по числу основных/дополнительных или взрослых/детских мест
Существует возможность настройки поиска: искать по числу основных/дополнительных или взрослых/детских мест .
Настройка работы по https
В файле ..\wsjssearch\Web.config необходимо заменить секцию:
<binding name="jsonpBinding"> <jsonpMessageEncoding /> <httpTransport manualAddressing="true" /> </binding>
на
<binding name="jsonpBinding"> <jsonpMessageEncoding /> <httpsTransport manualAddressing="true" /> </binding>
Настройка приложения «Поиск для агентств» на сервере туроператора
Приложение представляет собой набор скриптовых файлов, написанных на языке JavaScript, а, следовательно, не предъявляет требований к платформе web-сервера, на котором будет опубликован.
Получение данных для формирования фильтра производится через Web-сервис «Поиск для агентств» (WS-JsSearch).
Для настройки приложения «Поиск для агентств» нужно открыть файлы \JSSearch\js\settings.js и \JSSearch\js-noncompiled\settings.js из папки, в которой установлено приложение «Поиск для агентств» и ввести значения в соответствующие поля:
- ServicesUrl – внешняя ссылка к web-сервису «Поиск для агентств».
- ClientUrl – внешняя ссылка к приложению «Поиск для агентств».
Пример (в соответствии с названиями каталогов и местом их размещения в разделах Установка web-сервиса «Поиск для агентств» и Установка приложения «Поиск для агентств»):
var ServicesUrl = "http://somesite/ws-jssearch/"; var ClientUrl = "http://somesite/jssearch/";
- ShowHotelIcons – отображение иконки рядом с названием отелей (true/false)
- ImagesPath – путь к директории с изображениями
Пример (для работы необходимо заполнить поле HTT_ImageName таблицы HotelTypes):
var ShowHotelIcons = true; var ImagesPath = 'Images/';
Подготовка данных
Генерация скрипта
После установки надстройки туроператор размещает на своем сайте программу автоматической генерации скрипта для встраивания формы поиска в сайт турагентства (см. раздел Установка надстройки).
Программа автоматической генерации скрипта доступна по адресу: http: //somesite/JSSearch/scgen.htm (пример в соответствии с названием каталога и местом его размещения в разделе Установка приложения «Поиск для агентств»).
В первом экране необходимо выбрать список городов вылета, которые будут доступны в экране поиска.
После того, как список городов вылета выбран, необходимо нажать кнопку «Следующий шаг».
Здесь необходимо указать страны, поиск по которым будет доступен в экране поиска.
В списке отображается список стран в соответствии с выбранными на предыдущем шаге городами вылета.
После того, как список стран выбран, необходимо нажать кнопку «Следующий шаг».
В данном экране необходимо определить список необходимых типов тура.
В списке отображаются типы тура в соответствии с выбранными на предыдущих шагах городами вылета и странами.
После того, как список типов тура выбран, необходимо нажать кнопку «Следующий шаг».
На данном шаге нужно определить значения по умолчанию, которые будут автоматически выбираться при первой загрузке формы поиска.
На следующем шаге необходимо указать e-mail адрес, на который будут приходить уведомления о новых заявках на бронирование.
Далее необходимо выбрать вариант верстки страницы поиска.
Чтобы изменить стандартную верстку, нужно создать новый шаблон страницы на основе стандартного (файл templates\TableLayout.htm для table-верстки или templates\DivLayout.htm для div-верстки), сохранить его в файл с расширением htm в каталоге templates веб-сервиса. Затем необходимо выбрать вариант «Другое» и в текстовое поле ввести имя файла шаблона.
Внимание! Если выбран вариант верстки с помощью div, то может возникнуть необходимость вручную скорректировать ширину колонок в таблице результатов поиска из-за ограничений такого типа верстки страницы. Для этого нужно изменить соответствующий стиль в файле searchContent.css из папки css. Например, чтобы изменить ширину колонки "Питание", отредактируйте параметр width в стиле div.PansionNameCell.
По нажатию кнопки «Следующий шаг» будет автоматически сгенерирован скрипт для встраивания формы поиска в нужный сайт.
Для встраивания формы поиска в сайт, необходимо скопировать сгенерированный скрипт в нужную страницу сайта внутри тега <body />. При загрузке этой страницы сайта пользователь увидит поисковую форму в соответствии с выбранными параметрами.
В том случае, если информация в календаре отображается с неправильной кодировкой, то необходимо внутри тега <head /> страницы, на которой отображается форма поиска, явно указать кодировку utf-8 в секции meta charset, пример: <head> <meta charset=utf-8"> </head>
Работа в системе
Работа формы поиска на сайте турагентства
При открытии страницы сайта, в которую был встроен сгенерированный скрипт, пользователь увидит форму поиска:
Содержимое фильтров будет соответствовать выбранным при генерации html-скрипта параметрам.
По нажатию кнопки «Подобрать тур» на странице отобразятся результаты поиска в соответствии с выбранными фильтрами.
Если в БД туроператора заполнены описания отелей и туров, то в результатах поиска отображаются ссылки, по которым можно будет перейти к просмотру соответствующих описаний.
По нажатию на цену пользователь получает возможность отправить заявку по e-mail:
В экране «Заказ» отображается следующая информация:
- Название тура
- Дата заезда
- Продолжительность тура
- Город
- Страна
- Название отеля
- Выбранное размещение
- Питание
- Наличие мест по отелю и перелетам
- Стоимость тура
- Список услуг, входящих в стоимость тура
- Список необходимых доплат
Если в БД туроператора заполнены ссылки на описание отелей, то в экране «Заказ» рядом с названием отеля отобразится ссылка «информация на сайте», ведущая на соответствующую страничку. Для отправки заявки по e-mail необходимо заполнить следующие поля:
- «Меня зовут» - ФИО человека, оформляющего заказ на сайте турагентства
- Телефон – контактный телефон
- E-mail – e-mail адрес для связи
Дополнительно можно добавить нужное примечание к заявке.
После заполнения контактной информации необходимо нажать кнопку «Хочу туда!», после чего заявка будет отправлена турагентству на e-mail, указанный при генерации html-скрипта.