Web-сервисы: Сервис для получения минимальных цен по отелям в туре

Материал из Megatec
Перейти к: навигация, поиск

Введение

Данный модуль предназначен для отображения в формате таблицы отелей и минимальных цен по ним в рамках определенного тура.
Модуль состоит из серверной (web-сервис) и клиентской (экран) частей.

Установка

Установка web-сервиса

Чтобы установить cервис для получения информации по минимальным ценам тура, нужно создать отдельную директорию, например, TourMinPrices (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива ws-tourminprices-9.2.XX.XXXXX.zip. В управлении IIS необходимо создать виртуальный каталог для папки TourMinPrices.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:

  • Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools)


857.PNG

  • Запустить Internet Information Services (IIS) Manager


858.PNG

  • В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».


859.PNG

Подключение к базе данных ПК «Мастер-Тур»

В файле web.config, расположенном в папке TourMinPrices, в которую установлен web-сервис «Сервис для получения минимальных цен по туру», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести).
Строка подключения к базе данных ПК «Мастер-Тур»:

<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>

После установки web-сервис доступен по адресу: http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesService.svc

Дополнительные настройки

Данные настройки прописываются в файле web.config для web-сервиса «Сервис для получения минимальных цен по отелям в туре».

Описание Значение Настройка
1 Настройка, позволяющая разделять цену по разрядам.
  • true — разделять цену по разрядам
  • false или отсутствие настройки — не разделять цену по разрядам
<add key="EnableDecimalSeparator" value="true" />



Установка экрана

Для установки экрана "Минимальные цены по отелям в туре" нужно создать виртуальный каталог в IIS и распаковать в него файлы из архива mw-tourMinPricesControl-9.2.XX.XXXXX.zip.
Возможно встраивание экрана в существующую страницу на сайте туроператора. Для этого нужно скопировать содержимое тега <head> и <body> файла TourMinPricesPage.htm в соответствующие теги страницы на сайте туроператора. А также распаковать в папку со страницей, в которую встраивается экран, папки css, js и js-noncompiled из архива mw-tourMinPricesControl-9.2.XX.XXXXX.zip.

Настройки на странице "Минимальные цены по отелям в туре"

Откройте файл TourMinPricesPage.htm и пропишите в нем следующие параметры (курсивом выделены значения, которые необходимо ввести):

  • var serviceUrl = "http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesService.svc", где http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesService.svc - адрес web-сервиса.
  • var tourKeyQueryStringParameter = "tourListKey", где tourListKey - имя параметра строки запроса страницы (URL), который содержит ключ тура из таблицы Turlist базы данных.
  • var roomTypeKey = 2, где 2 - ключ типа номера из таблицы Rooms, для которого отображаются минимальные цены по туру.
  • Ссылка на экран "Ценовой лист"
<div id="tourPricesLinkPattern" style="display: none;">
    http://ip-адрес сервера Мастер-Веб/PriceList/Complex.aspx?departFrom=[DepartCityCode]&country=[CountryCode]&tour=[TourKey]&hotel=[HotelKey]
 </div>
  • Ссылка на экран "Корзина"
<div id="BasketLinkPattern" style="display: none;">
    http://ip-адрес сервера Мастер-Веб/Basket.aspx?priceKey=[PriceKey]&date=[TourDate]
 </div>
  • Сортировка данных в таблице
<div id="SortPattern" style="display: none;">
    HotelCategory:Desc
 </div>

В строке HotelCategory:Desc указывается вариант сортировки полей в таблице, в формате "поле:направление сортировки;поле:направление сортировки;...". Существует два направления сортировки: Desc - по убыванию, Asc - по возрастанию. Поля, по которым возможна сортировка:

  1. HotelName - по названию отеля;
  2. Price - по цене;
  3. HotelCategory - по категории отеля (выбрана по умолчанию).

Передача параметров в экран "Минимальные цены по отелям в туре"

Для работы с экраном необходимо через URL страницы передать обязательный параметр с ключом тура из таблицы Turlist. Имя параметра задается в настройке tourKeyQueryStringParameter страницы TourMinPricesPage.htm.
Пример: http://ip-адрес сервера Мастер-Веб/TourMinPrices/TourMinPricesPage.htm?tourListKey=20

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

Экран «Минимальные цены по отелям в туре» показывает минимальные цены по рассчитанным и выставленным в онлайн турам.

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

Пример таблицы с минимальными ценами по каждому отелю в туре показан на рисунке ниже.
ST7.png
В таблице выводятся следующие поля:

Название поля в таблице Описание
Порядковый номер.
Название отеля Название отеля (поле "Название" в справочнике "Отели/Круизы"). Здесь же выводится ссылка на страницу с описанием отеля.
* Категория отеля (поле "Название" из справочника "Категории отелей").
Питание Тип питания (поле "Код" из справочника "Типы питания").
Дни/Ночи Количество дней/ночей (количество дней по туру, количество ночей по услуге проживания в отеле).
Стоимость от Минимальная стоимость за номер, тип которого указан в настройке roomTypeKey, деленный на количество человек в нем. Например, за 1/2 двухместного номера (DBL), если задан тип номера Double. Цена отображается в валюте тура. При нажатии на цену происходит переход в корзину.
Все цены Ссылка на экран "Ценовой лист" со всеми ценами по данному отелю.