🎬 Simulate:
Subscription Admin
Search Filters
Results
4 results
| User | Product | Status | Expiry | |
|---|---|---|---|---|
| bounmy.keodara@example.com | Basic Digital Skills · Lifetime | active | — | View Detail |
| khamla.vongsa@example.com | Digital Literacy Track | active | 2027-03-15 | View Detail |
| malivan.s@example.com | Basic Digital Skills · 1 Year | cancelled | 2026-01-31 | View Detail |
| phoun.k@example.com | Digital Literacy Track | revoked | 2025-12-31 | View Detail |
Screen Flow (from uc-bil-06-revoke-subscription.flow.puml / uc-bil-05-export-finance-transactions.flow.puml):
📝 Spec notes — UC-BIL.06 + UC-BIL.05 / SCR-BIL.07 (fields, actions, requirements)
Identity
- Screen: SCR-BIL.07 — Subscription Admin
- Use cases: UC-BIL.06 — Revoke Subscription (list + detail navigation); UC-BIL.05 — Export Finance Transactions (Export action)
Brief description
Admin-facing list page for subscription management — Sale Admin searches and filters subscriptions (by user email/id, status, product, expiry date range) → result list → click "View Detail" navigates to SCR-BIL.11 (Subscription Admin Detail) for full detail and status editing. The Export button downloads subscription data matching the current filters (including financial data: amount, payment date, gateway) in the format selected by the Sale Admin (CSV or Excel xlsx) — this is UC-BIL.05.
Fields (list page)
search_user"Search user (id or email)" — text · max 255 · always · editablefilter_status"Status" — enum (all/new/pending/active/cancelled/revoked) · default: active · always · editablefilter_product"Product" — enum · data_ref: Product.id · default: all · always · editablefilter_expiry_from"Expiry From" — date · always · editablefilter_expiry_to"To" — date · always · editable · validation: filter_expiry_to ≥ filter_expiry_fromrow_user"User" — text · data_ref: User.email · always · read-onlyrow_product_name"Product" — text · data_ref: Product.name · always · read-onlyrow_status"Status" — enum (new/pending/active/cancelled/revoked) · data_ref: Subscription.status · always · read-onlyrow_expiry"Expiry" — date · data_ref: Subscription.expiry_date · always · read-onlyexport_format"Export Format" — enum (csv/xlsx) · Export dialog (opened via "Export" on Results header) · default: xlsx · always · editable (required)
Actions
search"Search" — always enabled · triggers UC-BIL.06-M-2clear"Clear" — always enabled · resets all search filters · no explicit UC stepselect_row"View Detail" — enabled when a result row exists · navigates to SCR-BIL.11 (subscription-admin-detail) · triggers UC-BIL.06-M-4export"Export" — always enabled; opens the Export Dialog (SCR-BIL.21) using current filter criteria · no UC step of its own (the dialog's own Export action triggers UC-BIL.05-M-1)
Additional requirements
- Supports admin concurrent users (~5 admins). [refs: NFR-01]
- TLS 1.2+; admin payload (search query) must not store PII outside audit. [refs: NFR-03]
- RBAC — Sale Admin (ACT-12) only; reject 403 + log security event if role absent. [refs: NFR-10]
- Audit log for the Export action — who exported, filter criteria, timestamp, row count; an audit record is created at the time of export (see "UC-BIL.05 additional requirements" below for the full export column list). [refs: NFR-11]
- WCAG — search filter form group uses <fieldset>+<legend>; result table has full semantics (<th scope>); all interactive controls keyboard-navigable. [refs: NFR-09]
- Supports desktop (admin primary device); mobile/tablet — full-width stacked layout; result list scrollable horizontally. [refs: NFR-08]
- Pagination in result list — default 20 rows/page — to support searches with many results. [refs: NFR-02]
- Export uses current filters as criteria (no separate export filter); Sale Admin selects the export format (CSV or Excel xlsx) before exporting; full user email is included without masking (Sale Admin is a trusted internal role, internal reconciliation only). [refs: —]
UC-BIL.05 additional requirements
- Sale Admin selects export format before downloading — supported formats: CSV (.csv) and Excel (.xlsx). [refs: —]
- Exported columns: user (email), product, subscription status, start date, expiry date, amount, payment date, payment channel (e.g. BCEL, bank transfer), revoke date (if applicable), revoked by (if applicable), revoke reason (if applicable), revoke notes (if applicable), reference document (if applicable). [refs: —]