Back to Documentation

Waiter Module

The Waiter module is where front-of-house staff spend most of their time. View the interactive floor map, take orders at tables, coordinate kitchen pickups, manage split checks, and keep track of every active order -- all in real time.

Real-time updates throughout. The Waiter module uses WebSocket (MQTT) connections so that table status changes, new kitchen-ready items, and order updates appear instantly -- no manual refresh needed. Sound notifications alert you when items are ready for pickup.

Dashboard & Floor Map

The Dashboard is the waiter's home screen and the single most important view in the entire module. It presents an interactive, real-time floor map of your restaurant where every table is rendered as a tappable shape -- rectangular, round, or diamond -- that you can select to begin taking orders, review existing checks, or process payments. Two main tabs at the top of the screen -- Tables and Kitchen -- let you switch between floor management and the kitchen pickup queue at any time without losing context.

Think of the Dashboard as your digital version of walking the floor. In a traditional restaurant, a waiter might physically walk through the dining room to see which tables are occupied, which are waiting for food, and which need to be bussed. The Dashboard gives you all of that information at a glance. For example, when you start your Friday evening shift, you open the Dashboard and immediately see that Tables 1, 4, and 7 are green (available), Tables 2, 3, and 5 are amber (occupied with active orders), and a purple temporary table has been created for a takeout order. You know exactly where you stand before you greet your first guest.

The floor map layout is configured by your restaurant's admin in the Admin module. Tables are arranged to mirror the physical layout of your venue, so the position of a table on screen corresponds to where it sits in real life. The map supports multiple zones or areas (e.g., “Patio,” “Main Floor,” “Bar”), and you can filter to show only a single zone at a time. This is especially valuable in large venues where a single waiter may be responsible for just one section.

Key points to keep in mind:
  • Table positions and shapes are managed by administrators. If a table appears in the wrong location, contact your manager to update the floor plan in the Admin module.
  • The “Show only my tables” toggle filters based on table assignments set in Admin. If you do not see any tables when this toggle is active, it means no tables have been assigned to your account for the current shift.
  • The map updates in real time via WebSocket (MQTT). If another waiter opens a table or a kitchen item becomes ready, your Dashboard reflects the change instantly without any manual refresh.
  • Zone filtering persists for your session. If you select “Patio,” you will continue to see only patio tables until you clear the filter or switch zones.
  • Notification badges on the Kitchen tab and sidebar buttons update in real time. A red badge with a number indicates how many items are currently ready for pickup.

Table status colors

ColorStatusMeaning
GreenAvailableThe table has no active order and is ready for seating.
Amber / OrangeOccupiedThe table has at least one active (open) order.
PurpleTemporary TableAn ad-hoc table created for takeout, catering, or overflow seating.
BlueQuick OrderA streamlined temporary order created via the Quick Order button.
Gray (dimmed)Filtered OutThe table belongs to another waiter when the 'Show only my tables' filter is active.

When to use

  • At the start of a shift, to see which tables are available, occupied, or assigned to you.
  • To quickly locate a specific table by area or section in a multi-zone restaurant.
  • To access the Kitchen tab and check for ready-for-pickup items.
  • To create a temporary table or quick order for walk-in takeout guests.
  • To monitor the overall state of the restaurant at a glance during service.

How to use

  1. Open the Waiter module from the main application menu. The Tables tab loads by default, showing the interactive floor map with all tables for your restaurant.
  2. Use the area / section filter in the left sidebar to narrow the view to a specific zone. For example, selecting “Patio” hides all indoor tables and shows only the outdoor section. To clear the filter, tap “All Areas” or deselect the current zone.
  3. Toggle “Show only my tables” to hide tables assigned to other waiters. This is particularly useful during busy service when you want to focus on your section without visual noise from the rest of the floor.
  4. Pan the map by dragging with one finger (touch) or clicking and dragging (mouse). Pinch to zoom on touch devices, or use the zoom controls in the corner of the map. Swipe gestures are fully supported on tablets and phones. On desktop, you can also scroll to zoom.
  5. Each table shape on the map displays its table number in the center and uses a color-coded background to indicate its current status (see the color table above). The shape itself -- rectangular, round, or diamond -- mirrors the physical table type configured in Admin.
  6. Tap a table to open its order page. If the table already has an active order, you will see the existing items in the left-side cart and can add more. If the table is empty (green), a new blank order is started automatically.
  7. Switch to the Kitchen tab at the top of the screen to see items that the kitchen has marked as ready for pickup. A badge on the tab shows the count of pending items. See the Kitchen Pickup section for full details.
  8. The left sidebar also provides quick-access buttons: Temp Table creates an ad-hoc table (see Temporary Tables), Quick Order starts a streamlined order, and All Checks opens the comprehensive order list (see All Checks View).
  9. Notification badges appear on the Kitchen tab and on sidebar buttons in real time. When the kitchen marks an item as ready, the badge count increments and a sound alert plays if the item belongs to one of your assigned tables.
If you are working in a large venue with multiple floors or zones, use the area filter to load only the section you are responsible for. This reduces visual clutter, speeds up table selection, and prevents accidentally opening orders for tables outside your section. You can always switch zones by tapping a different filter option.
Do not rely solely on the “Show only my tables” filter if table assignments have not been configured in Admin. When no assignments exist, enabling this filter will show zero tables, which can be confusing. Ask your manager to confirm that table assignments are set up before your first shift.

Taking Orders

Tapping a table on the floor map opens the order page, which is the core workflow of the Waiter module. The screen is split into two distinct panels: the left side shows the current cart (all items, quantities, modifiers, running subtotal, discounts, and total) while the right side displays the full restaurant menu for browsing and adding new items. This two-panel layout is designed so you never have to switch screens -- everything you need to build, review, and submit an order is visible at once.

Consider a typical scenario: a family of four sits at Table 5. You tap Table 5 on the floor map, and the order page opens with an empty cart on the left. As the father orders a steak, you tap “Steak” from the menu on the right. A modifier panel opens (see Modifiers & Notes) where you select “Medium Rare” and add a note about a nut allergy. The steak appears in the cart on the left with its modifiers listed below it. You continue adding items for the rest of the family. When the full order is built, you press “Send to Kitchen” and the order is transmitted instantly to the kitchen display.

The cart is not just a static list -- it is a fully interactive management tool. You can adjust quantities, remove items, reorder entries, and even change modifiers on items that have already been added. The cart also shows a real-time running total that updates as you add or remove items, so you always know the current cost of the order. If a discount has been applied (for example, a happy hour promotion), it appears as a separate line item with the adjusted total below.

Key points to keep in mind:
  • Items are not sent to the kitchen until you explicitly press “Send to Kitchen” or “Stay.” Adding items to the cart only stages them locally on your device.
  • If you navigate away from the order page without sending, unsent items may be lost. Always confirm the order is submitted before leaving.
  • The Dine-in / Takeout toggle affects how the order is printed and tracked. Switching to Takeout after items have been sent does not retroactively change kitchen tickets already printed.
  • If a table already has a previously sent order, new items you add will be appended to the existing check. They are sent as a new round but appear on the same bill.
  • Quantity adjustments using the +/- buttons update the cart total instantly. However, once an item has been sent to the kitchen, changing its quantity creates a new kitchen ticket for the difference rather than modifying the original ticket.

Cart actions reference

ActionGesture / ButtonResult
Add itemTap item on menuAdds 1 unit to cart; opens modifier panel if modifiers exist
Increase quantityTap + button in cartIncrements quantity by 1 and updates totals
Decrease quantityTap - button in cartDecrements by 1; removes item if quantity reaches 0
Remove itemSwipe left (touch) or tap trash iconRemoves item entirely from the cart
Edit modifiersTap item row in cartRe-opens modifier panel with current selections
Switch order typeTap Dine-in / Takeout toggleChanges order type for the entire check
Send orderTap 'Send to Kitchen'Transmits all unsent items to kitchen; returns to floor map
Send and stayTap 'Stay'Transmits all unsent items but keeps you on the order page

When to use

  • A guest is ready to order and you need to build a new check or add to an existing one.
  • You need to adjust quantities or remove items before sending to the kitchen.
  • You want to switch the order type between Dine-in and Takeout.
  • A guest at an occupied table wants to add a second round of drinks or a dessert course.
  • You need to review the current running total before the guest asks for the bill.

How to use

  1. Open the order page by tapping a table on the floor map. If the table has an existing order, the cart on the left side pre-loads with all previously sent items. If the table is new (green), the cart starts empty.
  2. Browse or search the menu on the right panel. Tap any item to add it to the cart. Each tap adds one unit of that item. If the item has modifiers configured, the modifier detail panel opens automatically before the item is added (see Modifiers & Notes). For items without modifiers, the item goes directly into the cart.
  3. Adjust quantities using the and buttons next to each item in the cart. The subtotal and total update instantly as you change quantities.
  4. Remove an item by swiping left on it in the cart on touch devices, or by clicking the delete icon on desktop. The item is removed and totals recalculate immediately.
  5. Edit modifiers on a cart item by tapping that item's row in the cart. The modifier panel reopens with the current selections pre-loaded. Make your changes and tap “Update” to save.
  6. Review the totals at the bottom of the cart. You will see the Subtotal (sum of all items), any applied Discounts (shown as a negative line item), and the final Total. Tax calculations, if enabled, appear as a separate line.
  7. Select the order type using the Dine-in / Takeout toggle at the top of the cart. This affects how the order appears on kitchen tickets and in reports. The default is Dine-in for table orders and Takeout for temporary table or quick orders.
  8. Send the order by pressing “Send to Kitchen” . All unsent items in the cart are transmitted to the kitchen display system (KDS) and/or kitchen printer. You are automatically redirected back to the floor map. The table's color changes to amber (occupied) if it was previously green.
  9. Alternatively, press “Stay” to submit the order to the kitchen but remain on the order page. This is the preferred workflow when a guest is still deciding or when you expect to add more items momentarily. The sent items are marked with a subtle indicator in the cart, and the cart remains open for additional entries.
  10. To return to the floor map without sending, press the back arrow. Note that any unsent items in the cart will not be saved.
Use the “Stay” button when a table is still deciding. The order is sent to the kitchen immediately so the kitchen can begin preparation, but you stay on the page so you can keep adding items as the guests finalize their choices. This is especially useful for large groups ordering in stages -- appetizers first, then entrees a few minutes later.
Switching the order type from Dine-in to Takeout (or vice versa) after items have already been sent to the kitchen will only affect items sent going forward. Previously printed kitchen tickets retain the original order type. If you need to change the type for the entire order, inform the kitchen verbally as well.

Menu Navigation

The right panel of the order page displays your restaurant's complete menu in a structured, browsable format designed for speed. At the top of the panel, categories are presented in a carousel grid -- a paginated layout showing 4 categories per row across 2 rows (8 categories per page). You swipe left or right on touch devices, or use arrow navigation buttons, to move between pages of categories. This carousel approach ensures that even restaurants with dozens of categories can be navigated quickly without overwhelming the screen.

Below the category carousel, menu items appear as tappable cards. Each card shows the item name, price, and optionally a thumbnail image. The menu panel includes several controls that help you locate items faster: a keyword search that filters across all categories in real time, a menu groups filter that applies higher-level grouping (such as “Breakfast,” “Lunch,” or “Happy Hour”), an image toggle to switch between visual cards and a compact text-only list, and a light/dark mode toggle for the menu panel.

Imagine it is a busy Saturday brunch and a guest asks for the “Eggs Florentine.” Rather than scrolling through the entire menu, you tap the search icon, type “egg,” and instantly see all items with “egg” in their name -- across every category. You tap “Eggs Florentine,” select the relevant modifiers, and it is in the cart within seconds. This search-first workflow is typically 3-4 times faster than manually browsing categories during peak hours.

Key points to keep in mind:
  • The category carousel layout (4 per row, 2 rows) is fixed. If you have many categories, they paginate automatically. Swipe or tap arrows to navigate.
  • Menu Groups are a separate layer from categories. A menu group like “Happy Hour” can span multiple categories (e.g., showing discounted appetizers AND drinks together). Groups are configured in the Admin module.
  • The search function is instant and cross-category. It filters by item name as you type. There is no need to select a category first -- search works globally across the entire menu.
  • Hiding images via the toggle does not delete images -- it only switches the display to a compact text list. You can re-enable images at any time during the same order session.
  • Dark mode applies only to the menu panel, not the entire app. This is intentional -- in dimly lit dining rooms, dark mode reduces screen glare on the menu side while keeping the cart panel readable.

Menu panel controls

ControlIconFunction
Category CarouselSwipe / ArrowsBrowse paginated category tiles (4x2 grid per page)
Menu GroupsFilter iconApply a higher-level grouping across categories (e.g., Breakfast, Happy Hour)
SearchSearch iconType keywords to find items across all categories instantly
Image ToggleImage iconShow or hide item thumbnail images for a compact or visual layout
Light / Dark ModeSun / Moon iconSwitch the menu panel between light and dark themes

When to use

  • When browsing for a specific item to add to an order.
  • When filtering the menu by category or group to speed up item selection.
  • When you need to quickly search for an item by name during a rush.
  • When switching between meal periods (e.g., from Lunch to Happy Hour menu group).
  • When you want a denser text-only view to scan items faster without images.

How to use

  1. On the order page, look at the right-side panel. The top area shows menu categories in the swipeable carousel grid. Swipe left or right on touch devices, or tap the arrow buttons at the edges, to browse pages of categories. Each page shows up to 8 category tiles.
  2. Tap a category to filter the item list below to only that category. The selected category tile is highlighted with an accent border. Items appear as cards in a scrollable grid below the carousel.
  3. To apply a Menu Group filter, tap the filter icon near the top of the menu panel. A dropdown or sidebar shows available groups (e.g., “Breakfast,” “Happy Hour,” “Kids Menu”). Selecting a group narrows both the category carousel and the item list to only items belonging to that group. To clear the group filter, tap “All” or deselect the active group.
  4. To search by keyword, tap the search icon at the top of the menu panel. A text input appears. Begin typing the item name (e.g., “burg” for “Burger”). The item list filters in real time as you type, showing matches from all categories regardless of which category is currently selected. Clear the search field to return to the category view.
  5. To toggle item images, tap the image button in the menu panel toolbar. When images are hidden, items display in a compact text list with just the name and price, allowing you to see more items per screen. When images are shown, each item card includes a thumbnail photo for visual reference.
  6. To switch light/dark mode, tap the / toggle. Dark mode inverts the menu panel to a dark background with light text, reducing screen glare in dimly lit environments like bars or evening dining rooms. This affects only the menu panel -- the cart panel and navigation remain in the standard theme.
  7. Tap an item card to add it to the cart. If the item has modifiers configured (e.g., size options, toppings, cooking temperature), the modifier detail panel opens first so you can customize the order before it enters the cart. See Modifiers & Notes for full details. If the item has no modifiers, it is added directly to the cart with a quantity of 1.
  8. You can combine search with groups. For example, select the “Happy Hour” group first, then search for “wine” to find only happy-hour-priced wines. This layered filtering is powerful for restaurants with extensive menus.
During a busy rush, hide item images and use the search bar. Typing the first few letters of an item name is usually the fastest way to find and add it. Many experienced waiters never browse categories at all during peak service -- they rely entirely on search to keep order-taking under 30 seconds per guest.
Menu groups are configured in the Admin module. If you do not see a group you expect (e.g., “Happy Hour”), it may not have been created yet or may be scheduled for a specific time window. Contact your manager or admin to verify group configuration.

Modifiers & Notes

Modifiers are the system's way of handling item customization -- everything from cooking temperatures and portion sizes to extra toppings and dietary substitutions. When you tap a menu item that has modifiers configured, a detail panel slides open (either overlaying the menu or appearing beside it, depending on screen size). This panel is where you select all the customization options the guest wants, set the quantity, and write any special instructions for the kitchen.

The modifier system is organized into modifier groups. Each group represents a category of choices. For example, a “Burger” item might have three modifier groups: “Size” (Small, Regular, Large), “Cooking Temperature” (Rare, Medium-Rare, Medium, Well-Done), and “Extra Toppings” (Bacon, Avocado, Jalapeños, Fried Egg). Each group is configured by your admin to be either single-select (you can pick only one option, like a size) or multi-select (you can pick multiple options, like several toppings). Some groups may also have minimum and maximum selection requirements.

Picture this scenario: a guest orders a pizza and says, “I want the large with extra mozzarella, mushrooms, and peppers, but no olives -- and can you write ‘well done’ on the ticket?” You tap “Pizza” on the menu, the modifier panel opens, you select “Large” from the single-select Size group, tap “Extra Mozzarella,” “Mushrooms,” and “Peppers” from the multi-select Toppings group (leaving Olives deselected), and then type “Well done please” in the special instructions field. The kitchen receives a clear, structured ticket with all selections plus the free-text note.

Key points to keep in mind:
  • Single-select groups allow only one option. Tapping a new option automatically deselects the previous one. These are typically used for mutually exclusive choices like size or temperature.
  • Multi-select groups allow multiple options. Each tap toggles an option on or off independently. These are used for additive choices like toppings.
  • Some modifier groups have minimum/maximum requirements. For example, a group might require at least 1 selection (you must choose a size) or cap selections at 3 (pick up to 3 toppings). The panel will not let you proceed if requirements are not met.
  • Modifier options may have additional costs. When you select an option with a price (e.g., “Extra Cheese +$1.50”), the total shown on the modifier panel updates immediately.
  • Legacy modifiers from older menu configurations appear in a separate section below the standard modifier groups. They function the same way (tap to toggle) but may not follow the single/multi-select group rules.
  • Special instructions are free-text and print exactly as typed on kitchen tickets and the KDS screen. Keep notes concise and clear.

Modifier group types

TypeSelection BehaviorExample
Single-selectOnly one option can be active at a timeSize: Small, Medium, Large
Multi-selectMultiple options can be toggled independentlyToppings: Bacon, Avocado, Egg
RequiredAt least one option must be selected before adding to cartCooking Temp: Rare, Medium, Well-Done
OptionalSelections are not mandatory; you can proceed without choosingExtras: Side of ranch, Extra napkins
CappedA maximum number of selections is enforcedPick up to 3 sauces

When to use

  • When a guest requests customizations (extra cheese, no onions, medium-rare, etc.).
  • When you need to set a specific quantity for an item before adding it to the cart.
  • When you need to leave a note for the kitchen about a particular item (allergies, preferences).
  • When modifying an item that is already in the cart (e.g., the guest changes their mind about a topping).
  • When ordering multiples of the same item with different customizations (e.g., two steaks at different temperatures).

How to use

  1. Tap a menu item that has modifiers configured. The detail panel slides open, displaying the item name, base price, and all available modifier groups.
  2. Set the quantity using the numpad at the top of the detail panel. The numpad allows you to type a specific number (e.g., “3” for three of the same item) rather than tapping the + button multiple times. This is especially useful for large group orders. Alternatively, use the +/- buttons beside the quantity display.
  3. Browse modifier groups. Each group is displayed as a labeled section with its options listed below. For single-select groups, options appear as radio-button-style selections -- tapping one automatically deselects any other in that group. For multi-select groups, options appear as checkbox-style toggles -- tap to select or deselect each one independently.
  4. Pay attention to required indicators. If a modifier group is required, it will be marked with an asterisk or label. The “Add to Cart” button remains disabled until all required groups have at least one selection.
  5. If the item has legacy modifiers, they appear in a separate section below the standard modifier groups. Legacy modifiers are simple tap-to-toggle options without the group structure. They work the same way -- tap to select or deselect.
  6. Scroll to the bottom of the detail panel to find the special instructions text field. Type any free-text notes for the kitchen here (e.g., “allergic to nuts,” “extra sauce on the side,” “birthday candle on dessert”). These notes are printed on the kitchen ticket and displayed on the KDS screen.
  7. Review the updated price at the bottom of the panel. The price reflects the base item cost plus any modifier surcharges. If you selected “Extra Cheese +$1.50” and “Bacon +$2.00,” the displayed price will be the base price + $3.50.
  8. Press “Add to Cart” to insert the fully customized item into the order cart. The item appears in the cart with all selected modifiers listed beneath the item name.
  9. To edit modifiers on an item already in the cart, tap that item's row in the cart panel. The detail panel re-opens with all current selections pre-loaded. Make your changes and press “Update” to save. The cart totals recalculate automatically.
  10. For multiple items with different modifiers (e.g., two steaks at different temperatures), add the first steak with its modifiers, then tap the menu item again to add a second instance with different selections. Each appears as a separate line item in the cart.
If a guest asks for a modification that is not available as a preset modifier option, use the special instructions text field. The kitchen will see it on the printed ticket and on the KDS screen. This is also the right place for allergy alerts -- type “ALLERGY: nuts” in all caps to make it stand out on the kitchen ticket.
Modifier selections with additional costs affect the item price immediately. Double-check the updated price at the bottom of the modifier panel before pressing “Add to Cart,” especially for high-cost options like premium proteins or extra portions. Once sent to the kitchen, price adjustments require manager intervention.

All Checks View

The All Checks View is a comprehensive order management screen that gives you visibility into every active order across the entire restaurant -- not just your own tables. It uses a split-screen layout: the right panel presents a filterable, searchable list of all orders, while the left panel displays full details and action buttons for whichever order you have selected. This view is the go-to screen for managers, shift supervisors, and any waiter who needs to find, review, or act on an order without navigating back to the floor map.

Consider a common end-of-shift scenario: a supervisor needs to close out all remaining orders before the restaurant shuts down. Instead of walking to each table and tapping through the floor map, they open the All Checks View, filter by “Open” status, and immediately see a list of every order that still needs attention. They can tap each one, review the details, process a payment, print a receipt, or apply a last-minute discount -- all from a single screen. The same view is equally useful mid-service when a guest calls over a different waiter and says, “I need my check for Table 12.” The waiter opens All Checks, searches for “12,” and has the order details in seconds.

The power of this view lies in its filtering and search capabilities. Status filter tabs at the top of the right panel let you narrow the list to only Open, Paid, or Closed orders. A text search bar lets you find orders by table number, waiter name, or even a specific item name. The combination of these tools means you can pinpoint any order in the restaurant within seconds, regardless of how many active checks exist.

Key points to keep in mind:
  • The All Checks View shows orders from all waiters, not just your own. This is by design -- it enables team collaboration and supervisor oversight. If you only want to see your own orders, use the “Show only my tables” filter on the Dashboard instead.
  • Paid orders are those where a payment has been processed but the order has not been formally closed. This is common when a waiter collects payment but has not yet cleared the table. Paid orders should be closed out promptly to keep the list clean.
  • Closed orders remain visible in the list for the duration of the business day (or session, depending on configuration). They provide a historical reference but cannot be modified.
  • Actions performed from the left panel (payment, print, discount, split) work exactly the same as performing them from the table's own order page. The All Checks View is simply a faster way to access them.
  • The search function matches against table numbers, waiter display names, and item names within orders. Searching for “steak” will show all orders that contain a steak item.

Status filter tabs

StatusWhat It ShowsTypical Use
OpenOrders actively being served; items may still be in kitchenManaging current service, adding items, taking more orders
PaidOrders where payment has been collected but not formally closedEnd-of-shift close-out, verifying payments, printing final receipts
ClosedFully completed orders (paid and closed)Historical reference, investigating past orders, shift reporting
All (default)Every order regardless of statusGetting a complete picture of the day's orders

Left panel actions

ActionIconDescription
Process PaymentCredit cardOpens the payment flow for the selected order (cash, card, or split payment)
Print CheckPrinterSends the check to the configured receipt printer for guest review
Apply DiscountReceiptOpens the discount selector to apply percentage or fixed-amount discounts
Split CheckSplitEnters the split check workflow to divide the order into sub-checks
View Order DetailsEyeExpands the full item list with modifiers, notes, and pricing breakdown

When to use

  • When you need a bird's-eye view of all current orders across the restaurant.
  • When looking up a specific order by table number, waiter name, or status.
  • When you need to process a payment, print a check, or apply a discount without navigating to the floor map first.
  • When a supervisor needs to monitor all active orders during a busy service.
  • When closing out remaining orders at the end of a shift.
  • When another waiter asks you to handle a payment for one of their tables.

How to use

  1. Open the All Checks view from the waiter sidebar or navigation menu. The screen loads with the split-panel layout: order list on the right, detail panel on the left (initially empty or showing the most recent order).
  2. The right panel lists every order. By default, all statuses are shown. Use the status filter tabs at the top of the panel to narrow the list:
    • Open -- orders still being served; items may still be in the kitchen or awaiting delivery.
    • Paid -- orders that have been paid but not yet formally closed. These are waiting for final close-out.
    • Closed -- fully completed orders. Useful for reference but not editable.
  3. Use the text search bar to find a specific order. You can search by table number (e.g., “12”), waiter name (e.g., “Sarah”), or item name (e.g., “Margherita”). The list filters in real time as you type.
  4. Tap an order in the right panel list. The left panel loads its full details: table number, assigned waiter name, a complete itemized list with modifiers and notes, any applied discounts, subtotal, tax (if applicable), total, amount paid, and remaining balance.
  5. From the left panel, use the action buttons to perform operations on the selected order:
    • Process a payment -- opens the payment dialog where you can select cash, credit card, or other configured payment methods. You can also process a partial payment.
    • Print the check -- sends the formatted check to the receipt printer so the guest can review the total before paying.
    • Apply a discount -- opens the discount selector. You can choose a percentage discount (e.g., 10% off) or a fixed amount (e.g., $5 off). Some discounts may require manager approval depending on your role and configuration.
    • Split the check -- enters the split check workflow where you can divide the order into multiple sub-checks. See Split Checks for the full process.
  6. After performing an action (e.g., processing a payment), the order's status in the right panel list updates in real time. A paid order moves from the “Open” filter to the “Paid” filter automatically.
The All Checks View is especially useful for shift supervisors who need to monitor the entire restaurant without walking to every table. Filter by “Paid” status to quickly find orders waiting to be closed out at the end of a shift. This is the fastest path to a clean close.
Discounts applied from the All Checks View follow the same permission rules as discounts applied from the order page. If your role does not have discount permissions, the discount button will be disabled or will require manager PIN approval. Check with your admin about your role's discount limits.

Kitchen Pickup

The Kitchen Pickup screen is the bridge between the kitchen and the dining room. It uses a two-column layout that tracks the complete lifecycle of prepared items from the moment the kitchen marks them as ready to the moment you deliver them to the guest's table. The left column shows items the kitchen has marked as “Ready for Pickup” -- these are sitting at the pass waiting for a waiter to collect them. The right column shows items you have already picked up and are carrying to tables, waiting for you to confirm delivery.

This two-step workflow (pickup, then deliver) exists for a reason. In a busy restaurant, a waiter might pick up multiple items for different tables in a single trip to the kitchen. The right column acts as a reminder of what you are carrying and which tables each item belongs to. For example, you walk to the pass, pick up a steak for Table 3 and a pasta for Table 7. Both move to the right column. You deliver the steak first and tap “Deliver” on Table 3's card. Then you walk to Table 7 and deliver the pasta, tapping “Deliver” on that card. This ensures nothing is forgotten, even when juggling multiple tables.

The screen is powered by real-time WebSocket (MQTT) connections. When the kitchen marks an item as ready on the KDS or kitchen printer, it appears in the left column of your Kitchen Pickup screen instantly -- no manual refresh, no polling. A sound alert also plays to grab your attention, which is critical during busy service when you might not be looking at the screen. Each item card shows the table number, the item name, a timer showing how long the item has been waiting, and a badge indicating whether the table is assigned to you (“Your Table”) or to another waiter.

Key points to keep in mind:
  • The “Your Table” badge appears on items belonging to tables assigned to you in the Admin module. Items for other waiters' tables show that waiter's name instead. You can still pick up items for other waiters -- the badge is informational, not a restriction.
  • The wait timer starts counting from the moment the kitchen marks the item as ready, not from when the order was placed. Long wait times indicate food sitting at the pass, which affects quality.
  • Sound alerts play only for items belonging to your assigned tables. Items for other waiters' tables appear silently in the list. This prevents alert fatigue in restaurants with many waiters.
  • If multiple items for the same table become ready simultaneously, they are grouped under a single card with the table number, allowing you to pick up all items for that table in one action.
  • The “Deliver” action in the right column is a confirmation step. It removes the item from your pickup list and updates the order status in the system. If you forget to tap “Deliver,” the item remains in the right column indefinitely.

Two-column layout reference

ColumnTitleContentsAction Button
LeftReady for PickupItems the kitchen has finished preparing, waiting at the passPick Up -- moves item to right column
RightPicked UpItems you have collected from the kitchen and are carrying to tablesDeliver -- confirms delivery and removes the item

Item card information

ElementDescription
Table NumberThe table the item belongs to, displayed prominently
Item NameThe menu item name with modifiers listed below
Wait TimerTime elapsed since the kitchen marked the item as ready
'Your Table' BadgeGreen badge shown when the table is assigned to you
Waiter Name BadgeShows the assigned waiter's name when it is not your table
Quantity IndicatorShows the count when multiple units of the same item are ready

When to use

  • When the kitchen has finished preparing items and you need to collect them from the pass.
  • When you need to confirm delivery of items to the correct table after collecting them.
  • When you hear a sound alert indicating new items are ready for one of your tables.
  • When you want to check whether any of your tables have items waiting at the pass.
  • When helping another waiter by picking up their items during a busy period.

How to use

  1. Open the Kitchen Pickup screen by tapping the Kitchen tab at the top of the Dashboard, or by selecting Kitchen Pickup from the sidebar navigation. The two-column layout loads immediately with any currently ready or picked-up items.
  2. Check the left column (“Ready for Pickup”). Each card represents an item or group of items waiting at the pass. Review the table number, item names, and the wait timer on each card. Cards with the “Your Table” badge are items for tables assigned to you and should be prioritized.
  3. Tap “Pick Up” on a card to acknowledge that you have physically collected the item from the kitchen pass. The card animates and moves from the left column to the right column. You can pick up multiple items from different tables before making your delivery rounds.
  4. Walk to the table and deliver the item to the guest. Once the item is on the table, return to the Kitchen Pickup screen (or use your device while at the table) and tap “Deliver” on the corresponding card in the right column. The card is removed from the list and the order is updated in the system.
  5. When a new item becomes ready, a sound alert plays (if the item belongs to one of your assigned tables) and the card appears in the left column instantly via the real-time WebSocket connection. There is no need to refresh the page or navigate away and back.
  6. To pick up items for another waiter, simply tap “Pick Up” on their items. The system does not restrict you from picking up items for tables not assigned to you. This is useful during rush periods when teamwork is essential.
  7. If you have picked up an item but realize you cannot deliver it yet (e.g., the guest stepped away from the table), the item remains in the right column until you explicitly tap “Deliver.” It will not time out or automatically return to the left column.
Keep the Kitchen Pickup screen open on a tablet near the pass. The sound notifications and real-time updates mean you never have to manually refresh -- new items appear the moment the kitchen marks them as done. For maximum efficiency, pick up all items for your section in a single trip rather than making individual trips for each item.
Items with long wait times (shown by the timer turning red or displaying a high number) indicate food that has been sitting at the pass. Pick these up immediately -- item quality degrades the longer food sits. If you notice consistently long wait times, it may indicate a staffing or communication issue that should be raised with management.

Split Checks

Split Checks is the feature that handles one of the most common requests in any restaurant: “Can we get separate bills?” When guests at the same table want to pay individually, the Split Checks workflow lets you divide a single order into multiple sub-checks, each with its own itemized list, totals, and independent payment processing. The feature is designed to be visual and intuitive, using drag-and-drop to move items between sub-checks.

Here is a typical scenario: four friends finish dinner at Table 8. Two of them shared a bottle of wine, one had a steak, and another had a salad. They want to pay separately, but they want to split the wine cost evenly between the two who drank it. You open the Split Check view, create four sub-checks (one per guest), drag the steak to Guest 1's sub-check, the salad to Guest 2's, and then use the “Split Evenly” feature on the wine bottle to divide its cost equally between Guest 3's and Guest 4's sub-checks. Each guest now has their own bill reflecting exactly what they owe.

The split check interface shows all sub-checks side by side on screen, each as a separate column or card. Items can be moved between sub-checks by dragging them with the grip handle. Each sub-check independently tracks its own subtotal, discounts, tax, and total. You can process payments on each sub-check independently -- one guest can pay cash, another with a credit card, and a third with a mobile payment -- all on the same table's order. This flexibility means you never have to awkwardly tell guests they all need to use the same payment method.

Key points to keep in mind:
  • Drag and drop is the primary mechanism for moving items between sub-checks. On touch devices, press and hold the grip handle on an item, then drag it to the target sub-check. On desktop, click and drag.
  • The “Split Evenly” feature divides a single item's cost equally across two or more sub-checks. It does not create duplicate items -- it creates proportional cost entries. The original item remains associated with one sub-check for kitchen tracking purposes.
  • Per-check payments are fully independent. Each sub-check can use a different payment method. A sub-check can also be partially paid (e.g., $20 cash now, remainder on card later).
  • Sub-check statuses are tracked individually: Open (no payment yet), Partially Paid (some payment collected), and Fully Paid (total covered). These statuses are visible on the split check screen.
  • Reverting a split is only possible when no sub-check has been paid. Once any payment is processed on any sub-check, the split becomes permanent and cannot be undone. This is the most important rule to communicate to guests before you start processing payments.
  • You can create as many sub-checks as needed. There is no practical limit -- if a table of 10 all want separate bills, you can create 10 sub-checks.

Split check actions

ActionHow ToNotes
Create sub-checkTap '+ New Sub-Check' buttonCreates an empty sub-check ready to receive items
Move itemDrag and drop using grip handleWorks on touch (press-hold-drag) and desktop (click-drag)
Split item evenlySelect item, tap 'Split Evenly', choose sub-checksDivides cost proportionally; original item stays on one sub-check
Process paymentTap payment button on individual sub-checkEach sub-check supports independent payment methods
Revert splitTap 'Revert Split' buttonOnly available when NO sub-check has been paid
Print sub-checkTap print button on individual sub-checkPrints a receipt for just that sub-check's items

When to use

  • When guests at the same table want separate bills.
  • When a group wants to split a shared item (e.g., a bottle of wine) evenly among specific guests.
  • When one guest wants to pay for specific items while others cover the rest.
  • When guests want to use different payment methods (cash, card, mobile) at the same table.
  • When a large group needs individual receipts for expense reporting.

How to use

  1. Open the order for the table you want to split. You can do this from the floor map by tapping the table, or from the All Checks View by selecting the order.
  2. Tap the “Split Check” button . The view transforms to show the original check on the left and an empty sub-check on the right. You can create additional sub-checks by tapping the “+ New Sub-Check” button.
  3. Drag and drop items from the original check into the appropriate sub-check. On touch devices, press and hold the grip handle on the left side of an item row, then drag it to the target sub-check column. On desktop, click and drag. As you move items, the totals on both the original check and the receiving sub-check update in real time.
  4. To split a shared item evenly (e.g., a bottle of wine shared by two guests), tap the item in the original check to select it, then choose the “Split Evenly” option from the action menu. A dialog asks you to select which sub-checks should share the cost. The item's price is divided equally among the selected sub-checks, and each sub-check shows its proportional share.
  5. Review each sub-check's totals. Each sub-check independently shows its own subtotal, any applicable discounts, tax, and total. Verify that the sum of all sub-check totals equals the original order total before proceeding with payments.
  6. Process per-check payments by tapping the payment button on each individual sub-check. Each sub-check supports its own payment method -- Guest A can pay cash, Guest B can pay by credit card, and Guest C can use a mobile payment app. You do not need to process all payments at once; you can handle them one at a time as guests are ready.
  7. Track sub-check statuses on screen. Each sub-check shows its current status: “Open” (no payment), “Partially Paid” (some payment received), or “Fully Paid” (total covered). Once all sub-checks are fully paid, the entire order is considered paid.
  8. If guests change their mind before any payment is processed, tap “Revert Split” to merge all sub-checks back into the original single check. All items return to the main check and the sub-checks are deleted.
The “Revert Split” button is permanently disabled once any sub-check has received a payment. Once a payment is processed on even one sub-check, the split becomes permanent and cannot be undone. Always confirm the split arrangement with all guests at the table before processing the first payment. If a mistake is made after payment, contact a manager for manual adjustment.
For the smoothest experience, ask the table how they want to split before you enter the split check view. Common patterns include: “each person pays for their own items,” “split the total evenly,” or “one person pays for appetizers, everyone else pays for their own entrees.” Knowing the plan upfront saves time and avoids rework.

Temporary Tables

Temporary tables are ad-hoc order points that do not correspond to a physical table on the restaurant's floor map. They solve a common operational problem: what do you do when you need to take an order but there is no table to attach it to? Takeout orders, catering requests, phone orders, bar tabs without a seated table, overflow seating during events -- all of these scenarios need a way to create, track, and process an order without a permanent table assignment. Temporary tables fill that gap.

There are two variants: Temp Tables and Quick Orders. Both create temporary order points, but they serve slightly different workflows. A Temp Table is a full-featured temporary table that appears on the floor map with a purple badge, supports QR code generation, and can be transferred to a regular table if the guest decides to sit down. A Quick Order is a more streamlined variant that appears with a blue badge and is optimized for fast, one-off orders that will be paid and closed quickly (like a walk-in takeout or a quick coffee order).

Consider this scenario: it is Friday evening and the restaurant is fully booked. A guest walks in and asks to place a takeout order for two pizzas. You do not want to tie up a physical table for a takeout order, so you tap “Temp Table” in the sidebar. A new purple-badged table appears on the floor map. You tap it, add the two pizzas with modifiers, and send the order to the kitchen. The guest gets a QR code they can scan to check order status. Twenty minutes later, the pizzas are ready, the guest pays, and the temporary table automatically disappears from the floor map. No physical table was ever involved, and the dine-in floor map stayed clean for the seated guests.

Key points to keep in mind:
  • Purple badge = Temp Table. These are full-featured temporary tables that support the complete order lifecycle including QR codes, order transfer, splitting, and all payment methods.
  • Blue badge = Quick Order. These are streamlined temporary order points designed for speed. They support the same ordering workflow but are optimized for quick transactions.
  • Temporary tables appear on the floor map alongside regular tables but are visually distinct due to their colored badges. They do not have a fixed position on the map -- they appear in a designated area or float at the edge.
  • The QR code feature is unique to temporary tables. When generated, it provides a scannable code that can be printed on a receipt or shown on screen. Guests can scan it to view their order status or, if self-service ordering is enabled, to add items to the order themselves.
  • Order transfer moves all items from a temporary table to a regular table. This is a one-way operation -- once transferred, the temporary table is removed and the order lives on the regular table. The transfer preserves all items, modifiers, and notes.
  • Temporary tables are automatically cleaned up when the order is fully paid and closed. You do not need to manually delete them.

Temp Table vs Quick Order comparison

FeatureTemp Table (Purple)Quick Order (Blue)
Floor map badgePurpleBlue
Full order workflowYesYes
QR code generationYesNo
Transfer to regular tableYesNo
Split check supportYesLimited
Auto-cleanup on closeYesYes
Best forTakeout, catering, overflow, phone ordersQuick walk-in purchases, coffee orders, bar snacks

When to use

  • When a walk-in guest places a takeout order and there is no dedicated takeout station on the floor map.
  • When you need a quick, one-off order without assigning it to a physical table (Quick Order).
  • When handling catering or special event orders that do not correspond to any table on the map.
  • When a guest calls in a phone order and you need to track it in the system.
  • When overflow seating is needed during events and temporary stations are set up.
  • When you want to provide a guest with a QR code to track their takeout order status.

How to use

  1. In the Dashboard sidebar, tap the “Temp Table” button to create a new temporary table. It immediately appears on the floor map with a purple badge and is assigned a sequential temporary table number (e.g., “T1,” “T2”).
  2. Alternatively, tap “Quick Order” to create a streamlined order point. Quick orders appear on the floor map with a blue badge and are designed for fast transactions that will be completed quickly.
  3. Tap the temporary table on the floor map to open its order page. The ordering workflow is identical to regular tables -- browse the menu, add items, set modifiers and notes, and send to the kitchen. The left-side cart and right-side menu panel work exactly the same way as described in Taking Orders.
  4. To generate a QR code , open the temporary table's order page and tap the QR code button. A QR code is generated that links to the order. You can print it on a receipt to give to the guest (useful for takeout pickup identification) or display it on screen for the guest to scan. If self-service ordering is enabled in Admin, the guest can scan the QR code to view their order status and potentially add items.
  5. If the guest decides to sit down after initially placing a takeout order, you can transfer the order from the temporary table to any available regular table on the floor map. Open the temporary table's order page, tap the “Transfer” button, and select the destination table. All items, modifiers, notes, and pricing transfer to the regular table. The temporary table is removed from the floor map.
  6. Process payment on a temporary table the same way you would on a regular table. Open the order page, review the total, and tap the payment button. All payment methods (cash, card, mobile) are supported.
  7. Once the order is fully paid and closed, the temporary table is automatically removed from the floor map. There is no manual cleanup step required. If the order is abandoned without payment, the temporary table remains on the map until a manager closes or voids the order.
Use temporary tables for all takeout orders during peak hours. They keep takeout orders visually separate from dine-in tables on the floor map, preventing confusion. The purple badge makes them easy to spot at a glance. For even faster workflow during a rush, use Quick Orders (blue badge) for simple grab-and-go items like coffee or pastries.
Order transfers from temporary tables to regular tables are one-way and irreversible. Once you transfer an order to a regular table, you cannot move it back to a temporary table or to a different regular table. Make sure you select the correct destination table before confirming the transfer.

Additional Capabilities

Real-Time WebSocket Updates

Table status changes, new orders, and kitchen notifications are pushed to your device instantly via MQTT. No polling, no manual refresh needed.

Sound Notifications

An audible alert plays whenever an item assigned to one of your tables is marked as ready for pickup by the kitchen, so you never miss a dish.

Role-Based Table Access

Tables can be assigned to specific waiters. The "Show only my tables" toggle and table-ownership badges ensure each waiter focuses on their section without stepping on others.

Order History Drawer

Open the order history drawer on any table to see all previous orders placed at that table during the current session, including items, timestamps, and payment status.