Лояльність та CRM
Бонуси за поповнення балансу на мережі автомийок: відсоток росте зі сумою, пороги й ставки налаштовуються без розробника. Працює через застосунок і API.
Як це влаштовано
Система лояльності мережі автомийок самообслуговування. Клієнт реєструється в застосунку й поповнює баланс, а разом із поповненням отримує бонус — відсоток, який росте зі сумою: десять відсотків на звичайне поповнення, пʼятнадцять від двохсот гривень, двадцять від трьохсот. Витрачати ці кошти можна одразу з балансу на будь-якому пості мережі.
Пороги й ставки — не константи в коді, а налаштування. Власник міняє їх сам, коли хоче провести акцію або перевірити гіпотезу, і не чекає на розробника. Це принципово: програма лояльності, яку не можна швидко змінити, перестає бути інструментом і стає технічним боргом.
Чому це складніше, ніж здається
Баланс — це гроші клієнта, і він мусить сходитись завжди. Поповнення, нарахування бонусу й списання на посту — три різні події, які трапляються в різний час і в різних місцях: у застосунку, на сервері платежів і на обладнанні мийки. Пост може втратити звʼязок посеред мийки, платіж може підтвердитись із затримкою, а клієнт може почати другу мийку, поки перша ще не закрита.
Тому кожна операція з балансом виконується рівно один раз незалежно від повторів і затримок, а розбіжність між списаним і фактично наданою послугою видно в звіті, а не через скаргу клієнта. Це та сама інженерія, що й у звірці виручки по пристроях: три джерела чисел, які ніколи не збігаються самі.
Система працює через застосунок мережі та його API — тобто логіка живе на сервері, а не в телефоні. Застосунок можна оновити, механіку змінити, а історія балансів лишається цілою.
