Trial Expired — Graceful Downgrade Spec
Property: ChurchWiseAI Category: Admin Dashboard
Tier:
trial-expired
Persona: pastor-admin
Touchpoint: /admin/[token]
Preconditions
- premium_churches row with status=expired (trial ended, no payment)
- Logged in as church admin
Steps
| # | Action | Expected Result |
|---|---|---|
| 1 | Navigate to admin dashboard | Dashboard loads but features locked — upgrade prompt shown prominently |
| 2 | Attempt to access chatbot config | Blocked with upgrade CTA — no chatbot responses served |
| 3 | Check chatbot widget on church page | Widget disabled or shows 'trial ended' message — not serving visitors |
| 4 | Click upgrade CTA | Directed to /pricing or /checkout with plan pre-selected |
| 5 | Check that church data is preserved | Knowledge base, agent config, and history retained — no data loss on expiry |
Known Failure Modes
- Chatbot still serving visitors after trial expiry — entitlement leak
- Dashboard inaccessible (500/404) instead of graceful locked state
- Church data deleted on expiry — unacceptable
- Upgrade CTA missing — customer has no path to reactivate
References
- Playwright spec:
e2e/delivers/acceptance/trial-expired.spec.ts - Acceptance spec: acceptance/cancelled.md
- Code files:
Notes
Trial is 14 days. On expiry: features lock, data preserved, upgrade path shown. cancelled.md covers both trial-expired and cancelled states.