Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel

Table of Contents


Panel

Начиная с версии 4.6.

82 реализована возможность ведения акций со счетчиками

176 реализована возможность работы счетчиков в чеках возврата и возврата по чекам продажи. Также реализована возможность отрицательного изменения счетчиков.

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

...

  • при значении true использование счетчиков включено. Акции со счетчиками срабатывают;,
  • при значении false использование счетчиков отключено. Акции, в которых заданы счетчики, не будет срабатывать на кассе.

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

В кассовом ПО Artix реализована возможность отправки счетчиков, если при их получении возникла ошибка. Данное поведение регулируется параметром forbidSendingOnReceiveError в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/discountcounters.ini в секции [DiscountCounters]:

  • при значении true счетчики не будут отправлены через очередь Artix-Queue, если возникла ошибка при их получении,
  • при значении false счетчики будут отправлены через очередь Artix-Queue, если возникла ошибка при их получении.

Шаблон идентификатора источника изменений счетчика задается параметром idChanger в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/discountcounters.ini в секции [DiscountCounters].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
enableлогический
  • true
  • false
Использование счетчиковПо умолчанию false
hostстроковый
Имя хоста, на котором размещен сервис счетчиков
portцелочисленный
Порт, по которому выполняется подключение к сервису счетчиков
timeoutцелочисленный
Таймаут ожидания ответа от сервераПо умолчанию 10 секунд
userстроковый
Логин для аутентификации по REST на сервисе счетчиков
passwordстроковый
Пароль для аутентификации по REST на сервисе счетчиков
forbidSendingOnReceiveErrorлогический
  • true
  • false
Запретить отправку счетчиков, если при их получении возникла ошибкаПо умолчанию true
idChangerстроковый
Шаблон идентификатора источника изменений счетчикаПо умолчанию "%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[04d])"


Code Block
languagetext
titleПример настройки
[DiscountCounters]
; Настройки счетчиков
; По умолчанию выключены (enable = false)
;enable = false
; Имя хоста
;host = localhost
; Номер порта
;port = 8090
; Таймаут ожидания ответа от сервера
; По умолчанию 10 секунд
;timeout = 10
; Логин
;user = admin
; Пароль
;password = admin
; Запретить отправку счетчиков, если при их получении возникла ошибка
; По умолчанию true
;forbidSendingOnReceiveError = true
; Шаблон идентификатора источника изменений счетчика
; По умолчанию "%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[04d])"
;idChanger = "%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[04d])"

Алгоритм ведения акций со счетчиками

...

  • наличие сервиса счетчиков, который устанавливается на кассовом сервере или отдельном компьютере,
  • активировать модуль счетчиков DiscountCounters в кассовом ПО,
  • создать акцию на основании шаблона со счетчиками в системе Artix Loyalty Management.

Порядок ведения акций следующий:

  1. Акция со счетчиками задается в системе Artix Loyalty Management.
  2. Система лояльности выгружается на кассу через кассовый сервер.
  3. При добавлении карты клиента в чек, если сработали условия акции на кассе, к сервису счетчиков отправляется запрос о состоянии счетчиков.
    Если на сервисе имеется такой счетчик, то на кассу возвращается значение счетчика. Если счетчика на сервисе нет, то он создается и ему присваивается значение 0.
    Акция со счетчиком срабатывает на кассе в соответствии с условиями акции и полученным значением счетчика.

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

    Info

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


Panel
titleПример акции со счетчиком на чек

Пусть задана скидочная акция на товар с ограничениями по счетчику:

"Скидка 10% на товар из каталога "Фрукты" со счетчиком "бананы" не более 5 кг".

При применении скидки на кассе на товар из каталога "Фрукты" скидка 10% будет предоставляться до тех пор, пока общее количество приобретенного товара не составит 5 кг.

Например:

1 чек. Количество товара 2 кг. Скидка 10 % будет предоставлена на 2 кг. Счетчик будет изменен со значения 0 на 2.

2 чек. Количество товара 1 кг. Скидка 10 % будет предоставлена на 1 кг. Счетчик будет изменен со значения 2 на 3.

3 чек. Количество товара 3 кг. Скидка 10 % будет предоставлена на 2 кг. На 1 кг скидка не предоставится, т.к. счетчик будет изменен с 3 на 5 и достигнет максимального значения.

На все последующие чеки скидка по данной акции предоставлена не будет.

...

Panel
titleПример акции со счетчиками на оплату чека бонусами

Пусть покупателю положены 1000 бонусных баллов, которыми он может оплачивать 10% от покупки.

Необходимо задать следующие скидочные акции:

  1. Первая акция - дает скидку 10% на чек, если не превышен лимит 1000 рублей (счетчики не превышают 1000).
  2. Вторая акция - увеличивает счетчики на сумму скидки из первой акции со сроком жизни до 1 числа следующего месяца. Когда наступит следующий месяц, счетчики автоматически сгорят.

Image Modified


Panel
titleПример акции с накопительной системой скидок

Пусть в зависимости от суммы покупок для покупателя действуют разные скидки:

  • от 0 до 300 - 1%;,
  • от 300 до 800 - 2%;,
  • от 800 до 1500 - 3%;,
  • от 1500 до 2500 - 4%;,
  • от 2500 - 5%.

При покупки карты лояльности, сумма покупок будет копиться до конца следующего месяца. Далее сумма покупок будет обнуляться 1-го числа каждого месяца.

Необходимо задать следующие скидочные акции:

  1. "Накопительная скидка" - дает покупателю скидку в процентах, в зависимости от суммы покупок.
  2. "Увеличение счетчика покупок до конца следующего месяца" - увеличивает сумму покупок до конца следующего месяца, если карту приобрели в текущем месяце. Счетчик обнуляется 1 числа.

  3. "Увеличение счетчика покупок до конца текущего месяца" - увеличивает сумму покупок до конца текущего месяца, если карту приобрели в предыдущем месяце. Счетчик обнуляется 1 числа.

  4. "Регистрация даты первой покупки" - необходимо установить счетчик с датой первой покупки, если она не установлена.

Info
Для первой акции не нужно задавать приоритет. Для остальных акций нужно установить приоритет 10, чтобы счетчики увеличивались на актуальную сумму покупок.


Panel
titleПримеры акций с положительным и отрицательным изменением значения счетчика

Пусть сумма чека равна 30.

Необходимо задать следующие скидочные акции:

  1. Первая акция – при закрытии чека счетчик изменится с 0 на 30.
    Image Added
  2. Вторая акция – при закрытии чека счетчик измениться с 25 на -5.
    Image Added


Info

При отсутствии связи с сервером счетчиков сообщения со значениями счетчиков сохраняются в очередь Artix-Queue и передаются на сервер после восстановления связи.

Работа со счетчиками без привязки к карте

При работе торговых сетей может возникать такая ситуация, при которой необходимо предоставлять покупателям скидку на каждый N-ый чек. Для этого в кассовом ПО Artix реализована возможность работы со счетчиками без привязки к карте. 

Info

Функционал не реализован для онлайн-чеков, отложенных чеков и софт-чеков.

Конфигурирование плагина

Активация плагина для работы со счетчиками без привязки к карте определяется параметром freecounters, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/freecounters.ini в секции [plugins]. Работает только при включенном плагине discountcounters. При активированном параметре freecounters происходит получение свободных счетчиков при добавлении позиции в чек.

НаименованиеТип данныхВозможные значенияОписаниеПримечания
freecountersстроковый
  • on
  • off
Плагин для работы счетчиков без применения карты

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

Работает с плагином discountcounters


Code Block
languagetext
[plugins]
; Плагин для работы счетчиков, без применения карты
;freecounters = off

Удаление свободных счетчиков при возврате из подытога в режим формирования чека определяется параметром removeOnReturnFromSubtotal, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/freecounters.ini в секции [FreeCounters].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
removeOnReturnFromSubtotalлогический
  • true
  • false
Удаление свободных счетчиков при возвращении из подытога

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


Code Block
languagetext
[FreeCounters]
; Удаление свободных счетчиков при возвращении из подытога
; По умолчанию false
;removeOnReturnFromSubtotal = false

Допускается задание нескольких секций с различными значениями SectionName для получения нескольких счетчиков. В каждой секции должны быть заданы следующие параметры:

НаименованиеТип данныхОписаниеПримечания
counterIdстроковыйУникальный идентификатор счетчикаПо умолчанию checkcounter
identifierстроковыйШаблон идентификатора, по которому начисляется и загружается счетчикПо умолчанию %(document.shopCode[04d])%(document.cashCode[02d])
changeOnLoadчисловойЗначение, на которое будет изменен счетчик, перед загрузкой на кассуПо умолчанию 1.0


Code Block
languagetext
[FreeCounters.SectionName]
; Уникальный идентификатор счетчика
; По умолчанию checkcounter
;counterId = checkcounter

; Шаблон идентификатора, по которому начисляется и загружается счетчик
; По умолчанию %(document.shopCode[04d])%(document.cashCode[02d])
;identifier = "%(document.shopCode[04d])%(document.cashCode[02d])"

; Значение, на которое будет изменен счетчик, перед загрузкой на кассу
; По умолчанию 1.0
;changeOnLoad = 1.0