Auto closing of shift in the FR service — различия между версиями
(Новая страница: «<u><big><big>''' Автозакрытие смены в сервисе ФР '''</big></big></u><div style="clear: right; margin-bottom: 0.5em; float: right; paddi…») |
|||
Строка 1: | Строка 1: | ||
− | <u><big><big>''' | + | <u><big><big>'''Автозакрытие смены в сервисе ФР'''</big></big></u> |
− | Автозакрытие смены в сервисе ФР | + | |
− | '''</big></big></u> | + | |
− | + | <div style="clear: right; margin-bottom: 0.5em; float: right; padding: 0.5em 0 0.8em 1.4em; position: fixed; top: 50px; right: 10px; background: none;" class="toclimit-4">__TOC__</div> | |
+ | |||
+ | Цель автозакрытия - гарантированное закрытие кассовой смены в тех же календарных сутках, в которых было открытие, во избежание штрафов. | ||
+ | |||
+ | Параметры автозакрытия: | ||
+ | |||
+ | HMS. «Настройки/Оборудование/Кассы»: | ||
+ | * параметр «Автообнуление баланса». Наличие остатка по кассе после Z-отчёта и служебного изъятия: не обнулять — в кассе остается «Сумма разменной монеты» (<code>FractionalCoins</code>); «Обнулять после закрытия смены» — баланс обнуляется. | ||
+ | {{Вставка | ||
+ | |рис = [[File:Clipboard.png|frameless|30px|link=]] |текст = Доработка по автообнулению. баланса (служебному изъятию) реализована только для ФР Мария. Для остальных ФР всегда автоматически проставляется «Сумма в смене : 0». | ||
+ | }} | ||
+ | * сервис ФР. Конфигурационный файл <code>ServiceSettings.xml</code>: | ||
+ | {| | ||
+ | |- | ||
+ | |<nowiki><ShiftCloseTime>23:40</ShiftCloseTime></nowiki> | ||
+ | | — | ||
+ | |время автозакрытия смены; | ||
+ | |- | ||
+ | |<nowiki><LastShiftClosingDate>28.11.2019 23:40:02</LastShiftClosingDate></nowiki> | ||
+ | | — | ||
+ | |дата последнего удачного автозакрытия смены. Записывается в файле конфигурации; | ||
+ | |- | ||
+ | |<nowiki><WaitAfterClosingShift>30</WaitAfterClosingShift></nowiki> | ||
+ | | — | ||
+ | |интервал (мин.), в который ФР не будет выполнять после автозакрытия смены команды, кроме получения статуса; | ||
+ | |- | ||
+ | |<nowiki><CashOutBeforeShiftClose>True</CashOutBeforeShiftClose></nowiki> | ||
+ | | — | ||
+ | |выполнять ли служебное изъятие средств перед автозакрытием. Пока реализовано для ФР Мария 301МТМ; | ||
+ | |- | ||
+ | |<nowiki><CashOutType>3</CashOutType></nowiki> | ||
+ | | — | ||
+ | |тип служебного изъятия перед автозакрытием смены: 1 - вся сумма в смене, 2 - за исключением разменной монеты, 3- раздельно(сначала разменная монета, потом остальное); | ||
+ | |- | ||
+ | |<nowiki><FractionalCoins>200,00</FractionalCoins></nowiki> | ||
+ | | — | ||
+ | |сумма разменной монеты - предустановленный остаток в кассе на начало смены; | ||
+ | |- | ||
+ | |<nowiki><XReportBeforeShiftClose>True</XReportBeforeShiftClose></nowiki> | ||
+ | | — | ||
+ | |выполнять ли X-отчет перед автозакрытием смены | ||
+ | |} | ||
+ | |||
+ | |||
+ | Алгоритм закрытия: | ||
+ | |||
+ | Во время, заданное в <code>ShiftCloseTime</code>, запускается процедура закрытия смены в сервисе ФР. <br/> | ||
+ | Печатается X-отчёт, затем Z-отчёт.<br/> | ||
+ | Для ФР «Мария 301МТМ»: если в <code>CashOutBeforeShiftClose</code> установлено «True», выполняется служебное изъятие средств. Тип служебного изъятия определяется параметром <code>CashOutType</code>: 1 - вся сумма в смене, 2 - за исключением разменной монеты, 3- раздельно(сначала разменная монета, потом остальное).<br/> | ||
+ | Сумма разменной монеты (остаток после закрытия смены) устанавливается в параметре <code>FractionalCoins</code>. Для всех ФР, за исключением «Мария 301МТМ», устанавливается «0».<br/> | ||
+ | С начала автозакрытия в течение времени (в минутах), заданного в <code>WaitAfterClosingShift</code>, сервис ФР не отвечает ни на какие запросы. Это время требуется для выполнения служебных операций.<br/> | ||
+ | По окончании времени <code>ShiftCloseTime + WaitAfterClosingShift</code> можно начинать выполнение операций с ФР.<br/> | ||
+ | Операции закрытия смены фиксируются в log-файле службы ФР. | ||
+ | |||
+ | В запросе статуса ФР по команде <code>DeviceInfo</code> выводится информация по автозакрытию смены: WaitAfterClosingShift - заблокирован ли ФР после автозакрытия смены LastAutoClosingShiftDate - дата последнего удачного автозакрытия смены NextAutoClosingShiftDate - дата следующего автозакрытия смены OpenSessionSumm - средства в ФР в текущей сменеОсобенности:Если в настройке кассы в HMS ("Настройки/Оборудование/Кассы") не установлен флаг "Раздельное закрытие смен", то выполнение Z-отчета по кассе закроет фискальную смену в HMS. Если в момент начала автозакрытия нет открытых фискальных смен HMS (например, портье закрыл смену вручную), то первая из открывшихся смен закроется автоматически. | ||
+ | Примечание | ||
+ | К одной службе ФР (к одной кассе) может быть подключено несколько 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=]] (Наследовать прейскурант) в строке основного (родительского) прейскуранта. Создаётся запись, в заголовке которой:* указывается название родительского прейскуранта;* валюта и тип питания аналогичны родительскому прейскуранту и редактированию не подлежат.Состав групп цен аналогичен родительскому прейскуранту и также не подлежит изменению в унаследованном прейскуранте. И наоборот, все изменения в родительском прейскуранте (изменение состава групп цен, изменение процента скидки) распространяются на дочерние прейскуранты. Скидки, установленные и в родительском, и в дочернем прейскурантах, складываются.Для окончания добавления прейскуранта нужно ввести его название и сокращение.====Календарь====Для применения прейскурантов альтернативной тарификации при бронировании гостей и групп гостей необходимо для каждого родительского прейскуранта на каждую дату назначить ту или иную группу цен.Функционал календаря альтернативной тарификации не отличается от функционала календаря специальных тарифов.[[File:Tarification_Calendar.png|center|600px|thumb|Клендарь|link=]]Порядок работы с ним следующий:* сначала выбирается прейскурант;* затем курсором мыши выделяется область, на которую назначается один и тот же прейскурант. Даты выделенной области подсвечиваются;{{Вставка |рис = [[File:Clipboard.png|frameless|30px|link=]] |текст = Назначить цены можно только на период, начиная с текущей даты. Поэтому, независимо от выделяемой курсором области, для назначения цен подсветятся только возможные даты.}}* после отпускания курсора мыши откроется окно с группами цен выбранного прейскуранта для назначения одного из них на выбранные даты.После назначения групп цен родительского прейскуранта, для передачи во внешние системы станут доступны и все наследованные от него прейскуранты.====Альтернативная тарификация в карте гостя====Бронирование гостей через Channel Manager или ОТА-каналы может осуществляться по прейскурантам альтернативной тарификации. Поэтому альтернативный прейскурант выведен в карту гостя и может применяться наряду с обычной тарификацией.В правой части карты гостя справа от выпадающего списка «Прейскуранты» расположена кнопка [[File:Btn_Plus_in_Circle.png|16px|link=]] (Выбор альтернативного прейскуранта). После щелчка по ней появляется выпадающий список «Альтернативный прейскурант».[[File:Tarification_GuestCard.png|center|600px|thumb|Альтернативный прейскурант в карте гостя|link=]]После выбора альтернативного прейскуранта пересчитывается стоимость проживания гостя в соответствии с привязанными в календаре альтернативной тарификации группами цен на период проживания гостя. Чтобы отменить применение альтернативного прейскуранта и вернуться к традиционной тарификации нужно выбрать значение выпадающего списка «Не выбрано». |
Версия 17:38, 29 ноября 2019
Автозакрытие смены в сервисе ФР
Цель автозакрытия - гарантированное закрытие кассовой смены в тех же календарных сутках, в которых было открытие, во избежание штрафов.
Параметры автозакрытия:
HMS. «Настройки/Оборудование/Кассы»:
- параметр «Автообнуление баланса». Наличие остатка по кассе после Z-отчёта и служебного изъятия: не обнулять — в кассе остается «Сумма разменной монеты» (
FractionalCoins
); «Обнулять после закрытия смены» — баланс обнуляется.
Доработка по автообнулению. баланса (служебному изъятию) реализована только для ФР Мария. Для остальных ФР всегда автоматически проставляется «Сумма в смене : 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-отчет перед автозакрытием смены |
Алгоритм закрытия:
Во время, заданное в 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 (например, портье закрыл смену вручную), то первая из открывшихся смен закроется автоматически.
Примечание
К одной службе ФР (к одной кассе) может быть подключено несколько POS-систем, например: HMS и RestoranPOS-системы не имеют информации о работе службы ФР
Функционал альтернативной тарификации предназначен для взаимодействия HMS Servio с ОТА-каналами и Channel Manager, так как последние предъявляют ряд жёстких специфических требований, которые значительно сужают возможности и настройки текущей тарификации.Внешние системы не полностью поддерживают функционал HMS, например, не работают со свободно конфигурируемыми пакетными услугами. Поэтому для настройки взаимодействия с ними разработан специальный функционал.В основу концепции альтернативной тарификации заложен следующий механизм: для каждого отеля и каждого типа размещения в его номерах создаются группы цен на услуги проживания и питания, охватывающие все специфические периоды времени бронирования: высокий сезон, низкий сезон, праздники и пр. Затем подготовленные группы цен вкладываются в прейскуранты, а в календаре для каждого прейскуранта задаются периоды его применения.Таким образом, тарифицирование проживания получается несложным для настройки и управления.
Последовательность ввода информации
Функционал «Альтернативная тарификация» расположен в модуле «Продажи» и размещён на трёх вкладках: «Прейскуранты», «Группы цен» и «Календарь». Первым и самым трудоёмким этапом является создание и настройка групп цен на услуги. После этого выполняется работа с прейскурантами и календарём прейскурантов.
Группы цен
Для каждого отеля создаётся карта вариантов размещения: список категорий номеров и возможные способы заселения в них. Полученная таблица загружается программным способом — скриптом, и редактированию не подлежит.
При добавлении новой группы цен заполняются все поля, в том числе:
- выбирается валюта группы цен. В прейскурантах (вкладка «Прейскуранты») также устанавливается валюта, соответственно к прейскуранту можно будет прикрепить только группу цен с той же валютой;* категория группы цен. В настоящей версии услуга для каждого отеля задана жёстко — «Проживание». При необходимости услуга может быть изменена;
- даты начала и окончания устанавливают период действия группы цен. В календаре на конкретные даты для выбора будут доступны только те прейскуранты, группы цен в которых включают эти даты.
Каскадное наследование прейскурантов невозможно. Дочерние прейскуранты можно наследовать только от основных. |
Назначить цены можно только на период, начиная с текущей даты. Поэтому, независимо от выделяемой курсором области, для назначения цен подсветятся только возможные даты. |