На счёте клиента 350 бонусов. Потратить 350 нельзя.
В боте для такси списание работает только сотнями. Значит, доступны 300 бонусов, а оставшиеся 50 сохраняются до следующей поездки.
Это выглядит мелочью, пока не начинаешь собирать всю логику:
один балл равен одному рублю, размер кэшбэка зависит от статуса клиента, статус пересматривается раз в квартал, а после поездки нужно отдельно посчитать бонусы и комиссию.
Обычная программа лояльности быстро превращается в маленькую финансовую систему. Если где-то округлить сумму не в ту сторону или дважды обработать заказ, баланс перестанет сходиться.
Поэтому я люблю проверять такие проекты на неудобных цифрах: 350 бонусов, поездка на 1 990 рублей, переход между статусами.
На круглых примерах почти любая система выглядит исправной.
