PurpleHere POS v3.15 Update
What's New
Contract Management — Major UX Overhaul
- Tab layout replaced with Smart Accordion — scan all contract sections at a glance with completion badges (✓ Complete / ⚠ N required)
- Required Banner at top — click any section chip to jump directly to missing fields
- New "Billing" section — see linked subscription plans + one-time invoices + negotiated financial terms side-by-side
- One-click invoice issuance from contract — payer details auto-filled from contract applicant
- Expiry reminder emails — automatic notifications before contract end date with renewal CTA
- Automatic expired status transition — contracts past end date move to expired automatically
Foodcourt Multi-Branch Support
- Manage multiple branches under a single foodcourt entity (e.g., Sunway Pyramid, Pavilion, Mid Valley)
- Per-branch addresses, phone, operating hours, coordinates
- Unit full codes with branch prefix —
SUNWAY-A01 vs PAVILION-A01
- Same unit numbers allowed across different branches
- Inactive branch state blocks new contracts while preserving existing ones
Role-Based Assignment for Managers
- Foodcourt General can assign a Foodcourt Manager to a specific branch or leave foodcourt-wide
- Brand General who owns multiple brands can pick which brand each Brand Manager joins
- Restaurant can be linked to a specific branch within a foodcourt
Sidebar & UX Polish
- Sidebar real-time order badge — new orders show red dot instantly without 15-second wait
- Contract pipeline cards show amount, remaining time, branch info inline
- Smart button policy — clicking "Proceed" with missing fields auto-expands the right section and scrolls to the missing field
Security Hardening
- Invoice editing now restricted to issuer entity and recipient restaurant
- Brand General permission check now supports multi-brand ownership correctly
- Foodcourt General restaurant list properly scoped to owned foodcourt
Internationalization
- Korean, Chinese, Malay translations for all new screens