// Формат общения NAS с базой [ { "toa": 1, /* Тип события: 0 - ничего не надо (пустое) 1 - Активировать клиента (включить его) 2 - Выключить клиента 3 - Поставить заглушку 4 - Открыть доступ в интернет 5 - Закрыть доступ в интернет 6 - Перечитать всю инфу (полная перезагрузка NAS) 7 - Изменилась инфа об абоненте, переприменить его */ "id": 12, // ID объекта о котором событие (абонент там, или тариф) "dt": "data" // Разная инфа, содержимое зависит от поля 'toa' }, { "id": 13, "toa": 3 } ] // Формат передачи инфы об абонентах { "subscribers": [ { "is_active": true, // Активен-ли абонент "ip": 168558850, // Его ip "tarif_id": 1, // id тарифа "id": 2 // id абонента }, { "is_active": true, "ip": 168558850, "tarif_id": 1, "id": 2 } ], "tariffs": [ { "tid": 1, // id тарифа "amount": 0.0, // стоимость "speedOut": 0.0, // Исходящая скорость "speedIn": 0.0 // Входящая скорость } ] } ------------------------------- Состояние оплаты абонента определяется на основе присутствия у него тарифного плана, если он есть - то значит всё оплачено (абонент его купил) и может пользоваться услугами. Тарифный план имеет срок действия и стоимость. Его можно купить, как билет в интернет :) ТАРИФНЫЙ ПЛАН С НАИМЕНЬШИМ ЧИСЛОМ ПРИОРИТЕТА ИМЕЕТ НАИВЫСШИЙ ПРИОРИТЕТ В общем чем ближе приоритет к 0 тем он выше 0 - текущий тариф Свою логику расчёта по тарифу можно добавить в файле tariff_app/custom_tariffs.py Там надо добавить класс, наследованный от TariffBase и реализовать его абстрактные методы, потом добавить этот класс в кортеж TARIFF_CHOICES указав: код из 2х букв, сочетание должно быть уникальным и ваш класс для своей логики расчёта тарифа