Files
kevin-asprec 5276f3bbf4 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>
2026-03-05 17:01:38 +08:00

3.2 KiB

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