corporate renewal: make annual-report/RA/reinstatement orderable
The catalog already priced annual-report-filing ($149), registered-agent ($99), entity-reinstatement ($299) but they had no intake spec, manifest entry, or order page, so the corporation-check tool's overdue result dead-ended at a contact form. Now a real self-serve funnel on the proven compliance-order pipeline: - REQUIRED_FIELDS intake specs (legal_name/address_state/email via the entity step) - INTAKE_MANIFEST + CORPORATE_SLUGS entries (entity->review->payment) - /order/annual-report-filing, /order/registered-agent, /order/entity-reinstatement API tsc clean; site builds all 3 pages. E2E on dev next.
This commit is contained in:
parent
d40458057b
commit
3e133d8c46
5 changed files with 57 additions and 0 deletions
|
|
@ -201,6 +201,13 @@ const REQUIRED_FIELDS: Record<string, FieldSpec> = {
|
|||
"carrier-closeout": { required: ["dot_number", "legal_name", "email", "signer_name", "signer_title"], soft: ["mc_number"] },
|
||||
"entity-dissolution": { required: ["legal_name", "address_state", "email", "signer_name"], soft: ["entity_type"] },
|
||||
|
||||
// ── Corporate Renewal / Good-Standing (collected via the `entity` step) ──
|
||||
// Sold off the /tools/corporation-check overdue result. State-agnostic:
|
||||
// annual-report/franchise filing, registered-agent setup, reinstatement.
|
||||
"annual-report-filing": { required: ["legal_name", "address_state", "email"], soft: ["entity_number", "entity_type", "address_street", "address_city", "address_zip", "ein"] },
|
||||
"registered-agent": { required: ["legal_name", "address_state", "email"], soft: ["entity_number", "entity_type"] },
|
||||
"entity-reinstatement": { required: ["legal_name", "address_state", "email"], soft: ["entity_number", "entity_type", "address_street", "address_city", "address_zip", "ein"] },
|
||||
|
||||
// ── State-Level Trucking Compliance ──────────────────────────────────
|
||||
// Collected via the state-trucking intake step (StateTruckingIntakeStep.astro).
|
||||
"irp-registration": { required: ["dot_number", "legal_name", "base_state", "email", "power_units", "operating_states"], soft: ["mc_number", "fuel_type", "gross_weight_bracket"] },
|
||||
|
|
|
|||
|
|
@ -94,6 +94,11 @@ export const INTAKE_MANIFEST: Record<string, IntakeStep[]> = {
|
|||
"entity", "foreign_qual", "review", "payment",
|
||||
],
|
||||
|
||||
// Corporate renewal / good-standing — sold off /tools/corporation-check
|
||||
"annual-report-filing": ["entity", "review", "payment"],
|
||||
"registered-agent": ["entity", "review", "payment"],
|
||||
"entity-reinstatement": ["entity", "review", "payment"],
|
||||
|
||||
// Bundles
|
||||
"fcc-full-compliance": [
|
||||
"entity", "category", "officer", "jurisdiction", "history",
|
||||
|
|
@ -205,4 +210,7 @@ const CORPORATE_SLUGS = new Set<string>([
|
|||
"dc-agent",
|
||||
"foreign-qualification-single",
|
||||
"foreign-qualification-multi",
|
||||
"annual-report-filing",
|
||||
"registered-agent",
|
||||
"entity-reinstatement",
|
||||
]);
|
||||
|
|
|
|||
14
site/src/pages/order/annual-report-filing.astro
Normal file
14
site/src/pages/order/annual-report-filing.astro
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
import Base from "../../layouts/Base.astro";
|
||||
import OrderFlow from "../../components/intake/OrderFlow.astro";
|
||||
import { SERVICE_META } from "../../lib/intake_manifest";
|
||||
|
||||
const slug = "annual-report-filing";
|
||||
const meta = SERVICE_META[slug];
|
||||
const title = meta ? `Order ${meta.name}` : "Order";
|
||||
const description = "File your overdue or upcoming state annual report / franchise tax to keep your business in good standing.";
|
||||
---
|
||||
|
||||
<Base title={title} description={description}>
|
||||
<OrderFlow slug={slug} description={description} fallbackSteps={["entity", "review", "payment"]} />
|
||||
</Base>
|
||||
14
site/src/pages/order/entity-reinstatement.astro
Normal file
14
site/src/pages/order/entity-reinstatement.astro
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
import Base from "../../layouts/Base.astro";
|
||||
import OrderFlow from "../../components/intake/OrderFlow.astro";
|
||||
import { SERVICE_META } from "../../lib/intake_manifest";
|
||||
|
||||
const slug = "entity-reinstatement";
|
||||
const meta = SERVICE_META[slug];
|
||||
const title = meta ? `Order ${meta.name}` : "Order";
|
||||
const description = "Reinstate an administratively dissolved or forfeited business and restore its good standing.";
|
||||
---
|
||||
|
||||
<Base title={title} description={description}>
|
||||
<OrderFlow slug={slug} description={description} fallbackSteps={["entity", "review", "payment"]} />
|
||||
</Base>
|
||||
14
site/src/pages/order/registered-agent.astro
Normal file
14
site/src/pages/order/registered-agent.astro
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
import Base from "../../layouts/Base.astro";
|
||||
import OrderFlow from "../../components/intake/OrderFlow.astro";
|
||||
import { SERVICE_META } from "../../lib/intake_manifest";
|
||||
|
||||
const slug = "registered-agent";
|
||||
const meta = SERVICE_META[slug];
|
||||
const title = meta ? `Order ${meta.name}` : "Order";
|
||||
const description = "Set up professional registered agent service for your business in any state — one flat annual rate.";
|
||||
---
|
||||
|
||||
<Base title={title} description={description}>
|
||||
<OrderFlow slug={slug} description={description} fallbackSteps={["entity", "review", "payment"]} />
|
||||
</Base>
|
||||
Loading…
Add table
Add a link
Reference in a new issue