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)."
}
]
}