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

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][непроверенная версия]
(Внесение новых акций типа Pay Stay (предоставление бесплатных ночей))
(Установка)
Строка 19: Строка 19:
 
 
 
===Обновление базы данных===
 
===Обновление базы данных===
Необходимо выполнить скрипт обновления ReleaseScript.sql на базе данных ПК «Мастер-Тур».
+
Необходимо выполнить скрипты обновления на базе данных ПК «Мастер-Тур»:
===Установка сервиса на IIS===
+
*1_CreateSpecialsTables.sql
Для установки плагина «Акции» нужно создать отдельную директорию, например, wsspecials (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива Specials9.2.X.XXXXX.zip mw-ws-aviasearch-2009.2.XX.XXXX.zip.
+
*2_Enable_Change_Tracking_Specials.sql
 +
*3_sp_GetServiceCost.sql
 +
===Установка службы кэширования===
 +
* Копирование каталога ''SpecialsCacheService'' из дистрибутива на сервер приложений.
 +
 
 +
* Настройка конфигурационного файла ''Megatec.MasterTour.SpecialsCacheService.exe.config''.
 +
 
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 +
 
 +
|- style="background-color:#F2F2F2"
 +
 
 +
! width="2%" | №
 +
! width="10%" | Описание
 +
! width="38%" | Значение
 +
! width="50%" | Настройка
 +
 
 +
|- style="vertical-align:text-top"
 +
 
 +
| 1
 +
| Строка подключения
 +
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="connectionString" value="Data Source=Server; Initial Catalog=MasterTourDatabase; User Id=User; Password=123; Application Name=CalculateTourBalanser" />
 +
</syntaxhighlight>
 +
 
 +
|- style="vertical-align:text-top"
 +
 
 +
| 2
 +
| Логирование
 +
| Пути к лог-файлам задаются в секциях логирования.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<param name="File" value="Logs\\SpecialsCacheErrorLog.txt" /> Логирование ошибок работы службы кэширования
 +
<param name="File" value="Logs\\SpecialsCacheLog.txt" /> Логирование работы процессов службы кэширования
 +
</syntaxhighlight>
 +
 
 +
|- style="vertical-align:text-top"
 +
 
 +
| 3
 +
| Порт
 +
| По умолчанию служба кэширования использует порт ''52529''. Рекомендуется использование порта по умолчанию.<br />
 +
<font style="color:red">''Внимание!''</font><br />
 +
При смене порта необходимо также изменить порт в установочном скрипте ''_Install.bat''.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add baseAddress="http://*:52529/SpecialsCache/SpecialsAccommodationsCacheService" />
 +
</syntaxhighlight>
 +
|}
 +
 
 +
* Установка осуществляется запуском скрипта ''_Install.bat'' от имени администратора. [[Файл:Bm135.png|Запуск от имени администратора]]
 +
 
 +
* При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта кэширования. [[Файл:KE_137.png|Правила для входящих подключений кэширования]]
 +
 
 +
* В Службах Windows добавляется служба ''SpecialsCacheService''.
 +
[[Файл:KE_136.png|SpecialsCacheService]]
 +
 
 +
* Для удаления службы кэширования необходимо запустить скрипт ''_UnInstall.bat'' от имени администратора. При этом будут удалены правила для входящих подключений.
 +
 
 +
==Установка сервиса «Акции» на IIS==
 +
Для установки сервиса «Акции» нужно создать отдельную директорию, например, wsspecials (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива Specials9.2.X.XXXXX.zip mw-ws-aviasearch-2009.2.XX.XXXX.zip.
 
В управлении IIS необходимо создать виртуальный каталог для папки wsSpecials.
 
В управлении IIS необходимо создать виртуальный каталог для папки wsSpecials.
===Создание виртуального каталога===
+
==Создание виртуального каталога==
  
 
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
 
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:

Версия 17:56, 17 июня 2015

Версия статьи от 17-06-2015.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с 2009.2.20


Содержание

Введение

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

Системные требования

Релиз 9.2.20 ПК «Мастер-Тур»/«Мастер-Web»
Минимальная поддерживаемая версия SQL Server 2008 R2 SP1 (10.50.2500.0)

Разработка плагина «Расчет СПО» производится на веб интерфейсах и не затрагивает основные экраны и функционал Мастер Тур.
Изменения в логике расчета делается для GetServiceCost

Установка

Установка дополнительного модуля «Акции» производится в несколько этапов, которые описаны ниже.

Обновление базы данных

Необходимо выполнить скрипты обновления на базе данных ПК «Мастер-Тур»:

  • 1_CreateSpecialsTables.sql
  • 2_Enable_Change_Tracking_Specials.sql
  • 3_sp_GetServiceCost.sql

Установка службы кэширования

  • Копирование каталога SpecialsCacheService из дистрибутива на сервер приложений.
  • Настройка конфигурационного файла Megatec.MasterTour.SpecialsCacheService.exe.config.
Описание Значение Настройка
1 Строка подключения Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings.
<add key="connectionString" value="Data Source=Server; Initial Catalog=MasterTourDatabase; User Id=User; Password=123; Application Name=CalculateTourBalanser" />
2 Логирование Пути к лог-файлам задаются в секциях логирования.
<param name="File" value="Logs\\SpecialsCacheErrorLog.txt" /> Логирование ошибок работы службы кэширования
<param name="File" value="Logs\\SpecialsCacheLog.txt" /> Логирование работы процессов службы кэширования
3 Порт По умолчанию служба кэширования использует порт 52529. Рекомендуется использование порта по умолчанию.

Внимание!
При смене порта необходимо также изменить порт в установочном скрипте _Install.bat.

<add baseAddress="http://*:52529/SpecialsCache/SpecialsAccommodationsCacheService" />
  • Установка осуществляется запуском скрипта _Install.bat от имени администратора. Запуск от имени администратора
  • При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта кэширования. Правила для входящих подключений кэширования
  • В Службах Windows добавляется служба SpecialsCacheService.

SpecialsCacheService

  • Для удаления службы кэширования необходимо запустить скрипт _UnInstall.bat от имени администратора. При этом будут удалены правила для входящих подключений.

Установка сервиса «Акции» на IIS

Для установки сервиса «Акции» нужно создать отдельную директорию, например, wsspecials (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива Specials9.2.X.XXXXX.zip mw-ws-aviasearch-2009.2.XX.XXXX.zip. В управлении IIS необходимо создать виртуальный каталог для папки wsSpecials.

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

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

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

Ls0217.png

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

Ls0218.png

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

Ls0219.png

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

В файле web.config, расположенном в папке wsSpecials, в которую установлен web-сервис «Акции», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»: <add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID= логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>

Настройка

После установки сервис «Акции» доступен по адресу: http://ip-адрес сервера Мастер-Веб/wsSpecials.

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

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

Описание Значение Настройка
1 Указания ссылки на «Прайс-Экспресс» Указывается ссылка на развернутый «Прайс-Экспресс», где в tourKey={0} - подставляется ключ тура автоматически. <add key="recalculateTourUrl" value="http://ip-адрес сервера Мастер-Веб/PanelPE/?tourKey={0}"/>
2 текст текст <add key="useCacheService" value="true"/>

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

При запуске сервиса «Акции» необходимо пройти авторизацию в системе.

KE 134.png

После того, как авторизация пройдена, нашему вниманию представлен экран, на котором отображаются фильтры:

  • Страна - отображаются все страны, по которым есть созданные акции
  • Город - отображаются все города, для отелей которых есть созданные акции
  • Отель - отображаются все отели, для которых есть заведенные акции
  • Партнер – отображаются все партнеры, по которым есть заведенные акции
  • Пакеты – отображаются все пакеты, для которых есть заведенные акции
  • Название - Контекстный поиск по названию
  • Тип акции - имеется 3 типа правил (KickBack, PayStay, Upgrade)*
  • Состояние - имеется 2 состояния (используется для расчета, не используется для расчета)
  • Даты - имеется вариативность состояний ( все даты, на период, на заезд)

KE 123.png

При помощью которых производится поиск уже имеющихся акции. Загрузка всех данных в фильтры происходит по факту открытия экрана по всем заведенным акциям.

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

  • Название акции – заводится пользователем при создании акции
  • Тип акции – всего может быть 3 типа акции: Pay Stay, Kick Back и Upgrade.

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

  • Описание акции – формируется автоматически при создании акции, в описание планируется включать данные об условиях акции, партнере и пакетах, для которых эта акция действует.
  • Даты действия акции – указываются первая – последняя даты действия акции, даты могут быть на период или на заезд. Например, если даты заведены на период – то в данной колонке информация будет в следующем виде: «Даты 01.01.2015 – 28.02.2015», если на заезд – то «Даты заездов 01.01.2015 – 28.02.2015». Одновременно указать при заведении акции и даты и даты заездов в первой версии плагина будет нельзя.
  • Даты продажи – указываются заданные для акции даты продажи
  • Состояние – у акции может быть 2 состояния: «Используется для расчета» или «Не используется для расчета». Данные состояния зашиты в системе и не изменяются. Состояние определяется отмеченной галкой в режиме заведения акции, если галка стоит – то акция находится в состоянии «Используется для расчета», если не стоит - «Не используется для расчета»
  • Дата активации – указывается дата и время, когда акция перешла в состояние «Используется для расчета». Если в момент заведения акции галка ставится сразу – то дата активации = дате создания акции, если галка ставится позднее в уже созданной акции – то дата активации = дате сохранения данных изменений.
  • Подробнее – напротив каждой акции находится ссылка, перейдя по которой пользователь попадает в экран с заполненными условиями акции .

KE 126.png

Сортировка результатов в табличной части

  • Сортировка по умолчанию – сортировка идет по дате активации (от наиболее поздней даты к наиболее ранней, то есть СПО с датой активации 01.01.2014 15:50 будет находиться выше, чем СПО с датой активации 01.01.2014 14:50)

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

  • Сортировка по типу акции – при нажатии на заголовок колонки тип акции сортировка будет сделана по типу акций и уже внутри типов акций по дате активации
  • Сортировка по состоянию - при нажатии на заголовок колонки состояние сортировка будет сделана по состоянию акции и уже внутри нее по дате активации

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

В данном экране имеется возможность не только просмотреть существующие акции, но и завести новую акцию. Для этого необходимо нажать на кнопку «Добавить новую акцию» и из выпавшего списка выбрать акцию какого типа он хочет внести в систему: Pay Stay, Kick Back, Upgrade.

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


PayStay (предоставление бесплатных ночей)
KickBack (% скидка на даты заезда, на период дат или на даты продажи)
Upgrade (улучшение питания или категории номера без доплаты)


В экране добавления новой акции есть несколько вкладок:

  • Условия акции
  • Варианты размещения
  • Список туров для пересчета
  • История

Вкладки «Условия акции»

Вкладка «Условия акции» предназначена для внесения основных данных об акции, а именно:

  • Название акции – текстовое поле, заполняется произвольным текстом.
  • Даты – на период действия цены или на дату заезда по туру.

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

  • Правило – пользователь вводит значения в поля:
Ночей от – нижний порог продолжительности услуги
Ночей до – верхний порог продолжительности услуги
Действие – что необходимо сделать (Pay Stay - возможные варианты «=», «+», «-». Kick Back - возможный вариант в изначальной версии только один «-%»)
Значение – сколько ночей надо вычесть или прибавить
Тип бесплатной ночи – какая ночь будет являться бесплатной (возможные варианты «первая»,  «последняя»,  «с максимальной ценой (брутто)»,  «с минимальной ценой (брутто)»,  «средняя стоимость ночи»)

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

  • Можно использовать акцию одновременно с – возможные значения для выбора – это наши типы акций (PayStay, Kick Back и Upgrade, в зависимости от того, какую акцию создает пользователь, появляется возможность добавить две другие ). По умолчанию в данном фильтре стоит значение «не задано», то есть комбинировать текущую акцию с акциями другого типа не разрешается. Если пользователь выбирает в данном поле хотя бы одно значение, значит данная акция может комбинироваться с акциями другого типа.
  • Использовать акцию для расчета – данная галка определяет состояние акции. В момент простановки галки и нажатия на «Сохранить» акция начинает действовать и влиять на расчет во всех экранах МТ. В этот же момент проставляется дата активации для акции.

KE 130.png

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

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

Например:

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

Ночей от Ночей до Действие Значение Тип бесплатной ночи
7 13 - 1 с минимальной ценой (брутто)
14 20 - 2 с минимальной ценой (брутто)

Если правила заданы следующим образом – то проверка не должна пройти, потому что есть одна и та же продолжительность в разных условиях:

Ночей от Ночей до Действие Значение Тип бесплатной ночи
7 13 - 1 с минимальной ценой (брутто)
11 15 - 2 первая
14 20 - 2 с минимальной ценой (брутто)

В этом случае пользователю выдается предупреждение следующего содержания:

KE 128.png

После чего происходит возврат пользователя в экран редактирования акции.

В экране обязательно должен быть заполнен хотя бы один период дат с…по… Даты продажи являются не обязательными для заполнения, но в случае если заполнены и даты продажи и даты с…по… , на несколько периодов, то производится проверка на то, что латы продажи не пересекаются.

Все правила приведенные выше действую и при заведении акции типа KickBack.

Внесение новых акций типа PayStay (предоставление бесплатных ночей)

Логика расчета для акций типа «PayStay» для дат проживания

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

Логика расчета для акций типа «PayStay» для дат заезда

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

Анализируется именно дата заезда – т.е. дата начала действия услуги, т.к. заезд в  отель может производиться и на 2 и на 3 день

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

Применение периодов продаж

Периоды продаж также анализируются при расчетах связанных с акцией. При расчете тура производится проверка, входит ли текущая дата (дата расчет) в указанные периоды продаж или нет. Если входит – то акция применяется, если нет – то акция не применяется.

KE 127.png

Внесение новых акций типа Kick Back (% скидка на даты заезда или даты продажи)

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

Логика расчета для акций типа «Kick Back» для дат проживания

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

Логика расчета для акций типа «Kick Back» для дат заезда

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

KE 131.png

Вкладка «Варианты размещения» (Добавление отелей, участвующих в акции)

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

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

В верхней части экрана располагаются фильтры, при выборе которых происходит заполнение данных для выборки (отелей, видов проживания и питаний):

  • Партнер Отображаются все поставщики, по которым есть цены на отели на будущие даты
  • Страна Отображаются все страны, для отелей которых есть цены на будущие даты по выбранному ранее поставщик
  • Пакеты Отображаются все пакеты, отелей которых есть цены на будущие даты по выбранному ранее поставщику и стране

KE 133.png

После выбора всех указанных выше фильтров производится заполнение отелей, вариантов проживания и питаний. KE 132.png

Вкладка отели

По умолчанию добавлены все отели, виды проживания и типы питания, на которые заведены цены в конструкторе туров.

  • Для расчета тура только с определенными отелями необходимо удалить добавленные ранее отели, выбрав их в нижней таблице и нажав кнопку "Удалить".
  • Отбор отелей по параметрам можно регулировать с помощью фильтра, который позволяет выбрать отели по категории, городу, курорту, партнеру или названию. Также для удобства отбора отелей можно воспользоваться кнопкой "Инвертировать", которая изменит установленные признаки отелей на противоположные. Для этого необходимо кликом по стрелочке, находящейся в правой части кнопки "Добавить", открыть меню и выбрать пункт "Инвертировать".
  • Добавление выбранных отелей осуществляется нажатием на кнопку "Добавить" или выбором соответствующего пункта меню.

Добавление видов проживания и типов питания на вкладках Виды проживания, Питания осуществляется аналогично добавлению отелей.

По умолчанию все отели отображаются в верхней части, помечены как не выбранные для данной акции:

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

Вкладка «Список туров для пересчета»

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

KE 125.png

После внесения акции необходимо произвести расчет нового тура или же пересчет существующего тура. В момент расчета стоимости услуги производится анализ наличия СПО. Акции анализируются не только при расчете тура с помощью PriceExpress, но также во всех экранах, где производится расчет стоимости услуги:

  • Конструктор туров
  • Оформление клиентов
  • Путевка
  • Все корзины (SimpleBasket, SimpleBasket2, Basket, AdvancedBasket)
  • ComplexTour
  • Веб сервисы бронирования
  • Сервис бронирования TourML