# VoM Subscription

Billing and subscription lifecycle for VoM tenants: prepaid periods, late settlement, last-chance access, and cold archival of unpaid tenants.

## Language

### Phases

**Grace**:
Unpaid stretch of 7 calendar days after prepaid `end_date` for monthly and annual; access retained; status `grace_period`.
_Avoid_: treating Grace as starting after the 3rd failed charge

**RetryWindow**:
The first 3 unpaid days inside Grace when auto-renew may charge saved cards nightly.
_Avoid_: calling the whole Grace a retry window

**LastChance**:
Unpaid stretch from prepaid `end_date` + 90 days through the day before cold archive. Access is blocked; Story 4 settlement renew stays open; auto-renew is off. Customer language never says “cold.”
_Avoid_: archival_phase as product copy, cold archive for this phase alone

**ColdArchived**:
State at and after `end_date` + 120: system/main rows soft-deleted, tenant DB hard-deleted when configured, and a registry row is the long-lived identity of the archived tenant.
_Avoid_: ArchivedSubscription (billing history only), calling this “LastChance”

**Archival**:
Customer-facing name for cold archive and the countdown toward it. Prefer this in UI and notifications over “cold.”
_Avoid_: cold storage, cold archive (customer-facing)

### Registry & returning users

**ColdArchive registry**:
System table of ColdArchived tenants: lookup by host tenant label and email until permanent purge removes the row and related soft-deleted data.
_Avoid_: archived subscriptions list, tenant websites table as the only archive record

**Returning user**:
Someone whose host is ColdArchived or whose register email matches the registry (latest match when many emails exist), offered restore vs start-fresh before a live subscription exists.
_Avoid_: guest, new lead only

**Path A**:
Restore archived data intent: until Story 9, static copy with a WhatsApp deep link to support.
_Avoid_: paid restore payment UI (that is Story 9)

**Path B**:
Start as a new subscriber with no link to the prior company: outbound or continue register with no history; no registry FK to the new company.
_Avoid_: reclaim subdomain as the same tenant, soft-restore

**Start fresh confirmation**:
One-shot acknowledgment on a register attempt that the user chose Path B for that submit; not a lasting preference.
_Avoid_: started_fresh registry status (out of thin Part 4)

### Related but distinct

**ArchivedSubscription**:
Billing-history row created on renew/plan change — not a ColdArchived tenant.
_Avoid_: cold-archived account

**Purge**:
Hard removal of remaining soft-deleted system data and registry after the 12-month restore window; afterward the user only reaches support outside self-serve restore.
_Avoid_: day-120 job, soft-delete cascade alone
