Раздел собирает ошибки кассы iiko, не относящиеся напрямую к печати чека, оплате бонусами или отображению бонусов: ошибка десериализации с «завязшей» транзакцией, ошибка 495, поиск карты на кассе.
Симптом. При попытке отредактировать заказ после пречека касса выдаёт «Remarked server error: ошибка десериализации ответа сервера» (код 3813).
Причина. Транзакция застряла в неверном статусе — ошибка возникает при попытке редактировать заказ после выполнения пречека. Нужно скорректировать статус транзакций гостя в БД и пересоздать заказ.
Решение.
Получить данные гостя — запросить номер телефона или номер карты лояльности.
Найти гостя в ЛК — раздел «Гости», ввести номер, открыть профиль, скопировать ID из адресной строки.
Пример: https://cabinet.clientomer.ru/211303/guests.detail/id_48961144 → ID: 48961144.
Найти транзакции гостя в БД (таблица loyalty_transactions):
SELECT *
FROM loyalty_transactions
WHERE guest_id IN (48961144);
48961144 заменить на актуальный ID гостя.
Обновить статус транзакции. Найти нужную транзакцию (ориентироваться на сумму — при неясности запросить сумму заказа или фото; обычно нужная транзакция самая последняя в списке). В поле status изменить статус canceled_pre (или аналогичный canceled) на pre.
Отменить пречек и удалить гостя из заказа. Попросить клиента отменить пречек (иначе транзакция снова вернётся в ошибочный статус), затем удалить гостя из заказа — это отвяжет ошибочный заказ от гостя.
После этого заказ можно отредактировать, повторно внести гостя, выбить пречек и закрыть заказ по инструкции.
ВАЖНО для клиентов с 2ФР. После отмены пречека может появиться ошибка «Оплаченные скидки нельзя удалять». Это значит, что после разделения заказа на Бар и Кухню одна из частей была закрыта, и в таблице транзакций у неё статус
success. Чтобы полностью отменить пречек, эту транзакцию также нужно перевести в статусpre. Подсказка: у транзакций из одного заказа одинаковыйext_id.
Крайний случай (если отмена пречека и отвязка гостя не помогают закрыть заказ):
Симптом. Касса выдаёт ошибку 495 «List index out of bounds» (отложенная транзакция).
Решение.
Найдена отложенная транзакция: order_guid={...}.loyalty_transactions найти эту транзакцию и изменить статус canceled / pre_canceled на pre.Симптом. Клиент сообщает, что не может найти гостя по номеру карты на кассе.
Важно. Убедиться, что открыт интерфейс ReMarked Loyalty, а не штатный интерфейс кассы iiko. Чекинить гостя при работе с ПЛ ReMarked нужно через кнопку «Дополнения» → «ReMarked Loyalty» в левом нижнем углу.
Решение. Проверить гостя в CRM. Если гость существует и карта привязана, сообщить клиенту:
«Проверил в CRM-системе гостя с картой <№ карты> — гость существует, карта привязана: <ссылка на гостя>. По какой причине карта не ищется на кассе — необходимо уточнить у поддержки iiko. Также обращаю внимание, что при использовании ПЛ ReMarked чекинить гостя необходимо через кнопку "Дополнения" → "ReMarked Loyalty" в левом нижнем углу».