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

Материал из Servio Doc
Перейти к: навигация, поиск
 
(не показаны 4 промежуточных версий 1 участника)
Строка 5: Строка 5:
 
Цель автозакрытия - гарантированное закрытие кассовой смены в тех же календарных сутках, в которых было открытие, во избежание штрафов.
 
Цель автозакрытия - гарантированное закрытие кассовой смены в тех же календарных сутках, в которых было открытие, во избежание штрафов.
  
Параметры автозакрытия:
+
===Параметры автозакрытия:===
 
+
 
HMS. «Настройки/Оборудование/Кассы»:
 
HMS. «Настройки/Оборудование/Кассы»:
 
* параметр «Автообнуление баланса». Наличие остатка по кассе после Z-отчёта и служебного изъятия: не обнулять — в кассе остается «Сумма разменной монеты» (<code>FractionalCoins</code>); «Обнулять после закрытия смены» — баланс обнуляется.
 
* параметр «Автообнуление баланса». Наличие остатка по кассе после Z-отчёта и служебного изъятия: не обнулять — в кассе остается «Сумма разменной монеты» (<code>FractionalCoins</code>); «Обнулять после закрытия смены» — баланс обнуляется.
Строка 12: Строка 11:
 
|рис = [[File:Clipboard.png|frameless|30px|link=]]  |текст = Доработка по автообнулению. баланса (служебному изъятию) реализована только для ФР Мария. Для остальных ФР всегда автоматически проставляется «Сумма в смене : 0».
 
|рис = [[File:Clipboard.png|frameless|30px|link=]]  |текст = Доработка по автообнулению. баланса (служебному изъятию) реализована только для ФР Мария. Для остальных ФР всегда автоматически проставляется «Сумма в смене : 0».
 
}}
 
}}
* сервис ФР. Конфигурационный файл <code>ServiceSettings.xml</code>:
+
* сервис ФР. Строки конфигурационного файла <code>ServiceSettings.xml</code>:
{|
+
{| style="border-style:solid; border-width:0.5px"
 +
! Style=width:30%|
 +
! Style=width:5%|
 +
 
 +
! |
 +
 
 
|-
 
|-
|<nowiki><ShiftCloseTime>23:40</ShiftCloseTime></nowiki>
+
| style="padding-left:0.5em" |<nowiki><ShiftCloseTime>23:40</ShiftCloseTime></nowiki>
| —
+
| style="padding-left:0.5em" | —
|время автозакрытия смены;
+
| 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" |дата последнего удачного смены. Записывается в файле конфигурации;
 
|-
 
|-
|<nowiki><WaitAfterClosingShift>30</WaitAfterClosingShift></nowiki>
+
| style="padding-left:0.5em" |<nowiki><WaitAfterClosingShift>30</WaitAfterClosingShift></nowiki>
| —
+
| style="padding-left:0.5em" | —
|интервал (мин.), в который ФР не будет выполнять после автозакрытия смены команды, кроме получения статуса;
+
| style="padding-left:0.5em" |интервал (мин.), в который ФР не будет выполнять после автозакрытия смены команды, кроме получения статуса;
 
|-
 
|-
|<nowiki><CashOutBeforeShiftClose>True</CashOutBeforeShiftClose></nowiki>
+
| style="padding-left:0.5em" |<nowiki><CashOutBeforeShiftClose>True</CashOutBeforeShiftClose></nowiki>
| —
+
| style="padding-left:0.5em" | —
|выполнять ли служебное изъятие средств перед автозакрытием. Пока реализовано для ФР Мария 301МТМ;
+
| style="padding-left:0.5em" |выполнять ли служебное изъятие средств перед автозакрытием. Пока реализовано для ФР Мария 301МТМ;
 
|-
 
|-
|<nowiki><CashOutType>3</CashOutType></nowiki>
+
| style="padding-left:0.5em" |<nowiki><CashOutType>3</CashOutType></nowiki>
| —
+
| style="padding-left:0.5em" | —
|тип служебного изъятия перед автозакрытием смены: 1 - вся сумма в смене, 2 - за исключением разменной монеты, 3- раздельно(сначала разменная монета, потом остальное);
+
| style="padding-left:0.5em" |тип служебного изъятия перед автозакрытием смены: 1 - вся сумма в смене, 2 - за исключением разменной монеты, 3- раздельно(сначала разменная монета, потом остальное);
 
|-
 
|-
|<nowiki><FractionalCoins>200,00</FractionalCoins></nowiki>
+
| style="padding-left:0.5em" |<nowiki><FractionalCoins>200,00</FractionalCoins></nowiki>
| —
+
| style="padding-left:0.5em" | —
|сумма разменной монеты - предустановленный остаток в кассе на начало смены;
+
| 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" | —
|выполнять ли 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" |проверка перед запуском автозакрытия: выполнялось ли закрытие смены в заданном интервале времени (мин). Если выполнялась, автозакрытие не производится
 
|}
 
|}
  
 
+
===Алгоритм закрытия:===
Алгоритм закрытия:
+
 
+
 
Во время, заданное в <code>ShiftCloseTime</code>, запускается процедура закрытия смены в сервисе ФР. <br/>
 
Во время, заданное в <code>ShiftCloseTime</code>, запускается процедура закрытия смены в сервисе ФР. <br/>
 
Печатается X-отчёт, затем Z-отчёт.<br/>
 
Печатается X-отчёт, затем Z-отчёт.<br/>
Для ФР «Мария 301МТМ»: если в <code>CashOutBeforeShiftClose</code> установлено «True», выполняется служебное изъятие средств. Тип служебного изъятия определяется параметром <code>CashOutType</code>: 1 - вся сумма в смене, 2 - за исключением разменной монеты, 3- раздельно(сначала разменная монета, потом остальное).<br/>
+
Для ФР «Мария 301МТМ»: если в <code>CashOutBeforeShiftClose</code> установлено «True», выполняется служебное изъятие средств. Тип служебного изъятия определяется параметром <code>CashOutType</code>: 1 - вся сумма в смене, 2 - за исключением разменной монеты, 3- раздельно (сначала разменная монета, потом остальное).<br/>
Сумма разменной монеты (остаток после закрытия смены) устанавливается в параметре <code>FractionalCoins</code>. Для всех ФР, за исключением «Мария 301МТМ», устанавливается «0».<br/>
+
Сумма разменной монеты (остаток после закрытия смены) устанавливается в параметре <code>FractionalCoins</code>. Для всех ФР, за исключением «Мария 301МТМ», устанавливается значение «0».<br/>
 
С начала автозакрытия в течение времени (в минутах), заданного в <code>WaitAfterClosingShift</code>, сервис ФР не отвечает ни на какие запросы. Это время требуется для выполнения служебных операций.<br/>
 
С начала автозакрытия в течение времени (в минутах), заданного в <code>WaitAfterClosingShift</code>, сервис ФР не отвечает ни на какие запросы. Это время требуется для выполнения служебных операций.<br/>
 
По окончании времени <code>ShiftCloseTime + WaitAfterClosingShift</code> можно начинать выполнение операций с ФР.<br/>
 
По окончании времени <code>ShiftCloseTime + WaitAfterClosingShift</code> можно начинать выполнение операций с ФР.<br/>
 
Операции закрытия смены фиксируются в log-файле службы ФР.
 
Операции закрытия смены фиксируются в log-файле службы ФР.
  
В запросе статуса ФР по команде <code>DeviceInfo</code> выводится информация по автозакрытию смены:    WaitAfterClosingShift - заблокирован ли ФР после автозакрытия смены   LastAutoClosingShiftDate - дата последнего удачного автозакрытия смены   NextAutoClosingShiftDate - дата следующего автозакрытия смены   OpenSessionSumm - средства в ФР в текущей сменеОсобенности:Если в настройке кассы в HMS ("Настройки/Оборудование/Кассы") не установлен флаг "Раздельное закрытие смен", то выполнение Z-отчета по кассе закроет фискальную смену в HMS. Если в момент начала автозакрытия нет открытых фискальных смен HMS (например, портье закрыл смену вручную), то первая из открывшихся смен закроется автоматически.
+
В запросе статуса ФР по команде <code>DeviceInfo</code> выводится информация по автозакрытию смены:     
Примечание
+
*WaitAfterClosingShift заблокирован ли ФР после автозакрытия смены;
К одной службе ФР (к одной кассе) может быть подключено несколько POS-систем, например: HMS и RestoranPOS-системы не имеют информации о работе службы ФР
+
*LastAutoClosingShiftDate дата последнего удачного автозакрытия смены;
 +
*NextAutoClosingShiftDate дата следующего автозакрытия смены;
 +
*OpenSessionSumm средства в ФР в текущей смене.
  
 +
===Особенности:===
 +
Если в настройке кассы в HMS («Настройки/Оборудование/Кассы») не установлен флаг «Раздельное закрытие смен», то выполнение Z-отчета по кассе закроет фискальную смену в HMS.<br/>
 +
Если в момент начала автозакрытия нет открытых фискальных смен HMS (например, портье закрыл смену вручную), то первая из открывшихся смен закроется автоматически.
  
 
+
{{Вставка 
Функционал альтернативной тарификации предназначен для взаимодействия HMS Servio с ОТА-каналами и Channel Manager, так как последние предъявляют ряд жёстких специфических требований, которые значительно сужают возможности и настройки текущей тарификации.Внешние системы не полностью поддерживают функционал HMS, например, не работают со свободно конфигурируемыми пакетными услугами. Поэтому для настройки взаимодействия с ними разработан специальный функционал.В основу концепции альтернативной тарификации заложен следующий механизм: для каждого отеля и каждого типа размещения в его номерах создаются группы цен на услуги проживания и питания, охватывающие все специфические периоды времени бронирования: высокий сезон, низкий сезон, праздники и пр. Затем подготовленные группы цен вкладываются в прейскуранты, а в календаре для каждого прейскуранта задаются периоды его применения.Таким образом, тарифицирование проживания получается несложным для настройки и управления.
+
|рис = [[File:Clipboard.png|frameless|30px|link=]] |текст = К одной службе ФР (к одной кассе) может быть подключено несколько POS-систем, например: HMS и RestoranPOS-системы не имеют информации о работе службы ФР.
 
+
}}
====Последовательность ввода информации====
+
Функционал «Альтернативная тарификация» расположен в модуле «Продажи» и размещён на трёх вкладках: «Прейскуранты», «Группы цен» и «Календарь».
+
Первым и самым трудоёмким этапом является создание и настройка групп цен на услуги. После этого выполняется работа с прейскурантами и календарём прейскурантов.
+
 
+
====Группы цен====
+
Для каждого отеля создаётся карта вариантов размещения: список категорий номеров и возможные способы заселения в них. Полученная таблица загружается программным способом — скриптом, и редактированию не подлежит.
+
[[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-системы не имеют информации о работе службы ФР.