Внешние системы лояльности расширяют возможности кассового ПО. Такие системы позволяют при начислении скидок учитывать факторы изменяющиеся во времени, например количество покупок за сутки и осуществлять движение бонусных баллов. Для идентификации покупателей в системе лояльности как правило используются карты. Тип используемой системы лояльности задается в группе карт.
Внешние системы лояльности располагаются на удаленных сервисах. В этом случае для сокращения времени обслуживания покупателя кассовое ПО минимизирует количество обращений к внешним системам.
Ниже приведена общая схема взаимодействия с системами лояльности. Конкретная система может не поддерживать определенные функции или иметь особенности их реализации.
Продажа
- Для расчета системы лояльности в чек продажи добавляется карта, для которой определяется группа карт. Если для группы задана система лояльности, выполняется обращение для уточнения информации о карте, клиенте, накопленных баллах, купонах и т.д.
В случае возникновения ошибки карта не будет добавлена в чек. Перед переходом к оплате документа, когда товарная часть чека полностью сформирована, выполняется обращение к системе лояльности для получения скидок и суммы баллов, которые будут начислены за покупку. Если кроме воздействий было получено сообщение для кассира, оно отображается на экране, программа остается в режиме работы с товарами.
Ошибка при обращении к серверу влечет за собой блокировку перехода к оплате. В этом случае, для оплаты покупки нужно удалить карту из чека.- В режиме оплаты пользователь может инициировать процедуру расходования баллов. В этом случае выполняется запрос в системе лояльности на расходование баллов.
В случае ошибки расходование баллов произведено не будет. После печати чека и регистрации покупки в ККМ выполняется подтверждение операций. Транзакция фиксируется на сервере.
Если фиксация завершится неудачно, на сервере останется "подвисшая" транзакция. Работу с такими транзакциями нужно проводить на сервере.- Если пользователь решил вернуться в режим работы с товарами, выполняется обращение к серверу для отмены транзакции.
Ошибка при отмене на сервере не позволит выполнить переход в режим работы с товарами.
Возврат
При выполнении возврата товаров по чеку продажи осуществляется отмена начисления и списания баллов. В оригинальном чеке продажи хранится идентификатор транзакции и информация о начислении и списании баллов.
- Выполняется восстановление чека.
- Если возвращается часть товаров, из чека удаляются лишние товары.
- После закрытия чека выполняются операции по оформлению возврата на сервере для отмены начисления и списания баллов.
Настройки общего поведения для систем лояльности
В кассовом ПО Artix реализована возможность скрывать или отображать на экране сообщения, полученные от системы лояльности. Данное поведение регулируется настройкой allowMessagesToCashier
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/loyalty.ini
в секции [LoyaltySystem]
:
- при значении
true
сообщения лояльности выводятся на экран. Значение по умолчанию; - при значении
false
сообщения лояльности будут скрыты.
[LoyaltySystem] ; Настройки общего для систем лояльности поведения ; Отображать сообщения для кассира, полученные от системы лояльности ; По умолчанию true ;allowMessagesToCashier = true