You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sims-hq/docs/superpowers/specs/2026-07-17-apex-82963-ux-re...

68 lines
4.6 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# APEX App 82963 "SIMS CUSTOMER New" — UX Reference for the HQ Console
*Condensed from a full reverse-engineering of the Oracle APEX export (`f82963.sql`, 94 pages,
68k lines, exported 2026-07-16). Purpose: when polishing HQ pages, match the **mental model**
the team already has — not the APEX technology. The HQ console replaces this app.*
## What the old app is
Vendor-internal ops console for a **banking-software company**. Clients are **banks /
cooperative credit societies** (the client-name column is literally `BANK`; rows carry
IFSC, RTGS flags, e-collection codes, AnyDesk ids). Three product lines: core banking
("SMS" modules, Deposit/Loan split), RTGS/NEFT integration, plus docs/billing and the
vendor's own field-staff HR.
## Team's ingrained UX patterns (worth honouring in HQ)
1. **Role-driven home.** Dashboard/menu cards come from data (`SIMS_APP_CONTROL`) filtered
by the employee's designation — each role sees only its cards. HQ equivalent: role-gated
nav + "Mine" defaults for staff.
2. **The daily workbench loop.** Day Begin → Work Bench (today's open items, assigned to me)
→ close/transfer → Day End (carry-forward of anything unclosed: an unclosed ticket
auto-rolls forward every day until handled). This "nothing falls through silently"
carry-forward is the single most load-bearing behaviour — HQ's pipeline chase-list +
reminder queue must feel like this: the item stays in your face until resolved.
3. **Pending-first ordering.** Payment status list sorts `PENDING` to the top
(`ORDER BY CASE WHEN PAYMENT_STATUS='PENDING' THEN 0 ELSE 1 END`). HQ: overdue/actionable
rows always sort first.
4. **One picker → detail panel.** Module report = pick a bank → see its modules; billing =
enter bill no → see lines. Master-detail with a single obvious filter, not faceted search.
5. **Free-text quick search** over name/status (`LIKE '%x%'` on BANK_NAME/PAYMENT_STATUS).
HQ: keep the single search box idiom.
6. **Status vocabulary the team speaks:** enquiry pipeline `GENERAL ENQUIRY → NEW PROJECT →
WAITING FOR CUSTOMER RESPONSE → YES/NO`; tickets `OPEN / IN PROGRESS / CLOSED / TRANSFERED`;
payment `PENDING / …`; proforma vs invoice via `INVOICE_TYPE` + `CONVERTED_FROM_PROFORMA_ID`.
HQ's stages (Enquiry → New Project → Quoted/Waiting → Won/Lost) deliberately mirror this.
7. **Everyone-visible reference data on the client row:** district, sector, phone, mail,
WhatsApp, AnyDesk id, product flags (ATM/RTGS/SMS/MOBILE_APP). Support staff live off this
card. (HQ gap noted: support-access fields are a deferred slice.)
8. **Exports everywhere.** IG reports download CSV/XLSX/PDF. HQ: every list should copy/export.
9. **Assignment is personal.** Tickets/enquiries carry `ASSIGNED_TO` (an employee name);
reports filter by employee. HQ: owner on every pipeline row; "Mine" filter.
10. **Calendar views** for tickets/leave, colour-coded by status via a colour lookup table.
(Deferred in HQ; note only.)
## Screen inventory the team knows (major ones)
| Old page | What it does | HQ equivalent |
|---|---|---|
| 5 SIMS Client List / 6 form | master client book (IG grid, inline edit) | Clients / ClientDetail |
| 2/3 SMS Client, 29/30 RTGS Client | per-product client lists | Clients + module roster |
| 61 SMS_MODULES / 62 Module Report | modules per client (per-client only!) | Modules + NEW module→client roster (HQ improves: cross-client) |
| 31 SMS TICKET / 27 RTGS_TICKET | enquiry "project" pipeline w/ ASSIGNED_TO | NEW Pipeline chase-list |
| 45/64 BILLING, 71 BILL PAYMENT STATUS | bills + pending-first payment status | Documents, Dashboard, Reports |
| 63/77/78 SIMS_INVOICES | normalized invoices, proforma→invoice convert | DocumentView convert-and-send |
| 8/11/40 DAY BEGIN / WORK BENCH / DAY END | daily open-call loop, carry-forward | Dashboard reminder queue + Pipeline |
| 42 Report | date-range + group/bank/employee filtered call report | Reports |
| 5156 DOCUMENTS | hierarchical doc库 cards | (deferred) |
| 23/65 EMPLOYEE | employee master (EMPMASTER drives everything) | NEW Employees page |
| 12/18/26/28/36/41/43 TA/leave/monthly | field-staff HR | deferred (non-goal) |
## UX pass checklist derived from the above
For EVERY HQ page: (a) actionable/overdue rows first; (b) one obvious search/filter;
(c) owner visible where relevant + "Mine" default for staff; (d) counts shown, pagination,
never silent truncation; (e) export/copy where a list exists; (f) status labels use the
team's vocabulary above; (g) the thing you must do next is one click away (workbench feel);
(h) works on a phone browser (spec non-goal: no native app).