Home User guide

Restaurant Desk Documentation

Complete guide to POS, customers, inventory, reports, and workspace administration.

13 sections Updated June 2026

Section 1

Overview

Restaurant Desk is a workspace extension for restaurant teams. It brings together point-of-sale billing, kitchen and waiter workflow, customer balances, inventory tracking, and daily or monthly reports — all tied to your platform workspace.

Each restaurant runs in its own workspace with its own members, roles, theme colors, and language defaults. Staff sign in with their platform account; permissions control what each person can see and do.

Main areas of the app

  • Dashboard — today's billing totals at a glance
  • POS — token ordering, tables, kitchen, waiter, and billing
  • Customers — contacts, balances, and bill history
  • Inventory — stock items, suppliers, and quantities
  • Reports — daily, monthly, token history, and billing history
  • Roles & members — permissions and team access (admins only)

Section 2

Getting started

  1. Open Restaurant Desk

    Visit your Restaurant Desk URL (for example http://127.0.0.1:3008/). If you are not signed in, you will see the welcome page with an overview of features.

  2. Sign in

    Click Sign in. You are redirected to the central platform login. Use the same email and password as your workspace account.

  3. Select your workspace

    After authentication you return to Restaurant Desk. If you belong to multiple workspaces, open the profile menu (top right) and switch to the correct restaurant workspace.

  4. Explore navigation

    The main navigation bar shows only the sections your role allows — Dashboard, POS, Customers, Inventory, Reports, and optionally Roles & members.

Platform home

From the welcome page you can also go to Platform home to manage workspaces, billing, or invite new members from the central NNBP dashboard.

Section 3

Local database mode

Local DB mode keeps restaurant operational data in your browser using IndexedDB instead of the application server. Sign-in, roles, members, workspace themes, and API quotas still use the platform — customers, inventory, bills, food tokens, tables, presets, and activity logs are stored locally.

Storage modes

  • Cloud — records saved in the server database (default)
  • Local DB — records saved in this browser's IndexedDB

Switching storage mode

  • Open the profile menu (top right)
  • Click Use local database or Use cloud database to toggle
  • Your choice is remembered per workspace on this browser
  • The profile badge shows Cloud, Local · Sync, or Local · Offline

Sync options (local DB only)

  • Sync remote — share changes with other browsers in the workspace via a temporary server relay and optional direct WebRTC links
  • Offline — data stays on this device only; no cross-browser sync and no sync API traffic (saves API quota)
  1. Open local DB settings

    Profile menu → Local DB & sync status (or Local DB (offline) when offline mode is active).

  2. Choose sync mode

    Select Offline or Sync remote. Offline avoids relay polling and presence heartbeats.

  3. Monitor sync (remote only)

    View connected browsers, relay status, sync activity log, and run a test ping.

Privacy & API usage

Order and billing content is not stored permanently on the server in local DB mode. The relay holds short-lived sync messages (~5 minutes). Sync remote counts mutating sync requests (events, presence, signaling) toward workspace API quota; polling GET requests do not. Offline mode uses no sync API requests.

What works in local DB

  • Dashboard — today's billing totals from local bills and tokens
  • Customers — create, edit, search, balance reports, and customer history
  • Inventory — full CRUD with local stock records
  • POS — token types, issue tokens, kitchen/waiter/billing tabs, tables, token and table import
  • Reports — daily, monthly, token history, and billing history tabs
  • Activity log — stored locally; syncs with other browsers in sync remote mode
  • Same-browser tabs refresh automatically via IndexedDB

Local DB limitations

  • Receipt printing from POS is skipped in local DB mode (browser cannot reach server printers the same way)
  • Data is per browser unless Sync remote is enabled
  • Clearing browser site data removes local records — export or sync before clearing storage

Section 4

Dashboard

The Dashboard shows a snapshot of today's billing activity. Use it for a quick morning or shift-end check without opening full reports. Works in both cloud and local DB mode — local mode reads bills and tokens from IndexedDB.

Metrics shown

  • Total bills and total amount for the selected date
  • Dine-in bills and dine-in amount
  • Takeaway bills and takeaway amount

Change the date picker to review another day. You need the statistics.view permission to see the Dashboard.

Section 5

Point of sale (POS)

The POS module handles the full order lifecycle: menu tokens, table service, kitchen preparation, waiter delivery, and payment. It opens inside Restaurant Desk as an embedded workspace view. In local DB mode, POS loads with data_mode=local and reads/writes IndexedDB via an in-browser API shim.

Token tab

Define menu items as token types (name, price, category). Counter staff build a cart, assign a customer or guest, and issue tokens. Tokens can be printed for the kitchen.

  • Create, edit, or delete token types (with permission)
  • Bulk import tokens from CSV or spreadsheet paste (cloud and local DB)
  • Issue tokens to customers linked from your customer list
  • Support dine-in and takeaway order types

Kitchen tab

Kitchen staff see active tokens waiting to be prepared. Mark items as prepared when ready; they move to the Waiter queue. Tokens can be revoked if an order is cancelled.

Waiter tab

Prepared tokens appear here for front-of-house staff. Mark tokens as delivered when served to the table or handed to the customer.

Table tab

Manage dining tables — name, capacity, and status. Assign orders to tables for dine-in service. Import tables in bulk from spreadsheet data (cloud and local DB).

Billing tab

View open, paid, on-hold, and pay-later bills. Process payments (cash, UPI, etc.), complete orders, and print receipts. Billing is linked to customers when applicable.

  • Filter by bill status, order type, or date range
  • Mark bills as paid or completed
  • Print receipts with workspace branding (cloud mode; printing is skipped in local DB mode)
  • Track pay-later and balance-due customers

Typical workflow

Counter → issue tokens → Kitchen → mark prepared → Waiter → deliver → Billing → mark paid and print receipt.

Section 6

Customers

Customers are workspace contacts used across POS and billing. Track regular guests, corporate accounts, and walk-in customers you want on record. In local DB mode, contacts and balance calculations are stored in IndexedDB.

Customer list

  • Search by name, phone, email, or company
  • Filter by balance status: balance due, paid up, or extra paid
  • Create, edit, or delete customers (based on permission)

Customer report

  • Open a customer and click View report for full history
  • See balance due, total paid, visit dates, and bill counts
  • Filter bills by date, status (paid, open, hold, pay later), and order type
  • Review item timeline and direct token orders

Customer balances update automatically as bills are created and paid in POS. Use balance filters to follow up on unpaid accounts.

Section 7

Inventory

Track stock items separate from menu tokens — ingredients, supplies, and back-of-house materials. Inventory records are available in local DB mode with the same create, edit, and search flows.

  • Name, description, category, quantity, and unit
  • Supplier, purchase price, and purchase date
  • Active or inactive status
  • Search and paginate the inventory list

Permissions inventory.view, inventory.create, inventory.edit, and inventory.delete control access. Inventory changes are recorded in the workspace activity log.

Section 8

Reports

Reports provide deeper analysis than the Dashboard. All report tabs require statistics.view permission. In local DB mode, the reports embed loads with data_mode=local and computes daily, monthly, history, and billing history from IndexedDB.

Daily

Day-level billing breakdown: totals, item sales, and staff performance for a selected date.

Monthly

Month-level trends: billing totals, sales patterns, and employee performance across the month.

Token history

Audit trail of token issues, status changes, and revocations. Filter by date and user.

Billing history

List of bills with amounts, payment types, and links to view bill details. Useful for reconciliation and end-of-day review.

Section 9

Roles & members

Workspace admins manage who can access Restaurant Desk and what each role can do. This section appears only for users with roles.manage or members.manage permission.

Roles

  • System roles (such as Admin, Manager, Guest) ship with default permissions
  • Create custom roles with a name, description, and permission checklist
  • Permissions are grouped: Customers, POS, Inventory, Statistics, Activity, Roles, Members
  • Edit permissions inline; changes apply to all members with that role

Members

  • See everyone who has signed in to this workspace
  • Assign or change a member's role
  • New users receive the Guest role until an admin updates it

Contacts permission is required

When editing role permissions, at least contacts.view must remain enabled so members can use customer-linked POS features.

Section 10

Profile, preferences & activity

Open the profile menu from the top-right corner of the app header.

Profile menu options

  • Workspace — current workspace name and your role
  • Usage — API requests and storage quotas; use Refresh usage to sync latest limits
  • Workspace activity — all actions in the workspace (requires activity.view)
  • My activity — your own actions only
  • Workspaces — switch to another workspace you belong to
  • Use local database / Use cloud database — toggle storage mode per workspace
  • Local DB & sync status — monitor sync mode, connected browsers, and relay activity
  • My preferences — personal language, theme color, and light/dark mode
  • Logout — end your session

Preferences are per user and per workspace. You can override workspace defaults with your own language (English or Hindi), theme color, and appearance (light, dark, or system).

Section 11

Languages & themes

Languages

  • English and Hindi are supported across navigation, POS, customers, inventory, and reports
  • Set your language in My preferences, or use the workspace default
  • POS embedded views follow the same locale when available

Themes

  • Each workspace can use a brand color (blue, red, mint, and others)
  • Choose light, dark, or system appearance in preferences
  • Theme applies to the Vue shell; POS embed inherits workspace styling

Section 12

Permissions reference

Permissions are workspace-scoped. Superadmin users bypass checks. Below is a summary of permission keys used in Restaurant Desk.

Scroll horizontally to see all columns →

Permission Description
contacts.view View customer list and reports
contacts.create Add new customers
contacts.edit Edit customer details
contacts.delete Delete customers
inventory.view View inventory items
inventory.create Add inventory items
inventory.edit Edit inventory items
inventory.delete Delete inventory items
statistics.view Dashboard and Reports tabs
activity.view Workspace-wide activity log
roles.manage Create and edit roles
members.manage Assign roles to members

POS (Food Token) permissions

Scroll horizontally to see all columns →

Permission Description
food-token.token.view View token types in POS
food-token.token.create Create token types
food-token.token.edit Edit token types
food-token.token.delete Delete token types
food-token.issue.create Issue tokens to customers
food-token.active.view Kitchen tab — view active tokens
food-token.active.expire Mark tokens as prepared
food-token.active.revoke Revoke active tokens
food-token.waiter.view Waiter tab — view prepared tokens
food-token.waiter.deliver Mark tokens as delivered
food-token.billing.view Billing tab — view bills
food-token.billing.pay Mark bills as paid
food-token.billing.hold Complete or hold bills
food-token.billing.print Print receipts
food-token.setup.view View POS setup settings
food-token.setup.edit Edit POS setup settings
food-token.history.view Token transaction history in reports

Suggested roles

Admin — all permissions. Manager — POS, customers, reports, no role management. Cashier — token issue and billing. Kitchen — kitchen tab only. Waiter — waiter tab only. Viewer — dashboard and reports read-only.

Section 13

Troubleshooting

Your role may not include the needed permission. Ask a workspace admin to update your role under Roles & members, or assign you a role with POS or statistics access.

Navigation is permission-filtered. For example, POS appears only if you have at least one food-token.* permission. Dashboard and Reports require statistics.view.

Open the profile menu, expand Usage, and click Refresh usage. Workspace owners can also refresh from the central platform profile.

Ensure your role includes contacts.view and contacts.create. POS customer pickers use the shared customer list.

Profile menu → My preferences. Choose English or Hindi, pick a theme color, and set light, dark, or system appearance. Save to apply immediately.

Profile menu → Use local database. Choose Sync remote to share data across browsers in your workspace, or Offline to keep data on this device only. See the Local database mode section in this guide for details.

Confirm local DB is enabled for this workspace, then create orders in POS or switch back to cloud to migrate existing server data. Same-browser tabs update automatically; other browsers need Sync remote.

Printing is intentionally skipped in local DB mode because receipts normally use server-side print configuration. Use cloud mode for printing, or complete payment in local mode and print later from billing history in cloud mode.

There is no automatic one-click migration. Use cloud mode for the source of truth, or enable Sync remote so multiple browsers share the same local dataset. Clearing browser site data deletes local records.