Правила смены услуг

Матеріал з NoDeny
(Перенаправлено з Service rules)
Перейти до навігації Перейти до пошуку

Допустим:

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

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

Пример:

allow:юрики:юрики
deny:юрики:all
deny:all:юрики
deny:физики:персональные

Видно, что каждое правило начинается со слова allow (разрешить) или deny (запретить). Далее через двоеточия идут какие-то названия - это теги, которые задаются в услугах. Откройте любую услугу на редактирование и вы увидите в ней параметр "теги", которые указываются через запятую. Давайте для нескольких услуг в этом поле введем «юрики» - как бы подразумеваем, что это тарифы исключительно для юрлиц.

Расшифруем первое и второе правила:

  • Разрешить менять услугу с тегом «юрики» на услугу с тегом «юрики».
  • Запретить менять услугу с тегом «юрики» на любую.

Ключевое слово all означает «любой тег».

Таким образом, когда абонент в личном кабинете попробует заказать смену услуги, в которой в теге есть строка «юрики», в выборе он увидит услуги исключительно с таким же тегом.

Правила выше можно интерпретировать так:

  • тариф «юрики» можно менять исключительно на любой из тарифов «юрики»
  • никакие иные тарифы нельзя заменить на «юрики»
  • физики не могут заказать тарифы «персональные»

Все остальное разрешено. Т.е если подключен тариф с тегом «сотрудник» (либо вообще без тегов), то он сможет выбрать любой тариф, кроме «юрики». Если в конце вы поставите правило:

deny:all:all

этим самым вы запретите любой выбор, кроме тех правил, что будут описаны выше него.

Обратите внимание, что тариф может содержать несколько тегов, поэтому можно создавать довольно сложные правила, например для «лентяев» «сотрудников» )