Add engagement authorization, remove price headers from intake pages, fix duplicate emails

- Add clickwrap authorization checkbox to fcc-compliance, state-puc, neca-ocn order pages
- Store engagement_accepted_at/ip/version in compliance_orders (migration 074)
- Add 499-A past-due/multi-year eSign engagement letter generator
- Gate 499-A handler on engagement signature for past-due/multi-year orders
- Remove price/tax/fee headers from all 19 intake pages (post-payment only)
- Fix duplicate confirmation email for compliance_batch orders
- Add USAC past-due fee negotiation research doc

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
justin 2026-04-28 02:50:02 -05:00
parent 6171c64b90
commit cbfb8d6091
29 changed files with 602 additions and 52 deletions

View file

@ -15,8 +15,6 @@ const description = "Availability data only (no voice subscription). For broadba
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "Both BDC blocks in one order — broadband deployment + voi
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "Voice subscriber counts only — the part of the legacy For
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "System Security and Integrity plan required of every common
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "Classified traffic study from your CDRs — feeds the 499-A
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "Register your carrier in FCC CORES and obtain your FRN. Req
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "47 CFR § 64.2009 annual CPNI certification filed at FCC EC
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "Your required D.C. registered agent for service of process
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "New carrier registration with USAC — obtain your Filer ID
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "Annual 499-A plus the four quarterly 499-Q filings — one
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "Annual Telecommunications Reporting Worksheet. Due April 1
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "47 CFR § 63.11 notification filed with the FCC Internation
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "Diagnostic check — CORES, RMD, STIR/SHAKEN, CPNI, 499-A s
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "RMD + CPNI + STIR/SHAKEN + 499-A + 499-Q in one order. Ever
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -20,12 +20,6 @@ const description =
<main>
<section class="pw-order-intro">
<h1>{title}</h1>
<p class="pw-price" id="pw-price">
Service fee: {formatUSD(meta?.price_cents ?? 0)}
{isMulti ? " per state" : ""}
<span class="pw-price-note"> + state filing fees + registered agent</span>
</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
{!isMulti && (

View file

@ -15,8 +15,6 @@ const description = "Start-to-finish for a brand-new VoIP carrier: FRN + 499 Ini
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,8 +15,6 @@ const description = "Obtain an Operating Company Number from NECA. Required for
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>

View file

@ -15,12 +15,7 @@ const description = "Robocall Mitigation Database filing. Annual recertification
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)} <span style="font-size:0.85rem;font-weight:400;color:#64748b;">+ $100 FCC filing fee</span></p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
<p style="font-size:0.82rem;color:#92400e;background:#fefce8;border-left:3px solid #f59e0b;padding:0.5rem 0.75rem;border-radius:0 4px 4px 0;margin-top:0.5rem;max-width:48rem;">
The FCC charges a $100 filing fee for RMD registrations and recertifications (effective 2025). This fee is passed through at cost and paid directly to the FCC during submission.
</p>
</section>
<Wizard service_slug={slug} steps={steps ?? ["entity", "review", "payment"]} title={meta?.name ?? slug} />

View file

@ -15,8 +15,6 @@ const description = "Posture update + RMD refresh + STI-CA vendor coordination.
<main>
<section class="pw-order-intro">
<h1>{meta?.name}</h1>
<p class="pw-price" id="pw-price">{formatUSD(meta?.price_cents ?? 0)}</p>
<div id="pw-tax-notice"><TaxDeductibilityNotice /></div>
<p class="pw-desc">{description}</p>
</section>