Мастер-Web:Дополнительный модуль Распределенный поиск — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[непроверенная версия][непроверенная версия]
(Настройки в web.config приложения ПК Мастер-Web)
Строка 375: Строка 375:
 
===Настройки в web.config приложения ПК Мастер-Web===
 
===Настройки в web.config приложения ПК Мастер-Web===
 
При настройке распределенного поиска в файле <tt>web.config</tt> приложения ПК Мастер-Web необходимо задать дополнительные условия для отображения и проверки данных.
 
При настройке распределенного поиска в файле <tt>web.config</tt> приложения ПК Мастер-Web необходимо задать дополнительные условия для отображения и проверки данных.
 +
 +
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=645
 +
style='width:483.4pt;margin-left:-.5pt;border-collapse:collapse;mso-padding-alt:
 +
0cm 5.4pt 0cm 5.4pt'>
 +
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 +
  <td width=46 valign=top style='width:34.25pt;border:solid black 1.0pt;
 +
  border-right:none;mso-border-top-alt:solid black .5pt;mso-border-left-alt:
 +
  solid black .5pt;mso-border-bottom-alt:solid black .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=TitleTable style='layout-grid-mode:char'>№  </p>
 +
  </td>
 +
  <td width=138 valign=top style='width:103.65pt;border:solid black 1.0pt;
 +
  border-right:none;mso-border-top-alt:solid black .5pt;mso-border-left-alt:
 +
  solid black .5pt;mso-border-bottom-alt:solid black .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=TitleTable style='layout-grid-mode:char'>Описание  </p>
 +
  </td>
 +
  <td width=204 valign=top style='width:153.0pt;border:solid black 1.0pt;
 +
  border-right:none;mso-border-top-alt:solid black .5pt;mso-border-left-alt:
 +
  solid black .5pt;mso-border-bottom-alt:solid black .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=TitleTable style='layout-grid-mode:char'>Значение  </p>
 +
  </td>
 +
  <td width=257 valign=top style='width:192.5pt;border:solid black 1.0pt;
 +
  mso-border-alt:solid black .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=TitleTable style='layout-grid-mode:char'>Настройка  </p>
 +
  </td>
 +
</tr>
 +
<tr style='mso-yfti-irow:1'>
 +
  <td width=46 valign=top style='width:34.25pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'><span lang=EN-US
 +
  style='mso-ansi-language:EN-US'>1  </span></p>
 +
  </td>
 +
  <td width=138 valign=top style='width:103.65pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'>Определение колонок тарифов на авиаперелет для отображения в результатах поиска (настройка является обязательной для корректной работы распределенного поиска). Подробнее см. [[Мастер-Web:Установка и настройка|Настройка секции dynamicCharterClasses]]</p>
 +
  </td>
 +
  <td width=204 valign=top style='width:153.0pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'>– <b style='mso-bidi-font-weight:
 +
  normal'>true</b> – использовать упрощенную корзину;  </p>
 +
  <p class=Tabletext0>– <b style='mso-bidi-font-weight:normal'>false</b> или <b
 +
  style='mso-bidi-font-weight:normal'>отсутствие настройки </b>– использовать
 +
  обычную корзину  </p>
 +
  <p class=Tabletext0> &nbsp; </p>
 +
  </td>
 +
  <td width=257 valign=top style='width:192.5pt;border:solid black 1.0pt;
 +
  border-top:none;mso-border-top-alt:solid black .5pt;mso-border-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=MsoNormal style='layout-grid-mode:char'><span lang=EN-US
 +
  style='mso-ansi-language:EN-US'>&lt;dynamicCharterClasses mode=&quot;<b style='mso-bidi-font-weight:
 +
  normal'><i style='mso-bidi-font-style:normal'><span style='color:blue'>complex</span></i></b>&quot;
 +
  /&gt;  </span></p>
 +
  </td>
 +
</tr>
 +
<tr style='mso-yfti-irow:20'>
 +
  <td width=46 valign=top style='width:34.25pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'><span lang=EN-US
 +
  style='mso-ansi-language:EN-US'>2 </span></p>
 +
  </td>
 +
  <td width=138 valign=top style='width:103.65pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'>Настройка определяющая страницу, на которую будет попадать пользователь после бронирования тура от стороннего туроператора.</p>
 +
  </td>
 +
  <td width=204 valign=top style='width:153.0pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'>– <b style='mso-bidi-font-weight:
 +
  normal'>true</b> – переход осуществляется на страницу (ReservationResultPage.aspx);  </p>
 +
  <p class=Tabletext0>– <b style='mso-bidi-font-weight:normal'>false</b> или <b
 +
  style='mso-bidi-font-weight:normal'>отсутствие настройки </b>– переход осуществляется на страницу «Информация о заказе» (OrderInfo.aspx)  </p>
 +
  <p class=Tabletext0> &nbsp; </p>
 +
  </td>
 +
  <td width=257 valign=top style='width:192.5pt;border:solid black 1.0pt;
 +
  border-top:none;mso-border-top-alt:solid black .5pt;mso-border-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=MsoNormal style='layout-grid-mode:char'><span lang=EN-US
 +
  style='mso-ansi-language:EN-US'>&lt;add key=&quot;<b style='mso-bidi-font-weight:
 +
  normal'>DSRedirectToResultPage</b>&quot; value=&quot;<b style='mso-bidi-font-weight:
 +
  normal'><i style='mso-bidi-font-style:normal'><span style='color:blue'>true</span></i></b>&quot;
 +
  /&gt;  </span></p>
 +
  </td>
 +
</tr>
 +
<tr style='mso-yfti-irow:20'>
 +
  <td width=46 valign=top style='width:34.25pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'><span lang=EN-US
 +
  style='mso-ansi-language:EN-US'>3  </span></p>
 +
  </td>
 +
  <td width=138 valign=top style='width:103.65pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'>Настройка метода проверки квот</p>
 +
  </td>
 +
  <td width=204 valign=top style='width:153.0pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'>– <b style='mso-bidi-font-weight:
 +
  normal'>true</b> – квоты проверяются исходя из настроек в базе;  </p>
 +
  <p class=Tabletext0>– <b style='mso-bidi-font-weight:normal'>false</b> или <b
 +
  style='mso-bidi-font-weight:normal'>отсутствие настройки </b>– квоты сервисами не проверяются  </p>
 +
  <p class=Tabletext0> &nbsp; </p>
 +
  </td>
 +
  <td width=257 valign=top style='width:192.5pt;border:solid black 1.0pt;
 +
  border-top:none;mso-border-top-alt:solid black .5pt;mso-border-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=MsoNormal style='layout-grid-mode:char'><span lang=EN-US
 +
  style='mso-ansi-language:EN-US'>&lt;add key=&quot;<b style='mso-bidi-font-weight:
 +
  normal'>UseNewSetToQuota</b>&quot; value=&quot;<b style='mso-bidi-font-weight:
 +
  normal'><i style='mso-bidi-font-style:normal'><span style='color:blue'>true</span></i></b>&quot;
 +
  /&gt;  </span></p>
 +
  </td>
 +
</tr>
 +
<tr style='mso-yfti-irow:20'>
 +
  <td width=46 valign=top style='width:34.25pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'><span lang=EN-US
 +
  style='mso-ansi-language:EN-US'>4  </span></p>
 +
  </td>
 +
  <td width=138 valign=top style='width:103.65pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'>Настройка определяющая загрузку  не выставленных в онлайн СПО туров.</p>
 +
  </td>
 +
  <td width=204 valign=top style='width:153.0pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'>– <b style='mso-bidi-font-weight:
 +
  normal'>true</b> – показывает все онлайн выставленные СПО и не выставленные онлайн СПО с ключами;  </p>
 +
  <p class=Tabletext0>– <b style='mso-bidi-font-weight:normal'>false</b> или <b
 +
  style='mso-bidi-font-weight:normal'>отсутствие настройки </b>– показывает только онлайн выставленные СПО туры  </p>
 +
  <p class=Tabletext0> &nbsp; </p>
 +
  </td>
 +
  <td width=257 valign=top style='width:192.5pt;border:solid black 1.0pt;
 +
  border-top:none;mso-border-top-alt:solid black .5pt;mso-border-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=MsoNormal style='layout-grid-mode:char'><span lang=EN-US
 +
  style='mso-ansi-language:EN-US'>&lt;add key=&quot;<b style='mso-bidi-font-weight:
 +
  normal'>showNotOnlineSPO</b>&quot; value=&quot;<b style='mso-bidi-font-weight:
 +
  normal'><i style='mso-bidi-font-style:normal'><span style='color:blue'>true</span></i></b>&quot;
 +
  /&gt;  </span></p>
 +
  </td>
 +
</tr>
 +
<tr style='mso-yfti-irow:20'>
 +
  <td width=46 valign=top style='width:34.25pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'><span lang=EN-US
 +
  style='mso-ansi-language:EN-US'>5  </span></p>
 +
  </td>
 +
  <td width=138 valign=top style='width:103.65pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'>Настройка определяющая ключи типов туров СПО. Ключи хранятся в таблице TipTur</p>
 +
  </td>
 +
  <td width=204 valign=top style='width:153.0pt;border-top:none;border-left:
 +
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
 +
  mso-border-top-alt:solid black .5pt;mso-border-top-alt:solid black .5pt;
 +
  mso-border-left-alt:solid black .5pt;mso-border-bottom-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=Tabletext0 style='layout-grid-mode:char'>– <b style='mso-bidi-font-weight:
 +
  normal'>key</b> – перечисляются ключи  типов туров через запятую  </p>
 +
  </td>
 +
  <td width=257 valign=top style='width:192.5pt;border:solid black 1.0pt;
 +
  border-top:none;mso-border-top-alt:solid black .5pt;mso-border-alt:solid black .5pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=MsoNormal style='layout-grid-mode:char'><span lang=EN-US
 +
  style='mso-ansi-language:EN-US'>&lt;add name=&quot;<b style='mso-bidi-font-weight:
 +
  normal'>notOnlineSPOTourTypes</b>&quot; value=&quot;<b style='mso-bidi-font-weight:
 +
  normal'><i style='mso-bidi-font-style:normal'><span style='color:blue'>5</span></i></b>&quot;
 +
  /&gt;  </span></p>
 +
  </td>
 +
</tr>
  
 
===Сервис авторизации===
 
===Сервис авторизации===

Версия 16:18, 11 июня 2013

Статья находится на стадии разработки.

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

Более ранние версии:
До версии ПК «Мастер-Web» 2009.2.16 включительно


Содержание

Введение

Дополнительный модуль «Распределенный поиск» предназначен для отображения в едином поисковом модуле как своих, так и сторонних предложений. Модуль позволяет осуществлять поиск и бронирование туров от различных туроператоров в одном приложении ПК «Мастер-Web».

Установка

Для установки дополнительного модуля «Распределенный поиск» нужно распаковать архив mw-distributedsearch-9.2.x.xxxxx.zip в корень каталога, где установлено приложение ПК «Мастер-Web».

Для развертывания распределенного поиска необходимо на веб-сервере каждого туроператора, цены которого необходимо отображать в собственном приложении, установить 5 веб-сервисов:

  • FilterBinding — сервис по загрузке поисковых фильтров;
  • Search — поисковый сервис;
  • CheckQuotes — сервис по проверке наличия мест;
  • Reservation — сервис бронирования;
  • WsAuthorization — cервис авторизации.

Описание процесса установки сервисов приведено в руководстве пользователя соответствующего сервиса.

Если собственные предложения также должны загружаться через веб-сервис, то такие же сервисы необходимо установить на своем сервере приложений.

Соответствие версий сервисов и ПК "Мастер-Web" показано в таблице совместимости.

Настройка

Добавление секций

Добавление секций в конфигурационный файл web.config ПК «Мастер-Web» производится только в том случае, если локальные предложения туроператора подключены через сервис.

  • В секции <ConfigSections> добавить элемент:
    <sectionGroup name="Megatec.Web.Services">
      <section name="servicesAccessibility"
        type="Megatec.Configuration.WebServicesSection, Megatec.Configuration"/>
    </sectionGroup>
    
  • На одном уровне с секцией <ConfigSections> добавить секцию:
    В данной секции необходимо указать адреса собственных поисковых веб-сервисов.
    <Megatec.Web.Services>
      <servicesAccessibility Enabled="true">
        <Services>
          <add name="FilterBinding" enabled="true"
            url="http://server:8080/distributedsearch/mw-filterbinding/FilterBindingService.asmx"/>
          <add name="DoSearch" enabled="true"
            url="http://server:8080/distributedsearch/mw-megatecwebservices/Search.asmx"/>
          <add name="Reservation" enabled="true"
            url="http://server:8080/distributedsearch/mw-ws-reservation/ReservationService.asmx"/>
          <add name="ServiceProvider" enabled="true"
            url="http://server:8080/distributedsearch/mw-ws-reservation/ServiceProvider.asmx"/>
          <add name="CheckQuotes" enabled="true"
            url="http://server:8080/distributedsearch/mw-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>Настройка, управляющая отправкой письма о новом бронировании агентству
Возможные значения:
  • true — не отправлять письмо агентству;
  • false — отправлять письмо о новом бронировании агентству.
<CostForRoom>Устанавливает всем странам из удаленного источника тип цены за номер.
Обрабатывается аналогично настройке costForRoom в экране Подбор туров с наличием мест (QuotedDynamic).
Если по одной стране выводятся туры из локального и внешнего источника, то при несовпадении настроек преимуществом обладает настройка из web.config ПК «Мастер-Web» — т.е. будут отображены туры только из локальной базы данных.
<CostForRoomCountries>Устанавливает странам с перечисленными ключами тип цены за номер.
Обрабатывается аналогично настройке costForRoomCountries в экране Подбор туров с наличием мест (QuotedDynamic).
Ключи стран через запятую, например, «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"
          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" />
      </SubItems>
    </ReplcamentSearchItem>
    
  3. Включение в предложения по Греции (ключ 520 в локальном источнике и 29 во внешнем источнике) при вылете из Екатеринбурга (ключ 648 в локальном источнике и 266 во внешнем источнике) города Салоники (в локальном источнике отсутствует, ключ 615 во внешнем источнике):
    <ReplcamentSearchItem>
      <SubItems>
        <ReplcamentSubItem
          Type="departFrom"
          LocalValue="648"
          RemoteValue="266" />
        <ReplcamentSubItem
          Type="country"
          LocalValue="520"
          RemoteValue="29" />
        <ReplcamentSubItem
          Type="city"
          RemoteValue="615"
          Name="Салоники" />
      </SubItems>
    </ReplcamentSearchItem>
    

Валидный 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>

Настройка полей данных о туристах

Настройка отображения полей данных о туристах производится в файле 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" />

Настройки отображения полей данных о туристах содержат параметры:

  1. Code= - зашитая в коде константа, которую нельзя изменять.
  2. Header= - заголовок поля
  3. Visible= - видимость поля; значения: True – видимый, Flse – невидимый
  4. Required= - обязательность заполнения поля; значения: True – обязательное, False – необязательное
  5. Translit= - транслитерация; значения: True – транслитерировать, False – не транслитерировать
  6. letterCase= - регистр символов в поле; значения: 1 – первая буква заглавная, 2 – все буквы большие, 3 – все буквы маленькие
  7. Edit= - редактирование поля; значения: True – редактируемое, False – нередактируемое

Настройки в web.config приложения ПК Мастер-Web

При настройке распределенного поиска в файле web.config приложения ПК Мастер-Web необходимо задать дополнительные условия для отображения и проверки данных.

Сервис авторизации

Начиная с релиза 2009.2.16 ПК «Мастер-Web» появилась возможность защиты веб-сервисов распределенного поиска от несанкционированного использования посредством сервиса авторизации WsAuthorization.

Настройка внешнего источника туроператора
  1. Настройка базы данных
    • Для защиты веб-сервисов от несанкционированного использования нужно выполнить по базе данных ПК «Мастер-Тур» скрипт:

Описание

Значение

Настройка

1

Определение колонок тарифов на авиаперелет для отображения в результатах поиска (настройка является обязательной для корректной работы распределенного поиска). Подробнее см. Настройка секции dynamicCharterClasses

true – использовать упрощенную корзину;

false или отсутствие настройки – использовать обычную корзину

 

<dynamicCharterClasses mode="complex" />

2

Настройка определяющая страницу, на которую будет попадать пользователь после бронирования тура от стороннего туроператора.

true – переход осуществляется на страницу (ReservationResultPage.aspx);

false или отсутствие настройки – переход осуществляется на страницу «Информация о заказе» (OrderInfo.aspx)

 

<add key="DSRedirectToResultPage" value="true" />

3

Настройка метода проверки квот

true – квоты проверяются исходя из настроек в базе;

false или отсутствие настройки – квоты сервисами не проверяются

 

<add key="UseNewSetToQuota" value="true" />

4

Настройка определяющая загрузку не выставленных в онлайн СПО туров.

true – показывает все онлайн выставленные СПО и не выставленные онлайн СПО с ключами;

false или отсутствие настройки – показывает только онлайн выставленные СПО туры

 

<add key="showNotOnlineSPO" value="true" />

5

Настройка определяющая ключи типов туров СПО. Ключи хранятся в таблице TipTur

key – перечисляются ключи типов туров через запятую

<add name="notOnlineSPOTourTypes" value="5" />

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 (пакет обновлений № 1 для релиза ПК «Мастер-Web» 2009.2.17) использование сервиса авторизации по умолчанию не требуется.
    При необходимости использования веб-сервисов распределенного поиска без сервиса авторизации на релизах до ПК «Мастер-Web» 2009.2.17.1 нужно выполнить скрипт fn_mwCheckToken.sql — его можно запросить в департаменте по работе с клиентами компании Мегатек.
  • Развертывание сервиса авторизации
    Необходимо развернуть веб-сервис WsAuthorization из архива mw-ws-authorization-9.2.x.xxxxx.zip как отдельное веб-приложение на IIS, например, можно добавить его на сайт с уже развернутыми сервисами распределенного поиска.
    В конфигурационном файле Web.config сервиса авторизации нужно указать следующие настройки:
    • Строка подключения к базе данных ПК «Мастер-Тур» в элементе <appSettings>, например:
      <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 — включение хеширования пароля.
    • Для корректного отображения ошибок сервиса WsAuthorization на релизах ПК «Мастер-Web» 2009.2.15 и выше нужно включить настройку customErrors в элементе <system.web>:
      <system.web>
        <customErrors mode="On"/></system.web>
      
  • Настройка агентского ПК «Мастер-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>
      
    • При включении хеширования (usePasswordHashing) в настройке WsAuthPassword нужно указывать не пароль, а его хеш:
      <DistributedSearchSource
        Id="Внешний источник № 7"
        WsAuthLogin="qaz"
        WsAuthPassword="xMpCOKC5I4INzFCab3WEmw==">
      


    Поддержка репликации

    Строки подключения сервисов

    При развертывании распределенного поиска у туроператоров, использующих репликацию, поисковые веб-сервисы необходимо настроить на поисковую базу данных ПК «Мастер-Тур», а сервисы бронирования и квотирования — на основную базу данных. Строки подключения приведены ниже.

    • Поисковая база данных
      • Сервис Search
        <add key="connectionString" value="Data Source=Сервер с поисковой БД; Initial Catalog=Поисковая БД; User Id=Пользователь из таблицы [UserList]; Password=Пароль пользователя; Max Pool Size=500; Application Name=DS" />
        
        <add key="pagingType" value="2" />
        
      • Сервис FilterBindingService
        <add key="connectionString" value="Data Source=Сервер с поисковой БД; Initial Catalog=Поисковая БД; User Id=Пользователь из таблицы [UserList]; Password=Пароль пользователя; Application Name=DS" />
        
    • Основная база данных
      • Сервис ReservationService
        <add key="connectionString" value="Data Source=Сервер с основной БД; Initial Catalog=Основная БД; User Id=Пользователь из таблицы [UserList]; Password=Пароль пользователя; Application Name=DS" />
        
        <add key="pagingType" value="2" />
        
      • Сервис CheckQuotesService
        <add key="connectionString" value="Data Source=Сервер с основной БД; Initial Catalog=Основная БД; User Id=Пользователь из таблицы [UserList]; Password=Пароль пользователя; Application Name=DS" />
        
        <add key="CommonType" value="MasterTour"/>
        


    Использование сервиса авторизации с репликацией

    При использовании репликации возможны 2 варианта настройки сервиса авторизации:

    1. Без защиты — полное отключение сервиса авторизации: и на основной, и на поисковой базе данных.
    2. Частичная защита — включение сервиса авторизации на поисковой базе данных.
      В этом случае обращения к веб-сервисам FilterBindingService и Search, использующим поисковую базу данных, будут проверяться сервисом WsAuthorization, а обращения к сервисам ReservationService, ServiceProvider и CheckQuotesService, использующим основную базу данных, проверяться не будут.


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

    Схема распределенного поиска


    818.PNG

    Поиск цен

    Для поиска цен через распределенный поиск необходимо выбрать город вылета, страну и период дат заездов. Можно наложить дополнительные фильтры на отбор туров по следующим параметрам:

    1. Типу тура
    2. Курорту
    3. Городу
    4. Названию тура
    5. Названию отеля (по ссылке с названия отеля пользователь может перейти на страницу с описанием отеля)
    6. Типу номера
    7. Стоимости
    8. Продолжительности
    9. Классу гостиницы
    10. Питанию
    11. Наличию мест в отеле и на рейсе

    Ds052.png
    По нажатию кнопки «Подобрать тур», системой будут отобраны туры, отвечающие заданным условиям. Информация в результатах поиска представлена в виде таблицы, содержащей следующие поля:

    1. Дата заезда – дата заезда по туру
    2. Отель – название отеля (по ссылке с названия отеля пользователь может перейти на страницу с описанием отеля)
    3. Категория - категория отеля
    4. Город – город, к которому привязан отель
    5. Тип номера – тип номера, на который указана цена
    6. Категория номера – категория номера, на который указана цена
    7. Размещение – размещение, на которое указана цена
    8. Питание – тип питания, на которое указана цена
    9. Ночи – продолжительность тура в ночах
    10. Цена
    11. Вал – валюта, в которой указана цена
    12. Источник цены – название тура
    13. Цена за – тип рассчитанной цены: за человека или за номер
    14. Наличие мест – наличие мест в гостинице
    15. Эконом, Бизнес - наличие мест на авиаперелеты. Колонки и их названия формируются динамически. Их отображение регулируется настройкой в конфигурационном файле web.config

    По нажатию на цену пользователь попадает в экран бронирования тура. При переходе в экран бронирования по собственным турам пользователь попадает в экран «Корзина» (Basket.aspx), «Упрощенная корзина» (SimpleBasket.aspx), «Упрощенная корзина 2» (SimpleBasket.aspx) или «Расширенная корзина» (Basket.aspx) в зависимости от настроек в конфигурационном файле web.config и наличия установленных надстроек.

    При переходе в экран бронирования по турам стороннего туроператора пользователь попадает в экран «Удаленная корзина» (RemoteBasket.aspx).

    Актуальность цен

    В экране распределенного поиска отбор данных осуществляется по рассчитанным (записанным в БД) ценам туроператоров. При отборе туров, цена на тур стороннего туроператора конвертируется в соответствии с курсом валют в локальной базе. В экране бронирования расчеты ведутся уже по актуальным на данный момент ценам. Т.е. если после расчета прайс-листа цены были изменены, то в экране бронирования стоимость тура покажется уже с учетом этих изменений.

    Актуальность наличия мест

    В экране распределенного поиска и в экранах бронирования туров наличие мест отображается в соответствии с наличием мест в квоте на момент проверки.

    Для собственных туров наличие мест отображается в соответствии с настройками в конфигурационном файле основного приложения ПК Мастер-Web.

    Для туров сторонних операторов наличие мест отображается в соответствии с настройками в конфигурационном файле web-сервиса «Сервис проверки наличия мест» (ws-checkquotes).

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

    Существует возможность корректировки цен при отображении данных от стороннего туроператора. Есть несколько вариантов корректировки цен:

    1. Добавление фиксированной наценки к общей стоимости тура от стороннего туроператора
    2. Добавление процентной наценки к общей стоимости тура от стороннего туроператора
    3. Добавление фиксированной наценки к стоимости услуг определенных классов
    4. Добавление процентной наценки с стоимости услуг определенных классов

    Соответственно корректировка с добавлением наценки к общей стоимости тура применяется и в экране и поиска, и в экране бронирования туров от стороннего туроператора.

    А корректировка с добавлением наценки к стоимости доп.услуг применяется только в экране бронирования туров от стороннего туроператора.

    Бронирование заявки

    Бронирование тура из стороннего источника происходит в экране «Удаленная корзина». Бронирование доступно только для зарегистрированных и авторизованных в системе пользователей. Ds053.png
    Экран «Удаленная корзина» разделен на несколько блоков. В верхней части экрана отображаются параметры тура:

    1. Страна
    2. Название тура
    3. Даты заезда
    4. Продолжительность
    5. Состав заказа
    6. Наличие мест для отеля и авиаперелета
    7. Если в туре несколько рейсов, таблица для выбора перелетов.

    Подбор перелетов осуществляется по рейсам с актуальным расписанием и ценам. Ниже располагается блок с подробной информацией по выбранному проживанию:

    1. Название отеля
    2. Размещение
    3. Питание

    Ниже отображается информация о количестве человек, сумме заказа, с учетом внесенных изменений, а также сумме к оплате, с учетом агентской комиссии.

    Далее отображается форма для ввода туристов. Поля, обязательные для ввода определяются настройками ( см. Настройка полей данных о туристах)
    Ds054.png
    Если в туре присутствует несколько рейсов, то экран «Удаленная корзина» позволяет внести необходимые изменения – выбрать другой рейс. Для расчета стоимости тура с учетом изменения рейса, нужно нажать на кнопку «Пересчитать». Если в туре присутствуют услуги, исключенные при обсчете прайс-листа, то существует возможность добавления этих услуг для конкретных туристов. Для этого необходимо проставить отметки в чек-боксах для нужных услуг. Для расчета стоимости тура с учетом добавленных услуг, нужно нажать на кнопку «Пересчитать».

    Для бронирования заявки необходимо нажать кнопку «Забронировать».

    По нажатию кнопки «Забронировать», заявка запишется в базу данных стороннего туроператора и туроператора, являющегося владельцем приложения ПК Мастер-Web, и пользователю откроется экран с информацией о сделанном заказе.
    Ds055.png
    Здесь пользователю представлена информация о сделанном заказе:

    1. Номер заявки в базе стороннего туроператора
    2. Даты заезда
    3. Продолжительность
    4. Название отеля
    5. Размещение в отеле
    6. Количество человек по путевке
    7. Список туристов по услуге отель
    8. Экскурсионная программа тура
    9. Дополнительные услуги
    10. Сумма к оплате
    11. Полная стоимость заказа
    12. Номер путевки в базе туроператора, являющегося владельцем приложения ПК Мастер-Web
    13. Дата оформления заказа

    При включенной настройке DSRedirectToResultPage переход осуществляется на стандартную страницу «Информация о заказе» (OrderInfo.aspx).

    При бронировании заявки отправляется письмо о новом заказе на адреса:

    1. Бронирующему агентству (адрес представителя, авторизованного в системе)
    2. Адреса, указанные в настройке <Email /> в файле templates/distributedSearchSettings.xml

    Поиск цен в нескольких источниках

    Загрузка фильтров

    Существует два варианта загрузки поисковых фильтров:

    1. Фильтры по своим турам грузятся через прямые запросы к БД, а фильтры по данным сторонних туроператоров грузятся через web-сервис FilterBinding
    2. Фильтры по всем данным грузятся через web-сервис FilterBinding

    В первом случае web-сервис устанавливается только у стороннего туроператора, чьи цены необходимо встроить в приложение туроператора – владельца приложения ПК Мастер-Web.

    Во втором случае web-сервис FilterBinding устанавливается и у стороннего туроператора и у туроператора-владельца приложения ПК Мастер-Web.

    Экран распределенного поиска

    Экран распределенного поиска состоит из блока поисковых фильтров и таблицы с результатами поиска. Блок поисковых фильтров содержит поля:

    1. Город вылета - названия городов с признаком CT_IsDeparture=1 из таблицы CityDictionary, перегружает все последующие фильтры (для туров от стороннего источника сопоставление городов вылета делается в файле templates/distributedSearchSettings.xml. При этом название города вылета может отображаться либо из базы туроператора, являющегося владельцем приложения ПК Мастер-Web, либо берется значение параметра Name для Type=departFrom из файла templates/distributedSearchSettings.xml)
    2. Страна - названия стран из таблицы tbl_Country, перегружает все последующие фильтры (для туров от стороннего источника сопоставление стран делается в файле templates/distributedSearchSettings.xml. При этом название страны может отображаться либо из базы туроператора, являющегося владельцем приложения ПК Мастер-Web, либо берется значение параметра Name для Type=country из файла templates/distributedSearchSettings.xml)
    3. Тип тура - названия типов туров из таблицы TipTur, перегружает все последующие фильтры
    4. Курорт - названия курортов из таблицы Resorts, перегружает все последующие фильтры
    5. Город - названия городов из таблицы CityDictionary, перегружает все последующие фильтры
    6. Тур - названия типов туров из таблицы tbl_TurList, перегружает все последующие фильтры
    7. Отель - названия отелей из таблицы HotelDictionary, перегружает все последующие фильтры (если поле HD_HTTP заполнено, то в названии отеля формируется ссылка на адрес, указанный в данном поле)
    8. Даты заезда - даты заезда по турам подсвечиваются в календарях. На подсветку также влияет наличие мест по перелету на дату вылета. В случае отсутствия мест – дата заезда не отображается (не подсвечивается). В случае наличия мест или запроса – дата заезда отображается (подсвечивается).
    9. Тип номера, либо количество основных и доп.мест - названия типов номеров из таблицы Rooms
    10. Цена не более указанной величины
    11. Ночи - рассчитанные продолжительности по выбранным в предыдущих фильтрах параметрам
    12. Категория - рассчитанные категории отелей по выбранным в предыдущих фильтрах параметрам
    13. Питание - рассчитанные типы питания по выбранным в предыдущих фильтрах параметрам
    14. Наличие мест в отеле и на рейсе - наличие мест "Есть", "Запрос" и "Нет"

    Таблица с результатами поиска содержит поля:

    1. Дата заезда
    2. Отель
    3. Категория - категория отеля
    4. Город – город, к которому привязан отель
    5. Тип номера – тип номера, на который указана цена
    6. Категория номера – категория номера, на который указана цена
    7. Размещение – размещение, на которое указана цена
    8. Питание – тип питания, на которое указана цена
    9. Ночи – продолжительность тура в ночах
    10. Цена
    11. Вал – валюта, в которой указана цена
    12. Источник цены – название тура
    13. Цена за – тип рассчитанной цены: за человека или за номер
    14. Наличие мест – наличие мест в гостинице
    15. Эконом, Бизнес

    Все поля являются текстовыми и нередактируемыми.

    *Если поле HD_HTTP в таблице HotelDictionary заполнено, то в названии отеля в поле «Отель» формируется ссылка на адрес, указанный в данном поле.
    *Если поле TL_WEBHTTP в таблице tbl_TurList заполнено, то в названии тура в поле «Источник цены» формируется ссылка на адрес, указанный в данном поле.
    

    По умолчанию данные в результатах поиска отсортированы по полю «Цена» по возрастанию.

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

    Необходимо добавить настройки для корректировки цен стороннего туроператора:

    1. Настройка для добавления фиксированной наценки к общей стоимости тура от стороннего туроператора
    2. Настройка для добавления процентной наценки к общей стоимости тура от стороннего туроператора
    3. Настройка для добавления фиксированной наценки к стоимости доп. услуг определенных классов
    4. Настройка для добавления процентной наценки с стоимости доп. услуг определенных классов

    Список параметров, которые можно передать в «Распределенный поиск»

    Параметры в URL для распределенного поиска

    • departfrom
    • country
    • city
    • hotel
    • resort
    • tourtype
    • tour
    • nights