Для работы с системой лояльности Manzana2019 файл лицензии должен содержать модуль manzana2019. Подробнее об этом можно прочитать в разделе "Новый формат лицензии .li4".
Кассовое ПО Artix поддерживает применение дисконтных и бонусных воздействий, применение купонов системы лояльности Manzana2019, а также идентификацию клиентов и отправку данных об идентификации клиента.
Конфигурирование модуля Manzana2019
Активация модуля системы лояльности Manzana2019 определяется параметром manzana2019, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/manzana2019.ini в секции [plugins].
Наименование | Тип данных | Возможные значения | Описание | Примечания |
|---|---|---|---|---|
| manzana2019 | строковый |
| Активация модуля системы лояльности Manzana2019 | По умолчанию off |
[plugins] ;manzana2019 = off
Настройка плагина системы лояльности Manzana2019 производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/manzana2019.ini в секции [Manzana2019].
Наименование | Тип данных | Описание | Примечания |
|---|---|---|---|
| url | строковый | Адрес сервера Manzana2019 | По умолчанию http://localhost |
timeout | целочисленный | Таймаут запроса к серверу системы лояльности Manzana2019 | По умолчанию 15 секунд |
| user | строковый | Имя пользователя для авторизации на сервере Manzana2019 | |
| password | строковый | Пароль пользователя для авторизации на сервере Manzana2019 | |
| organization | строковый | Партнер | |
| businessUnit | строковый | Идентификатор магазина в CRM | |
| pos | строковый | Идентификатор POS в CRM | |
orgName | строковый | Организация CRM | |
| clientIdentificationText | строковый | Текст сообщения для идентификации клиента | |
| identificationIp | строковый | IP для отправки данных об идентификации клиента | По умолчанию 127.0.0.1 |
| identificationPort | целочисленный | Порт для отправки данных об идентификации клиента | По умолчанию 80 |
| errorCodesToRetryFiscalCheque | строковый | Коды ошибок, при получении которых регистрация фискального чека будет произведена через очередь | По умолчанию не указаны. Коды ошибок указываются через запятую. Например: Настройка обеспечивает гарантированное выполнение операций по начислению и отмене начисления при возникновении ошибок с указанными кодами. |
[Manzana2019] ; Настройки плагина системы лояльности Manzana2019 ; Адрес сервера Manzana2019 ; По умолчанию http://localhost ;url = "http://localhost" ; Таймаут запроса к серверу Manzana2019(в секундах) ; По умолчанию 15 ;timeout = 15 ; Имя пользователя для авторизации на сервере Manzana2019 ; По умолчанию "" ;user = "" ; Пароль пользователя для авторизации на сервере Manzana2019 ; По умолчанию "" ;password = "" ; Партнер ; По умолчанию "" ;organization = "" ; Идентификатор магазина в CRM ; По умолчанию "" ;businessUnit = "" ; Идентификатор POS в CRM ; По умолчанию "" ;pos = "" ; Организация CRM ; По умолчанию "" ;orgName = "" ; Текст сообщения для идентификации клиента ; По умолчанию "" ;clientIdentificationText = "" ; Ip для отправки данных об идентификации клиента ; По умолчанию "127.0.0.1" ;identificationIp = "127.0.0.1" ; Порт для отправки данных об идентификации клиента ; По умолчанию 80 ;identificationPort = 80 ... ; Коды ошибок, при получении которых регистрация фискального чека будет произведена через очередь ; По умолчанию не указаны ;errorCodesToRetryFiscalCheque = ...
Бонусная программа Manzana2019
Для использования системы лояльности Manzana2019 необходимо:
- Завести группу карт с типом карты Manzana2019 (БД
DictionariesтаблицаCardgroupполеcardmode = 19). - Активировать модуль системы лояльности Manzana2019 (см. Конфигурирование модуля Manzana2019).
- Настроить подключение к серверу системы лояльности Manzana2019 (см. Конфигурирование модуля Manzana2019).
- Перезапустить кассовую программу.
- Добавить карту системы лояльности Manzana2019 в чек.
Продажа
Для получения скидки, для начисления и списания баллов с бонусной карты необходимо добавить карту системы лояльности Manzana2019 в чек.
При добавлении карты проверяется ее статус. Если карта клиента имеет статус 3 или 6, то на экран будет выведено предупреждение "Система лояльности: Обслуживание карты невозможно по статусу карты", карта не будет добавлена в чек.
При просмотре информации о карте будут отображены данные клиента, если они указаны в карте покупателя.
Обращение к серверу для получения скидки, для получения суммы доступных баллов выполняется автоматически при переходе в подытог. Полученные скидки автоматически применяются к чеку. На экран будет выведен диалог "Система лояльности" с полем для ввода количества баллов для оплаты. Кассир может ввести сумму бонусов для оплаты, либо отказаться от операции.
При закрытии чека может быть напечатана информация для покупателя.
Идентификация клиента
Если в чек добавлена карта с признаком идентификации клиента, то при переходе в подытог на экран будет выведен диалог для идентификации клиента (ФИО клиента и текст сообщения для идентификации клиента, указываемый в параметре clientIdentificationText). Для прохождения идентификации покупатель должен предоставить документ, удостоверяющий личность:
- если идентификация пройдена, то осуществляется переход в подытог для получения скидки и списания баллов, в БД
Documentsв таблицуCarditemбудет записана следующая информация:extendedoptions = "одобрено",cardstatus = 1; - если идентификация не пройдена, то карта удаляется из чека, в БД
Documentsв таблицуCarditemбудет записана следующая информация:extendedoptions = "отклонено",cardstatus = 3.
На адрес, указанный в настройках identificationIp и identificationPort, отправляется udp-сообщение:
- с данными чека и карты при добавлении карты с признаком идентификации клиента в чек,
- с результатом идентификации клиента при подтверждении или отклонении карты.
Списание баллов
Списание баллов выполняется по инициативе кассира. Потраченные баллы фиксируются в кассовой программе как скидка на чек. Для списания можно использовать все доступные баллы.
Проверка карты по динамическому штрих-коду
Для возможности добавления карты по штрих-коду с динамической частью или без нее необходимо:
в утилите администрирования Yuki для группы карт с типом карты Manzana2019 задать:
маску номеров карт, где:
([s]\d+)– группа с номером карты,(?:(?:[;])– группа с разделителем,(?<codeValid>[a-zA-Z\d]{4,10})– группа с динамической частью штрих-кода.^([s]\d+)(?:(?:[;])(?<codeValid>[a-zA-Z\d]{4,10}))?$
правило преобразования – "\1"
О настройке группы карт подробнее можно прочитать в разделе "Карты и группы".
для возможности ввода номера карты в контексте формирования чека необходимо в конфигурационном файле
/linuxcash/cash/conf/ncash.ini.d/input.iniзадать правило разбора:[Rule.1] search = "^(?<cardNumber>[s]\d+([;][a-zA-Z\d]{4,10})?)$"Подробнее об этом можно прочитать в разделе "Задание правил разбора в input.ini".
В кассовом ПО Artix реализована возможность списания баллов с проверкой карты по динамическому штрих-коду. Данное поведение определяется параметром validateCardByDynamicBarcode в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/manzana2019.ini в секции [Manzana2019].
При добавлении карты ридером проверка карты по динамическому штрих-коду не выполняется.
Параметр validateCardByDynamicBarcode определяет необходимость использования проверки карты по динамическому штрих-коду для разрешения списания баллов:
- при значении
trueосуществляется проверка соответствия динамической части штрих-кода карты и поля "CodeValid", полученного от сервера системы лояльностиManzana2019, при переходе на форму списания баллов. Если значения не соответствуют, то поле ввода суммы баллов для списания недоступно. Для снятия запрета на форме списания будет отображено поле ввода кодаCVVкарты:- при вводе корректного кода
CVVбудет доступно поле ввода суммы баллов для списания, запрос ввода CVV больше не будет отображен для данной карты в чеке (до удаления карты). - при вводе некорректного кода
CVVна экран будет выведен диалог «Введен неверный код. Списание бонусов запрещено. Продолжить без списания бонусов?» с возможностью повторить ввод кодаCVVили продолжить оформление чека без списания бонусных баллов.
- при вводе корректного кода
- при значении
falseпроверка соответствия динамической части штрих-кода карты и поля "CodeValid" не осуществляется. Значение по умолчанию.
| Наименование | Тип данных | Возможные значения | Описание | Примечания |
|---|---|---|---|---|
| validateCardByDynamicBarcode | логический |
| Использовать проверку карты по динамическому штрих-коду для разрешения списания баллов | По умолчанию |
[Manzana2019] ... ; Использовать проверку карты по динамическому штрих-коду для разрешения списания баллов ; По умолчанию false ;validateCardByDynamicBarcode = false ...
Для возможности повторного добавления карты без ее сторнирования необходимо включить настройки в конфигурационном файле /linuxcash/cash/conf/ncash.ini:
[Check] onlyOneCard = true allowCardReplace = true ...
Подробнее о настройках можно прочитать в разделе "Использование карты в чеке".
Списание баллов с запросом кода подтверждения
В кассовом ПО Artix реализована возможность списания баллов с запросом кода подтверждения на сервере системы лояльности Manzana2019. Данное поведение определяется параметрами useConfirmation и noConfirmationBonusLimit в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/manzana2019.ini в секции [Manzana2019].
Параметр useConfirmation определяет необходимость использования кода подтверждения при списании баллов:
- при значении
trueкод подтверждения будет запрошен при списании баллов, - при значении
falseкод подтверждения при списании баллов запрошен не будет. Значение по умолчанию.
Параметр noConfirmationBonusLimit определяет максимальное количество бонусных баллов, которые будут списаны без запроса кода подтверждения:
- если количество бонусных баллов >
noConfirmationBonusLimit, то на сервер будет отправлен запрос на получение кода подтверждения. Если полученный в ответе от сервера код подтверждения был введен корректно, то баллы будут списаны. При вводе некорректного кода подтверждения на экран будет выведена ошибка «Некорректный проверочный код. Замените карту в чеке или удалите карту из чека», баллы списаны не будут. При отмене ввода кода баллы также не будут списаны; - если количество бонусных баллов <=
noConfirmationBonusLimit, то баллы будут списаны без подтверждения.
Параметр useRepeatInputVerificationCode определяет возможность повторного ввода кода подтверждения, если изначально был введен ошибочный код:
при значении
trueбудет предложено повторить ввод кода подтверждения: на экран кассы будет выведен диалог "Некорректный проверочный код. Ввести код повторно?".
Если повторно был введен:корректный код подтверждения, то баллы будут списаны,
некорректный код подтверждения, то баллы списаны не будут. Диалог с вводом кода подтверждения будет отображаться до тех пор, пока код не будет введен корректно.
- при значении
falseне будет предложено повторить ввод кода подтверждения. Значение по умолчанию.
| Наименование | Тип данных | Возможные значения | Описание | Примечания |
|---|---|---|---|---|
| useConfirmation | логический |
| Использовать код подтверждения при списании баллов | По умолчанию |
| noConfirmationBonusLimit | вещественный | Максимальное количество бонусных баллов для списания без запроса кода подтверждения | По умолчанию - На стороне площадки настраивается свой лимит, при котором площадка отправляет проверочный код в параметре VerificationCode. | |
| useRepeatInputVerificationCode | логический |
| Запрос повторного ввода кода подтверждения в случае, если код ошибочен | По умолчанию |
[Manzana2019] ... ; Использовать код подтверждения при списании баллов ; По умолчанию false ;useConfirmation = false ; Максимальное количество бонусных баллов для списания без запроса кода подтверждения ; Если значение настройки меньше нуля, то без ограничения ; По умолчанию -1.0 ;noConfirmationBonusLimit = -1.0 ... ; Запрос повторного ввода кода подтверждения в случае, если код ошибочен ; По умолчанию false ;useRepeatInputVerificationCode = false
Начисление баллов
Начисление баллов происходит на стороне сервера системы лояльности Manzana2019 после закрытия чека.
Возврат
В системе лояльности предусмотрена возможность возврата списанных ранее баллов. Возврат осуществляется при закрытии чека возврата по чеку продажи, в котором была оплата бонусными баллами.
Также реализована возможность возврата списанных ранее баллов на другой кассе.
Купоны
При использовании системы лояльности Manzana2019 возможно получение скидки по купону. В одном чеке продажи может быть применено несколько купонов.
Для добавления купона в чек необходимо:
- Добавить в чек карту лояльности Manzana2019.
- Открыть диалог по кнопке с командой
COMMAND_COUPON_ADD. О настройке действий подробнее можно прочитать в разделе "Настройка действий". - В появившемся диалоге "Купоны" добавить купон.
Скидка по купону применяется автоматически при переходе в подытог:
- если в чеке имеются неактивные купоны, то на экран будет выведен диалог "Удаление неактивных купонов". Неактивные купоны необходимо удалить;
- если в чеке все купоны активны, то на экран будет выведен диалог "Система лояльности" для оплаты чека баллами.
Режимы работы
В зависимости от доступности сервера системы лояльности Manzana2019 операции могут производиться в режиме online или offline. При этом:
- добавление карты производится online. Если сервер системы лояльности недоступен, то offline. При добавлении карты в чек на экран будет выведено предупреждение "Нет связи с сервером. Баллы будут начислены позднее", после закрытия предупреждения карта будет добавлена в чек. Списание бонусных баллов невозможно. При попытке оплатить чек бонусными баллами на экран будет выведено предупреждение "На карте нет баллов для оплаты". Операции по начислению будут произведены через очередь Artix-Queue;
- запрос скидок и списание бонусных баллов всегда производятся online;
- операции по начислению и отмене начисления производятся online. Если сервер системы лояльности недоступен, то в режиме offline через очередь Artix-Queue.