Production / kitchen workflow — prep stations, courses, expo, floor monitor #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Tracks the kitchen-side operations of #2 (
bistrolight,fullcomplete).Background
DarthCoin's framing on what a real restaurant needs:
The current scaffold ships a single Kitchen Display (KDS) page. That's
fine for a café where every item is "make and hand over." It collapses
the moment you have:
other,
This issue is the umbrella for everything that's beyond what KDS
already does.
Concepts
Prep stations
Each menu item / modifier can declare which station prepares it.
Stations are configurable per restaurant. A taco might be:
The KDS splits one ticket into per-station cards. A station marks its
slice complete; the expo sees the aggregated state and only fires
"ready to serve" when all stations are done.
Course timing
An item can declare a course (
appetizer | main | dessert | drink).Operators set per-course offset rules: "fire mains 8 min after apps
clear." The KDS holds back later-course tickets until the rule fires.
ETA / waiting line
Each item carries an estimated prep time (operator-set; later
auto-tuned from observed actuals). Aggregating gives:
Roles + monitors
Three viewer roles, each its own page:
action ("done").
Fires the "ready to serve" call.
hitting their estimated time, course pacing.
one-tap "deliver" / "needs check" / "rerun" affordance.
Tables (new)
A new
tablesconcept (per-restaurant) — name + seating + anoptional QR target for per-table ordering (cf. #1 stretch).
Orders carry an optional
table_id.Data model (additions, sketch)
Tiering (per #2)
splitting (everything is one "kitchen" station by default).
Stretch
load > N. Customer's webapp gets back "we're 25 min behind, accept?"
in-kitchen tablet/TV.
webapp pre-tied to that table's
table_id.Acceptance
stations,tables,order_item_statestables (mode-gated).station_id,prep_seconds,coursecolumns on existing recipes (tied with #3)./restaurant/{slug}/kds/{role}.GET /api/v1/orders/{id}and on thecustomer-facing status payload.
See also
References