Состояние оплаты абонента определяется на основе присутствия у него тарифного плана,
если тариф есть - то значит всё оплачено (абонент его купил) и может пользоваться услугами.
Тарифный план имеет срок действия и стоимость. Его можно купить как билет :)


Тарифный план, у которого есть дата начала является активным


Свою логику расчёта по тарифу можно добавить в файле tariff_app/custom_tariffs.py
Там надо добавить класс, наследованный от TariffBase и реализовать его абстрактные методы,
потом добавить этот класс в кортеж TARIFF_CHOICES указав:
    код из 2х букв, сочетание должно быть уникальным
    и ваш класс для своей логики расчёта тарифа

ВАЖНО! Для отработки своевременного выключения услуги, время на сервере биллинга и шлюза должно быть настроено точно.

Таблицу кеша статистики лучше сделать в памяти т.к. будет часто обновляться
ALTER TABLE flowcache ENGINE=MEMORY;
