Управление лимитом

Данная функция аналогична функции "Обещанного платежа" других биллинговых систем.

Управление лимитом доступно только договорам с режимом Дебет

Для активации необходимо добавить в конфигурацию биллинга один или несколько блоков записей вида.

# Коды групп договоров, для которых действует данная настройка, через ',' ( код группы - это столбец id в справочнике групп)
contract.limit.<n>.groups=
# Максимальное количество не оплаченных (не возвратившихся) понижений,
# при котором клиенту будет доступно понижение, при 0 клиент не сможет выполнять
# понижение до тех пор пока будет хотя бы одно не оплаченное
contract.limit.<n>.maxnotpayoffed=
# Максимальное количество частично оплаченных понижений,
# при котором клиенту будет доступно понижение (0-1, частично оплаченное понижение
# может быть только одно)
contract.limit.<n>.maxpartialpayoffed=
# Количество просроченных платежей после последней разблокировки,
# после которых доступ к понижению будет заблокирован, 0 - не блокировать при любом количестве
contract.limit.<n>.maxexpiredforblock=
# Дни от до
contract.limit.<n>.mindays=
contract.limit.<n>.maxdays=
# Сумма от до
contract.limit.<n>.minsumm=
contract.limit.<n>.maxsumm=
# Нижний порог лимита при понижении клиентом (по умолчанию -100),
# т.е ниже этого порога клиент понизить не сможет
contract.limit.<n>.minlimit=

Где: <n> - целое число, начинающееся с 1, определяющее блок конфигурации для определённых групп договоров.

Например, настройка понижения лимита для групп договоров с кодами 1 или 2:

# Коды групп договоров для которых действует данная настройка, через ',' ( код группы - это столбец id в справочнике групп)
contract.limit.1.groups=1,2
# Максимальное количество не оплаченных(не возвратившихся) понижений,
# при котором клиенту будет доступно понижение, при 0 клиент не сможет выполнять
# понижение до тех пор пока будет хотя бы одно не оплаченное
contract.limit.1.maxnotpayoffed=0
# Максимальное количество частично оплаченных понижений,
# при котором клиенту будет доступно понижение (0-1, частично оплаченное понижение
# может быть только одно)
contract.limit.1.maxpartialpayoffed=0
# Количество просроченных платежей после последней разблокировки
# после которых доступ к понижению будет заблокирован, 0 - не блокировать при любом количестве
contract.limit.1.maxexpiredforblock=1
# Дни от до
contract.limit.1.mindays=1
contract.limit.1.maxdays=4
# Сумма от до
contract.limit.1.minsumm=100
contract.limit.1.maxsumm=200
# Нижний порог лимита при понижении клиентом (по умолчанию -100),
# т.е ниже этого порога клиент понизить не сможет
contract.limit.1.minlimit=-400

Используя блоки, настройки управления лимитом можно задать различными для разных групп договоров. Разумеется, группы блоков не должны пересекаться.

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

images/download/attachments/43385166/x_204.gif

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

В случае, если лимит возвращается в исходное состояние задачей, понижение отмечается как просроченное, максимально допустимое количество просроченных понижение устанавливается в конфигурации.

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

Если платежа хватает на погашение понижения с избытком, система ищет следующий непогашенный платёж, расходуя на него остаток платежа, и т.д. Все понижения могут быть погашены как одним так и серией платежей.

Понижение лимита доступно только при следующих условиях:

  • количество уже сделанных не погашенных понижений меньше либо равно переменной contract.limit.<n>.maxnotpayoffed конфигурации блока;

  • количество просроченных понижений меньше или равно переменной contract.limit.<n>.maxexpiredforblock конфигурации блока;

  • количество частично оплаченных платежей меньше или равно переменной contract.limit.<n>.maxpartialpayoffed конфигурации блока.

В случае, если понижение недоступно, пользователь увидит страницу следующего вида.

images/download/attachments/43385166/kernel_limit_1.gif

В момент понижения система также контролирует следующие условия:

  • количество дней на которое понижается лимит должно быть от contract.limit.<n>.mindays до contract.limit.<n>.maxdays;

  • сумма понижения должна быть от contract.limit.<n>.minsumm до contract.limit.<n>.maxsumm;

  • в результате понижения лимит не должен стать менее, чем contract.limit.<n>.minlimit.

Оператор биллинга может индивидуально управлять доступом договора к сервису временного понижения лимита через вкладку Web=>Управление лимитом договора.

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

images/download/attachments/43385166/x_299.gif

На вкладке Статистика отображается история понижений лимита. Количество просроченных платежей сбрасывается каждый раз при активации возможности понижения лимита для договора. Таким образом, если возможность блокируется для договора системой, повторная активация администратором сбрасывает счётчики.

images/download/attachments/43385166/x_300.gif