HandyCafe Docs
owner cashier

Замовлення

Вкладка Замовлення - це жива панель для всіх замовлень Кафетерії, які роблять ваші клієнти. Вона опитує хмару кожні 3 секунди та повідомляє про нову активність через сповіщення на робочому столі, звуковий сигнал і значок із кількістю очікуючих замовлень у заголовку вкладки.

Макет

Сторінка Замовлення має дві області:

Область Призначення
Вкладки статусів Фільтрація за станом замовлення: усі, placed, confirmed, preparing, ready, served. Скасовані та повернуті замовлення за замовчуванням приховані.
Список замовлень Одна картка на одне замовлення, згруповані від найновіших до найстаріших. На кожній картці показуються код столу, телефон клієнта, якщо його вказано, позиції, підсумки та кнопки дій.

Живе опитування

Панель Замовлення опитує /v1/cafeteria/admin/orders/poll кожні 3 секунди. Кожне нове замовлення викликає:

  1. Сповіщення на робочому столі з кодом столу та кількістю позицій.
  2. Звуковий сигнал на динаміках сервера, якщо звукові сповіщення ввімкнені в Налаштування > Кафетерія.
  3. Збільшення значка очікуваних замовлень на вкладці Замовлення.
  4. Автоматичний друк чека, якщо принтер налаштовано на Автодрук при новому замовленні.

Значок залишається видимим, доки кожне замовлення зі статусом placed або confirmed не буде переведене в пізніший стан або прибране. Значок глобально видно в розділі Кафетерія на бічній панелі, тож не потрібно тримати вкладку Замовлення відкритою.

Життєвий цикл замовлення

Кожне замовлення проходить визначену послідовність станів.

Стан Значення
placed Клієнт надіслав замовлення. Персонал ще нічого не робив.
confirmed Персонал підтвердив замовлення.
preparing Кухня готує замовлення.
ready Замовлення готове до подачі або видачі.
served Замовлення вже доставлено клієнту.
cancelled Замовлення скасоване персоналом. Воно прибирається з живих переглядів, але залишається в історії.
refunded Після оплати було зроблено повернення коштів.

Панель дій на кожній картці показує наступний доступний стан. Переведення робиться в один клік. Інтерфейс використовує optimistic update: новий статус показується одразу. Якщо сервер відхиляє зміну, статус повертається назад і з'являється повідомлення про помилку.

Статус окремих позицій

У деяких замовленнях є кілька позицій, які завершуються в різний час. Наприклад, бургер готовий раніше за піцу. Статус окремих позицій дає змогу відстежувати кожен рядок окремо.

Кожна позиція має власний випадаючий список із п'ятьма варіантами: placed, preparing, ready, served, cancelled. Кожна позиція також має три часові мітки:

  • created_at встановлюється, коли замовлення надходить.
  • ready_at встановлюється вперше, коли позиція переходить у ready.
  • served_at встановлюється, коли позиція переходить у served.

Меню для клієнтів показує значок поруч із кожним рядком, щоб клієнт бачив, які позиції вже готові або вже в дорозі.

Скасування замовлення

  1. Відкрийте картку замовлення.
  2. Натисніть Скасувати.
  3. Підтвердіть у діалозі, що з'явиться.
  4. Замовлення переходить у стан cancelled. Воно залишається в історії, але зникає з типової живої панелі.

Скасування - це дія на все замовлення. Щоб скасувати лише один рядок, змініть статус цієї позиції окремо на cancelled.

Розрахунок (Закрити рахунок)

Розрахунок закриває всі відкриті замовлення на столі одним кроком. Використовуйте це, коли клієнт іде і хоче сплатити весь рахунок.

  1. Відкрийте стіл зі сторінки Столи або з меню дій Плану залу.
  2. Натисніть Закрити рахунок.
  3. Модальне вікно покаже всі замовлення на столі, які ще не мають статусу served.
  4. Оберіть спосіб оплати. Варіанти: Cash, Card, Online, Other.
  5. Підтвердіть.

Сервер виконує такі дії атомарно:

  • Кожне відкрите замовлення на столі переходить у served зі статусом оплати payment_status=paid.
  • Створюється запис cafeteria_settlements із загальною сумою, способом оплати та часом створення.
  • Створюється аудитний слід settlement-orders, який показує, які замовлення належать до цього розрахунку.
  • Код безпеки столу спливає, тож QR стає недійсним.
  • Стіл повертається в стан idle.

Якщо ви обрали Online як спосіб оплати, запис розрахунку позначається як оплачений онлайн. Ця дія не запускає окремий списаний платіж Stripe. Онлайн-оплата з боку клієнта обробляється під час оформлення замовлення; дія розрахунку лише фіксує рух коштів у вашому обліку.

Таймер відкриття

Кожен стіл має мітку часу opened_at, яка встановлюється, коли клієнта садять за стіл. Сторінки План залу та Столи показують живий таймер від цього моменту. Це допомагає персоналу помічати столи, які довго сидять без замовлення, або столи, що наближаються до завершення сеансу.

Таймер скидається до нуля при Закрити стіл або Закрити рахунок.

Показ динамічного часу приготування

Коли для товару активний динамічний час приготування, на картці замовлення оцінка показується поруч із назвою позиції. Персонал бачить цю оцінку навіть тоді, коли перемикач Показувати час приготування в меню вимкнено для клієнтів.

Оцінка оновлюється щоразу, коли надходить нове замовлення, і щоразу, коли замовлення завершується. Система навчається на фактичному темпі вашої кухні.

Поведінка сповіщень про нові замовлення

Сповіщення спрацьовують на рівні всього застосунку, а не окремої вкладки. Це означає, що ви отримуєте попередження, коли переглядаєте іншу частину сервера HandyCafe, наприклад Панель адміністратора або Налаштування. Звукове сповіщення вмикається або вимикається через Налаштування > Кафетерія > Звукове сповіщення.

Для показу сповіщень на робочому столі операційна система має дозволити HandyCafe надсилати сповіщення. Якщо після нового замовлення ви не бачите сповіщення, перевірте налаштування сповіщень ОС.

Поради

  • Використовуйте вкладки статусів, щоб розподілити роботу. Один екран, відфільтрований за preparing, показує чергу кухні. Інший екран на ready показує те, що потрібно видати.
  • Закрити рахунок - найшвидший спосіб закрити стіл. Використовуйте Скасувати для окремих замовлень лише тоді, коли сталася явна помилка.
  • Навчіть персонал послідовно переводити статуси. Динамічний оцінювач часу приготування вчиться на цих сигналах, тож пропуск станів знижує його точність.
  • Періодично перевіряйте скасовані та повернуті замовлення через адміністративний endpoint, щоб помічати типові помилки персоналу.