Starter Voice Tier — Full Acceptance Spec
Property: ChurchWiseAI Category: Voice Agent
Tier:
starter-voice
Persona: pastor-admin
Touchpoint: /admin/[token]
Preconditions
- Active premium_churches row with plan=starter-voice, status=active or preview
- church_voice_agents row exists with assigned phone number
- Logged in as church admin
Steps
| # | Action | Expected Result |
|---|---|---|
| 1 | Open admin dashboard | Calls tab visible. Chatbot tab HIDDEN (voice-only tier). |
| 2 | Check Calls tab | Phone number shown, voice agent status shown, call log visible |
| 3 | Verify chatbot embed code section | Not present — starter-voice has no chatbot |
| 4 | Make a test call to the church's assigned number | Voice agent answers, greets with church name, follows HEAR protocol |
| 5 | Say 'I'd like to submit a prayer request' | Agent captures request, confirms receipt, logs to voice_prayer_requests |
| 6 | Check voice_prayer_requests table | New row with source=voice, church_id correct |
| 7 | Check Pro-only voice features (e.g. custom hold music, advanced routing) | Locked with upgrade prompt |
Known Failure Modes
- Chatbot tab visible — tier gating broken
- Voice agent doesn't answer — SIP trunk or dispatch rule misconfigured
- Prayer request not logged — DB write failure
- Wrong church greeting — session.py resolve_route() returning wrong church config
References
- Playwright spec:
e2e/delivers/acceptance/starter-voice.spec.ts - Acceptance spec: acceptance/starter-voice.md
- Code files:
Notes
Voice agent is multi-tenant (one deployed agent serves all churches). Routing happens in session.py:resolve_route() via phone number lookup. Plan: $49.95/mo + $49.95 setup fee. Annual: setup waived. Full expected output spec: acceptance/starter-voice.md.