- Created by Ильмир Галиев, last modified on Jul 14, 2022
Описание
Коррекционный скрипт в рамках настройки схемы лояльности - скрипт на языке Liquid, реализованный для возможности регулировать (повышать или снижать значения выставленных ставок услуг).
Другими словами, это инструмент позволяющий настроить регулировку ставок в зависимости от условий.
При настройке схемы лояльности, вне зависимости для какого типа (акция, скидка, скидочная карта или накопительная),происходит настройка ставок для каждой услуги или категории услуг. Таким образом, при срабатывании скидки, система выставит эти указанные значения в счете. Однако в жизни, некоторые клиники могут придумать условия, при которых ставки должны изменяться в зависимости от условий.
Например, владельцам карт лояльности клиника желает возвращать 3 % от оказанной услуги на карту. Но, если клиент, заказывает комплекс услуг (более 1 услуги), то возвращаем 7% от услуг на карту лояльности.
Для реализации вышеописанных требований, мы реализовали коррекционный скрипт схемы лояльности.
Принцип работы
Коррекционный скрипт вызывается системой лояльности при расчете скидки или значения накопления для каждой позиции счета.
При расчете значения ставки, система осуществляет поиск значения из таблицы ставок. После нахождения необходимого значения, система проверяет, указан ли для схемы коррекционный срипт и осуществляет запуск срипта на выходе которого должно быть возвращено число, являющейся в последующем значением, который будет использован в виде ставки.
Настройка
Скрипт представляет собой запрограммированный текст на языке Liquid. Для работы скрипта могут быть использованы следующие вставки:
Таблица 1. Описание доступных вставок
№ п.п. | Синтаксис | Тип | Описание |
---|---|---|---|
1 | service | Объект | Содержит описание сущности Услуга. {{service.ID}} - идентификатор услуги {{service.Code}} - код услуги {{service.CodePMU}} - код ПМУ {{service.Name}} - наименование {{service.Description}} - описание {{service.Specification}} - специализация {{service.TypeID}} - тип позиции. 0 - услуга, 1 - лабораторный анализ, 2 - товар {{service.TypeName}} - наименование типа {{service.DurationMinute}} - длительность, если указана. {{service.Value}} - стоимость услуги |
2 | service_count | Число | Количество услуги в счете. |
3 | patient_invoice_services | Массив | Массив объектов. |
4 | patient_invoice_total_amount | Число | Сумма счета без учета скидок. Произведение стоимости всех услуги и их количества. |
5 | loyt_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 - фиксированное значение. |
6 | patient_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