Купон представляет собой документ (обычно на бумажном носителе), содержащий уникальный или неуникальный код (штрих-код), предоставляющий право на получение указанной в документе либо в условиях проводимого предложения скидки.
Неуникальные купоны
Шифрование номера купона
Система лояльности кассового ПО 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 | числовой | Префикс зашифрованного номера купона | По умолчанию 777777. Данный префикс используется только кассой. |
[Misc] ... ;префикс зашифрованного номера купона ;prefixForEncryptedCoupon = 777777
Купоны в чеке
Для настройки и применения купонов в дисконтной системе Artix предназначены функции для работы с купонами.
Добавление купона в чек осуществляется несколькими способами:
- вручную с клавиатуры,
- сканированием штрих-кода,
- по кнопке "Добавить купон" с командой
COMMAND_COUPON_ADD
. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Для распознавания номера купона в кассовой программе должны быть настроены правила разбора по штрих-коду.
При добавлении купона в чек проверяется срок действия купона. В случае, если срок действия купона еще не наступил или уже истек, то на экран выводится соответствующее сообщение с указанием срока действия. Купон при этом в чек не добавляется.
Количество купонов в чеке продажи на выдачу и на гашение (применение скидки по купону) не ограничено.
При возврате по чеку продажи купоны в чеке не восстанавливаются.
Для сторнирования одного или нескольких купонов из чека необходимо в утилите администрирования Yuki на клавишу настроить действие "Удаление купона" с командой COMMAND_COUPON_DELETE
и параметром deleteAllCoupons
:
- при значении параметра
true
удаляются все купоны в чеке, значение по умолчанию, - при значении параметра
false
необходимо ввести штрих-код купона для его удаления.
При закрытии чека продажи данные о купоне, который был выдан или погашен в чеке, сохраняются в БД Documents
в таблицу Couponitem
в поле generatednumber
(для неуникальных купонов совпадает с полем number
):
- для купонов c типом QR - зашифрованный номер купона с префиксом,
- для купонов c типом EAN13 - номер купона с префиксом.
Уникальные купоны
Начиная с версии 4.6.132 отправка сообщений об операциях с купонами будет реализована только через очередь Artix-Queue.
Начиная с версии 4.6.149-5 осуществлен полноценный переход с интерфейса thrift на rest.
Сейчас по интерфейсу thrift осуществляется работа с бонусами, сертификатами и купонами, что будет изменено после обновления.
Миграция настроек при обновлении кассы происходить не будет. Вместо этого порт 7791 будет заменён на 8080 при запросе к бонусному серверу, серверу сертификатов и купонному серверу. Это же касается и сообщений взятых из очереди.
Таким образом, чтобы исключить проблемы после обновления касс на новый релиз, для последующей работы с бонусным сервером, сервером сертификатов, купонным сервером, необходимо на соответствующих серверах установить пакет artix-accounting-rest.
Также рекомендуется обновить ваш бонусный сервер, сервер сертификатов и купонный сервер до версии #284.
Кассовое ПО 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 | числовой | Порт подключения к серверу онлайн-купонов | По умолчанию 8080. |
timeout | числовой | Таймаут обращения к серверу онлайн-купонов, в секундах | По умолчанию 5 секунд. |
user | строковый | Имя пользователя для авторизации на бонусном сервере | |
password | строковый | Пароль для авторизации на бонусном сервере |
[OnlineCoupon] ; Настройка плагина онлайн-купонов ; Префикс онлайн-купона ; для штрих-кода в формате EAN13 не более 3 цифр ;prefix = 888 ; Адрес сервера онлайн-купонов ;host = localhost ; Порт ;port = 8080 ; Таймаут запроса к серверу онлайн-купонов ; значение по умолчанию 5 ;timeout = 5 ; Имя пользователя для авторизации на сервере ;user = ; Пароль для авторизации на сервере ;password =
Правило интерпретации задается в конфигурационном файле /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
. В БД сервера купонов записывается информация о номере купона, полученном от системы лояльности и указанном в акции (поле number
), и сроках его жизни. Купону будет присвоен статус выданного.
Гашение купонов
Для срабатывания скидки по купону необходимо добавить купон в чек:
- вручную с клавиатуры,
- сканированием штрих-кода,
- по кнопке "Добавить купон" с командой
COMMAND_COUPON_ADD.
О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Добавление купона в неоткрытый документ:
- по кнопке "Добавить купон" невозможно,
- вручную с клавиатуры или считыванием штрих-кода требует подтверждения.
Купон может быть добавлен в чек только в случае наличия связи с сервером купонов. Количество купонов, которые можно добавить в чек для гашения, не ограничено.
По полученным данным на сервере купонов выполняется поиск купона, проверяется его статус и определяется номер купона. При добавлении в чек купон резервируется и его невозможно добавить повторно:
- при попытке добавить купон повторно в этот же чек, на экран выводится сообщение, что купон уже использован,
- при попытке добавить зарезервированный купон на другой кассе на экран выводится сообщение, что купон уже использован.
По номеру купона определяется акция и применяется скидка в чеке.
При добавлении в чек нескольких купонов, соответствующих одной акции, срабатывает только первый. При закрытии чека на экран выводится список неиспользованных купонов, которые необходимо вернуть покупателю. Для купонов, которые не были использованы, в БД Documents
в таблице Couponitem
записывается status
= 3.
Сторнирование купонов
Для сторнирования одного или нескольких купонов из чека необходимо в утилите администрирования Yuki на клавишу настроить действие "Удаление купона" с командой COMMAND_COUPON_DELETE
и параметром deleteAllCoupons
:
- при значении параметра
true
удаляются все купоны в чеке, значение по умолчанию, - при значении параметра
false
необходимо ввести штрих-код купона для его удаления.
Отличие уникальных (онлайн) и неуникальных купонов
Акции на выдачу и гашение купонов (предоставление скидки по купону) задаются в системе лояльности Loyalty Management. Обработка данных для разных типов купонов и используемых форматов печати отличается:
Тип купона | Формат печати купона | Использование сроков жизни | Использование префикса купона из настроек кассы | Использование префикса купона из настроек LM | Способ добавления на кассе |
---|---|---|---|---|---|
Неуникальный | EAN13 | Не используются, срок жизни определяется сроком действия акции на гашение | Не используется, на купоне печатается только префикс из LM | Печатается на чеке при выдаче купона. Для того чтобы при считывании купона касса распознала введенный номер префикс из акции на гашение, заданной в LM, должен соответствовать правилам разбора штрих-кода, указанным в | сканирование / ручной ввод |
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])"