No description
Conversion fix for the checkout drop-off (54 sessions reached an /order/ page over 3 days, 0 advanced to payment). Root cause was friction, not a bug: every order page dropped a cold email-click straight into a 28-field intake Wizard before showing any payment option. - New ExpressCheckout.astro: payment-first entry. Shows price + the minimal fields the API needs (prefilled from public records: ?dot= FMCSA census for trucking, ?npi= NPPES lookup for healthcare) + Continue to payment. Creates a single-service batch-of-one (POST /compliance-orders/batch, which does NOT gate Stripe on intake_data_validated) then create-session -> Stripe. Full intake is collected AFTER payment via the per-service 'Complete Your Intake Form' email the webhook already sends (links to /order/<slug>?order=CO-xxx, which re-enters the Wizard in paid-intake mode). - New OrderFlow.astro: single source of truth replacing ~50 near-identical thin Wizard wrappers. Trucking + healthcare default to payment-first (express on top, marketing hero moved BELOW the CTA). Telecom + corporate keep Wizard-first (rich pre-payment FCC/499 intake, no public-records prefill). Paid-intake re-entry (?order=/?token=) always renders the full Wizard. - Rewrote all 50 /order/*.astro pages to use OrderFlow (foreign-qualification keeps its multi-state toggle via slotted content). - Fixed the dead Tawk.to live-chat widget site-wide: the snippet set an invalid crossorigin='*' attribute, forcing the browser into anonymous CORS mode and blocking the script (0 chat requests fired anywhere). Removed it to match Tawk's official snippet (footer partial + 73 static public/*.html files). Verified: build clean; express on top with hero below; ?dot=/?npi= prefill; paid-intake re-entry swaps to Wizard; telecom stays wizard-first; batch-of-one -> live Stripe URL; both POST endpoints allow the prod origin via CORS. |
||
|---|---|---|
| .claude/projects/-home-justin-projects-performancewest-new-site/memory | ||
| api | ||
| chrome-extension/fcc-access-helper | ||
| data | ||
| docs | ||
| docserver | ||
| erpnext | ||
| frappe_adyen | ||
| frappe_ca_registry | ||
| frappe_crypto | ||
| infra | ||
| mcp | ||
| monitoring | ||
| node-compile-cache/v25.1.0-x64-392347a2-1000 | ||
| performancewest_erpnext | ||
| scripts | ||
| site | ||
| src | ||
| test_screenshots | ||
| .gitignore | ||
| CLAUDE.md | ||
| deploy.sh | ||
| docker-compose.dev.override.yml | ||
| docker-compose.yml | ||
| extract-erpnext-assets.sh | ||