Airline orders arrive by email, as system-generated POs — not via a website
dnata PO numbers (O1-25018139 … O1-25078908) run in one continuous sequence across all seven kitchens — the signature of a central purchasing system that emails POs to suppliers. Gate Gourmet’s 5000… numbers are SAP-style POs. The workflow sheet agrees: “email orders from airlines — all of them by PO”. → Build fixed template parsers for these two formats; keep AI for non-airline emails.
📅 Cartons per month (dispatch date)
📍 Cartons by port
🗓 POs by dispatch weekday
| Port | Mon | Tue | Wed | Thu | Fri |
|---|---|---|---|---|---|
| SYD | 57 | 13 | 19 | 13 | 19 |
| MEL | 9 | 3 | 15 | 7 | 3 |
| BNE | 1 | 6 | 14 | 3 | 4 |
| PER | 1 | 1 | 1 | 3 | 3 |
| ADL | 2 | 0 | 2 | 0 | 3 |
| CBR | 1 | 2 | 1 | 4 | 2 |
| DRW | 2 | 1 | 0 | 1 | 0 |
⏱ Order rhythm by kitchen
median gap 4 days · avg 17 ctns / PO
median gap 8 days · avg 33 ctns / PO
median gap 8 days · avg 36 ctns / PO
median gap 30 days · avg 14 ctns / PO
median gap 21 days · avg 44 ctns / PO
median gap 38 days · avg 44 ctns / PO
median gap 83 days · avg 29 ctns / PO
🥐 Top 12 products · cartons and trend
| Product | Cartons | 2026 vs H2-25 / month |
|---|---|---|
| SQFDRF · Rhubarb Frangipane Danish | 501 | ▬ +5% |
| SQFTFS · Tomato & Feta Scroll | 416 | ▲ +85% |
| SQFLRP · Pie 8cm - Lamb & Rosemary 160g | 339 | ▲ +18% |
| SQFFFT · Fig & Frangipane Tart | 331 | ▲ +11% |
| SQFPCM · Pie 8cm - Chicken & Mushroom 160g | 328 | ▲ +87% |
| SQFRF · Raspberry Friand | 318 | ▲ +38% |
| SQFPT · Portuguese Tart | 291 | ▲ +50% |
| SQFFLSP · Leek, Spinach & Parmesan Frittata | 288 | ▲ +28% |
| SQFQMG · Mushroom & Gruyere Quiche | 253 | ▼ -71% |
| SQFCBES · Croustade 8cm - Bacon Egg & Spinach 140g | 252 | ▬ -5% |
| SQFQBB · Quiche 10 cm - Bacon & Brie | 243 | ▼ -20% |
| SQFQMG8 · Mushroom & Goat's Cheese | 173 | ✕ stopped |
Charts generated from the Dispatch Record 2025 + 2026 sheets (1,330 lines, 2 Jul 2025 – 16 Apr 2026). Detailed write-up below.
1Where do airline orders come from — website or email?
Finding: by email, as purchase orders generated by the caterers' procurement systems — not through a website.
| Evidence | What it shows |
|---|---|
workflow.xlsx lane 1 | "Email orders from airlines — all of them by PO" |
dnata PO numbers O1-25018139 … O1-25078908 | One continuous number sequence shared by every dnata kitchen (SYD, MEL, BNE, PER, ADL, CBR, DRW). People typing emails don't produce that — a central purchasing system does, and emails the PO to the supplier. |
Gate Gourmet PO numbers 5000078853 … | 10-digit numbering typical of an SAP purchase order, also emailed out. |
| 216 POs, 210 dispatched on a single day | One PO = one delivery. Clean, structured orders. |
Caveats. The "customers" are airline caterers (dnata — 96 % of POs, Gate Gourmet — 4 %), who cater for the airlines. I could not confirm the mailbox itself: the email account connected to this session (info@willowhope.com.au) holds no Skycrest or dnata orders. To confirm the exact format, forward one recent dnata PO email and one Gate Gourmet PO email (with attachments) and I'll specify the parser from them.
What this means for the build. Because the POs are system-generated with a fixed layout, the Order Intake Bot should use a fixed template parser per caterer (dnata, Gate Gourmet) — fast, cheap and near-100 % accurate — and only fall back to AI for non-airline orders (free-text emails, phone notes, bespoke enquiries).
2Headline numbers
| Metric | Value |
|---|---|
| Period | 2 Jul 2025 – 16 Apr 2026 (≈ 9.5 months) |
| Purchase orders | 216 |
| Cartons dispatched | 5,262 |
| Dispatch days | 114 (Mon–Fri only, no weekend dispatch) |
| Average PO | 24 cartons, 2–3 products (median 24 ctns; largest 107) |
| Average week | 125 cartons (± 73); busiest week 301 |
| Products ordered | 40 codes; 16 products = 80 % of volume |
| Caterers | dnata 208 POs / 5,158 ctns · Gate Gourmet 8 POs / 104 ctns |
3By destination (kitchen / port)
| Port | POs | Cartons | Avg ctns / PO | Typical gap between orders | Busiest dispatch day |
|---|---|---|---|---|---|
| SYD (incl. Halal, Gate Gourmet) | 121 | 2,082 | 17 | every 3–4 days | Monday (57 of 121) |
| MEL | 37 | 1,207 | 33 | weekly (8 days) | Wednesday |
| BNE (South + North) | 28 | 1,011 | 36 | weekly (8 days) | Wednesday |
| PER (West + East) | 9 | 400 | 44 | every 3 weeks | Thu / Fri |
| CBR | 10 | 138 | 14 | monthly | Thursday |
| ADL (Auscold + Airport) | 7 | 309 | 44 | every 5–6 weeks | Fri / Mon / Wed |
| DRW | 4 | 115 | 29 | quarterly | Monday |
Patterns
- Sydney is a high-frequency, small-drop customer — 56 % of POs but only 40 % of cartons. Monday is the big day (Sydney orders cover the weekend gap).
- Melbourne and Brisbane are weekly, larger interstate drops, mostly dispatched on Wednesday → Roadmaster bookings cluster on Tuesday.
- Perth, Adelaide, Darwin order rarely but in bulk (≈ 44 cartons, 5–8 products) — easy to miss stock for if not planned ahead.
- The Production Planning page currently has SYD / MEL / BNE / ADL columns only — PER, CBR and DRW also order and need columns.
4By month
| Month | POs | Cartons |
|---|---|---|
| Jul 2025 | 18 | 392 |
| Aug 2025 | 14 | 321 |
| Sep 2025 | 29 | 668 |
| Oct 2025 | 31 | 690 |
| Nov 2025 | 20 | 709 |
| Dec 2025 | 26 | 602 |
| Jan 2026 | 20 | 565 |
| Feb 2026 | 21 | 510 |
| Mar 2026 | 30 | 615 |
| Apr 2026 (to 16th) | 7 | 190 |
Pattern: volume stepped up from September 2025 (≈ +90 % vs Jul–Aug) and has held at 500–700 cartons a month since. November had fewer but bigger orders (pre-Christmas build).
5Products
Top 12 by cartons
| # | Code | Product | Cartons | Trend 2026 vs H2 2025 (per month) |
|---|---|---|---|---|
| 1 | SQFDRF | Rhubarb Frangipane Danish | 501 | steady |
| 2 | SQFTFS | Tomato & Feta Scroll | 416 | ▲ +85 % |
| 3 | SQFLRP | Pie 8cm Lamb & Rosemary 160g | 339 | ▲ +18 % |
| 4 | SQFFFT | Fig & Frangipane Tart | 331 | ▲ +11 % |
| 5 | SQFPCM | Pie 8cm Chicken & Mushroom 160g | 328 | ▲ +87 % |
| 6 | SQFRF | Raspberry Friand | 318 | ▲ +39 % |
| 7 | SQFPT | Portuguese Tart | 291 | ▲ +51 % |
| 8 | SQFFLSP | Leek, Spinach & Parmesan Frittata | 288 | ▲ +28 % |
| 9 | SQFQMG | Mushroom & Gruyere Quiche | 253 | ▼ −70 % |
| 10 | SQFCBES | Croustade Bacon Egg & Spinach | 252 | steady |
| 11 | SQFQBB | Quiche 10cm Bacon & Brie | 243 | ▼ −20 % |
| 12 | SQFQMG8 | Mushroom & Goat's Cheese 8cm | 173 | ✕ stopped |
By category (cartons)
Sweets 1,928 (37 %) · Pies 1,316 (25 %) · Savoury (scroll, dome, frittata) 874 (17 %) · Quiche 707 (13 %) · Croustade 264 (5 %) · Other 173 (3 %).
Menu changes (the airline menu cycle)
- Stopped after Dec 2025: SQFQMG8, SQFDBL (Blueberry Danish), SQFRD (Raspberry Danish), SQFRPQ, SQFPTC, DCDC, SQF8CVIS, T9 and others.
- New in 2026: variant codes SQFQBBM, SQFRFB, SQFPTP, SQFPTB, SQFPCMM, BA8LRM, SQFFFTB (suffix variants of existing lines).
- Pattern: the menu turns over around the new year. Old-menu stock left in the freezer becomes a write-off risk; new codes need to be in Products before the first PO arrives.
Favourite products per port
SYD: Mushroom & Gruyere Quiche, Rhubarb Danish, Tomato & Feta Scroll · MEL: Rhubarb Danish, Fig Tart, Tomato & Feta Scroll · BNE: Rhubarb Danish, Tomato & Feta Scroll, Bacon & Brie Quiche · PER: Chicken & Mushroom Pie, Fig Tart, Raspberry Friand · CBR: Lamb & Rosemary Pie · DRW: Red Pepper Quiche, Mushroom Quiche.
6Quality and compliance signals
| Signal | Finding | Why it matters |
|---|---|---|
| Shelf life at dispatch | Median 352 days remaining of 365 (97 %) | Stock moves fast — good |
| Multiple lots per line | 67 % of PO lines ship from 2+ lot codes | FIFO matters; dispatch must record lots |
| Dispatch temperature | Average −18.2 °C; 26 % of readings are warmer than −18.0 °C (warmest −17.8 °C) | Check against the caterers' spec; the app could flag readings above the limit |
| Data entry | A few lines have use-by before dispatch date or > 100 % shelf life | Typos — validate dates on entry |
7What to build from this
- Order Intake Bot — template parsers for dnata and Gate Gourmet POs (see §1).
- Expected-order watch (Pattern Bot): learn each kitchen's rhythm (SYD every 3–4 days, MEL/BNE weekly, PER every 3 weeks). If an expected PO hasn't arrived ⇒ heads-up on the dashboard ("MEL usually orders by Monday — nothing yet").
- Demand forecast → make-list: average weekly cartons per product over the last 8 weeks, adjusted for trend; Production Bot compares with stock and suggests what to make for the next 2 weeks.
- Planner columns for PER, CBR, DRW, and Wednesday-heavy interstate planning (Roadmaster booking reminder on Tuesday).
- Menu-change alert: product not ordered for 6 weeks with stock on hand ⇒ write-off risk; unknown code on a PO ⇒ "add product" prompt.
- Dispatch record in the app (lot, use-by, temperature, PO, invoice) replacing the Excel dispatch sheet, with a temperature limit check.
- Analytics page in the dashboard with the charts in this report, refreshed from live order data.
8Method
Dispatch lines were grouped by PO number (one PO ≈ one dispatch). Port derived from the client name. "Trend" compares cartons per month in Jan–Apr 2026 (3.5 months) with Jul–Dec 2025 (6 months). These are dispatch dates — the sheet has no order-received date, so lead time (order → dispatch) can't be measured yet; the new Orders module will record it.