Мастер-Web:Дополнительный модуль Поиск для агентств

Материал из Megatec
Перейти к: навигация, поиск

Версия статьи от 15-10-2018. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице ниже:

Более ранние версии:
До 2009.2.12 включительно
До 2009.2.22 включительно
До 2009.2.27 включительно


Введение

Данная надстройка предназначена для установки поискового модуля туроператора на сайте туристического агентства. Также «Поиск для агентств» может понадобиться в случае, если сайт туроператора находится на хостинге, отличном от хостинга приложения Мастер-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).


786.PNG

  • 2. Запустить Internet Information Services (IIS) Manager.


787.PNG

  • 3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».


788.PNG

Подключение 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 Поля, которые должны отображаться в таблице с результатами поиска и в форме отправки заявки на бронирование
  • Пустое значение – отображать все поля в таблице с результатами;
  • Названия полей – отображать только поля, указанные в значении настройки. (Примечание! Указывать названия через запятую и без пробелов) :
  • Результирующая таблица:
    • TourDate – дата тура в таблице поиска (dd.MM)
    • CityName – город отеля
    • Nights – количество ночей в туре
    • Price - цена
    • Currency – валюта также отображается, если отображается цена
    • OfferHotelURL – ссылка для открытия формы бронирования при нажатии на цену (обязательное поле)
    • PriceType – тип цены (Цена за)
    • HotelCategory – категория отеля
    • HotelName – название отеля
    • TourName – название тура
    • PansionName - питание
    • RoomName – тип номера
    • RoomCategoryName – категория номера
    • AccomodationName – тип размещения
    • HotelURL – адрес страницы с описанием отеля
    • TourURL – адрес страницы с описание тура
    • HotelQuota – квота на проживание
    • CharterThereQuota – квота на прямой рейс
    • CharterBackQuota – квота на обратный рейс
  • Заказ:
    • OfferTourName – название тура
    • OfferTourDate – дата тура в таблице поиска (dd.MM)
    • OfferNights – количество ночей в туре
    • OfferPrice - цена
    • OfferCurrency – валюта также отображается, если отображается цена
    • OfferHotelCategory – категория отеля
    • OfferHotelName – название отеля
    • OfferPansionName - питание
    • OfferRoomName – тип номера
    • OfferRoomCategoryName – категория номера
    • OfferAccomodationName – тип размещения
    • OfferResortName – название курорта (источник цены)
    • OfferCityName - город
    • OfferCountryName - страна
    • OfferServices – перечисление услуг, входящих в стоимость
    • OfferHotelURL – адрес страницы с описанием отеля
    • OfferTourURL – адрес страницы с описание тура
    • OfferHotelQuota – квота на проживание
    • OfferCharterThereQuota – квота на прямой рейс
    • OfferCharterBackQuota – квота на обратный рейс
  • Описание тура:
    • TourName – название тура
    • TourURL – адрес страницы с описание тура
    • TourDescription – описание тура
    • TourReservationCondition - условия бронирования тура
  • Описание отеля:
    • HotelName – название отеля
    • HotelURL – ссылка на страницу с описанием отеля
    • HotelDescription – описание отеля
    • HotelDescRoom – номера в отеле
    • HotelDescMeal - питание
    • HotelDescService - услуги
    • HotelDescSport - спорт
    • HotelDescExcur - экскурсии
    • HotelDescHealth – красота и здоровье
<add key="searchResultSelectedFields" value="TourDate,Nights,Price,Currency,OfferHotelURL,HotelName,RoomName,RoomCategoryName,AccomodationName,PansionName"/>
4 Настройка, определяющая максимальный период для отбора данных в экранах "Подбор туров с наличием мест" («QuotedDynamic») и "Поиск для агентств" Максимальное количество дней, на которое можно производить отбор данных
<add key="tourDatesIntervalLimit" value="30"/>
5 Указание в поиске количества основных и дополнительных мест вместо типа номера и размещения, в случае, если цены указаны за номер.

Используется для более удобного поиска подходящих номеров. Обрабатывается в экранах:

  • true — отображаются поля для задания количества взрослых и детских размещений (вместо выпадающих списков для выбора типов номеров и размещений)
  • false или отсутствие настройки — поиск по типу номеров и размещению
<add key="costForRoom" value="true" />
6 Настройка, определяющая страны, в которых цены заводятся за номер. Обрабатывается в экранах: Ключи стран через запятую (Ключи стран — это значения колонки cn_key в таблице tbl_country.)
<add key="costForRoomCountries" value="9,86,461" />


7 Настройка, позволяющая разделять цену по разрядам.
  • true — разделять цену по разрядам
  • false или отсутствие настройки — не разделять цену по разрядам
<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 (пример в соответствии с названием каталога и местом его размещения в разделе Установка приложения «Поиск для агентств»).
789.PNG
В первом экране необходимо выбрать список городов вылета, которые будут доступны в экране поиска.
После того, как список городов вылета выбран, необходимо нажать кнопку «Следующий шаг».
790.PNG
Здесь необходимо указать страны, поиск по которым будет доступен в экране поиска. В списке отображается список стран в соответствии с выбранными на предыдущем шаге городами вылета. После того, как список стран выбран, необходимо нажать кнопку «Следующий шаг».
791.PNG
В данном экране необходимо определить список необходимых типов тура. В списке отображаются типы тура в соответствии с выбранными на предыдущих шагах городами вылета и странами. После того, как список типов тура выбран, необходимо нажать кнопку «Следующий шаг».
792.PNG
На данном шаге нужно определить значения по умолчанию, которые будут автоматически выбираться при первой загрузке формы поиска.
793.PNG
На следующем шаге необходимо указать e-mail адрес, на который будут приходить уведомления о новых заявках на бронирование.
Далее необходимо выбрать вариант верстки страницы поиска.
794.PNG
Чтобы изменить стандартную верстку, нужно создать новый шаблон страницы на основе стандартного (файл templates\TableLayout.htm для table-верстки или templates\DivLayout.htm для div-верстки), сохранить его в файл с расширением htm в каталоге templates веб-сервиса. Затем необходимо выбрать вариант «Другое» и в текстовое поле ввести имя файла шаблона.
Внимание! Если выбран вариант верстки с помощью div, то может возникнуть необходимость вручную скорректировать ширину колонок в таблице результатов поиска из-за ограничений такого типа верстки страницы. Для этого нужно изменить соответствующий стиль в файле searchContent.css из папки css. Например, чтобы изменить ширину колонки "Питание", отредактируйте параметр width в стиле div.PansionNameCell.
По нажатию кнопки «Следующий шаг» будет автоматически сгенерирован скрипт для встраивания формы поиска в нужный сайт.
795.PNG
Для встраивания формы поиска в сайт, необходимо скопировать сгенерированный скрипт в нужную страницу сайта внутри тега <body />. При загрузке этой страницы сайта пользователь увидит поисковую форму в соответствии с выбранными параметрами.

Предупреждение


В том случае, если информация в календаре отображается с неправильной кодировкой, то необходимо внутри тега <head /> 
страницы, на которой отображается форма поиска, явно указать кодировку utf-8 в секции meta charset, пример:
<head> 
 <meta charset=utf-8">
</head>

Работа в системе

Работа формы поиска на сайте турагентства

При открытии страницы сайта, в которую был встроен сгенерированный скрипт, пользователь увидит форму поиска:
796.PNG
Содержимое фильтров будет соответствовать выбранным при генерации html-скрипта параметрам. По нажатию кнопки «Подобрать тур» на странице отобразятся результаты поиска в соответствии с выбранными фильтрами.
797.PNG
Если в БД туроператора заполнены описания отелей и туров, то в результатах поиска отображаются ссылки, по которым можно будет перейти к просмотру соответствующих описаний.
Ep 191.png
По нажатию на цену пользователь получает возможность отправить заявку по e-mail:
798.PNG
В экране «Заказ» отображается следующая информация:

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

Если в БД туроператора заполнены ссылки на описание отелей, то в экране «Заказ» рядом с названием отеля отобразится ссылка «информация на сайте», ведущая на соответствующую страничку. Для отправки заявки по e-mail необходимо заполнить следующие поля:

  • «Меня зовут» - ФИО человека, оформляющего заказ на сайте турагентства
  • Телефон – контактный телефон
  • E-mail – e-mail адрес для связи

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