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

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
Строка 1310: Строка 1310:
 
  <!-- #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" -->   
+
<teg> <!-- #include virtual="~/Controls/Footer2.ascx" -->  </teg>
 
  </div
 
  </div
  

Версия 12:59, 26 октября 2011

Введение

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

Установка

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

Настройка

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

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

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

Описание

Значение

Настройка

1

Включение возможности поиска по актуальным местам в экране «Динамический лист с наличием мест»

1 – выключить возможность поиска по актуальным местам (форма 1);

2 – включить возможность поиска по актуальным местам (форма 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

Для поиска в экране «Динамический Лист предложений» и для правильного отображения количества человек в «Корзине», если количество основных мест указывается в Справочнике «Типы размещений»

true – количество основных мест берется из справочника «Типы размещений» и, если соответствующее поле там не заполнено, то из справочника «Типы номеров»;

false или отсутствие настройки– количество основных мест берется из справочника «Типы номеров»

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

6

Настройка, определяющая страны, в которых цены заводятся за номер. Используется в экране

Ключи стран через запятую

<add key="costForRoomCountries" value="9,86,461"/>

7

Для поиска в экране «Динамический Лист предложений» и для правильного отображения количества человек в «Корзине», если количество дополнительных мест указывается в Справочнике «Типы номеров»

– true - количество дополнительных мест берется из справочника «Типы номеров» и, если соответствующее поле там не заполнено, то из справочника «Типы размещений»

– false или отсутствие настройки - количество дополнительных мест берется из справочника «Типы размещений»

<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 (при использовании ПК Мастер-Финансы);

- RealCourses или отсутствие настройки – внутренний курс хранится в таблице RealCourses

<add key="realCoursesSource" value="RealCoursesFix" />

15

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

- все – поиск по всем турам вне зависимости от их вида;

- пакетные туры – поиск туров, в составе которых есть услуги «Авиаперелет»;

- наземное обслуживание – поиск туров без перелетов.

- true – включить видимость фильтра по виду тура;

- false или отсутствие настройки – фильтр по виду тура не отображается

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

16

Настройка, определяющая максимальный возможный возраст детей

Максимальный возраст ребенка

отсутствие настройки – максимальный возраст ребенка – 14 лет

<add key="maxChildAge" value="16"/>

17

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

- true – включить возможность распечатки счета;

- false или отсутствие настройки – печать счета запрещена

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

18

Отображение наличия мест (на квотируемые услуги) в экранах, если закончились свободные места в квоте

no: «СТОП»- нет квот;

request: «Запрос» места по запросу;

в отсутствии настройки статус: «СТОП»

<add key="noPlacesQuoteResult" value="request" />

19

Отображение наличия мест в экранах, если релиз-период = 0

true– отображается “запрос”, даже если в квоте еще есть свободные места;

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

< add key=

"setRequestIfReleaseIsZero" value="true" />

20

Проверка агентской квоты

- true или отсутствие настройки - квоты разделяются на агентские/общие

- false - агентские квоты игнорируются, и проверяется только общая квота

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

21

Проверка общей квоты, если закончились места в агентской

- true или отсутствие настройки - если агентская квота закончилась, то проверяется общая квота

- false - если агентская квота закончилась, общая не проверяется

<add key=

"checkAgentAndCommonQuote" value="true" />

22

Проверка квот без продолжительности после того, как заканчиваются квоты на продолжительность

- true или отсутствие настройки – проверять квоты без продолжительности после того, как закончатся квоты на продолжительность;

- false – не проверять квоты без продолжительности

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

23

Наличие мест, отображаемое при наступлении релиз-периода

- request – запрос;

- no – нет

<add key=" expiredReleaseQuoteResult " value="request" />

24

Значение, определяющее наличие мест «Есть»

Текстовое или символьное значение, например, «Есть» или «+»

<add key="quotaYesText" value="Есть"/>

25

Значение, определяющее наличие мест «Нет»

Текстовое или символьное значение, например, «Нет» или «-»

<add key="quotaNoText" value="Нет"/>

26

Значение, определяющее наличие мест «Запрос»

Текстовое или символьное значение, например, «Запрос» или «?»

<add key="quotaRequestText" value="Запрос"/>

27

Значение, определяющее наличие мест «Мало»

Текстовое или символьное значение, например, «Мало» или «+»

<add key="quotaFewText" value="Мало"/>

28

Настройка, реализующая возможность  вывода числового значения оставшихся мест в случае, когда достигнуто значение "Мало"

- true – отображается числовое значение оставшихся мест, в случае наличия мест «Мало»

 

- false или отсутствие настройки – настройка выключена, при наличие мест «Мало» отображается значение, которое прописано  в настройке quotaFewText

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

29

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

- true или отсутствие настройки – не проверять наличие мест, если статус услуги по умолчанию Ok (в этом случае наличие мест всегда отображается как «Есть» вне зависимости от состояния квот по услуге);

- false – проверять наличие мест, если статус услуги по умолчанию Ok (наличие мест отображается исходя из состояния квот по услуге в соответствии с настройками)

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

30

Настройка, реализующая возможность просмотра условий бронирования тура в экране «Динамический лист с наличием мест».

- text – выводить условия бронирования в виде текста на странице в колонке «Условия бронирования»;

- link – в колонке «Условия бронирования» отображается иконка, по нажатию которой открывается окно с условиями бронирования тура;

- none или отсутствие настройки – не отображать колонку «Условия бронирования»

<add key="displayTourDescription" value="link" />

31

Настройка, позволяющая вывести ссылку на результат поиска в экране «Динамический лист с наличием мест». Ссылка отобразится в поле «Ссылка на результат:».

- true – отобразить ссылку на результат поиска;

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

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

32

Настройка, регулирующая формат отображения даты в экранах «Ценовой лист» и «Подбор туров с наличием мест»

- true – отображать дату начала и дату окончания тура;

- false или отсутствие настройки – отображать только дату заезда

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

33

Настройка, определяющая необходимость отображения стоимости туров в национальной валюте в экранах «Ценовой лист» и «Подбор туров с наличием мест»

- true или отсутствие настройки – отображать стоимость туров в национальной валюте в экранах «Ценовой лист» и «Подбор туров с наличием мест»;

- false – отображать стоимость туров в у.е. в экранах «Ценовой лист» и «Подбор туров с наличием мест»

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

34

Настройка, определяющая порядок сортировки результатов поиска в экране «Подбор туров с наличием мест». Значение данной настройки заменяет сортировку по цене (поле 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" />

35

Настройка, включающая возможность перехода в экран «Наличие мест на рейсы» или «Полетные программы» из экрана «Подбор туров с наличием мест» при наличии мест «Есть» или «Мало»

- aviaquotes – при наличии мест на рейсы «Есть» или «Мало» существует возможность перехода в экран «Наличие мест на рейсы»;

- aviatimelist – при наличии мест на рейсы «Есть» или «Мало» существует возможность перехода в экране «Полетные программы»

<add key="quotedDynamicAviaQuotesLinkTarget" value="aviatimelist" />

36

Настройка, определяющая необходимость поиска данных не по точному совпадению количества основных и дополнительных мест, указанных в соответствующих фильтрах экрана «Подбор туров с наличием мест», а по сумме основных и дополнительных мест

- true – включить возможность поиска по сумме основных и дополнительных мест;

- false или отсутствие настройки – поиск осуществляется по точному совпадению количества основных и дополнительных мест, указанных в поисковом фильтре

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

37

Настройка, включающая отображения списка услуг, входящих в стоимость, при наведении курсора на цену в экране «Подбор туров с наличием мест»

- true – отображать список услуг, входящих в стоимость, при наведении курсора на цену;

- false или отсутствие настройки – список услуг, входящих в стоимость, не отображается

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

38

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

- true – выбор валюты осуществляется в экране поиска тура и далее выбранная для тура валюта используется на протяжении всего процесса бронирования;

- false или отсутствие настройки – выбор валюты доступен в экранах «Подбор туров с наличием мест», «Динамический лист с ценами по туру», «Ценовой лист», в корзине стоимость тура отображается либо в национальной валюте, либо в валюте тура

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

39

Настройка, включающая отображение доплат по отелю в поле «Условия бронирования» экрана «Подбор туров с наличием мест».

Доплаты отображаются из описания отеля.

- true – отображать доплаты по отелю в поле «Условия бронирования»;

- false или отсутствие настройки – доплаты по отелю не отображаются

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

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

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

  • #dof_DepartureCityDiv – фильтр «Город вылета»;
  • #dof_CountryDiv – фильтр «Страна»;
  • #dof_TourTypeDiv – фильтр «Тип тура»;
  • #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 – описание страны;
  • .qd_Div – нижний колонтитул.

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

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

Для того чтобы скрыть тот или иной элемент, необходимо для соответствующего стиля прописать настройку:
Display:none;
Если какой-либо элемент поискового фильтра скрывается, то очень важно учесть, что при этом необходимо заново отпозиционировать все последующие элементы, либо изменить их размеры. Рассмотрим пример. Допустим, мы хотим скрыть фильтр «Курорт». Для этого мы добавляем настройку 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;
}

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

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

Т.е. мы увеличиваем высоту фильтра «Регион»:
780.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, который корректно будет обрабатываться внутри тега

;

Пример:

<teg> </teg>

</div