Раздел описывает логические ошибки программы лояльности: некорректное начисление бонусов, неработающее списание, суммирование кошельков, округление и спорные кейсы по условиям ПЛ. Большинство таких ситуаций — не сбои, а корректная работа системы по настроенным условиям; задача поддержки — проверить условия и объяснить клиенту.
Симптом. Несколько кошельков гостя не складываются в общий баланс.
Решение.
https://cabinet.clientomer.ru/[point_id]/wallets.types/.first_visit_bonuses → проверить галку «Считать в общий баланс».LoyaltyScripts::reloadBonusesBalanceV2.Симптом. Бонусы к списанию не отображаются.
Причина. Частый случай — пробивают блюда, не выбранные для списания.
Общее правило. Если что-то не начисляется/списывается, проверять:
Симптом. У гостя есть заказ, но бонусы не начислены, либо скидка отображается неверная.
Если нет бонусов:
loyalty_transactions — для начисления бонусов по заказу обязательно должна быть транзакция.Если скидка некорректная (клиент ждёт 10%, а отображается N%):
Расчёт ведётся по каждой позиции отдельно, а не над всем заказом:
окрвниз(290*0,05) + окрвниз(980*0,05) + окрвниз(230*0,05) + ... = 14 + 49 + 11 + ... = 238
Это намеренное поведение системы — не меняется.
Симптом. Клиент утверждает, что гостю начислены бонусы, не соответствующие условиям ПЛ.
Диагностика.
Пример. По категории 5% + по ДР 20% = 25% — это корректное поведение системы.
Симптом. Клиент утверждает, что начислен кэшбэк 25%, что не соответствует условиям ПЛ.
Решение. Проверить условия ПЛ — обычно «лишний» процент складывается из двух начислений:
Итого 25% — корректное суммирование. Если клиент не согласен с условиями — запросить ТЗ на обновление условий ПЛ и сформировать задачу по инструкции.
Симптом. Клиент сообщает, что гостю начисляются бонусы за заказы, хотя по условию должно быть только списание.
Диагностика.
Ответ клиенту (пример). На момент заказа от 05.06.2025 у гостя действовала категория «Gold» — по ней сработало условие накопления бонусов. 17.06.2025 категория «Gold» была снята сотрудником (логин AdmZanini).
Симптом. В ЛК заказ отображается, но начисленные бонусы за него не видны (при этом во вкладке «Бонусы по ПЛ» бонусы есть).
Причина. Используется «Версия API: №1» в интеграции продаж.
Решение. Переключить на «Версия API: №2» → перезагрузить продажи → проверить. Если не помогает — сообщить клиенту, что со стороны iiko нужно перейти на «API Olap V2.0».
Подробнее — см. iiko / «ошибки-отображения-бонусов.md».
Симптом. Ошибка, связанная с именованием номенклатуры.
Причина. PHP-функция empty() возвращает true для пустых строк, 0 и NULL — отсюда ложное срабатывание при пустых/нулевых значениях наименования.
Диагностика. Использовать https://jsonformatter.org/json-parser для разбора JSON.