HQMP001 · HANQING Mini Program
HQ Smart Wellness — UI planning prototype
Six mock layouts showing the intended shape of each surface: what a person sees, in what order,
and what the system will and will not let them do. Read alongside
04-ux-ui-blueprint.md.
Every name, figure and identifier on this page is an invented sample label. No personal data, no health data and no live system are represented. Nothing here is a medical claim.
Orientation
What you are looking at
Five applications sit on one backend and one customer record. The three rules below shape almost every screen in this prototype.
One customer, one record
The person who buys lunch at the counter, books a session, holds the membership and completes a recovery profile is one record with one identifier. Every screen here reads from that one record.
Money and recovery never mix
Wallet, points and coupons are three separate balances and are shown separately everywhere — never added together. Nothing a customer buys, refers or redeems can change a recovery assessment.
A safety check comes first, and a coach reviews everything
Recovery services and plans are only offered after a safety check passes. A recovery coach reviews every plan before the customer can see it — no automated process can publish to a customer.
Surfaces in this prototype
| # | Surface | Who uses it | Designed for |
|---|---|---|---|
| 1 | Public landing | Prospective customers | Mobile and desktop |
| 2 | Customer dashboard | Customers | Mobile first (375 px) |
| 3 | Booking journey | Customers | Mobile first (375 px) |
| 4 | Coach client review & Safety Gate | Recovery coaches | Laptop (1280 px) |
| 5 | POS checkout | Cashiers, store managers | Counter tablet (1024 px) |
| 6 | HQ customer management | HQ administrators | Desktop (1440 px) |
Surface 1 · Public website
Public landing page
Objective: explain what the business does, make clear this is wellness recovery management rather than medical care, and route the visitor to the Mini Program or a branch. Holds no customer data.
Hero
Recovery, managed.
One membership. One record. One plan — reviewed by a recovery coach before you ever see it.
What you get
How it works
Some people will be advised to speak to a healthcare professional instead of starting a recovery plan. That is a normal outcome of the safety check.
Surface 2 · Customer Mini Program · mobile-first
Customer dashboard
Objective: answer four questions in one screen — what is my membership, what is happening next, what should I do today, and where is my recovery journey. Drawn at the 375 px design baseline; touch targets are at least 44 px.
A · Standard view — plan active
Next visit
Tue 5 Aug · 14:30 · Central Branch
Your recovery
Review due 2026-09-14
View my planToday
Balances — kept separate
B · Recovery services on hold (Safety Gate)
⏸ Recovery services are on hold
Your recovery coach will contact you about the next step. You can still order, use your wallet and keep your membership.
Your recovery
A coach will be in touch. Plan actions are hidden until then.
What this meansStill available to you
Surface 3 · Customer Mini Program · mobile-first
Booking journey
Four steps: choose a service, choose a time, confirm, done. Every booking is validated on the server against staff, room, equipment, duration, opening hours, package balance and safety restrictions — an invalid booking is refused, never accepted and corrected later.
Step 1 · Choose a service
60 min · uses 1 of 4 remaining sessions
Select45 min · ¥320
Paused — please speak to your recovery coach.
Select Why is this paused?30 min · ¥120
SelectStep 2 · Choose a time
August 2026
Available times · Tue 5 Aug
Unavailable times stay visible and disabled, with a reason on focus — they are not removed from the list.
Step 3 · Confirm
✓ Safety check passed
Checked 2026-08-01. Re-checked automatically when you arrive.
Step 4 · Done
✓ You're booked
Reference APT-2026-08-0413
Tue 5 Aug · 14:30 · Central Branch
Arrive 10 minutes early for check-in.
Surface 4 · Recovery Coach Portal · laptop 1280 px
Coach client review & Safety Gate
Objective: move one client from raw data to a recorded decision, safely and traceably. Seven tabs in working order. The client context header — identity, safety status and consent — is never out of sight.
Clients
- Sample Client A Conditions
- Sample Client B Clear
- Sample Client C On hold
- Sample Client D In review
Waiting on me
Reviews due 3
Referrals open 1
Reports to review 2
CUS-••••-7420 · Central Branch
Commercial history, spend and tier are deliberately not shown in this workspace.
⚠ Safety status — proceed with conditions
Two service restrictions are active. Each must be cleared individually with a recorded clarification. Evaluated 2026-08-01 against safety rule set 2026.3.
Priority 1 — Sleep regulation
Data confidence: MediumWhy this priority
- Input sources
-
- Lifestyle · reported sleep under 5 hours · self-reported · record v2
- HVI · high daytime fatigue · self-reported · record v1
- ESVA · high stress load · self-reported · record v1
- Client goal · improve concentration at work · stated in profile
- Rules triggered
-
SLEEP_DEBT_PRIMARY— rule set 2026.3STRESS_COMPOUNDING— rule set 2026.3
- Restrictions
-
- Thermal therapy paused — safety flag SF-12
- High-intensity sessions paused — safety flag SF-07
- Confidence note
- Objective measurements are not available for this client. Adding them would raise confidence from medium to high.
Publication gate — all four must pass
| Condition | State | What is missing |
|---|---|---|
| Required assessments completed | Pass | — |
| Safety gate passed | Conditions | 2 restrictions to clear or carry forward |
| Consent granted | Pass | — |
| Coach reviewed | In progress | Priority 1 not yet approved |
Publish to customer Disabled until all four conditions pass. The server re-checks all four at the moment of publication.
Assessment status
| CRP | Done |
|---|---|
| RAA | Done |
| Lifestyle | Done |
| RBA | Done |
| ESVA | Done |
| HVI | Done |
| HPIS | Phase 2 |
Record trail
Rule set 2026.3
Report version draft v3
Supersedes v2 (published 2026-06-02)
Recent activity
2026-08-01 · Coach Lin · amended Priority 2 · reason recorded
2026-08-01 · System · safety re-evaluated after profile update
2026-07-28 · Coach Lin · opened client record
Every entry above is permanent and cannot be edited or deleted by any role.
Surface 5 · POS / Store Portal · counter tablet 1024 px
POS checkout
Objective: complete a correct sale quickly, without ever exposing health information on a screen the public can see, and without any way to bypass a safety restriction.
The counter sees a neutral eligibility indicator only — never a reason, a flag or any health term. Wallet, points and coupons are three separate figures and are never combined.
Cart
Order A-22911 × uses 1 of 4 remaining sessions
2 × ¥38
Reason: configured Gold tier discount
Tender — split payment supported
Tender ¥72
Points are redeemed as a separate, explicit step — they are never treated as money and never mixed into the wallet balance.
Surface 6 · HQ Admin Portal · desktop 1440 px
HQ customer management
Objective: keep one correct customer record across the whole business. This screen can merge duplicates — and it has no route to anyone's health information at all.
Operations
- Branches
- Staff & permissions
- Customers
Catalogue
- Products
- Menu
- Pricing
Rules
- Membership rules
- Assessment & scoring
- Report templates
- Tasks
Oversight
- Audit trail
- Exceptions
- Analytics
Customers
| Customer ID | Name | Contact | Tier | Record state | Coach |
|---|---|---|---|---|---|
CUS-••••-7420 | Sample Client A | 139••••5678 | Gold | Verified | Coach Lin |
CUS-••••-1183 | Sample Client B | 138••••2094 | Silver | Verified | Coach Ng |
CUS-••••-9902 | Sample Client B | 138••••2094 | — | Provisional | — |
⚠ Possible duplicate — CUS-••••-9902 shares a contact number with
CUS-••••-1183. Created at the counter on 2026-07-30.
|
|||||
CUS-••••-4417 | Sample Client D | 136••••3320 | Gold | Verified | Coach Lin |
Merge review
| Keep | Merge in | |
|---|---|---|
| Customer ID | CUS-••••-1183 | CUS-••••-9902 |
| Record state | Verified | Provisional |
| Orders | 14 | 2 |
| Bookings | 6 | 1 |
| Wallet | ¥120 | ¥60 |
| Recovery profile | 1 version | none |
Before you merge
History is preserved, not rewritten: the merged identifier becomes a permanent alias. Recovery profile versions are kept separately and a coach must confirm which profile version is current, because the safety check depends on it. This cannot be undone.
Reason required Duplicate created at counter — same contact number
Type the surviving ID to confirm CUS-••••-1183
This action will be recorded permanently against your name, with the reason, and will be visible on both records and in the audit trail.
Foundations
Design tokens
Placeholder values pending brand direction. Every value is a CSS custom property, so a brand change is a token swap rather than a redesign. All pairs below meet WCAG 2.2 AA contrast for their intended use.
Colour
Colour never carries meaning alone. Every status in this prototype pairs a colour with a glyph and a text label, so it survives colour-blindness, greyscale printing and low-quality counter displays.
Status vocabulary
✓ Clear / proceed ⚠ Conditions apply ⏸ On hold ◷ In review / draft — Not applicable
Type scale
| Token | Size | Used for |
|---|---|---|
--fs-4xl | 36 px | Public hero, desktop only |
--fs-3xl | 30 px | Page title |
--fs-2xl | 24 px | Section heading |
--fs-xl | 20 px | Card heading, cart total |
--fs-lg | 18 px | Lede, emphasised value |
--fs-md | 16 px | Body — mobile minimum |
--fs-sm | 14 px | Secondary text, table cells |
--fs-xs | 12 px | Labels and metadata — never for customer-facing body copy |
Spacing, radius and targets
| Token | Value | Note |
|---|---|---|
--sp-1 … --sp-8 | 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64 px | 4 px grid |
--r-sm / md / lg / pill | 6 · 10 · 16 · 999 px | Radius |
--target-min | 44 px | Minimum interactive target, with 8 px separation |
--w-content-max | 1280 px | Desktop content cap |
--dur-fast / base | 120 · 200 ms | Suppressed under reduced-motion |
Breakpoints
| Name | Range | Primary surface |
|---|---|---|
| sm | 375–429 px | Customer Mini Program design baseline |
| md | 430–767 px | Large phones |
| lg | 768–1023 px | Counter tablet |
| xl | 1024–1439 px | Coach portal |
| 2xl | ≥ 1440 px | HQ admin |
Foundations
Accessibility, localization and the rules behind these screens
These are acceptance criteria for the build, not aspirations. This prototype demonstrates them where a static page can.
Accessibility commitments (WCAG 2.2 AA)
- Every interactive element reachable and operable by keyboard, in a logical order, with a visible focus ring that is never removed. Try tabbing through this page.
- A skip-to-content link as the first focusable element.
- Semantic landmarks and a single
h1per screen; heading levels never skip. - Touch targets at least 44 × 44 px with at least 8 px separation.
- Body text at least 16 px on customer surfaces; usable at 200% zoom and 320 px width with no horizontal scrolling.
- Colour never the only signal — every status has a glyph and a text label.
- Motion suppressed under
prefers-reduced-motion. - Safety banners and validation errors announced assertively; saves, filters and step changes announced politely.
- The explanation panel is a proper list structure, so an explanation is available to a screen-reader user, not only a sighted one.
Localization
- Chinese and English at parity on every surface from day one — neither is an afterthought.
- Layouts verified against the longer of the two strings; English is typically 30–60% wider.
- Dates, numbers, currency and name order are locale-driven; sentences are never built by concatenation.
- Reports are rendered and stored per language at publication, so switching language later still shows approved wording.
Rules visible in these mock-ups
| Constraint | Seen in |
|---|---|
| One customer, one universal identifier | Customer dashboard, POS customer strip, HQ list and merge |
| Wallet, points and coupons independent; purchases never affect recovery | Customer balance tiles, POS tender row |
| Safety check before therapy or recommendations | Booking step 1 and 3, coach Safety tab, POS product grid |
| A hold blocks services and plans, and no role can override it | Customer hold view, POS blocked tiles, coach safety banner |
| No automated publication; coach review required | Coach publication gate table |
| Records are versioned, not overwritten; overrides need a reason and are permanent | Coach record trail, HQ merge reason field |
| Customers never see staff records or internal scoring logic | Customer screens carry no scores, rules or notes |
| Recommendations show sources, rules and restrictions | Coach explanation panel |
| Rules are backend-configurable; bilingual from day one | Rule set version references, language switch on every surface |
| Wellness platform, not diagnosis or treatment | Page banner, public disclaimer, customer safety notice |