Coupons are reusable discounts applied to orders and checkout flows. Each coupon offers either a percentage or a fixed amount off, and can carry a redeemable code or be codeless for programmatic application. Usage limits, expiration, minimum purchase amounts, stackability, and catalog restrictions (specific products, variants, bundles, or categories) control where and how often a coupon applies.
A coupon's effective status is computed: active, disabled (merchant-toggled, reversible), expired (past expires_at), exhausted (usage limit reached), or deleted. Applying a coupon to an order creates an order discount; one-off price adjustments that don't need a reusable coupon can use manual discounts on the order directly.
