Тарифы судного дня

Позволяют:

  • Гибко управлять жизненным циклом тарифов
  • Автоматически планировать мигрирацию пользователей между тарифами
  • Блокировать случайные изменения тарифов пользователям для которых уже запланирована смена
  • Опционально начислять абонплату по текущему тарифу
  • Опционально устанавливать кредит пользователям, чтобы они продолжали работу
  • Жизненный цикл тарифов может происходить в месяцах или днях
  • Исправлять персоналу свои ошибки на протяжении какого-то времени
  • Просматривать отчет о том, когда и по какому поводу это все происходило

Включение

Важно! для работы модуля обязательно требуется настроенный и работающий Живи с этим.

Для нормальной работы тарифов судного дня требуются две опции alter.ini:

DEALWITHIT_ENABLED=1
DDT_ENABLED=1

а также два соответствующих вызова Remote API

10 2 * * *    /bin/ubapi "dealwithit"
42 * * * *   /bin/ubapi "ddt"

Настройка

Вся конфигурация в дальнейшем производится при помощи следующего модуля

Объясним на нетривиальном примере. У вас имеется тариф Fire-5 стоимостью 100 денег. Вы хотите, чтобы он был доступен пользователям сроком на три месяца, после чего они должны быть переведены на тариф Unlim-5 стоимостью 150 денег. Вот такая вот чудесная акция с целью повышения лояльности вашей абонбазы.

Также вы хотите, чтобы при подключении данного тарифа если текущее число месяца меньше 25-го была начислена абонплата (после 25-го не крохоборствуем и считаем для себя, что 5 дней интернета не стоят 100 денег) соответственно тарифа Fire-5 в размере 100 денег и в случае если у абонента будет после этого недостаточно денег для продолжения работы, ему был установлен кредит до конца месяца на недостающую сумму (ну допустим это новый абонент, и он должен оплатить услугу до конца месяца).

Сложно, правда? Но вполне возможно что вам именно хочется это делать и автоматизировать. Вот как это должно выглядеть:

И собственно результат:

Следует также заметить, что чекбокс «Учитывать текущий период» влияет на то, будет ли рассчитываться дата смены тарифа на тариф, который «Перевести на тариф после окончания периодов» исходя из «от текущего периода» (в данном случае месяца) или уже начиная со следующего, а в текущем будем считать что пользователя как-бы «не было».

Далее при установке одного из тарифов описанных в справочнике «Тарифы судного дня» будет показано уведомление, что для этого пользователя будет запланировано изменение тарифного плана соответственно с назначенным тарифу судным днем

Что дает возможность, в случае «если пользователь передумал» или «оператор ошибся» быстренько изменить свое решение и изменить выбор тарифа на требуемый. По прохождению какого-то времени, в зависимости от периодичности вызов ddt из RemoteAPI для пользователя будет запланирован переход на требуемый тариф, и операции ручного изменения тарифа будут заблокированы. Планирование задачи на смену тарифа, будет происходить в случае только если для пользователя небыло ранее запланировано ниодной задачи на смену тарифа. Возможно у вас уже есть пользователи которым вы уже что-то запланировали ранее в этом контексте и тарифы судного дня будут их просто игнорировать.

Что будет также отражено в соответствующих отчетах по «Тарифам судного дня» и «Живи с этим»

Стоит заметить, что в отчете «История» тарифов судного дня, поле «Дата» обозначает дату и время когда пользователь был «замечен» на одном из тарифов судного дня а «Дата окончания» обозначает дату когда будет произведена смена тарифа. Для тарифов судного дня с периодичностью «Месяц» это будет всегда последний день требуемого месяца, для того, чтобы Stargazer смог нормально начислить абонплату уже по новому тарифу. Для тарифов с периодичностью «День» дата смены тарифного плана будет установлена на конкретный день месяца в будущем посчитанным по принципу «текущая дата/завтрашний день + длительность*дней».

Результат чего можно увидеть в отчете по задачам «Живи с этим»

Учитывая предыдущую конфигурацию нашего тарифа судного дня в виде Fire-5, у абонента на счету было 92 денег, и ему было начислено 100 денег за текущий период использования тарифа Fire-5.

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

В случае, если «Периодичность» у тарифов судного дня установлена в «День» кредит, в случае включения соответствующей опции будет установлен на 3 дня.

Сложно? Не понятно?

Давайте разберем другой, чуть более часто встречающийся кейс. У вас есть тариф Zamanuha для новых пользователей за 50 денег. По прошествии 12 месяцев пользователь должен быть переведен на «нормальный» тариф Dorogo за 200 денег.

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

Точно таким же образом вы можете строить цепочку переходов пользователей по тарифам какой угодно длины. Количество возможных тарифов судного дня никак не лимитировано. То есть вы можете запланировать пользователю смену тарифов по принципу «Тариф1, 2 месяца → Тариф2, 60 дней → Тариф3 6 месяцев» или что угодно другое ограниченное только вашей фантазией. Также вы всегда можете увидеть полную историю судных дней пользователя при помощи соответствующей иконки в «Черной магии».

Как это все происходит?

При каждом вызове ddt из RemoteAPI тарифы судного дня пробегают весь список пользователей, находят пользователей для тарифа которых назначен судный день и в случае если для них еще не запланирована задача в «Живи с этим» считают время смены тарифа, в случае если установлены соответствующие опции проводят начисление АП и кредитование и вносят время когда был замечен пользователь в «историю». Дальше смена тарифа будет происходить сама собой уже средствами «Живи с этим».

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

Зачем все это?

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

А можно просто установить пользователю требуемый тариф и забыть о нем. Вот для этого, да.

doomsdaytariffs.txt · Последние изменения: 2019/04/12 12:07 — nightfly
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki