Купон представляет собой документ (обычно на бумажном носителе), содержащий уникальный или неуникальный код (штрих-код), предоставляющий право на получение указанной в документе либо в условиях проводимого предложения скидки.

Неуникальные купоны

Шифрование номера купона

Система лояльности кассового ПО 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. О настройке действий подробнее можно прочитать в разделе "Настройка действий".

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

При добавлении купона в чек проверяются:

  1. Срок действия купона.
    Если срок действия купона еще не наступил или уже истек, то на экран выводится соответствующее сообщение с указанием срока действия. Купон при этом в чек не добавляется.
  2. Акция, которой соответствует купон.
    Если в чек для гашения (применения скидки по купону) уже был добавлен другой купон, соответствующий той же акции, то купон в чек не добавляется.

Количество купонов в чеке продажи на выдачу не ограничено.

При возврате по чеку продажи купоны в чеке не восстанавливаются.

Для сторнирования одного или нескольких купонов из чека необходимо в утилите администрирования Yuki на клавишу настроить действие "Удаление купона" с командой COMMAND_COUPON_DELETE и параметром deleteAllCoupons:

  • при значении параметра true удаляются все купоны в чеке, значение по умолчанию,
  • при значении параметра false необходимо ввести штрих-код купона для его удаления.

При закрытии чека продажи данные о купоне, который был выдан или погашен в чеке, сохраняются в БД Documents в таблицу Couponitem в поле generatednumber (для неуникальных купонов совпадает с полем number):

  • для купонов c типом QR – зашифрованный номер купона с префиксом,
  • для купонов c типом EAN13 – номер купона с префиксом.

Уникальные купоны

Начиная с версии 4.6.215 реализована возможность добавления в чек нескольких уникальных купонов, действующих в рамках одной акции.

Кассовое ПО Artix позволяет выдавать уникальные купоны и отслеживать их статус на сервере купонов.

Генерация уникальных купонов осуществляется в кассовой программе при помощи плагина onlineCoupon.

Для отправки сообщений об операциях с купонами может быть использована очередь сообщений Artix-Queue.

Уникальные купоны могут быть выданы как в чеке продажи, так и в чеке возврата/возврата по чеку продажи, задается в дисконтной акции с помощью параметра "Спецификаторы" в утилите администрирования Yuki или в купонной акции системы лояльности Artix Loyalty Management.

Конфигурирование модуля

Для использования уникальных купонов на кассе необходимо активировать плагин параметром onlineCoupon в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/onlinecoupon.ini в секции [plugins].

  • при значении параметра on плагин активен и на кассе может выполняться генерация и гашение уникальных купонов,
  • при значении параметра off плагин не активен, генерация и гашение уникальных купонов невозможны.
Наименование
Тип данных
Возможные значения
Описание
Примечания
onlineCouponстроковый
  • on
  • off
Активация плагина работы с онлайн-купонамиПо умолчанию 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строковыйПароль для авторизации на бонусном сервере
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логический
  • true
  • false
Печать купонов перед закрытием чекаПо умолчанию 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, должен соответствовать правилам разбора штрих-кода, указанным в bcode.ini.

сканирование / ручной ввод


   
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])"
  • No labels