Логическая структура биллинга

В системе BGBilling можно выделить следующие основные подсистемы:

  • ядро системы;

  • плагины ядра;

  • модули.

Ядро системы выполняет следующие функции:

  • подключение модулей и плагинов;

  • ведение перечня услуг;

  • ведение справочников;

  • ведение базы договоров;

  • ведение базы объектов;

  • ведение баланса договоров, истории приходов/расходов;

  • СРД - система разграничения доступа пользователей к функциям ядра, плагинов и модулей;

  • некоторые дополнительные функции.

Плагины - это программные компоненты, расширяющие функционал ядра.

Плагины инсталлируются в систему и могут быть активированы/деактивированы администратором в меню Плагины=>Настройка плагинов. После инсталляции в систему плагины нельзя удалить, можно только деактивировать. Потребность в отключении плагина может возникнуть, например, при истечении тестового периода лицензии на плагин.

При отсутствии лицензии на активный плагин система будет выдавать предупреждения.

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

Экземпляры модулей и перечни услуг в них создаются администратором в меню Модули=>Редактор модулей и услуг. Экземпляры модулей могут быть впоследствии удалены вместе со всеми данными.

Отличия плагинов и модулей в следующем:

  1. плагины никогда не предоставляют функционала по тарификации услуг, соответственно, услуг в плагинах нет;

  2. плагины не подключаются к договору в явном виде посредством услуг как модули, они существуют глобально в системе;

  3. один и тот же модуль, в отличие от плагина, может быть создан в биллинге в нескольких экземплярах (например, вы можете создать DialUp и VPN модули как 2 экземпляра модуля DialUp).

Услуга - способ разделения наработки договора по типам. Например, в модуле DialUp могут быть определены услуги: Входящий трафик, Исходящий трафик, Время. Наработка в договоре будет начислена с разбиением по данным услугам.

Договор - это ключевое понятие системы. В терминах BGBilling договор - это отдельная сущность, содержащая набор параметров, подключённых к нему модулей и тарифного плана, по которым услуги модулей тарифицируются. Каждый договор обладает отдельным балансом.

Баланс представляет из себя остаток на счету договора, историю его платежей и расходов (списаний). Подключённые к договору модули начисляют в баланс наработку по различным услугам, уменьшая исходящий остаток. Баланс в системе ведётся помесячно для всех договоров, т.е. по истечении каждого месяца исходящий остаток баланса переходит на следующий месяц.

Биллинг работает в единой валюте, мультивалютность не поддерживается.