Заказы и оплата (r_keeper)
Как заказы из Нямбота попадают на кассу r_keeper, как выглядят разные способы оплаты и что происходит с деньгами при отмене. Проверено на боевом стенде.
Как заказ приходит на кассу#
Когда гость оформляет заказ в мини-приложении, Нямбот отправляет его на кассу r_keeper (через White Server). Заказ появляется в списке «Выбор заказа для редактирования» с составом, модификаторами и комментарием — кассир и кухня его видят сразу.
В комментарии к заказу Нямбот пишет служебные строки, чтобы персоналу было понятно, как принимать оплату и что важно по заказу: адрес, приборы, пожелания гостя.
Касса называет сумму до оплаты#
Порядок тот же, что у iiko: сначала заказ заводится в кассе, потом гость платит.
- Гость нажимает «Оформить» — Нямбот заводит заказ в r_keeper, пока без оплаты, и читает сумму, которую посчитала касса.
- Сумма совпала с той, что видел гость, — гость идёт к оплате.
- Касса посчитала иначе — гость видит окно «Заведение посчитало заказ иначе» с обеими суммами и соглашается или отказывается. Оплатить мимо окна нельзя. Отказался — заказ в кассе снимается, деньги не списаны → Расхождение с кассой.
- Касса отбила заказ (например, цена блюда не совпала с прейскурантом кассы) — гость видит «Заведение не приняло заказ. Деньги мы не списали…» и до оплаты не доходит.
Так оформляются заказы с любой оплатой, кроме двух случаев, где касса узнаёт о заказе только после оплаты:
- курьерский заказ через r_k Delivery, если доставку ведёт модуль кассы → Доставка;
- онлайн-оплата на точке без «Валюты онлайн-оплаты» в подключении кассы (см. ниже).
Если касса отказала после оплаты#
В этих двух случаях — и когда касса снимает заказ, пока гость платил, — отказ приходит уже после денег. Нямбот его не проглатывает:
- заказ отменяется, в истории — причина;
- баллы и промокод возвращаются гостю;
- при онлайн-оплате заводится задача на возврат с причиной «Касса не приняла заказ» — деньги возвращаешь ты кнопкой в СРМ (почему так);
- гость сразу получает сообщение в бот: «Заказ отменён: заведение не смогло его принять», при онлайн-оплате — «Оплату — N ₽ — вернём на ту же карту, с которой прошла оплата». На экране заказа — «Заведение не смогло принять заказ».
Курьерский заказ r_k Delivery Нямбот после отправки ждёт в кассе несколько минут. Если Delivery явно отменил заказ — это отказ кассы, всё как выше. Если заказ за это время в кассу не пришёл, заказ не отменяется: администраторы получают уведомление, что заказ не попал в кассу и его нужно пробить вручную. Если заказ пришёл, но касса завела его на другую сумму, заказ тоже не отменяется — приходит уведомление «Деньги заказа мимо кассы»: «🟠 …: заказ №… попал в кассу на … ₽, а гость оплатил … ₽. Сверь заказ в кассе: цены меню Нямбота и кассы разошлись — обнови меню и синхронизируй меню «Касса» в админке r_k Delivery» (уведомления).
Повтор после обрыва связи#
Если связь оборвалась, пока касса заводила заказ, и Нямбот отправил его повторно, второго заказа в кассе не будет: Нямбот найдёт уже заведённый.
Приём заказа кассиром: автоматически или руками#
За это отвечает одна настройка White Server: кабинет WsAdmin → твой ресторан → вкладка «Параметры создания заказа» → «Время подтверждения заказа в секундах».
| Значение | Что происходит |
|---|---|
0 (обычная настройка) | заказ принимается автоматически, сразу уходит на кухню — кассиру ничего нажимать не нужно |
больше нуля (напр. 120) | на экране кассы всплывает окно «ПРИНЯТЬ / ОТКЛОНИТЬ» с таймером на это число секунд |
🔴 Оставь 0. Касса заводит заказ, пока гость ждёт на экране оформления, а столько, сколько длится таймер кассира, гость ждать не будет. Если кассир не успел ответить, гость видит «Не получилось подтвердить заказ у заведения. Деньги мы не списали — попробуй ещё раз», а заказ, который касса заведёт позже, Нямбот снимет. Если кассир нажал «Отклонить», заказа в кассе не будет, и гость узнает об отказе на оформлении — до оплаты, деньги не списаны.
Способы оплаты#
Наличные / картой курьеру (оплата при получении)#
Деньги берёт курьер при доставке (или кассир при самовывозе) — касса ресторана в этот момент ничего не инкассирует, поэтому заказ висит с «Оплачено: 0.00».
Важно: на кассе r_keeper нал и карта при доставке выглядят одинаково. Чтобы было понятно, как принимать оплату, Нямбот пишет это прямо в комментарий заказа:
Оплата: наличными курьеруОплата: картой курьеру- (для самовывоза —
… при получении)
Оплату курьера в кассу вносит и заказ закрывает кассир, когда курьер сдал деньги, — Нямбот этого не делает: касса и деньги в ней — ответственность кассира на смене. Если доставку ведёт Нямбот, на «Доставлен» он дописывает в комментарий заказа подсказку: Нямбот: доставлен курьером Иван в 14:32 — получить 1 435 руб. наличными → Доставка, вариант 1. Самовывоз оплачивает и закрывает кассир, как раньше.
Онлайн (Яндекс.Пэй / ЮKassa)#
Гость оплачивает картой в мини-приложении — деньги уже у вас ещё до того, как заказ пойдёт на кухню. Когда оплата прошла, Нямбот вносит её в заказ кассы предоплатой:
- касса печатает нефискальный слип «Приём предоплаты»;
- «Оплачено» = сумма, «Оплатить: 0.00»;
- в комментарии —
Оплата онлайн · Яндекс.Пэй(или· ЮKassa).
При этом заказ остаётся открытым (не закрывается) — кухня его готовит, кассир видит, курьер везёт. Ничего вручную «пробивать» или закрывать по оплате не нужно — предоплата уже зафиксирована. Закрывает заказ кассир; если доставку ведёт Нямбот, на «Доставлен» в комментарии появится Нямбот: доставлен курьером Иван в 14:32 — оплачен онлайн.
Кассиру НЕ нужно повторно проводить оплату онлайн-заказа — она уже принята («Автоматическая авторизация»).
Валюта онлайн-оплаты
Предоплату касса принимает валютой, которая выбрана в подключении кассы в СРМ, в поле «Валюта онлайн-оплаты» (валюта «Оплата через WS» — где взять её GUID, описано в Доставке, шаг 4).
- При сохранении подключения Нямбот сверяет валюту с кассой: она должна быть активной, с разрешённой предоплатой и без фискального чека. Иначе сохранение откажет: «Эта валюта не подходит для онлайн-оплаты: у неё фискальный чек, нет предоплаты или её нет в кассе. Укажи валюту «Оплата через WS» — без фискального чека и с разрешённой предоплатой». Фискальный чек по онлайн-оплате уже пробил эквайринг — второй был бы лишним.
- Валюта не выбрана — онлайн-оплата на точке всё равно работает, но касса узнаёт о таком заказе только после оплаты, и её отказ приходит уже после денег (см. выше). Об этом СРМ предупреждает жёлтой плашкой — в карточке точки (над зонами доставки, если у точки есть онлайн-оплата) и в подключении кассы под полем валюты, пока оно пустое: «Не задана валюта онлайн-оплаты — касса узнаёт о заказе только после оплаты и может отклонить его уже оплаченным. Укажи валюту «Оплата через WS» в подключении R-keeper».
Отмена заказа и возврат денег#
Заказ, который касса приняла, снимает только кассир — на стороне r_keeper. Если доставку ведёт Нямбот, курьерский заказ можно отменить и в «Команде»: гость сразу получает «Отменён», а в заказ кассы уходит просьба Нямбот: отменён в 14:32 — сними заказ в кассе — снимает его кассир. Сам Нямбот снимает только то, что касса ещё не приняла: резерв, за который гость не заплатил, или заказ, который касса отбила или не подтвердила на оформлении. 🔴 Отмена деньги гостю не возвращает: при онлайн-оплате она заводит задачу на возврат, а деньги возвращает владелец кнопкой в СРМ (почему так).
Как именно отменить — зависит от того, как настроен r_keeper у ресторана:
- на кассовой станции — штатное аннулирование чека;
- в окне редактирования заказа (WSA) отдельной кнопки «Отменить заказ» нет — заказ отменяется, если убрать из него все позиции и снять предоплату, затем сохранить.
Как только заказ отменён/аннулирован в r_keeper, Нямбот в течение ~1 минуты замечает это и сам:
- переводит заказ в статус «Отменён»;
- заводит задачу на возврат (при онлайн-оплате): деньги остаются на счету ресторана, пока владелец не нажмёт «Вернуть деньги гостю» в СРМ;
- присылает гостю уведомление «Заказ отменён».
Отдельно нажимать что-то в Нямботе не нужно — отмена на стороне r_keeper зеркалится автоматически.
Отмена в «Команде» и СРМ#
В приложении «Команда» отменить можно только курьерский заказ и только если доставку ведёт Нямбот: в кассу уходит пометка «сними заказ в кассе», а администратору смены и в СРМ — уведомление «Пометка кассиру в заказе кассы», чтобы кассир её не пропустил. Самовывоз и заказы модуля доставки кассы в «Команде» только видны — их отменяют на кассе r_keeper. В СРМ кнопки отмены нет: карточка заказа там только для чтения.
Пока кассир держит заказ открытым на станции, касса не даёт его менять, и пометка ждёт. Нямбот повторяет сам, пока заказ не освободится.
Не удаляйте позиции вручную «в обход»#
Отменяйте заказ целиком одним из способов выше. Ручное удаление отдельных блюд на кассе «в обход» не заведёт задачу на возврат и рассинхронит заказ между кассой и Нямботом.
Статусы доставки: кто их ведёт#
- Доставку ведёт Нямбот — «Готов» отмечает администратор смены в «Команде» прямо из «Принят» (если касса не присылает статусы сама), «В пути» и «Доставлен» — администратор и курьер. В кассу уходят только сведения для кассира: курьер, «доставлен — получить … руб.», просьба снять отменённый заказ. Закрывает и снимает заказ кассир.
- Доставку ведёт модуль кассы — статусы «В пути» и «Доставлен» ставит курьер в CourierApp, а Нямбот зеркалит их гостю как есть. Подробнее — Доставка.
- Самовывоз ведёт касса точно так же — статусы зеркалятся гостю как есть.
⏱️ Насколько быстро обновляется статус. Смену статуса на кассе r_keeper Нямбот замечает в течение ~1 минуты (регулярно опрашивает кассу — это штатно и не требует настройки). Если тебе нужны мгновенные обновления статусов, напиши нам — такой режим можно включить дополнительно на стороне интеграции.