HandyCafe Docs
owner it-admin

План зала и столы

Редактор Плана зала - это визуальное рабочее поле для размещения столов. Вкладка Столы - это отдельный экран операций по каждому столу, где доступны детали и действия. Оба экрана работают с одними и теми же записями столов.

Этажи

Этажи группируют столы по физическому расположению, например "Главный зал", "Мезонин" или "Летняя терраса". Этажи создаются и управляются в разделе Настройки > Кафетерия.

Каждому кафе нужен хотя бы один этаж. Каждый стол всегда привязан ровно к одному этажу. Этажи можно переставлять вверх и вниз кнопками перемещения, а верхний этаж становится значением по умолчанию, когда открывается вкладка Плана зала. На странице Плана зала также есть переключатель "Все этажи", который показывает все столы в общем представлении.

Редактор Плана зала

Редактор Плана зала отображается на холсте 1200 на 720 с сеткой 10 пикселей. Столы показаны в виде фигур на своих сохраненных позициях. Редактор поддерживает два режима отображения:

Режим Для чего использовать
2D Редактирование и расстановка. Перетаскивайте столы, добавляйте или удаляйте, переименовывайте.
3D Презентации и обходы. Холст наклоняется с помощью CSS perspective, чтобы получить архитектурный диметрический вид. Перетаскивание в 3D-режиме отключено, потому что сопоставление указателя на наклоненном холсте неоднозначно.

Добавление и размещение столов

  1. Откройте Кафетерия > План зала.
  2. Выберите нужный этаж с помощью переключателей этажей вверху.
  3. Нажмите Добавить стол. Новый стол появится в начале холста с формой, размером и количеством мест по умолчанию.
  4. Перетащите тело стола в нужное место. Позиция сохраняется автоматически после отпускания кнопки мыши.
  5. Повторите для каждой группы мест.

Позиции привязываются к сетке с шагом 10 пикселей, поэтому выравнивание выглядит аккуратно и не требует точности до пикселя.

Свойства стола

У каждого стола есть такие редактируемые поля:

Поле Значение
Код Краткий идентификатор, который печатается на QR и виден персоналу. Он должен быть уникальным в пределах вашего кафе.
Отображаемое имя Более длинная подпись для персонала, например "Окно 3" или "Кабина A".
Количество мест Число мест за столом. По умолчанию 2.
Форма Один из вариантов: квадрат, прямоугольник горизонтальный, прямоугольник вертикальный, круг.
Размер Целое число от 1 до 10. Управляет размером отображения в редакторе и в 3D-виде.
Этаж Этаж, к которому относится стол. Столы можно переносить между этажами, изменяя это поле.
Состояние idle, in_use или out_of_order.

Состояния стола

Состояние Значение
idle Активной сессии нет. Клиент не может делать заказ, пока вы не посадите его за стол.
in_use Код безопасности активен. Клиент может сканировать QR и делать заказ.
out_of_order Стол недоступен. На плане он отображается приглушенным, а на странице QR показывается уведомление о недоступности. Полезно для обслуживания или ремонта мебели.

Посадка клиента

Чтобы принимать заказы с определенного стола, персонал должен посадить клиента. При посадке выдается код безопасности, а стол переводится в состояние in_use.

  1. На странице Столы или в меню действий Плана зала выберите стол.
  2. Нажмите Посадить клиента (также может называться "Открыть стол").
  3. Система сгенерирует 6-значный код безопасности и покажет его.
  4. Передайте код клиенту. Он введет его после сканирования QR.

Код показывается в открытом виде только в момент генерации, а также когда администратор открывает диалог Показать код для уже открытого стола. На сервере код хранится в виде хэша. Код истекает по умолчанию через заданный срок и может быть обновлен или сброшен в любое время.

Показ и обновление кода

  • Показать код. Отображает текущий сохраненный в кеше открытый текст кода для открытого стола. Полезно, если клиент не успел рассмотреть номер с первого раза. Это действие не обновляет код и не делает недействительным предыдущий QR.
  • Обновить QR. Создает новый QR-токен для стола. Предыдущая QR-наклейка становится недействительной. Используйте это, когда переиздаете наклейку или когда подозреваете, что старый QR был передан наружу.

Закрытие стола

Когда клиент уходит без неоплаченного счета, нажмите Закрыть стол. Код безопасности сразу истекает, стол возвращается в idle, а любые новые попытки сканирования требуют новой посадки.

Если по столу остались неоплаченные заказы, используйте вместо этого Закрыть счет. Закрытие счета завершает все открытые заказы выбранным способом оплаты и затем возвращает стол в idle. См. поток закрытия в разделе Заказы.

QR-коды

У каждого стола есть QR-код, который кодирует URL handy.cafe/{cafe-slug}/{table-code}. Параметр запроса содержит QR-токен, доказывающий, что наклейка подлинная. Когда клиент сканирует QR:

  1. Страница меню сопоставляет slug и код стола с облачным API.
  2. Если стол находится в состоянии in_use, клиенту предлагается ввести 6-значный код безопасности.
  3. После успешной проверки выдается токен сеанса, который сохраняется в cookie и в резервном Bearer-токене. Резервный Bearer-токен нужен потому, что Safari на iPhone в некоторых конфигурациях может блокировать сторонние cookie.

Печатный QR можно сгенерировать на странице Столы. У каждого стола есть предпросмотр QR, который можно сохранить как SVG или PNG. Переиздавайте наклейки каждый раз, когда обновляете QR-токен или меняете slug.

Советы по проектированию плана зала

  • Сначала перенесите реальную планировку на холст. Расположите вход возле одного края и двигайтесь внутрь. Так персоналу проще ориентироваться.
  • Группируйте столы по этажам, даже если у вашего заведения только один уровень. Разделение на "Зал" и "Терраса" помогает фильтровать панель заказов по зонам.
  • Используйте более крупные значения Size для кабинок на четыре и более человек и меньшие значения для барных мест.
  • Помечайте столы как out_of_order, когда мебель требует ремонта, чтобы клиенты не могли оформить на них заказы. Не удаляйте запись стола, если он не убран окончательно.