Files
NetForge/.planning/phases/05-visibility-and-client-portal/05-CONTEXT.md
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

75 lines
3.2 KiB
Markdown

# 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*