FIELD NOTES · ACCEPTANCE EXERCISES

Shipping zones need an address boundary matrix

A local delivery area can be hidden by a broad region above it, even when both look correctly configured. Use address-based examples rather than altering the advertised freight until a map looks plausible. Excluded locations also need an explicit no-service result.

Source-bound fact

WooCommerce uses the first matching zone; a matched zone with no methods means no shipping option. Official reference · Checked 17 October 2026.

Filled synthetic acceptance example

Synthetic teaching example, not a client case or a real-store assessment. On narrow screens, scroll to read the complete table.

InputCheck basisExpected
VIC-all12 above VIC3121local63121matches broad first12; local promise fails
Local3121 first, then VIC-all3121 /3000 controls6 /12
Excluded3999 empty-method zone first3999matches exclusionno service, not fallback12

Supplier acceptance procedure

  1. Freeze country, state and postcode in a clean test session, with one shippable product and no app override.
  2. Test exact local postcode, a neighbouring postcode and an excluded postcode against ordered zones.
  3. Expand wildcard boundaries into explicit sample addresses and compare actual checkout before accepting the configuration.

Interpret the output

The first and corrected rows use the same prices but different precedence. An empty-method exclusion is not a zero-cost delivery method. Keep an address-to-matched-zone record so support can distinguish an intentional exclusion from a broken checkout.

Explicit limits

Core zone behaviour only; not carrier pricing, geocoding or plugin support. Version-specific admin warnings are not assumed available.

Replay the finite teaching model

Save both files in one folder. With Node22 or newer, run the command below. JSON contains explicit inputs and expected results. The script processes synthetic data only, with no network, credentials, payment or API calls. Passing proves the finite model only, not a live integration.

Filled inputs and expectations · Inspectable teaching script

node check.mjs woocommerce-zone-address-matrix.json