Для работы с системой лояльности Loymax файл лицензии должен содержать модуль loymax
. Подробнее об этом можно прочитать в разделе "Новый формат лицензии .li4".
Реализованная интеграция с системой Loymax может не поддерживать определенные функции системы или иметь особенности их реализации. Следует уточнять полноту интеграции в соответствии с функциональными требованиями к системе лояльности.
Кассовое ПО Artix поддерживает применение дисконтных и бонусных воздействий системы лояльности Loymax, использование подарочных сертификатов, а также предоставляет возможность отказаться от печати чека.
Конфигурирование модуля Loymax
Активация модуля системы лояльности Loymax определяется параметром loymax
, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.
ini.d/loymax.ini
в секции [plugins]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
loymax | строковый |
| Активация модуля системы лояльности Loymax | По умолчанию off |
[plugins] ; Система лояльности Loymax ;loymax = off
Настройка плагина системы лояльности Loymax производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/loymax.ini
в секции [Loymax]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
serverUrl | строковый | Адрес сервера системы лояльности Loymax | По умолчанию | |
serverUrlOffline | строковый | Адрес оффлайн сервера Loymax | Если процессинг недоступен по адресу, указанному в | |
timeout | целочисленный | Таймаут запроса к серверу системы лояльности Loymax | По умолчанию 30 секунд | |
user | строковый | Имя пользователя для авторизации в системе лояльности Loymax | ||
password | строковый | Пароль пользователя для авторизации в системе лояльности Loymax | ||
deviceLogicalId | строковый | Логическое имя устройства в системе лояльности Loymax | ||
ignoreCardIdentificationType | логический |
| Игнорировать способ ввода при поиске карты | При значении
При значении По умолчанию |
ignoredInputTypes | строковый |
| Список способов ввода, для которых будет применяться игнорирование | Способ ввода:
По умолчанию " |
sendExtendedOptions | логический |
| Отправлять значение примененной к позиции дополнительной опции товара или значение поля tmc.extendetoptions | При значении По умолчанию Правило интерпретации дополнительной опции товара (e) для системы лояльности Loymax может быть задано как произвольное количество символов: Пример правила интерпретации дополнительных опций товара <Params>*=e* Пример заполнения поля extendetoptions <Params><Param Name="DiscountCode" Value="3" Type="string" /></Params> |
typeDelivery | строковый | Тип кассы для передачи в запросах DiscountRequest, CalculateRequest | По умолчанию | |
couponMask | строковый | Маска купона Loymax | По умолчанию любая последовательность символов " | |
barcodeMask | строковый | Правило получения штрих-кода из сообщений от сервера для печати в отчетах | По умолчанию " Тип | |
qrNormalWidth | целочисленный | Определение размера для печати штрих-кода типа type = qr размера size = normal | По умолчанию:
|
[Loymax] ; Настройки плагина системы лояльности Loymax ; Адрес сервера Loymax ; Значение по умолчанию http://localhost. ;serverUrl = "http://localhost" ; Адрес оффлайн сервера Loymax ; Значение по умолчанию "" ; Если значение не указано, то используется serverUrl ;serverUrlOffline = "" ; Таймаут запроса к серверу Loymax(в секундах) ; Значение по умолчанию 30 ;timeout = 30 ; Имя пользователя для авторизации на сервере Loymax ; Значение по умолчанию "" ;user = "" ; Пароль пользователя для авторизации на сервере Loymax ; Значение по умолчанию "" ;password = "" ; Логическое имя устройства в системе Loymax ; Значение по умолчанию "" ;deviceLogicalId = "" ; Игнорировать способ ввода при поиске карты ; Значение по умолчанию false ;ignoreCardIdentificationType = false ; Список способов ввода, для которых будет применяться игнорирование ; Значение по умолчанию "Scanner, Manual, MSR" ;ignoredInputTypes = "Scanner, Manual, MSR" ; Отправлять значение примененной к позиции дополнительной опции товара или значение поля tmc.extendetoptions ; Значение по умолчанию false ;sendExtendedOptions = false ; Тип кассы для передачи в запросах DiscountRequest, CalculateRequest ; По умолчанию offlinePurchase ;typeDelivery = offlinePurchase ; Маска купона Loymax ; По умолчанию любая последовательность символов ".*" ;couponMask = ".*" ; Правило получения штрих-кода из сообщений от сервера для печати в отчетах ; По умолчанию "{(?<type>.*):(?<barcode>.*);Size:(?<size>.*)}" ; Тип type и размер size используются для печати штрих-кода barcode ;barcodeMask = "{(?<type>.*):(?<barcode>.*);Size:(?<size>.*)}" ; Пример определения размера для печати штрих-кода типа type = qr размера size = normal ;qrNormalWidth = 0 ;qrNormalHeight = 0
Бонусная программа Loymax
Для использования системы лояльности Loymax необходимо:
- Завести группу бонусных карт с типом карты Loymax (БД
Dictionaries
таблицаCardgroup
полеcardmode = 11
). - Активировать модуль системы лояльности Loymax (см.Конфигурирование модуля Loymax).
- Настроить подключение к серверу системы лояльности (см.Конфигурирование модуля Loymax).
- Перезапустить кассовую программу.
- Применить бонусную карту в чеке.
Продажа
Для получения скидки, для начисления и списания баллов с бонусной карты необходимо добавить карту системы лояльности Loymax в чек. Обращение к серверу для получения скидки выполняется автоматически при переходе в подытог, для получения суммы доступных баллов обращение к серверу выполняется при оплате баллами. Полученные скидки автоматически применяются к чеку.
Суммирование внутренних и внешних скидок зависит от правил акции в Loymax.
Проверка действительности QR-кода
В кассовом ПО Artix реализована возможность проверки действительности QR-кода при добавлении карты в чек. Возможность проверки задается параметром checkQrLife
в конфигурационном файле /linuxcash/cash/conf/ncash.
ini.d/loymax.ini
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
checkQrLife | логический |
| Проверка действительности динамического QR-кода | По умолчанию false |
[Loymax] ... ; Проверка действительности динамического QR-кода ; Значение по умолчанию false checkQrLife = true
Если срок действия сканируемого QR-кода карты истек, то при значении параметра checkQrLife
:
true
на экран будет выведен диалог "QR-код недействителен. Попробуйте обновить QR-код и отсканируйте его повторно":- при выборе "Отсканировать" карта не будет добавлена в чек, можно отсканировать QR-код повторно,
- при выборе "Продолжить" карта будет добавлена в чек.
false
карта будет добавлена в чек без проверки срока действия QR-кода.
В кассовом ПО Artix реализована возможность задавать длину значения идентификатора покупателя, при которой QR-код недействителен. Длина задается параметром identifierValueLength
в конфигурационном файле /linuxcash/cash/conf/ncash.
ini.d/loymax.ini
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
identifierValueLength | целочисленный | Длина значения идентификатора покупателя, при которой QR-код недействителен | По умолчанию Используется совместно с включенными настройками checkQrLife и ignoreCardIdentificationType |
[Loymax] ... ; Длина значения идентификатора покупателя, при которой QR-код недействителен ; Значение по умолчанию 16 ; identifierValueLength = 16
Если QR-код карты сформирован при отсутствии связи и его длина задана в identifierValueLength
, то при добавлении карты в чек на экран будет выведен диалог "QR-код недействителен. Попробуйте обновить QR-код и отсканируйте его повторно". Если настройка checkQrLife
или ignoreCardIdentificationType
отключена, то диалог выведен не будет.
Обработка зашифрованных номеров карт Loymax
В кассовом ПО Artix реализована возможность при получении данных из динамического QR-кода использовать декодер для обработки зашифрованных значений номеров карт Loymax, а также даты и времени. Данное поведение регулируется параметрами enable
, dateTimeFormat
, timeDeltaLimit
, removeSymbols
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/loymax.ini
в секции [Loymax.Decoder1]
.
Возможность использования декодера определяется параметром enable
:
- при значении
true
номер карты будет расшифрован, если карта с расшифрованным номером найдена, то она добавляется в чек, - при значении
false
будет осуществлен поиск карты для добавления в чек по незашифрованному номеру.
Для корректной обработки необходимо задать параметры dateTimeFormat
и removeSymbols
в соответствии со значениями, использованными при генерации зашифрованных номеров на стороне системы лояльности Loymax.
Для контроля недействительных штрих-кодов карты реализована проверка отклонения времени из зашифрованного номера карты от текущего времени. Данное поведение регулируется параметром timeDeltaLimit
. Если допустимая величина отклонения превышена, то будет выведено предупреждение "Штрих-код карты недействителен. Попробуйте обновить штрих-код карты", карта в чек добавлена не будет.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
enable | логический |
| Использовать Decoder1 для обработки номеров карт Loymax | По умолчанию |
dateTimeFormat | строковый | Формат даты и времени в номере формата Decoder1 | По умолчанию " | |
timeDeltaLimit | целочисленный | Допустимая величина отклонения времени из номера в формате Decoder1 от текущего времени (в минутах) | По умолчанию | |
removeSymbols | строковый | Список позиций символов для удаления перед декодированием номера | По умолчанию " Значения задаются через запятую |
[Loymax.Decoder1] ; Использовать Decoder1 для обработки номеров карт Loymax ; Значение по умолчанию false ;enable = false ; Формат даты и времени в номере формата Decoder1 ; Значение по умолчанию "yyyyMMddhhmmss" ;dateTimeFormat = "yyyyMMddhhmmss" ; Допустимая величина отклонения времени из номера в формате Decoder1 от текущего времени (в минутах) ; Значение по умолчанию 60 ;timeDeltaLimit = 60 ; Список позиций символов для удаления перед декодированием номера ; Значение по умолчанию "2, 7, 16, 24, 29" ;removeSymbols = "2, 7, 16, 24, 29"
Отправка чека на адрес покупателя
Для отправки чека на адрес покупателя необходимо активировать плагин customerAddress
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/customeraddress.ini
в секции [plugins]
. Подробнее о настройке плагина можно прочитать в разделе "Отправка чека на адрес покупателя".
Поведение на кассе при значении параметров inputAddress
и printCheck
по умолчанию:
- Если в карточке клиента в системе лояльности Loymax указан e-mail и установлен признак отказа от печати бумажного чека, то при закрытии чека на экран будет выведено сообщение "Чек будет отправлен на email покупателя", чек не будет распечатан на ФР.
- Если в карточке клиента в системе лояльности Loymax указан e-mail, но не установлен признак отказа от печати бумажного чека, то для отправки чека необходимо подтвердить e-mail при добавлении адреса покупателя в чек по клавише "Добавить адрес покупателя" с командой
COMMAND_CUSTOMER_ADDRESS_ADD
.
Списание баллов
Списание баллов выполняется по инициативе кассира. Потраченные баллы фиксируются в кассовой программе как скидка на чек. Для списания можно использовать все доступные баллы.
Настройками сервера системы лояльности Loymax может быть предусмотрен запрос кода подтверждения при оплате чека бонусными баллами, ПИН-код отправляется на номер телефона покупателя.
Начисление баллов
Начисление баллов происходит на стороне сервера системы лояльности Loymax после закрытия чека.
Возврат
В системе лояльности предусмотрена возможность возврата списанных ранее баллов.
Передача способа оплаты
В кассовом ПО Artix реализована возможность передачи способа оплаты на сервер лояльности Loymax. Для этого необходимо задать соответствие кодов валют со способом оплаты в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/loymax.ini
в секции [Loymax.PaymentTypes]
.
[Loymax.PaymentTypes] ; Настройка соответствия кодов валют способам оплат ; <способ оплаты Loymax> = [список кодов валют] ; По умолчанию не заполнено
При настроенном соответствии будет отправлен запрос с передачей способа наименования валюты. Если настроено несколько способов оплаты на один код валюты, то будет передан последний способ оплаты. Если для одного способа оплаты настроено несколько кодов валют, то будет передан способ оплаты один раз с суммой, равной сумме использованных валют.
[Loymax.PaymentTypes] Card = 1 Sbp = 3,4
Купоны Loymax
Кассовое ПО Artix предоставляет возможность работы с купонами Loymax.
Выдача купонов
Акции на выдачу купона создаются и редактируются на сервере системы лояльности Loymax. При закрытии чека печатается купон со штрих-кодом, полученным от сервера. Купон печатается по шаблону loymax.xml
, который находится в каталоге
/linuxcash/cash/reports/
. Правило получения штрих-кода от сервера и размер его печати задается в конфигурационном файле /linuxcash/cash/conf/ncash.
ini.d/loymax.ini
.
Применение купонов
При использовании системы лояльности Loymax предоставляется возможность получения скидки по купону. Купоны могут предоставлять процентную или суммовую скидку на чек, а также специальную цену на позицию. В одном чеке продажи может быть применено несколько купонов.
Добавление купона в чек осуществляется несколькими способами:
- вручную с клавиатуры,
- сканированием штрих-кода,
- по кнопке "Добавить купон" с командой
COMMAND_COUPON_ADD
. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Для распознавания номера/штрих-кода купона на кассе должно быть настроено правило разбора по штрих-коду, которое задается в конфигурационном файле /linuxcash/cash/conf/bcode.ini
.
99*=cccccccccccc
В данном примере цифры "99" являются префиксом купонов, на что указывают символы "cccccccccccc".
В кассовом ПО Artix реализована возможность задавать номера купонов через маску. Маски купонов задаются через параметр couponMask
в конфигурационном файле /linuxcash/cash/conf/ncash.
ini.d/loymax.ini
.
[Loymax]
...
; Маска купона Loymax ; По умолчанию любая последовательность символов ".*" couponMask = ".*"
Префиксы, указанные в bcode.ini
должны соответствовать префиксам или маскам в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/loymax.ini
.
Если префиксы в конфигурационных файлах не совпадают, то кассовое ПО не распознает вводимый номер как купон Loymax.
При добавлении купона в чек проверяется его валидность. В случае, если купон не валиден, купон не будет добавлен в чек.
Скидка по купону применяется автоматически при переходе в подытог.
Подарочные сертификаты Loymax
Кассовое ПО Artix предоставляет возможность работы с подарочными сертификатами Loymax.
Для использования подарочных сертификатов требуется:
- Активировать модуль системы лояльности Loymax (см.Конфигурирование модуля Loymax).
- Настроить подключение к серверу системы лояльности (см.Конфигурирование модуля Loymax).
- Заполнить справочники сертификатов в БД
Dictionaries
таблицеCertificate
. Обязательные для заполнения поля:code
– код группы сертификатов (указать значениеloymax
),name
– название (отображается как наименование позиции),tmccode
– код товара при добавлении в чек,deptcode
– отдел,vatcode
– налог,paymentobject
– признак предмета расчета.
Для добавления сертификата в чек при продаже или оплате будет выведен диалог ввода номера сертификата. После ввода номера сертификата проверяется разрешен ли ввод с текущего устройства (сканер штрих-кода, ридер карт, вручную). Если данный способ ввода разрешен, то сертификат будет добавлен в чек, иначе – сертификат не будет добавлен в чек.
Продажа подарочных сертификатов
Возможна продажа только одноразовых подарочных сертификатов (карт), т.е. оплатить чек сертификатом можно только один раз.
Добавление сертификата в чек осуществляется по кнопке "Сертификат" с командой COMMAND_CERTIFICATE
. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
Продажа сертификата только отдельным чеком
В кассовом ПО Artix реализована возможность ограничения продажи сертификата в чеке с другими товарами, определяется параметром separateCertificateSale
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/loymax.ini
:
- при значении
true
запрещена продажа сертификатов в чеке с другими товарами:- при попытке добавить сертификат в чек, содержащий товары, на экран будет выведено сообщение "Продажа сертификата разрешена только отдельным чеком",
- при попытке добавить товары в чек, содержащий сертификат, на экран будет выведено сообщение "Запрещено добавление товаров в чек с сертификатом".
- при значении
false
разрешена продажа сертификатов в чеке с другими товарами.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
separateCertificateSale | логический |
| Продажа сертификата только отдельным чеком | По умолчанию false |
[Loymax] ... ; Продажа сертификата только отдельным чеком ; по умолчанию false ; separateCertificateSale = false
Сторнирование подарочных сертификатов
Сторнирование подарочных сертификатов, добавленных в чек продажи, осуществляется аналогично удалению товарных позиций.
Возврат подарочных сертификатов
Возврат подарочных сертификатов осуществляется только по чеку продажи. Вернуть подарочный сертификат можно только в том случае, если по нему не было списания.
Оплата подарочным сертификатом
Для оплаты чека продажи сертификатом необходимо в утилите администрирования Yuki добавить валюту "Оплата сертификатом Loymax". О настройке валют подробнее можно прочитать в разделе "Валюты".
Оплату чека можно произвести несколькими сертификатами.
Частичная оплата чека подарочным сертификатом
В кассовом ПО Artix реализована возможность частичной оплаты чека подарочным сертификатом, определяется параметром allowPartialCertificateSpend
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
:
- при значении
true
частичная оплата чека подарочным сертификатом разрешена, - при значении
false
частичная оплата чека подарочным сертификатом запрещена, на экран будет выведена ошибка "Допускается только требуемая сумма".
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
allowPartialCertificateSpend | логический |
| Разрешить использовать часть cуммы с сертификата при оплате | По умолчанию false |
[Check] ... ; Разрешить использовать часть cуммы с сертификата при оплате ; По умолчанию false ;allowPartialCertificateSpend = false
Возврат товара, оплаченного сертификатом
При возврате товара, оплаченного сертификатом, производится возврат наличными.
Просмотр информации о сертификате
Просмотр информации о сертификате осуществляется по кнопке "Получить информацию по сертификату" с командой COMMAND_CERTIFICATE_INFO
. О настройке действий подробнее можно прочитать в разделе "Настройка действий".
По нажатию клавиши на экран будет выведен диалог для ввода номера сертификата. После ввода номера сертификата на экран будет выведена информация о сертификате. Информация о сертификате может быть запрошена независимо от того, продан сертификат или нет.
Запрос скидок в чеке продажи
Вне зависимости от наличия карты в чеке продажи при переходе в подытог на сервер лояльности Loymax будет отправлен запрос для получения скидок. Полученные скидки автоматически применяются к чеку.
Отправка чеков
При закрытии чека продажи информация о данном чеке будет отправлена на сервер системы лояльности Loymax.
Режимы работы
В зависимости от доступности сервера системы лояльности Loymax операции могут производиться в режиме online или offline. При этом:
- запрос информации о карте, запрос скидок и списание бонусных баллов всегда производятся online,
- возврат начисленных/списанных бонусов и возврат сертификата всегда производятся offline через очередь Artix-Queue,
- операции по начислению и отмене начисления производятся online. Если сервер системы лояльности недоступен, то в режиме offline через очередь Artix-Queue.
Обработка ошибок в очереди сообщений
В очереди Artix-Queue
на отправку запроса к серверу системы лояльности Loymax может вернуться ответ с кодом финальной ошибки, при которой не требуется повторная отправка запроса. Для предотвращения повторной отправки запроса в конфигурационном файле /linuxcash/cash/queue/config/queue.d/loymax.ini
в секции [Loymax]
указаны коды ошибок в параметре uncriticalErrors
, после которых сообщение удаляется из очереди.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
uncriticalErrors | строковый | Коды ошибок, при получении которых сообщение можно удалить из очереди | По умолчанию Финальные ошибки |
[Loymax] ; Параметры обработчика очередей сообщений Loymax ; Коды ошибок, при получении которых сообщение можно удалить из очереди ; по умолчанию "2, 101, 102, 103, 110, 111, 201, 202, 203, 204, 205, 206, 208, 209, 210, 211, 214, 215, 216, 218, 220, 221, 222, 223, 224, 225" ;uncriticalErrors= "2, 101, 102, 103, 110, 111, 201, 202, 203, 204, 205, 206, 208, 209, 210, 211, 214, 215, 216, 218, 220, 221, 222, 223, 224, 225"
Ошибка с кодом 217 может возникнуть при потере связи кассы с сервером Loymax сразу после успешной отправки запроса Discounts, если в чеке применена скидка на мелочь (передается в атрибуте Correction). После получения ошибки запрос отправляется повторно без атрибута Correction.
Ошибка с кодом 226 может возникнуть для товаров, у которых код товара = штрих-коду, когда в запросе на продажу передается код товара в атрибуте GoodsId
, а при возврате тот же код передается в атрибуте Barcode
.
Для предотвращения ошибки 226 необходимо совпадение значений кода атрибута при продаже и возврате. Определение поведения передачи атрибута определяется параметром goodsIdAttribute
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/loymax.ini
в секции [Loymax]
:
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
goodsIdAttribute | строковый |
| Значение атрибута для передачи кода товара в ситуации, когда код товара равен штрих-коду товара | По умолчанию |
[Loymax] ; Параметры обработчика очередей сообщений Loymax ; Значение атрибута для передачи кода товара в ситуации, когда код товара равен штрих-коду товара ; Используется при продаже и возврате ; Значение по умолчанию "GoodsId" ;goodsIdAttribute = "GoodsId"