trucking: same-day expiring coupon to drive immediate conversion

The sales we got came at $79 + a 24hr coupon; cutting MCS-150 to $39 flat
removed urgency and conversions did NOT improve (a permanent low price sets a
new anchor and lets people defer). Restore the higher anchor and let an
expiring discount create the now-or-lose-it decision.

- Restore MCS-150 anchor $39 -> $79 (catalog single source + regenerated).
- build_trucking_campaigns.py: mint ONE random 5-letter coupon per send-day
  (40% off, valid through 23:59:59 ET that day) into the existing discount_codes
  table; inject coupon_code/pct/expires + a ?code= LP link into every email.
  Idempotent per day; service-fee-only scope (gov/pass-through fees never cut).
- Listmonk MCS-150 (186) + Inactive USDOT (188) templates: lead with the
  struck-through anchor + sale price + code + 'expires tonight', and point the
  primary CTA at the order page (with code) instead of the 'free check' tool.
- OrderPriceBanner: validates ?code= via /api/v1/discount and shows
  was/now + expiry; Wizard forwards the code to order creation.
- Verified: code gen, expiry math, scope enforcement, discount API
  (40% off $79 = $47.40), site+api builds clean.
This commit is contained in:
justin 2026-06-13 20:43:47 -05:00
parent dd4ed3ea38
commit 5e9aec40d1
30 changed files with 216 additions and 31 deletions

View file

@ -272,7 +272,7 @@ export const COMPLIANCE_SERVICES: Record<string, ComplianceService> = {
// ── DOT / FMCSA Motor Carrier Services ──────────────────────────────
"mcs150-update": {
name: "MCS-150 Biennial Update",
price_cents: 3900,
price_cents: 7900,
erpnext_item: "MCS150-UPDATE",
discountable: true,
},