Kitchen Throughput Audit (end-to-end pass-to-table)

Structured, repeatable audit to map orders from ticket creation through the pass to guest receipt, capture measurable timings and causes for remakes and delays, and create a prioritized improvement plan with owners and due dates.

{ "Title": "Kitchen Throughput Audit (end-to-end pass-to-table)", "IntroductionHtml": "

This audit helps you observe and measure order flow from ticket creation to guest receipt, identify bottlenecks, quantify remake and error causes, and create a prioritized list of improvements with owners. Use it during a single shift or across several shifts (recommended: at least one peak and one off-peak observation). The form collects structured observations so you can compare results, assign follow-up actions, and track improvements over time.

How to measure key items

  • Ticket → Pass timing: Start when the ticket appears in the kitchen/POS (or is printed) and stop when the completed order is placed on the pass/expedite. Record each ticket time in seconds.
  • Station cycle time: For each station (e.g., grill, expo, salad), record the average time it takes to complete a single dish or sub-assembly during the observation window.
  • Remake events: Count any items remade or corrected, and note cause categories (e.g., wrong prep, portioning, burnt, missing ingredient, misread ticket).

Recommended sample sizes & tips

  • Observe for at least 30–90 minutes per condition (peak and off-peak) or long enough to capture 20–30 tickets when possible.
  • Collect at least 10–20 individual ticket times to compute a meaningful average. Note unusual outliers separately.
  • Be present at the pass and on the line to see handoffs and communications—many bottlenecks are social/handoff issues rather than pure speed problems.

Use the fields below to capture structured data and actionable follow-up items.

", "SubmitLabel": "Save Audit Entry", "SuccessMessage": "Audit saved. Assign owners and schedule follow-up to track improvements.", "DataType": "KitchenThroughputAuditEntry", "SchemaVersion": "1", "Fields": [ { "Key": "observerName", "Label": "Observer name", "FieldType": "text", "Required": true, "HelpText": "Who performed this audit?" }, { "Key": "location", "Label": "Location / Station", "FieldType": "text", "Required": false, "HelpText": "Store, kitchen, or location identifier (useful for multi-site collections)." }, { "Key": "date", "Label": "Date & time", "FieldType": "text", "Required": true, "HelpText": "Date and approximate time range observed (e.g., 2026-09-14 18:00-19:30)." }, { "Key": "shift", "Label": "Shift", "FieldType": "select", "Required": true, "Options": [ { "Value": "breakfast", "Label": "Breakfast" }, { "Value": "lunch", "Label": "Lunch" }, { "Value": "dinner", "Label": "Dinner" }, { "Value": "other", "Label": "Other" } ], "HelpText": "Which shift did you observe?" }, { "Key": "peakOrOffPeak", "Label": "Observed condition", "FieldType": "radio", "Required": true, "Options": [ { "Value": "peak", "Label": "Peak" }, { "Value": "offpeak", "Label": "Off-peak" }, { "Value": "mixed", "Label": "Mixed / both" } ], "HelpText": "Was this observation during a busy period, a quiet period, or mixed?" }, { "Key": "observationDurationMinutes", "Label": "Observation duration (minutes)", "FieldType": "number", "Required": true, "HelpText": "Total minutes spent observing (helps judge sample reliability)." }, { "Key": "sampleSizeTickets", "Label": "Number of tickets sampled", "FieldType": "number", "Required": false, "HelpText": "How many individual tickets/times were recorded?" }, { "Key": "ticketTimesList", "Label": "Ticket → Pass times (one per line)", "FieldType": "textarea", "Required": false, "HelpText": "Enter one value per line, e.g. 'T123: 210' (seconds) or just '210'. Include unusual outliers with a note. These are the raw times from ticket creation to placement on the pass." }, { "Key": "ticketToPassAverageSeconds", "Label": "Average Ticket → Pass time (seconds)", "FieldType": "number", "Required": false, "HelpText": "If you computed an average, enter it here. Leave blank if unknown." }, { "Key": "stationCycleTimes", "Label": "Station cycle times (one per line)", "FieldType": "textarea", "Required": false, "HelpText": "List each station and its observed avg cycle time, e.g. 'Grill: 45s', 'Expo: 35s'. Include station name and typical time." }, { "Key": "remakeEventsCount", "Label": "Remake / correction events counted", "FieldType": "number", "Required": false, "HelpText": "Number of remakes or corrections observed during the audit period." }, { "Key": "remakeRatePercent", "Label": "Estimated remake rate (%)", "FieldType": "number", "Required": false, "HelpText": "If you can estimate remake rate relative to tickets observed (e.g., 4.5)." }, { "Key": "topRemakeCauses", "Label": "Top remake causes (categorize)", "FieldType": "textarea", "Required": false, "HelpText": "List major causes and counts, e.g. 'Wrong temp - 3; Missing garnish - 2; Misread ticket - 1'." }, { "Key": "menuItemsCausingDelay", "Label": "Menu items or modifiers causing repeated delays", "FieldType": "textarea", "Required": false, "HelpText": "List items and short notes about why (complex build, inconsistent prep, late add-ons)." }, { "Key": "handoffObservations", "Label": "Handoff / communication issues observed", "FieldType": "textarea", "Required": false, "HelpText": "Describe delays at the pass, miscommunications, ticket clarifications, or expo workload problems." }, { "Key": "infrastructureLayoutIssues", "Label": "Infrastructure & layout issues", "FieldType": "textarea", "Required": false, "HelpText": "Notes about equipment placement, sightlines to pass, travel distances, or bottlenecking equipment." }, { "Key": "staffingAlignmentNotes", "Label": "Staffing alignment and role issues", "FieldType": "textarea", "Required": false, "HelpText": "Was staffing appropriate for observed demand? Were roles overloaded or mismatched?" }, { "Key": "safetyOrHygieneFindings", "Label": "Any safety, hygiene, or compliance issues", "FieldType": "textarea", "Required": false, "HelpText": "Capture anything that needs immediate correction for safety or compliance." }, { "Key": "photosOrReferenceIDs", "Label": "Photos or reference IDs", "FieldType": "text", "Required": false, "HelpText": "Reference IDs or filenames for photos taken separately (if your process stores photos elsewhere)." }, { "Key": "bottlenecksObserved", "Label": "Primary bottlenecks observed", "FieldType": "textarea", "Required": false, "HelpText": "Summarize the most important chokepoints slowing throughput. Be specific (station, task, equipment, person, or process)." }, { "Key": "prioritizedImprovements", "Label": "Prioritized improvements (one per line)", "FieldType": "textarea", "Required": true, "HelpText": "Use the format 'Improvement | Owner | Priority (High/Med/Low) | Due date | Notes'. Example: 'Add expeditor during peak | Sam | High | 2026-09-20 | Trial for 2 weeks'" }, { "Key": "immediateActionsTaken", "Label": "Immediate actions taken during audit", "FieldType": "textarea", "Required": false, "HelpText": "If anything was corrected on the spot, note it here." }, { "Key": "overallRating", "Label": "Overall throughput health (1 = critical, 5 = healthy)", "FieldType": "scale", "Required": false, "HelpText": "Quick subjective rating to help prioritize follow-up.", "Options": [ { "Value": "1", "Label": "1 - Critical" }, { "Value": "2", "Label": "2 - Poor" }, { "Value": "3", "Label": "3 - Fair" }, { "Value": "4", "Label": "4 - Good" }, { "Value": "5", "Label": "5 - Healthy" } ] }, { "Key": "recommendedNextSteps", "Label": "Recommended next steps", "FieldType": "textarea", "Required": false, "HelpText": "Short list of next steps to start improvement efforts (e.g., run timed experiment, change layout, adjust prep schedule)." } ] }

Discussion

Comments and conversation will live here.