Мастер-Web:Дополнительный модуль Поиск для агентств — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Porunova (обсуждение | вклад) |
|||
(не показано 29 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
+ | Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице ниже: | ||
+ | <table style="color:black; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1"> | ||
+ | <tr> | ||
+ | <td> | ||
+ | Более ранние версии:<BR> | ||
+ | [http://wiki.megatec.ru/index.php?title=Мастер-Web:Дополнительный_модуль_Поиск_для_агентств&oldid=5786 До 2009.2.12 включительно]<BR> | ||
+ | [http://wiki.megatec.ru/index.php?title=Мастер-Web:Дополнительный_модуль_Поиск_для_агентств&oldid=12248 До 2009.2.22 включительно]<BR> | ||
+ | [http://wiki.megatec.ru/index.php?title=Мастер-Web:Дополнительный_модуль_Поиск_для_агентств&oldid=14677 До 2009.2.27 включительно]<BR> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | <br> | ||
+ | |||
==Введение== | ==Введение== | ||
Данная надстройка предназначена для установки поискового модуля туроператора на сайте туристического агентства. | Данная надстройка предназначена для установки поискового модуля туроператора на сайте туристического агентства. | ||
Строка 40: | Строка 53: | ||
====Настройка отправки e-mail сообщений в системе бронирования==== | ====Настройка отправки e-mail сообщений в системе бронирования==== | ||
В таблице ниже приведены настройки e-mail адресов, которые должны быть заданы в системе, для отправки и получения сообщений. | В таблице ниже приведены настройки e-mail адресов, которые должны быть заданы в системе, для отправки и получения сообщений. | ||
− | + | ||
− | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" width="800px" | |
− | + | ||
− | + | |- style="background-color:#F2F2F2" | |
− | + | ||
− | + | ! width="50%" | Описание | |
− | + | ! width="50%" | Настройка | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | Адрес, с которого отправляются письма из системы бронирования | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="mailFrom" value="MasterWeb@EmailServiceProvider.com" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | Адрес администратора системы (можно добавить несколько адресов через « ''';''' ») | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="rcptTo" value="MasterWebAdmin@EmailServiceProvider.com" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | Дополнительные e-mail адреса, на которые приходят сообщения о новой регистрации и заявке на бронирование (можно добавить несколько e-mail адресов через « ''';''' ») | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="addRcptTo" value="Email1@EmailServiceProvider.com; Email2@EmailServiceProvider.com" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | Почтовый сервер SMTP | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="smtpServer" value="Smtp.EmailServiceProvider.com" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | SMTP порт почтового сервера (по умолчанию — ''25'') | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="smtpPort" value="25" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | Тип авторизации на сервере. Если не используется авторизация, то None, если используется, то Base64 или TLS/SSL. | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="smtpAuthentication" value="Base64" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | Активация протокола SSL (Нужно включить при использовании TLS/SSL авторизации.) | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="EnableSsl" value="false" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | Имя пользователя для подключения к почтовому серверу | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="smtpUser" value="Domain\Username" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | Пароль пользователя почтового сервера | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="smtpPassword" value="Pa$$w0rd" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | Адрес, на который отправляется скрытая копия письма с заявкой на бронирование (можно добавить несколько e-mail адресов через « ''';''' ») | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="hiddenEmail" value="mail@megatec.ru" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |} | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
====Дополнительные настройки==== | ====Дополнительные настройки==== | ||
Данные настройки прописываются в файле web.config для web-сервиса «Поиск для агентств». | Данные настройки прописываются в файле web.config для web-сервиса «Поиск для агентств». | ||
− | + | ||
− | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | |
− | + | ||
− | + | |- style="background-color:#F2F2F2" | |
− | + | ||
− | + | ! width="2%" | № | |
− | + | ! width="28%" | Описание | |
− | + | ! width="35%" | Значение | |
− | + | ! width="35%" | Настройка | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | 1 | |
− | + | | Настройка, определяющая относительный путь к файлу описания шаблонов | |
− | + | | '''Путь к файлу''' описания шаблонов | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="templatesList" value="templates\\templates.xml"/> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | 2 | |
− | + | | Настройка, определяющая доменные имена, ссылки на которые запрещены из окна поиска. Данная настройка распространяется на ссылки на описание туров и отелей в результатах поиска и в форме заказа | |
− | + | | '''Доменные имена''', ссылки на которые запрещены из окна поиска, разделенные запятой.<br /> | |
− | + | Если ссылки на описания туров и отелей ведут на сайт туроператора, то в значении настройки необходимо указать этот сайт, чтобы в форме поиска на сайте агентства эти ссылки не отображались | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="illegalDomainNames" value="www.somesite.ru,www.somesite2.ru"/> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | 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 – красота и здоровье | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="searchResultSelectedFields" value="TourDate,Nights,Price,Currency,OfferHotelURL,HotelName,RoomName,RoomCategoryName,AccomodationName,PansionName"/> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | 4 | |
− | + | | Настройка, определяющая максимальный период для отбора данных в экранах [[Мастер-Web:Дополнительный модуль Подбор туров с наличием мест|"Подбор туров с наличием мест" («QuotedDynamic»)]] и "Поиск для агентств" | |
− | + | | Максимальное '''количество дней''', на которое можно производить отбор данных | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="tourDatesIntervalLimit" value="30"/> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | 5 | |
− | + | | Указание в поиске количества основных и дополнительных мест вместо типа номера и размещения, в случае, если цены указаны за номер.<br /> | |
− | + | Используется для более удобного поиска подходящих номеров. Обрабатывается в экранах: | |
− | + | * [[Мастер-Web:Дополнительный_модуль_Подбор_туров_с_наличием_мест|«Подбор туров с наличием мест»]] («QuotedDynamic.aspx»); | |
− | + | * [[Мастер-Web:Дополнительный_модуль_Динамический_лист_с_наличием_мест|«Динамический лист с наличием мест»]] («DynamicOffers.aspx»); | |
− | + | * [[Мастер-Web:Дополнительный_модуль_Поиск_для_агентств|«Поиск для агентств»]]. | |
− | + | | | |
− | + | * '''true''' — отображаются поля для задания количества взрослых и детских размещений (вместо выпадающих списков для выбора типов номеров и размещений) | |
− | + | * '''false''' или '''отсутствие настройки''' — поиск по типу номеров и размещению | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="costForRoom" value="true" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | ||
− | + | | 6 | |
− | + | | Настройка, определяющая страны, в которых цены заводятся за номер. Обрабатывается в экранах: | |
− | + | * [[Мастер-Web:Дополнительный_модуль_Подбор_туров_с_наличием_мест|«Подбор туров с наличием мест»]] («QuotedDynamic.aspx»); | |
− | + | * [[Мастер-Web:Дополнительный_модуль_Динамический_лист_с_наличием_мест|«Динамический лист с наличием мест»]] («DynamicOffers.aspx»); | |
− | + | * [[Мастер-Web:Дополнительный_модуль_Поиск_для_агентств|«Поиск для агентств»]]. | |
− | + | | '''Ключи стран''' через запятую (Ключи стран — это значения колонки cn_key в таблице tbl_country.) | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="costForRoomCountries" value="9,86,461" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | + | |7 | |
− | + | | Настройка, позволяющая разделять цену по разрядам. | |
− | + | | | |
− | + | * '''true''' — разделять цену по разрядам | |
− | + | * '''false''' или '''отсутствие настройки''' — не разделять цену по разрядам | |
− | + | | <syntaxhighlight lang="xml" enclose="div"> | |
− | + | <add key="EnableDecimalSeparator" value="true" /> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | ||
− | + | |} | |
− | + | ||
− | + | ====Настройка секции dynamicCharterClasses==== | |
− | + | Данная секция определяет какие колонки тарифов на авиаперелет будут отображаться в результатах поиска в экране «Поиск для агентств». Секция dynamicCharterClasses должна содержать как минимум одно значение. Для добавления нового значения необходимо добавить строчку вида: | |
− | + | <add name="Название тарифа на авиаперелет" keys="ключи тарифов, задаются через запятую без пробелов"/> | |
− | + | *name - название колонки, которое будет отображаться в экране «Поиск для агентств», | |
− | + | *keys - ключи тарифов на авиаперелет, указываются через запятую. Ключи тарифов на авиаперелет хранятся в таблице AirService. | |
− | + | ||
− | + | ====Фильтрация по числу основных/дополнительных или взрослых/детских мест==== | |
− | + | Существует возможность настройки поиска: искать по числу [[Мастер-Web:Дополнительный модуль Подбор туров с наличием мест#Фильтрация по числу основных/дополнительных или взрослых/детских мест|основных/дополнительных или взрослых/детских мест]] . | |
− | + | ||
− | + | ====Настройка работы по https==== | |
− | + | ||
− | + | В файле ..\wsjssearch\Web.config необходимо заменить секцию: | |
− | + | <binding name="jsonpBinding"> | |
− | + | <jsonpMessageEncoding /> | |
− | + | <httpTransport manualAddressing="true" /> | |
− | + | </binding> | |
− | + | на | |
− | + | <binding name="jsonpBinding"> | |
− | + | <jsonpMessageEncoding /> | |
− | + | <httpsTransport manualAddressing="true" /> | |
− | + | </binding> | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Настройка приложения «Поиск для агентств» на сервере туроператора=== | ===Настройка приложения «Поиск для агентств» на сервере туроператора=== | ||
Приложение представляет собой набор скриптовых файлов, написанных на языке JavaScript, а, следовательно, не предъявляет требований к платформе web-сервера, на котором будет опубликован. | Приложение представляет собой набор скриптовых файлов, написанных на языке JavaScript, а, следовательно, не предъявляет требований к платформе web-сервера, на котором будет опубликован. | ||
− | Получение данных для формирования фильтра производится через Web-сервис «Поиск для агентств» (WS-JsSearch).< | + | Получение данных для формирования фильтра производится через Web-сервис «Поиск для агентств» (WS-JsSearch).<br /> |
− | Для настройки приложения «Поиск для агентств» нужно | + | Для настройки приложения «Поиск для агентств» нужно открыть файлы \JSSearch\js\settings.js и \JSSearch\js-noncompiled\settings.js из папки, в которой установлено приложение «Поиск для агентств» и ввести значения в соответствующие поля:<br /> |
− | + | * '''ServicesUrl''' – внешняя ссылка к web-сервису «Поиск для агентств».<br /> | |
− | + | * '''ClientUrl''' – внешняя ссылка к приложению «Поиск для агентств».<BR> | |
− | Пример (в соответствии с названиями каталогов и местом их размещения в разделах | + | Пример (в соответствии с названиями каталогов и местом их размещения в разделах [[Мастер-Web:Дополнительный_модуль_Поиск_для_агентств#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_web-.D1.81.D0.B5.D1.80.D0.B2.D0.B8.D1.81.D0.B0_.C2.AB.D0.9F.D0.BE.D0.B8.D1.81.D0.BA_.D0.B4.D0.BB.D1.8F_.D0.B0.D0.B3.D0.B5.D0.BD.D1.82.D1.81.D1.82.D0.B2.C2.BB|Установка web-сервиса «Поиск для агентств»]] и [[Мастер-Web:Дополнительный_модуль_Поиск_для_агентств#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BF.D1.80.D0.B8.D0.BB.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F_.C2.AB.D0.9F.D0.BE.D0.B8.D1.81.D0.BA_.D0.B4.D0.BB.D1.8F_.D0.B0.D0.B3.D0.B5.D0.BD.D1.82.D1.81.D1.82.D0.B2.C2.BB|Установка приложения «Поиск для агентств»)]]: |
− | + | var ServicesUrl = <nowiki>"http://somesite/ws-jssearch/"</nowiki>; | |
− | + | var ClientUrl = <nowiki>"http://somesite/jssearch/"</nowiki>; | |
+ | * '''ShowHotelIcons''' – отображение иконки рядом с названием отелей (true/false) | ||
+ | * '''ImagesPath''' – путь к директории с изображениями | ||
+ | Пример (для работы необходимо заполнить поле HTT_ImageName таблицы HotelTypes): | ||
+ | var ShowHotelIcons = true; | ||
+ | var ImagesPath = 'Images/'; | ||
==Подготовка данных== | ==Подготовка данных== | ||
===Генерация скрипта=== | ===Генерация скрипта=== | ||
После установки надстройки туроператор размещает на своем сайте программу автоматической генерации скрипта для встраивания формы поиска в сайт турагентства (см. раздел Установка надстройки). | После установки надстройки туроператор размещает на своем сайте программу автоматической генерации скрипта для встраивания формы поиска в сайт турагентства (см. раздел Установка надстройки). | ||
− | Программа автоматической генерации скрипта доступна по адресу: http: //somesite/JSSearch/scgen.htm (пример в соответствии с названием каталога и местом его размещения в разделе | + | Программа автоматической генерации скрипта доступна по адресу: http: //somesite/JSSearch/scgen.htm (пример в соответствии с названием каталога и местом его размещения в разделе [[Мастер-Web:Дополнительный модуль Поиск для агентств#Установка приложения «Поиск для агентств»|Установка приложения «Поиск для агентств»]]). |
<BR> | <BR> | ||
[[Файл:789.PNG]]<BR> | [[Файл:789.PNG]]<BR> | ||
Строка 629: | Строка 342: | ||
[[Файл:793.PNG]]<BR> | [[Файл:793.PNG]]<BR> | ||
На следующем шаге необходимо указать e-mail адрес, на который будут приходить уведомления о новых заявках на бронирование. | На следующем шаге необходимо указать e-mail адрес, на который будут приходить уведомления о новых заявках на бронирование. | ||
− | Далее необходимо выбрать вариант верстки страницы поиска. | + | <br />Далее необходимо выбрать вариант верстки страницы поиска. |
+ | <BR>[[Файл:794.PNG]]<BR> | ||
+ | Чтобы изменить стандартную верстку, нужно создать новый шаблон страницы на основе стандартного (файл templates\TableLayout.htm для table-верстки или templates\DivLayout.htm для div-верстки), сохранить его в файл с расширением htm в каталоге templates веб-сервиса. Затем необходимо выбрать вариант «Другое» и в текстовое поле ввести имя файла шаблона. | ||
+ | <br />'''Внимание!''' Если выбран вариант верстки с помощью div, то может возникнуть необходимость вручную скорректировать ширину колонок в таблице результатов поиска из-за ограничений такого типа верстки страницы. Для этого нужно изменить соответствующий стиль в файле searchContent.css из папки css. Например, чтобы изменить ширину колонки "Питание", отредактируйте параметр width в стиле div.PansionNameCell. | ||
+ | <br />По нажатию кнопки «Следующий шаг» будет автоматически сгенерирован скрипт для встраивания формы поиска в нужный сайт. | ||
+ | <BR> | ||
+ | [[Файл:795.PNG]]<BR> | ||
+ | Для встраивания формы поиска в сайт, необходимо скопировать сгенерированный скрипт в нужную страницу сайта внутри тега <body />. При загрузке этой страницы сайта пользователь увидит поисковую форму в соответствии с выбранными параметрами. | ||
+ | [[Файл: mb_030.png|left|Предупреждение]] <BR> | ||
+ | В том случае, если информация в календаре отображается с неправильной кодировкой, то необходимо внутри тега <head /> | ||
+ | страницы, на которой отображается форма поиска, явно указать кодировку utf-8 в секции ''meta charset'', пример: | ||
+ | <head> | ||
+ | <meta charset=utf-8"> | ||
+ | </head> | ||
+ | |||
+ | ==Работа в системе== | ||
+ | ===Работа формы поиска на сайте турагентства=== | ||
+ | При открытии страницы сайта, в которую был встроен сгенерированный скрипт, пользователь увидит форму поиска: | ||
<BR> | <BR> | ||
− | [[Файл: | + | [[Файл:796.PNG]]<BR> |
− | + | Содержимое фильтров будет соответствовать выбранным при генерации html-скрипта параметрам. | |
− | + | По нажатию кнопки «Подобрать тур» на странице отобразятся результаты поиска в соответствии с выбранными фильтрами. | |
+ | <BR> | ||
+ | [[Файл:797.PNG]]<BR> | ||
+ | Если в БД туроператора заполнены описания отелей и туров, то в результатах поиска отображаются ссылки, по которым можно будет перейти к просмотру соответствующих описаний.<BR> | ||
+ | [[Файл:ep_191.png]]<BR> | ||
+ | По нажатию на цену пользователь получает возможность отправить заявку по e-mail: | ||
+ | <BR> | ||
+ | [[Файл:798.PNG]]<BR> | ||
+ | В экране «Заказ» отображается следующая информация: | ||
+ | * Название тура | ||
+ | * Дата заезда | ||
+ | * Продолжительность тура | ||
+ | * Город | ||
+ | * Страна | ||
+ | * Название отеля | ||
+ | * Выбранное размещение | ||
+ | * Питание | ||
+ | * Наличие мест по отелю и перелетам | ||
+ | * Стоимость тура | ||
+ | * Список услуг, входящих в стоимость тура | ||
+ | * Список необходимых доплат | ||
+ | |||
+ | Если в БД туроператора заполнены ссылки на описание отелей, то в экране «Заказ» рядом с названием отеля отобразится ссылка «информация на сайте», ведущая на соответствующую страничку. | ||
+ | Для отправки заявки по e-mail необходимо заполнить следующие поля: | ||
+ | * «Меня зовут» - ФИО человека, оформляющего заказ на сайте турагентства | ||
+ | * Телефон – контактный телефон | ||
+ | * E-mail – e-mail адрес для связи | ||
+ | |||
+ | Дополнительно можно добавить нужное примечание к заявке.<BR> | ||
+ | После заполнения контактной информации необходимо нажать кнопку «Хочу туда!», после чего заявка будет отправлена турагентству на e-mail, указанный при генерации html-скрипта. | ||
[[Category:Мастер-Web_Дополнительные_модули]] | [[Category:Мастер-Web_Дополнительные_модули]] |
Текущая версия на 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-скрипта.