Shipping zones & rates
4 zones + lockers · promises on the PDP are generated from this table — copy is never typed by hand
| Zone | Postcodes | Standard | Express | Cutoff (local DC) | Courier | PDP promise |
|---|---|---|---|---|---|---|
Metro MEL / SYD / BNE 3 DCs |
3000–3999 · 2000–2999 · 4000–4999 (metro lists) | $9.95 · 2–4 days | $14.95 · same/next day · free over $150 | 2:00pm AEST/AEDT | StarTrack Express | "Order by 2pm for same-day dispatch" |
Regional VIC / NSW / QLD |
rest of 3xxx / 2xxx / 4xxx | $12.95 · 3–5 days | $19.95 · 1–2 days | 12:00pm | AusPost Parcel Post | "Dispatched same day, arrives 3–5 days" |
Remote · WA / NT / TAS / SA |
0800–0999 · 5000–5999 · 6000–6999 · 7000–7999 | $16.95 · 5–8 days | $29.95 · 3–4 days | 11:00am | AusPost + road freight | "5–8 days — we'll show a live ETA at checkout" |
AusPost lockers (214 sites) |
where a locker is within 5km | Free · 2–4 days · 72h window | n/a | 2:00pm | AusPost locker network | "Free to a locker near you — code by SMS + email" |
Rules the promise engine follows
ETA = DC cutoff + zone transit + carrier calendar (no Sat pickup for StarTrack regional) — the date shown at checkout is this calculation, never a guess.
Free-express-over-$150 reads the discounted subtotal (same rule as coupons) — one threshold definition everywhere.
When a carrier misses a pickup (CF-12, 11 Sep), ops flips a delay flag per lane: PDPs and carts show the new date within 5 minutes — promises degrade honestly.
Locker capacity feeds the PDP: a full locker disappears from checkout instead of failing at drop time.
Live lane status (tonight)
| Lane | Status | Effect on promise |
|---|---|---|
| MEL metro express | CF-12 miss | pickup rebooked Sat 8:30am · dates held, banner note live |
| SYD cross-dock | on time | 9 parcels left at 6:05pm |
| Torquay / Geelong | fog | 08114 ETA Sat · regional lane +1 day shown |
| Lockers MEL | 62% full | 212 Smith St available |
Zone edits need ops + CX sign-off (promise copy changes with them); rate edits need finance. Both land in the change log with before/after promise text.