11.4. Зависимость стоимости от объема

Рассмотрим пример, когда первые 10 МБ входящего трафика будут идти по 1 руб., следующие 10 МБ - по 2 руб., а оставшиеся - по 3 руб.

Совершенно аналогично можно создать тарифный план с предоплаченным трафиком. В первом узле типа Диапазон указывается нулевая стоимость. Для начисления за предоплаченный трафик в модуле абонплат устанавливается абонентская плата.

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

Таблица 14.2. Логика работы узла

За периодРежимОцениваемаемый объём услугиКвота
за деньбезусловноОбъём услуги за сутки.Квота = Квота базовая.
за месяцбезусловноОбъём услуги за период действия тарифа в месяце.Квота = Квота базовая.
за месяцпропорционально периоду разрешённой услугиОбъём услуги за период действия тарифа в месяце.Квота = Квота базовая * (Количество дней с разрешённой услугой в месяце / Количество дней в месяце).
за месяцпропорционально периоду действия тарифаОбъём услуги за период действия тарифа в месяце.Квота = Квота базовая * (Количество дней действия тарифа в месяце / Количество дней в месяце).
за месяцпропорционально периоду действия тарифа (с учётом приостановленных статусов)Объём услуги за период действия тарифа в месяце.Квота = Квота базовая * (Количество дней действия тарифа в месяце с не приостановленными статусами / Количество дней в месяце).
за учётный периодбезусловноОбъём услуги за период действия тарифа в учётном периоде.Квота = Квота базовая.
за учётный периодпропорционально периоду разрешённой услугиОбъём услуги за период действия тарифа в учётном периоде.Квота = Квота базовая * (Количество дней с разрешённой услугой в учётном периоде / Количество дней в учётном периоде).
за учётный периодпропорционально периоду действия тарифаОбъём услуги за период действия тарифа в учётном периоде.Квота = Квота базовая * (Количество дней действия тарифа в учётном периоде / Количество дней в учётном периоде).
за учётный периодпропорционально периоду действия тарифа (с учётом приостановленных статусов)Объём услуги за период действия тарифа в учётном периоде.Квота = Квота базовая * (Количество дней действия тарифа в учётном периоде с не приостановленными статусами / Количество дней в учётном периоде).

Если клиент исчерпает разрешённые в тарифном плане объёмы, тарификация прекратится и услуга более ему не будет предоставляться. Таким образом, можно создавать ограничивающие тарифные планы. Ниже приведён пример плана, разрешающего потреблять клиенту 5МБ в течение суток.

Логика работы узла Диапазон следующая:

В запросе узел получает количество услуги amount, которое необходимо протарифицировать.
Оценивается текущее значение счётчика услуги в узле для данного договора и квота, в данном узле может быть протарифицирован объём MIN (amount, КВОТА - ТЕК. ЗНАЧЕНИЕ). Если в данном узле значение счётчика ещё не достигло квоты, то запрос посылается внутрь узла, откуда должна возвратиться стоимость единицы услуги узлом Стоимость услуги и быть установлен флаг акцепта. Возможный объём тарифицируется, значение amount в запросе уменьшается, увеличивается значение параметра ответа costAmount.
Текущее значение счётчика для договора в узле увеличивается отдельным запросом после запроса получения цены. Передаётся тарифный init запрос с протарифицированным объёмом услуги amount и узлы последовательно "разбирают" объём наработки, увеличивая счётчики.

По итогам обработки тарифного запроса RADIUS либо процесс переобсчёта реагируют либо на параметр costAmount в тарифном ответе, либо на cost и divisor (устанавливает узел Стоимость услуги). Поэтому при оценке услуги диапазонами недопустимо размещать цену вне диапазона. Например, вместо такого тарифа.

Недопустимо определять цену по умолчанию следующим образом.