Auto closing of shift in the FR service — различия между версиями

Материал из Servio Doc
Перейти к: навигация, поиск
 
(не показаны 3 промежуточных версий 1 участника)
Строка 5: Строка 5:
 
Цель автозакрытия - гарантированное закрытие кассовой смены в тех же календарных сутках, в которых было открытие, во избежание штрафов.
 
Цель автозакрытия - гарантированное закрытие кассовой смены в тех же календарных сутках, в которых было открытие, во избежание штрафов.
  
<b>Параметры автозакрытия:</b>
+
===Параметры автозакрытия:===
 
+
 
HMS. «Настройки/Оборудование/Кассы»:
 
HMS. «Настройки/Оборудование/Кассы»:
 
* параметр «Автообнуление баланса». Наличие остатка по кассе после Z-отчёта и служебного изъятия: не обнулять — в кассе остается «Сумма разменной монеты» (<code>FractionalCoins</code>); «Обнулять после закрытия смены» — баланс обнуляется.
 
* параметр «Автообнуление баланса». Наличие остатка по кассе после Z-отчёта и служебного изъятия: не обнулять — в кассе остается «Сумма разменной монеты» (<code>FractionalCoins</code>); «Обнулять после закрытия смены» — баланс обнуляется.
Строка 14: Строка 13:
 
* сервис ФР. Строки конфигурационного файла <code>ServiceSettings.xml</code>:
 
* сервис ФР. Строки конфигурационного файла <code>ServiceSettings.xml</code>:
 
{| style="border-style:solid; border-width:0.5px"
 
{| style="border-style:solid; border-width:0.5px"
 +
! Style=width:30%|
 +
! Style=width:5%|
 +
 +
! |
 +
 
|-
 
|-
 
| style="padding-left:0.5em" |<nowiki><ShiftCloseTime>23:40</ShiftCloseTime></nowiki>
 
| style="padding-left:0.5em" |<nowiki><ShiftCloseTime>23:40</ShiftCloseTime></nowiki>
Строка 21: Строка 25:
 
| style="padding-left:0.5em" |<nowiki><LastShiftClosingDate>28.11.2019 23:40:02</LastShiftClosingDate></nowiki>
 
| style="padding-left:0.5em" |<nowiki><LastShiftClosingDate>28.11.2019 23:40:02</LastShiftClosingDate></nowiki>
 
| style="padding-left:0.5em" | —
 
| style="padding-left:0.5em" | —
| style="padding-left:0.5em" |дата последнего удачного автозакрытия смены. Записывается в файле конфигурации;
+
| style="padding-left:0.5em" |дата последнего удачного смены. Записывается в файле конфигурации;
 
|-
 
|-
 
| style="padding-left:0.5em" |<nowiki><WaitAfterClosingShift>30</WaitAfterClosingShift></nowiki>
 
| style="padding-left:0.5em" |<nowiki><WaitAfterClosingShift>30</WaitAfterClosingShift></nowiki>
Строка 41: Строка 45:
 
| style="padding-left:0.5em" |<nowiki><XReportBeforeShiftClose>True</XReportBeforeShiftClose></nowiki>
 
| style="padding-left:0.5em" |<nowiki><XReportBeforeShiftClose>True</XReportBeforeShiftClose></nowiki>
 
| style="padding-left:0.5em" | —
 
| style="padding-left:0.5em" | —
| style="padding-left:0.5em" |выполнять ли X-отчет перед автозакрытием смены
+
| style="padding-left:0.5em" |выполнять ли X-отчет перед автозакрытием смены;
 +
|-
 +
| style="padding-left:0.5em" |<nowiki><LastShiftClosedAutomatically>False</LastShiftClosedAutomatically></nowiki>
 +
| style="padding-left:0.5em" | —
 +
| style="padding-left:0.5em" |признак автоматического закрытия смены. Служба проставляет значения «True» или «False»;
 +
|-
 +
| style="padding-left:0.5em" |<nowiki><TrackBeforeAutoShiftClosing>15</TrackBeforeAutoShiftClosing></nowiki>
 +
| style="padding-left:0.5em" | —
 +
| style="padding-left:0.5em" |проверка перед запуском автозакрытия: выполнялось ли закрытие смены в заданном интервале времени (мин). Если выполнялась, автозакрытие не производится
 
|}
 
|}
  
<b>Алгоритм закрытия:</b>
+
===Алгоритм закрытия:===
 
+
 
Во время, заданное в <code>ShiftCloseTime</code>, запускается процедура закрытия смены в сервисе ФР. <br/>
 
Во время, заданное в <code>ShiftCloseTime</code>, запускается процедура закрытия смены в сервисе ФР. <br/>
 
Печатается X-отчёт, затем Z-отчёт.<br/>
 
Печатается X-отчёт, затем Z-отчёт.<br/>
Строка 60: Строка 71:
 
*OpenSessionSumm — средства в ФР в текущей смене.
 
*OpenSessionSumm — средства в ФР в текущей смене.
  
 
+
===Особенности:===
<b>Особенности:</b>
+
 
+
 
+
 
Если в настройке кассы в HMS («Настройки/Оборудование/Кассы») не установлен флаг «Раздельное закрытие смен», то выполнение Z-отчета по кассе закроет фискальную смену в HMS.<br/>
 
Если в настройке кассы в HMS («Настройки/Оборудование/Кассы») не установлен флаг «Раздельное закрытие смен», то выполнение Z-отчета по кассе закроет фискальную смену в HMS.<br/>
 
Если в момент начала автозакрытия нет открытых фискальных смен HMS (например, портье закрыл смену вручную), то первая из открывшихся смен закроется автоматически.
 
Если в момент начала автозакрытия нет открытых фискальных смен HMS (например, портье закрыл смену вручную), то первая из открывшихся смен закроется автоматически.
Строка 70: Строка 78:
 
|рис = [[File:Clipboard.png|frameless|30px|link=]]  |текст = К одной службе ФР (к одной кассе) может быть подключено несколько POS-систем, например: HMS и RestoranPOS-системы не имеют информации о работе службы ФР.
 
|рис = [[File:Clipboard.png|frameless|30px|link=]]  |текст = К одной службе ФР (к одной кассе) может быть подключено несколько POS-систем, например: HMS и RestoranPOS-системы не имеют информации о работе службы ФР.
 
}}
 
}}
 
Функционал альтернативной тарификации предназначен для взаимодействия HMS Servio с ОТА-каналами и Channel Manager, так как последние предъявляют ряд жёстких специфических требований, которые значительно сужают возможности и настройки текущей тарификации.Внешние системы не полностью поддерживают функционал HMS, например, не работают со свободно конфигурируемыми пакетными услугами. Поэтому для настройки взаимодействия с ними разработан специальный функционал.В основу концепции альтернативной тарификации заложен следующий механизм: для каждого отеля и каждого типа размещения в его номерах создаются группы цен на услуги проживания и питания, охватывающие все специфические периоды времени бронирования: высокий сезон, низкий сезон, праздники и пр. Затем подготовленные группы цен вкладываются в прейскуранты, а в календаре для каждого прейскуранта задаются периоды его применения.Таким образом, тарифицирование проживания получается несложным для настройки и управления.
 
 
====Последовательность ввода информации====
 
Функционал «Альтернативная тарификация» расположен в модуле «Продажи» и размещён на трёх вкладках: «Прейскуранты», «Группы цен» и «Календарь».
 
Первым и самым трудоёмким этапом является создание и настройка групп цен на услуги. После этого выполняется работа с прейскурантами и календарём прейскурантов.
 
 
====Группы цен====
 
Для каждого отеля создаётся карта вариантов размещения: список категорий номеров и возможные способы заселения в них. Полученная таблица загружается программным способом — скриптом, и редактированию не подлежит.
 
[[File:Tarification_PriceGroups.png|center|600px|thumb|Группы цен|link=]]
 
При добавлении новой группы цен заполняются все поля, в том числе:
 
* выбирается валюта группы цен. В прейскурантах (вкладка «Прейскуранты») также устанавливается валюта, соответственно к прейскуранту можно будет прикрепить только группу цен с той же валютой;* категория группы цен. В настоящей версии услуга для каждого отеля задана жёстко — «Проживание». При необходимости услуга может быть изменена;
 
* даты начала и окончания устанавливают период действия группы цен. В календаре на конкретные даты для выбора будут доступны только те прейскуранты, группы цен в которых включают эти даты.
 
 
Далее настраивается таблица «Цены на услуги»: задаются передаваемые во внешние системы услуги, правила их начисления и цены.В каждой категории номера флагами отмечаются передаваемые варианты размещения, после чего становится доступным их настройка. Для каждого варианта размещения устанавливается:* правило начисления:** «За номер в сутки» — стоимость номера не дифференцируется в зависимости от количества проживающих в нём гостей. Например, если стоимость суток проживания в номере Double составляет 1000, то независимо от того, проживает в нём 1 гость или 2 гостя будет сформировано начисление «Проживание» в количестве «1» с ценой и суммой 1000;** «За гостя в сутки» — стоимость номера различается в зависимости от количества проживающих в нём гостей. Например, стоимость суток проживания в номере Double для одного гостя составляет 600. Если проживает 1 гость, то будет сформировано начисление «Проживание» в количестве «1» с ценой и суммой 600. Если проживают 2 гостя, то будет сформировано начисление «Проживание» в количестве «2» с ценой 600 на сумму 1200;** «За пользование» — правило используется для передачи стоимости неосновных, разовых услуг.* цена — задаётся в соответствии с правилом начисления.====Прейскуранты====Список прейскурантов также создаётся отдельно для каждого отеля: заводятся прейскуранты, в них добавляются группы цен, которые будут устанавливаться в календаре на диапазоны дат или отдельные даты.[[File:Tarification_Prices.png|center|600px|thumb|Прейскуранты|link=]]Прейскуранты могут быть созданы «с нуля» или быть унаследованы от ранее введённых прейскурантов.В любом случае, после сохранения заголовка прейскуранта валюта и тип питания корректировке не подлежит.====Добавление без наследования====Добавление прейскуранта производится в два этапа: сначала вводится заголовок прейскуранта, включающий валюту и тип питания (выбирается из справочника «Настройка/Справочники/Типы питания»), включённый в прейскурант. Затем, после добавления заголовка, в прейскурант добавляются группы цен на услуги проживания.В прейскуранте можно ввести скидку на услуги. Если поменять размер скидки у имеющегося прейскуранта, то она будет применяться только для новых бронирований (или после пересчёта цен и начислений в бонированиях, добавленных ранее).Скидка, заложенная в прейскуранте, применяется на все группы цен.Группа цен может быть удалена из прейскуранта, если она не используется в календаре. В противном случае кнопка удаления в строке с группой цен отсутствует.====Добавление с наследованием прейскуранта====Очень часто прейскуранты отличаются друг от друга только размером скидки. В этом случае для создания прейскуранта используется механизм наследования от основного прейскуранта.{{Вставка  |рис = [[File:Clipboard.png|frameless|30px|link=]]  |текст = Каскадное наследование прейскурантов невозможно. Дочерние прейскуранты можно наследовать только от основных.}}Добавление прейскуранта наследованием от основного производится щелчком по кнопке [[File:clon.gif|16px|link=]]&nbsp;(Наследовать прейскурант) в строке основного (родительского) прейскуранта. Создаётся запись, в заголовке которой:* указывается название родительского прейскуранта;* валюта и тип питания аналогичны родительскому прейскуранту и редактированию не подлежат.Состав групп цен аналогичен родительскому прейскуранту и также не подлежит изменению в унаследованном прейскуранте. И наоборот, все изменения в родительском прейскуранте (изменение состава групп цен, изменение процента скидки) распространяются на дочерние прейскуранты. Скидки, установленные и в родительском, и в дочернем прейскурантах, складываются.Для окончания добавления прейскуранта нужно ввести его название и сокращение.====Календарь====Для применения прейскурантов альтернативной тарификации при бронировании гостей и групп гостей необходимо для каждого родительского прейскуранта на каждую дату назначить ту или иную группу цен.Функционал календаря альтернативной тарификации не отличается от функционала календаря специальных тарифов.[[File:Tarification_Calendar.png|center|600px|thumb|Клендарь|link=]]Порядок работы с ним следующий:* сначала выбирается прейскурант;* затем курсором мыши выделяется область, на которую назначается один и тот же прейскурант. Даты выделенной области подсвечиваются;{{Вставка  |рис = [[File:Clipboard.png|frameless|30px|link=]]  |текст = Назначить цены можно только на период, начиная с текущей даты. Поэтому, независимо от выделяемой курсором области, для назначения цен подсветятся только возможные даты.}}* после отпускания курсора мыши откроется окно с группами цен выбранного прейскуранта для назначения одного из них на выбранные даты.После назначения групп цен родительского прейскуранта, для передачи во внешние системы станут доступны и все наследованные от него прейскуранты.====Альтернативная тарификация в карте гостя====Бронирование гостей через Channel Manager или ОТА-каналы может осуществляться по прейскурантам альтернативной тарификации. Поэтому альтернативный прейскурант выведен в карту гостя и может применяться наряду с обычной тарификацией.В правой части карты гостя справа от выпадающего списка «Прейскуранты» расположена кнопка [[File:Btn_Plus_in_Circle.png|16px|link=]]&nbsp;(Выбор альтернативного прейскуранта). После щелчка по ней появляется выпадающий список «Альтернативный прейскурант».[[File:Tarification_GuestCard.png|center|600px|thumb|Альтернативный прейскурант в карте гостя|link=]]После выбора альтернативного прейскуранта пересчитывается стоимость проживания гостя в соответствии с привязанными в календаре альтернативной тарификации группами цен на период проживания гостя. Чтобы отменить применение альтернативного прейскуранта и вернуться к традиционной тарификации нужно выбрать значение выпадающего списка «Не выбрано».
 

Текущая версия на 12:21, 18 декабря 2019

Автозакрытие смены в сервисе ФР

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

Параметры автозакрытия:

HMS. «Настройки/Оборудование/Кассы»:

  • параметр «Автообнуление баланса». Наличие остатка по кассе после Z-отчёта и служебного изъятия: не обнулять — в кассе остается «Сумма разменной монеты» (FractionalCoins); «Обнулять после закрытия смены» — баланс обнуляется.
Clipboard.png Доработка по автообнулению. баланса (служебному изъятию) реализована только для ФР Мария. Для остальных ФР всегда автоматически проставляется «Сумма в смене : 0».
  • сервис ФР. Строки конфигурационного файла ServiceSettings.xml:
<ShiftCloseTime>23:40</ShiftCloseTime> время автозакрытия смены;
<LastShiftClosingDate>28.11.2019 23:40:02</LastShiftClosingDate> дата последнего удачного смены. Записывается в файле конфигурации;
<WaitAfterClosingShift>30</WaitAfterClosingShift> интервал (мин.), в который ФР не будет выполнять после автозакрытия смены команды, кроме получения статуса;
<CashOutBeforeShiftClose>True</CashOutBeforeShiftClose> выполнять ли служебное изъятие средств перед автозакрытием. Пока реализовано для ФР Мария 301МТМ;
<CashOutType>3</CashOutType> тип служебного изъятия перед автозакрытием смены: 1 - вся сумма в смене, 2 - за исключением разменной монеты, 3- раздельно(сначала разменная монета, потом остальное);
<FractionalCoins>200,00</FractionalCoins> сумма разменной монеты - предустановленный остаток в кассе на начало смены;
<XReportBeforeShiftClose>True</XReportBeforeShiftClose> выполнять ли X-отчет перед автозакрытием смены;
<LastShiftClosedAutomatically>False</LastShiftClosedAutomatically> признак автоматического закрытия смены. Служба проставляет значения «True» или «False»;
<TrackBeforeAutoShiftClosing>15</TrackBeforeAutoShiftClosing> проверка перед запуском автозакрытия: выполнялось ли закрытие смены в заданном интервале времени (мин). Если выполнялась, автозакрытие не производится

Алгоритм закрытия:

Во время, заданное в ShiftCloseTime, запускается процедура закрытия смены в сервисе ФР.
Печатается X-отчёт, затем Z-отчёт.
Для ФР «Мария 301МТМ»: если в CashOutBeforeShiftClose установлено «True», выполняется служебное изъятие средств. Тип служебного изъятия определяется параметром CashOutType: 1 - вся сумма в смене, 2 - за исключением разменной монеты, 3- раздельно (сначала разменная монета, потом остальное).
Сумма разменной монеты (остаток после закрытия смены) устанавливается в параметре FractionalCoins. Для всех ФР, за исключением «Мария 301МТМ», устанавливается значение «0».
С начала автозакрытия в течение времени (в минутах), заданного в WaitAfterClosingShift, сервис ФР не отвечает ни на какие запросы. Это время требуется для выполнения служебных операций.
По окончании времени ShiftCloseTime + WaitAfterClosingShift можно начинать выполнение операций с ФР.
Операции закрытия смены фиксируются в log-файле службы ФР.

В запросе статуса ФР по команде DeviceInfo выводится информация по автозакрытию смены:

  • WaitAfterClosingShift — заблокирован ли ФР после автозакрытия смены;
  • LastAutoClosingShiftDate — дата последнего удачного автозакрытия смены;
  • NextAutoClosingShiftDate — дата следующего автозакрытия смены;
  • OpenSessionSumm — средства в ФР в текущей смене.

Особенности:

Если в настройке кассы в HMS («Настройки/Оборудование/Кассы») не установлен флаг «Раздельное закрытие смен», то выполнение Z-отчета по кассе закроет фискальную смену в HMS.
Если в момент начала автозакрытия нет открытых фискальных смен HMS (например, портье закрыл смену вручную), то первая из открывшихся смен закроется автоматически.

Clipboard.png К одной службе ФР (к одной кассе) может быть подключено несколько POS-систем, например: HMS и RestoranPOS-системы не имеют информации о работе службы ФР.