Phase 05: Visibility and Client Portal - Implementation decisions documented - Phase boundary established Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
75 lines
3.2 KiB
Markdown
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*
|