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

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
 
(не показано 105 промежуточных версий 8 участников)
Строка 1: Строка 1:
 +
Версия статьи от {{REVISIONDAY}}.{{REVISIONMONTH}}.{{REVISIONYEAR}}. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице:
 +
 +
<table style="background-color:#ffffcc;color:#000000" border="1" cellpadding="10" cellspacing="0"><tr><td>
 +
Более ранние версии:<br>
 +
[http://wiki.megatec.ru/index.php?title=%D0%9C%D0%B0%D1%81%D1%82%D0%B5%D1%80-Web:%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C_%D0%9F%D0%BE%D0%B4%D0%B1%D0%BE%D1%80_%D1%82%D1%83%D1%80%D0%BE%D0%B2_%D1%81_%D0%BD%D0%B0%D0%BB%D0%B8%D1%87%D0%B8%D0%B5%D0%BC_%D0%BC%D0%B5%D1%81%D1%82&oldid=7677 До версии ПК «Мастер-Тур» 2009.2.12 включительно]<br>
 +
[http://wiki.megatec.ru/index.php?title=%D0%9C%D0%B0%D1%81%D1%82%D0%B5%D1%80-Web:%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C_%D0%9F%D0%BE%D0%B4%D0%B1%D0%BE%D1%80_%D1%82%D1%83%D1%80%D0%BE%D0%B2_%D1%81_%D0%BD%D0%B0%D0%BB%D0%B8%D1%87%D0%B8%D0%B5%D0%BC_%D0%BC%D0%B5%D1%81%D1%82&oldid=8172 До версии ПК «Мастер-Тур» 2009.2.15 включительно]<br>
 +
[http://wiki.megatec.ru/index.php?title=Мастер-Web:Дополнительный_модуль_Подбор_туров_с_наличием_мест&stableid=9104 До версии ПК «Мастер-Тур» 2009.2.17 включительно]<BR>
 +
</td></tr></table><br>
 +
 
==Введение==
 
==Введение==
Данный модуль предназначен для поиска и подбора туров, а также для сравнения цен в разных гостиницах на определенное размещение.
+
Данный модуль предназначен для поиска и подбора туров, а также для сравнения цен в разных гостиницах на определенное размещение.<br>
 +
В релизе 9220SP32 разработан [[Мастер-Web:Дополнительный_модуль_Подбор_туров_с_наличием_мест_(новый_дизайн)|новый дизайн]] данного экрана.
 
==Установка==
 
==Установка==
 
Для установки надстройки «Динамический лист с наличием мест» нужно выложить  распакованные файлы из архива mw-quoteddynamic-2007.2.XX.XXXX.zip в каталог, где лежит ПК Мастер-Web.
 
Для установки надстройки «Динамический лист с наличием мест» нужно выложить  распакованные файлы из архива mw-quoteddynamic-2007.2.XX.XXXX.zip в каталог, где лежит ПК Мастер-Web.
Строка 8: Строка 18:
 
Дополнительные настройки, задаваемые в файле web.config, находящемся в папке MasterWeb позволяют задать дополнительные условия для отображения и проверки данных.
 
Дополнительные настройки, задаваемые в файле web.config, находящемся в папке MasterWeb позволяют задать дополнительные условия для отображения и проверки данных.
  
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=645
+
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
style='width:483.9pt;margin-left:-.75pt;border-collapse:collapse'>
+
 
<tr>
+
|- style="background-color:#F2F2F2"
  <td width=46 valign=top style='width:34.25pt;border:solid black 1.0pt;
+
 
  border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
+
! width="2%" | №
  <p class=TitleTable style='layout-grid-mode:char'>№</p>
+
! width="28%" | Описание
  </td>
+
! width="35%" | Значение
  <td width=138 valign=top style='width:103.65pt;border:solid black 1.0pt;
+
! width="35%" | Настройка
  border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
+
 
  <p class=TitleTable style='layout-grid-mode:char'>Описание</p>
+
|- style="vertical-align:text-top"
  </td>
+
 
  <td width=204 valign=top style='width:153.0pt;border:solid black 1.0pt;
+
| 1
  border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
+
| Включение возможности поиска по актуальным местам в экране «Динамический лист с наличием мест»
  <p class=TitleTable style='layout-grid-mode:char'>Значение</p>
+
|
  </td>
+
{|
  <td width=257 valign=top style='width:193.0pt;border:solid black 1.0pt;
+
|- style="vertical-align:text-top"
  padding:0cm 5.4pt 0cm 5.4pt'>
+
| '''''2''''' || — включить возможность поиска по актуальным местам
  <p class=TitleTable style='layout-grid-mode:char'>Настройка</p>
+
|}
  </td>
+
| <syntaxhighlight lang="xml" enclose="div">
</tr>
+
<add key="pagingType" value="2" />
<tr>
+
</syntaxhighlight>
  <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;
+
|- style="vertical-align:text-top"
  padding:0cm 5.4pt 0cm 5.4pt'>
+
 
  <p class=Tabletext style='layout-grid-mode:char'>1</p>
+
| 2
  </td>
+
| Производить поиск перелетов, если на один из них закончились места и стоит настройка ''noPlacesQuoteResult&nbsp;=&nbsp;request''
  <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;
+
* '''true''' — подбирать перелет, если места на текущий перелет закончились, по запросу или отсутствует расписание
  padding:0cm 5.4pt 0cm 5.4pt'>
+
* '''false''' или '''отсутствие настройки''' — не подбирать перелет, если места на текущий перелет закончились или отсутствует расписание
  <p class=Tabletext style='layout-grid-mode:char'>Включение возможности поиска
+
| <syntaxhighlight lang="xml" enclose="div">
  по актуальным местам в экране «Динамический лист с наличием мест»</p>
+
<add key="searchFlightsOnRequest" value="true" />
  </td>
+
</syntaxhighlight>
  <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;
+
|- style="vertical-align:text-top"
  padding:0cm 5.4pt 0cm 5.4pt'>
+
 
  <p class=MsoNormal style='layout-grid-mode:char'><b><span style='font-size:
+
| 3
  10.0pt;font-family:"Arial","sans-serif"'>1 – </span></b><span
+
| Отключение ссылок в экранах «Ценовой лист» и «Динамический лист предложений» для перехода в экран «Корзина» (у пользователей сайта не будет возможности перейти к оформлению заявки).
  style='font-size:10.0pt;font-family:"Arial","sans-serif"'>выключить
+
|
  возможность поиска по актуальным местам (форма 1);</span></p>
+
* '''true''' или '''отсутствие настройки''' — ссылки есть
  <p class=Tabletext style='layout-grid-mode:char'><b>2 – </b>включить
+
* '''false''' — ссылок нет
  возможность поиска по актуальным местам (форма 2)</p>
+
| <syntaxhighlight lang="xml" enclose="div">
  </td>
+
<add key="priceLinksEnabled" value="false" />
  <td width=257 valign=top style='width:193.0pt;border:solid black 1.0pt;
+
</syntaxhighlight>
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
+
 
  <p class=MsoNormal style='layout-grid-mode:char'><span lang=EN-US>&lt;add
+
|- style="vertical-align:text-top"
  key=&quot;<b>pagingType</b>&quot; value=&quot;<b><i><span style='color:blue'>2</span></i></b>&quot;/&gt;</span></p>
+
 
  </td>
+
| 4
</tr>
+
| Обработка стоп-сейлов на авиаперелет
<tr>
+
|
  <td width=46 valign=top style='width:34.25pt;border-top:none;border-left:
+
* '''true''' — обрабатывать стоп-сейлы на авиаперелет
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
+
* '''false''' или '''отсутствие настройки''' — не обрабатывать
  padding:0cm 5.4pt 0cm 5.4pt'>
+
| <syntaxhighlight lang="xml" enclose="div">
  <p class=Tabletext style='layout-grid-mode:char'>2</p>
+
<add key="checkStopAvia" value="true" />
  </td>
+
</syntaxhighlight>
  <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;
+
|- style="vertical-align:text-top"
  padding:0cm 5.4pt 0cm 5.4pt'>
+
 
  <p class=Tabletext style='layout-grid-mode:char'>Производить поиск перелетов,
+
| 5
  если на один из них закончились места и стоит настройка <span lang=EN-US>noPlacesQuoteResult</span>
+
| Определяет справочник, по которому будет проверяться '''количество основных мест''' при поиске в [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Экран «Динамический лист предложений»|экране «Динамический лист предложений»]] и при бронировании в [[Мастер-Web:Руководство пользователя. Работа в системе online бронирования#Экран «Стандартная корзина» («Basket.aspx»)|корзинах бронирования ПК «Мастер-Web»]].
  = <span lang=EN-US>request</span></p>
+
|
  </td>
+
* '''true''' — количество основных мест берется из [[Мастер-Тур:Справочники#Типы размещения|справочника «Типы размещений»]].
  <td width=204 valign=
+
Если соответствующее поле там '''не заполнено''', то из [[Мастер-Тур:Справочники#Типы номеров|справочника «Типы номеров»]].
 +
* '''false''' или '
 
====Настройки отображения====
 
====Настройки отображения====
 
Отображение тех или иных элементов поискового фильтра, а так же их вид, размер местоположение и т.д. настраивается через файл стилей styles.css.
 
Отображение тех или иных элементов поискового фильтра, а так же их вид, размер местоположение и т.д. настраивается через файл стилей styles.css.
 
За настройки отображения отвечают следующие стили:
 
За настройки отображения отвечают следующие стили:
* #dof_DepartureCityDiv – фильтр «Город вылета»;
+
* #dof_DepartureCityDiv – фильтр «Город вылета»;
* #dof_CountryDiv – фильтр «Страна»;
+
* #dof_CountryDiv – фильтр «Страна»;
* #dof_TourTypeDiv – фильтр «Тип тура»;
+
* #dof_TourTypeDiv – фильтр «Тип тура»;
* #dof_ResortDiv – название фильтра «Курорт»;
+
* #dof_TourContentDiv – фильтр «Состав тура» (доступен с релиза 9220SP31);
* #dof_ResortDiv_InnerDiv – фильтр «Курорт»;
+
* #dof_ResortDiv – название фильтра «Курорт»;
* #dof_RegionDiv – название фильтра «Город»;
+
* #dof_ResortDiv_InnerDiv – фильтр «Курорт»;
* #dof_RegionDiv_InnerDiv – фильтр «Город»;
+
* #dof_RegionDiv – название фильтра «Город»;
* #dof_SpoDiv – фильтр «СПО»;
+
* #dof_RegionDiv_InnerDiv – фильтр «Город»;
* #dof_HotelDiv – название фильтра «Отель» + быстрый поиск отеля;
+
* #dof_SpoDiv – фильтр «СПО»;
* #hotelDivScroll – фильтр «Отель»;
+
* #dof_HotelDiv – название фильтра «Отель» + быстрый поиск отеля;
* #dof_TourDates – фильтр «Даты заезда»;
+
* #hotelDivScroll – фильтр «Отель»;
* #dof_RoomTypeDiv – фильтр «Тип номера»;
+
* #dof_TourDates – фильтр «Даты заезда»;
* #dof_ChildrenMainDiv – фильтр «Количество взрослых/детей на основном месте»;
+
* #dof_RoomTypeDiv – фильтр «Тип номера»;
* #dof_ChildrenExtraDiv – фильтр «Количество взрослых/детей на доп. месте»;
+
* #dof_ChildrenMainDiv – фильтр «Количество взрослых/детей на основном месте»;
* #dof_NightsDiv – фильтр «Ночи»;
+
* #dof_ChildrenExtraDiv – фильтр «Количество взрослых/детей на доп. месте»;
* #dof_RoomCategoryDiv – фильтр «Категория» (гостиниц);
+
* #dof_NightsDiv – фильтр «Ночи»;
* #dof_PansionDiv – фильтр «Питание»;
+
* #dof_RoomCategoryDiv – фильтр «Категория» (гостиниц);
* #dof_KindOfTourDiv – фильтр «Виды туров»;
+
* #dof_PansionDiv – фильтр «Питание»;
* #dof_PriceMaximumDiv – фильтр «Цена не более указанной величины»;
+
* #dof_KindOfTourDiv – фильтр «Виды туров»;
* #dof_CurrencyDiv – контрол переключения валют;
+
* #dof_PriceMaximumDiv – фильтр «Цена не более указанной величины»;
* #dof_QuotasDiv – контрол «Наличие мест»;
+
* #dof_CurrencyDiv – контрол переключения валют;
* #dof_PageSizeDiv – выбор количества строк, отображаемых в результатах поиска;
+
* #dof_QuotasDiv – контрол «Наличие мест»;
* #dof_SearchDiv – кнопка «Подобрать тур»;
+
* #dof_PageSizeDiv – выпадающий список с отображением строк на странице, отображаемых в результатах поиска;
* #dof_UpdateProgressForLeftDiv – прогрессбар 1 ( );
+
* #dof_SearchDiv – кнопка «Подобрать тур»;
* #dof_UpdateProgressForMiddleDiv – прогрессбар 2 ( );
+
* #dof_UpdateProgressForLeftDiv – прогрессбар 1 ( );
* #dof_CountryDescriptionDiv – описание страны;
+
* #dof_UpdateProgressForMiddleDiv – прогрессбар 2 ( );
* .qd_Div – нижний колонтитул.
+
* #dof_CountryDescriptionDiv – описание страны ''(с 9220SP31 описание включается по настройке showCountryDescriptionInQD)''. Необходимо выполнить следующие действия:
 +
** В файле '''DynamicOffersFilter.ascx''' в секции '''lblCountryDescription''' необходимо прописать '''True''' вместо '''False''';
 +
** В файле '''Style.css''' настроить отображение стиля '''dof_CountryDescriptionDiv''' (также убедиться, что настройка '''Display''' для этого стиля не указана);
 +
** В системе администрирования ПК "Мастер-Web" в поле '''Примечание''' подраздела '''Страны -> Страна''' задать описание страны, которое должно отображаться.
 +
* .qd_Div – нижний колонтитул.
  
 
Каждый элемент стилей может содержать настройки:
 
Каждый элемент стилей может содержать настройки:
* Width – ширина элемента;  
+
* Width – ширина элемента;  
* Height – высота элемента;  
+
* Height – высота элемента;  
* Overflow – отображение содержания блочного элемента, если оно целиком не помещается и выходит за область заданных размеров;  
+
* Overflow – отображение содержания блочного элемента, если оно целиком не помещается и выходит за область заданных размеров;  
* background-color – цвет фона;  
+
* background-color – цвет фона;
* Border – толщина, стиль и цвет границы вокруг элемента;
+
* background-image - фоновое изображение для элемента (например, <code>background-image: url(images/back.jpg)</code> можно задать для фона страницы);
* Display – определение того как элемент должен быть показан;
+
* Border – толщина, стиль и цвет границы вокруг элемента;
* Position – способ позиционирования элемента относительно окна браузера или других объектов на веб-странице;
+
* Display – определение того как элемент должен быть показан;
* Top – для позиционированного элемента определяет расстояние от верхнего края родительского элемента, не включая отступ, поле и ширину рамки, до верхнего края дочернего элемента;
+
* Position – способ позиционирования элемента относительно окна браузера или других объектов на веб-странице;
* И т.д. (подробнее можно посмотреть на http://www.htmlbook.ru/css/).
+
* Top – для позиционированного элемента определяет расстояние от верхнего края родительского элемента, не включая отступ, поле и ширину рамки, до верхнего края дочернего элемента;
 +
* И т.д. (подробнее можно посмотреть на http://www.htmlbook.ru/css/).
  
 
=====Скрытие элементов фильтра=====
 
=====Скрытие элементов фильтра=====
Для того чтобы скрыть тот или иной элемент, необходимо для соответствующего стиля прописать настройку:<BR>
+
Для того чтобы скрыть тот или иной элемент, необходимо для соответствующего стиля прописать настройку:
Display:none;<BR>
+
Display:none;
Если какой-либо элемент поискового фильтра скрывается, то очень важно учесть, что при этом необходимо заново отпозиционировать все последующие элементы, либо изменить их размеры.
+
 
 +
Для того, чтобы отобразить элемент, настройку '''Display''' нужно убрать.
 +
Если какой-либо элемент поискового фильтра скрывается, то очень важно учесть,  
 +
что при этом необходимо заново отпозиционировать все последующие элементы, либо изменить их размеры.
 
Рассмотрим пример. Допустим, мы хотим скрыть фильтр «Курорт». Для этого мы добавляем настройку Display:none; для стилей #dof_ResortDiv и #dof_ResortDiv_InnerDiv:
 
Рассмотрим пример. Допустим, мы хотим скрыть фильтр «Курорт». Для этого мы добавляем настройку Display:none; для стилей #dof_ResortDiv и #dof_ResortDiv_InnerDiv:
 
  #dof_ResortDiv
 
  #dof_ResortDiv
Строка 1280: Строка 834:
 
Данное изменение без позиционирования остальных элементов, либо без изменения их размера приводит к тому, что поисковый фильтр разъезжается:
 
Данное изменение без позиционирования остальных элементов, либо без изменения их размера приводит к тому, что поисковый фильтр разъезжается:
 
<BR>
 
<BR>
[[Файл:779.PNG]]<BR>
+
[[Файл:ST56.png|x500px]]<BR>
 
Для того, чтобы фильтр выровнялся достаточно просто изменить значение настройки height для стиля #dof_RegionDiv_InnerDiv:
 
Для того, чтобы фильтр выровнялся достаточно просто изменить значение настройки height для стиля #dof_RegionDiv_InnerDiv:
 
  #dof_RegionDiv_InnerDiv
 
  #dof_RegionDiv_InnerDiv
Строка 1293: Строка 847:
 
Т.е. мы увеличиваем высоту фильтра «Регион»:
 
Т.е. мы увеличиваем высоту фильтра «Регион»:
 
<BR>
 
<BR>
[[Файл:780.PNG]]<BR>
+
[[Файл:ST57.png|x500px]]<BR>
 +
 
 
====Настройки дизайна через header.ascx и footer.ascx====
 
====Настройки дизайна через header.ascx и footer.ascx====
 
Для корректного отображения элементов дизайна header.ascx и footer.ascx необходимо проверить следующее:
 
Для корректного отображения элементов дизайна header.ascx и footer.ascx необходимо проверить следующее:
 
* При использовании файлов MasterPage, отличных от стандартного, необходимо заключить строку <!--#include virtual="~/Controls/Footer.ascx" --> в тег <div/> с указанием id="FooterDiv" class="qd_Div":
 
* При использовании файлов MasterPage, отличных от стандартного, необходимо заключить строку <!--#include virtual="~/Controls/Footer.ascx" --> в тег <div/> с указанием id="FooterDiv" class="qd_Div":
 +
<nowiki>
 
  <div id="FooterDiv" class="qd_Div">     
 
  <div id="FooterDiv" class="qd_Div">     
 
  <!-- #include virtual="~/Controls/Footer.ascx" -->   
 
  <!-- #include virtual="~/Controls/Footer.ascx" -->   
  </div
+
  </div>  </nowiki>
  
 
* Содержание файла footer.ascx не должно начинаться с закрывающих тегов.
 
* Содержание файла footer.ascx не должно начинаться с закрывающих тегов.
Строка 1306: Строка 862:
 
- второй файл должен содержать в себе html, который корректно будет обрабатываться внутри тега <div/>;
 
- второй файл должен содержать в себе html, который корректно будет обрабатываться внутри тега <div/>;
 
Пример:
 
Пример:
 +
<nowiki>
 
  </table>
 
  </table>
 
  <!-- #include virtual="~/Controls/Footer1.ascx" -->
 
  <!-- #include virtual="~/Controls/Footer1.ascx" -->
 
  <div id="FooterDiv" class="qd_Div">     
 
  <div id="FooterDiv" class="qd_Div">     
 
  <!-- #include virtual="~/Controls/Footer2.ascx" -->  
 
  <!-- #include virtual="~/Controls/Footer2.ascx" -->  
  </div>
+
  </div></nowiki>
 +
 
 +
===Настройки экрана «Динамический лист предложений с наличием мест»===
 +
Настройки для данного экрана задаются в файле web.config, находящемся в папке MasterWebStandard. Данные настройки регулируют отображение тарифов на авиаперелеты, питания и категорий гостиниц. Для этого в конфигурационном файле добавляется секция <MasterWeb>.
 +
<BR>
 +
[[Файл:781.PNG]]<BR>
 +
Данная секция содержит 3 подсекции настроек:
 +
# dynamicCharterClasses – список тарифов на авиаперелет
 +
# dynamicBoard – список типов питания
 +
# dynamicHotelCategories – список категорий гостиниц.
 +
====Настройка секции dynamicCharterClasses====
 +
Данная секция определяет какие колонки тарифов на авиаперелет будут отображаться в результатах поиска в экране «Подбор туров с наличием мест».
 +
Секция dynamicCharterClasses должна содержать как минимум одно значение.
 +
Для добавления нового значения необходимо добавить строчку вида:
 +
<add name="Название тарифа на авиаперелет" keys="ключи тарифов, задаются через запятую без пробелов"/>
 +
В значениях параметра name указывается название колонки, которое будет отображаться в экране «Подбор туров с наличием мест», а в значениях параметра keys перечисляются ключи тарифов на авиаперелет. Ключи тарифов на авиаперелет хранятся в таблице AirService.
 +
====Настройка секции dynamicBoard====
 +
Данная секция определяет, как будут отображаться типы питания в поисковом фильтре экрана «Подбор туров с наличием мест».
 +
Параметр mode= в настройках секции <dynamicBoard /> определяет вид группировки типов питания:
 +
* simple – не группировать типы питания, отображать все варианты из рассчитанных цен;
 +
* complex – группировать типы питания в соответствии с настройками в секции dynamicBoard;
 +
* global – группировать типы питания по глобальному коду, указанному в справочнике «Типы питания».
 +
=====Вариант simple=====
 +
При выборе варианта simple дополнительных настроек не требуется.
 +
=====Вариант complex=====
 +
Если выбран вариант complex, то необходимо:
 +
# Определить вид группировки типов питания. Для этого в секции dynamicBoard необходимо добавить нужные значения типов питания. Для добавления нового значения необходимо добавить строчку вида:
 +
<add name="Название типа питания" keys="ключи типов питания, задаются через запятую без пробелов"/>
 +
В значениях параметра name указывается название типа питания, которое будет отображаться в экране «Подбор туров с наличием мест», а в значениях параметра keys перечисляются ключи типов питания. Ключи типов питания хранятся в таблице Pansion.
 +
# Закомментировать или удалить в файле MasterWebStandard/templates/bindSchemeQuotedDynamic.xml секцию:
 +
 
 +
<nowiki><control name="chklBoard" priority="9" type="Pansion" itemType="System.Int32" alwaysSelected="false">
 +
<dependency control="ddlDepartFrom" />
 +
<dependency control="ddlCountry" />
 +
<dependency control="chklRegion" />
 +
<dependency control="ddlTour" />
 +
</control></nowiki>
 +
=====Вариант global=====
 +
Если выбран вариант global, то необходимо заполнить поле «Глобальный код» в справочнике «Типы питания».
 +
Например, в справочнике есть типы питания All Inclusive, Ultra All Inclusive, Max All Inclusive, по сути обозначающие тип питания «Всё включено». Для того, чтобы сгруппировать эти типы питания, нужно в поле «Глобальный код» справочника «Типы питания» для этих типов прописать одно и то же значение, например ALL. В этом случае в поисковом фильтре экрана «Подбор туров с наличием мест» отобразится значение ALL, но при поиске будут отбираться данные по всем трем типам питания.
 +
====Настройка секции dynamicHotelCategories====
 +
Данная секция определяет, как будут отображаться категории отелей в поисковом фильтре экрана «Подбор туров с наличием мест».
 +
Параметр mode= в настройках секции <dynamicHotelCategories /> определяет вид группировки категорий гостиниц:
 +
* simple – не группировать категории отелей, отображать все варианты из рассчитанных цен;
 +
* complex – группировать категории отелей в соответствии с настройками в секции dynamicHotelCategories;
 +
* global – группировать категории отелей по глобальному коду, указанному в справочнике «Категории отелей».
 +
=====Вариант simple=====
 +
При выборе варианта simple дополнительных настроек не требуется.
 +
=====Вариант complex=====
 +
Если выбран вариант complex, то необходимо:
 +
# Определить вид группировки категорий отелей. Для этого в секции dynamicHotelCategories необходимо добавить нужные значения категорий гостиниц. Для добавления нового значения необходимо добавить строчку вида:
 +
<add name="Категория отеля" keys="варианты категорий гостиниц, задаются через запятую без пробелов"/>
 +
В значениях параметра name указывается категория гостиницы, которая будет отображаться в экране «Подбор туров с наличием мест», а в значениях параметра keys перечисляются варианты категорий гостиниц, которые соответствуют значению в поле name.
 +
# Закомментировать или удалить в файле MasterWebStandard/templates/bindSchemeQuotedDynamic.xml секцию:
 +
 
 +
<nowiki><control name="chklCategory" priority="8" type="HotelStars" itemType="System.Int32" alwaysSelected="false">
 +
<dependency control="ddlDepartFrom" />
 +
<dependency control="ddlCountry" />
 +
<dependency control="chklRegion" />
 +
<dependency control="ddlTour" />
 +
</control></nowiki>
 +
=====Вариант global=====
 +
Если выбран вариант global, то необходимо заполнить поле «Глобальный код» в справочнике «Категории отелей».
 +
Например, в справочнике есть категории 5*, 5*+, 5*****, по сути обозначающие категорию отеля «5*». Для того, чтобы сгруппировать эти категории, нужно в поле «Глобальный код» справочника «Категории отелей» для этих категорий прописать одно и то же значение, например 5*. В этом случае в поисковом фильтре экрана «Подбор туров с наличием мест» отобразится значение 5*, но при поиске будут отбираться данные по всем трем категория отелей.
 +
 
 +
===Передача параметров в экран «Динамический лист с наличием мест»===
 +
Данная настройка предусматривает возможность передачи различных параметров через URL страницы. При этом, если существуют рассчитанные прайсы по данной стране, то при загрузке страницы в фильтре данная страна автоматически будет выбрана в списке стран, и будут загружены значения в других поисковых полях.
 +
Пример строки подключения:<BR>
 +
http:// ip-адрес сервера ПК Мастер-Web/MasterWebStandard/Extra/QuotedDynamic.aspx?country=90&departFrom=1&resort=1&city=275&tourtype=0&tour=267&hotel=3234&room=2&dateFrom=2008-08-15&dateTo=2008-08-25<BR>   
 +
(здесь параметры country=90&departFrom=1&resort=1&city=275&tourtype=0&tour=267&hotel=3234&room=2&dateFrom=2008-08-15&dateTo=2008-08-25, где «90», «1», «1», «275», «0», «267», «3234», «2», «2008-08-15» и «2008-08-25» их значения)<BR>
 +
Возможные варианты:
 +
* '''сountry'''= ключ страны (обязательный параметр)
 +
* '''departFrom'''= ключ города вылета (обязательный параметр)
 +
* '''resort'''= ключи курортов через запятую
 +
* '''city'''= ключи городов через запятую
 +
* '''tourtype'''= ключ типа тура
 +
* '''tourcontent'''= ключ состава тура (работает начиная с релиза 9220SP32)
 +
* '''tour'''= ключ тура в таблице TP_Tours
 +
* '''tourlistkey'''= ключ тура в таблице tbl_TurList
 +
* '''hotel'''= ключи отелей через запятую
 +
* '''stars'''= категории гостиниц через запятую. <br><font style="color:red">Внимание!</font> Начиная с релиза 9220SP32, при включенной настройке '''"ShowByPriorityHotelCategory"''' в web.config данный параметр используется в следующем формате: '''stars'''= категория гостиницы_признак "и лучше". Признак "и лучше": 0 - выключен, 1 - включен. Если настройка '''"ShowByPriorityHotelCategory"''' будет включена в web.config, и параметр '''stars''' будет содержать список категорий гостиниц ''через запятую'', тогда для фильтра категорий будет использоваться первый ключ из списка, а признак "и лучше" будет выключен.
 +
* '''hotelOptions'''= ключи услуг в отелях через запятую
 +
* '''pansion'''= ключи типов питания через запятую. <br><font style="color:red">Внимание!</font> Начиная с релиза 9220SP32, при включенной настройке '''"ShowByPriorityPansionType"''' в web.config данный параметр используется в следующем формате: '''pansion'''= ключ типа питания_признак "и лучше". Признак "и лучше": 0 - выключен, 1 - включен. Если настройка '''"ShowByPriorityPansionType"''' будет включена в web.config, и параметр '''pansion''' будет содержать список ключей питания ''через запятую'', тогда для фильтра питания будет использоваться первый ключ из списка, а признак "и лучше" будет выключен.
 +
* '''room'''= ключ типа номера
 +
* '''roomCategory'''= ключ категории номеров
 +
* '''adults'''= количество взрослых
 +
* '''childs'''= количество детей
 +
* '''firstChildAge'''= возраст первого ребенка
 +
* '''secondChildAge'''= возраст второго ребенка
 +
* '''dateFrom'''= дата заезда с
 +
* '''dateTo'''= дата заезда по
 +
* '''pricelink_target'''= открытие ссылки на корзину (_top – в текущем окне, _blank – в отдельном)
 +
* '''target'''= открытие результатов поиска в отдельном окне (blank – открытие страницы с результатами поиска в отдельном окне)
 +
* '''pkey'''= ключ партнера, которому должна отправляться копия письма о новом бронировании при оформлении путевок в экранах «Корзина», «Упрощенная корзина» и «Упрощенная корзина 2» (данный параметр удобно использовать, например, если экран «Динамический лист с наличием мест» встроен в сайт агентства с использованием фреймов)
 +
* '''aviaQuotaMask'''= отметки наличия мест на авиаперелеты (1 – наличие мест «Есть»; 2 – наличие мест «Нет»; 3 – наличие мест «Есть» и «Нет»; 4 – наличие мест «Запрос»; 5 – наличие мест «Есть» и «Запрос»; 6 – наличие мест «Запрос» и «Нет»; 7 – наличие мест «Есть», «Нет» и «Запрос»)
 +
* '''hotelQuotaMask'''= отметки наличия мест в отеле (1 – наличие мест «Есть»; 2 – наличие мест «Нет»; 3 – наличие мест «Есть» и «Нет»; 4 – наличие мест «Запрос»; 5 – наличие мест «Есть» и «Запрос»; 6 – наличие мест «Запрос» и «Нет»; 7 – наличие мест «Есть», «Нет» и «Запрос»)
 +
* '''showResults'''= необходимость автоматического отбора данных при переходе в экран по ссылке с параметрами (0 – данные автоматически не отбираются)
 +
* '''priceLimit'''= цена до
 +
* '''mainOnly'''= поиск только по основным размещениям (обрабатывается только значение 1)
 +
* '''kindOfTours'''= виды тура (0 – все; 1 – пакетные туры; 2 – наземное обслуживание)
 +
* '''pageSize'''= количество записей на странице
 +
* '''nights'''= продолжительность в ночах
 +
* '''currency'''= валюта (cu – у.е.; national – национальная валюта; ISO-код валют через запятую)
 +
* '''additionalinfo'''= отображение дополнительного описания тура (отображается в самом верху экрана над фильтрами); доступные значения: 0- не отображать, 1 – отображать
 +
* '''autoShiftDays'''= количество дней, отсчитываемых от начальной даты в интервале дат заездов. Интервал ограничивается значением, указанным в настройке TourDatesIntervalLimit в web.config
 +
 
 +
===Настройки на странице «Динамический лист с наличием мест»===
 +
 
 +
====Установка страны по умолчанию====
 +
Для того, чтобы установить страну, отображаемую по умолчанию, необходимо в файле templates\bindSchemeQuotedDynamic.xml в теге <control name="ddlCountry" priority="1" type="CountryReloaded" itemType="System.Int32"> добавить параметр default="ключ страны по умолчанию".
 +
Пример:<br>
 +
<control name="ddlCountry" priority="1" type="CountryReloaded" itemType="System.Int32" default="53">
 +
 
 +
====Сортировка туров в фильтре====
 +
Данная настройка прописывается в файле templates\bindSchemeQuotedDynamic.xml в теге
 +
<control name="ddlTour" priority="5" type="Tour" itemType="System.Int32" firstItem="mwBinderOptionalItem" sort="sd_tourname asc">
 +
<dependency control="ddlDepartFrom" />
 +
<dependency control="ddlCountry" />
 +
<dependency control="ddlTourType" />
 +
<dependency control="chklResort" />
 +
<dependency control="chklRegion" />
 +
</control>
 +
Параметр sort указывает, по какой колонке из таблицы mwSpoData необходимо отсортировать туры.<BR>
 +
 
 +
====Поиск туров по городу посадки====
 +
В web.config основного приложения должна быть включена настройка '''ShowTransferCityFilterInQD''', а также необходимо осуществить настройку в файле templates\bindSchemeQuotedDynamic.xml<br>
 +
Необходимо добавить тег:<br>
 +
<control name="ddlTransferCity" priority="1" type="TransferCity" itemType="System.Int32" alwaysSelected="false" firstItem="mwBinderOptionalItem" firstItemValue="-1">
 +
<dependency control="ddlDepartFrom" />
 +
<dependency control="chkSpoGroups" />
 +
</control>
 +
 
 +
А также, в тегах '''ddlCountry''', '''ddlTourType''', '''chklTourTypes''', '''ddlTourContent''', '''chklTourContent''', '''chklResort''', '''chklRegion''', '''ddlTour''', '''treeViewHotelCategories''', '''chklHotel''', '''ddlRoom''', '''chklDuration''', '''ddlDurationFrom''', '''chklCategory''', '''chklBoard''', '''ddlCategoryPriority''', '''ddlPansionPriority''', '''ctrlCalendar''', '''ddlDurationTo''' дописать зависимость <code><dependency control="ddlTransferCity" /></code> сразу после <code><dependency control="ddlDepartFrom" /></code>.
 +
 
 +
====Отображение названия курорта в фильтре «Отели»====
 +
Для того, чтобы в фильтре «Отели» отображалось название курорта, нужно открыть в текстовом редакторе файл \MasterWebStandard\templates\ bindSchemeQuotedDynamic.xml и в теге <control name="chklHotel" priority="5" type="HotelLink" itemType="System.Int32" alwaysSelected="false"> изменить значение параметра type="HotelLink" на type="HotelResortLink".
 +
Пример:<BR>
 +
  <control name="chklHotel" priority="5" type="HotelResortLink" itemType="System.Int32" alwaysSelected="false">
 +
 
 +
====Изменение фильтра «Город» на фильтр «Курорт»====
 +
Для того, чтобы в фильтре «Регион» вместо городов отображались курорты, нужно открыть в текстовом редакторе файл \MasterWebStandard\templates\ bindSchemeQuotedDynamic.xml и в теге  <control name="chklRegion" priority="2" type="City" itemType="System.String" alwaysSelected="false"> изменить значение параметра type="City" на type="Resort".
 +
Пример:
 +
  <control name="chklRegion" priority="2" type="Resort" itemType="System.String" alwaysSelected="false">
 +
 
 +
====Отображение поля «Цена за»====
 +
Для того чтобы отобразить поле «Цена за» в экране «Динамический лист с наличием мест» нужно открыть в текстовом редакторе файл \MasterWebStandard\Controls\DynamicOffersTable.ascx и в теге <asp:TemplateColumn HeaderText="Цена&lt;br&gt;за" SortExpression="priceFor" Visible="false"> изменить значение параметра Visible="false" на Visible="true"
 +
Пример:<BR>
 +
<asp:TemplateColumn HeaderText="Цена&lt;br&gt;за" SortExpression="priceFor" Visible="true" >
 +
 
 +
====Отображение иконки рядом с названием отелей====
 +
Для того чтобы отобразить иконку рядом с названием отелей в экране «Подбор туров с наличием мест» нужно открыть в текстовом редакторе файл <code>\MasterWebStandard\Controls\DynamicOffersTable.ascx </code> и в теге
 +
<%--<asp:Literal ID="htt_img" runat="server" Text='<%# Megatec.Common.DataAccess.Manager.DbObj.ExecuteScalar(string.Format <BR>("exec mwGetHotelTypeImageHtml {0}, \"..\\images\\\"", DataBinder.Eval (Container, "DataItem.HotelKey"))).ToString() %>' />--%>
 +
убрать теги комментария <%-- --%>.
 +
Пример:<BR>
 +
<asp:Literal ID="htt_img" runat="server" Text='<%# Megatec.Common.DataAccess.Manager.DbObj.ExecuteScalar(string.Format <BR>("exec mwGetHotelTypeImageHtml {0}, \"..\\images\\\"", DataBinder.Eval (Container, "DataItem.HotelKey"))).ToString() %>' />
 +
<BR>
 +
Для работы необходимо заполнить поле [[Мастер-Тур:Справочники#Справочник признаков отелей|<code>HTT_ImageName</code> таблицы <code>HotelTypes</code>]].
 +
 
 +
====Отображение колонок наличия мест на перелеты в таблице результатов====
 +
Для того, чтобы полностью скрыть колонки с наличием мест на перелете в таблице с результатами экрана «Подбор туров с наличием мест» нужно открыть в текстовом редакторе файл \MasterWeb\Controls\QuotedDynamicControl.ascx и в теге <uc2:DynamicOffersTable id="DynamicOffersTable" runat="server" > добавить настройку HideCharterColumns="True".
 +
Пример:<BR>
 +
<uc2:DynamicOffersTable id="DynamicOffersTable" runat="server" HideCharterColumns="True">
 +
 
 +
===Кэширование===
 +
Для ускорения процесса поиска применяется внутренний [http://wiki.megatec.ru/%D0%9C%D0%B0%D1%81%D1%82%D0%B5%D1%80-Web:%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%B8_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B8_.D0.BA.D1.8D.D1.88.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F механизм кэширования].
 +
 
 +
====Наличие мест====
 +
Интервал обновления кэша квот - 10 минут. Для включения механизма никаких дополнительных настроек указывать не нужно.
 +
 
 +
===Подмешивание отелей в результаты поиска (Smart Search)===
 +
 
 +
'''Внимание! Данная функциональность не входит в стандартную версию. Поставляется отдельно.'''
 +
 
 +
Данная настройка позволяет определять очередность вывода отелей в результатах подбора по странам, курортам и городам.
 +
 
 +
====Настройка таблицы HotelPriorities====
 +
 
 +
В базе данных ПК «Мастер-Тур» в таблицу HotelPriorities необходимо занести коды отелей с соответствующими приоритетами по странам, курортам и городам. На данный момент информацию необходимо заносить напрямую в базу данных. Позже будет разработан экран для ввода приоритетов из интерфейса программы.
 +
Вводимые данные:
 +
*HP_HDkey – код отеля (колонка HD_Key из таблицы HotelDictionary);
 +
*HP_CountryPriority – приоритет для страны;
 +
*HP_ResortPriority – приоритет для курорта;
 +
*HP_CityPriority – приоритет для города.
 +
 
 +
====Обработка подбора отелей по приоритетам====
 +
При подборе тура отели будут выводится в зависимости от заданных данных в фильтрах '''Страна''', '''Курорт''', '''Город''':
 +
 
 +
''Пример'':<BR>
 +
Заполнены приоритеты для отелей:
 +
<BR>Hotel1 (Анталия/курорт X) – Приоритет 1 для страны, приоритет 2 для курорта, приоритет 1 для города
 +
<BR>Hotel2 (Анталия/курорт X) - Приоритет 2 для страны, приоритет 1 для курорта, приоритет 2 для города
 +
<BR>Hotel3 (Белек/курорт X) - Приоритет 3 для страны, приоритет 4 для курорта, приоритет 2 для города
 +
<BR>Hotel4 (Белек/курорт X) - Приоритет страны не задан, приоритет 3 для курорта, приоритет 1 для города
 +
<BR>Hotel5 (Алания/курорт Y) - Приоритет страны не задан, приоритет 2 для курорта, приоритет 1 для города
 +
<BR>Hotel6 (Алания/курорт Y) - Приоритет страны не задан, приоритет 1 для курорта, приоритет 2 для города
 +
 
 +
[[Файл:mb_116.png|Таблица HotelPriorities]]<BR>
 +
 
 +
Вывод отелей будет осуществляться следующим образом:
 +
 
 +
Если выбран только фильтр по '''Страна''':
 +
*Hotel1
 +
*Hotel2
 +
*Hotel3
 +
*Далее все отели по стандартной схеме
 +
<BR>
 +
 
 +
Если выбран фильтр '''Страна''' и фильтр '''Курорт X''':
 +
*Hotel2
 +
*Hotel1
 +
*Hotel4
 +
*Далее все отели по стандартной схеме
 +
<BR>
 +
 
 +
Если выбран фильтр '''Страна''' и фильтр '''Курорт X и Y''':
 +
*Hotel2
 +
*Hotel6
 +
*Hotel1 или Hotel5
 +
*Далее все отели по стандартной схеме
 +
<BR>
 +
 
 +
Если выбран фильтр '''Страна''', фильтр '''Курорт X''' и '''Город Анталия''':
 +
*Hotel1
 +
*Hotel2
 +
*Hotel4
 +
*Далее все отели по стандартной схеме
 +
<BR>
 +
 
 +
Если выбран фильтр '''Страна''', '''Город Анталия и Алания''':
 +
*Hotel1
 +
*Hotel5
 +
*Hotel2 или Hotel6
 +
*Далее все отели по стандартной схеме
 +
<BR>
 +
 
 +
Данные отели будут отображены только в том случае, если по данным отелям есть свободные места по заведенным квотам. Если мест нет или стоит StopSale, то отели подмешиваться в результаты поиска не будут.<BR>
 +
В результат поиска может быть подмешено максимум 3 отеля.<BR>
 +
Если при поиске не найдены значения в колонке города, будут подмешиваться курорты. Если не найдены регионы, будет подмешиваться страна.<BR>
 +
При сортировке по любой колонке в экране QuotedDynamic подмешивание результатов сбрасывается.<BR>
 +
Все отели, для которых не проставлен приоритет, но они попадают под заданные фильтры - будут отображаться согласно существующим правилам (сортировка по цене).<BR>
 +
Осуществляется вывод только наиболее дешевого размещения для заданных фильтров «количество основных и дополнительных мест». Из отображения исключаются размещения, где присутствует инфант.<BR>
 +
 
 +
===Фильтрация по числу основных/дополнительных или взрослых/детских мест===
 +
По умолчанию туры в экране «Подбор туров с наличием мест» фильтруются по количеству '''основных/дополнительных мест'''. Но альтернативно можно осуществлять фильтрацию по числу '''взрослых/детских мест'''. <br />
 +
Данные заполняются в справочнике [[Мастер-Тур:Справочники#Типы размещения|типов размещения]]. <br />
 +
Для этого необходимо в таблице SystemSettings в основной базе данных создать параметр '''OnlineFindByAdultChild''' и установить его равным '''1''', а также убедиться, что в ней присутствует параметр '''MWAccomodationPlaces''' со значением '''1'''.<br />
 +
 
 +
[[Файл:ls0260.png|left|Полезная информация]]<br />
 +
Следует отметить, что этот параметр обрабатывается при выставлении тура в онлайн, т.е. чтобы изменить способ
 +
фильтрации, нужно сначала изменить настройку в базе данных, а потом перевыставить нужные туры, без перерасчёта.
 +
Необходимо использовать только один вариант фильтрации для всех туров, чтобы избежать некорректной обработки при поиске.
 +
<br />
 +
 
 +
Необходимо сделать некоторые изменения в файлах:<br /><br />
 +
'''DynamicOffersFilter.ascx'''
 +
 
 +
<TABLE><TR><TD>
 +
<syntaxhighlight lang="xml">
 +
  <asp:Label runat="server" ID="lbChildrenMain" Text="Количество взрослых/детей на осн. месте" meta:resourcekey="lbChildrenMainResource1" ></asp:Label>
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
изменить на
 +
<TABLE><TR><TD>
 +
<syntaxhighlight lang="xml">
 +
  <asp:Label runat="server" ID="lbChildrenMain" Text="Количество взрослых" meta:resourcekey="lbChildrenMainResource1" ></asp:Label>
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
<br /><br />
 +
<TABLE><TR><TD>
 +
<syntaxhighlight lang="xml">
 +
  <asp:Label runat="server" ID="lbChildrenExtra" Text="Количество взрослых/детей на доп. месте" meta:resourcekey="lbChildrenExtraResource1" ></asp:Label>
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
изменить на
 +
<TABLE><TR><TD>
 +
<syntaxhighlight lang="xml">
 +
  <asp:Label runat="server" ID="lbChildrenExtra" Text="Количество детей" meta:resourcekey="lbChildrenExtraResource1" ></asp:Label>
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
<br />
 +
'''DynamicOffersFilter.ascx.resx''' или '''DynamicOffersFilter.ascx.en.resx'''
 +
<br />
 +
<TABLE><TR><TD>
 +
<syntaxhighlight lang="xml">
 +
  <data name="lbChildrenMainResource1.Text" xml:space="preserve"> <value>Количество взрослых/детей на осн. месте</value>
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
изменить на
 +
<TABLE><TR><TD>
 +
<syntaxhighlight lang="xml">
 +
  <data name="lbChildrenMainResource1.Text" xml:space="preserve"> <value>Количество взрослых</value>
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
<br /><br />
 +
<TABLE><TR><TD>
 +
<syntaxhighlight lang="xml">
 +
  <data name="lbChildrenExtraResource1.Text" xml:space="preserve"> <value>Количество взрослых/детей на доп. месте</value>
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
изменить на
 +
<TABLE><TR><TD>
 +
<syntaxhighlight lang="xml">
 +
  <data name="lbChildrenExtraResource1.Text" xml:space="preserve"> <value>Количество детей</value>
 +
</syntaxhighlight>
 +
</TD></TR></TABLE>
 +
 
 +
==Подготовка данных==
 +
Экран «Динамический лист с наличием мест» осуществляет поиск и подбор цен по рассчитанным и выставленным в интернет турам. Для корректного отображения наличия мест по отелю и перелету необходимо заполнить справочник «Квоты» для услуг «Проживание» и «Авиаперелет».
 +
 
 +
==Работа в системе==
 +
===Экран «Динамический лист предложений с наличием мест» (форма 1)===
 +
Для сравнения цен в разных гостиницах на определенное размещение удобно использовать экран «Динамический лист предложений с наличием мест».
 +
<BR>
 +
[[Файл:782.PNG]]<BR>
 +
Для просмотра цен через динамический лист необходимо выбрать город вылета, страну и период дат заездов. Можно наложить дополнительные фильтры на отбор туров по следующим параметрам:
 +
* Региону
 +
* Названию тура
 +
* Названию отеля
 +
* Типу номера
 +
* Стоимости
 +
* Продолжительности
 +
* Классу гостиницы
 +
* Питанию
 +
По нажатию кнопки «Подобрать тур», системой будут отобраны туры, отвечающие заданным условиям.
 +
<BR>
 +
[[Файл:783.PNG]]<BR>
 +
Для того, чтобы при поиске в многоотельном туре были найдены свободные места (отметка о наличии мест была в состоянии «Есть»), необходимо, чтобы у каждого отеля в туре были свободные места.<BR>
 +
Отображение многоотельных туров регулируется настройкой '''SYSAlwaysShowMultiHotels''' в таблице '''SystemSettings'''. Если ''SYSAlwaysShowMultiHotels=1'', то в экране «Подбор туров с наличием мест»
 +
отображаются сразу названия нескольких отелей включенных в  тур, один под другим. Если ''SYSAlwaysShowMultiHotels=0'', то отображается только главный отель в  туре. Для вступления настройки
 +
в силу необходимо перезапустить пул приложения.
 +
Информация в результатах поиска представлена в виде таблицы:
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" width=800px
 +
 
 +
|- style="background-color:#F2F2F2"
 +
 
 +
! width="40%" | Название поля в таблице
 +
! width="60%" | Выводимые данные
 +
 
 +
|- style="vertical-align:text-top"
 +
 
 +
| Заезд
 +
| Дата заезда.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Отель
 +
| Название гостиницы. По ссылке с названия гостиницы в новом окне откроется описание гостиницы, если URL страницы заведен в системе.
 +
|- style="vertical-align:text-top"
 +
 
 +
| ***
 +
| Категория гостиницы.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Регион
 +
| Город, к которому привязан отель.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Номер
 +
| Тип номера, на который указана цена.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Категория номера
 +
| Категория номера, на которую указана цена.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Размещение
 +
| Тип размещения, на которое указана цена.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Питание
 +
| Питание представлено значением типа питания, заведенным в соответствующем справочнике ПК Мастер-Тур.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Ночи
 +
| Продолжительность тура в ночах.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Цена
 +
| Стоимость тура.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Вал
 +
| Валюта, в которой указана цена.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Источник цены
 +
| Название тура. По ссылке с названия тура в новом окне откроется описание тура, если URL страницы заведен в системе. Цены указаны за человека или за номер меняется в зависимости от настройки в конфигурационном файле ''web.config''.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Крайний срок подачи документов на визу
 +
| Максимальная дата подачи документов на визу для выбранной даты заезда. Данное информационное поле отображается только для визовых стран. Данные для отображения в этом поле берутся из поля «Крайний срок (агентство)» плагина Мастер-Тура [[Мастер-Тур:Дополнительный_модуль_График_работы_консульств | "График работы консульств"]].
 +
|- style="vertical-align:text-top"
 +
 
 +
| Наличие мест
 +
| Наличие мест в гостинице.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Эконом, Бизнес
 +
| Наличие мест на авиаперелеты. Колонки и их названия формируются динамически. Их отображение регулируется настройкой в конфигурационном файле ''web.config''.
 +
|- style="vertical-align:text-top"
 +
|}
 +
 
 +
По ссылке с цены, представленной в таблице, можно перейти в экран «Корзина услуг» по данной продолжительности и размещению с возможностью отправки запроса на бронирование.
 +
 
 +
===Экран «Динамический лист предложений с наличием мест» (форма 2)===
 +
<BR>
 +
[[Файл:KE_061.png]]<BR>
 +
Для просмотра цен через динамический лист необходимо выбрать город вылета, страну и период дат заездов. Можно наложить дополнительные фильтры на отбор туров по следующим параметрам:
 +
* Региону
 +
* Названию тура
 +
* Названию отеля
 +
* Типу номера
 +
* Стоимости
 +
* Продолжительности
 +
* Классу гостиницы
 +
* Питанию
 +
* Наличию мест в отеле и на рейсе
 +
*      Списку услуг в отеле (включается настройкой [[Мастер-Web:Дополнительный модуль Подбор туров с наличием мест#Настройки в файле WEB.CONFIG|''useHotelServiceFilter'']])
 +
По нажатию кнопки «Подобрать тур», системой будут отобраны туры, отвечающие заданным условиям.
 +
<BR>
 +
[[Файл:KE_060.png]]<BR>
 +
Для того, чтобы при поиске в многоотельном туре были найдены свободные места (отметка о наличии мест была в состоянии «Есть»), необходимо, чтобы у каждого отеля в туре были свободные места.<BR>
 +
Отображение многоотельных туров регулируется настройкой '''SYSAlwaysShowMultiHotels''' в таблице '''SystemSettings'''.
 +
Информация в результатах поиска представлена в виде таблицы:
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" width=800px
 +
 
 +
|- style="background-color:#F2F2F2"
 +
 
 +
! width="40%" | Название поля в таблице
 +
! width="60%" | Выводимые данные
 +
 
 +
|- style="vertical-align:text-top"
 +
 
 +
| Заезд
 +
| Дата заезда.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Отель
 +
| Название гостиницы. По ссылке с названия гостиницы в новом окне откроется описание гостиницы, если URL страницы заведен в системе.
 +
|- style="vertical-align:text-top"
 +
 
 +
| ***
 +
| Категория гостиницы.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Регион
 +
| Город, к которому привязан отель.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Номер
 +
| Тип номера, на который указана цена.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Категория номера
 +
| Категория номера, на которую указана цена.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Размещение
 +
| Тип размещения, на которое указана цена.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Питание
 +
| Питание представлено значением типа питания, заведенным в соответствующем справочнике ПК Мастер-Тур.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Ночи
 +
| Продолжительность тура в ночах.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Цена
 +
| Стоимость тура.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Вал
 +
| Валюта, в которой указана цена.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Источник цены
 +
| Название тура. По ссылке с названия тура в новом окне откроется описание тура, если URL страницы заведен в системе. Цены указаны за человека или за номер меняется в зависимости от настройки в конфигурационном файле ''web.config''.
 +
|- style="vertical-align:text-top"
 +
 
 +
| Крайний срок подачи документов на визу
 +
| Максимальная дата подачи документов на визу для выбранной даты заезда. Данное информационное поле отображается только для визовых стран. Данные для отображения в этом поле берутся из поля «Крайний срок (агентство)» плагина Мастер-Тура [[Мастер-Тур:Дополнительный_модуль_График_работы_консульств | "График работы консульств"]].
 +
|- style="vertical-align:text-top"
  
 +
| Наличие мест
 +
| Наличие мест в гостинице.
 +
|- style="vertical-align:text-top"
  
 +
| Эконом, Бизнес
 +
| Наличие мест на авиаперелеты. Колонки и их названия формируются динамически. Их отображение регулируется настройкой в конфигурационном файле ''web.config''.
 +
|- style="vertical-align:text-top"
 +
|}
  
 +
По ссылке с цены, представленной в таблице, можно перейти в экран «Корзина услуг» по данной продолжительности и размещению с возможностью отправки запроса на бронирование.
 
[[Category:Мастер-Web_Дополнительные_модули]]
 
[[Category:Мастер-Web_Дополнительные_модули]]

Текущая версия на 10:06, 2 февраля 2018

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

Более ранние версии:
До версии ПК «Мастер-Тур» 2009.2.12 включительно
До версии ПК «Мастер-Тур» 2009.2.15 включительно
До версии ПК «Мастер-Тур» 2009.2.17 включительно


Содержание

Введение

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

Установка

Для установки надстройки «Динамический лист с наличием мест» нужно выложить распакованные файлы из архива mw-quoteddynamic-2007.2.XX.XXXX.zip в каталог, где лежит ПК Мастер-Web.

Настройка

После установки Надстройка «Динамический лист с наличием мест» доступна по адресу http: //ip-адрес сервера/MasterWeb/Extra/QuotedDynamic.aspx.

Настройки в файле WEB.CONFIG

Дополнительные настройки, задаваемые в файле web.config, находящемся в папке MasterWeb позволяют задать дополнительные условия для отображения и проверки данных.

Описание Значение Настройка
1 Включение возможности поиска по актуальным местам в экране «Динамический лист с наличием мест»
2 — включить возможность поиска по актуальным местам
<add key="pagingType" value="2" />
2 Производить поиск перелетов, если на один из них закончились места и стоит настройка noPlacesQuoteResult = request
  • true — подбирать перелет, если места на текущий перелет закончились, по запросу или отсутствует расписание
  • false или отсутствие настройки — не подбирать перелет, если места на текущий перелет закончились или отсутствует расписание
<add key="searchFlightsOnRequest" value="true" />
3 Отключение ссылок в экранах «Ценовой лист» и «Динамический лист предложений» для перехода в экран «Корзина» (у пользователей сайта не будет возможности перейти к оформлению заявки).
  • true или отсутствие настройки — ссылки есть
  • false — ссылок нет
<add key="priceLinksEnabled" value="false" />
4 Обработка стоп-сейлов на авиаперелет
  • true — обрабатывать стоп-сейлы на авиаперелет
  • false или отсутствие настройки — не обрабатывать
<add key="checkStopAvia" value="true" />
5 Определяет справочник, по которому будет проверяться количество основных мест при поиске в экране «Динамический лист предложений» и при бронировании в корзинах бронирования ПК «Мастер-Web».

Если соответствующее поле там не заполнено, то из справочника «Типы номеров».

<add key="useAccomodationPlaces" value="false" />
6 Настройка, определяющая страны, в которых цены заводятся за номер. Ключи стран через запятую (Ключи стран — это значения колонки cn_key в таблице tbl_country.)
<add key="costForRoomCountries" value="9,86,461" />
7 Определяет справочник, по которому будет проверяться количество дополнительных мест при поиске в экране «Динамический лист предложений» и при бронировании в коризинах бронирования ПК «Мастер-Web».

Если соответствующее поле там не заполнено, то из справочника «Типы размещений».

<add key="useRoomsExtraPlaces" value="false" />
8 Формат вывода названий питания
  • short — выводить коды питания
  • full — выводить полные названия
<add key="pansionNames" value="full" />
9 Формат вывода названий размещений
  • short — выводить коды размещений
  • full — выводить полные названия
<add key="roomNames" value="full" />
10 Настройка округления суммы в национальной валюте.
  • ceil — округлять в большую сторону;
  • floor — округлять в меньшую сторону;
  • отсутствие настройки — не округлять.
<add key="exchangeRoundType" value="ceil" />
11 Настройка, управляющая отображением ссылки на дополнительное описание. При включенной настройке, если для тура заполнено дополнительное описание, то автоматически генерируется ссылка на страницу TourDescription.aspx, в которую вставляется дополнительное описание.
  • true — отображать ссылку на дополнительное описание тура
  • false или отсутствие настройки — отображать ссылку на описание тура (URL)
<add key="EnableTourDescriptionUrl" value="true" />
12 Настройка, включающая в экране «Динамический лист с наличием мест» возможность поиска цен по услугам в отелях
  • true — включить возможность поиска по услугам в отеле
  • false или отсутствие настройки — возможность поиска по услугам в отелях выключена
<add key="useHotelServiceFilter" value="true" />
13 Настройка, определяющая максимальный период для отбора данных в экранах: Максимальное количество дней, на которое можно производить отбор данных
<add key="tourDatesIntervalLimit" value="7" />
14 Настройка, определяющая таблицу, из которой должен браться внутренний курс валют компании для пересчета стоимости туров в национальную валюту.
  • RealCoursesFix — внутренний курс компании хранится в таблице [RealCoursesFix] (при использовании ПК «Мастер-Финанс»);
  • Courses - внутренний курс берется из таблицы [Courses];
  • RealCourses или отсутствие настройки — внутренний курс хранится в таблице [RealCourses].
<add key="realCoursesSource" value="RealCoursesFix" />
15 Настройка, включающая в экране «Динамический лист с наличием мест» дополнительный фильтр по виду тура. Возможными вариантами фильтрации являются:
Все 
Поиск по всем турам вне зависимости от их вида
Пакетные туры 
Поиск туров, в составе которых есть услуги «Авиаперелет»
Наземное обслуживание 
Поиск туров без перелетов
  • true — включить видимость фильтра по виду тура
  • false или отсутствие настройки — фильтр по виду тура не отображается
<add key="showKindOfTours" value="true" />
16 Настройка, позволяющая осуществлять проверку наличия мест в квотах от любого партнера вне зависимости от того, какой партнер предоставляет цену.

При проверке наличия мест у услуги Авиаперелет данная настройка взаимодействует с настройкой checkFlightPacket.

  • true — осуществлять проверку наличия мест от любого партнера
  • false или отсутствие настройки — проверка наличия мест осуществляется только по партнеру, предоставляющему цену
<add key="checkAllPartnersQuota" value="true" />
17 Отображение наличия мест (на квотируемые услуги) в экранах в случае, если закончились свободные места в квоте.
  • no — «СТОП» (нет квот);
  • request — «Запрос» (места по запросу);
  • отсутствие настройки — «СТОП».
<add key="noPlacesQuoteResult" value="request" />
18 Отображение наличия мест в экранах, если релиз-период = 0.
  • true — отображается «Запрос», даже если в квоте еще есть свободные места
  • false или отсутствие настройки — отображается статус в соответствии с обычными правилами
<add key="setRequestIfReleaseIsZero" value="true" />
19 Проверка агентской квоты
  • true или отсутствие настройки — квоты разделяются на агентские/общие
  • false — агентские квоты игнорируются, проверяется только общая квота
<add key="checkAgentQuotesEnabled" value="true" />
20 Проверка общей квоты, если закончились места в агентской
  • true или отсутствие настройки — если агентская квота закончилась, то проверяется общая квота
  • false — если агентская квота закончилась, общая не проверяется
<add key="checkAgentAndCommonQuote" value="true" />
21 Проверка квот без продолжительности после того, как заканчиваются квоты на продолжительность
  • true или отсутствие настройки — проверять квоты без продолжительности после того, как закончатся квоты на продолжительность
  • false — не проверять квоты без продолжительности
<add key="checkNoLongQuota" value="true" />
22 Наличие мест, отображаемое при наступлении релиз-периода
  • request — запрос
  • no — нет
<add key="expiredReleaseQuoteResult" value="request" />
23 Значение, определяющее наличие мест «Есть» Текстовое или символьное значение, например, Есть или +
<add key="quotaYesText" value="Есть" />
24 Значение, определяющее наличие мест «Нет» Текстовое или символьное значение, например, Нет или -
<add key="quotaNoText" value="Нет" />
25 Значение, определяющее наличие мест «Запрос» Текстовое или символьное значение, например, Запрос или ?
<add key="quotaRequestText" value="Запрос" />
26 Значение, определяющее наличие мест «Мало» Текстовое или символьное значение, например, Мало или +
<add key="quotaFewText" value="Мало" />
27 Настройка, реализующая возможность вывода числового значения оставшихся мест в случае, когда достигнуто значение «Мало» в экране «Подбор туров с наличием мест»
  • true — отображается числовое значение оставшихся мест в случае наличия мест «Мало»
  • false или отсутствие настройки — при наличие мест «Мало» отображается значение, которое прописано в настройке quotaFewText
<add key="showFewCountInQD" value="true" />
28 Настройка, реализующая возможность просмотра условий бронирования тура в экране «Динамический лист с наличием мест»
  • text — выводить условия бронирования в виде текста на странице в колонке «Условия бронирования»
  • link — в колонке «Условия бронирования» отображается иконка, по нажатию которой открывается окно с условиями бронирования тура
  • none или отсутствие настройки — не отображать колонку «Условия бронирования»
<add key="displayTourDescription" value="link" />
29 Настройка, позволяющая вывести ссылку на результат поиска в экране «Динамический лист с наличием мест». Ссылка отобразится в поле «Ссылка на результат»
  • true — отобразить ссылку на результат поиска
  • false или отсутствие настройки — ссылка на результат поиска не отображается
<add key="showSearchUrl" value="true" />
30 Настройка, регулирующая формат отображения даты в экранах «Ценовой лист» и «Подбор туров с наличием мест»
  • true — отображать дату начала и дату окончания тура
  • false или отсутствие настройки — отображать только дату заезда
<add key="priceListShowBothDates" value="true" />
31 Настройка, определяющая необходимость отображения стоимости туров в национальной валюте по умолчанию в экранах «Ценовой лист» и «Подбор туров с наличием мест»
  • true или отсутствие настройки — отображать стоимость туров в национальной валюте в экранах «Ценовой лист» и «Подбор туров с наличием мест»
  • false — отображать стоимость туров в у.е. в экранах «Ценовой лист» и «Подбор туров с наличием мест»
<add key="showCostInNationalRate" value="true" />
32 Настройка, определяющая порядок сортировки результатов поиска в экране «Подбор туров с наличием мест». Значение данной настройки заменяет сортировку по цене (поле pt_price в таблице mwPriceDataTable) в сортировочном выражении Поля таблицы mwPriceDataTable, по которым необходимо сортировать данные в результирующей таблице.

Пример основных полей:

PT_TourDate дата заезда по туру
PT_Nights продолжительность тура в ночах
PT_TourType ключ типа тура
PT_Price цена
PT_HDName название отеля
PT_TourName название тура
PT_PNName название питания
PT_PNCode код типа питания
PT_RMName название типа номера
PT_RMCode код типа номера
PT_RCName название категории номера
PT_RCCode код категории номера
PT_ACName название типа размещения
PT_ACCode код типа размещения
PT_RSName название курорта
PT_RMOrder порядок сортировки типов номеров
PT_RCOrder порядок сортировки категорий номеров
PT_ACOrder порядок сортировки типов размещения

Для сортировки данных по порядку (прямая сортировка) после названия поля нужно либо не указывать ничего, либо указать значение asc.
Для сортировки данных в обратном порядке (обратная сортировка) после названия поля нужно указать значение desc.

<add key="priceSortReplacement" value="pt_tourdate desc, pt_hdname asc, pt_price" />
33 Настройка, включающая возможность перехода в экран «Наличие мест на рейсы» или «Полетные программы» из экрана «Подбор туров с наличием мест» при наличии мест «Есть» или «Мало»
  • aviaquotes — при наличии мест на рейсы «Есть» или «Мало» существует возможность перехода в экран «Наличие мест на рейсы»
  • aviatimelist — при наличии мест на рейсы «Есть» или «Мало» существует возможность перехода в экране «Полетные программы»
<add key="quotedDynamicAviaQuotesLinkTarget" value="aviatimelist" />
34 Настройка, определяющая необходимость поиска данных не по точному совпадению количества основных и дополнительных мест, указанных в соответствующих фильтрах экрана «Подбор туров с наличием мест», а по сумме основных и дополнительных мест (если не указаны возраста детей в фильтрах).
  • true — включается возможность поиска по сумме основных и дополнительных мест
  • false или отсутствие настройки — поиск осуществляется по точному совпадению количества основных и дополнительных мест, указанных в поисковом фильтре
<add key="useTotalPlaceAmount" value="true" />
35 Настройка, включающая отображения списка услуг, входящих в стоимость, при наведении курсора на цену в экране «Подбор туров с наличием мест»
  • true — отображать список услуг, входящих в стоимость, при наведении курсора на цену
  • false или отсутствие настройки — список услуг, входящих в стоимость, не отображается
<add key="showQDPricePopup" value="true" />
36 Настройка, при включении которой выбор валюты осуществляется в экране «Подбор туров с наличием мест». Данная настройка влияет только на отображение стоимости тура в корзине.
  • true — выбор валюты осуществляется в экране поиска тура и далее выбранная для тура валюта используется при отображении его стоимости в корзине
  • false или отсутствие настройки — выбор валюты доступен в экранах «Подбор туров с наличием мест», «Динамический лист с ценами по туру», «Ценовой лист», в корзине стоимость тура отображается либо в национальной валюте, либо в валюте тура

Внимание!
Для корректной работы данной настройки необходимо отключить настройку отображения цен в корзине в национальной валюте — <add key="ShowBasketCostInNationalRate" value="false" />.

<add key="UseSearchDefinedCurrency" value="true" />
37 Настройка, включающая отображение доплат по отелю в поле «Условия бронирования» экрана «Подбор туров с наличием мест». Доплаты отображаются из описания отеля в ПК «Мастер-Тур»
  • true — отображаются доплаты по отелю в поле «Условия бронирования»
  • false или отсутствие настройки — доплаты по отелю не отображаются
<add key="ShowHotelSurcharge" value="true" />
38 Настройка, которая позволяет указать, по какому курсу будет рассчитываться цена тура
  • plan — цены пересчитываются по плановому курсу валют из справочника МТ (обязательно должна быть прописана вместе с настройкой <add key="realCoursesSource" value="Courses" />)
  • real или отсутствие настройки — цены пересчитываются по реальному курсу из справочника МТ
<add key="courseType" value="plan" />
39 Настройка, включающая отображение колонки «Крайний срок подачи документов на визу». Настройка работает в экране «Подбор туров с наличием мест». Крайний срок подачи документов задается в дополнительном модуле «График работы консульств».
  • true — включить отображение колонки «Крайний срок подачи документов на визу» в таблице результатов
  • false или отсутствие настройки — отключить отображение колонки «Крайний срок подачи документов на визу» в таблице результатов
<add key="showVisaDeadlineColumn" value="true" />
40 Настройка, определяющая проставление чекбоксов наличия мест у отелей.
  • None — ничего не выбрано
  • Yes — только гарантированные места
  • Request — только места под запрос
  • NoFlight или отсутствие настройки — гарантированные места и места под запрос
  • All — гарантированные места, места под запрос и мест нет

(значения настроек регистрозависимые)

<add key="hotelQuotaMask" value="Yes" />
41 Настройка, определяющая проставление чекбоксов наличия мест у авиаперелетов.
  • None — ничего не выбрано
  • Yes — только гарантированные места
  • Request — только места под запрос
  • NoFlight или отсутствие настройки — гарантированные места и места под запрос
  • All — гарантированные места, места под запрос и мест нет

(значения настроек регистрозависимые)

<add key="aviaQuotaMask" value="Yes" />
42 Настройка, включающая запись состояния фильтров «Подбор туров с наличием мест» (QuotedDynamic) в таблицу [SystemLog].
  • true — запись включена
  • false или отсутствие настройки — запись выключена
<add key="quotedDynamicFilterLog" value="true" />
43 Настройка, позволяющая переключать вид фильтра продолжительностей: чекбоксы или диапазон в экране «Подбор туров с наличием мест» (QuotedDynamic)
  • true — отображение фильтра в виде диапазона
  • false или отсутствие настройки — отображение фильтра в виде чекбоксов
<add key="ShowNightsFilterInQDAsRange" value="true" />
44 Настройка, определяющая режим отображения фильтра по СПО в экране «Подбор туров с наличием мест» (QuotedDynamic)
ShowAll или отсутствие настройки 
Показывать все туры, включая те, у которых дата начала продаж еще не наступила.
ShowWithoutPrices 
В фильтре показывать все туры, включая те, у которых дата начала продаж еще не наступила. Цены по турам, у которых дата начала продаж еще не наступила, не показывать в результатах поиска.
ShowWithStartedSaleDate 
Показывать только туры, у которых дата начала продаж наступила.
<add key="SpoFilterDisplayMode" value="ShowAll" />
45 Настройка, позволяющая переключать вид фильтра «Тип тура»: выпадающий список или чекбоксы — в экране «Подбор туров с наличием мест» (QuotedDynamic)
  • true — отображение фильтра в виде чекбоксов
  • false или отсутствие настройки — отображение фильтра в виде выпадающего списка
<add key="ShowByTourTypesFilterInQDAsRange" value="true" />
46 Настройка, позволяющая производить запись истории запросов в экране «Подбор туров с наличием мест» (QuotedDynamic). Используется в дополнительном модуле «Сервис по работе с историей поисковых запросов».
  • true — производит запись истории запросов
  • false или отсутствие настройки — не производит запись истории запросов
<add key="EnableWriteToSearchHistory" value="true" />
47 Задание статуса заявки в ПК «Мастер-Тур», забронированной через систему бронирования ПК «Мастер-Web».
  • web — статус Web-турагент;
  • wait — статус Wait-лист;
  • отсутствие параметра или пустое значениестандартный статус в ПК «Мастер-Тур».

Подробнее см. Механизм изменения статуса путевки.

<add key="orderStatus" value="web" />
48 Настройка, определяющая список валют, доступных для выбора в экранах:
  • Динамический лист с наличием мест 3
  • Подбор туров с наличием мест
  • Распределенный поиск
Коды валют, доступных для выбора, через запятую
<add key="selectableCurrencies" value="$,Eu" />
49 Настройка, включающая фильтр «Состав тура» в экране «Подбор туров с наличием мест» (QuotedDynamic).
  • dropdown – отображение фильтра в виде выпадающего списка
  • checklist – отображение фильтра в виде чекбоксов
  • none или отсутствие настройки – отсутствие фильтра
<add key="ShowByTourContentFilter" value="dropdown" />
50 Настройка, включающая фильтр «Категория» в виде выпадающего списка вместо стандартного вида в экране «Подбор туров с наличием мест» (QuotedDynamic). Для корректного отображения фильтра необходимо заполнить в справочнике Категории отелей поля Порядок при печати в порядке приоритетности. При не заполненных полях Порядок при печати признак и лучше в фильтре «Категория» обрабатываться не будет.
  • true — включение отображения фильтра в виде выпадающего списка плюс возможность выбора всех значений, которые лучше выбранного в фильтре (регулируется признаком и лучше)
  • false или отсутствие настройки — включение отображения фильтра в стандартном виде
<add key="ShowByPriorityHotelCategory" value="true"/>
51 Настройка, включающая фильтр «Питание» в виде выпадающего списка вместо стандартного вида в экране «Подбор туров с наличием мест» (QuotedDynamic). Для корректного отображения фильтра необходимо заполнить в справочнике Типы питания поля Порядок при печати в порядке приоритетности. При не заполненных полях Порядок при печати признак и лучше в фильтре «Питание» обрабатываться не будет.
  • true — включение отображения фильтра в виде выпадающего списка плюс возможность выбора всех значений, которые лучше выбранного в фильтре (регулируется признаком и лучше)
  • partial - фильтр представлен выпадающим списком с возможностью выбора признака и лучше. Данный режим работы настройки отличается тем, что при активном признаке и лучше, подбор производится на основании приоритетов типов питания, а при отключенном признаке - в соответствии с кодом питания
  • false или отсутствие настройки — включение отображения фильтра в стандартном виде
<add key="ShowByPriorityPansionType" value="true"/>
52 Настройка, включающая отображение описания страны.

Внимание! Настройка работает с релиза 9220SP31.

  • true — включить отображение описания страны
  • false или отсутствие настройки — выключить отображение описания страны
<add key="showCountryDescriptionInQD" value="false"/>
53 Настройка, определяющая необходимость проверки пакета перелетов в туре при подборе рейсов в корзинах

При проверке наличия мест у услуги Авиаперелет данная настройка взаимодействует с настройкой checkAllPartnersQuota.

  • true или отсутствие настройки — подбирать рейс только из пакета, указанного в туре
  • false — производить подбор рейса из любого пакета
<add key="checkFlightPacket" value="true" />
54 Настройка, осуществляющая переход к результатам поиска
  • true — производить переход к результатам поиска
  • false или отсутствие настройки — не производить переход к результатам поиска
<add key="QDAutoScrollToResult" value="true" />
55 Настройка, исключающая национальную валюту из выбора валют при заполненной настройке selectableCurrencies в экранах:

Если настройка selectableCurrencies не задана, то вне зависимости от значения настройки ExcludeNationalCurrencyFromSelection на экране отображается национальная валюта и валюта у. е.

  • true — при заполненной настройке selectableCurrencies национальная валюта исключается из списка валют на экране
  • false или отсутствие настройки — список валют доступен в обычном режиме
<add key="ExcludeNationalCurrencyFromSelection" value="true" />
56 Настройка, позволяющая разделять цену по разрядам.
  • true — разделять цену по разрядам
  • false или отсутствие настройки — не разделять цену по разрядам
<add key="EnableDecimalSeparator" value="true" />
57 В экране «Динамический лист предложений» указание в поиске количества основных и дополнительных мест вместо типа номера и размещения, в случае, если цены указаны за номер.

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

  • true — отображаются поля для задания количества взрослых и детских размещений (вместо выпадающих списков для выбора типов номеров и размещений)
  • false или отсутствие настройки — поиск по типу номеров и размещению
<add key="costForRoom" value="true" />
58 Настройка, позволяющая выключить проверку того, что тур выставлен в интернет, т.е. дает возможность забронировать рассчитанный, но не выставленный в интернет тур.
  • true - разрешено бронировать не выставленные в интернет туры
  • false или отсутствие настройки - запрещено бронировать не выставленные в интернет туры
<add key="IsOfflineCalculatedToursBookingAllowed" value="false" />
59 Настройка, позволяющая осуществлять поиск туров с учётом городов посадки.

Внимание! Настройка работает начиная с релиза 9222SP1 и для правильной работы фильтра требуется дополнительная настройка.

  • true - включено отображение фильтра Город посадки.
  • false или отсутствие настройки - фильтр Город посадки отключен.
<add key="ShowTransferCityFilterInQD" value="true"/>
60 Настройка, включающая мультивалютное отображение цен в экране «QuotedDynamic.aspx» в результатах поиска и в расширенной корзине.

Отображение цен в результатах поиска:

  • первая колонка - выбранная валюта
  • вторая колонка - национальная валюта или валюта тура
  • третья колонка - $ или Eu

Отображение цен в расширенной корзине:

  • первая колонка - валюта тура
  • вторая колонка - национальная валюта
  • третья колонка - $ или Eu
  • true - включено мультивалютное отображение.
  • false или отсутствие настройки - мультивалютное отображение не включено.

Внимание!
Эта настройка является приоритетнее, чем настройки: selectableCurrencies, showBasketCostInNationalRate и useSearchDefinedCurrency. Для корректной работы этих настроек, настройку UseMultiCurrencies необходимо отключить.

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

Настройки отображения

Отображение тех или иных элементов поискового фильтра, а так же их вид, размер местоположение и т.д. настраивается через файл стилей styles.css. За настройки отображения отвечают следующие стили:

  • #dof_DepartureCityDiv – фильтр «Город вылета»;
  • #dof_CountryDiv – фильтр «Страна»;
  • #dof_TourTypeDiv – фильтр «Тип тура»;
  • #dof_TourContentDiv – фильтр «Состав тура» (доступен с релиза 9220SP31);
  • #dof_ResortDiv – название фильтра «Курорт»;
  • #dof_ResortDiv_InnerDiv – фильтр «Курорт»;
  • #dof_RegionDiv – название фильтра «Город»;
  • #dof_RegionDiv_InnerDiv – фильтр «Город»;
  • #dof_SpoDiv – фильтр «СПО»;
  • #dof_HotelDiv – название фильтра «Отель» + быстрый поиск отеля;
  • #hotelDivScroll – фильтр «Отель»;
  • #dof_TourDates – фильтр «Даты заезда»;
  • #dof_RoomTypeDiv – фильтр «Тип номера»;
  • #dof_ChildrenMainDiv – фильтр «Количество взрослых/детей на основном месте»;
  • #dof_ChildrenExtraDiv – фильтр «Количество взрослых/детей на доп. месте»;
  • #dof_NightsDiv – фильтр «Ночи»;
  • #dof_RoomCategoryDiv – фильтр «Категория» (гостиниц);
  • #dof_PansionDiv – фильтр «Питание»;
  • #dof_KindOfTourDiv – фильтр «Виды туров»;
  • #dof_PriceMaximumDiv – фильтр «Цена не более указанной величины»;
  • #dof_CurrencyDiv – контрол переключения валют;
  • #dof_QuotasDiv – контрол «Наличие мест»;
  • #dof_PageSizeDiv – выпадающий список с отображением строк на странице, отображаемых в результатах поиска;
  • #dof_SearchDiv – кнопка «Подобрать тур»;
  • #dof_UpdateProgressForLeftDiv – прогрессбар 1 ( );
  • #dof_UpdateProgressForMiddleDiv – прогрессбар 2 ( );
  • #dof_CountryDescriptionDiv – описание страны (с 9220SP31 описание включается по настройке showCountryDescriptionInQD). Необходимо выполнить следующие действия:
    • В файле DynamicOffersFilter.ascx в секции lblCountryDescription необходимо прописать True вместо False;
    • В файле Style.css настроить отображение стиля dof_CountryDescriptionDiv (также убедиться, что настройка Display для этого стиля не указана);
    • В системе администрирования ПК "Мастер-Web" в поле Примечание подраздела Страны -> Страна задать описание страны, которое должно отображаться.
  • .qd_Div – нижний колонтитул.

Каждый элемент стилей может содержать настройки:

  • Width – ширина элемента;
  • Height – высота элемента;
  • Overflow – отображение содержания блочного элемента, если оно целиком не помещается и выходит за область заданных размеров;
  • background-color – цвет фона;
  • background-image - фоновое изображение для элемента (например, background-image: url(images/back.jpg) можно задать для фона страницы);
  • Border – толщина, стиль и цвет границы вокруг элемента;
  • Display – определение того как элемент должен быть показан;
  • Position – способ позиционирования элемента относительно окна браузера или других объектов на веб-странице;
  • Top – для позиционированного элемента определяет расстояние от верхнего края родительского элемента, не включая отступ, поле и ширину рамки, до верхнего края дочернего элемента;
  • И т.д. (подробнее можно посмотреть на http://www.htmlbook.ru/css/).
Скрытие элементов фильтра

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

Display:none;

Для того, чтобы отобразить элемент, настройку Display нужно убрать.

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

Рассмотрим пример. Допустим, мы хотим скрыть фильтр «Курорт». Для этого мы добавляем настройку Display:none; для стилей #dof_ResortDiv и #dof_ResortDiv_InnerDiv:

#dof_ResortDiv
{
width:200px;
display:none;	
}
#dof_ResortDiv_InnerDiv
{
width: 100%; 
height: 74px; 
overflow: auto; 
background-color: LightGrey; 
border: solid 1px black;
display:none;
}

Данное изменение без позиционирования остальных элементов, либо без изменения их размера приводит к тому, что поисковый фильтр разъезжается:
ST56.png
Для того, чтобы фильтр выровнялся достаточно просто изменить значение настройки height для стиля #dof_RegionDiv_InnerDiv:

#dof_RegionDiv_InnerDiv
{
width: 100%; 
height: 193px; 
overflow: auto; 
background-color: LightGrey; 
border: solid 1px black;
}

Т.е. мы увеличиваем высоту фильтра «Регион»:
ST57.png

Настройки дизайна через header.ascx и footer.ascx

Для корректного отображения элементов дизайна header.ascx и footer.ascx необходимо проверить следующее:

  • При использовании файлов MasterPage, отличных от стандартного, необходимо заключить строку в тег
    с указанием id="FooterDiv" class="qd_Div":
 <div id="FooterDiv" class="qd_Div">     
 <!-- #include virtual="~/Controls/Footer.ascx" -->  
 </div>  
  • Содержание файла footer.ascx не должно начинаться с закрывающих тегов.
  • При использовании табличной верстки (содержание файла начинается с закрывающих тегов) необходимо разбить футер на 2 файла:

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

в файле MasterPage; - второй файл должен содержать в себе html, который корректно будет обрабатываться внутри тега

;

Пример:

 </table>
 <!-- #include virtual="~/Controls/Footer1.ascx" -->
 <div id="FooterDiv" class="qd_Div">     
 <!-- #include virtual="~/Controls/Footer2.ascx" --> 
 </div>

Настройки экрана «Динамический лист предложений с наличием мест»

Настройки для данного экрана задаются в файле web.config, находящемся в папке MasterWebStandard. Данные настройки регулируют отображение тарифов на авиаперелеты, питания и категорий гостиниц. Для этого в конфигурационном файле добавляется секция <MasterWeb>.
781.PNG
Данная секция содержит 3 подсекции настроек:

  1. dynamicCharterClasses – список тарифов на авиаперелет
  2. dynamicBoard – список типов питания
  3. dynamicHotelCategories – список категорий гостиниц.

Настройка секции dynamicCharterClasses

Данная секция определяет какие колонки тарифов на авиаперелет будут отображаться в результатах поиска в экране «Подбор туров с наличием мест». Секция dynamicCharterClasses должна содержать как минимум одно значение. Для добавления нового значения необходимо добавить строчку вида: <add name="Название тарифа на авиаперелет" keys="ключи тарифов, задаются через запятую без пробелов"/> В значениях параметра name указывается название колонки, которое будет отображаться в экране «Подбор туров с наличием мест», а в значениях параметра keys перечисляются ключи тарифов на авиаперелет. Ключи тарифов на авиаперелет хранятся в таблице AirService.

Настройка секции dynamicBoard

Данная секция определяет, как будут отображаться типы питания в поисковом фильтре экрана «Подбор туров с наличием мест». Параметр mode= в настройках секции <dynamicBoard /> определяет вид группировки типов питания:

  • simple – не группировать типы питания, отображать все варианты из рассчитанных цен;
  • complex – группировать типы питания в соответствии с настройками в секции dynamicBoard;
  • global – группировать типы питания по глобальному коду, указанному в справочнике «Типы питания».
Вариант simple

При выборе варианта simple дополнительных настроек не требуется.

Вариант complex

Если выбран вариант complex, то необходимо:

  1. Определить вид группировки типов питания. Для этого в секции dynamicBoard необходимо добавить нужные значения типов питания. Для добавления нового значения необходимо добавить строчку вида:

<add name="Название типа питания" keys="ключи типов питания, задаются через запятую без пробелов"/> В значениях параметра name указывается название типа питания, которое будет отображаться в экране «Подбор туров с наличием мест», а в значениях параметра keys перечисляются ключи типов питания. Ключи типов питания хранятся в таблице Pansion.

  1. Закомментировать или удалить в файле MasterWebStandard/templates/bindSchemeQuotedDynamic.xml секцию:

<control name="chklBoard" priority="9" type="Pansion" itemType="System.Int32" alwaysSelected="false"> <dependency control="ddlDepartFrom" /> <dependency control="ddlCountry" /> <dependency control="chklRegion" /> <dependency control="ddlTour" /> </control>

Вариант global

Если выбран вариант global, то необходимо заполнить поле «Глобальный код» в справочнике «Типы питания». Например, в справочнике есть типы питания All Inclusive, Ultra All Inclusive, Max All Inclusive, по сути обозначающие тип питания «Всё включено». Для того, чтобы сгруппировать эти типы питания, нужно в поле «Глобальный код» справочника «Типы питания» для этих типов прописать одно и то же значение, например ALL. В этом случае в поисковом фильтре экрана «Подбор туров с наличием мест» отобразится значение ALL, но при поиске будут отбираться данные по всем трем типам питания.

Настройка секции dynamicHotelCategories

Данная секция определяет, как будут отображаться категории отелей в поисковом фильтре экрана «Подбор туров с наличием мест». Параметр mode= в настройках секции <dynamicHotelCategories /> определяет вид группировки категорий гостиниц:

  • simple – не группировать категории отелей, отображать все варианты из рассчитанных цен;
  • complex – группировать категории отелей в соответствии с настройками в секции dynamicHotelCategories;
  • global – группировать категории отелей по глобальному коду, указанному в справочнике «Категории отелей».
Вариант simple

При выборе варианта simple дополнительных настроек не требуется.

Вариант complex

Если выбран вариант complex, то необходимо:

  1. Определить вид группировки категорий отелей. Для этого в секции dynamicHotelCategories необходимо добавить нужные значения категорий гостиниц. Для добавления нового значения необходимо добавить строчку вида:

<add name="Категория отеля" keys="варианты категорий гостиниц, задаются через запятую без пробелов"/> В значениях параметра name указывается категория гостиницы, которая будет отображаться в экране «Подбор туров с наличием мест», а в значениях параметра keys перечисляются варианты категорий гостиниц, которые соответствуют значению в поле name.

  1. Закомментировать или удалить в файле MasterWebStandard/templates/bindSchemeQuotedDynamic.xml секцию:

<control name="chklCategory" priority="8" type="HotelStars" itemType="System.Int32" alwaysSelected="false"> <dependency control="ddlDepartFrom" /> <dependency control="ddlCountry" /> <dependency control="chklRegion" /> <dependency control="ddlTour" /> </control>

Вариант global

Если выбран вариант global, то необходимо заполнить поле «Глобальный код» в справочнике «Категории отелей». Например, в справочнике есть категории 5*, 5*+, 5*****, по сути обозначающие категорию отеля «5*». Для того, чтобы сгруппировать эти категории, нужно в поле «Глобальный код» справочника «Категории отелей» для этих категорий прописать одно и то же значение, например 5*. В этом случае в поисковом фильтре экрана «Подбор туров с наличием мест» отобразится значение 5*, но при поиске будут отбираться данные по всем трем категория отелей.

Передача параметров в экран «Динамический лист с наличием мест»

Данная настройка предусматривает возможность передачи различных параметров через URL страницы. При этом, если существуют рассчитанные прайсы по данной стране, то при загрузке страницы в фильтре данная страна автоматически будет выбрана в списке стран, и будут загружены значения в других поисковых полях. Пример строки подключения:
http:// ip-адрес сервера ПК Мастер-Web/MasterWebStandard/Extra/QuotedDynamic.aspx?country=90&departFrom=1&resort=1&city=275&tourtype=0&tour=267&hotel=3234&room=2&dateFrom=2008-08-15&dateTo=2008-08-25
(здесь параметры country=90&departFrom=1&resort=1&city=275&tourtype=0&tour=267&hotel=3234&room=2&dateFrom=2008-08-15&dateTo=2008-08-25, где «90», «1», «1», «275», «0», «267», «3234», «2», «2008-08-15» и «2008-08-25» их значения)
Возможные варианты:

  • сountry= ключ страны (обязательный параметр)
  • departFrom= ключ города вылета (обязательный параметр)
  • resort= ключи курортов через запятую
  • city= ключи городов через запятую
  • tourtype= ключ типа тура
  • tourcontent= ключ состава тура (работает начиная с релиза 9220SP32)
  • tour= ключ тура в таблице TP_Tours
  • tourlistkey= ключ тура в таблице tbl_TurList
  • hotel= ключи отелей через запятую
  • stars= категории гостиниц через запятую.
    Внимание! Начиная с релиза 9220SP32, при включенной настройке "ShowByPriorityHotelCategory" в web.config данный параметр используется в следующем формате: stars= категория гостиницы_признак "и лучше". Признак "и лучше": 0 - выключен, 1 - включен. Если настройка "ShowByPriorityHotelCategory" будет включена в web.config, и параметр stars будет содержать список категорий гостиниц через запятую, тогда для фильтра категорий будет использоваться первый ключ из списка, а признак "и лучше" будет выключен.
  • hotelOptions= ключи услуг в отелях через запятую
  • pansion= ключи типов питания через запятую.
    Внимание! Начиная с релиза 9220SP32, при включенной настройке "ShowByPriorityPansionType" в web.config данный параметр используется в следующем формате: pansion= ключ типа питания_признак "и лучше". Признак "и лучше": 0 - выключен, 1 - включен. Если настройка "ShowByPriorityPansionType" будет включена в web.config, и параметр pansion будет содержать список ключей питания через запятую, тогда для фильтра питания будет использоваться первый ключ из списка, а признак "и лучше" будет выключен.
  • room= ключ типа номера
  • roomCategory= ключ категории номеров
  • adults= количество взрослых
  • childs= количество детей
  • firstChildAge= возраст первого ребенка
  • secondChildAge= возраст второго ребенка
  • dateFrom= дата заезда с
  • dateTo= дата заезда по
  • pricelink_target= открытие ссылки на корзину (_top – в текущем окне, _blank – в отдельном)
  • target= открытие результатов поиска в отдельном окне (blank – открытие страницы с результатами поиска в отдельном окне)
  • pkey= ключ партнера, которому должна отправляться копия письма о новом бронировании при оформлении путевок в экранах «Корзина», «Упрощенная корзина» и «Упрощенная корзина 2» (данный параметр удобно использовать, например, если экран «Динамический лист с наличием мест» встроен в сайт агентства с использованием фреймов)
  • aviaQuotaMask= отметки наличия мест на авиаперелеты (1 – наличие мест «Есть»; 2 – наличие мест «Нет»; 3 – наличие мест «Есть» и «Нет»; 4 – наличие мест «Запрос»; 5 – наличие мест «Есть» и «Запрос»; 6 – наличие мест «Запрос» и «Нет»; 7 – наличие мест «Есть», «Нет» и «Запрос»)
  • hotelQuotaMask= отметки наличия мест в отеле (1 – наличие мест «Есть»; 2 – наличие мест «Нет»; 3 – наличие мест «Есть» и «Нет»; 4 – наличие мест «Запрос»; 5 – наличие мест «Есть» и «Запрос»; 6 – наличие мест «Запрос» и «Нет»; 7 – наличие мест «Есть», «Нет» и «Запрос»)
  • showResults= необходимость автоматического отбора данных при переходе в экран по ссылке с параметрами (0 – данные автоматически не отбираются)
  • priceLimit= цена до
  • mainOnly= поиск только по основным размещениям (обрабатывается только значение 1)
  • kindOfTours= виды тура (0 – все; 1 – пакетные туры; 2 – наземное обслуживание)
  • pageSize= количество записей на странице
  • nights= продолжительность в ночах
  • currency= валюта (cu – у.е.; national – национальная валюта; ISO-код валют через запятую)
  • additionalinfo= отображение дополнительного описания тура (отображается в самом верху экрана над фильтрами); доступные значения: 0- не отображать, 1 – отображать
  • autoShiftDays= количество дней, отсчитываемых от начальной даты в интервале дат заездов. Интервал ограничивается значением, указанным в настройке TourDatesIntervalLimit в web.config

Настройки на странице «Динамический лист с наличием мест»

Установка страны по умолчанию

Для того, чтобы установить страну, отображаемую по умолчанию, необходимо в файле templates\bindSchemeQuotedDynamic.xml в теге <control name="ddlCountry" priority="1" type="CountryReloaded" itemType="System.Int32"> добавить параметр default="ключ страны по умолчанию". Пример:

<control name="ddlCountry" priority="1" type="CountryReloaded" itemType="System.Int32" default="53">

Сортировка туров в фильтре

Данная настройка прописывается в файле templates\bindSchemeQuotedDynamic.xml в теге

<control name="ddlTour" priority="5" type="Tour" itemType="System.Int32" firstItem="mwBinderOptionalItem" sort="sd_tourname asc">
<dependency control="ddlDepartFrom" />
<dependency control="ddlCountry" />
<dependency control="ddlTourType" />
<dependency control="chklResort" />
<dependency control="chklRegion" />
</control>

Параметр sort указывает, по какой колонке из таблицы mwSpoData необходимо отсортировать туры.

Поиск туров по городу посадки

В web.config основного приложения должна быть включена настройка ShowTransferCityFilterInQD, а также необходимо осуществить настройку в файле templates\bindSchemeQuotedDynamic.xml
Необходимо добавить тег:

<control name="ddlTransferCity" priority="1" type="TransferCity" itemType="System.Int32" alwaysSelected="false" firstItem="mwBinderOptionalItem" firstItemValue="-1">
<dependency control="ddlDepartFrom" />
<dependency control="chkSpoGroups" />
</control>

А также, в тегах ddlCountry, ddlTourType, chklTourTypes, ddlTourContent, chklTourContent, chklResort, chklRegion, ddlTour, treeViewHotelCategories, chklHotel, ddlRoom, chklDuration, ddlDurationFrom, chklCategory, chklBoard, ddlCategoryPriority, ddlPansionPriority, ctrlCalendar, ddlDurationTo дописать зависимость <dependency control="ddlTransferCity" /> сразу после <dependency control="ddlDepartFrom" />.

Отображение названия курорта в фильтре «Отели»

Для того, чтобы в фильтре «Отели» отображалось название курорта, нужно открыть в текстовом редакторе файл \MasterWebStandard\templates\ bindSchemeQuotedDynamic.xml и в теге <control name="chklHotel" priority="5" type="HotelLink" itemType="System.Int32" alwaysSelected="false"> изменить значение параметра type="HotelLink" на type="HotelResortLink". Пример:

  <control name="chklHotel" priority="5" type="HotelResortLink" itemType="System.Int32" alwaysSelected="false">

Изменение фильтра «Город» на фильтр «Курорт»

Для того, чтобы в фильтре «Регион» вместо городов отображались курорты, нужно открыть в текстовом редакторе файл \MasterWebStandard\templates\ bindSchemeQuotedDynamic.xml и в теге <control name="chklRegion" priority="2" type="City" itemType="System.String" alwaysSelected="false"> изменить значение параметра type="City" на type="Resort". Пример:

 <control name="chklRegion" priority="2" type="Resort" itemType="System.String" alwaysSelected="false">

Отображение поля «Цена за»

Для того чтобы отобразить поле «Цена за» в экране «Динамический лист с наличием мест» нужно открыть в текстовом редакторе файл \MasterWebStandard\Controls\DynamicOffersTable.ascx и в теге <asp:TemplateColumn HeaderText="Цена<br>за" SortExpression="priceFor" Visible="false"> изменить значение параметра Visible="false" на Visible="true" Пример:
<asp:TemplateColumn HeaderText="Цена<br>за" SortExpression="priceFor" Visible="true" >

Отображение иконки рядом с названием отелей

Для того чтобы отобразить иконку рядом с названием отелей в экране «Подбор туров с наличием мест» нужно открыть в текстовом редакторе файл \MasterWebStandard\Controls\DynamicOffersTable.ascx и в теге

<%--<asp:Literal ID="htt_img" runat="server" Text='<%# Megatec.Common.DataAccess.Manager.DbObj.ExecuteScalar(string.Format 
("exec mwGetHotelTypeImageHtml {0}, \"..\\images\\\"", DataBinder.Eval (Container, "DataItem.HotelKey"))).ToString() %>' />--%>

убрать теги комментария <%-- --%>. Пример:

<asp:Literal ID="htt_img" runat="server" Text='<%# Megatec.Common.DataAccess.Manager.DbObj.ExecuteScalar(string.Format 
("exec mwGetHotelTypeImageHtml {0}, \"..\\images\\\"", DataBinder.Eval (Container, "DataItem.HotelKey"))).ToString() %>' />


Для работы необходимо заполнить поле HTT_ImageName таблицы HotelTypes.

Отображение колонок наличия мест на перелеты в таблице результатов

Для того, чтобы полностью скрыть колонки с наличием мест на перелете в таблице с результатами экрана «Подбор туров с наличием мест» нужно открыть в текстовом редакторе файл \MasterWeb\Controls\QuotedDynamicControl.ascx и в теге <uc2:DynamicOffersTable id="DynamicOffersTable" runat="server" > добавить настройку HideCharterColumns="True". Пример:
<uc2:DynamicOffersTable id="DynamicOffersTable" runat="server" HideCharterColumns="True">

Кэширование

Для ускорения процесса поиска применяется внутренний механизм кэширования.

Наличие мест

Интервал обновления кэша квот - 10 минут. Для включения механизма никаких дополнительных настроек указывать не нужно.

Подмешивание отелей в результаты поиска (Smart Search)

Внимание! Данная функциональность не входит в стандартную версию. Поставляется отдельно.

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

Настройка таблицы HotelPriorities

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

  • HP_HDkey – код отеля (колонка HD_Key из таблицы HotelDictionary);
  • HP_CountryPriority – приоритет для страны;
  • HP_ResortPriority – приоритет для курорта;
  • HP_CityPriority – приоритет для города.

Обработка подбора отелей по приоритетам

При подборе тура отели будут выводится в зависимости от заданных данных в фильтрах Страна, Курорт, Город:

Пример:
Заполнены приоритеты для отелей:
Hotel1 (Анталия/курорт X) – Приоритет 1 для страны, приоритет 2 для курорта, приоритет 1 для города
Hotel2 (Анталия/курорт X) - Приоритет 2 для страны, приоритет 1 для курорта, приоритет 2 для города
Hotel3 (Белек/курорт X) - Приоритет 3 для страны, приоритет 4 для курорта, приоритет 2 для города
Hotel4 (Белек/курорт X) - Приоритет страны не задан, приоритет 3 для курорта, приоритет 1 для города
Hotel5 (Алания/курорт Y) - Приоритет страны не задан, приоритет 2 для курорта, приоритет 1 для города
Hotel6 (Алания/курорт Y) - Приоритет страны не задан, приоритет 1 для курорта, приоритет 2 для города

Таблица HotelPriorities

Вывод отелей будет осуществляться следующим образом:

Если выбран только фильтр по Страна:

  • Hotel1
  • Hotel2
  • Hotel3
  • Далее все отели по стандартной схеме


Если выбран фильтр Страна и фильтр Курорт X:

  • Hotel2
  • Hotel1
  • Hotel4
  • Далее все отели по стандартной схеме


Если выбран фильтр Страна и фильтр Курорт X и Y:

  • Hotel2
  • Hotel6
  • Hotel1 или Hotel5
  • Далее все отели по стандартной схеме


Если выбран фильтр Страна, фильтр Курорт X и Город Анталия:

  • Hotel1
  • Hotel2
  • Hotel4
  • Далее все отели по стандартной схеме


Если выбран фильтр Страна, Город Анталия и Алания:

  • Hotel1
  • Hotel5
  • Hotel2 или Hotel6
  • Далее все отели по стандартной схеме


Данные отели будут отображены только в том случае, если по данным отелям есть свободные места по заведенным квотам. Если мест нет или стоит StopSale, то отели подмешиваться в результаты поиска не будут.
В результат поиска может быть подмешено максимум 3 отеля.
Если при поиске не найдены значения в колонке города, будут подмешиваться курорты. Если не найдены регионы, будет подмешиваться страна.
При сортировке по любой колонке в экране QuotedDynamic подмешивание результатов сбрасывается.
Все отели, для которых не проставлен приоритет, но они попадают под заданные фильтры - будут отображаться согласно существующим правилам (сортировка по цене).
Осуществляется вывод только наиболее дешевого размещения для заданных фильтров «количество основных и дополнительных мест». Из отображения исключаются размещения, где присутствует инфант.

Фильтрация по числу основных/дополнительных или взрослых/детских мест

По умолчанию туры в экране «Подбор туров с наличием мест» фильтруются по количеству основных/дополнительных мест. Но альтернативно можно осуществлять фильтрацию по числу взрослых/детских мест.
Данные заполняются в справочнике типов размещения.
Для этого необходимо в таблице SystemSettings в основной базе данных создать параметр OnlineFindByAdultChild и установить его равным 1, а также убедиться, что в ней присутствует параметр MWAccomodationPlaces со значением 1.

Полезная информация


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


Необходимо сделать некоторые изменения в файлах:

DynamicOffersFilter.ascx

  <asp:Label runat="server" ID="lbChildrenMain" Text="Количество взрослых/детей на осн. месте" meta:resourcekey="lbChildrenMainResource1" ></asp:Label>

изменить на

  <asp:Label runat="server" ID="lbChildrenMain" Text="Количество взрослых" meta:resourcekey="lbChildrenMainResource1" ></asp:Label>



  <asp:Label runat="server" ID="lbChildrenExtra" Text="Количество взрослых/детей на доп. месте" meta:resourcekey="lbChildrenExtraResource1" ></asp:Label>

изменить на

  <asp:Label runat="server" ID="lbChildrenExtra" Text="Количество детей" meta:resourcekey="lbChildrenExtraResource1" ></asp:Label>


DynamicOffersFilter.ascx.resx или DynamicOffersFilter.ascx.en.resx

  <data name="lbChildrenMainResource1.Text" xml:space="preserve"> <value>Количество взрослых/детей на осн. месте</value>

изменить на

  <data name="lbChildrenMainResource1.Text" xml:space="preserve"> <value>Количество взрослых</value>



  <data name="lbChildrenExtraResource1.Text" xml:space="preserve"> <value>Количество взрослых/детей на доп. месте</value>

изменить на

  <data name="lbChildrenExtraResource1.Text" xml:space="preserve"> <value>Количество детей</value>

Подготовка данных

Экран «Динамический лист с наличием мест» осуществляет поиск и подбор цен по рассчитанным и выставленным в интернет турам. Для корректного отображения наличия мест по отелю и перелету необходимо заполнить справочник «Квоты» для услуг «Проживание» и «Авиаперелет».

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

Экран «Динамический лист предложений с наличием мест» (форма 1)

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

  • Региону
  • Названию тура
  • Названию отеля
  • Типу номера
  • Стоимости
  • Продолжительности
  • Классу гостиницы
  • Питанию

По нажатию кнопки «Подобрать тур», системой будут отобраны туры, отвечающие заданным условиям.
783.PNG
Для того, чтобы при поиске в многоотельном туре были найдены свободные места (отметка о наличии мест была в состоянии «Есть»), необходимо, чтобы у каждого отеля в туре были свободные места.

Отображение многоотельных туров регулируется настройкой SYSAlwaysShowMultiHotels в таблице SystemSettings. Если SYSAlwaysShowMultiHotels=1, то в экране «Подбор туров с наличием мест»
отображаются сразу названия нескольких отелей включенных в  тур, один под другим. Если SYSAlwaysShowMultiHotels=0, то отображается только главный отель в  туре. Для вступления настройки
в силу необходимо перезапустить пул приложения.

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

Название поля в таблице Выводимые данные
Заезд Дата заезда.
Отель Название гостиницы. По ссылке с названия гостиницы в новом окне откроется описание гостиницы, если URL страницы заведен в системе.
*** Категория гостиницы.
Регион Город, к которому привязан отель.
Номер Тип номера, на который указана цена.
Категория номера Категория номера, на которую указана цена.
Размещение Тип размещения, на которое указана цена.
Питание Питание представлено значением типа питания, заведенным в соответствующем справочнике ПК Мастер-Тур.
Ночи Продолжительность тура в ночах.
Цена Стоимость тура.
Вал Валюта, в которой указана цена.
Источник цены Название тура. По ссылке с названия тура в новом окне откроется описание тура, если URL страницы заведен в системе. Цены указаны за человека или за номер меняется в зависимости от настройки в конфигурационном файле web.config.
Крайний срок подачи документов на визу Максимальная дата подачи документов на визу для выбранной даты заезда. Данное информационное поле отображается только для визовых стран. Данные для отображения в этом поле берутся из поля «Крайний срок (агентство)» плагина Мастер-Тура "График работы консульств".
Наличие мест Наличие мест в гостинице.
Эконом, Бизнес Наличие мест на авиаперелеты. Колонки и их названия формируются динамически. Их отображение регулируется настройкой в конфигурационном файле web.config.

По ссылке с цены, представленной в таблице, можно перейти в экран «Корзина услуг» по данной продолжительности и размещению с возможностью отправки запроса на бронирование.

Экран «Динамический лист предложений с наличием мест» (форма 2)


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

  • Региону
  • Названию тура
  • Названию отеля
  • Типу номера
  • Стоимости
  • Продолжительности
  • Классу гостиницы
  • Питанию
  • Наличию мест в отеле и на рейсе
  • Списку услуг в отеле (включается настройкой useHotelServiceFilter)

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

Отображение многоотельных туров регулируется настройкой SYSAlwaysShowMultiHotels в таблице SystemSettings.

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

Название поля в таблице Выводимые данные
Заезд Дата заезда.
Отель Название гостиницы. По ссылке с названия гостиницы в новом окне откроется описание гостиницы, если URL страницы заведен в системе.
*** Категория гостиницы.
Регион Город, к которому привязан отель.
Номер Тип номера, на который указана цена.
Категория номера Категория номера, на которую указана цена.
Размещение Тип размещения, на которое указана цена.
Питание Питание представлено значением типа питания, заведенным в соответствующем справочнике ПК Мастер-Тур.
Ночи Продолжительность тура в ночах.
Цена Стоимость тура.
Вал Валюта, в которой указана цена.
Источник цены Название тура. По ссылке с названия тура в новом окне откроется описание тура, если URL страницы заведен в системе. Цены указаны за человека или за номер меняется в зависимости от настройки в конфигурационном файле web.config.
Крайний срок подачи документов на визу Максимальная дата подачи документов на визу для выбранной даты заезда. Данное информационное поле отображается только для визовых стран. Данные для отображения в этом поле берутся из поля «Крайний срок (агентство)» плагина Мастер-Тура "График работы консульств".
Наличие мест Наличие мест в гостинице.
Эконом, Бизнес Наличие мест на авиаперелеты. Колонки и их названия формируются динамически. Их отображение регулируется настройкой в конфигурационном файле web.config.

По ссылке с цены, представленной в таблице, можно перейти в экран «Корзина услуг» по данной продолжительности и размещению с возможностью отправки запроса на бронирование.