Мастер-Web:Дополнительный модуль Распределенный поиск — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Belyaev (обсуждение | вклад) |
Belyaev (обсуждение | вклад) |
||
Строка 40: | Строка 40: | ||
===Настройки файла distributedSearchSettings.xml=== | ===Настройки файла distributedSearchSettings.xml=== | ||
− | Файл | + | Файл distributedSearchSettings.xml содержит информацию о внешних источниках данных. |
− | Элемент | + | Элемент <font style="font-family:courier new"><Enabled>true</Enabled></font> в секции <font style="font-family:courier new"><DistributedSearchSettings></font> указывает на необходимость проведения поиска во внешних источниках данных. |
− | Каждый из элементов | + | Каждый из элементов <font style="font-family:courier new"><DistributedSearchSource Id="source"></font> в секции <font style="font-family:courier new"><SearchSources></font> представляет собой описание источника данных. Атрибут id может быть произвольным, но должен быть уникальным в рамках документа. |
− | + | <TABLE CLASS="wikitable" WIDTH="100%"> | |
− | + | <TR TR ALIGN="center" VALIGN="center"><TH WIDTH="25%">Настройка</TH><TH WIDTH="75%">Описание</TH></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><FilterBindingServiceUrl></TD><TD>Адрес сервиса по загрузке поисковых фильтров [[Мастер-Web:Дополнительный_модуль_Сервис_по_загрузке_поисковых_фильтров|FilterBinding]]</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><SearchServiceUrl></TD><TD>Адрес поискового сервиса [[Мастер-Web:Дополнительный_модуль_Поисковый_сервис|Search]]</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><ReservationServiceUrl></TD><TD>Адрес сервиса бронирования [[Мастер-Web:Дополнительный_модуль_Сервис_бронирования#.D0.A1.D0.B5.D1.80.D0.B2.D0.B8.D1.81_.D0.B1.D1.80.D0.BE.D0.BD.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.28ReservationService.asmx.29|ReservationService]]</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><ServiceProviderServiceUrl></TD><TD>Адрес сервиса формирования списка услуг [[Мастер-Web:Дополнительный_модуль_Сервис_бронирования#.D0.A1.D0.B5.D1.80.D0.B2.D0.B8.D1.81_.D1.84.D0.BE.D1.80.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D1.81.D0.BF.D0.B8.D1.81.D0.BA.D0.B0_.D1.83.D1.81.D0.BB.D1.83.D0.B3_.28ServiceProvider.asmx.29|ServiceProvider]]</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><CheckQuotesServiceUrl></TD><TD>Адрес сервиса по проверке наличия мест [[Мастер-Web:Дополнительный_модуль_Сервис_по_проверке_наличия_мест|CheckQuotesService]]</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><ReplcamentSearchItems></TD><TD>Правила подстановки данных из поискового фильтра данного источника в локальный фильтр</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><FlightGroups></TD><TD>Группы тарифов на авиаперелеты</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><PartnerKey></TD><TD>Ключ партнера в удаленном источнике, являющегося владельцем приложения ПК «Мастер-Web»</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><InternalPartnerKey></TD><TD>Ключ партнера в локальном источнике, являющегося поставщиком цен</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><InternalServiceKey></TD><TD>Класс услуги в базе данных турагента, являющегося владельцем приложения ПК «Мастер-Web», используемый для сохранения услуг из базы стороннего туроператора<br /><span style="color:#808080">Все услуги по путевке, забронированной по туру стороннего туроператора, будут сохранены с этим классом услуги.</span></TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><InternalCreator></TD><TD>Ключ пользователя из таблицы <font style="font-family:courier new">[UserList]</font> турагента, являющегося владельцем приложения ПК «Мастер-Web», который прописывается создателем для путевок, оформленных по турам стороннего туроператора</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><InternalFilialKey></TD><TD>Ключ филиала (<font style="font-family:courier new">[PR_Filial] = 2</font>) из таблицы <font style="font-family:courier new">[tbl_Partners]</font> турагента, являющегося владельцем приложения ПК «Мастер-Web», который прописывается филиалом для путевок, оформленных по турам стороннего туроператора</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><InternalTourKey></TD><TD>Ключ тура из таблицы <font style="font-family:courier new">[tbl_TurList]</font> турагента, являющегося владельцем приложения ПК «Мастер-Web», который прописывается в поле <font style="font-family:courier new">[DG_TRKey]</font> у путевок, оформленных по турам стороннего туроператора</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><DefaultCountryKey></TD><TD STYLE="color:#808080">DefaultCountryKey</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><DefaultCityKey></TD><TD STYLE="color:#808080">DefaultCityKey</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><ReservationWaitStatus></TD><TD STYLE="color:#808080">ReservationWaitStatus</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><ReservationOKStatus></TD><TD STYLE="color:#808080">ReservationOKStatus</TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><AdditionalComission></TD><TD>Наценка в процентах к общей стоимости тура от стороннего туроператора<br /><span style="color:#808080">Настройка применяется в экране поиска DSearchPageM и в корзине RemoteBasketM.</span></TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><AdditionalComissionFixed></TD><TD>Фиксированная наценка к общей стоимости тура от стороннего туроператора<br /><span style="color:#808080">Настройка применяется только в корзине RemoteBasketM.</span></TD></TR> | |
− | + | <TR><TD STYLE="font-family:courier new"><AdditionalServiceComission></TD><TD>Фиксированная наценка к стоимости доп. услуг при бронировании туров от стороннего туроператора<br /><span style="color:#808080">Настройка применяется только в корзине RemoteBasketM.</span></TD></TR> | |
+ | <TR><TD STYLE="font-family:courier new"><FilialKey></TD><TD STYLE="color:#808080">FilialKey</TD></TR> | ||
+ | <TR><TD STYLE="font-family:courier new"><EMail></TD><TD>Дополнительные e-mail адреса для отправления писем о новых бронированиях, осуществленных через распределенный поиск<br /><span style="color:#808080">Адреса перечисляются через точку с запятой.</span></TD></TR> | ||
+ | <TR><TD STYLE="font-family:courier new"><DontSendBookingMail></TD><TD>Настройка, управляющая отправкой письма о новом бронировании агентству<br />Возможные значения: | ||
+ | <ul> | ||
+ | <li>true — не отправлять письмо агентству;</li> | ||
+ | <li>false — отправлять письмо о новом бронировании агентству.</li> | ||
+ | </ul> | ||
+ | </TD></TR> | ||
+ | <TR><TD STYLE="font-family:courier new"><CostForRoom></TD><TD>Устанавливает всем странам из удаленного источника тип цены за номер.</TD></TR> | ||
+ | <TR><TD STYLE="font-family:courier new"><CostForRoomCountries></TD><TD>Устанавливает странам с перечисленными ключами тип цены за номер.<br /><span style="color:#808080">Ключи стран через запятую, например, «3, 40, 90».</span></TD></TR> | ||
+ | </TABLE> | ||
Правило подстановки данных из поискового фильтра данного источника в локальный фильтр задается при помощи набора элементов ''<ReplcamentSubItem>'', где | Правило подстановки данных из поискового фильтра данного источника в локальный фильтр задается при помощи набора элементов ''<ReplcamentSubItem>'', где | ||
Строка 162: | Строка 173: | ||
<ul> | <ul> | ||
<li>Начиная с ПК «Мастер-Web» 2009.2.17.1 (пакет обновлений № 1 для релиза ПК «Мастер-Web» 2009.2.17) использование сервиса авторизации по умолчанию не требуется.</li> | <li>Начиная с ПК «Мастер-Web» 2009.2.17.1 (пакет обновлений № 1 для релиза ПК «Мастер-Web» 2009.2.17) использование сервиса авторизации по умолчанию не требуется.</li> | ||
− | <li>Для защиты веб-сервисов от несанкционированного использования нужно выполнить по базе данных ПК «Мастер-Тур» скрипт: | + | <li>Для защиты веб-сервисов от несанкционированного использования нужно выполнить по базе данных ПК «Мастер-Тур» скрипт: |
− | + | <syntaxhighlight lang="sql"> | |
− | <li>Отключить использование сервиса авторизации можно скриптом: | + | insert into [SystemSettings] (SS_ParmName,SS_ParmValue) values ('SYSCheckSecurityToken','1') |
− | + | </syntaxhighlight> | |
+ | </li> | ||
+ | <li>Отключить использование сервиса авторизации можно скриптом: | ||
+ | <syntaxhighlight lang="sql"> | ||
+ | update [SystemSettings] set [SS_ParmValue] = '0' where [SS_ParmName] in ('SYSCheckSecurityToken') | ||
+ | </syntaxhighlight> | ||
+ | </li> | ||
<li><span style="color:#808080">При необходимости использования веб-сервисов распределенного поиска без сервиса авторизации на релизах до ПК «Мастер-Web» 2009.2.17.1 нужно выполнить скрипт fn_mwCheckToken.sql — его можно запросить в отделе поддержки.</span></li> | <li><span style="color:#808080">При необходимости использования веб-сервисов распределенного поиска без сервиса авторизации на релизах до ПК «Мастер-Web» 2009.2.17.1 нужно выполнить скрипт fn_mwCheckToken.sql — его можно запросить в отделе поддержки.</span></li> | ||
</ul> | </ul> | ||
Строка 171: | Строка 188: | ||
<li><span style="font-weight:bold">Развертывание сервиса авторизации</span> | <li><span style="font-weight:bold">Развертывание сервиса авторизации</span> | ||
<ul> | <ul> | ||
− | <li>Необходимо развернуть веб-сервис WsAuthorization из архива mw-ws-authorization-9.2.x.xxxxx.zip как отдельное веб-приложение IIS, например, можно добавить его на сайт с уже развернутыми сервисами распределенного поиска.</li> | + | <li>Необходимо развернуть веб-сервис WsAuthorization из архива mw-ws-authorization-9.2.x.xxxxx.zip как отдельное веб-приложение на IIS, например, можно добавить его на сайт с уже развернутыми сервисами распределенного поиска.</li> |
</ul> | </ul> | ||
</li> | </li> | ||
<li><span style="font-weight:bold">Настройки Web.config</span> | <li><span style="font-weight:bold">Настройки Web.config</span> | ||
<ul> | <ul> | ||
− | <li>Строка подключения к базе данных ПК «Мастер-Тур», например: | + | <li>Строка подключения к базе данных ПК «Мастер-Тур», например: |
− | + | <syntaxhighlight lang="xml"> | |
− | Password=toor; Application Name=ds"/></ | + | <add key="connectionString" value="Data Source=server; Initial Catalog=database; User Id=root; Password=toor; Application Name=ds"/> |
− | <li>Нужно заполнить следующие основные настройки секции <appSettings>: | + | </syntaxhighlight> |
+ | </li> | ||
+ | <li>Нужно заполнить следующие основные настройки секции <font style="font-family:courier new"><appSettings></font>: | ||
+ | <syntaxhighlight lang="xml"> | ||
+ | <add key="wsAuthLogin" value="qaz"/> | ||
+ | <add key="wsAuthPassowrd" value="123"/> | ||
+ | <add key="tokenLifeTime" value="5"/> | ||
+ | <add key="usePasswordHashing" value="false"/> | ||
+ | </syntaxhighlight> | ||
<ul> | <ul> | ||
<li>wsAuthLogin — логин доступа к WsAuthorization;</li> | <li>wsAuthLogin — логин доступа к WsAuthorization;</li> | ||
<li>wsAuthPassowrd — пароль доступа к WsAuthorization;</li> | <li>wsAuthPassowrd — пароль доступа к WsAuthorization;</li> | ||
<li>tokenLifeTime — время до повторной авторизационной проверки;</li> | <li>tokenLifeTime — время до повторной авторизационной проверки;</li> | ||
− | <li>usePasswordHashing — включение хеширования пароля.<br><span style="color:#808080">При включении хеширования в distributedSearchSettings.xml нужно указывать не пароль, а его хеш | + | <li>usePasswordHashing — включение хеширования пароля.<br /> |
+ | <span style="color:#808080">При включении хеширования в distributedSearchSettings.xml нужно указывать не пароль, а его хеш, например:</span> | ||
+ | <syntaxhighlight lang="xml"> | ||
+ | <DistributedSearchSource | ||
+ | … | ||
+ | WsAuthPassword="xMpCOKC5I4INzFCab3WEmw=="> | ||
+ | </syntaxhighlight> | ||
+ | </li> | ||
</ul> | </ul> | ||
</li> | </li> | ||
− | + | </ul> | |
− | < | + | </li> |
− | < | + | <li><span style="font-weight:bold">Поддержка репликации</span> |
− | < | + | <ul> |
+ | <li>При использовании [[Мастер-Тур:Настройка_репликации|репликации]] возможны 2 варианта настройки сервиса авторизации:</li> | ||
+ | <ol> | ||
+ | <li>Без защиты — полное отключение сервиса авторизации: и на основной, и на поисковой базе данных;</li> | ||
+ | <li>Частичная защита — включение сервиса авторизации на поисковой базе данных.<br /> | ||
+ | <span style="color:#808080">В этом случае обращения к веб-сервисам [[Мастер-Web:Дополнительный_модуль_Сервис_по_загрузке_поисковых_фильтров|FilterBindingService]] и [[Мастер-Web:Дополнительный_модуль_Поисковый_сервис|Search]], использующим поисковую базу данных, будут проверяться сервисом WsAuthorization, а обращения к сервисам [[Мастер-Web:Дополнительный_модуль_Сервис_бронирования#.D0.A1.D0.B5.D1.80.D0.B2.D0.B8.D1.81_.D1.84.D0.BE.D1.80.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D1.81.D0.BF.D0.B8.D1.81.D0.BA.D0.B0_.D1.83.D1.81.D0.BB.D1.83.D0.B3_.28ServiceProvider.asmx.29|ServiceProvider]], [[Мастер-Web:Дополнительный_модуль_Сервис_бронирования#.D0.A1.D0.B5.D1.80.D0.B2.D0.B8.D1.81_.D0.B1.D1.80.D0.BE.D0.BD.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.28ReservationService.asmx.29|ReservationService]] и [[Мастер-Web:Дополнительный_модуль_Сервис_по_проверке_наличия_мест|CheckQuotesService]], использующим основную базу данных, проверяться не будут.</span></li> | ||
+ | </ol> | ||
</ul> | </ul> | ||
</li> | </li> | ||
Строка 196: | Строка 234: | ||
=====Настройка агентского ПК «Мастер-Web»===== | =====Настройка агентского ПК «Мастер-Web»===== | ||
− | |||
В файле настроек распределенного поиска distributedSearchSettings.xml, расположенного в папке templates каталога ПК «Мастер-Web», для использования сервиса авторизации WsAuthorization необходимо указать 3 настройки: | В файле настроек распределенного поиска distributedSearchSettings.xml, расположенного в папке templates каталога ПК «Мастер-Web», для использования сервиса авторизации WsAuthorization необходимо указать 3 настройки: | ||
− | < | + | <ul> |
<li>WsAuthLogin — логин для обращения к WsAuthorization;</li> | <li>WsAuthLogin — логин для обращения к WsAuthorization;</li> | ||
<li>WsAuthPassword — пароль для обращения к WsAuthorization;</li> | <li>WsAuthPassword — пароль для обращения к WsAuthorization;</li> | ||
<li>AuthorizationServiceUrl — адрес авторизационного сервиса.</li> | <li>AuthorizationServiceUrl — адрес авторизационного сервиса.</li> | ||
− | </ | + | </ul> |
− | + | <br /> | |
+ | <syntaxhighlight lang="xml"> | ||
+ | <DistributedSearchSource | ||
+ | Id="Внешний источник № 7" | ||
WsAuthLogin="qaz" | WsAuthLogin="qaz" | ||
WsAuthPassword="123"> | WsAuthPassword="123"> | ||
Строка 211: | Строка 251: | ||
http://server:8080/distributedsearch/mw-ws-authorization/WsAuthorization.asmx | http://server:8080/distributedsearch/mw-ws-authorization/WsAuthorization.asmx | ||
</AuthorizationServiceUrl> | </AuthorizationServiceUrl> | ||
− | |||
… | … | ||
− | + | </DistributedSearchSource> | |
− | </DistributedSearchSource></ | + | </syntaxhighlight> |
+ | <br /> | ||
===Валидный distributedSearchSettings.xml=== | ===Валидный distributedSearchSettings.xml=== | ||
Строка 220: | Строка 260: | ||
<span style="color:#808080">Данный файл distributedSearchSettings.xml актуален для ПК «Мастер-Web» релиза 2009.2.17, а также для сервис-паков 2009.2.16.</span> | <span style="color:#808080">Данный файл distributedSearchSettings.xml актуален для ПК «Мастер-Web» релиза 2009.2.17, а также для сервис-паков 2009.2.16.</span> | ||
− | + | <br /> | |
+ | <syntaxhighlight lang="xml"> | ||
+ | <?xml version="1.0"?> | ||
<DistributedSearchSettings | <DistributedSearchSettings | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
Строка 238: | Строка 280: | ||
--> | --> | ||
− | <DistributedSearchSource Id="Внешний источник № 7" | + | <DistributedSearchSource |
+ | Id="Внешний источник № 7" | ||
WsAuthLogin="qaz" | WsAuthLogin="qaz" | ||
WsAuthPassword="123"> | WsAuthPassword="123"> | ||
Строка 309: | Строка 352: | ||
<ReplcamentSearchItem> | <ReplcamentSearchItem> | ||
<SubItems> | <SubItems> | ||
− | <ReplcamentSubItem Type="departFrom" | + | <ReplcamentSubItem |
− | + | Type="departFrom" | |
− | + | LocalValue="0" | |
− | <ReplcamentSubItem Type="country" | + | RemoteValue="0" /> |
− | + | <ReplcamentSubItem | |
− | + | Type="country" | |
+ | RemoteValue="376" | ||
+ | Name="Андорра № 7" /> | ||
</SubItems> | </SubItems> | ||
</ReplcamentSearchItem> | </ReplcamentSearchItem> | ||
<ReplcamentSearchItem> | <ReplcamentSearchItem> | ||
<SubItems> | <SubItems> | ||
− | <ReplcamentSubItem Type="departFrom" | + | <ReplcamentSubItem |
− | + | Type="departFrom" | |
− | + | LocalValue="1" | |
− | + | RemoteValue="1" /> | |
− | + | <ReplcamentSubItem | |
− | + | Type="country" | |
+ | RemoteValue="222" | ||
+ | Name="Англия № 7" /> | ||
</SubItems> | </SubItems> | ||
</ReplcamentSearchItem> | </ReplcamentSearchItem> | ||
<ReplcamentSearchItem> | <ReplcamentSearchItem> | ||
<SubItems> | <SubItems> | ||
− | <ReplcamentSubItem Type="departFrom" | + | <ReplcamentSubItem |
− | + | Type="departFrom" | |
− | + | LocalValue="1" | |
− | <ReplcamentSubItem Type="country" | + | RemoteValue="1" /> |
− | + | <ReplcamentSubItem | |
− | + | Type="country" | |
+ | RemoteValue="376" | ||
+ | Name="Андорра № 7" /> | ||
</SubItems> | </SubItems> | ||
</ReplcamentSearchItem> | </ReplcamentSearchItem> | ||
</ReplcamentSearchItems> | </ReplcamentSearchItems> | ||
</DistributedSearchSource> | </DistributedSearchSource> | ||
− | + | ||
− | + | </SearchSources> | |
− | + | </DistributedSearchSettings> | |
+ | </syntaxhighlight> | ||
+ | <br /> | ||
==Работа в системе== | ==Работа в системе== |
Версия 11:37, 7 февраля 2013
Статья находится на стадии разработки.
Версия статьи от 7.02.2013. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице:
Более ранние версии: |
Содержание
- 1 Введение
- 2 Установка
- 3 Настройка
- 4 Работа в системе
Введение
Модуль «Распределенный поиск» предназначен для отображения в едином поисковом модуле как своих, так и сторонних предложений. Модуль позволяет осуществлять поиск и бронирование туров от различных туроператоров в одном приложении ПК Мастер-Web.
Установка
Для установки «Распределенного поиска» нужно распаковать архив надстройки mw-distributedsearch-2007.2.XX.XXXX.zip в корень каталога, где установлено приложение ПК Мастер-Web.
Для развертывания распределенного поиска необходимо на web-сервере каждого туроператора, цены которого необходимо отображать в собственном приложении, установить Сервис по загрузке поисковых фильтров (FilterBinding), Поисковый сервис (SearchService), Сервис проверки наличия мест (CheckQuotes) и Сервис бронирования (Reservation). Описание процесса установки сервисов приведено в руководстве пользователя соответствующего сервиса.
Если собственные предложения также должны загружаться через web-сервис, то такие же web-сервисы необходимо установить и на своем web-сервере.
Настройка
Добавление секций
Добавление секций в конфигурационный файл web.config производится только в случае, если локальные предложения туроператора подключаются через сервис.
- 1. В секции <ConfigSections> добавить подсекцию:
<sectionGroup name="Megatec.Web.Services"> <section name="servicesAccessibility" type="Megatec.Configuration.WebServicesSection, Megatec.Configuration"/> </sectionGroup>
- 2. На одном уровне с секцией <ConfigSections> добавить секцию:
<Megatec.Web.Services> <servicesAccessibility Enabled="true"> <Services> <add name="FilterBinding" enabled="true" url="http://somesite/ws-filter-binding/FilterBindingService.asmx"/> <add name="DoSearch" enabled="true" url="http://somesite/ws-search/Search.asmx"/> <add name="Reservation" enabled="true" url="http://somesite/ws-reservation/ReservationService.asmx"/> <add name="ServiceProvider" enabled="true" url="http://somesite/ws-reservation/ServiceProvider.asmx"/> <add name="CheckQuotes" enabled="true" url="http://somesite/ws-checkquotes/CheckQuotesService.asmx"/> </Services> </servicesAccessibility> </Megatec.Web.Services>
В данной секции необходимо указать адреса собственных сервисов загрузки фильтра, поискового сервиса, сервиса проверки наличия мест, сервиса бронирования.
Настройки файла distributedSearchSettings.xml
Файл distributedSearchSettings.xml содержит информацию о внешних источниках данных.
Элемент <Enabled>true</Enabled> в секции <DistributedSearchSettings> указывает на необходимость проведения поиска во внешних источниках данных.
Каждый из элементов <DistributedSearchSource Id="source"> в секции <SearchSources> представляет собой описание источника данных. Атрибут id может быть произвольным, но должен быть уникальным в рамках документа.
Настройка | Описание |
---|---|
<FilterBindingServiceUrl> | Адрес сервиса по загрузке поисковых фильтров FilterBinding |
<SearchServiceUrl> | Адрес поискового сервиса Search |
<ReservationServiceUrl> | Адрес сервиса бронирования ReservationService |
<ServiceProviderServiceUrl> | Адрес сервиса формирования списка услуг ServiceProvider |
<CheckQuotesServiceUrl> | Адрес сервиса по проверке наличия мест CheckQuotesService |
<ReplcamentSearchItems> | Правила подстановки данных из поискового фильтра данного источника в локальный фильтр |
<FlightGroups> | Группы тарифов на авиаперелеты |
<PartnerKey> | Ключ партнера в удаленном источнике, являющегося владельцем приложения ПК «Мастер-Web» |
<InternalPartnerKey> | Ключ партнера в локальном источнике, являющегося поставщиком цен |
<InternalServiceKey> | Класс услуги в базе данных турагента, являющегося владельцем приложения ПК «Мастер-Web», используемый для сохранения услуг из базы стороннего туроператора Все услуги по путевке, забронированной по туру стороннего туроператора, будут сохранены с этим классом услуги. |
<InternalCreator> | Ключ пользователя из таблицы [UserList] турагента, являющегося владельцем приложения ПК «Мастер-Web», который прописывается создателем для путевок, оформленных по турам стороннего туроператора |
<InternalFilialKey> | Ключ филиала ([PR_Filial] = 2) из таблицы [tbl_Partners] турагента, являющегося владельцем приложения ПК «Мастер-Web», который прописывается филиалом для путевок, оформленных по турам стороннего туроператора |
<InternalTourKey> | Ключ тура из таблицы [tbl_TurList] турагента, являющегося владельцем приложения ПК «Мастер-Web», который прописывается в поле [DG_TRKey] у путевок, оформленных по турам стороннего туроператора |
<DefaultCountryKey> | DefaultCountryKey |
<DefaultCityKey> | DefaultCityKey |
<ReservationWaitStatus> | ReservationWaitStatus |
<ReservationOKStatus> | ReservationOKStatus |
<AdditionalComission> | Наценка в процентах к общей стоимости тура от стороннего туроператора Настройка применяется в экране поиска DSearchPageM и в корзине RemoteBasketM. |
<AdditionalComissionFixed> | Фиксированная наценка к общей стоимости тура от стороннего туроператора Настройка применяется только в корзине RemoteBasketM. |
<AdditionalServiceComission> | Фиксированная наценка к стоимости доп. услуг при бронировании туров от стороннего туроператора Настройка применяется только в корзине RemoteBasketM. |
<FilialKey> | FilialKey |
<EMail> | Дополнительные e-mail адреса для отправления писем о новых бронированиях, осуществленных через распределенный поиск Адреса перечисляются через точку с запятой. |
<DontSendBookingMail> | Настройка, управляющая отправкой письма о новом бронировании агентству Возможные значения:
|
<CostForRoom> | Устанавливает всем странам из удаленного источника тип цены за номер. |
<CostForRoomCountries> | Устанавливает странам с перечисленными ключами тип цены за номер. Ключи стран через запятую, например, «3, 40, 90». |
Правило подстановки данных из поискового фильтра данного источника в локальный фильтр задается при помощи набора элементов <ReplcamentSubItem>, где
- Type - тип условия подстановки; возможные значения: departFrom, country, city
- LocalValue - ключ сущности в локальной базе (если в локальном источнике отсутствует такой ключ, то LocalValue указывать не нужно)
- RemoteValue - ключ сущности во внешнем источнике
- Name - название сущности (настройка используется при отсутствии сущности в локальном источнике)
Примеры:
- Пример 1. Добавить предложения по Хорватии (в локальном источнике отсутствует, ключ во внешнем источнике - 123) при вылете из Москвы (ключ 30 в локальном источнике и 1 во внешнем источнике)
<ReplcamentSearchItem> <SubItems> <ReplcamentSubItem Type="departFrom" LocalValue="30" RemoteValue="1" /> <ReplcamentSubItem Type="country" LocalValue="0" RemoteValue="123" Name="Хорватия" /> </SubItems> </ReplcamentSearchItem>
- Пример 2. Добавить предложения по Греции (ключ 520 в локальном источнике и 29 во внешнем источнике) при вылете из Москвы (ключ 30 в локальном источнике и 1 во внешнем источнике)
<ReplcamentSearchItem> <SubItems> <ReplcamentSubItem Type="departFrom" LocalValue="30" RemoteValue="1" /> <ReplcamentSubItem Type="country" LocalValue="520" RemoteValue="29" Name="Греция" /> </SubItems> </ReplcamentSearchItem>
- Пример 3. Включить в предложения по Греции (ключ 520 в локальном источнике и 29 во внешнем источнике) при вылете из Екатеринбурга (ключ 648 в локальном источнике и 266 во внешнем источнике) город Салоники (в локальном источнике отсутствует ; ключ во внешнем источнике - 615)
<ReplcamentSearchItem> <SubItems> <ReplcamentSubItem Type="departFrom" LocalValue="648" RemoteValue="266" /> <ReplcamentSubItem Type="country" LocalValue="520" RemoteValue="29" Name="Греция" /> <ReplcamentSubItem Type="city" RemoteValue="615" Name="Салоники" /> </SubItems> </ReplcamentSearchItem>
Настройка полей данных о туристах
Настройка отображения полей данных о туристах производится в файле descriptions.xml. Данный файл содержит следующие настройки:
1. Настройка отображения поля «Главный турист»:
<column code="ismain" header="<img src="../images/mw_main_tourist.gif" border="0" alt="Главный турист" />" visible="True" required="True" translit="False" letterCase="0" edit="False" />
2. Настройка отображения поля «Пол туриста»:
<column code="sex" header="Пол<font color="red">*</font>" visible="True" required="False" translit="False" letterCase="0" edit="True" />
3. Настройка отображения поля «Имя рус.»:
<column code="firstnamerus" header="" visible="False" required="False" translit="False" letterCase="0" edit="False" />
4. Настройка отображения поля «Отчество рус.»:
<column code="patronymicrus" header="Отчество" visible="False" required="False" translit="False" letterCase="3" edit="False" />
5. Настройка отображения поля «Фамилия рус.»:
<column code="lastnamerus" header="" visible="False" required="False" translit="False" letterCase="0" edit="False" />
6. Настройка отображения поля «Имя лат.»:
<column code="firstname" header="Имя<font color="red">*</font>" visible="True" required="True" translit="True" letterCase="2" edit="True" validationgroup="TouristsGroup" />
7. Настройка отображения поля «Отчество лат.»:
<column code="patronymic" header="" visible="False" required="False" translit="False" letterCase="2" edit="False" />
8. Настройка отображения поля «Фамилия лат.»:
<column code="lastname" header="Фамилия<font color="red">*</font>" visible="True" required="True" translit="True" letterCase="2" edit="True" validationgroup="TouristsGroup" />
9. Настройка отображения поля «Дата рождения»:
<column code="birthdate" header="Дата рождения<font color="red">*</font><br />(dd.MM.yyyy)" visible="True" required="true" translit="False" letterCase="0" edit="True" validationgroup="TouristsGroup" />
10. Настройка отображения поля «Номер общегражданского паспорта»:
<column code="passportrus" header="" visible="False" required="False" translit="False" letterCase="0" edit="False" />
11. Настройка отображения поля «Дата выдачи общегражданского паспорта»:
<column code="passportdaterus" header="" visible="False" required="False" translit="False" letterCase="0" edit="False" />
12. Настройка отображения поля «Общегражданский паспорт: кем выдан»:
<column code="passportbywhomrus" header="Паспорт: кем выдан" visible="False" required="False" translit="False" letterCase="0" edit="False" />
13. Настройка отображения поля «Номер загранпаспорта»:
<column code="passport" header="Паспорт" visible="True" required="true" translit="False" letterCase="2" edit="True" validationgroup="TouristsGroup" />
14. Настройка отображения поля «Дата выдачи загранпаспорта»:
<column code="passportdate" header="Загран-паспорт: дата выдачи" visible="False" required="False" translit="False" letterCase="0" edit="False" />
15. Настройка отображения поля «Срок действия загранпаспорта»:
<column code="passportdateend" header="Действителен до<br />(dd.MM.yyyy)" visible="true" required="true" translit="False" letterCase="0" edit="True" validationgroup="TouristsGroup"/>
16. Настройка отображения поля «Гражданство»:
<column code="citizenship" header="Гражданство" visible="False" required="False" translit="False" letterCase="0" edit="False" />
17. Настройка отображения поля «Загранпаспорт: кем выдан»:
<column code="passportbywhom" header="" visible="False" required="False" translit="False" letterCase="0" edit="False" />
18. Настройка отображения поля «Удаление записи»:
<column code="delete" header="" visible="true" required="False" edit="True" />
Настройки отображения полей данных о туристах содержат параметры:
- Code= - зашитая в коде константа, которую нельзя изменять.
- Header= - заголовок поля
- Visible= - видимость поля; значения: True – видимый, Flse – невидимый
- Required= - обязательность заполнения поля; значения: True – обязательное, False – необязательное
- Translit= - транслитерация; значения: True – транслитерировать, False – не транслитерировать
- letterCase= - регистр символов в поле; значения: 1 – первая буква заглавная, 2 – все буквы большие, 3 – все буквы маленькие
- Edit= - редактирование поля; значения: True – редактируемое, False – нередактируемое
Настройки в web.config приложения ПК Мастер-Web
Дополнительные настройки, задаваемые в секции <appSettings/> файла web.config, находящемся в папке с приложением ПК Мастер-Web.
1. Настройка, определяющая страницу, на которую будет попадать пользователь после бронирования тура от стороннего туроператора.
- true – переход осуществляется на страницу «Информация о заказе» (OrderInfo.aspx);
- false или отсутствие настройки – переход осуществляется на страницу ReservationResultPage.aspx
<add name="DSRedirectToResultPage" enabled="true" url="true"/>
Сервис авторизации
Начиная с релиза 2009.2.16 ПК «Мастер-Web» появилась возможность защиты веб-сервисов распределенного поиска от несанкционированного использования посредством сервиса авторизации WsAuthorization.
Настройка внешнего источника туроператора
- Настройка базы данных
- Начиная с ПК «Мастер-Web» 2009.2.17.1 (пакет обновлений № 1 для релиза ПК «Мастер-Web» 2009.2.17) использование сервиса авторизации по умолчанию не требуется.
- Для защиты веб-сервисов от несанкционированного использования нужно выполнить по базе данных ПК «Мастер-Тур» скрипт:
insert into [SystemSettings] (SS_ParmName,SS_ParmValue) values ('SYSCheckSecurityToken','1')
- Отключить использование сервиса авторизации можно скриптом:
update [SystemSettings] set [SS_ParmValue] = '0' where [SS_ParmName] in ('SYSCheckSecurityToken')
- При необходимости использования веб-сервисов распределенного поиска без сервиса авторизации на релизах до ПК «Мастер-Web» 2009.2.17.1 нужно выполнить скрипт fn_mwCheckToken.sql — его можно запросить в отделе поддержки.
- Развертывание сервиса авторизации
- Необходимо развернуть веб-сервис WsAuthorization из архива mw-ws-authorization-9.2.x.xxxxx.zip как отдельное веб-приложение на IIS, например, можно добавить его на сайт с уже развернутыми сервисами распределенного поиска.
- Настройки Web.config
- Строка подключения к базе данных ПК «Мастер-Тур», например:
<add key="connectionString" value="Data Source=server; Initial Catalog=database; User Id=root; Password=toor; Application Name=ds"/>
- Нужно заполнить следующие основные настройки секции <appSettings>:
<add key="wsAuthLogin" value="qaz"/> <add key="wsAuthPassowrd" value="123"/> <add key="tokenLifeTime" value="5"/> <add key="usePasswordHashing" value="false"/>
- wsAuthLogin — логин доступа к WsAuthorization;
- wsAuthPassowrd — пароль доступа к WsAuthorization;
- tokenLifeTime — время до повторной авторизационной проверки;
- usePasswordHashing — включение хеширования пароля.
При включении хеширования в distributedSearchSettings.xml нужно указывать не пароль, а его хеш, например:<DistributedSearchSource … WsAuthPassword="xMpCOKC5I4INzFCab3WEmw==">
- Строка подключения к базе данных ПК «Мастер-Тур», например:
- Поддержка репликации
- При использовании репликации возможны 2 варианта настройки сервиса авторизации:
- Без защиты — полное отключение сервиса авторизации: и на основной, и на поисковой базе данных;
- Частичная защита — включение сервиса авторизации на поисковой базе данных.
В этом случае обращения к веб-сервисам FilterBindingService и Search, использующим поисковую базу данных, будут проверяться сервисом WsAuthorization, а обращения к сервисам ServiceProvider, ReservationService и CheckQuotesService, использующим основную базу данных, проверяться не будут.
Настройка агентского ПК «Мастер-Web»
В файле настроек распределенного поиска distributedSearchSettings.xml, расположенного в папке templates каталога ПК «Мастер-Web», для использования сервиса авторизации WsAuthorization необходимо указать 3 настройки:
- WsAuthLogin — логин для обращения к WsAuthorization;
- WsAuthPassword — пароль для обращения к WsAuthorization;
- AuthorizationServiceUrl — адрес авторизационного сервиса.
<DistributedSearchSource
Id="Внешний источник № 7"
WsAuthLogin="qaz"
WsAuthPassword="123">
<!-- Адрес авторизационного сервиса -->
<AuthorizationServiceUrl>
http://server:8080/distributedsearch/mw-ws-authorization/WsAuthorization.asmx
</AuthorizationServiceUrl>
…
</DistributedSearchSource>
Валидный distributedSearchSettings.xml
Конфигурационный файл распределенного поиска distributedSearchSettings.xml расположен в папке templates каталога ПК «Мастер-Web». Ниже представлен пример валидного файла конфигурации для работы с одним внешним источником. Подключены 2 страны: Англия и Андорра — для Англии поиск цен производится только по турам с городом отправления Москва (departFrom = 1), а для Андорры — как по турам из Москвы, так и по турам без перелета (departFrom = 0).
Данный файл distributedSearchSettings.xml актуален для ПК «Мастер-Web» релиза 2009.2.17, а также для сервис-паков 2009.2.16.
<?xml version="1.0"?>
<DistributedSearchSettings
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- РП включен\выключен -->
<Enabled>true</Enabled>
<!-- Список удаленных источников -->
<SearchSources>
<!--
Удаленный источник.
Id - идентификатор удаленного источника в РП. Любая строка, кроме local.
WsAuthLogin - логин для авторизации на сервисе.
WsAuthPassword - пароль для авторизации на сервисе.
-->
<DistributedSearchSource
Id="Внешний источник № 7"
WsAuthLogin="qaz"
WsAuthPassword="123">
<!-- Адрес авторизационного сервиса -->
<AuthorizationServiceUrl>
http://server:8080/distributedsearch/mw-ws-authorization/WsAuthorization.asmx
</AuthorizationServiceUrl>
<!-- Адрес сервиса получения поискового фильтра -->
<FilterBindingServiceUrl>
http://server:8080/distributedsearch/mw-filterbinding/FilterBindingService.asmx
</FilterBindingServiceUrl>
<!-- Адрес поискового сервиса -->
<SearchServiceUrl>
http://server:8080/distributedsearch/mw-megatecwebservices/Search.asmx
</SearchServiceUrl>
<!-- Адрес сервиса бронирования -->
<ReservationServiceUrl>
http://server:8080/distributedsearch/mw-ws-reservation/ReservationService.asmx
</ReservationServiceUrl>
<!-- Адрес сервиса работы с услугами -->
<ServiceProviderServiceUrl>
http://server:8080/distributedsearch/mw-ws-reservation/ServiceProvider.asmx
</ServiceProviderServiceUrl>
<!-- Адрес сервиса проверки квот -->
<CheckQuotesServiceUrl>
http://server:8080/distributedsearch/mw-ws-checkquotes/CheckQuotesService.asmx
</CheckQuotesServiceUrl>
<!--
Ключ партнера в локальной БД.
Значение, которое будет установлено записи в таблице tbl_Dogovor,
поле DG_PARTNERKEY, и записям в таблице tbl_DogovorList, поле DL_PARTNERKEY.
Берется из таблицы Partners, поле PR_KEY.
-->
<InternalPartnerKey>10760</InternalPartnerKey>
<!--
Ключ создателя тура в локальной БД.
Значение, которое будет установлено записи в таблице tbl_Dogovor,
поле DG_CREATOR, и записям в таблице tbl_DogovorList, поле DL_CREATOR.
Берется из таблицы UserList, поле US_KEY.
-->
<InternalCreator>89</InternalCreator>
<!--
Ключ класса услуг для фейковых услуг путевки в локальной БД.
Значение, которое будет установлено записям в таблице tbl_DogovorList,
поле DL_SVKEY.
Берется из таблицы Service, поле SV_KEY.
-->
<InternalServiceKey>1040</InternalServiceKey>
<!-- Устанавливает всем странам из удаленного источника тип цены за номер. -->
<CostForRoom>false</CostForRoom>
<!--
Устанавливает странам с перечисленными ключами тип цены за номер.
Формат: "1,2,3,..", - ключи стран через запятую.
-->
<CostForRoomCountries></CostForRoomCountries>
<!-- Список элементов, которые будут получаться из удаленного источника -->
<ReplcamentSearchItems>
<ReplcamentSearchItem>
<SubItems>
<ReplcamentSubItem
Type="departFrom"
LocalValue="0"
RemoteValue="0" />
<ReplcamentSubItem
Type="country"
RemoteValue="376"
Name="Андорра № 7" />
</SubItems>
</ReplcamentSearchItem>
<ReplcamentSearchItem>
<SubItems>
<ReplcamentSubItem
Type="departFrom"
LocalValue="1"
RemoteValue="1" />
<ReplcamentSubItem
Type="country"
RemoteValue="222"
Name="Англия № 7" />
</SubItems>
</ReplcamentSearchItem>
<ReplcamentSearchItem>
<SubItems>
<ReplcamentSubItem
Type="departFrom"
LocalValue="1"
RemoteValue="1" />
<ReplcamentSubItem
Type="country"
RemoteValue="376"
Name="Андорра № 7" />
</SubItems>
</ReplcamentSearchItem>
</ReplcamentSearchItems>
</DistributedSearchSource>
</SearchSources>
</DistributedSearchSettings>
Работа в системе
Схема распределенного поиска
Поиск цен
Для поиска цен через распределенный поиск необходимо выбрать город вылета, страну и период дат заездов. Можно наложить дополнительные фильтры на отбор туров по следующим параметрам:
- Типу тура
- Курорту
- Городу
- Названию тура
- Названию отеля (по ссылке с названия отеля пользователь может перейти на страницу с описанием отеля)
- Типу номера
- Стоимости
- Продолжительности
- Классу гостиницы
- Питанию
- Наличию мест в отеле и на рейсе
По нажатию кнопки «Подобрать тур», системой будут отобраны туры, отвечающие заданным условиям.
Информация в результатах поиска представлена в виде таблицы, содержащей следующие поля:
- Дата заезда – дата заезда по туру
- Отель – название отеля (по ссылке с названия отеля пользователь может перейти на страницу с описанием отеля)
- Категория - категория отеля
- Город – город, к которому привязан отель
- Тип номера – тип номера, на который указана цена
- Категория номера – категория номера, на который указана цена
- Размещение – размещение, на которое указана цена
- Питание – тип питания, на которое указана цена
- Ночи – продолжительность тура в ночах
- Цена
- Вал – валюта, в которой указана цена
- Источник цены – название тура
- Цена за – тип рассчитанной цены: за человека или за номер
- Наличие мест – наличие мест в гостинице
- Эконом, Бизнес - наличие мест на авиаперелеты. Колонки и их названия формируются динамически. Их отображение регулируется настройкой в конфигурационном файле web.config
По нажатию на цену пользователь попадает в экран бронирования тура. При переходе в экран бронирования по собственным турам пользователь попадает в экран «Корзина» (Basket.aspx), «Упрощенная корзина» (SimpleBasket.aspx), «Упрощенная корзина 2» (SimpleBasket.aspx) или «Расширенная корзина» (Basket.aspx) в зависимости от настроек в конфигурационном файле web.config и наличия установленных надстроек.
При переходе в экран бронирования по турам стороннего туроператора пользователь попадает в экран «Удаленная корзина» (RemoteBasket.aspx).
Актуальность цен
В экране распределенного поиска отбор данных осуществляется по рассчитанным (записанным в БД) ценам туроператоров. В экране бронирования расчеты ведутся уже по актуальным на данный момент ценам. Т.е. если после расчета прайс-листа цены были изменены, то в экране бронирования стоимость тура покажется уже с учетом этих изменений.
Актуальность наличия мест
В экране распределенного поиска и в экранах бронирования туров наличие мест отображается в соответствии с наличием мест в квоте на момент проверки.
Для собственных туров наличие мест отображается в соответствии с настройками в конфигурационном файле основного приложения ПК Мастер-Web.
Для туров сторонних операторов наличие мест отображается в соответствии с настройками в конфигурационном файле web-сервиса «Сервис проверки наличия мест» (ws-checkquotes).
Корректировка цен стороннего туроператора
Существует возможность корректировки цен при отображении данных от стороннего туроператора. Есть несколько вариантов корректировки цен:
- Добавление фиксированной наценки к общей стоимости тура от стороннего туроператора
- Добавление процентной наценки к общей стоимости тура от стороннего туроператора
- Добавление фиксированной наценки к стоимости услуг определенных классов
- Добавление процентной наценки с стоимости услуг определенных классов
Соответственно корректировка с добавлением наценки к общей стоимости тура применяется и в экране и поиска, и в экране бронирования туров от стороннего туроператора.
А корректировка с добавлением наценки к стоимости доп.услуг применяется только в экране бронирования туров от стороннего туроператора.
Бронирование заявки
Бронирование тура из стороннего источника происходит в экране «Удаленная корзина».
Бронирование доступно только для зарегистрированных и авторизованных в системе пользователей.
Экран «Удаленная корзина» разделен на несколько блоков.
В верхней части экрана отображаются параметры тура:
- Страна
- Название тура
- Даты заезда
- Продолжительность
- Состав заказа
- Наличие мест для отеля и авиаперелета
- Если в туре несколько рейсов, таблица для выбора перелетов.
Подбор перелетов осуществляется по рейсам с актуальным расписанием и ценам. Ниже располагается блок с подробной информацией по выбранному проживанию:
- Название отеля
- Размещение
- Питание
Ниже отображается информация о количестве человек, сумме заказа, с учетом внесенных изменений, а также сумме к оплате, с учетом агентской комиссии.
Далее отображается форма для ввода туристов. Поля, обязательные для ввода определяются настройками ( см. Настройка полей данных о туристах)
Если в туре присутствует несколько рейсов, то экран «Удаленная корзина» позволяет внести необходимые изменения – выбрать другой рейс. Для расчета стоимости тура с учетом изменения рейса, нужно нажать на кнопку «Пересчитать».
Если в туре присутствуют услуги, исключенные при обсчете прайс-листа, то существует возможность добавления этих услуг для конкретных туристов. Для этого необходимо проставить отметки в чек-боксах для нужных услуг. Для расчета стоимости тура с учетом добавленных услуг, нужно нажать на кнопку «Пересчитать».
Для бронирования заявки необходимо нажать кнопку «Забронировать».
По нажатию кнопки «Забронировать», заявка запишется в базу данных стороннего туроператора и туроператора, являющегося владельцем приложения ПК Мастер-Web, и пользователю откроется экран с информацией о сделанном заказе.
Здесь пользователю представлена информация о сделанном заказе:
- Номер заявки в базе стороннего туроператора
- Даты заезда
- Продолжительность
- Название отеля
- Размещение в отеле
- Количество человек по путевке
- Список туристов по услуге отель
- Экскурсионная программа тура
- Дополнительные услуги
- Сумма к оплате
- Полная стоимость заказа
- Номер путевки в базе туроператора, являющегося владельцем приложения ПК Мастер-Web
- Дата оформления заказа
При включенной настройке DSRedirectToResultPage переход осуществляется на стандартную страницу «Информация о заказе» (OrderInfo.aspx).
При бронировании заявки отправляется письмо о новом заказе на адреса:
- Бронирующему агентству (адрес представителя, авторизованного в системе)
- Адреса, указанные в настройке <Email /> в файле templates/distributedSearchSettings.xml
Поиск цен в нескольких источниках
Загрузка фильтров
Существует два варианта загрузки поисковых фильтров:
- Фильтры по своим турам грузятся через прямые запросы к БД, а фильтры по данным сторонних туроператоров грузятся через web-сервис FilterBinding
- Фильтры по всем данным грузятся через web-сервис FilterBinding
В первом случае web-сервис устанавливается только у стороннего туроператора, чьи цены необходимо встроить в приложение туроператора – владельца приложения ПК Мастер-Web.
Во втором случае web-сервис FilterBinding устанавливается и у стороннего туроператора и у туроператора-владельца приложения ПК Мастер-Web.
Экран распределенного поиска
Экран распределенного поиска состоит из блока поисковых фильтров и таблицы с результатами поиска. Блок поисковых фильтров содержит поля:
- Город вылета - названия городов с признаком CT_IsDeparture=1 из таблицы CityDictionary, перегружает все последующие фильтры (для туров от стороннего источника сопоставление городов вылета делается в файле templates/distributedSearchSettings.xml. При этом название города вылета может отображаться либо из базы туроператора, являющегося владельцем приложения ПК Мастер-Web, либо берется значение параметра Name для Type=departFrom из файла templates/distributedSearchSettings.xml)
- Страна - названия стран из таблицы tbl_Country, перегружает все последующие фильтры (для туров от стороннего источника сопоставление стран делается в файле templates/distributedSearchSettings.xml. При этом название страны может отображаться либо из базы туроператора, являющегося владельцем приложения ПК Мастер-Web, либо берется значение параметра Name для Type=country из файла templates/distributedSearchSettings.xml)
- Тип тура - названия типов туров из таблицы TipTur, перегружает все последующие фильтры
- Курорт - названия курортов из таблицы Resorts, перегружает все последующие фильтры
- Город - названия городов из таблицы CityDictionary, перегружает все последующие фильтры
- Тур - названия типов туров из таблицы tbl_TurList, перегружает все последующие фильтры
- Отель - названия отелей из таблицы HotelDictionary, перегружает все последующие фильтры (если поле HD_HTTP заполнено, то в названии отеля формируется ссылка на адрес, указанный в данном поле)
- Даты заезда - даты заезда по турам подсвечиваются в календарях
- Тип номера, либо количество основных и доп.мест - названия типов номеров из таблицы Rooms
- Цена не более указанной величины
- Ночи - рассчитанные продолжительности по выбранным в предыдущих фильтрах параметрам
- Категория - рассчитанные категории отелей по выбранным в предыдущих фильтрах параметрам
- Питание - рассчитанные типы питания по выбранным в предыдущих фильтрах параметрам
- Наличие мест в отеле и на рейсе - наличие мест "Есть", "Запрос" и "Нет"
Таблица с результатами поиска содержит поля:
- Дата заезда
- Отель
- Категория - категория отеля
- Город – город, к которому привязан отель
- Тип номера – тип номера, на который указана цена
- Категория номера – категория номера, на который указана цена
- Размещение – размещение, на которое указана цена
- Питание – тип питания, на которое указана цена
- Ночи – продолжительность тура в ночах
- Цена
- Вал – валюта, в которой указана цена
- Источник цены – название тура
- Цена за – тип рассчитанной цены: за человека или за номер
- Наличие мест – наличие мест в гостинице
- Эконом, Бизнес
Все поля являются текстовыми и нередактируемыми.
*Если поле HD_HTTP в таблице HotelDictionary заполнено, то в названии отеля в поле «Отель» формируется ссылка на адрес, указанный в данном поле. *Если поле TL_WEBHTTP в таблице tbl_TurList заполнено, то в названии тура в поле «Источник цены» формируется ссылка на адрес, указанный в данном поле.
По умолчанию данные в результатах поиска отсортированы по полю «Цена» по возрастанию.
Корректировка цен стороннего туроператора
Необходимо добавить настройки для корректировки цен стороннего туроператора:
- Настройка для добавления фиксированной наценки к общей стоимости тура от стороннего туроператора
- Настройка для добавления процентной наценки к общей стоимости тура от стороннего туроператора
- Настройка для добавления фиксированной наценки к стоимости доп. услуг определенных классов
- Настройка для добавления процентной наценки с стоимости доп. услуг определенных классов
Список параметров, которые можно передать в «Распределенный поиск»
Параметры в URL для распределенного поиска
- departfrom
- country
- city
- hotel
- resort
- tourtype
- tour
- nights