Kitchen Display (KDS)
The Kitchen Display System replaces paper tickets with a live digital board. Kitchen staff see incoming orders in real time, manage prep stations, fulfill tickets as items are completed, flag rush orders, and recall items when needed -- all from a single screen.
Station Setup
Before the Kitchen Display System can route incoming orders to the correct prep area, an administrator must configure kitchen stations. A station represents a physical work area in your kitchen—such as the grill line, the cold station (salads and desserts), the fryer, or the pastry bench—and acts as a filter that determines which menu items appear on that station's screen. Without station configuration, every order would appear on every screen, creating unnecessary noise for cooks who only handle a specific category of dishes.
The core concept behind stations is category-to-station mapping. Every item on your menu belongs to a menu category (configured in the Admin panel's menu settings). During station setup, you assign one or more of those categories to each station. When a new order comes in, the KDS inspects which categories its items belong to and routes each item to the station that owns that category. For example, if Table 5 orders a Caesar Salad and a Ribeye Steak, the salad appears on the “Cold Station” screen while the steak appears on the “Grill” screen—even though they are part of the same order.
Consider a busy restaurant with four prep areas: a hot line for entrees, a cold station for salads and appetizers, a fryer station, and a dessert station. Without station setup, the grill cook would see dessert orders cluttering the screen, while the pastry chef would have to visually filter through dozens of irrelevant steak tickets. By configuring four stations and mapping the appropriate categories to each, every cook sees only the items they are responsible for. This dramatically reduces cognitive load during peak service, prevents items from being missed, and accelerates the overall kitchen throughput.
Important points to keep in mind
- A single menu category can only be assigned to one station at a time. If you need the same items on multiple stations, create duplicate categories in the Admin menu settings.
- If a category is left unassigned, items in that category will still appear in the KDS but only when no station filter is active (i.e., on the “All Stations” view). Ensure every active category is mapped.
- Station changes take effect immediately for new incoming orders. Orders that are already in progress on the board will not be retroactively re-routed.
- Deleting a station returns all of its categories to the unassigned pool. Any in-progress tickets on that station remain visible until fulfilled but no new orders will be routed to a deleted station.
- Custom workflow statuses are per-station. If your grill station needs a “Resting” stage between Preparing and Ready (e.g., for steaks), you can add it without affecting other stations.
- Station setup requires Admin-level permissions. Kitchen staff using the KDS front-end cannot modify station configuration. See the Admin Module documentation for details on user roles.
How to use
- Open the Admin Panel and navigate to Kitchen Stations in the left sidebar. The page displays a grid of existing station cards, each showing the station name, description, and a count of assigned categories. If this is your first time setting up, the grid will be empty.
- Click the “Add Station” button in the top-right corner to create a new station. A creation form opens with three fields:
- Station Name (required) — a short, descriptive label such as “Grill”, “Cold Station”, or “Fryer”.
- Description (optional) — a brief note about what this station handles, shown on the station card for reference.
- Menu Categories — a multi-select list of all categories defined in your menu. Check the categories this station should handle.
- To assign categories visually, use the drag-and-drop interface . Unassigned categories appear in a sidebar panel on the right side of the screen. Each unassigned category is displayed as a draggable card showing the category name and the number of menu items it contains. Drag a category card from the sidebar and drop it onto a station card in the main grid to assign it. The category immediately moves from the sidebar into the station card's category list. You can also drag categories between station cards to reassign them without going through the unassigned pool first.
- Use the search bar above the category sidebar to find specific categories quickly. Type part of a category name to filter the list in real time. This is essential when your menu has dozens of categories and you need to locate a specific one without scrolling.
- To edit an existing station, click the station card in the grid. A detail panel slides open on the right, showing the station's current name, description, and assigned categories. Make your changes and click “Save”. Changes to category assignments take effect immediately for all new orders.
- To delete a station, open the station detail panel and click the red “Delete Station” button at the bottom. A confirmation dialog will appear. Categories previously assigned to the deleted station will return to the unassigned pool in the sidebar.
- To configure custom workflow statuses, open the station detail panel and expand the “Workflow” section. By default, every station uses the standard three-stage flow: Placed, Preparing, and Ready. You can add custom intermediate statuses between Preparing and Ready (e.g., “Resting” for a grill station, or “Plating” for a fine-dining line). Each custom status requires a name and a color (used as the column header color in the Kanban Board). Drag the status entries to reorder them in the workflow sequence.
| Field | Required | Description |
|---|---|---|
| Station Name | Yes | Display name for the station (e.g., Grill, Cold Station) |
| Description | No | Optional note about the station's purpose |
| Menu Categories | Yes (at least one) | Categories whose items should route to this station |
| Custom Statuses | No | Additional workflow stages between Preparing and Ready |
| Status Color | Only if custom status is added | Column header color for the custom status in Kanban view |
Kanban Board
The Kanban Board is the primary real-time, column-based view of all active orders flowing through the kitchen. Inspired by project management boards, the KDS Kanban organizes orders into three vertical columns that represent the lifecycle of an order: Placed, Preparing, and Ready. Orders enter on the left when a waiter submits them and move rightward as the kitchen works through them. At any moment, a glance at the board tells the kitchen team exactly how many orders are waiting, how many are in progress, and how many are done and awaiting pickup.
The Kanban Board solves a fundamental problem in busy kitchens: lack of visibility into the order pipeline. With paper tickets, orders pile up on a rail and the only way to know the current state is to manually sort through them. The digital Kanban eliminates this by providing a structured, automatically updated view. Kitchen managers can instantly spot bottlenecks—for example, if the Preparing column is overflowing while Placed is empty, the team is keeping up with intake but may be struggling with prep complexity. Conversely, a full Placed column and empty Preparing column signals that the kitchen needs to pick up the pace.
Imagine a Friday dinner rush at a mid-sized restaurant. Orders pour in every 30 seconds. The grill cook glances at the Kanban Board mounted above the pass: three new orders in Placed (blue), two actively being cooked in Preparing (amber), and one ready for pickup in Ready (green). The elapsed time on the oldest Placed order is turning amber, signaling it's approaching the target prep time. The cook immediately knows to prioritize that order. Without the Kanban Board, this level of awareness would require the expeditor to verbally communicate every status change—a process prone to errors in a noisy kitchen.
Important points to keep in mind
- The Kanban Board displays orders filtered by the selected station. If no station filter is active, all orders across all stations are shown, which can be overwhelming during peak service. Always set a station filter for individual prep area screens.
- Order cards move between columns via the “Move to Next” button. There is no drag-and-drop between columns— this is intentional to prevent accidental status changes on touch screens.
- The board auto-refreshes via WebSocket. If the connection drops, it falls back to polling. The connection indicator in the header shows the current state. Do not manually refresh unless the indicator shows a problem.
- Orders marked as rush (see Rush Orders) always appear at the top of their respective column, ahead of non-rush orders.
- If a station has custom workflow statuses (configured in Station Setup), additional columns will appear between Preparing and Ready to reflect those custom stages.
How to use
- Open the KDS module and select the Kanban Board view from the view switcher in the header. The board renders three columns side by side, each with a colored header:
- PLACED (blue header) — new orders just submitted by waitstaff. These orders have not yet been acknowledged by the kitchen. They appear here the instant the waiter confirms the order from the Waiter Module.
- PREPARING (amber header) — orders that a cook has begun working on. Moving an order here signals to the rest of the team (and to the front-of-house) that the kitchen has acknowledged the order and prep is underway.
- READY (green header) — completed orders waiting for server pickup. These orders are done from the kitchen's perspective and should be delivered to the guest as soon as possible.
- Each order card in a column contains the following fields:
| Card Field | Location | Description |
|---|---|---|
| Order Number | Top-left of card | Unique identifier for the order (e.g., #1042) |
| Server Name | Top-right of card | Name of the waiter who placed the order |
| Table Number | Below order number | Table the order belongs to (or 'Takeout') |
| Order Type | Badge next to table | Dine-in, Takeout, or Delivery indicator |
| Item List | Card body | Each item with quantity, name, and modifiers |
| Special Instructions | Below item list | Free-text notes from the waiter (highlighted) |
| Allergy Warnings | Below instructions | Allergy flags displayed in bold red text |
| Elapsed Time | Bottom-right of card | Time since order was placed, color-coded by urgency |
| Rush Badge | Top of card (if active) | Red lightning bolt badge for rush orders |
How to use
- The elapsed time on each card is color-coded to indicate urgency at a glance:
| Color | Status | Meaning |
|---|---|---|
| Default (gray text) | Normal | Order is within the expected prep time window |
| Amber text | Warning | Order is approaching or has reached the expected prep time |
| Red text + bold | Critical | Order has exceeded the expected prep time and requires immediate attention |
How to use
- Tap the “Move to Next” button on a card to advance it to the next column. In the Placed column, this moves the order to Preparing. In the Preparing column, this moves the order to Ready. The transition is instant and synchronized across all connected KDS screens.
- In the READY column, use the “Mark All Delivered” bulk action button at the top of the column to clear all ready orders at once. This is useful when a server picks up multiple orders from the pass simultaneously. Individual orders can also be dismissed from the Ready column by tapping the “Delivered” button on each card.
- Use the Station filter dropdown at the top of the board to scope the view to a specific station. When a station is selected, only orders containing items assigned to that station appear. The filter selection is persisted in the browser so it survives page refreshes—once you set a station filter on a particular screen, it stays set.
- Check the connection status indicator in the header bar. A green pulsing dot means the live WebSocket connection is active and orders update in real time. An amber dot means the system is attempting to reconnect—the board is still functional but updates may be slightly delayed. Next to the connection indicator, an urgent orders counter shows how many orders across all columns have exceeded their expected prep time, providing a quick summary of overdue tickets without requiring a visual scan.
- Use the manual refresh button in the header to force a full data reload if the board appears out of sync. This fetches all current orders from the server and rebuilds the board from scratch.
Ticket View
The Ticket View is a modern, card-based layout that presents orders as individual ticket cards arranged in a horizontally scrolling row. Unlike the Kanban Board which organizes orders by status columns, the Ticket View organizes orders by view mode—allowing kitchen staff to quickly switch between different slices of the order data using tabs. It is designed for kitchens that prefer a ticket-rail workflow where each card represents a single order, and quick-action gestures (single tap and double tap) allow rapid processing during peak service.
The Ticket View addresses a specific operational need: contextual focus. During active service, a line cook typically cares only about tickets that are currently being prepared. But when a server comes to the pass asking about a specific table's food, the expeditor needs to quickly check which items are ready. And at the end of a shift, the kitchen manager may want to review all fulfilled orders for the day. The four view mode tabs—Active, Ready, Fulfilled, and All Day—provide instant access to each of these perspectives without navigating away from the KDS screen.
Consider a fast-casual restaurant with a single prep line. During the lunch rush, the cook keeps the Ticket View on the “Active” tab, processing orders left to right. A simple burger ticket comes up—the cook double-taps it to instantly mark it as fulfilled without opening any dialog. A more complex order with special modifications requires attention, so the cook single-taps it to open the detail dialog, reviews the modifications, and fulfills items selectively. Meanwhile, the front counter staff has their own screen set to the “Ready” tab, watching for completed orders to call out customer names. Both screens show the same data but from different angles, all updating in real time.
Important points to keep in mind
- The four view mode tabs (Active, Ready, Fulfilled, All Day) filter the same underlying order data. Actions taken in one tab (e.g., fulfilling an order in Active) immediately move the ticket to the appropriate tab (Ready or Fulfilled).
- Double-tap to quick-fulfill processes the entire ticket at once. It cannot be used for partial fulfillment. If you need to send out only some items, use single-tap to open the detail dialog instead.
- The station filter persists across tab switches. If you select “Grill” station on the Active tab and then switch to the Ready tab, only grill-related ready orders will be shown. This prevents confusion when switching between views.
- Horizontal scrolling works with both touch swipe on tablet screens and mouse scroll / trackpad on desktop browsers. On narrow screens, ticket cards maintain their full width and scroll offscreen rather than shrinking.
- The Ticket View and Kanban Board share the same data. An order fulfilled in the Ticket View will disappear from the Kanban Board's Preparing column and appear in Ready. You can use both views on different screens simultaneously without conflicts.
- The Fulfilled tab shows orders from the current service day only. Historical data beyond today is not available in the KDS; use the Admin reporting tools for historical order data.
How to use
- Open the KDS module and select the Ticket View from the view switcher in the header. Four view mode tabs appear at the top of the screen:
- ACTIVE — orders currently being prepared by the kitchen. This is the default tab and the one most cooks will use during service. It combines orders in both the Placed and Preparing stages into a single stream, ordered by time (oldest first).
- READY — orders that have been fully or partially fulfilled and are waiting for server pickup. This tab is particularly useful for the expeditor or a front-counter display.
- FULFILLED — orders that have been delivered to the guest. These tickets are completed from both the kitchen and service perspective. They appear here for reference during the current service day.
- ALL DAY — every ticket from the entire day, regardless of status. See the All Day View section below for detailed information about grouping modes and aggregation.
- Ticket cards are arranged in a horizontal scrolling row. Swipe left and right (on touch screens) or scroll horizontally (with a mouse or trackpad) to navigate through the tickets. Cards maintain a fixed width to ensure readability and do not shrink on small screens. Each ticket card displays the same fields described in the Kanban Board section: order number, server name, table number, order type, item list with modifiers, special instructions, allergy warnings, and the color-coded elapsed time indicator.
- Single tap a ticket card to open the detail dialog. The dialog presents the full order with individual item rows, each showing the item name, quantity, modifiers (in red), special notes (in red italic), and current delivery status. From this dialog, you can:
- Fulfill all or selected items (see Fulfill Orders)
- Rush the ticket (see Rush Orders)
- Recall items back to prep (see Recall Items)
- Double tap a ticket card to quick-fulfill the entire ticket without opening any dialog. This is the fastest interaction available in the KDS. The ticket immediately moves from the Active tab to the Ready tab (or Fulfilled, depending on your workflow configuration). A brief toast notification confirms the action at the bottom of the screen.
- Use the Station filter dropdown at the top of the screen to limit the view to a specific station. When a station is selected, only tickets containing items assigned to that station are displayed. The selected station persists as you switch between view mode tabs, so selecting “Grill” on the Active tab means the Ready, Fulfilled, and All Day tabs will also show only grill-related tickets.
- The connection status indicator in the header shows whether the view is using a live WebSocket connection (green pulsing dot) or has fallen back to polling mode (amber dot). In polling mode, the view updates every few seconds rather than instantly. A manual refresh button is always available as a fallback.
| Gesture | Action | Best For |
|---|---|---|
| Single tap | Opens the detail dialog with full order information and action buttons | Complex orders, partial fulfillment, rushing, recalling |
| Double tap | Quick-fulfills the entire ticket immediately without opening any dialog | Simple orders during high-volume rushes |
| Swipe left/right | Scrolls through ticket cards horizontally | Navigating through the ticket queue |
| Tab switch | Changes the view mode (Active, Ready, Fulfilled, All Day) | Switching context between order stages |
Fulfill Orders
Fulfilling an order is the core action of the KDS—it marks items as completed and ready for the server to pick up. The fulfillment system is designed to handle the reality of kitchen work: not all items on an order finish at the same time. A salad may be plated in two minutes while the steak takes twelve. The KDS supports both full-ticket fulfillment (marking every item as done at once) and partial fulfillment (marking individual items as done while the rest continue cooking), giving the kitchen complete flexibility in how they send food to the pass.
The problem that fulfillment solves is communication between kitchen and front-of-house. In a paper-ticket system, the expeditor physically moves a ticket from the rail to the pass when food is ready, and the server checks the pass to see if their table's order is up. This system is error-prone: tickets get misplaced, partial readiness is hard to communicate, and there's no record of when items were completed. Digital fulfillment eliminates these problems. When a cook fulfills items in the KDS, the status change is instantly visible on the server's Waiter Module screen, the expeditor's Kanban Board, and any other connected KDS screen—all in real time.
Consider a four-top table that ordered two appetizers and two entrees. The cold station finishes the Caesar Salad and the Caprese in three minutes. The cook opens the ticket, selects just those two appetizers using the checkboxes, and taps “Fulfill (2).” The server's screen immediately shows those appetizers as ready for pickup. The two entrees remain active on the grill station's KDS screen with their timers still running. Ten minutes later, the grill cook fulfills the remaining items. The ticket is now fully complete and moves to the Fulfilled tab. At no point did anyone need to shout, wave, or physically check the pass—the system handled the communication automatically.
Important points to keep in mind
- Full fulfillment marks every unfulfilled item on the ticket as done in a single action. The ticket moves to the Ready column (Kanban) or Ready tab (Ticket View) immediately.
- Partial fulfillment marks only selected items. The ticket remains in the Active/Preparing state with the unfulfilled items still visible. Already-fulfilled items appear dimmed so cooks can see at a glance what is still outstanding.
- When all items on a partially fulfilled ticket have eventually been fulfilled, the ticket automatically transitions to the Ready state. You do not need to perform a separate “complete ticket” action.
- Double-tap quick-fulfill from the Ticket View always performs full fulfillment. It does not allow item selection. Use single-tap for partial fulfillment.
- Fulfillment actions are synchronized across all devices in real time. If the cold station fulfills two items on a ticket, the grill station screen immediately shows those items as dimmed on the same ticket.
- Fulfilled items can be recalled back to active status if needed (see Recall Items). This covers the case where an item was marked as done by mistake or needs to be remade.
How to use
- Single tap a ticket card (in either the Ticket View or the Kanban Board) to open the detail dialog. The dialog lists every item on the ticket. Each item row shows:
- Item name and quantity (e.g., “2x Caesar Salad”)
- Modifiers displayed in red text (e.g., “No croutons, Extra dressing”)
- Special notes from the waiter in red italic text
- Delivery status indicator (Preparing, Ready, or Fulfilled)
- A checkbox for item selection
- To fulfill all items at once, leave all checkboxes unchecked and tap the “Fulfill” button at the bottom of the dialog. When no individual items are selected, the button defaults to fulfilling the entire ticket. All items are marked as ready, and the ticket moves to the Ready state.
- For partial fulfillment, tap the checkboxes next to the specific items that are done. As you select items, the fulfill button label dynamically updates to show “Fulfill (N)”, where N is the count of selected items. Tap the button to fulfill only those items. The selected items transition to Ready status while the rest remain in Preparing.
- After partial fulfillment, items that have already been fulfilled appear with a dimmed, gray appearance and their checkboxes are disabled. This visual distinction makes it immediately clear which items still need preparation. The dimmed items remain visible on the ticket for reference but cannot be interacted with (to fulfill them again, you would need to recall them first).
- When the last unfulfilled item on a ticket is fulfilled (either individually or as part of a selection), the ticket automatically transitions to the Ready state and moves to the Ready column/tab. A brief confirmation toast appears at the bottom of the screen showing the ticket number and “All items fulfilled.”
- For the fastest workflow, double tap a ticket card directly from the Ticket View to quick-fulfill the entire ticket without opening the detail dialog at all. The ticket immediately moves to Ready status. This gesture is ideal for simple, single-item tickets that do not require partial fulfillment or review.
| Fulfillment Method | Interaction | Items Affected | Speed |
|---|---|---|---|
| Full (dialog) | Single tap card, then tap Fulfill button | All items on the ticket | Medium |
| Partial (dialog) | Single tap card, check specific items, tap Fulfill (N) | Only selected items | Slower (deliberate) |
| Quick-fulfill | Double tap card from Ticket View | All items on the ticket | Fastest |
Rush Orders
The Rush feature is the KDS's priority escalation tool. When a ticket needs to be prepared ahead of everything else in the queue, marking it as rush immediately bumps it to the front of the line and applies a highly visible red visual treatment across every connected KDS screen. Rush is the digital equivalent of the expeditor slamming a ticket on the pass and shouting “Fire now!”—except it works silently, instantly, and reaches every screen in the kitchen simultaneously.
The problem that Rush solves is priority communication across a distributed kitchen. In a busy service, multiple cooks at different stations may be working on dozens of tickets. When one ticket needs to jump the queue—because a guest has been waiting too long, because a manager flagged a VIP table, or because a dish needs to be remade urgently—the expeditor needs a way to communicate that priority to every station at once. Without a digital rush system, this requires verbal communication (which gets lost in kitchen noise), physical ticket rearrangement (which only affects one station), or a runner going to each station (which wastes labor). The KDS Rush feature replaces all of this with a single tap.
Picture a Saturday evening service. Table 12 has been seated for 40 minutes and their entrees haven't arrived because a miscommunication caused their ticket to be buried behind a wave of newer orders. The floor manager flags the issue. The expeditor opens the KDS, taps on Table 12's ticket, and hits the Rush button. Instantly, the ticket card turns red with a lightning bolt badge and jumps to the front of the Placed column on the grill station's screen, the cold station's screen, and the expeditor's own Kanban Board. Every cook in the kitchen immediately sees that this ticket is the next priority. No shouting, no miscommunication, no delay.
Important points to keep in mind
- Rush tickets are positioned at the front of the queue in their current status column, but they appear after any previously rushed tickets. This means if two tickets are both rushed, they are ordered by the time they were flagged (first rushed = first in line).
- The rush flag applies to the entire ticket, not individual items. You cannot rush specific items on a ticket while leaving others at normal priority.
- Rush status persists across all connected devices in real time via WebSocket. When one screen flags a rush, every other KDS screen sees the change instantly.
- Rush status does not expire automatically. A rushed ticket remains rushed until it is fulfilled. There is no timeout or auto-demotion.
- There is currently no “un-rush” action from the KDS ticket dialog. If a ticket was rushed by mistake, it can be fulfilled normally and then recalled if needed (see Recall Items).
- Rush is a communication tool, not an automation tool. It changes the visual presentation and queue position but does not change prep times, trigger alerts to servers, or modify the order in any other system.
How to use
- Single tap the ticket card in either the Ticket View or the Kanban Board to open the detail dialog.
- Locate the “Rush” button in the dialog footer. It is displayed as a prominent red button with a lightning bolt icon and the label “Rush.” Tap the button to flag the ticket.
- The ticket is immediately repositioned to the front of its current status column. If the ticket is in the Placed column, it moves to the top of Placed. If it is in Preparing, it moves to the top of Preparing. The ticket is placed after any other tickets that are already marked as rush, so rush tickets maintain a first-in-first-out order among themselves.
- The ticket card's appearance changes to a red color scheme: the card background becomes a light red tint, the card border turns red, and a prominent red badge with a lightning bolt icon appears at the top of the card. This visual treatment makes rush tickets impossible to miss, even from a distance or in peripheral vision.
- The rush status is synchronized across all kitchen devices in real time. Every KDS screen connected to the system—regardless of which station filter is active or which view mode is selected—will see the rush badge and the repositioned card. The expeditor, the grill cook, the cold station, and any other screen all receive the update simultaneously.
- Process the rushed ticket with the same fulfillment workflow described in Fulfill Orders. Once all items on the ticket are fulfilled, the rush badge remains visible on the ticket in the Ready column/tab as a visual reminder that this order was expedited and should be delivered immediately.
| Visual Element | Appearance | Purpose |
|---|---|---|
| Card background | Light red tint (bg-red-50) | Distinguishes rush tickets from normal tickets at a glance |
| Card border | Red border (border-red-300) | Provides a strong visual boundary around the rushed ticket |
| Lightning bolt badge | Red badge with Zap icon at card top | Immediate recognition of rush status from any distance |
| Queue position | Moved to top of current column | Ensures the rush ticket is the next one a cook sees |
Recall Items
Recall is the KDS's undo mechanism. It moves items backward in the workflow—from Ready or Fulfilled status back to Preparing status—effectively reversing a fulfillment action. Recall is essential for handling the inevitable mistakes and last-minute changes that occur in every busy kitchen: an item accidentally marked as done, a dish that fails a quality check at the pass, a guest who sends a plate back, or a server who realizes the wrong modification was applied to an item.
Without a recall system, accidental fulfillments or quality issues would require workarounds—creating a new ticket manually, verbally telling the kitchen to redo the item, or modifying the order in the POS and hoping the KDS picks it up. These workarounds are slow, error-prone, and break the chain of tracking. The Recall feature keeps everything within the KDS's workflow: a recalled item goes back to Preparing with a visible badge indicating it was recalled, so cooks know it needs to be remade rather than prepared fresh. The original ticket stays intact, maintaining the full history of the order for shift-end reporting and accountability.
Imagine a lunch rush: the grill cook fulfills a Chicken Sandwich ticket and it moves to the Ready column. The expeditor inspects the plate and notices the bun is burnt. Instead of creating a new order, the expeditor opens the ticket in the Ready column, taps the checkbox next to the Chicken Sandwich, and taps “Recall (1).” A confirmation modal shows “Chicken Sandwich: Ready → Preparing.” The expeditor confirms, and the item reappears on the grill station's active queue with a recall badge. The grill cook sees the badge and knows to remake it. The rest of the ticket's items (if any) stay in their current status. The entire interaction takes less than five seconds.
Important points to keep in mind
- Recall moves items to Preparing status, not back to Placed. This is intentional: recalled items have already been acknowledged and worked on, so they skip the Placed queue and go directly to active prep.
- Both full recall (all items on a ticket) and selective recall (specific items via checkboxes) are supported, matching the same pattern used in Fulfill Orders.
- A confirmation modal always appears before a recall is executed. The modal shows the items being recalled and the exact status transitions (e.g., “Ready → Preparing” or “Fulfilled → Preparing”). This prevents accidental recalls.
- Recalled items display a recall badge when they return to the Preparing state. This badge signals to cooks that the item is a remake, not a new preparation, which may affect how they prioritize it.
- The quick recall button in the KDS header bar is a one-tap undo that reverses the most recent fulfillment action only. It does not open a dialog or require confirmation. It is designed for the “oops, I just fulfilled the wrong ticket” scenario.
- Recall actions are synchronized across all devices in real time. When items are recalled on one screen, they immediately appear back in the Preparing state on all connected KDS screens.
How to use
- Navigate to the ticket you need to recall. You can find it in several places:
- The READY tab in the Ticket View (for items that have been fulfilled but not yet delivered)
- The FULFILLED tab in the Ticket View (for items that have been marked as delivered)
- The Ready column of the Kanban Board
- Single tap the ticket card to open the detail dialog. The dialog shows all items on the ticket, with fulfilled items displayed in their current state.
- To recall all items on the ticket, tap the “Recall All” button in the dialog header. This button is always visible and does not require item selection.
- For a selective recall, use the checkboxes next to individual items to select only the items that need to be recalled. As you select items, the recall button label dynamically updates to show “Recall (N)”, where N is the count of selected items. Tap the button to recall only those items while leaving the rest in their current status.
- A confirmation modal appears displaying:
- The list of items being recalled (with names and quantities)
- The status transition for each item (e.g., “Ready → Preparing” or “Fulfilled → Preparing”)
- A “Confirm” button and a “Cancel” button
- Once confirmed, the recalled items are moved back to Preparing status. They reappear in the Active tab of the Ticket View and the Preparing column of the Kanban Board. Each recalled item displays a small recall badge (an undo icon) next to its name, indicating to cooks that this item is a remake or correction rather than a fresh order.
- For the fastest undo of an accidental action, use the quick recall button in the KDS header bar. This button reverses the most recent fulfillment action without opening any dialog or requiring confirmation. Tap it immediately after an accidental fulfillment to instantly undo it. The button is contextual: it only appears when there is a recent action to undo, and it disappears after a short timeout.
| Recall Method | Scope | Confirmation Required | Best For |
|---|---|---|---|
| Recall All (dialog) | Every item on the ticket | Yes (modal) | Entire ticket needs to be redone |
| Selective Recall (dialog) | Only checked items | Yes (modal) | Specific items need remaking |
| Quick Recall (header button) | Most recent fulfilled action | No | Immediate undo of an accidental fulfillment |
All Day View
The All Day View provides a comprehensive, aggregated picture of every ticket from the entire service day on a single screen. While the Active, Ready, and Fulfilled tabs in the Ticket View show orders filtered by their current status, the All Day View shows everything—regardless of whether an order is still being prepared, is ready for pickup, or has already been delivered. It is the KDS's answer to the question: “What does the full picture of today's service look like?”
What makes the All Day View uniquely powerful is its two grouping modes: By Table and By Category. The By Table mode presents tickets in the familiar card format, organized under their table numbers, providing a guest-centric view. The By Category mode aggregates items across all tickets by menu category, providing an ingredient-centric view that is invaluable for batch preparation. These two modes solve fundamentally different problems—one helps the expeditor track individual tables, while the other helps prep cooks plan their work efficiently.
Consider a Sunday brunch service where the restaurant has taken 60 orders in the first two hours. The salad cook needs to plan ahead: how many Caesar Salads are still outstanding across all tables? In the standard Ticket View, the cook would need to scroll through dozens of individual tickets, mentally tallying salad counts. With the All Day View set to By Category mode, the cook simply finds the “Salads” category card, which displays a large “23” indicating 23 total salad items across all orders. Below the count, a breakdown shows “14x Caesar Salad (Tables 3, 7, 11, 15, 22)” and “9x Garden Salad (Tables 1, 4, 8, 19).” The cook now knows exactly how much lettuce to wash, how many plates to stage, and which specific items to make. This level of visibility is impossible with traditional paper tickets.
Important points to keep in mind
- The All Day View includes orders in all statuses: Placed, Preparing, Ready, and Fulfilled. It does not filter by status. If you need a status-specific view, use the Active, Ready, or Fulfilled tabs instead.
- In By Category mode, the count numbers represent total quantities across all orders for the day, including both fulfilled and unfulfilled items. This gives a complete picture of the day's production volume.
- The station filter applies to the All Day View just as it does to other views. When a station is selected, the By Category aggregation only includes items from categories assigned to that station. This is crucial for station-specific prep planning.
- The All Day View is read-only for aggregation purposes. You cannot fulfill, rush, or recall items directly from the By Category cards. To take action on a specific ticket, switch to the Active or Ready tab, or use the By Table mode to find and tap the specific ticket card.
- The view resets at the start of each service day. Historical All Day data is not available in the KDS; use the Admin reporting tools for multi-day analysis.
- The By Category grouping respects your menu category hierarchy. Items are grouped under their assigned categories as configured in the Admin menu settings. If categories are not well-organized, the aggregation may be less useful.
How to use
- In the Ticket View, tap the ALL DAY tab at the top of the screen. All tickets from the current service day are loaded into the view. Depending on volume, this may take a moment for very busy services with hundreds of orders.
- Use the grouping toggle in the view toolbar to switch between the two grouping modes:
- By Table — tickets are grouped under their table number heading, presented in the standard card format. Each card shows the full ticket details (items, modifiers, times, statuses, rush badges, recall badges). Tables are ordered numerically. This mode is useful for expeditors who need to check the status of a specific table's orders across the entire day.
- By Category — items are extracted from all tickets and aggregated by their menu category. Instead of seeing individual tickets, you see category summary cards. This mode is designed for prep cooks who need to plan batch work.
- In By Category mode, each category card displays:
- A large, prominent count number in the card header, showing the total quantity of items in that category across all orders. For example, a “Salads” card might show “23” to indicate 23 total salad items ordered today.
- The category name displayed prominently below the count.
- A detailed breakdown listing each individual menu item within that category, its quantity, and the table numbers the items belong to. For example: “14x Caesar Salad (Tables 3, 7, 11, 15, 22)” and “9x Garden Salad (Tables 1, 4, 8, 19).”
- A status summary showing how many items are still being prepared vs. already fulfilled, giving the cook a sense of remaining workload.
- In By Table mode, tickets appear in their standard horizontal scrolling card format, grouped under table number headings. All the usual card details are present: order number, server name, item list with modifiers, special instructions, elapsed time with color coding, rush badges, and recall badges. Tap a ticket card to open the detail dialog and take actions (fulfill, rush, recall) as you would in any other view mode.
- The station filter remains available in the All Day View, accessible from the same dropdown at the top of the screen. When a station is selected, the view is scoped to only show items from categories assigned to that station. In By Category mode, this means the count numbers and item breakdowns reflect only the selected station's items. In By Table mode, tickets are filtered to show only items relevant to the selected station. The station filter selection persists when switching between the All Day tab and other tabs (Active, Ready, Fulfilled).
- To switch back to a status-specific view, tap the ACTIVE, READY, or FULFILLED tab. The station filter will remain set to whatever you selected while in the All Day View.
| Grouping Mode | Card Content | Best For |
|---|---|---|
| By Table | Standard ticket cards grouped under table number headings | Expeditors tracking specific table orders |
| By Category | Aggregated category cards with total counts and item breakdowns | Prep cooks planning batch work |
| Category Card Field | Description |
|---|---|
| Count Number | Large number showing total quantity of items in the category across all orders |
| Category Name | Name of the menu category (e.g., Salads, Entrees, Desserts) |
| Item Breakdown | List of individual items with quantities and table numbers |
| Status Summary | How many items are still in prep vs. fulfilled |
Additional Capabilities
WebSocket with Polling Fallback
The KDS maintains a persistent WebSocket connection for instant order updates. If the WebSocket drops, the system automatically switches to polling mode so the display never goes stale. The connection status indicator in the header keeps kitchen staff informed.
Time-Based Aging Indicators
Every ticket displays an elapsed time counter that changes color as the order ages: normal, then warning (amber), then critical (red). This helps the kitchen prioritize without reading exact timestamps.
Responsive Horizontal Scrolling
Ticket cards scroll horizontally across the screen, making efficient use of widescreen kitchen displays. The layout adapts to different screen sizes and orientations for both mounted displays and handheld tablets.
Manual Refresh
A manual refresh button is always available in the header bar. While the real-time connection handles updates automatically, the refresh button provides a one-tap way to force-reload all ticket data if needed.