Реализованная интеграция с системой RS.Loyalty может не поддерживать определенные функции системы или иметь особенности их реализации. Следует уточнять полноту интеграции в соответствии с функциональными требованиями к системе лояльности.

Кассовое ПО Artix поддерживает применение дисконтных и бонусных воздействий, применение купонов и использование подарочных сертификатов системы лояльности RS.Loyalty.

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

Активация модуля системы лояльности RS.Loyalty определяется параметром rsloyalty, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/rsloyalty.ini в секции [plugins].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
rsloyaltyстроковый
  • on
  • off
Активация модуля системы лояльности RS.LoyaltyПо умолчанию off
Пример настройки
[plugins]
; Система лояльности RS.Loyalty
;rsloyalty = off

Настройка плагина системы лояльности RS.Loyalty производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/rsloyalty.ini в секции [RSLoyalty].

В кассовом ПО Artix реализована возможность запретить применение дисконта по картам RS.Loyalty для позиции, если уже была применена скидка из внутреннего дисконта. Данное поведение регулируется с помощью параметра forbidDiscountForDiscountedPosition:

  • при значении true скидка для позиции и операции с бонусами по картам RS.Loyalty применены не будут,
  • при значении false скидка и операции с бонусами для позиции будут применены.
НаименованиеТип данныхВозможные значенияОписаниеПримечания

hosts

строковый
Адреса серверов RS.Loyalty в порядке убывания приоритетаПо умолчанию http://127.0.0.1/

timeout

целочисленныйцелое положительное числоТаймаут запроса к серверу RS.Loyalty, в секундахПо умолчанию 5 секунд

user

строковый
Имя пользователя для авторизации на сервере

password

строковый
Пароль пользователя для авторизации на сервере
checkCouponPrefixстроковый
Префикс для купонов на чек

По умолчанию rsloyalty

Начиная с версии 4.6.154 настройка является устаревшей.
positionCouponPrefixстроковый
Префикс для купонов на позицию

По умолчанию rsloyalty

Начиная с версии 4.6.154 настройка является устаревшей.
checkCouponMaskстроковый
Маска для купонов на чекПо умолчанию маска не задана
positionCouponMaskстроковый
Маска для купонов на позициюПо умолчанию маска не задана
noBonusForMinpriceцелочисленный
  • 0 – разрешены все операции,
  • 1 – запрещено начисление,
  • 2 – запрещено списание,
  • 3 – запрещены все операции.
Правило работы с бонусамиПо умолчанию 0
forbidDiscountForDiscountedPositionлогический
  • true
  • false
Запретить применение скидки для позиции, если уже была применена скидкаПо умолчанию false
Пример настройки
[RSLoyalty]
; Настройки плагина системы лояльности RS.Loyalty

; Адреса серверов RS.Loyalty по убыванию приоритета
; Значение по умолчанию http://127.0.0.1/ 
hosts = "http://127.0.0.1/" 

; Таймаут запроса к серверу RS.Loyalty
; Значение по умолчанию 5
timeout = 5

; Имя пользователя для авторизации на сервере
; Значение по умолчанию "" 
user = "" 

; Пароль пользователя для авторизации на сервере
; Значение по умолчанию "" 
password = "" 

; Маска для купонов на чек
; Значение по умолчанию "" – маска не задана
;checkCouponMask = ""

; Маска для купонов на позицию
; Значение по умолчанию "" – маска не задана
;positionCouponMask= ""

; Правило работы с бонусами
; (0 - все разрешено, 1 - начисление запрещено, 2 - списание запрещено, 3 - все запрещено)
; Значение по умолчанию 0
;noBonusForMinprice = 0

; Запретить применение скидки для позиции, если уже была применена скидка
; Значение по умолчанию false
;forbidDiscountForDiscountedPosition = false

Бонусная программа

В системе лояльности RS.Loyalty предоставляется возможность работы с дисконтными и бонусными картами RS.Loyalty:

  • при работе с дисконтными картами предоставляется скидка;
  • при работе с бонусными картами производится начисление и списание бонусных баллов.

Для использования системы лояльности RS.Loyalty необходимо:

  1. Завести группу дисконтных и/или бонусных карт с типом карты RS.Loyalty (БД Dictionaries таблица Cardgroup поле cardmode = 7).
  2. Активировать модуль системы лояльности RS.Loyalty (см. Конфигурирование модуля RS.Loyalty).
  3. Настроить подключение к серверу системы лояльности (см. Конфигурирование модуля RS.Loyalty).
  4. Перезапустить кассу.
  5. Добавить дисконтную или бонусную карту в чек.

Добавление карты по номеру телефона

При использовании системы лояльности RS.Loyalty возможно добавление карты по номеру телефона. Для этого необходимо:

  1. Включить способ ввода "Удаленно" для группы карт (БД Dictionaries таблица Cardgroup поле inputmask = 16).
  2. Указать корректную маску допустимых номеров карт.
  3. Настроить клавишу "Добавить карту" с командой COMMAND_CARD и параметрами:
    • cardNumberType со значением 1;
    • cardMode со значением 7.

При использовании команды на экран будет выведен диалог для ввода номера телефона. После ввода номера телефона производится поиск карты на сервере системы лояльности RS.Loyalty. Далее на указанный номер телефона отправляется код подтверждения, а на экран будет выведен диалог для ввода кода подтверждения:

  • если введен верный код подтверждения, то карта будет добавлена в чек;
  • если введен неверный код подтверждения, то карта не будет добавлена в чек, а на экран будет выведена ошибка "Неверный код подтверждения".

Карта не может быть добавлена в чек, если:

  • введенный номер телефона отсутствует на сервере системы лояльности RS.Loyalty,
  • отсутствует связь с сервером.

Продажа

Для получения скидки по дисконтной карте или для начисления и списания баллов с бонусной карты, необходимо добавить карту системы лояльности RS.Loyalty в чек. Обращение к серверу для получения скидки выполняется автоматически при переходе в подытог, для получения суммы доступных баллов обращение к серверу выполняется при оплате баллами. Полученные скидки автоматически применяются к чеку.

Списание баллов

Списание баллов выполняется по инициативе кассира. Потраченные баллы фиксируются в кассовой программе как скидка на чек. Для списания можно использовать все доступные баллы.

Если цена позиции равна минимальной цене, то возможность списания баллов регулируется настройкой noBonusForMinprice. В противном случае возможность списания баллов регулируется битовой маской в БД Dictionaries таблице Tmc в поле loyaltymode.

Начисление баллов

Начисление баллов происходит на стороне сервера системы лояльности RS.Loyalty после закрытия чека.

Если цена позиции равна минимальной цене, то возможность начисления баллов регулируется настройкой noBonusForMinprice. В противном случае возможность начисления баллов регулируется битовой маской в БД Dictionaries таблице Tmc в поле loyaltymode.

Возврат

В системе лояльности предусмотрена возможность возврата списанных ранее баллов.

Купоны

При использовании системы лояльности RS.Loyalty предоставляется возможность получения скидки по купону. Скидка по купону может быть применена на позицию и на чек. В одном чеке продажи может быть применено несколько купонов на позицию и на чек.

Добавление купона в чек осуществляется несколькими способами:

  • вручную с клавиатуры;
  • сканированием штрих-кода;
  • по кнопке "Добавить купон" с командой COMMAND_COUPON_ADD. О настройке действий подробнее можно прочитать в разделе "Настройка действий".

Для распознавания номера/штрих-кода купона на кассе должно быть задано правило разбора по штрих-коду, которое задается в конфигурационном файле /linuxcash/cash/conf/bcode.ini.

Пример настройки
880*=cccccccccccc 
890*=cccccccccccc

В данном примере цифры "880" и "890" являются префиксами купонов, на что указывают символы "cccccccccccc".

Начиная с версии 4.6.154 в кассовом ПО Artix реализована возможность задавать номера купонов через маску. Маски для купонов задаются в параметрах checkCouponMask и positionCouponMask в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/rsloyalty.ini. В параметрах checkCouponMask и positionCouponMask можно задавать не только маски, но и перечисление префиксов с помощью символа "|".

Пример настройки
; Маска для купонов на чек
checkCouponMask = "11.*|22.*|33.*"

; Маска для купонов на позицию
positionCouponMask= "11.*|22.*|33.*"

Префиксы, указанные в bcode.ini должны соответствовать префиксам или маскам в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/rsloyalty.ini.

Если префиксы в конфигурационных файлах не совпадают, то кассовое ПО не распознает вводимый номер как купон RS.Loyalty.

Чтобы отключить проверку по bcode.ini необходимо отключить настройку использования интерпретации штрих-кодов при добавлении купона по кнопке useBcodeParserForAddCouponByButton.

Скидка по купону применяется автоматически при переходе в подытог.

Подарочные сертификаты RS.Loyalty

Кассовое ПО Artix предоставляет возможность работы с подарочными сертификатами RS.Loyalty.

При этом сертификаты других систем лояльностей (внешних и внутренних) должны быть отключены, иначе работа с сертификатами RS.Loyalty невозможна.

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

Активация модуля системы сертификатов RS.Loyalty определяется параметром rsloyaltycertificate, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/rsloyalty.ini в секции [plugins].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
rsloyaltycertificateстроковый
  • on
  • off
Система сертификатов RS.LoyaltyПо умолчанию off
Пример настройки
[plugins] 
; Система сертификатов RS.Loyalty 
;rsloyaltycertificate = off

Для использования подарочных сертификатов требуется:

  1. Активировать работу системы сертификатов параметром rsloyaltycertificate в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [plugins].
  2. Настроить подключение к системе сертификатов RS.Loyalty в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/rsloyalty.ini.
  3. Заполнить справочники сертификатов в БД Dictionaries таблице Certificate. Обязательные для заполнения поля:
    • code – код группы сертификатов (указать значение rsloyalty);
    • name – название (отображается как наименование позиции);
    • tmccode – код товара при добавлении в чек;
    • deptcode – отдел;
    • vatcode – налог.

Продажа подарочных сертификатов

Возможна продажа следующих видов подарочных сертификатов (карт):  

  • одноразовый подарочный сертификат – оплатить чек сертификатом можно только один раз;
  • многоразовый подарочный сертификат – оплатить сертификатом можно несколько чеков;
  • многооборотный многоразовый подарочный сертификат – оплатить сертификатом можно несколько чеков, продать сертификат можно несколько раз.  

Добавление сертификата в чек осуществляется по кнопке "Сертификат" с командой COMMAND_CERTIFICATE. О настройке действий подробнее можно прочитать в разделе "Настройка действий".

При добавлении сертификата в чек на экран будет выведен диалог для ввода номера сертификата. После ввода номера сертификата проверяется разрешен ли ввод с текущего устройства (сканер штрих-кода, ридер карт, вручную). Если данный способ ввода разрешен, то сертификат будет добавлен в чек, иначе – сертификат не будет добавлен в чек.

Сторнирование подарочных сертификатов

Сторнирование подарочных сертификатов, добавленных в чек продажи, осуществляется аналогично удалению товарных позиций. 

Возврат подарочных сертификатов

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

Оплата подарочным сертификатом

Для оплаты чека продажи сертификатом необходимо в утилите администрирования Yuki добавить валюту "Подарочный сертификат RS.Loyalty". О настройке валют подробнее можно прочитать в разделе "Валюты".

Оплату чека можно произвести несколькими сертификатами.

Возврат товара, оплаченного сертификатом

При возврате товара, оплаченного сертификатом, производится возврат наличными.

Просмотр информации о сертификате

Просмотр информации о сертификате осуществляется по кнопке "Получить информацию по сертификату" с командой COMMAND_CERTIFICATE_INFO. О настройке действий подробнее можно прочитать в разделе "Настройка действий".

По нажатию клавиши на экран будет выведен диалог для ввода номера сертификата. После ввода номера сертификата на экран будет выведена информация о сертификате. Информация о сертификате может быть запрошена независимо от того, продан сертификат или нет.

Запрос скидок в чеке продажи

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

Отправка чеков

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

Режимы работы

В систему лояльности RS.Loyalty данные могут отправляться в online и offline режимах.

В режиме online выполняются следующие операции:

  • добавление дисконтной/бонусной карты;
  • добавление купона;
  • добавление сертификата;
  • запрос скидок по дисконтной карте, купону;
  • запрос количества бонусных баллов для списания;
  • запрос информации о дисконтной/бонусной карте и подарочном сертификате;
  • возврат подарочного сертификата;
  • оплата чека подарочным сертификатом.

Если сервер системы лояльности RS.Loyalty не доступен включается режим offline. В offline режиме выполняются следующие операции:

  • начисление бонусных баллов;
  • возврат начисленных бонусных баллов;
  • сторнирование подарочных сертификатов;
  • отправка чеков.

Offline режим действителен до закрытия чека. После закрытия чека вновь выполняется попытка подключения к серверу системы лояльности RS.Loyalty.

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

При закрытии чека продажи или возврата информация о чеке отправляется на сервер RS.Loyalty через очередь Artix-Queue. Если при открытии нового чека связь с сервером системы лояльности не будет восстановлена, то доступно будет только закрытие чека.

Использование нескольких серверов системы лояльности

Использование нескольких серверов системы лояльности RS.Loyalty позволяет гарантированно пользоваться системой лояльности в случае недоступности одного из них.

Для использования двух и более серверов системы лояльности RS.Loyalty в конфигурационном файле системы лояльности в параметре hosts необходимо прописать адреса серверов через запятую. 

Пример настройки для использования двух серверов
[RSLoyalty] 
; Настройки плагина системы лояльности RS.Loyalty 
; Адреса серверов RS.Loyalty по убыванию приоритета 
; Значение по умолчанию http://127.0.0.1/ 
hosts = "адрес сервера №1 RS.Loyalty,адрес сервера №2 RS.Loyalty" 
...

При обращении к серверу RS.Loyalty осуществляется проверка наличия связи с указанными в параметре hosts серверами по порядку. В случае доступности сервера адрес данного сервера запоминается, в дальнейшем для взаимодействия с системой лояльности до закрытия чека используется этот сервер. 

При обрыве связи с сервером RS.Loyalty осуществляется поиск доступного сервера и продолжается работа с ним.

  • No labels