Купон представляет собой документ (обычно на бумажном носителе), содержащий уникальный или неуникальный код (штрих-код), предоставляющий право на получение указанной в документе либо в условиях проводимого предложения скидки.
Неуникальные купоны
Шифрование номера купона
Система лояльности кассового ПО Artix позволяет проводить акции с выдачей и гашением купонов. Данные купона могут быть напечатаны на чеке в открытом виде (печать EAN13) или зашифрованы (печать QR). Формат купона (EAN13 или QR-код) задается в системе лояльности Loyalty Management при настройке купона.
При шифровании данных на купоне печатается QR-код, который формируется по правилу <номер купона><дата начала действия купона><дата конца действия>
. Все сведения о купоне заполняются в системе лояльности. Если период действия купона не задан, то купон считается бессрочным.
Правило интерпретации задается в конфигурационном файле /linuxcash/cash/conf/bcode.ini
.
777777*=XXXXXXS*
В данном примере цифры "777777" являются префиксом купона, на что указывают символы XXXXXX. Символ S показывает, что данные купона будут зашифрованы.
Префикс, указанный в bcode.ini
, должен также быть прописан в параметре prefixForEncryptedCoupon
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Misc]
.
Если префиксы в конфигурационных файлах не совпадают, то кассовое ПО не распознает вводимый номер как купон.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
prefixForEncryptedCoupon | числовой | Префикс зашифрованного номера купона | По умолчанию Данный префикс используется только кассой. |
[Misc] ... ;префикс зашифрованного номера купона ;prefixForEncryptedCoupon = 777777
Купоны в чеке
Для настройки и применения купонов в дисконтной системе Artix предназначены функции для работы с купонами.
Добавление купона в чек осуществляется несколькими способами:
- вручную с клавиатуры,
- сканированием штрих-кода,
- по кнопке "Добавить купон" с командой
COMMAND_COUPON_ADD
. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Для распознавания номера купона в кассовой программе должны быть настроены правила разбора по штрих-коду.
При добавлении купона в чек проверяются:
- Срок действия купона.
Если срок действия купона еще не наступил или уже истек, то на экран выводится соответствующее сообщение с указанием срока действия. Купон при этом в чек не добавляется. - Акция, которой соответствует купон.
Если в чек для гашения (применения скидки по купону) уже был добавлен другой купон, соответствующий той же акции, то купон в чек не добавляется.
Количество купонов в чеке продажи на выдачу не ограничено.
При возврате по чеку продажи купоны в чеке не восстанавливаются.
Для сторнирования одного или нескольких купонов из чека необходимо в утилите администрирования Yuki на клавишу настроить действие "Удаление купона" с командой COMMAND_COUPON_DELETE
и параметром deleteAllCoupons
:
- при значении параметра
true
удаляются все купоны в чеке, значение по умолчанию, - при значении параметра
false
необходимо ввести штрих-код купона для его удаления.
При закрытии чека продажи данные о купоне, который был выдан или погашен в чеке, сохраняются в БД Documents
в таблицу Couponitem
в поле generatednumber
(для неуникальных купонов совпадает с полем number
):
- для купонов c типом QR – зашифрованный номер купона с префиксом,
- для купонов c типом EAN13 – номер купона с префиксом.
Уникальные купоны
Начиная с версии 4.6.215 реализована возможность добавления в чек нескольких уникальных купонов, действующих в рамках одной акции.
Кассовое ПО Artix позволяет выдавать уникальные купоны и отслеживать их статус на сервере купонов.
Генерация уникальных купонов осуществляется в кассовой программе при помощи плагина onlineCoupon
.
Уникальные купоны могут быть выданы как в чеке продажи, так и в чеке возврата/возврата по чеку продажи, задается в дисконтной акции с помощью параметра "Спецификаторы" в утилите администрирования Yuki или в купонной акции системы лояльности Artix Loyalty Management.
Конфигурирование модуля
Для использования уникальных купонов на кассе необходимо активировать плагин параметром onlineCoupon
в конфигурационном файле /linuxcash/cash/conf/ncash.
ini.d/onlinecoupon.ini
в секции [plugins]
.
- при значении параметра
on
плагин активен и на кассе может выполняться генерация и гашение уникальных купонов, - при значении параметра
off
плагин не активен, генерация и гашение уникальных купонов невозможны.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
onlineCoupon | строковый |
| Активация плагина работы с онлайн-купонами | По умолчанию off |
[plugins] ;Онлайн-купоны ;onlineCoupon = off
Настройка плагина онлайн-купонов выполняется в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/onlinecoupon.ini
в секции [OnlineCoupon]
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
prefix | строковый | Префикс онлайн-купона | Длина префикса определяется количеством печатаемых символов для определенного формата штрих-кода. Количество символов в штрих-коде определяется как n-9, непечатаемые символы не учитываются, например, контрольная сумма. Если в штрих-коде допустимы только цифры, то префикс может состоять только из цифр. Например, для штрих-кода в формате EAN13 не более 3 цифр. |
host | строковый | Адрес сервера онлайн-купонов | |
port | числовой | Порт подключения к серверу онлайн-купонов | По умолчанию |
timeout | числовой | Таймаут обращения к серверу онлайн-купонов | По умолчанию 5 секунд. |
user | строковый | Имя пользователя для авторизации на бонусном сервере | |
password | строковый | Пароль для авторизации на бонусном сервере | |
allowMultipleCouponsPerCampaign | логический | Разрешить добавление в чек нескольких купонов, выданных по одной акции | По умолчанию false . |
[OnlineCoupon] ; Настройка плагина онлайн купонов ; Префикс онлайн купона ; для штрих-кода в формате EAN13 не более 3 цифр ;prefix = 888 ; Адрес сервера онлайн купонов ;host = localhost ; Порт ;port = 8080 ; Таймаут запроса к серверу онлайн купонов ; значение по умолчанию 5 ;timeout = 5 ; Имя пользователя для авторизации на сервере ;user = ; Пароль для авторизации на сервере ;password = ; Разрешить добавление в чек нескольких купонов, выданных по одной акции ; значение по умолчанию false ;allowMultipleCouponsPerCampaign = false
Правило интерпретации задается в конфигурационном файле /linuxcash/cash/conf/bcode.ini
.
888*=OOO*
В данном примере цифры "888" являются префиксом купона. Этот же префикс должен быть указан в параметре prefix
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/onlinecoupon.ini
. Символ O показывает, что номер купона является уникальным. Если префиксы в конфигурационных файлах не совпадают, то кассовое ПО не распознает вводимый номер как купон.
Префикс может быть задан только один. При необходимости использования нескольких префиксов следует указать префикс для каждой акции в системе лояльности Loyalty Management. При добавлении купона префикс считывается из акции, если в акции префикс не задан, то из конфигурационного файла /linuxcash/cash/conf/ncash.ini.d/onlinecoupon.ini
.
Работа с купонами
Генерация купонов
В кассовой программе при срабатывании купонной акции, заведенной в системе лояльности Loyalty Management, генерируется уникальный номер купона (префикс + сгенерированный уникальный идентификатор).
Размер номера купона зависит от типа штрих-кода:
- для EAN13 номер купона содержит префикс (не более 3 цифр) и сгенерированный уникальный идентификатор (9 цифр – фиксированный размер). Для данного типа штрих-кода идентификатор содержит только цифры;
для QR и CODE128 номер купона содержит префикс и сгенерированный уникальный идентификатор. Размер сгенерированного уникального идентификатора можно изменить с помощью параметров
QR
иCODE128
в конфигурационном файле/linuxcash/cash/conf/ncash.ini.d/onlinecoupon.ini
в секции[OnlineCoupon.Size]
. По умолчанию 9 символов. Идентификатор содержит заглавные буквы латинского алфавита и цифры.Если указанная длина превышает 32 символа, то идентификатор будет дополнен символами F слева.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
QR | числовой | Размер генерируемого номера купона для штрих-кода типа QR | По умолчанию 9 символов |
CODE128 | числовой | Размер генерируемого номера купона для штрих-кода типа CODE128 | По умолчанию 9 символов |
[OnlineCoupon.Size] ; Настройка размера генерируемого номера купона в зависимости от типа штрих-кода ; Для EAN13 настройка недоступна ; Размер генерируемого номера купона для штрих-кода типа QR ; значение по умолчанию 9 символов ;QR = 9 ; Размер генерируемого номера купона для штрих-кода типа CODE128 ; значение по умолчанию 9 символов ;CODE128 = 9
При закрытии чека печатается купон со штрих-кодом, состоящим из префикса и сгенерированного уникального идентификатора, номер купона записывается в поле generatednumber
в таблицу Couponitem
БД Documents
. В БД сервера купонов записывается информация о номере купона, полученном от системы лояльности и указанном в акции (поле number
), и сроках его жизни. Купону будет присвоен статус выданного.
Печать купонов перед закрытием чека
Купоны могут быть напечатаны перед закрытием чека, данное поведение регулируется параметром printBeforeClose
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/artixcoupon.ini
в секции [ArtixCoupon]
:
при значении параметра
true
печать купонов выполняется перед закрытием чека,Если в акции указан модификатор "После закрытия чека", то печать купонов будет выполняться после закрытия чека.
- при значении параметра
false
печать купонов выполняется после закрытия чека.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
printBeforeClose | логический |
| Печать купонов перед закрытием чека | По умолчанию false |
[ArtixCoupon] ; Печать купонов перед закрытием чека ; По умолчанию false ;printBeforeClose = false
Гашение купонов
Для срабатывания скидки по купону необходимо добавить купон в чек:
- вручную с клавиатуры,
- сканированием штрих-кода,
- по кнопке "Добавить купон" с командой
COMMAND_COUPON_ADD.
О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Добавление купона в неоткрытый документ:
- по кнопке "Добавить купон" невозможно,
- вручную с клавиатуры или считыванием штрих-кода требует подтверждения.
Купон может быть добавлен в чек только в случае наличия связи с сервером купонов.
По полученным данным на сервере купонов выполняется поиск купона, проверяется его статус и определяется номер купона. При добавлении в чек купон резервируется и его невозможно добавить повторно:
- при попытке добавить купон повторно в этот же чек, на экран выводится сообщение, что купон уже использован,
- при попытке добавить зарезервированный купон на другой кассе на экран выводится сообщение, что купон уже использован.
По номеру купона определяется акция и применяется скидка в чеке.
При добавлении в чек нескольких купонов, соответствующих одной акции, срабатывает только первый. При закрытии чека на экран выводится список неиспользованных купонов, которые необходимо вернуть покупателю. Для купонов, которые не были использованы, в БД Documents
в таблице Couponitem
записывается status = 3
.
В кассовом ПО Artix реализована возможность добавления в чек нескольких уникальных купонов, действующих в рамках одной акции, регулируется параметром allowMultipleCouponsPerCampaign
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/onlinecoupon.ini
в секции [OnlineCoupon]
:
- при значении параметра
true
разрешено добавление в чек нескольких уникальных купонов, действующих в рамках одной акции, - при значении параметра
false
запрещено добавление в чек нескольких уникальных купонов, действующих в рамках одной акции. Значение по умолчанию.
Сторнирование купонов
Для сторнирования одного или нескольких купонов из чека необходимо в утилите администрирования Yuki на клавишу настроить действие "Удаление купона" с командой COMMAND_COUPON_DELETE
и параметром deleteAllCoupons
:
- при значении параметра
true
удаляются все купоны в чеке, значение по умолчанию, - при значении параметра
false
необходимо ввести штрих-код купона для его удаления.
Отличие уникальных (онлайн) и неуникальных купонов
Акции на выдачу и гашение купонов (предоставление скидки по купону) задаются в системе лояльности Loyalty Management. Обработка данных для разных типов купонов и используемых форматов печати отличается:
Тип купона | Формат печати купона | Использование сроков жизни | Использование префикса купона из настроек кассы | Использование префикса купона из настроек Loyalty Management | Способ добавления на кассе |
---|---|---|---|---|---|
Неуникальный | EAN13 | Не используются, срок жизни определяется сроком действия акции на гашение | Не используется, на купоне печатается только префикс из Loyalty Management | Печатается на чеке при выдаче купона. Для того чтобы при считывании купона касса распознала введенный номер префикс из акции на гашение, заданной в Loyalty Management, должен соответствовать правилам разбора штрих-кода, указанным в | сканирование / ручной ввод |
CODE128 | |||||
QR | Используются сроки жизни купонов и срок действия акции на гашение | Используется для идентификации введенного номера в качестве купона. Префикс из настроек кассы подставляется в штрих-код при печати во время выдачи купона. При считывании по префиксу определяется, что введенный номер является купоном, в чек номер купона подставляется без префикса. | Используется, при выдаче купона префикс и сроки жизни купона шифруются и записываются в QR-код. При считывании купона для гашения номер купона расшифровывается и подставляется в чек. | ||
Уникальный | EAN13 | Передается на сервер купонов при выдаче купона, при гашении купона запрашивается на сервере, и по этому префиксу определяется к какой акции относится купон и предоставляется соответствующая скидка. | |||
CODE128 | |||||
QR |
Просмотр информации о купоне
В кассовом ПО Artix реализована возможность настройки отображения информации о купоне после его добавления. Отображаемая информация регулируется настройками couponInfo
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/gui.ini
в секции [GUI.SelectedPositionInfo]
. Настройки отображения информации о купоне задаются параметром couponInfo<N>
, где <N>
это порядковый номер строки. Максимальное количество отображаемых строк – 5. Подробнее о правилах формирования значений для параметра couponInfo<N>
можно прочитать в разделе "Правила форматирования".
[GUI.SelectedPositionInfo] ... ; Параметры отображения информации о выделенном купоне. Не более 5 полей ;couponInfo1 = "Купон %(coupon.number[s])"