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

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Условия акции (PayStay или KickBack))
 
(не показано 38 промежуточных версий 4 участников)
Строка 1: Строка 1:
<span style="color:red;font-size:120%">Статья находится на стадии разработки.</span><br>
 
Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}.
 
 
 
<table style="background-color:#ffffcc;color:black" border="1" cellpadding="10" cellspacing="0"><tr><td>
 
<table style="background-color:#ffffcc;color:black" border="1" cellpadding="10" cellspacing="0"><tr><td>
 
Поддерживаемые версии ПК «Мастер-Тур»:<br>
 
Поддерживаемые версии ПК «Мастер-Тур»:<br>
Строка 13: Строка 10:
 
[[Примечания_к_релизам_продукта_ПК_"Мастер-Тур"_версии_9.2#Релиз 2009.2.20 от 08.11.2013|Релиз 9.2.20]] ПК «Мастер-Тур»/«Мастер-Web»<br />
 
[[Примечания_к_релизам_продукта_ПК_"Мастер-Тур"_версии_9.2#Релиз 2009.2.20 от 08.11.2013|Релиз 9.2.20]] ПК «Мастер-Тур»/«Мастер-Web»<br />
 
Минимальная поддерживаемая версия '''SQL Server 2008 R2 SP1 (10.50.2500.0)'''<br />
 
Минимальная поддерживаемая версия '''SQL Server 2008 R2 SP1 (10.50.2500.0)'''<br />
Google Chrome на клиентских компьютерах. Дополнительный модуль «Акции» корректно отображается только в браузере Google Chrome.  
+
IIS 8.0 (.Net Framework 4.5) для дополнительного модуля «Акции».<br />
 +
Google Chrome на клиентских компьютерах. Дополнительный модуль «Акции» корректно отображается только в браузере Google Chrome.
  
 
==Установка==
 
==Установка==
Строка 23: Строка 21:
 
* 2_Enable_Change_Tracking_Specials.sql
 
* 2_Enable_Change_Tracking_Specials.sql
 
* 3_sp_GetServiceCost.sql
 
* 3_sp_GetServiceCost.sql
 +
* 4_AddToSystemSettings.sql
  
 
===Установка службы кэширования===
 
===Установка службы кэширования===
 +
[[Файл: mb_031.png|left|Дополнительная информация]] <br />
 +
Данная служба предназначена для увеличения производительности работы модуля «Акции» путем хранения суточных
 +
цен в оперативной памяти сервера. Рекомендуется устанавливать ее в том случае, если суммарный объем цен
 +
превышает 20 млн. (ниже представлен запрос для определения количества суточных цен. В противном случае
 +
можно пропустить этот шаг и сразу приступать к [[Мастер-Тур:Дополнительный модуль Акции#Установка модуля «Акции»|установке модуля «Акции»]].
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:650px">
 +
Запрос для определения количества суточных цен
 +
<div class="mw-collapsible-content">
 +
select count (*) from tbl_Costs
 +
where (CS_DATEEND >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
 +
  or CS_CHECKINDATEEND >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())))
 +
  and CS_SVKEY = 3
 +
</div></div><br />
 +
 
* Копирование каталога ''SpecialsCacheService'' из дистрибутива на сервер приложений.
 
* Копирование каталога ''SpecialsCacheService'' из дистрибутива на сервер приложений.
 
* Настройка конфигурационного файла ''Megatec.MasterTour.SpecialsCacheService.exe.config''.
 
* Настройка конфигурационного файла ''Megatec.MasterTour.SpecialsCacheService.exe.config''.
Строка 41: Строка 55:
 
| Строка подключения
 
| Строка подключения
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.
 +
<font style="color:red">''Внимание!''</font><br />
 +
Для корректной работы в поле ''User Id'' необходимо указать пользователя ''sa''.
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="connectionString" value="Data Source=Server; Initial Catalog=MasterTourDatabase; User Id=User; Password=123; Application Name=CalculateTourBalanser" />
 
<add key="connectionString" value="Data Source=Server; Initial Catalog=MasterTourDatabase; User Id=User; Password=123; Application Name=CalculateTourBalanser" />
Строка 90: Строка 106:
  
 
====Подключение к базе данных ПК «Мастер-Тур»====
 
====Подключение к базе данных ПК «Мастер-Тур»====
В файле web.config, расположенном в папке wsSpecials, в которую установлен web-сервис «Акции», пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»:
+
В файле web.config, расположенном в папке wsSpecials, в которую установлен web-сервис «Акции», пропишите необходимые параметры подключения (<span style="color:red">красным цветом</span> выделены значения, которые необходимо ввести). <br>Строка подключения к базе данных ПК «Мастер-Тур»:<br>
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных
+
<code><add key = "connectionString" value = "Data Source=<span style="color:red">ip-адрес сервера базы данных ПК «Мастер-Тур»</span>;Initial Catalog=<span style="color:red">название базы данных ПК «Мастер-Тур»</span>;User ID=<span style="color:red">логин пользователя ПК «Мастер-Тур»</span>;Password=<span style="color:red">пароль пользователя ПК «Мастер-Тур»</span>"/></code>
ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=
 
логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>
 
  
 
====Настройки в файле WEB.CONFIG====
 
====Настройки в файле WEB.CONFIG====
Строка 126: Строка 140:
  
 
===Авторизация===
 
===Авторизация===
При запуске сервиса «Акции» необходимо пройти авторизацию в системе.<br />
+
При запуске сервиса «Акции» необходимо пройти авторизацию в системе. Для авторизации нужно использовать логин/пароль, как при входе в ПК «Мастер-Тур».<br />
 
[[Файл:KE_134.png]]
 
[[Файл:KE_134.png]]
  
Строка 136: Строка 150:
 
* Партнер – отображаются все партнеры, по которым есть заведенные акции
 
* Партнер – отображаются все партнеры, по которым есть заведенные акции
 
* Пакеты – отображаются все пакеты, для которых есть заведенные акции
 
* Пакеты – отображаются все пакеты, для которых есть заведенные акции
* Тип акции – '''PayStay''' (предоставление бесплатных ночей) и '''KickBack''' ((скидка в % на определенные даты)
+
* Тип акции – '''PayStay''' (предоставление бесплатных ночей) и '''KickBack''' (скидка в % на определенные даты)
 
* Состояние – '''Используется для расчета''' и '''Не используется для расчета'''
 
* Состояние – '''Используется для расчета''' и '''Не используется для расчета'''
 
* Даты – выбор из 3 позиций: '''все даты''', '''на период''', '''на заезд'''
 
* Даты – выбор из 3 позиций: '''все даты''', '''на период''', '''на заезд'''
 
<br />
 
<br />
[[Файл:KE_123.png|x300px|]]<br />
+
[[Файл:mb_182.png|900px]]<br />
  
 
По отобранным фильтрам при нажатии на кнопку '''Показать акции''' пользователю будет отображена таблица акций, в которой указана следующая информация:
 
По отобранным фильтрам при нажатии на кнопку '''Показать акции''' пользователю будет отображена таблица акций, в которой указана следующая информация:
 
* Название акции – заводится пользователем при создании акции
 
* Название акции – заводится пользователем при создании акции
* Тип акции – '''PayStay''' (предоставление бесплатных ночей) и '''KickBack''' ((скидка в % на определенные даты), одна акция может быть привязана только к одному типу
+
* Тип акции – '''PayStay''' (предоставление бесплатных ночей) и '''KickBack''' (скидка в % на определенные даты), одна акция может быть привязана только к одному типу
 
* Описание акции – отображается партнер, на которого действует акция и условия ее предоставления
 
* Описание акции – отображается партнер, на которого действует акция и условия ее предоставления
 
* Даты действия – указывается диапазон действия дат (может быть либо на период, либо на заезд)  
 
* Даты действия – указывается диапазон действия дат (может быть либо на период, либо на заезд)  
Строка 151: Строка 165:
 
* Активация – указывается дата и время, когда акция перешла в состояние '''Используется для расчета'''. Если в момент заведения акции признак '''Используется для расчета''' ставится сразу, то дата активации равна дате создания акции, если признак ставится позднее в уже созданной акции, то дата активации равна дате сохранения данных изменений.
 
* Активация – указывается дата и время, когда акция перешла в состояние '''Используется для расчета'''. Если в момент заведения акции признак '''Используется для расчета''' ставится сразу, то дата активации равна дате создания акции, если признак ставится позднее в уже созданной акции, то дата активации равна дате сохранения данных изменений.
 
<br />
 
<br />
[[Файл:KE_126.png|x550px|]]<br />
+
[[Файл:mb_183.png|900px]]<br />
 
   
 
   
 
По умолчанию акции в списке сортируются по состоянию, далее по дате активации.
 
По умолчанию акции в списке сортируются по состоянию, далее по дате активации.
  
 
===Добавление/редактирование акций===
 
===Добавление/редактирование акций===
Для добавления новой акции необходимо нажать на кнопку «Добавить новую акцию» и в выпадающем списке выбрать тип акции '''PayStay''' (предоставление бесплатных ночей) и '''KickBack''' ((скидка в % на определенные даты).<br />
+
Для добавления новой акции необходимо нажать на кнопку «Добавить новую акцию» и в выпадающем списке выбрать тип акции '''PayStay''' (предоставление бесплатных ночей) и '''KickBack''' (скидка в % на определенные даты).<br />
 
В  экране добавления новой акции есть несколько вкладок:
 
В  экране добавления новой акции есть несколько вкладок:
 
* Условия акции
 
* Условия акции
Строка 163: Строка 177:
 
* История
 
* История
  
===Вкладка Условия акции PayStay или KickBack===
+
Удалять акции на текущем этапе нельзя.
 +
 
 +
====Условия акции (PayStay или KickBack)====
 
Вкладка '''Условия акции''' предназначена для внесения основных данных об акции, а именно:
 
Вкладка '''Условия акции''' предназначена для внесения основных данных об акции, а именно:
 
* Название акции – текстовое поле, заполняется произвольным текстом.
 
* Название акции – текстовое поле, заполняется произвольным текстом.
* Даты – на период действия цены или на дату заезда по туру. Задается первая и последняя дата действия СПО, если необходимо задать несколько периодов, то это можно сделать нажатием на '''Добавить период'''. В случае, если для первого периода выбран период действия цены - то во всех последующих добавленных строках также будет период действия цен. Также параллельно с периодами дат можно задать даты продажи, в которые актуально данное СПО
+
* Даты – на период действия цены или на дату заезда по туру. Задается первая и последняя дата действия СПО, если необходимо задать несколько периодов, то это можно сделать нажатием на '''Добавить период'''. В случае, если для первого периода выбран период действия цены, то во всех последующих добавленных строках также будет период действия цен. Также параллельно с периодами дат можно задать даты продажи, в которые актуально данное СПО
* Правило для акции PayStay:
+
* Учитывать общий период проживания – данный признак присутствует только в ценах на период. Если признак не установлен, учитывается только та часть проживания, которая попадает в период действия акции. Если признак установлен, учитывается полная продолжительность проживания независимо от того, какая его часть попадает в пересечение с датами действия акции.
 +
* Строгое вхождение периода проживания в даты действия акций - данный признак присутствует только в ценах на период и при установленном признаке '''Учитывать общий период проживания'''. Если признак не установлен, для применения акции достаточно, чтобы хотя бы часть периода проживания попадала в даты действия акции. Если признак установлен, акция применятся в том случае, если весь период проживания полностью попадает в даты действия акции.
 +
* Правило для акции '''PayStay''':
 
** Ночей от – нижний порог продолжительности услуги
 
** Ночей от – нижний порог продолжительности услуги
 
** Ночей до – верхний порог продолжительности услуги
 
** Ночей до – верхний порог продолжительности услуги
Строка 173: Строка 191:
 
** Значение – количество ночей в зависимости от действия
 
** Значение – количество ночей в зависимости от действия
 
** Тип бесплатной ночи – какая ночь будет являться бесплатной (возможные варианты «первая», «последняя», «мин. цена (брутто)», «макс. цена (брутто)», «средняя стоимость ночи»)
 
** Тип бесплатной ночи – какая ночь будет являться бесплатной (возможные варианты «первая», «последняя», «мин. цена (брутто)», «макс. цена (брутто)», «средняя стоимость ночи»)
Если условий по акции более одного, то необходимо нажать на '''Добавить условие''' и появится еще одна аналогичная строка с условиями, где можно задать следующие значения.
+
Если условий по акции более одного, то необходимо нажать на '''Добавить условие''' и появится еще одна аналогичная строка с условиями, где можно задать следующие значения.<br />
* Правило для акции KickBack:
+
 
 +
[[Файл:Ak_070.png|800px]]<br />
 +
 
 +
* Правило для акции '''KickBack''':
 
** Ночей от – нижний порог продолжительности услуги
 
** Ночей от – нижний порог продолжительности услуги
 
** Ночей до – верхний порог продолжительности услуги
 
** Ночей до – верхний порог продолжительности услуги
** Действие – возможные варианты «-%»
+
** Действие – возможные варианты «- %» и «- y.e.»
** Значение – процент скидки
+
** Значение – процент скидки (если в '''Действии''' выбран '''%''') или фиксированная величина скидки (если в '''Действии''' выбрана '''у.е.''')
Если условий по акции более одного, то необходимо нажать на '''Добавить условие''' и появится еще одна аналогичная строка с условиями, где можно задать следующие значения.
+
 
* Акцию можно использовать одновременно с – возможность выбора другого типа акции, с которой можно комбинировать текущую акцию. 0
+
Если условий по акции более одного, то необходимо нажать на '''Добавить условие''' и появится еще одна аналогичная строка с условиями, где можно задать следующие значения.<br />
* Использовать акцию для расчета – данный признак определяет состояние акции. В момент простановки признака и нажатия на '''Сохранить''' акция начинает действовать и влиять на расчет во всех экранах ПК «Мастер-Тур». В этот же момент проставляется дата активации для акции.<br />
+
 
[[Файл:KE_130.png]]<br />
+
[[Файл:ep_214.png|800px]]<br />
 
Как все условия акции заполнены следует нажать на кнопку «Сохранить», после этого будет произведена проверка на корректность заполнения данных, а именно:
 
  
В колонках «ночи от» и «ночи до» значения не должны пересекаться, это актуально только в том случае, если у задано более одного условия в рамках одной акции.
+
* Акцию можно использовать одновременно с – ''возможность выбора другого типа акции'', с которой можно комбинировать текущую акцию. Если предполагается использовать две акции одновременно, то необходимо заполнить данное поле в обеих акциях.
 +
* Использовать акцию для расчета – данный признак определяет состояние акции. В момент установки признака и нажатия на '''Сохранить''' акция начинает действовать и влиять на расчет во всех экранах ПК «Мастер-Тур». В этот же момент проставляется дата активации для акции. Для применения акций в ПК «Мастер-Web» необходимо перерассчитать связанные туры.<br />
 +
<br />
 +
При сохранении акции производится проверка на корректность заполнения данных: в колонках «ночи от» и «ночи до» значения не должны пересекаться, это актуально только в том случае, если задано более одного условия в рамках одной акции.
  
 
''Например:''
 
''Например:''
  
Если заданы следующие правила то проверка должна пройти корректно, потому что нет одинаковой продолжительность в разных условиях:
+
Если заданы следующие правила, то проверка должна пройти корректно, потому что нет одинаковой продолжительности в разных условиях:
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 203: Строка 225:
 
| -
 
| -
 
|1
 
|1
|с минимальной ценой (брутто)
+
|мин. цена
 
|-
 
|-
 
|14
 
|14
Строка 209: Строка 231:
 
| -
 
| -
 
|2
 
|2
|с минимальной ценой (брутто)
+
|мин. цена
 
|-
 
|-
 
|}
 
|}
  
Если правила заданы следующим образом то проверка не должна пройти, потому что есть одна и та же продолжительность в разных условиях:
+
Если правила заданы следующим образом, то проверка не должна пройти, потому что есть одна и та же продолжительность в разных условиях:
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 226: Строка 248:
 
| -
 
| -
 
|1
 
|1
|с минимальной ценой (брутто)
+
|мин. цена
 
|-
 
|-
 
|11
 
|11
Строка 238: Строка 260:
 
| -
 
| -
 
|2
 
|2
|с минимальной ценой (брутто)
+
|мин. цена
 
|-
 
|-
 
|}
 
|}
  
В этом случае пользователю выдается предупреждение следующего содержания:
+
В этом случае пользователю будет выдано предупреждение:<br />
 
+
[[Файл:KE_128.png]]<br />
[[Файл:KE_128.png]]
 
 
   
 
   
После чего происходит возврат пользователя в экран редактирования акции.
+
=====Логика расчета для дат проживания=====
 +
* Даты заведены на период: при расчете стоимости услуги акция будет применяться в случае, если в ограничение по датам попадает хотя бы часть проживания, но не менее продолжительности, заданной в колонке «ночей от» и не более продолжительности, заданной в колонке «ночей до».
  
В экране обязательно должен быть заполнен хотя бы один период дат с…по… Даты продажи являются не обязательными для заполнения, но в случае если заполнены и даты продажи и даты с…по… , на несколько периодов, то производится проверка на то, что латы продажи не пересекаются.
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:650px">
 +
Пример расчета
 +
<div class="mw-collapsible-content">
 +
В ПК Мастер-Тур заведенные цены
 +
* на даты с 01.01.2016 по 28.02.2016 стоимость ночи равна 76$
 +
* на даты с 01.03.2016 по 31.12.2016 стоимость ночи равна 80$
 +
Пришла акция следующего содержания:
 +
* 7=6 до 13 ночей
 +
* 14=12 до 20 ночей
 +
* на даты с 01.02.2016 по 15.03.2016 бесплатная ночь с максимальной ценой
 +
В экран акций вводим один ценовой период и 2 строки с условиями:
 +
* на даты с 01.02.2016 по 15.03.2016
 +
* от 7 ночей до 13 ночей - 1 (макс. цена)
 +
* от 14 ночей до 20 ночей - 2 (макс. цена)
 +
''Расчет:''
 +
* если производится расчет на 29.01.2016 на 9 ночей, то данная акция применяться не будет и '''расчет не изменится'''.
 +
* если производится расчет на 29.01.2016 на 10 ночей (или более), то расчет стоимости будет c учетом акции, потому что в даты с 01.02.2016 по 15.03.2016 попадает 7 ночей, а именно 01.02.2016–07.02.2016:
 +
** '''10*76 - 76 = 684'''
 +
* если производится расчет на 25.02.2016 на 7 ночей, то расчет стоимости будет следующий:
 +
** '''4*76 + 3*80 – 80 = 464'''
 +
</div></div><br />
  
Все правила приведенные выше действую и при заведении акции типа '''KickBack'''.
+
* Даты заведены на заезд: при расчете стоимости услуги акция будет применяться в случае, если рассчитывается стоимость проживания на указанные даты заезда в отель (анализируется именно дата заезда, т.е. дата начала действия услуги, т.к. заезд в  отель может производиться и на 2-й и на 3-й день).
===Внесение новых акций типа PayStay  (предоставление бесплатных ночей)===
+
* Применение периодов продаж: периоды продаж также анализируются при расчетах, связанных с акцией. При расчете тура производится проверка, входит ли текущая дата (дата расчета) в указанные периоды продаж или нет. Если входит, то акция применяется, если нет, то акция не применяется.<br />
====Логика расчета для акций типа «PayStay» для дат проживания====
 
Данный тип акции используется для расчета бесплатных ночей, которые предоставляют отели.
 
В данном случае при расчете стоимости услуги акция будет применяться только тогда, когда все проживание по услуге попадает в ограничение по датам.
 
====Логика расчета для акций типа «PayStay» для дат заезда====
 
Данный тип акции используется для расчета бесплатных ночей, которые предоставляют отели.
 
При  расчете стоимости услуги акция будет применяться в случае, если рассчитывается стоимость проживания на указанные даты заезда в отель.
 
  
Анализируется именно дата заезда – т.е. дата начала действия услуги, т.к. заезд в  отель может производиться и на 2 и на 3 день
+
====Варианты размещения====
 
+
Для того, чтобы пользователь имел возможность задать, для каких отелей и типов размещений действует та или иная акция, необходимо в экране создания или редактирования акции перейти во вкладку '''Варианты размещения'''. В верхней части экрана располагаются фильтры, при выборе которых происходит заполнение данных для выборки (отелей, видов проживания и питаний):
Главным различием между акциями на даты проживания и на даты заезда является то, что, если у указаны даты проживания – механизм должен проверять ,что вся продолжительность услуги проживания попала в указанный период. В случае с датами заезда, не важно попадет ли услуга полностью в данные период, важно только чтобы ее дата заезда попала в данный период.
+
* Партнер – отображаются все поставщики, по которым есть цены на отели на будущие даты
====Применение периодов продаж====
+
* Страна – отображаются все страны, для отелей которых есть цены на будущие даты по выбранному ранее поставщику
Периоды продаж также анализируются при расчетах связанных с акцией. При расчете тура производится проверка, входит ли текущая дата (дата расчет)  в указанные периоды продаж или нет. Если входит – то акция применяется, если нет – то акция не применяется.
+
* Пакеты – отображаются все пакеты, для отелей которых есть цены на будущие даты по выбранному ранее поставщику и стране
 
+
<br />
[[Файл:KE_127.png]]
+
В том случае, если акция используется для расчета – фильтры партнер, страна и пакеты недоступны для редактирования.  
 
+
<br /><br />
===Внесение новых акций типа Kick Back (% скидка на даты заезда или даты продажи)===
+
После выбора всех указанных выше фильтров производится заполнение отелей, вариантов проживания и питаний.<br />
После того как пользователь нажал на кнопку добавить акцию и выбрал из выпадающего меню значение Kick Back происходит открытие диалога добавления акции, где он задает правила для нее.
+
[[Файл:mb_186.png|800px]]<br />
====Логика расчета для акций типа «Kick Back» для дат проживания====
 
В данном случае при расчете стоимости услуги акция будет применяться на любое кол-во ночей, попадающее в указанный период, даже если полная продолжительность заезда не попадает в даты акции.  
 
====Логика расчета для акций типа «Kick Back» для дат заезда====
 
В данном случае при расчете стоимости услуги, акция будет учитываться  только в  том случае. Если дата заезда попадает в даты акции.
 
 
 
[[Файл:KE_131.png]]
 
 
   
 
   
==Вкладка «Варианты размещения» (Добавление отелей, участвующих в акции)==
+
На вкладке '''Отели''' по умолчанию отображаются все отели, на которые заведены цены в конструкторе туров.
Для того, чтобы пользователь имел возможность задать для каких отелей и типов размещений действует та или иная акция , необходимо в экране создания и редактирования акции перейти во вкладку «Варианты размещения».
+
* Для расчета тура только с определенными отелями необходимо выбрать их в верхней таблице и нажать на кнопку «Добавить».
 +
* Отбор отелей по параметрам можно регулировать с помощью фильтра, который позволяет выбрать отели по категории, городу, курорту, партнеру или названию. Также для удобства отбора отелей можно воспользоваться кнопкой «Инвертировать», которая изменит установленные признаки отелей на противоположные. Для этого необходимо кликом по стрелочке, находящейся в правой части кнопки «Добавить», открыть меню и выбрать пункт «Инвертировать».
 +
* Удаление выбранных отелей осуществляется нажатием на кнопку «Добавить» или выбором соответствующего пункта меню.
 +
* Для удаление ранее выбранных отелей необходимо выбрать их в нижней таблице и нажать кнопку «Удалить».
 +
Добавление видов проживания и типов питания на вкладках '''Виды проживания''', '''Питания''' осуществляется аналогично добавлению отелей.
  
В данном экране с помощью фильтров пользователь может найти интересующие его отели и отметить их для расчета по данной акции.
+
====Список туров для перерасчета====
 +
После сохранения акции на вкладке '''Список туров для перерасчета''' будут отображаться туры, в которых содержатся услуги проживания с отелем, который есть в списке отелей акции, плюс период дат тура пересекается с периодами дат акции. В данном списке не отображаются туры, рассчитанные с помощью стандартного расчета прайс-листа, а отображаются только туры, рассчитанные с помощью PriceExpress.<br />
 +
[[Файл:mb_187.png|800px]]<br />
  
В верхней части экрана располагаются фильтры, при выборе которых происходит заполнение данных для выборки (отелей, видов проживания и питаний):
+
  После внесения акции необходимо произвести расчет нового тура или же перерасчет существующего тура.
 
 
*Партнер Отображаются все поставщики, по которым есть цены на отели на будущие даты<br/>
 
*Страна Отображаются все страны, для отелей которых есть цены на будущие даты по выбранному ранее поставщик<br/>
 
*Пакеты Отображаются все пакеты, отелей которых есть цены на будущие даты по выбранному ранее поставщику и стране<br/>
 
[[Файл:KE_133.png]]
 
   
 
После выбора всех указанных выше фильтров производится заполнение отелей, вариантов проживания  и питаний.
 
[[Файл:KE_132.png]]
 
 
===Вкладка отели===
 
По умолчанию добавлены все отели, виды проживания и типы питания, на которые заведены цены в конструкторе туров.
 
*Для расчета тура только с определенными отелями необходимо удалить добавленные ранее отели, выбрав их в нижней таблице и нажав кнопку "Удалить".
 
*Отбор отелей по параметрам можно регулировать с помощью фильтра, который позволяет выбрать отели по категории, городу, курорту, партнеру или названию. Также для удобства отбора отелей можно воспользоваться кнопкой "Инвертировать", которая изменит установленные признаки отелей на противоположные. Для этого необходимо кликом по стрелочке, находящейся в правой части кнопки "Добавить", открыть меню и выбрать пункт "Инвертировать".
 
*Добавление выбранных отелей осуществляется нажатием на кнопку "Добавить" или выбором соответствующего пункта меню.
 
 
 
Добавление видов проживания и типов питания на вкладках Виды проживания, Питания осуществляется аналогично добавлению отелей.
 
 
 
По умолчанию все отели отображаются в верхней части,  помечены как не выбранные для данной акции:
 
 
Отели, которые пользователь выбрал для данной акции, отображаются в нижней части экрана:
 
Кнопки «добавить», «инвертировать», «удалить» работают полностью в соответствии с логикой работы в модуле «PriceExpress».
 
==Вкладка «Список туров для пересчета»==
 
На данной странице отображается список туров, которые требуют пересчета. Если в существующей акции производились изменения, например, добавление размещения, питания и т.д., то для того, чтобы акции корректно отображались, необходимо рассчитать тур снова с помощью PriceExpress.
 
Возможность отбора туров, на которые повлияет та или иная акция.
 
  
[[Файл:KE_125.png]]
+
В момент расчета стоимости услуги производится анализ наличия акции. Акции анализируются не только при расчете тура с помощью PriceExpress, но также во всех экранах, где производится расчет стоимости услуги:
 +
* Конструктор туров
 +
* Оформление клиентов
 +
* Путевка
 +
* Все корзины (SimpleBasket, SimpleBasket2, Basket, AdvancedBasket)
 +
* Web-сервисы бронирования
 +
* Сервис бронирования TourML
  
После внесения акции необходимо произвести расчет нового тура или же пересчет существующего тура.
+
====История====
В момент расчета стоимости услуги производится анализ наличия СПО.
 
Акции анализируются не только при расчете тура с помощью PriceExpress, но также во всех экранах, где производится расчет стоимости услуги:
 
*Конструктор туров
 
*Оформление клиентов
 
*Путевка
 
*Все корзины (SimpleBasket, SimpleBasket2, Basket, AdvancedBasket)
 
*ComplexTour
 
*Веб сервисы бронирования
 
*Сервис бронирования TourML
 
==Вкладка «История»==
 
 
На данной странице отображаются все действия производимые над акцией.
 
На данной странице отображаются все действия производимые над акцией.
Дата заведение/изменения акции, кем были произведены изменения. Также указаны названия полей в виде списка, в  которых производились изменения. Для полного отображения изменений в акциях, необходимо развернуть список, нажав на строку.
+
Дата заведение/изменения акции, кем были произведены изменения. Также указаны названия полей в виде списка, в  которых производились изменения. Для полного отображения изменений в акциях, необходимо развернуть список, нажав на строку.<br />
[[Файл:KE_135.png]]
+
[[Файл:KE_135.png|800px]]<br />
 +
Изменяемые параметры в акциях:
 +
{| class="wikitable"
 +
! scope="col" width="70px" | №
 +
! scope="col" width="200px" | Описание
 +
! scope="col" width="300px" | Значение
 +
|-
 +
|- style="vertical-align:text-top"
 +
| 1
 +
| Название
 +
| Указывается пользователем при создании
 +
|-
 +
| 2
 +
| Тип дат действия
 +
| На заезд/период
 +
|-
 +
| 3
 +
| Даты действия
 +
| Указываются даты действия
 +
|-
 +
| 4
 +
| Даты продаж
 +
| Указываются даты продажи
 +
|-
 +
| 5
 +
| Общий период проживания
 +
| Учитывается либо период действия акции, либо период проживания
 +
|-
 +
| 6
 +
| Условия
 +
| Указываются правила действия
 +
|-
 +
| 7
 +
| Использование для расчета
 +
| Состояние
 +
|-
 +
| 8
 +
| Партнер
 +
| Указывается партнеры из списка
 +
|-
 +
| 9
 +
| Страна
 +
| Указывается страна из списка
 +
|-
 +
| 10
 +
| Пакеты
 +
| Указываются пакеты из списка
 +
|-
 +
| 11
 +
| Отели
 +
| Указываются отели
 +
|-
 +
| 12
 +
| Виды проживания
 +
| Указываются виды проживания
 +
|-
 +
| 13
 +
|Питание
 +
| Указываются виды питания
 +
|-
 +
| 14
 +
| Одновременное использование
 +
| Добавление/исключение другой акции к имеющейся
 +
|-
 +
|-
 +
| 15
 +
| Строгое вхождение периода проживания
 +
| Состояние
 +
|-
 +
|}
 
[[Category:Мастер-Тур_Дополнительные_модули]]
 
[[Category:Мастер-Тур_Дополнительные_модули]]

Текущая версия на 12:42, 19 марта 2020

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


Введение

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

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

Релиз 9.2.20 ПК «Мастер-Тур»/«Мастер-Web»
Минимальная поддерживаемая версия SQL Server 2008 R2 SP1 (10.50.2500.0)
IIS 8.0 (.Net Framework 4.5) для дополнительного модуля «Акции».
Google Chrome на клиентских компьютерах. Дополнительный модуль «Акции» корректно отображается только в браузере Google Chrome.

Установка

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

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

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

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

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

Дополнительная информация


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

Запрос для определения количества суточных цен

select count (*) from tbl_Costs 
where (CS_DATEEND >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) 
 or CS_CHECKINDATEEND >= DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())))
 and CS_SVKEY = 3 


  • Копирование каталога SpecialsCacheService из дистрибутива на сервер приложений.
  • Настройка конфигурационного файла Megatec.MasterTour.SpecialsCacheService.exe.config.
Описание Значение Настройка
1 Строка подключения Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings.

Внимание!
Для корректной работы в поле User Id необходимо указать пользователя sa.

<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 от имени администратора. При этом будут удалены правила для входящих подключений.

Установка модуля «Акции»

Для установки модуля «Акции» нужно создать отдельную директорию, например, wsSpecials (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива Specials9.2.X.XXXXX.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=пароль пользователя ПК «Мастер-Тур»"/>

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

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

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

false или отсутствие настройки – отключение кэширования

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

Если настройка кэширования включена, то экран акции не запустится, пока не загрузится полностью кэш.

Работа с модулем

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

Авторизация

При запуске сервиса «Акции» необходимо пройти авторизацию в системе. Для авторизации нужно использовать логин/пароль, как при входе в ПК «Мастер-Тур».
KE 134.png

Список акций

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

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


Mb 182.png

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

  • Название акции – заводится пользователем при создании акции
  • Тип акции – PayStay (предоставление бесплатных ночей) и KickBack (скидка в % на определенные даты), одна акция может быть привязана только к одному типу
  • Описание акции – отображается партнер, на которого действует акция и условия ее предоставления
  • Даты действия – указывается диапазон действия дат (может быть либо на период, либо на заезд)
  • Даты продажи – указываются даты продажи акции, если они заданы
  • Состояние – Используется для расчета и Не используется для расчета
  • Активация – указывается дата и время, когда акция перешла в состояние Используется для расчета. Если в момент заведения акции признак Используется для расчета ставится сразу, то дата активации равна дате создания акции, если признак ставится позднее в уже созданной акции, то дата активации равна дате сохранения данных изменений.


Mb 183.png

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

Добавление/редактирование акций

Для добавления новой акции необходимо нажать на кнопку «Добавить новую акцию» и в выпадающем списке выбрать тип акции PayStay (предоставление бесплатных ночей) и KickBack (скидка в % на определенные даты).
В экране добавления новой акции есть несколько вкладок:

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

Удалять акции на текущем этапе нельзя.

Условия акции (PayStay или KickBack)

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

  • Название акции – текстовое поле, заполняется произвольным текстом.
  • Даты – на период действия цены или на дату заезда по туру. Задается первая и последняя дата действия СПО, если необходимо задать несколько периодов, то это можно сделать нажатием на Добавить период. В случае, если для первого периода выбран период действия цены, то во всех последующих добавленных строках также будет период действия цен. Также параллельно с периодами дат можно задать даты продажи, в которые актуально данное СПО
  • Учитывать общий период проживания – данный признак присутствует только в ценах на период. Если признак не установлен, учитывается только та часть проживания, которая попадает в период действия акции. Если признак установлен, учитывается полная продолжительность проживания независимо от того, какая его часть попадает в пересечение с датами действия акции.
  • Строгое вхождение периода проживания в даты действия акций - данный признак присутствует только в ценах на период и при установленном признаке Учитывать общий период проживания. Если признак не установлен, для применения акции достаточно, чтобы хотя бы часть периода проживания попадала в даты действия акции. Если признак установлен, акция применятся в том случае, если весь период проживания полностью попадает в даты действия акции.
  • Правило для акции PayStay:
    • Ночей от – нижний порог продолжительности услуги
    • Ночей до – верхний порог продолжительности услуги
    • Действие – возможные варианты «=», «+», «-»
    • Значение – количество ночей в зависимости от действия
    • Тип бесплатной ночи – какая ночь будет являться бесплатной (возможные варианты «первая», «последняя», «мин. цена (брутто)», «макс. цена (брутто)», «средняя стоимость ночи»)

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

Ak 070.png

  • Правило для акции KickBack:
    • Ночей от – нижний порог продолжительности услуги
    • Ночей до – верхний порог продолжительности услуги
    • Действие – возможные варианты «- %» и «- y.e.»
    • Значение – процент скидки (если в Действии выбран %) или фиксированная величина скидки (если в Действии выбрана у.е.)

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

Ep 214.png

  • Акцию можно использовать одновременно с – возможность выбора другого типа акции, с которой можно комбинировать текущую акцию. Если предполагается использовать две акции одновременно, то необходимо заполнить данное поле в обеих акциях.
  • Использовать акцию для расчета – данный признак определяет состояние акции. В момент установки признака и нажатия на Сохранить акция начинает действовать и влиять на расчет во всех экранах ПК «Мастер-Тур». В этот же момент проставляется дата активации для акции. Для применения акций в ПК «Мастер-Web» необходимо перерассчитать связанные туры.


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

Например:

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

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

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

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

В этом случае пользователю будет выдано предупреждение:
KE 128.png

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

Пример расчета

В ПК Мастер-Тур заведенные цены

  • на даты с 01.01.2016 по 28.02.2016 стоимость ночи равна 76$
  • на даты с 01.03.2016 по 31.12.2016 стоимость ночи равна 80$

Пришла акция следующего содержания:

  • 7=6 до 13 ночей
  • 14=12 до 20 ночей
  • на даты с 01.02.2016 по 15.03.2016 бесплатная ночь с максимальной ценой

В экран акций вводим один ценовой период и 2 строки с условиями:

  • на даты с 01.02.2016 по 15.03.2016
  • от 7 ночей до 13 ночей - 1 (макс. цена)
  • от 14 ночей до 20 ночей - 2 (макс. цена)

Расчет:

  • если производится расчет на 29.01.2016 на 9 ночей, то данная акция применяться не будет и расчет не изменится.
  • если производится расчет на 29.01.2016 на 10 ночей (или более), то расчет стоимости будет c учетом акции, потому что в даты с 01.02.2016 по 15.03.2016 попадает 7 ночей, а именно 01.02.2016–07.02.2016:
    • 10*76 - 76 = 684
  • если производится расчет на 25.02.2016 на 7 ночей, то расчет стоимости будет следующий:
    • 4*76 + 3*80 – 80 = 464


  • Даты заведены на заезд: при расчете стоимости услуги акция будет применяться в случае, если рассчитывается стоимость проживания на указанные даты заезда в отель (анализируется именно дата заезда, т.е. дата начала действия услуги, т.к. заезд в отель может производиться и на 2-й и на 3-й день).
  • Применение периодов продаж: периоды продаж также анализируются при расчетах, связанных с акцией. При расчете тура производится проверка, входит ли текущая дата (дата расчета) в указанные периоды продаж или нет. Если входит, то акция применяется, если нет, то акция не применяется.

Варианты размещения

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

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


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

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

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

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

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

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

После сохранения акции на вкладке Список туров для перерасчета будут отображаться туры, в которых содержатся услуги проживания с отелем, который есть в списке отелей акции, плюс период дат тура пересекается с периодами дат акции. В данном списке не отображаются туры, рассчитанные с помощью стандартного расчета прайс-листа, а отображаются только туры, рассчитанные с помощью PriceExpress.
Mb 187.png

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

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

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

История

На данной странице отображаются все действия производимые над акцией. Дата заведение/изменения акции, кем были произведены изменения. Также указаны названия полей в виде списка, в которых производились изменения. Для полного отображения изменений в акциях, необходимо развернуть список, нажав на строку.
KE 135.png
Изменяемые параметры в акциях:

Описание Значение
1 Название Указывается пользователем при создании
2 Тип дат действия На заезд/период
3 Даты действия Указываются даты действия
4 Даты продаж Указываются даты продажи
5 Общий период проживания Учитывается либо период действия акции, либо период проживания
6 Условия Указываются правила действия
7 Использование для расчета Состояние
8 Партнер Указывается партнеры из списка
9 Страна Указывается страна из списка
10 Пакеты Указываются пакеты из списка
11 Отели Указываются отели
12 Виды проживания Указываются виды проживания
13 Питание Указываются виды питания
14 Одновременное использование Добавление/исключение другой акции к имеющейся
15 Строгое вхождение периода проживания Состояние