booking_strategy
Avoid container rollovers by identifying the optimal booking window and cost of premium guarantees versus riding spot, using lane-specific demand pressure and seasonal signals.
Instructions
When and how to RESERVE space so your box isn't rolled and your cargo isn't stranded on the dock. Give the lane + ship date + criticality, and it reads the demand PRESSURE (composing the seasonality calendar — CNY / Golden Week / transpacific peak — with the equipment-crunch signal) into a band (slack → acute), then returns: the optimal BOOKING WINDOW (lead days, plus a criticality buffer, and the date to book by), the SPOT vs CONTRACT rollover probability and roll-delay days, and the GUARANTEED/PREMIUM-booking trade-off — the certain premium surcharge vs the expected rollover-delay cost of riding spot (roll prob × delay days × per-day criticality cost). It recommends spot, a guaranteed booking, or — if your committed volume justifies it — a named-account allocation. Proves: peak/CNY → book earlier + pay for the guarantee; slack market → ride spot. Honest (regla 7): INDICATIVE rollover probabilities & premiums by band (reusing the real seasonality/equipment calendars) — not a space guarantee or carrier quote. PREMIUM: pay per call with x402 (USDC on Base) or a prepaid key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| origin_port | Yes | Origin port (city name, UN/LOCODE, or 'City, Country'). | |
| dest_port | Yes | Destination port. | |
| container_type | No | Container '20ft'/'40ft'/'40HC'. Optional; default '40ft'. | |
| ship_date | No | Ship date (YYYY-MM-DD) — selects the seasonal/equipment pressure. Optional; default today. | |
| criticality | No | 'low' / 'normal' / 'high' / 'critical' — how badly a rollover delay hurts. Optional; default normal. | |
| base_freight_per_container_usd | No | Base ocean freight per container (USD) to price the premium & delay cost. Optional — derived if omitted. | |
| annual_containers | No | Annual committed volume on this lane (containers/yr) — triggers the named-account allocation call. Optional. |