Логическая структура биллинга
В системе ABilling можно выделить следующие основные подсистемы:
-
ядро системы;
-
плагины ядра;
-
модули.
Ядро системы выполняет следующие функции:
-
подключение модулей и плагинов;
-
ведение перечня услуг;
-
ведение справочников;
-
ведение базы договоров;
-
ведение базы объектов;
-
ведение баланса договоров, истории приходов/расходов;
-
СРД - система разграничения доступа пользователей к функциям ядра, плагинов и модулей;
-
некоторые дополнительные функции.
Плагины - это программные компоненты, расширяющие функционал ядра.
Плагины инсталлируются в систему и могут быть активированы/деактивированы администратором в меню Плагины⇒Настройка плагинов. После инсталляции в систему плагины нельзя удалить, можно только деактивировать. Потребность в отключении плагина может возникнуть, например, при истечении тестового периода лицензии на плагин.
При отсутствии лицензии на активный плагин система будет выдавать предупреждения.
Модули - это программные компоненты, расширяющие функционал ядра и предоставляющие, обычно, функционал связанный с тарификацией тех или иных услуг в биллинге.
Экземпляры модулей и перечни услуг в них создаются администратором в меню Модули⇒Редактор модулей и услуг. Экземпляры модулей могут быть впоследствии удалены вместе со всеми данными.
Отличия плагинов и модулей в следующем:
-
плагины никогда не предоставляют функционала по тарификации услуг, соответственно, услуг в плагинах нет;
-
плагины не подключаются к договору в явном виде посредством услуг как модули, они существуют глобально в системе;
-
один и тот же модуль, в отличие от плагина, может быть создан в биллинге в нескольких экземплярах (например, вы можете создать DialUp и VPN модули как 2 экземпляра модуля DialUp).
Услуга - способ разделения наработки договора по типам. Например, в модуле DialUp могут быть определены услуги: Входящий трафик, Исходящий трафик, Время. Наработка в договоре будет начислена с разбиением по данным услугам.
Договор - это ключевое понятие системы. В терминах ABilling договор - это отдельная сущность, содержащая набор параметров, подключённых к нему модулей и тарифного плана, по которым услуги модулей тарифицируются. Каждый договор обладает отдельным балансом.
Баланс представляет из себя остаток на счету договора, историю его платежей и расходов (списаний). Подключённые к договору модули начисляют в баланс наработку по различным услугам, уменьшая исходящий остаток. Баланс в системе ведётся помесячно для всех договоров, т.е. по истечении каждого месяца исходящий остаток баланса переходит на следующий месяц.
Биллинг работает в единой валюте, мультивалютность не поддерживается.