Page tree
Skip to end of metadata
Go to start of metadata

Описание

Коррекционный скрипт в рамках настройки схемы лояльности - скрипт на языке Liquid, реализованный для возможности регулировать (повышать или снижать значения выставленных ставок услуг).
Другими словами, это инструмент позволяющий настроить регулировку ставок в зависимости от условий.  

При настройке схемы лояльности, вне зависимости для какого типа (акция, скидка, скидочная карта или накопительная),происходит настройка ставок для каждой услуги или категории услуг. Таким образом, при срабатывании скидки, система выставит эти указанные значения в счете. Однако в жизни, некоторые клиники могут придумать условия, при которых ставки должны изменяться в зависимости от условий.
Например, владельцам карт лояльности клиника желает возвращать 3 % от оказанной услуги на карту. Но, если клиент, заказывает комплекс услуг (более 1 услуги), то возвращаем 7% от услуг на карту лояльности.

Для реализации вышеописанных требований, мы реализовали коррекционный скрипт схемы лояльности.

Принцип работы

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

Настройка

Скрипт представляет собой запрограммированный текст на языке Liquid. Для работы скрипта могут быть использованы следующие вставки:

Таблица 1. Описание доступных вставок

№ п.п.СинтаксисТипОписание
1serviceОбъектСодержит описание сущности Услуга.
{{service.ID}} - идентификатор услуги
{{service.Code}} - код услуги
{{service.CodePMU}} - код ПМУ
{{service.Name}} - наименование
{{service.Description}} - описание
{{service.Specification}} - специализация
{{service.TypeID}} - тип позиции. 0 - услуга, 1 - лабораторный анализ, 2 - товар
{{service.TypeName}} - наименование типа
{{service.DurationMinute}} - длительность, если указана.
{{service.Value}} - стоимость услуги
2service_countЧисло

Количество услуги в счете.

3patient_invoice_servicesМассив

Массив объектов.
Каждый элемент содержит:
{{Service}} - сущность Позиция прейскуранта
{{Count}} - Количество
{{Value}} - Цена
{{Amount}} - Стоимость (произведение Цены и Количества)

4patient_invoice_total_amountЧислоСумма счета без учета скидок. Произведение стоимости всех услуги и их количества. 
5loyt_scheme_service_itemОбъектНайденная позиция ставки.
{{loyt_scheme_service_item.ID}} - идентификатор
{{loyt_scheme_service_item.Service}} - объект сущности Услуга.
{{loyt_scheme_service_item.Value}} - значение ставки из таблицы
{{loyt_scheme_service_item.ValueType}} - тип ставки. 0 - процент, 1 - фиксированное значение.
6patient_total_payed_amountЧисло

Сумма денежных средств оплаченные пациентов за все время.

Внимание

Свойство доступно только в схемах накопительных карт. 

Пример 1

Ниже приведенный пример демонстрирует скрипт увеличивающий значение ставки на 4, если количество услуг в счете больше 1 шт.
Если всего 1 услуга в счете, ставка выставляется из таблицы.

Пример срипта
{% if patient_invoice_services.size > 1 %}
 {{loyt_scheme_service_item.Value | plus:4}}
{% else %}
 {{loyt_scheme_service_item.Value}}
{%endif%}

Пример 2

Ниже приведенный пример демонстрирует скрипт, увеличивающий значение ставки на 5%, если сумма денежных средств оплаченные пациентов за все время больше 1000 руб, но меньше 5000 руб; увеличивающий значение ставки на 10%, если сумма денежных средств оплаченные пациентов за все время больше 5000 руб. Если сумма денежных средств оплаченные пациентов за все время меньше 1000 руб, то ставка выставляется из таблицы.

{% if patient_total_payed_amount > 1000 and patient_total_payed_amount < 5000 %}
 {{loyt_scheme_service_item.Value | plus:5}}
{% elsif patient_total_payed_amount > 5000 %}
{{loyt_scheme_service_item.Value | plus:10}}
{% else %}
 {{loyt_scheme_service_item.Value}}
{%endif%}



Содержание страницы:

  • No labels