Модуль приостановки услуг

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

Описание

Позволяет клиенту приостановить все его услуги на определенный срок (ему дается выбор количества дней, которые настраиваются). В результате:

  • Будут отключены все услуги
  • На счет будет возвращена сумма, пропорциональная неиспользуемому времени каждой услуги
  • Через заданное время автоматически будут подключены все отключенные услуги

Нюанс: услуги будут подключены на полное время и полную стоимость. Например, у пользователя подключена услуга «Интернет 100мб» стоимостью 30$ и длительностью 30 дней. На 5й день пользователь ее приостанавливает на 3 дня. В результате на счет возвращается 25$. Через 3 дня услуга автоматически восстанавливается на срок 30 дней и списывается 30$.

В итоге клиент пользовался услугой 35 дней и заплатил за это 35$. Т.е по 1$ за день, точно так же как если бы не было приостановки.

Настройка

В разделе «Модули» → «Приостановление услуг»:


В разделе «Кабинет клиента» в поле «Список плагинов в порядке отображения в меню» добавляем строку «stop_service». Если необходимо, чтобы пункт меню был доступен только для определенных групп абонентов, читаем о настройке меню.

В результате в личном кабинете клиента появится пункт меню «Приостановка услуг», при нажатии на которую будет выведено примерно следующее:




После выбора периода появится следующее:

Нюансы

  • При приостановке услуг, в таблице платежей (pays) создается событие с категорией 204. Необходимо запустить модуль ядра stop_service чтобы он мониторил эти события и по ним восстанавливал услуги.
  • Если вы удалите событие с категорией 204, это будет корректно - услуги не будут восстановлены, при этом все денежные операции корректны и в случае восстановления и без него.
  • Если при восстановлении услуги окажется, что эта же услуга (или иная из данного модуля) уже подключена - дубликат не будет подключен. Т.е. если абонент приостановит услугу «100 мбит», подключит «50мбит» - через время «100 мбит» не будет подключена параллельно «50мбит». Событие восстановления будет помечено как выполненное.