Внешние системы лояльности расширяют возможности кассового ПО. Такие системы позволяют при начислении скидок учитывать факторы изменяющиеся во времени, например количество покупок за сутки и осуществлять движение бонусных баллов. Для идентификации покупателей в системе лояльности как правило используются карты. Тип используемой системы лояльности задается в группе карт.

Внешние системы лояльности располагаются на удаленных сервисах. В этом случае для сокращения времени обслуживания покупателя кассовое ПО минимизирует количество обращений к внешним системам.

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

Продажа

  1. Для расчета системы лояльности в чек продажи добавляется карта, для которой определяется группа карт. Если для группы задана система лояльности, выполняется обращение для уточнения информации о карте, клиенте, накопленных баллах, купонах и т.д. 
    В случае возникновения ошибки карта не будет добавлена в чек.
  2. Перед переходом к оплате документа, когда товарная часть чека полностью сформирована, выполняется обращение к системе лояльности для получения скидок и суммы баллов, которые будут начислены за покупку. Если кроме воздействий было получено сообщение для кассира, оно отображается на экране, программа остается в режиме работы с товарами.

    Ошибка при обращении к серверу влечет за собой блокировку перехода к оплате. В этом случае, для оплаты покупки нужно удалить карту из чека.
  3. В режиме оплаты пользователь может инициировать процедуру расходования баллов. В этом случае выполняется запрос в системе лояльности на расходование баллов.
    В случае ошибки расходование баллов произведено не будет.
  4. После печати чека и регистрации покупки в ККМ выполняется подтверждение операций. Транзакция фиксируется на сервере.

    Если фиксация завершится неудачно, на сервере останется "подвисшая" транзакция. Работу с такими транзакциями нужно проводить на сервере.
  5. Если пользователь решил вернуться в режим работы с товарами, выполняется обращение к серверу для отмены транзакции. 
    Ошибка при отмене на сервере не позволит выполнить переход в режим работы с товарами.

Возврат

При выполнении возврата товаров по чеку продажи осуществляется отмена начисления и списания баллов. В оригинальном чеке продажи хранится идентификатор транзакции и информация о начислении и списании баллов.

  1. Выполняется восстановление чека.
  2. Если возвращается часть товаров, из чека удаляются лишние товары.
  3. После закрытия чека выполняются операции по оформлению возврата на сервере для отмены начисления и списания баллов.

Настройки общего поведения для систем лояльности

В кассовом ПО Artix реализована возможность скрывать или отображать на экране сообщения, полученные от системы лояльности. Данное поведение регулируется настройкой allowMessagesToCashier в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/loyalty.ini в секции [LoyaltySystem]:

  • при значении true сообщения лояльности выводятся на экран. Значение по умолчанию;
  • при значении false сообщения лояльности будут скрыты.
Пример настройки
[LoyaltySystem]
; Настройки общего для систем лояльности поведения

; Отображать сообщения для кассира, полученные от системы лояльности
; По умолчанию true
;allowMessagesToCashier = true
  • No labels