Системы лояльности торгового предприятия чаще всего направлены на определенную группу людей, объединенных некоторыми характеристиками. Скидки и бонусы в этом случае предоставляются для определенной категории покупателей. Функции для работы с клиентом и картой позволяют персонифицировать скидки, организуя акции направленного действия.
age()
-- функция возвращает количество полных лет, если указана дата рождения клиента, 0
– если дата не указана.
cf.age() >= 63 Скидка сработает, если возраст клиента больше или равен 63 (пенсионер). |
hasClientOptions([options])
– функция сработает, если клиенту назначена указанная опция.
Параметры функции:
options
– опция клиента.Опция клиента – это признак клиента, который задается при добавлении клиента в базу, например, блондинка, студент и т. д.
Применение функции возможно только при наличии в чеке карты клиента. |
cf.hasClientOptions([u"блондинка"]) Скидка сработает, если клиент имеет опцию "блондинка". |
birthdayDate(firstDay,lastDay)
– функция сработает, если день рождения клиента входит в заданный интервал.
Параметры функции:
firstDay
– количество дней до дня рождения;lastDay
– количество дней после дня рождения.Применение функции возможно только при наличии в чеке карты клиента. |
cf.birthdayDate(2,3) Скидка будет действовать, если чек открыт в день рождения клиента, либо 2 дня до и 3 дня после дня рождения. |
birthdayDateIn(beginDate, endDate)
– функция сработает, если день рождения клиента входит в указанный диапазон дат.
Параметры функции:
beginDate
– начальная дата интервала;endDate
– конечная дата интервала.Применение функции возможно только при наличии в чеке карты клиента. |
cf.birthdayDateIn("2014-1-1","2014-1-31") Скидка действует, если день рождения клиента в январе. Время открытия чека не проверяется. |
specialDate(firstDay, lastDay, datename)
– функция сработает, если чек открыт в памятную дату клиента или в заданный диапазон дней до/после нее. Специальная дата задается для каждого клиента индивидуально.
Параметры функции:
firstDay
– количество дней до даты;lastDay
– количество дней после даты;datename
– название специальной даты. Применение функции возможно только при наличии в чеке карты клиента. |
cf.specialDate(1,1,u"specialdate1") Скидка для клиента действует, если чек открыт в "специальную дату 1" и 1 день до и после нее. |
specialDateIn(beginDate, endDate,
– функция сработает, если специальная дата клиента входит в указанный диапазон дат.datename)
Параметры функции:
beginDate
– начальная дата интервала;endDate
– конечная дата интервала;datename
– название специальной даты.Применение функции возможно только при наличии в чеке карты клиента. |
cf.specialDateIn("2014-3-1","2014-3-31",u"specialdate1") Скидка с таким условием сработает если клиент имеет специальную дату №1 в марте. |
noCardInCheck()
– функция сработает, если в чеке нет ни одной карты.
cf.noCardInCheck() Скидка будет действовать, если в чеке нет ни одной карты. |
isVerificated()
– функция сработает в том случае, если карта прошла верификацию.
cf.isVerificated() Скидка будет действовать, если карта, добавленная в чек, прошла верификацию. |
hasVerificationTypes(["type"])
– функция сработает в том случае, если у группы карт, к которой принадлежит введенная карта, имеются все перечисленные в параметре способы верификации.
Параметры функции:
type
– способ верификации.Если параметр type
не задан, то функция проверит наличие каких-либо способов верификации группы карт:
При работе функции атрибут верификации не учитывается.
cf.hasVerificationTypes(["SMS", "AUTO"]) Функция будет действовать, если для группы, к которой принадлежит карта, заданы способы верификации SMS и AUTO. |
Задана акция оплаты бонусами с условиями:
Пример 1 При формировании чека в него добавлена карта. В группе карт указан способ верификации "SMS". Функция проверяет способы верификации. Так как в группе карт указан только 1 из способов верификации, то при переходе в подытог сумма бонусов для оплаты рассчитана не будет. При попытке оплатить бонусами на экран кассира будет выведено сообщение "Невозможно потратить баллы". Пример 2 При формировании чека в него добавлена карта. В группе карт указан способ верификации "SMS" и "AUTO". Функция проверяет способы верификации. Так как в группе карт указаны оба способа верификации, то при переходе в подытог рассчитывается сумма бонусов для оплаты. Далее оплата баллами производится по алгоритму верификации карты при оплате. |