The price-clearance invariant
Price and availability are independent axes, validated independently per unit. Every order carries rate_version; every line carries locked_rate_id, the exact rate row priced at order time. The invariant is indifferent to how the price was disclosed: the card may be open, scoped to your agreement, or a quote minted for your campaign. The rule applies after disclosure, whenever disclosure happens.
- With a version-current card, rate match passes by construction. The only legitimate rejection is availability.
- A stale card returns
STALE_RATE_CARDwith a per-linerate_driftdiff (your cost vs current cost): refresh and resubmit, no silent failures. - An expired quote is a stale card by construction: same
STALE_RATE_CARD, which converts to "re-request a quote," never a silent business rejection. - A rate mismatch when versions agree is a platform defect and is alarmed as one, never surfaced as a business rejection.
"error": { "error_code": "STALE_RATE_CARD", "recoverable": true },
"rate_drift": [ { "package_id": "acme-prime", "week": "2026-W41",
"your_cost": 405.00, "current_cost": 418.00 } ]
The failure surfaces on the order as a failed status with the error attached; error shapes are catalogued in Errors.
Price-at-order-time lock
An accepted price travels with the unit, even across mutually approved week moves. Later card changes never invalidate an accepted order.