HandyCafe Docs
owner it-admin

Cafeteria

Cafeteria is the integrated food and drink service module in HandyCafe. It lets you build a digital floor plan of your tables, publish a branded self-service menu on the web at handy.cafe/{your-slug}, and track every incoming order in real time from the server dashboard.

Customers scan the QR code on their table, enter a 6-digit security code, browse the menu in their own language, and place an order. The order appears on your Cafeteria Orders screen within seconds. Your staff acknowledges each stage of preparation, and when service is complete the "Settle Check" action closes the bill in a single step.

Who This Is For

Cafeteria is designed for internet cafes, gaming centers, and esports arenas that also serve food and drinks at customer seats. It replaces paper order slips and verbal requests to the counter. It works alongside the standard HandyCafe session and pricing system; cafeteria orders are tracked separately but on the same cafe license.

Core Capabilities

Capability Summary
Floor plan Visual editor for up to multiple floors. Drag tables into position, switch to a 3D view, mark tables out of service.
Tables Configure per-table seat count, shape, size (1 to 10), and display code. Generate QR codes and rotate them on demand.
Menu Categories with MDI icons, products with photos, markdown descriptions, ingredient lists, and variant groups (for example Size, Toppings).
Orders Live dashboard with 3-second polling, pending-count badge, desktop and audio notifications, per-order and per-item status.
Settlement One-click close-bill action that settles all open orders on a table with a chosen payment method.
Customer menu Branded web menu in 24 languages at handy.cafe/{slug}, with light and dark theme and device-aware language default.
Online payment Optional Stripe Checkout integration for pay-on-order, with a fallback to cash payment at the table.
Printer Optional TCP receipt printer with auto-cut and auto-print on new orders.

Where Cafeteria Lives in the Server UI

Cafeteria has two entry points:

  1. Cafeteria section in the sidebar. This is the operational workspace for daily use. It contains five tabs: Tables, Floor Plan, Menu, Orders, and Schedule. The Orders tab shows a pending badge whenever new orders are waiting.
  2. Settings > Cafeteria. This is the configuration area. It holds the business profile (slug, display name, logo, header image, address, currency, timezone), printer settings, floor management, and optional feature toggles.

Provisioning a Cafe

When you enable Cafeteria for the first time, the server uses your HandyCafe license as the authorization token automatically. You do not paste anything manually. The provisioning wizard then asks for four pieces of information:

  1. Slug. This becomes the public URL at handy.cafe/{slug}. Allowed characters are lowercase letters, numbers, and dashes. The slug is 3 to 62 characters. The system checks availability in real time and rejects reserved slugs such as "admin", "api", or "dashboard".
  2. Display name. The human-readable name shown at the top of the customer menu.
  3. Country and currency. The default currency for menu prices. Prices are stored in minor units (for example cents) and displayed with the configured currency symbol.
  4. Timezone. Used for dynamic preparation time calculations, time stamps on orders, and settlement records.

After provisioning completes, the cafe is created in the cloud database and the Cafeteria workspace opens. You can then add floors, tables, and menu items.

Business Profile

The business profile is editable at any time under Settings > Cafeteria. Key fields:

Field Purpose
Slug Public URL segment. Changing the slug breaks existing QR codes until regenerated.
Display Name Shown at the top of the customer menu.
Logo Square image. Recommended WebP up to 2 MB.
Header Image Wide banner image at the top of the customer menu. Recommended WebP up to 2 MB.
Address and Phone Optional. Shown in the menu footer.
Currency Applied to every product price in the menu.
Country Used for tax and regional defaults.
Timezone Applied to order and settlement time stamps.
Show Prep Time on Menu Toggle. When on, each product displays an estimated preparation time chip.

Printer Settings

The printer section accepts the following configuration:

  • Kind. Either Disabled or TCP. USB direct printing is not supported in this release.
  • IP and Port. The network address of your receipt printer. Most ESC POS TCP printers listen on port 9100.
  • Auto Cut. Adds the paper cut command after every printed receipt.
  • Auto Print on New Order. When on, every incoming order triggers a receipt print automatically.
  • Sound Notification. Plays an audio alert in addition to the desktop notification when a new order arrives.
  • Test Print. Sends a sample receipt to the configured printer to verify the connection.

Architecture Summary

Cafeteria uses a cloud-first data model. Every table, category, product, order, and settlement record is stored in the handy.cafe cloud database. Your local HandyCafe server mirrors this state and polls the Orders endpoint every 3 seconds for new activity. Customer-facing pages are served by the handy.cafe cloud directly; they do not require your server to be reachable from the internet.

Because data lives in the cloud:

  • QR codes continue to work even when the server is offline, but staff cannot see orders on the dashboard until connectivity returns.
  • Menu changes push to handy.cafe within seconds of saving.
  • Orders placed by customers reach the Orders dashboard after the next 3-second poll.

Next Steps