docs(05): capture phase context
Phase 05: Visibility and Client Portal - Implementation decisions documented - Phase boundary established Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# Phase 5: Visibility and Client Portal - Context
|
||||
|
||||
**Gathered:** 2026-03-05
|
||||
**Status:** Ready for planning
|
||||
|
||||
<domain>
|
||||
## Phase Boundary
|
||||
|
||||
ISP owner dashboard with financial and operational metrics, subscriber self-service portal (view bills, payments, plan details, submit/track tickets), online payment scaffold (gateway deferred to v2), and integration + end-to-end test coverage for critical workflows.
|
||||
|
||||
</domain>
|
||||
|
||||
<decisions>
|
||||
## Implementation Decisions
|
||||
|
||||
### Dashboard metrics & layout
|
||||
- Balanced overview: top row shows key financial numbers, below shows operational status cards — equal weight to both
|
||||
- KPIs include all roadmap metrics PLUS collector summary: revenue today + month, overdue count, outstanding total, subscriber status breakdown (active/suspended/cancelled), cash flow summary, today's collection totals, unverified remittances
|
||||
- Multiple charts: KPI cards plus charts for revenue trend, subscriber growth, and collection breakdown
|
||||
- Auto-refresh: poll every 30-60 seconds for updated numbers
|
||||
|
||||
### Subscriber portal authentication
|
||||
- Separate portal login page at /portal/login with its own branding
|
||||
- Subscribers log in using their subscription account number as username (not email) — many ISP subscribers in the region don't use email
|
||||
- Password-based authentication backed by NextAuth
|
||||
|
||||
### Subscriber portal landing page
|
||||
- Account overview layout: account status card (plan, balance, next billing date) at top, then bill and payment history sections below
|
||||
- Full payment history: all payments ever made, paginated
|
||||
- Full invoice detail: line items (plan charge, fees, etc.), dates, amounts, and payment status — not just totals
|
||||
|
||||
### Portal ticket submission
|
||||
- Subscriber picks from existing ticket categories (No Connection, Slow Speed, etc.) and writes a description — no urgency field
|
||||
- Subscriber sees ticket list with current status (Open, Assigned, Resolved, Closed) and latest update
|
||||
- Follow-up messages: subscriber can add comments/updates to open tickets
|
||||
- Full conversation thread: both subscriber and staff messages visible on the ticket — simple chat-style thread
|
||||
|
||||
### Online payment scaffold
|
||||
- "Coming soon" page — no form UI, just messaging
|
||||
- Shows subscriber's current outstanding balance on the page
|
||||
- Includes alternative payment instructions (collector contact, office details)
|
||||
- Payment instructions are tenant-configurable — ISP owner sets their own office address, collector info in tenant settings
|
||||
|
||||
### Claude's Discretion
|
||||
- Dashboard chart library and chart styling
|
||||
- Dashboard layout grid/spacing
|
||||
- Auto-refresh interval (within 30-60s range)
|
||||
- Portal UI component design and styling
|
||||
- Ticket conversation thread implementation (comments model)
|
||||
- Test framework choice and test structure
|
||||
- Integration and e2e test scope decisions
|
||||
|
||||
</decisions>
|
||||
|
||||
<specifics>
|
||||
## Specific Ideas
|
||||
|
||||
- Account number login reflects real ISP context where subscribers may not have email addresses
|
||||
- Ticket conversation should feel like a simple chat — not a complex ticketing system
|
||||
- Payment instructions page should be useful (show balance, show how to pay) not just a dead end
|
||||
|
||||
</specifics>
|
||||
|
||||
<deferred>
|
||||
## Deferred Ideas
|
||||
|
||||
None — discussion stayed within phase scope
|
||||
|
||||
</deferred>
|
||||
|
||||
---
|
||||
|
||||
*Phase: 05-visibility-and-client-portal*
|
||||
*Context gathered: 2026-03-05*
|
||||
Reference in New Issue
Block a user