====== Подписки (Услуги) ======
{{:mikbill:services:subscription_proper.jpg?1000 |}}
\\ Подписки вводились в биллинг с целью удовлетворить множественные потребности оказания услуг различных уровней и комплектаций.
==== Описание параметров ====
\\ На данный момент реализовано два типа услуг:
  * **Базовые** - активируется всем абонента на тарифе, где подключена данная услуга с таким типом. 
  * **Индивидуальные** - активируется вручную сотрудником из админки или абонентом из лк.
Услугам можно задать периоды действия:
  * **ежедневно фиксировано** - каждый день до 23:59
  * **месячный** - до последнего дня месяца 23:59
Если активирована опция "как в тарифе", то период действия будет браться из логики [[admin/main/tariffs#основные|тарифа]] абонента.
Вид фактической услуги:
  * **Абонплата** - используется для снятия средств.
  * **Подарок** - используется для зачисления средств.
Так же подписки имеют условия срабатывания (услуги активируются/продляются только если абонент подходит под условия):
  * **Безусловно (всегда)** - абонплата за подписку будет сниматься всегда.
  * **Баланс >= 0 или Интернет включен** - абонплата за подписку будет сниматься только если баланс больше или равен 0 либо галочка "интернет" включена
  * **Баланс < 0 или Интернет выкл** - абонплата за подписку будет сниматься только если баланс меньше 0 или галочка "интернет" выключена
  * **Баланc >= цена подписки и Интернет вкл** - абонплата за подписку будет сниматься только если баланс больше либо равен цене подписки и галочка "интернет" включена
  * **Собственное SQL условие** - должно начинаться с "AND" или "OR". Подключенные таблицы: абоненты - u, тариф - p, настройки подписки на тарифе - spp. 
Пример SQL условия: AND u.date_birth = CURDATE()
\\ Данное условие позволит активироваться подписке только в день рождения абонента.
\\ Пример SQL условия: AND u.uid IN (SELECT uid FROM users_custom_fields WHERE `key`='ext_legal_person' AND `value`='1')
\\ Данное условие позволит активироваться подписке только если абонент - юридическое лицо.
Можно задать срабатывание услуги по определенным состояниям абонентов:
  * Обычный (должники тоже входят сюда)
  * Заморожен
  * Отключен
  * Удален
Другие параметры:
  * Группа услуги: группа подписки.
  * Приоритет услуги - позиция подписки при её обработке ( 0 - самый высокий приоритет (первой обрабатывается))
  * Middleware - выбор модуля iptv на который будут переданы данные для активации/деактивации сервиса.
  * Вид:
      * none - можно включать подписки без ограничений.
      * тариф - в рамках "группы услуги" может быть активна только одна подписка с данным видом.
      * пакет услуги - можно активировать только если есть подключенная подписка с видом "тариф"
  * Категория - информативное поле
  * Multicast ACL - .
  * Активация сотрудником - разрешает активацию услуги сотрудниками.
  * Активация абонентом - разрешает активацию услуги абонентам из лк.
  * Лояльный перерасчет - при активации или досрочном отключении услуги будет произведен перерасчет для корректировки суммы снятия/возврата.
  * Деактивация сотрудником - разрешает отключать услугу сотрудником.
  * Деактивация абонентом - разрешает отключать услугу абонентом из лк.
  * Услуга приостановлена - на время отключает услугу из списка для выбора без её удаления и открепления от тарифов (так же останавливается снятие АП по подписке)
  * Описание услуги - отображается при выборе услуги в админке и ЛК.
  * Как в тарифе - меняет логику периода действия на логику [[admin/main/tariffs#основные|тарифа]].
  * Скидка - разрешает применять параметры скидки абонента к данной подписке.
Настройки Trial:
  * Trial услуга - включает логику "триал"(временного) доступа к подписке.
  * Цена активации - стоимость активации "триал" периода.
  * Время действия - на сколько дней будет подключена триал подписка.
  * По окончании периода изменить на подписку - в конце триал доступа будет подключена выбранная подписка.
После окончания действия триал подписки с временем действия, заново подключить её нельзя
Обработка услуг запускается:
  * Для ежедневных - каждый день в 23:58
  * Для ежемесячных - каждый месяц при переходе на первое число в 00:01
==== Взаимоисключения ====
**Взаимоисключение** - при заказе текущей подписки, отключит активные подписки абонента из списка взаимосиключений.
**Пример**: У нас есть три подписки START, FILMS, PREMIUM.  В состав PREMIUM входит содержимое подписки FILMS.
**Задача**: 
Настроить так чтобы:   
  *  при заказе START отключалась PREMIUM (если активна) и при закзазе PREMIUM отключалась START (если активна)
  *  при заказе PREMIUM отключалась подписка FILMS так как PREMIUM в своем составе уже соержит FILMS
**Решение**: 
  *  Для услуги START ставим взаимосиключение для услуги PREMIUM
  * Для услуги PREMIUM ставим взаимосключение для услуг START и FILMS 
==== Взаимовключения ====
**Взаимовключения ** - при заказе подписки будет происходить проверка на то, что данная услуга не в ходит в состав уже подключенных ранее подписок. При совпадении будет писать ошибку подключения.
**Пример**: У нас есть три подписки START, FILMS, PREMIUM.  В состав PREMIUM входит содержимое подписки FILMS.
**Задача**: 
Настроить так чтобы:   
  *  не давало заказать FILMS при активной PREMIUM ,так как PREMIUM в своем составе уже содержит FILMS
**Решение**: 
  *  Для услуги FILMS ставим взаимовключение для услуги PREMIUM
==== Добавление подписки на тариф ====
=== Из интерфейса свойств подписки ===
{{:mikbill:services:subscription_add_1.jpg?400 |}}
\\ Поставить галочки напротив нужных тарифов и сохранить
----
=== Из интерфейса свойств тарифа ===
{{:mikbill:services:subscription_add_2.jpg?400 |}}
\\ В свойстве тарифа, на вкладке "подписки", поставить галочки возле нужных подписок и нажать "сохранить".
===== Переопределение параметров подписки на тарифе =====
\\ Свойства подписки можно изменить отдельно для тарифа
{{:mikbill:services:subscription_edit.jpg?400 |}}
\\ Необходимо выделить нужную подписку и нажать "редактировать" (для редактирования подписки должна быть подключена к тарифу)
\\ Параметры подписки измененные в данном окне применятся только к данному тарифу.
===== Подключение / Отключение / Состояние =====
=== Подключение ===
{{:mikbill:services:user_subscription_add_1.jpg?300 |}}
{{:mikbill:services:user_subscription_add_2.jpg?300 |}}
{{:mikbill:services:user_subscription_add_3.jpg?300 |}}
\\ Из карточки абонента нажать "добавить", выбрать подписки и нажать "сохранить".
----
=== Отключение ===
{{:mikbill:services:user_subscription_del_1.jpg?400 |}}
{{:mikbill:services:user_subscription_del_2.jpg?400 |}}
\\ Из карточки абонента выбрать подключенную подписку и нажать "удалить", подтвердив действие.
----
=== Состояние ===
{{:mikbill:services:user_subscription_status.jpg?400 |}}
\\ **Активные подписки** - подписки за которые была снята АП.
\\ **Групповые подписки** - подключенные *базовые" подписки.
\\ **Управление подписками** - подключенные *индивидуальные" подписки.
===== Продление подписок =====
\\ Обработка подписок происходит во время снятия абон. платы по тарифу.
\\ У абонентов проходящим по условиям подписка будет продлена, остальным абонентам подписку отключит до момента когда абонент снова не подойдет по условиям активации.
===== Автоматические действия =====
\\ В момент пополнения или активации интернета происходит проверка на условия активации подписок.
\\ Во время смены состояния абонента (заморозка/отключение/удаление) все текущие активные подписки абонента будут деактивированы и удалены если их работа не предусмотрена на таком состоянии абонента.
\\ Во время разморозки абонента подключенные подписки будут пересчитаны и активированы, если абонент проходит по условиям активации.
\\ При создании абонента на тарифе с подключенной базовой подпиской, такая подписка будет добавлена и активирована абоненту автоматически.
\\ При изменении тарифа подписки, которых нет на новом тарифе или свойства которых отличаются (цена, лояльный перерасчет, скидка, тип услуги), будут автоматически отключены.
===== Массовая принудительная активация =====
\\ При подключении базовой подписки, она активируется только после снятия АП.
\\ Сделано это во избежание "случайных" активаций базовых подписок на тарифе и как результат массового снятия денег у абонентов такого тарифа.
\\ Для принудительной массовой активации, воспользуйтесь кнопкой массовой активации выбранной подписки на тарифе
{{:mikbill:services:subscription_activate_tarif.jpg?400 |}}