Skip to main content
The Cashier is a staff login for quick-service venues. A cashier signs in with an Employee ID and password, then lands on the same ordering screen the QSR owner uses — taking orders, adding items to a cart, and checking out. Two screens are cashier-only: the Menu Board (view and hide items, no editing) and My Orders (the cashier’s own order history with CSV export).

Login

At /cashier, a logged-out cashier sees a login form. Fields:
  • Employee ID (required) — no format rule, just can’t be blank.
  • Password (required) — no length or format rule, just can’t be blank. Has a show/hide toggle.
Press Login or hit Enter (it’s a real form). On success, the cashier lands on the ordering screen. Error messages:
  • Wrong password → “Wrong password. Check it and try again.”
  • Account deactivated → “This device was turned off. Ask your manager.”
  • Any other login rejection → “Wrong Employee ID or password.”
  • Anything else goes wrong → “Couldn’t log you in. Try again.”

Taking orders

This screen is the exact same component the QSR owner uses at /qsr/orders. Everything below — the menu grid, the cart, checkout — works identically for both. The only difference is which login you used to get here.
Once logged in, the cashier sees the venue’s menu: category chips (including “All”), a search box, and a Menu Board link that opens the read-only menu view. Each menu item can be added to the cart, with plus/minus to change quantity or remove it. The cart total is the sum of each item’s price (after any per-item discount) times quantity. Tap the cart icon or Proceed to open the cart, then check out one of two ways:
  • Pay Now — records the order with sales type “online” and shows a success screen.
  • Pay Later — records the order with sales type “pos”. This is the counter/cash path.
Neither button actually takes a card payment. “Pay Now” doesn’t collect payment in the app — it just tags the order as an online sale and shows the success screen. Money still needs to be collected some other way (cash, a separate card terminal, etc.).
Every order placed from this screen is stamped with the cashier’s ID, so it shows up under that cashier’s name in reports and in My Orders. At /cashier/menu, the cashier can look at the full menu and turn items on or off for sale. What a cashier can do: search the menu, and toggle an item’s visibility with the eye icon. What a cashier can’t do: edit an item, duplicate it, or delete it. There’s also no way to add a new item from this screen — creating menu items isn’t available from the Cashier login. Tap Back to return to the ordering screen.

My Orders

At /cashier/orders, the cashier sees a history of orders they’ve personally taken — not the whole venue’s orders, just theirs. Search matches on order ID, customer name, email, phone, or cashier. Columns: Ticket No., Cashier, Date, Time, Name, Email, Phone No., Food, Total Orders, Amount, Sales Type. Use Download to export the current list to CSV. The list loads more rows automatically as you scroll.
There’s no payment-type filter (POS vs. Online) on this screen right now, even though the table shows Sales Type per order — that filter isn’t wired up on the Cashier’s My Orders view.