Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації щодо оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

cumulativediscounts

Накопичувальні знижки

Починаючи з Ubilling 0.6.7 реалізовано нову механіку накопичувальних знижок. Що вона собою являє? А представляє вона з себе страшну штуку, яка щодня динамічно крутить відсоток знижки для активних користувачів, при досягненні певних умов, і нараховує відносно цього відсотка частину повної вартості поточного тарифного плану. Вся обробка здійснюється щоденним викликом відповідної дії з Remote API - cudiscounts. Дуже добре б уже після нарахування абонплати. Наприклад ось так:

1 1 * * *       /bin/ubapi "cudiscounts"

Поведінка накопичувальних знижок описується наступними опціями конфіга alter.ini в ось такому вигляді для прикладу:

  CUD_ENABLED=1
  CUD_PULLDAYS=30 
  CUD_PERCENT=1
  CUD_PERCENTLIMIT=10
  CUD_PAYID=1
  CUD_CFID="44"
  CUD_OPERATION="ADD"
  CUD_ONLY_TAGID=0

Що відбувається?

Призначено це все для опису бізнес логіки такого вигляду:

  • Абонент Василь Іларіонович справно платить протягом 30 днів CUD_PULLDAYS (ну, як мінімум, у нього все добре з балансом, його не заморожено і не відключено примусово) Можливо, він заплатив наперед - це нас не хвилює. Загалом у Василя все добре.
  • По проходженню цих самих 30 днів, йому виставляється 1 відсоток знижки CUD_PERCENT, і лічильник днів виставляється в 0. За поточним значенням відсотка знижки абоненту нараховуються кошти в розмірі 1% від вартості тарифу. Оплата буде проведена як типовий платіж (CUD_OPERATION=ADD) з типом CUD_PAYID - у нашому випадку це готівка. Так - ніхто не заважає зарезервувати під всякі такі речі якийсь особливий тип платежів. Також внесення на рахунок знижкових коштів можна оформити як “коригування балансу” за допомогою CUD_OPERATION=CORR

  • Усе, абонент Василь пішов на наступний захід у 30 днів з накопичення наступного, другого відсотка своєї знижки.
  • Через 300 днів активного використання нашої послуги Василь впирається у верхній поріг знижки в 10% CUD_PERCENTLIMIT (ну так, у нас же не благодійна організація, правда?)
  • Загалом живе собі Василь щасливо, отримуючи щомісяця на рахунок по 10% вартості свого тарифу.
  • І тут настає ситуація - гроші на рахунку Василя Іларіоновича несподівано закінчуються. З якої причини? Як завжди з трагічної. Його збив автобус. Так, на смерть, а як же ще? І він не зміг оплатити Інтернет вчасно. Що трапляється? А нічого - бонусні кошти вочевидь не нараховуються, відсоток знижки виставляється в 0 (нуль), і його невтішна вдова після поповнення рахунку знову накопичуватиме до 10% знижки впродовж 10 місяців заново. Несправедливо? Ну а як же ще - життя взагалі за своєю природою несправедлива штука.
  • А що ж з абонентом на ім'я Никодим Петрович?
  • А він постачальник якісного колумбійського кокаїну кави.
  • За це йому від нас належить довічна знижка в 20%. Як це реалізовано? А за допомогою опції CUD_CFID, що вказує ID ось такого поля профілю, типу VARCHAR, де для абонента можна вказати примусову знижку.

  • Щоразу під час обробки абонента з цим заповненим полем замість “натуральної накопичувальної” знижковий відсоток буде підмінятися на зазначений у його профілі.

Як перевіряти?

За великого бажання, про всі ці події можна дізнатися за допомогою відповідного модуля:

cumulativediscounts.txt · Востаннє змінено: 2024/04/05 15:49 повз nightfly