Complete TSD coverage
All 5 modules. Every TSD section addressed.
Every requirement below is delivered in scope. References cite the exact TSD section.
AAmbassador Mobile Application - TSD section 314 items
+8-step compliance check flow - sequential, step-level validation, no skip permitted (3.1)P0
+Step 01: Rider search via numeric keypad, WMS lookup, FTR flag option for not-found (3.1)
+Step 02: Identity verification with mandatory live photo within 60 seconds, coaching call auto-task on No (3.1)
+Step 03: Plate validation + vehicle type radio (Car/Bike) locking conditional steps (3.1)
+Step 04: Uniform checklist (T-shirt, trousers, shoes, HS bag) with per-item Pass/Fail and violation flags (3.1)
+Step 05: Vehicle branding (Car=thermal bag, Bike=delivery box) + cleanliness with mandatory photo if Dirty (3.1)
+Step 06: Safety gear (Bike-only): helmet, gloves, knee pads, elbow pads with auto-skip if Car (3.1)
+Step 07: Live camera-only capture, EXIF 60s validation, Laplacian blur rejection, MD5 dedup, GPS at shutter (3.1, 3.2)P0
+Step 08: Structured tags + free text + Uncooperative auto-push to TL + GPS re-capture at submit (3.1)
+GPS double-capture (photo press + submit), both stored, over 200m discrepancy flags for Crystal audit (3.1)P0
+KSA GPS bounding box (lat 16.0-32.5, lon 36.0-56.5) - out-of-range flags check, notifies Team Leader (3.2)P0
+AES-256 encrypted offline storage - minimum 200 checks, auto-sync every 30s on reconnect, immutable timestamps (3.4)
+Daily check counter X/60 with red-amber-green progress, push notification at 50, daily log reminder 30 min before shift end (3.3)
+Full Arabic RTL UI on mobile app - Boolanga provides translations and implements right-to-left layout (10)
BIncident & Emergency Response - TSD section 410 items
+RiderCare bidirectional integration (8001111717): inbound webhook (incident ticket) + outbound API (4.1)
+Live dispatch map: all online ambassadors as GPS pins, refreshed every 30 seconds, names and availability (4.1)
+One-tap dispatch with push notification to ambassador in under 5 seconds, including rider name, GPS, level, ticket ref (4.1)P0
+Accept/Decline within 60 seconds with auto-reoffer to next nearest ambassador on no response (4.1)
+15-minute on-scene SLA timer visible on agent screen from dispatch time (L1/L2) (4.1)
+L1 (serious injury/fatality): 911 mandatory, RiderCare dispatch required, HSS Asst Manager + Operations Director same day (4.2)
+L2 (minor accident/breakdown): on-scene under 15 min, Najm 920002020 if needed, full report within 24 hours (4.2)
+L3 (non-cooperation/violation): photo/video documentation, coaching call, TL push notification (4.2)
+Incident report form with rider condition, min 2 photos, GPS auto-capture, repeated incident tracking with last incident date (4.3)
+FMS API integration - vehicle GPS feed for nearest-ambassador dispatch calculation (9)
CField Intelligence & Reporting - TSD section 57 items
+Voice of the Rider - minimum 1/week per ambassador enforced, morale 1-5, satisfaction 1-5, top challenge dropdown + free text (5.1)
+Vendor-Side Issues form: vendor, issue type, severity Low/Medium/High, mandatory photo (5.2)
+High severity vendor issues auto-push to HSS Regional Supervisor (5.2)
+Street Reporting - Team Leader-activated, road closure Y/N, congestion 1-5, suggested reroute + map pin (5.3)
+Daily Operational Log mandatory at end-of-shift, auto-filled check count + manual fields (5.4)
+Daily log doubles as attendance record (5.4)
+Non-submission within 30 minutes of shift end flags Team Leader and reduces Report Quality KPI score (5.4)
DKPI Scoring & Incentive Engine - TSD section 611 items
+Automated 4-pillar monthly KPI calculator - 100 points total, no manual intervention (6.1)P0
+Pillar 1 Checks Completed (50 pts): (actual / 1,560) x 50, capped at 50 (6.1)
+Pillar 2 Report Quality (20 pts): max(0, 20 - ((0.95 - valid_rate) x 200)), 0 below 85% (6.1)
+Pillar 3 Proactive Escalations (15 pts): 2+ HSS-validated = 15, 1 = 8, 0 = 0 (6.1)
+Pillar 4 Violation Detection (15 pts): 5+ = 15, 3-4 = 10, 1-2 = 5, 0 = 0 (6.1)
+Deduction engine - SAR 4/missed check (auto), SAR 15/Crystal-confirmed invalid, vehicle incident logic, base salary protected, minimum SAR 0 enforced (6.2)P0
+Incentive bracket auto-assignment: Platinum SAR 1,200 / Gold SAR 900 / Silver SAR 650 / Bronze SAR 400 / Below 65 = HR review (6.3)
+Team Leader composite: 60% team avg KPI + 25% eligibility >=65 + 15% weekly reports on time, read-only, raw inputs hidden from TL (6.4)P0
+HSS Asst Manager manual override capability with immutable audit log entry per override (6 + 10)
+Data export to Excel (.xlsx) + Google Sheets API v4 - Admin and HSS Asst Manager only, ambassador endpoint returns 403 (8.4)P0
+Incentive and deduction figures exportable for HungerStation HR/payroll team to apply
ECompliance Audit - Crystal Team - TSD section 710 items
+Crystal validation queue - table view sorted oldest first with ambassador, city, rider ID, timestamp, GPS, photo thumbnail, result, auto-flags (7.1)
+Approve / Reject (with reason + note) / Flag for investigation actions, batch operations available (7.1)
+SAR 15 penalty applied only after Crystal manual confirmation - never automatic on flag alone (7.1)P0
+48-hour SLA - all submitted checks reviewed within 48 hours of submission (7.1)
+Auto-detection: duplicate GPS within 10m by same ambassador within 5 minutes (7.2)
+Auto-detection: MD5 photo hash match across all submissions in the system (7.2)P0
+Auto-detection: speed anomaly over 5km in 3 minutes, sequential checks under 90 seconds, EXIF age over 60 seconds (7.2)
+All auto-flags route to Crystal queue for human review before any penalty applied (7.2)
+Coaching call auto-task generated per violation in Steps 02/04/05/06 with notification to ambassador (7.3)
+Coaching outcome logging - Completed / No answer / Refused / Accepted, 24h non-completion auto-escalates to TL (7.3)
+Dashboards, Integrations, Infrastructure - TSD sections 8, 9, 1015 items
+Ambassador mobile dashboard: counter X/60, current month KPI score and tier, pending coaching tasks, last 10 checks status (8.1)
+Team Leader mobile dashboard: live team check count vs target, individual KPI scores, coaching calls, weekly reports, all incidents, composite score read-only (8.2)
+HSS Management Dashboard: cross-city aggregate, city comparison, FTR map, incident response time, payout projection, real-time alerts (8.3)
+WMS API integration - read-only, on-demand at Step 01 + 4-hour cache refresh, manual fallback flagged for TL review on outage (9)
+FMS API integration - vehicle GPS for dispatch map, last-known-location fallback on outage (9)
+Google Sheets API v4 integration with OAuth 2.0 service account, .xlsx fallback (9)
+5-role RBAC enforced at API and database query level - cross-role access impossible at system level (2)P0
+SSO with HungerStation IDP (preferred) + 2FA mandatory for HSS Manager and Admin on web (10)
+Session: 30 min web / 8 hr mobile (10)
+AES-256 at rest, TLS 1.3 in transit, signed photo URLs with 1-hour expiry, no predictable file paths (10)
+Immutable append-only audit logs - 2-year retention covering submissions, edits, deletions, role changes, exports, deductions (10)
+External penetration test - funded by Boolanga, all Critical/High findings resolved before go-live, report delivered to HungerStation CISO (10)
+KSA-resident hosting, PDPL + NDMO compliant, hosting certificate delivered before contract signature (10)
+Push notifications: APNs (iOS) + FCM (Android) with delivery confirmation for L1/L2 dispatch, content in Arabic and English (10)
+Performance: check submission under 5s on 4G, dashboard load under 3s, 3,600+ submissions/day capacity (10)