Overview
Konnexo Resto is a restaurant management system that runs on a single computer and is accessed via web browsers over your local WiFi network. It handles the entire restaurant workflow — from customer ordering to kitchen display to billing — in one integrated platform.
Four types of users interact with the system:
| Role | Who | What They Do | How They Log In |
|---|---|---|---|
| Customer | Diners at tables | Register, browse menu, place orders, track status, pay, leave feedback | No login — just open the link |
| Kitchen | Chefs, cooks | View incoming orders, mark items as preparing/complete, notify servers | 10-digit PIN |
| Server | Waitstaff | Pick up ready orders, serve to tables, manage service flow | 10-digit PIN |
| Manager | Owner, manager | Dashboard, orders, menu, billing, settings, analytics, customers | Username + password |
💡 One Device, Many Roles: All roles are accessed through a web browser. A single tablet can be used as the kitchen display, while phones at tables serve as customer ordering devices, and a laptop runs the manager dashboard. Any modern browser works — Chrome, Safari, Firefox, Edge.
Before You Start
Before using the system, make sure:
- The application is running on a computer (Windows, macOS, or Linux) that stays powered on during service hours
- All devices (phones, tablets, laptops) that will access the system are connected to the same WiFi network
- You know the server's IP address or hostname (displayed in the manager URLs page)
- You have set up your restaurant name, menu items, tables, and PINs in the manager settings (see Settings)
Important: All roles can be accessed from any device on the network, including the manager portal. Use the server's IP address from other devices, or localhost on the server computer itself.
Access URLs
Once the application is running, use these URLs to access each part of the system. Replace <SERVER_IP> with the IP address of the computer running the server (e.g., 192.168.1.100).
| Page | URL | Accessible From |
|---|---|---|
| Customer Menu | http://<SERVER_IP>:8080/customer | Any device on WiFi |
| Kitchen Display | http://<SERVER_IP>:8080/kitchen/login | Any device on WiFi |
| Server Display | http://<SERVER_IP>:8080/server/login | Any device on WiFi |
| Manager Login | http://<SERVER_IP>:8080/manager/login | Any device on WiFi |
| License Activation | http://<SERVER_IP>:8080/license | Any device on WiFi |
You can find QR codes for all URLs in the manager URLs & QR page. Scan them with a phone camera to open the page instantly.
Demo Mode
If you do not have a license key, you can try the full application for 1 hour:
- Open
http://localhost:8080/licenseon the server computer - Type demo in the license key field
- Click Activate License
- A yellow info box will appear explaining that demo mode is active for 1 hour
- Click Continue to Login
⚠️ Demo Mode Notes:
- Your demo session lasts exactly 1 hour from activation
- Any data entered during the demo will be automatically wiped when the session ends
- After wipe, the system resets to factory defaults (sample menu items, default tables, admin/admin credentials)
- You can start a fresh demo anytime by entering
demoagain - A timer in the manager sidebar shows remaining demo time
Customer Portal
The customer portal is the front door for your diners. Customers open it on their own phones (by scanning a QR code at the table) or on a shared tablet. No installation, app store, or login is required — just a browser.
1. Register / Check In
Before ordering, every customer must register with their details.
Registration Form Fields
| Field | Required | Details |
|---|---|---|
| Name | Yes | Full name of the customer |
| Contact | Yes | 10-digit phone number (validated for length and digits only) |
| Yes | Valid email address (format is validated) | |
| Table Number | Yes* | Select from dropdown. Options are: "Takeaway" (index 0) + one entry per table configured in manager settings. *Not required if returning customer |
| Occasion | No | Optional: Casual Dine Out, Birthday, Anniversary, Festival, Business Meeting, Date, Other |
| Privacy Consent | Yes | Checkbox agreeing to the privacy policy (links to full policy in new tab) |
What Happens Next
- Tap Start Ordering to proceed to the menu
- If the customer has an existing active order (from a previous session that was not ended), a "Welcome back!" banner appears with a Continue Order link
- If the customer is returning but has no active order, the form shows their previous details pre-filled
💡 Returning Customer Detection: As the customer types their name, contact, or email, the system checks if they have visited before. If found, their previous details are filled in automatically. This speeds up repeat visits.
2. Browse Menu & Place Order
The menu page shows all available food and drink items from the restaurant.
Menu Layout
- Category Filters: A row of pill-shaped buttons at the top filters items by category (e.g., Starters, Main Course, Desserts, Beverages). Tap a category to see only those items. Tap All to see everything.
- Featured Carousel: Horizontally scrollable section at the top showing the restaurant's advertised specials. These items are marked as "Featured" by the manager and often have discount badges.
- Item Grid: Each item is displayed as a card showing the name, description, price, and key information.
Item Card Information
- Name and description of the item
- Price — the current selling price
- Discount Price — if a discount is set, the original price appears with a strikethrough and the discount price is shown in green with a percentage badge
- Ingredients and Allergens — shown when you tap the item for details
- Availability: Unavailable items appear faded with reduced opacity
- Quantity controls: + and − buttons to add or remove items directly from the grid
Item Detail Dialog
Tap any item card to open a detailed view with the full description, ingredients, allergens, and a prominent Add to Cart button.
3. Cart & Checkout
The cart collects all items the customer wants to order before submitting.
Opening the Cart
Tap the cart icon (🛒) in the top-right corner of the menu page. The cart slides in as a sidebar panel. A badge on the cart icon shows the current number of items selected.
Cart Contents
- Each item is listed with its name, unit price, and quantity
- Use + / − buttons to adjust quantities
- Tap Remove (X) to delete an item entirely
- If the cart is empty, a message says "Your cart is empty" with a link to browse the menu
Order Summary
Below the item list, the cart shows:
- Subtotal — sum of all item prices (price × quantity for each item)
- CGST — Central GST (9% of subtotal by default)
- SGST — State GST (9% of subtotal by default)
- Grand Total — subtotal + CGST + SGST
Placing the Order
- Tap Place Order to submit
- If the customer already has an active order (revision), the button says Revise Order instead
- After placing, the cart clears and the customer is redirected to the Order Tracking page
⚠️ Important: If discount pricing is enabled on items, the discounted price is used in calculations. The cart always uses the price visible on the item card.
4. Track Order
After placing an order, the customer sees a real-time tracking page that updates automatically every 5 seconds.
Order Status Overview
A large status card at the top shows the overall order status, the date the order was placed, and a live elapsed timer counting how long the order has been active.
Item-Level Status
Each item in the order shows its individual status with a color-coded badge:
| Icon / Badge | Status | Meaning |
|---|---|---|
| 🔵 Sent to Kitchen | SENT_TO_KITCHEN | Order received by the kitchen, waiting to be started |
| 🟡 Preparing | PREPARING | Chef is cooking this item |
| 🟢 Cooking Complete | COOKING_COMPLETE | Item is ready at the kitchen pass |
| 🏃 Picked for Serving | PICKED_FOR_SERVING | Server has picked it up and is bringing it |
| ✅ Served | SERVED | Delivered to the customer's table |
| ❌ Skipped | SKIPPED | Item could not be prepared (shown with strikethrough) |
Order Revisions
If the customer added more items after the initial order, a revision badge appears next to those items so the kitchen and customer can easily identify what was added later.
Requesting the Bill
Once all items have been served (status = SERVED), a Request Bill button appears. Tapping it notifies the manager that the customer wants to settle the bill.
5. View & Accept Bill
After requesting the bill and the manager processes payment, the customer can view and accept the bill.
Bill Display
When the manager marks the order as paid, a full GST-compliant bill appears directly on the tracking page:
- Restaurant name, address, contact, GSTIN, and FSSAI license number
- Invoice number and date
- Itemised table with columns: item name, quantity, unit price, discount, CGST, SGST, and line total
- Subtotal, discount adjustment, tax breakdown (CGST + SGST), and Grand Total
- Payment method (Cash, Card, or UPI)
- QR code for reference
- Savings / discount summary
- Footer: "Thank you! Visit again!"
💡 Note: The bill is only shown to the customer if the manager has enabled "Show Bill to Customer" in Settings. Otherwise, the customer will only see the total amount.
Accepting the Bill
After reviewing the bill:
- Tap Accept Bill to confirm the charges
- Optionally check Pack leftovers from table if you want to take unfinished food home
- Tap End Session & Free Table to complete your visit
Once the session ends, the table is marked as available for the next customer.
6. Revise Order (Add More Items)
Customers can add more items to an existing order while the kitchen is still working on it:
- On the order tracking page, tap Add More Items
- The menu page opens with the existing cart items still present
- Select additional items and adjust quantities
- Tap Place Order — the new items are added as a revision to the existing order
The kitchen will see the revision number on the order card, and the new items flow through the same status pipeline.
7. Submit Feedback
After the meal, customers are prompted to leave feedback:
- Rate the experience from 1 to 5 stars by tapping on the stars
- Optionally type a written comment in the text area
- Tap Submit Feedback
Once submitted, the feedback is immediately visible to the manager in the Feedback section. Both the star rating and comment are displayed. Feedback helps the restaurant improve service quality.
Kitchen Portal
The Kitchen Display System (KDS) replaces traditional paper chits. Orders appear in real time on a screen in the kitchen, and chefs update the status of each item as they cook.
1. Login
Open the Kitchen URL on a device in the kitchen (tablet, laptop, or dedicated display):
- Open
http://<SERVER_IP>:8080/kitchen/login - Enter the 10-digit kitchen PIN using the on-screen numeric keypad
- Tap Unlock Kitchen
About the Numeric Keypad
- Digits 0–9 are displayed as large, easy-to-tap buttons
- As you enter digits, ● (filled circles) appear for entered digits and ○ (empty circles) for remaining digits
- Tap Clear to reset all entered digits
- Tap ⌫ (Backspace) to remove the last digit
- The Unlock Kitchen button only becomes active when all 10 digits have been entered
- If the PIN is incorrect, an error message is displayed
💡 Default Kitchen PIN: 1234567890. The manager can change this at any time in the Settings page. When the PIN is changed, all existing kitchen sessions are immediately invalidated for security.
2. Kitchen Dashboard
The dashboard is a three-column board that organizes orders by their cooking stage.
The Three Columns
| Column | Header Color | Contents | Actions Available |
|---|---|---|---|
| New Orders | Blue | Orders sent from the front-of-house, waiting for the kitchen to start | Start Preparing |
| Preparing | Orange | Orders currently being cooked | ✓ Done (per item), ⊘ Skip (per item), Cooking Complete |
| Complete | Green | Orders finished cooking, ready for the server to pick up | Pick for Serving |
Each column header shows a count badge indicating how many orders are in that stage.
Order Cards
Each order card displays:
- Customer name and table number
- Order number
- Revision indicator — if the customer added items after the initial order, a revision badge (e.g., "Rev #2") is shown
- Items list — each menu item with its quantity
- Elapsed timer — live countdown showing how long the order has been in the kitchen
- Urgency border — colored left border based on elapsed time (see below)
Urgency Indicators
The left border of each order card changes color based on how long the order has been waiting in the kitchen:
| Color | Time Elapsed | Meaning | Action Needed |
|---|---|---|---|
| 🟢 Green | 0–10 minutes | Normal — within expected time | No urgency |
| 🟡 Yellow | 10–20 minutes | Getting late — customer may be waiting | Prioritize soon |
| 🔴 Red (flashing) | 20+ minutes | Urgent — customer is waiting too long | Start immediately |
💡 Pro Tip: The urgency timer resets when the order moves from "New Orders" to "Preparing". This means the timer measures how long an order has been waiting to be started, not total kitchen time.
3. Kitchen Workflow
The kitchen workflow moves orders from left to right across the three columns. Each step advances the order to the next stage.
Step 1: Start Preparing
- In the New Orders column, tap Start Preparing on the order you are about to cook
- The order moves to the Preparing column
- The urgency timer resets at this point
- Only one tap is needed for the entire order — all items move together
Step 2: Track Individual Items
In the Preparing column, you manage each item within an order separately. This allows for partial completion (e.g., drinks are ready but food is still cooking).
- ✓ Done: Tap the check button next to an item when it is finished cooking. The button turns green to indicate completion.
- ⊘ Skip: Tap the skip button if an item cannot be prepared (e.g., out of stock, ingredient unavailable). The item turns gray and will appear as "Skipped" on the customer's tracking page.
- Items that are neither Done nor Skipped remain in their current state
- The Cooking Complete button at the bottom of the card only becomes active once every item in the order has been marked either Done or Skipped
Step 3: Mark Cooking Complete
- Once all items are accounted for (Done or Skipped), tap Cooking Complete
- The entire order moves to the Complete column
Step 4: Pick for Serving
- In the Complete column, tap Pick for Serving to notify the server that the order is ready at the pass
- The order leaves the kitchen view and appears on the server's display in the At Pass column
- Only non-skipped items are sent to the server; skipped items are excluded
4. Kitchen Tips
- The kitchen display auto-refreshes every 10 seconds and also receives instant updates via SSE (Server-Sent Events). New orders appear without refreshing the page.
- Toast notifications appear in the top-right corner when a new order arrives, so even if you are in a different tab, you will hear/see the alert.
- Multiple kitchen displays can be open at the same time on different devices — all stay in sync.
- If the display seems stuck or outdated, refresh the page (F5 or pull-to-refresh).
- The elapsed timer updates every second, giving you precise timing information.
Server Portal
The server display helps waitstaff manage the final stage of the order journey — picking up finished items from the kitchen, bringing them to the table, and serving the customer.
1. Login
- Open
http://<SERVER_IP>:8080/server/login - Enter the 10-digit server PIN using the on-screen numeric keypad
- Tap Unlock Server
💡 Default Server PIN: 0987654321. The manager can change this in Settings. PIN changes invalidate all active server sessions immediately.
2. Server Dashboard
The dashboard has three columns representing the service flow from kitchen to table.
| Column | Header Color | Contents | Available Action |
|---|---|---|---|
| At Pass | Orange | Orders ready at the kitchen pass, waiting for a server to pick them up | Pick Up |
| In Transit | Yellow | Orders that have been picked up and are being brought to the table | Prepare to Serve or Start Serving |
| Serving | Green | Orders currently being served to the customer at the table | Mark Served |
Each column shows a count badge. Order cards display the table number, customer name, order number, and list of items with quantities. Urgency indicators (green/yellow/red borders) help prioritize which orders need attention first.
3. Service Workflow
The service workflow moves orders from left to right, getting closer to the customer with each step.
Step 1: Pick Up (At Pass → In Transit)
- When you see an order in the At Pass column, go to the kitchen pass, collect the items, and tap Pick Up
- The order moves to the In Transit column, indicating you are now responsible for delivering it
Step 2: Serve to Customer (In Transit → Serving)
The In Transit column has two stages to handle different service scenarios:
- Prepare to Serve: Use this for items that need table-side preparation (unwrapping, plating, pouring drinks). Tap this when you arrive at the table and begin preparation.
- Start Serving: After preparation is done, tap this to indicate you are actively serving the item to the customer.
Both actions move the item closer to the customer within the same column until it reaches the Serving column.
Step 3: Mark Served (Serving → Complete)
- Once the customer has received the item, tap Mark Served
- The item leaves the server view entirely and the customer's tracking page updates to show ✅ Served
4. Server Tips
- The server display auto-refreshes every 10 seconds and receives instant SSE updates when the kitchen marks new items as ready
- Toast notifications alert you when new orders arrive at the pass
- Multiple server devices can be open simultaneously — all servers see the same board
- Items only move forward in the workflow. You cannot undo an action once taken
- If an item was accidentally picked up and needs to go back, notify the manager who can adjust the status from the order detail page
Manager Portal
The manager portal is the command centre for the entire restaurant. It provides full control over orders, menu, billing, settings, and reporting.
1. Login
Open http://<SERVER_IP>:8080/manager/login from any device on the network, or http://localhost:8080/manager/login on the server computer itself.
Login Form
- Username — text field
- Password — masked password field
- Tap Sign In to log in
- If the credentials are incorrect, an error message is shown
Default credentials: admin / admin. Change these immediately in Settings.
2. Navigation
The manager interface has two main navigation elements:
Top Bar
- Hamburger menu (☰) — toggles the sidebar open/closed
- Restaurant name — displayed prominently
- Live clock — current time
- Notification bell (🔔) — shows unread notification count (capped at 99+). Click to open the notification dropdown.
- Logout — ends your session
Sidebar
The sidebar provides links to all management sections. The active section is highlighted. Sections are:
| Icon | Section | Purpose |
|---|---|---|
| 📊 | Dashboard | KPIs, revenue charts, order statistics |
| 📋 | Orders | Kanban board with all orders by status |
| 🍕 | Menu | Add, edit, delete, and manage menu items |
| 🪑 | Tables | View table occupancy, add/edit/delete tables |
| 🧾 | Billing | Search bills, process payments, manage billing |
| 📁 | Audit | Order history with filtering and PDF export |
| ⭐ | Feedback | Review customer star ratings and comments |
| 🔗 | URLs & QR | Access URLs and QR codes for all roles |
| 👥 | Customers | Search and manage customer data (GDPR) |
| 📈 | Analytics | Aggregate sales insights (no PII) |
| ⚙️ | Settings | All restaurant configuration |
💡 Demo Timer: If you are running in demo mode, a yellow timer bar appears at the bottom of the sidebar showing how much demo time remains. When time runs out, you will be redirected to the license activation page.
3. Dashboard
The dashboard gives a real-time snapshot of restaurant performance. It is the first page you see after logging in.
Time Range Selector
Tap any of these buttons at the top to change the data period for the KPI cards:
- Today — data from the current day (midnight to now)
- This Week — last 7 days
- This Month — current calendar month
- This Quarter — current quarter (Jan–Mar, Apr–Jun, Jul–Sep, Oct–Dec)
- This Year — current calendar year
The charts below the KPI cards are not affected by the time range selector — they show broader trends.
KPI Cards (16 Metrics)
The KPIs are grouped into 4 sets of 4 cards each:
Group 1 — Revenue Summary (for the selected time range):
- Revenue — total earnings for the selected period
- Orders — total number of orders placed
- Paid Orders — orders that have been fully paid
- Avg Order Value — average revenue per order
Group 2 — Payment Totals (for the selected time range):
- Card Payments — total amount paid via card
- UPI Payments — total amount paid via UPI
- Cash Payments — total amount paid via cash
- Cancelled Orders — total value of orders that were cancelled
Group 3 — Order Statistics (all-time):
- Total Orders — every order ever placed in the system
- Pending Revenue — total value of unpaid orders
- Order Velocity — average number of orders per day
- Kitchen Velocity — average number of items completed by the kitchen per day
Group 4 — Cycle & Lead Times (all-time):
- Avg Order Cycle Time — average time from order creation to payment (shown in hours + minutes)
- Avg Order Lead Time — average time from order creation to when the kitchen starts preparing
- Avg Kitchen Cycle Time — average time from prep start to cooking completion
- Avg Kitchen Lead Time — average time from order sent to kitchen to when prep actually starts
Charts
Three charts render below the KPIs using Chart.js:
- Daily Revenue — a line chart showing revenue over the last 7 days. Each day is a data point, so you can spot trends (busy days, slow days).
- Order Status — a doughnut chart showing the distribution of all orders by their current status. Helps you see how many orders are pending, in progress, served, etc.
- Earnings by Payment Type — a doughnut chart breaking down revenue by payment method (Cash vs Card vs UPI).
4. Orders (Kanban Board)
The orders page displays an 8-column kanban board showing every order grouped by its current status. This gives a bird's-eye view of all active orders in the restaurant.
The 8 Columns
| Column | Header Color | Cards Show Orders That Are... | Action Available |
|---|---|---|---|
| Pending Approval | Gray | Waiting for the manager to approve before the kitchen sees them | Approve button |
| In Kitchen | Yellow | Being prepared by the kitchen staff | — |
| In Service | Purple | Being served to the customer by waitstaff | — |
| Served | Green | All items delivered to the customer | — |
| Bill Requested | Orange | Customer has asked for the bill | Links to billing detail |
| Paid | Gray (dimmed) | Payment has been recorded, awaiting customer acceptance | Accept Bill |
| Accepted | Green | Customer has accepted the bill, session can end | Show Bill link |
| Cancelled | Red | Order was cancelled | — |
Order Cards
Each card in the kanban displays key information at a glance:
- Order number
- Date the order was placed
- Customer name
- Table number
- Item count (e.g., "4 items")
- Total amount
Click any card to open the full Order Detail page.
Column Count Badges
Each column header shows how many orders are currently in that stage. This helps you quickly identify bottlenecks (e.g., if "Pending Approval" has 20 orders, you know you need to approve some).
Creating a Manual Order
Use the Manual Order button to place an order on behalf of a customer (e.g., for phone-in orders or walk-in customers who prefer not to use the QR menu):
- Tap Manual Order
- A modal dialog opens with the following fields:
- Customer Name (required) — name of the customer
- Phone (required) — 10-digit phone number (validated)
- Email (optional) — email address (format validated if provided)
- Below the customer fields is a searchable list of menu items. Type to filter, or scroll through the list. Use + / − buttons to add items with quantities.
- At least one item must be selected
- Tap Place Order to submit
Manual orders go through the same approval pipeline. They initially appear in the Pending Approval column.
Auto-Refresh
The kanban board refreshes automatically every 15 seconds to reflect status changes from the kitchen and server.
5. Order Detail Page
Click any order card in the kanban to open the full order detail page. This provides complete information about a single order.
Header
- Order number and date
- Live elapsed timer — pauses when the order reaches ACCEPTED status
- Status badge — color-coded current status
Actions
- Approve Order — a green button visible only when the order is in PENDING_APPROVAL status. Tapping it sends the order to the kitchen. A text feedback box lets you add a note.
- Change Order Status — a dropdown with all possible statuses and an Update button. This allows manual override of an order's status (useful for correcting mistakes or handling edge cases). Hidden for PAID and ACCEPTED orders.
Sections
Customer Details: Shows the customer's name, table number, contact number, email, and occasion. If a QR code is available, it is displayed as an SVG.
Bill Generated: When the order is PAID or ACCEPTED, this card shows the grand total with a Show Bill link to the full billing detail page.
Customer Feedback: If the customer has submitted feedback, this card displays the star rating and written comment.
Order Items Table: Lists every item in the order with:
- Item name
- Quantity
- Unit price
- Subtotal
- Individual status badge (color-coded for each stage from PENDING_APPROVAL through SERVED/SKIPPED)
- CGST and SGST breakdown at the bottom
- Grand Total at the bottom
Timeline: A chronological list of every status change that has occurred for this order. Each entry shows:
- Timestamp — when the change happened
- Who — which role made the change (e.g., "Manager", "Kitchen", "Server", "Customer")
- From → To — the previous status and the new status
The timeline is invaluable for understanding order flow and resolving disputes.
6. Menu Management
Manage all food and beverage items that appear on the customer menu.
Viewing the Menu
- Items are displayed as a card grid
- Use the search bar to filter items by name or category
- Each card shows: name, price, discount price (if any), category, featured status, and availability
- A count at the top shows "X of Y items" (e.g., "12 of 15 items")
Adding a New Item
Tap + Add Item to expand the add form:
| Field | Required | Description |
|---|---|---|
| Name | Yes | Item name as it will appear on the customer menu |
| Price | Yes | Selling price (must be a positive number) |
| Discount Price | No | Promotional price if the item is on sale. If set, the original price appears with strikethrough on the customer menu. |
| Category | Yes | Food category (Starters, Main Course, Desserts, Beverages, etc.) |
| Description | No | Brief description of the item |
| Ingredients | No | List of ingredients (shown to customers) |
| Allergens | No | Allergen information (shown to customers) |
Editing an Item
Tap the Edit button on any item card to modify it. The edit modal includes all the same fields as the add form, plus a Featured item checkbox. Marking an item as Featured adds a yellow highlight and places it in the featured carousel on the customer menu.
Toggle Availability
Tap the eye icon on any item card to toggle it between available and unavailable. Unavailable items are shown with reduced opacity on the customer menu and cannot be ordered. This is useful for items that are temporarily out of stock.
Deleting an Item
Tap the Delete button and confirm in the dialog. This permanently removes the item from the system. Deleted items cannot be recovered.
7. Tables
Manage your restaurant's table layout and view real-time occupancy.
Occupancy Grid
Tables are displayed in a responsive grid (4 columns on desktop). Each table card shows:
- Table number and capacity
- Status indicator with color:
- 🟢 Available — green border, table is free
- 🟠 Occupied — orange border, table is in use (shows guest name and elapsed time)
- 🟣 Reserved — purple border, table is reserved (lock icon)
- Takeaway — a special teal card shows the number of active takeaway orders; tap it to view takeaway order details
Table Actions
- Toggle Reserve: Tap the lock/unlock icon on any table to toggle between Available and Reserved status. Reserved tables remain available in the grid but show the reserved indicator.
Table Management Panel
Open the table manager to add, edit, or delete tables:
- Add Table: Enter a table number and capacity, then tap Add Table. New tables are immediately available for customer seating.
- Edit Table: Change the table number or capacity inline, then tap Save.
- Delete Table: Remove a table permanently. This cannot be undone.
8. Billing
The billing section is where you search for orders, process payments, and manage the complete billing lifecycle.
Search Bills
Search for any bill using one or more of these filters:
- Customer Name — partial name search
- Phone — phone number search
- Email — email search
- From Date / To Date — date range filter
Tap Search to execute. Results show order number, customer name, contact, date, total amount, and payment status badge. Use the result count to know how many matches were found.
Bill Requests from Customers
This section lists orders where customers have tapped Request Bill on their tracking page. Each entry shows:
- Order number, customer name, table number, item count, total amount
- A bill icon indicating the bill has been requested
- Click to open the billing detail page for that order
Other Unpaid Orders
Orders that have been served but not yet billed. Each entry shows the full order details including:
- Order number, status badge, customer name, table, date
- Item breakdown with quantities and line totals
- Full tax summary: Subtotal, CGST, SGST, IGST, Grand Total
Paid — Awaiting Acceptance
Orders where payment has been recorded but the customer has not yet accepted the bill on their tracking page. Shows a warning if the customer requested to pack leftovers.
Accepted Bills
Orders that the customer has accepted. Shows invoice/order number, date, customer, table, total, and an "Accepted" label.
The billing page auto-refreshes every 10 seconds.
9. Bill Detail Page
Click any order from the billing page to open its detailed bill view.
Bill Display
A full GST-compliant thermal receipt format showing:
- Restaurant Information: Name, address, contact number, GSTIN, FSSAI license number
- Invoice/Order Number and Date
- Customer Information: Name, contact, table number
- Items Table with columns: #, Item, Qty, Actual, Rate, Disc., CGST, SGST, Total
- Financial Summary: Taxable Value, Discount Adjustment, CGST, SGST, Grand Total
- Payment Method — shown once paid (Cash, Card, or UPI)
- QR Code — SVG QR code for reference
- Savings Message — total discount/savings if any discounts were applied
- Pack Leftovers note if the customer requested it
- Footer: "Thank you! Visit again!" and GST compliance note
Tap Print to print the bill in a thermal-receipt-friendly format. The print layout is optimised for 80mm thermal printers.
Process Payment
When an order is in BILL_REQUESTED status, a payment section appears:
- Select the Payment Method from the dropdown:
- Cash — for cash payments at the table
- Card — for card/terminal payments
- UPI — for UPI/QR payments (Google Pay, PhonePe, Paytm, etc.)
- Tap Pay [amount] to record the payment
- A success/failure message is displayed
- Once paid, the bill updates to show the payment method and paid status
Back Navigation
A Back to Billing link returns you to the billing dashboard.
10. Audit
The audit page provides a searchable, filterable history of all orders with the ability to export as PDF.
Filters
- Period Presets: Daily, Weekly, Monthly — these auto-adjust the date range and load data immediately
- Custom Dates: Manually set Start Date and End Date, then tap Load
Summary Bar
When orders are loaded, a summary bar shows:
- Total Orders — count of orders in the selected range
- Paid — count of paid orders
- Unpaid — count of unpaid orders
- Total Revenue — sum of all paid amounts
Order List (Accordion)
Orders are listed in an expandable accordion. Each entry shows:
- Invoice/Order number
- Customer name
- Date
- Total amount
- Paid/Unpaid badge
- Payment method label (if paid)
Click any entry to expand it and view the full thermal bill with items table, taxes, totals, QR code, and payment info.
Export PDF
Tap Export PDF to generate a print-ready document containing all bills currently displayed. The print layout is optimised for A4 paper with multiple bills per page.
11. Feedback Review
View all customer feedback in one place.
Feedback Grid
Cards are displayed in a 4-column responsive grid. Each card shows:
- Order number
- Star rating — filled and empty stars (1–5)
- Comment preview — first 2 lines of the written comment (if any), truncated with "..."
- Customer name
- Table number
- Date
Feedback Detail Dialog
Click any card to open a modal with the full comment text, complete star rating, all customer details, and order information.
12. URLs & QR Codes
This page displays all access URLs with QR codes for easy sharing.
Four Sections
Each section shows:
- Role name (Customer Menu, Kitchen Display, Server Display, Manager)
- IP-based URL — e.g.,
http://192.168.1.100:8080/customer - Hostname URL — e.g.,
http://my-server.local:8080/customer(uses Bonjour/mDNS) - Copy button — copies the URL to your clipboard
- QR Code — scan with any phone camera to open the page instantly
Network Setup Instructions
A note at the bottom explains the network requirements:
- All devices must be on the same WiFi network
- The IP URL works on any connected device
- The hostname URL works if your network supports Bonjour/mDNS (most home/office networks do)
- If a device cannot connect, check firewall settings
13. Customers
Search and manage customer data with built-in GDPR/CCPA compliance tools.
Search
Type a name, phone number, or email in the search bar. Results update as you type (debounced) or tap the search button. A count shows how many customers match your search.
Customer List
Results are displayed in a table with columns:
- Name
- Contact — phone number
- Table # — last known table
- Status — Active (green) or Inactive (gray) badge
- Delete Data — button to initiate data erasure
Deleting Customer Data (GDPR)
Tap Delete Data on any customer. A confirmation modal explains the process:
- Personal data (name, phone, email) will be permanently deleted
- Order history will be anonymised (the customer will show as "Deleted User")
- Records are preserved for legal and accounting purposes (you cannot delete financial records)
- This action cannot be undone
Two buttons: Cancel (aborts the deletion) or Delete Permanently (executes the deletion with a loading state).
14. Analytics
View aggregate sales insights. All data is anonymised — no personally identifiable information (PII) is shown.
Summary Cards
- Total Revenue — all-time revenue from paid orders
- Top Item — the best-selling menu item (name + quantity sold)
- Peak Hour — the hour of the day with the most orders placed (label + order count)
- Top Category — the highest-selling category
Charts (Chart.js)
- Top Selling Items — horizontal bar chart showing quantity sold per item
- Hourly Order Volume — bar chart showing orders placed in each hour of the day
- Sales by Category — pie chart showing revenue distribution by category
Item Sales Detail Table
A complete table listing every menu item with:
- Item name
- Qty Sold — total quantity sold all-time
- Revenue — total revenue generated by this item
15. Settings
The settings page controls every configurable aspect of your restaurant. Changes are saved with a single Save Settings button at the bottom.
Restaurant Settings
| Field | Description | Where It Appears |
|---|---|---|
| Restaurant Name | Your restaurant's name | Customer menu header, bills, manager interface |
| Tagline | A short subtitle (e.g., "Fine Dining Since 2010") | Customer menu below the restaurant name |
| GST Rate % | Tax percentage (default: 18) | Bill calculations (split equally into CGST + SGST) |
| Address | Restaurant street address | Bills and receipts |
| Contact Number | Restaurant phone number | Bills and receipts |
| GSTIN | GST Identification Number (auto-uppercased) | Bills and receipts |
| FSSAI License No | Food safety license number (auto-uppercased) | Bills and receipts |
PIN Settings
- Kitchen PIN — 10-digit access code for kitchen staff (max 10 characters)
- Server PIN — 10-digit access code for server staff (max 10 characters)
When either PIN is changed, all existing sessions for that role are immediately invalidated. Staff will need to log in again with the new PIN.
Manager Credentials
- Username — manager login username
- New Password — must be at least 4 characters
Tap Update Credentials to save the new username/password. A success or failure message is displayed.
Restaurant Logo
- Upload your restaurant logo (supported formats: PNG, JPG, GIF, WebP)
- Maximum file size: 5 MB
- Once uploaded, a preview is shown
- The logo appears on the customer registration page and feedback page
Appearance
- Theme: Choose between Light (sun icon) and Dark (moon icon) mode. All pages respect this setting.
- Show Bill to Customer: When checked, customers can see the full itemised bill (including prices and tax breakdown) on their order tracking page. When unchecked, customers only see the total amount.
Regional Settings
- Timezone: Select from 29 timezones (UTC through Pacific/Auckland)
- Currency: Select from 20 currencies (INR, USD, EUR, GBP, AUD, CAD, SGD, AED, JPY, CNY, KRW, MYR, THB, VND, PHP, IDR, NZD, CHF, SEK, DKK)
- Date Format: Select from 7 formats (DD/MM/YYYY, MM/DD/YYYY, YYYY-MM-DD, DD-MM-YYYY, MM-DD-YYYY, DD.MM.YYYY, DD/MM/YY)
Subscription Information
Displays the current license status:
- Customer ID
- Status (Active or Expired)
- Start Date
- End Date
- Days Remaining
- Enabled Modules
A Renew License link takes you to the license activation page.
Saving Settings
The Save Settings button at the bottom saves all changes (restaurant settings, PINs, theme, regional settings) in one request. A success message confirms the save.
Notifications
The notification system keeps all roles informed of important events in real time.
Where Notifications Appear
- Manager, Kitchen, Server: A bell icon (🔔) in the top bar shows an unread count badge (capped at 99+)
- Customer portal: Toast notifications pop up in the top-right corner for order updates
Notification Dropdown (Manager/Kitchen/Server)
Click the bell to open the dropdown:
- Header: "Notifications"
- Mark all read: A button to clear all unread notifications at once (visible only when there are unread items)
- Notification list: Each notification shows:
- Type-specific icon (new order, order approved, food ready, bill paid, feedback submitted, etc.)
- Title and message describing the event
- Relative time (e.g., "2m ago", "1h ago")
- Blue dot indicator if the notification is unread
- Click any notification to:
- Mark it as read (removes the blue dot)
- Navigate to the relevant page (e.g., clicking a "New Order" notification opens the order detail)
- Empty state: When there are no notifications, a "No notifications" message is shown
Notification Types
| Event | Who Sees It |
|---|---|
| New order placed | Manager |
| Order approved | Kitchen |
| Food ready for pickup | Server, Manager |
| Items being served | Manager |
| Items served | Manager |
| Bill requested | Manager |
| Bill paid | Manager |
| Customer feedback submitted | Manager |
How It Works
- Notifications are polled from the server every 30 seconds
- The count badge updates without refreshing the page
- Notification history is stored and accessible even after the page is refreshed
Troubleshooting
💡 General Tip: If any page seems stuck or outdated, simply refresh the page (F5, Ctrl+R, or pull-to-refresh on mobile).
Connection Issues
| Problem | Likely Cause | Solution |
|---|---|---|
| Cannot connect from another device | Devices are on different WiFi networks | Ensure all devices are on the same network. Check the WiFi name (SSID). |
| Page loads but shows no data | Server may have restarted or demo expired | Refresh the page. If the demo expired, reactivate it at /license. |
| "Address already in use" error on server | Another instance is running | Kill the existing process and restart. |
| QR code URLs don't work | Wrong IP address or port | Check the manager's URLs page for the correct IP and port. |
Login Problems
| Problem | Solution |
|---|---|
| Manager login shows error | Check username and password. Default is admin/admin. If changed, ask the manager. |
| Kitchen/Server PIN not working | Check with the manager — the PIN may have been changed. Default kitchen: 1234567890, server: 0987654321. |
| Session expired | Sessions last 24 hours. Log in again. PIN/password changes invalidate all active sessions immediately. |
Order & Kitchen Issues
| Problem | Solution |
|---|---|
| New order not appearing in kitchen | Check if the order needs approval in the manager Orders page (Pending Approval column). Approve it first. |
| Kitchen display not updating | Refresh the page. Check if the server is still running. |
| Order stuck on wrong status | Manager can manually change the order status from the Order Detail page using the dropdown. |
| Item accidentally marked as served | Manager can correct the item status from the Order Detail page's status dropdown. |
Billing Issues
| Problem | Solution |
|---|---|
| Customer cannot see the bill | Check that "Show Bill to Customer" is enabled in Settings. Ensure the order has been marked as PAID. |
| Payment not going through | Ensure a payment method is selected. Check the order status is BILL_REQUESTED. |
| Wrong GST rate on bill | Update the GST Rate % in Settings and save. Already-created bills are not recalculated. |
Demo Mode
| Problem | Solution |
|---|---|
| Demo expired during use | The system wipes data and resets. Start a new demo at /license with key demo. |
| Demo timer showing in sidebar | This is normal — it shows remaining demo time. Save your work if time is running low. |
Default Credentials
The system comes with these default credentials. Change them immediately in the manager Settings for security.
| Role | Type | Credential |
|---|---|---|
| Manager | Username | admin |
| Manager | Password | admin |
| Kitchen | PIN | 1234567890 |
| Server | PIN | 0987654321 |
| Demo License | License key | demo (enter at /license) |
📌 Billing & GST Note: GST is calculated as CGST + SGST split. The GST rate percentage is configurable in Settings. All bills include GSTIN, FSSAI, taxable value, tax breakdown, and other required compliance fields.
© 2026 Konnexo Resto. All rights reserved.