# Run your whole restaurant from WordPress

> QR menus, direct ordering, multi-branch control, staff roles and campaigns in one WooCommerce plugin. Keep every order and every customer, with no commission.

QR menus, direct ordering, branches, staff and promotions in one plugin. Your menu, your customers, your margin.

- **0%** commission per order
- **6** staff roles built in
- **3** QR link types: menu, branch, table
- **73** fine-grained permissions

## Direct ordering

Take orders on your own site and keep the margin and the customer.

- **Restaurant checkout** — Guests order for dine-in, pickup or delivery through a checkout built for food, not generic shopping. It runs on WooCommerce, so your payment methods keep working.
- **Customer accounts** — Returning customers get an account page with their orders and coupons, so reordering takes seconds.
- **Pay at the counter** — A cash-register payment option lets guests order first and pay at the till.
- **Portions and options** — Offer sizes, portions and extras on each dish, with the right price added to the cart automatically.

## QR menus and tables

Put a scannable menu on every table in minutes.

- **QR links for menu, branch or table** — Generate a code that opens a menu, a branch page or a specific table, and download it ready to print.
- **Multiple menus** — Build separate menus, for example lunch, dinner or drinks, and attach them to the right branch.
- **Table management** — Keep a list of tables per branch so orders arrive with the table already attached.
- **Visual floor plan** — Draw your dining room with walls, tables, chairs and zones, so staff see the room as it really is.

## Payments at the till, without the mix-ups

Every payment lands on the right order, so closing the day stops being a guessing game.

- **Cash, card and till payments on one order** — Mark an order paid by cash, card (taken on your own terminal) or “pay at the till”, and the method is recorded on the order. Your team always sees what was paid and how.
- **Pay at the till at checkout** — Guests can choose to pay at the restaurant. The order is saved for that branch’s till and waits there, ready to be settled.
- **Receipts and kitchen tickets** — Preview and print a kitchen ticket, a pre-bill for the guest or a cashier copy, straight from the order screen. Print requests are queued per branch, so the till computer picks them up and confirms what was printed.
- **Card terminal connection** — Pair a card terminal to a branch, send the amount from the order screen and track every attempt, with duplicate and cancel protection built in. Live terminal payments are being finished with our first terminal partner.
- **Automatic reconciliation with the terminal** — Once the terminal partner is fully connected, confirmed card results will close the order for you, with no retyping at the till.

## Connect your other tools, keep your data

Hand a safe, limited key to the tools you already use, and revoke it any time.

- **Your own API keys** — Create a key for each tool in the admin: a till, a kitchen screen, a kiosk, a courier app or a custom connection. The key is shown once and is stored securely.
- **Give each tool only what it needs** — Choose exactly what a key may do, for example read orders, update order status, read tables or mark an order paid. Keys can be limited to selected branches.
- **Locked down and traceable** — Restrict a key to trusted IP addresses, give it an expiry date and revoke it in one click. Last use and denied attempts are recorded.
- **Orders, tables and print jobs, open to you** — Read and update orders, list tables, request prints and let a till agent pull jobs. Your data stays yours, with no vendor lock-in.

## Multi-branch control

Run one location or twenty with the same tool.

- **Branch-specific rules** — Set prices, taxes, payment methods and checkout rules per branch without duplicating your whole catalogue.
- **Public branch pages** — Each branch gets its own profile page with contact details and social links, ready to share.
- **Pricing matrix** — See and edit prices across branches in one grid instead of opening products one by one.
- **Change history** — A branch log records what changed, so you can answer who did what.

## Menu and product management

Keep the menu accurate without a developer.

- **Allergens, dietary tags and calories** — Show guests what is in every dish and keep your menu honest.
- **Bulk import and export** — Move your menu in with CSV or JSON files, map the columns, and track every row of the import.
- **Categories and attributes** — Organise dishes your way and reuse attributes across the catalogue.
- **Multilingual menus** — Translate dishes and branch details per language so tourists and locals both read your menu.

## Promotions and coupons

Bring guests back with offers you control.

- **Coupons per branch** — Create percentage or fixed-amount coupons and limit them to the branches where they make sense.
- **Buy X, get Y campaigns** — Reward a purchase with a free, discounted or reduced-price item. The discount is applied in the cart automatically.
- **Coupons in the customer account** — Guests see the coupons available to them when they sign in.

## Staff and permissions

Give each person exactly the access their job needs.

- **Six ready-made roles** — Manager, assistant manager, kitchen, waiter, cashier and courier come configured and ready to assign.
- **Server-side permissions** — Rules are enforced on the server, so hiding a button is never the only protection.
- **Editable role matrix** — Adjust what each role can do from one screen, with an audit trail of changes.
- **Staff switch mode** — Managers can view the system as a staff member sees it, or step in for someone who is offline.
- **Lock screen** — Lock a shared terminal in one tap so the next person cannot act under your name.

## Orders and service

Fewer mistakes between the table, the kitchen and the till.

- **Order workflow** — Orders move through statuses, and only the roles allowed to make a change can make it.
- **Payment and refund control** — Taking payments, cancelling and refunding are separate permissions, so risky actions stay with trusted staff.
- **Dashboard and analytics** — See revenue and top sellers over daily or weekly periods at a glance.
- **Notifications** — Staff see alerts scoped to their role and branch, not noise from everywhere.

## Customers and reviews

Know your guests and hear what they think.

- **Customer profiles** — See registered and guest customers with their order history, notes and activity in one place.
- **Reviews with replies** — Collect product reviews, moderate them and reply publicly as the owner.
- **In-store feedback** — Gather private feedback and follow it up with status tracking.
- **Privacy tools** — Export a customer’s data or anonymise it on request, with sensitive fields limited to trusted roles.

## Brand and security

Look professional and keep the back office safe.

- **Branded emails** — Order confirmations, invoices and password resets carry your branch’s branding.
- **Login protection** — Rate limiting, attempt logs and bans reduce the risk from password guessing, and you can review the logs.
- **Elementor header widget** — Add account and cart actions to your Elementor header.
- **Guided tours** — In-app walkthroughs help new staff learn each screen.

## An open REST API for your restaurant

Connect tills, kitchen screens, automation tools and delivery or accounting software to your orders, tables and print jobs. Every connection uses its own key with limited permissions.

Send the key as a Bearer token (Authorization: Bearer qrmm_…); each key carries scopes, optional branch limits, trusted IPs and an expiry, and logged-in staff use normal WordPress authentication.

- `GET /wp-json/qrmm/v1/orders` — List orders, filtered to the branches the key may see
- `PATCH /wp-json/qrmm/v1/orders/{id}/operation-status` — Update an order’s operational status
- `POST /wp-json/qrmm/v1/orders/{id}/payment` — Mark an order paid or unpaid with a payment method
- `GET /wp-json/qrmm/v1/tables` — List tables
- `POST /wp-json/qrmm/v1/orders/{id}/print` — Queue a kitchen ticket, pre-bill or cashier receipt
- `GET /wp-json/qrmm/v1/agent/jobs` — Till agent fetches pending print jobs for a branch
- `POST /wp-json/qrmm/v1/agent/jobs/{id}/ack` — Till agent confirms a job as printed or failed
- `POST /wp-json/qrmm/v1/orders/{id}/pos/charge` — Start a card terminal payment attempt

## Why not just WooCommerce, or a marketplace?

WooCommerce is a great engine but not a restaurant tool. Marketplaces bring orders at a price. QR Menu Manager gives you restaurant workflows on a site you own.

| | Plain WooCommerce | Marketplace app | QR Menu Manager |
|---|---|---|---|
| No commission on orders | yes | no | yes |
| You own the customer data | yes | no | yes |
| QR codes per table | no | partial | yes |
| Card terminal and receipt printing from the order screen | no | partial | partial |
| Scoped API keys per branch and per tool | no | no | yes |
| Multi-branch prices and rules | no | partial | yes |
| Staff roles with real permissions | partial | partial | yes |
| Visual floor plan | no | no | yes |
| Buy X, get Y campaigns | no | partial | yes |
| Allergen and dietary labels | no | partial | yes |
| Your own branding and domain | yes | no | yes |
| Menu import and export | partial | no | yes |

## The right access for every role

Defaults ship with the plugin and can be adjusted in the role editor.

| | Manager | Assistant manager | Kitchen | Waiter | Cashier | Courier |
|---|---|---|---|---|---|---|
| Manage products and menus | yes | yes | — | — | — | — |
| Create orders | yes | yes | yes | yes | yes | — |
| Change order status | yes | yes | yes | yes | yes | yes |
| Kitchen operations | yes | — | yes | — | — | — |
| Take payments | yes | — | — | — | yes | — |
| Delivery operations | yes | — | — | — | — | yes |
| View customers | yes | yes | — | — | yes | — |
| View reports | yes | yes | — | — | — | — |
| Manage staff | yes | yes | — | — | — | — |
| Settings, pricing and campaigns | yes | — | — | — | — | — |

QR Menu Manager is coming soon to WordPress.org. Get in touch and we will help you set up your menu and your first branch. contact@qrcodemenu.co.uk
