diff --git a/.planning/phases/05-visibility-and-client-portal/05-CONTEXT.md b/.planning/phases/05-visibility-and-client-portal/05-CONTEXT.md new file mode 100644 index 0000000..144b26b --- /dev/null +++ b/.planning/phases/05-visibility-and-client-portal/05-CONTEXT.md @@ -0,0 +1,74 @@ +# Phase 5: Visibility and Client Portal - Context + +**Gathered:** 2026-03-05 +**Status:** Ready for planning + + +## 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. + + + + +## 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 + + + + +## 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 + + + + +## Deferred Ideas + +None — discussion stayed within phase scope + + + +--- + +*Phase: 05-visibility-and-client-portal* +*Context gathered: 2026-03-05*