Olly Platform — Screen-to-API Mapping
This document maps every screen in the Olly member app (43 screens) and the SME quoting site to the corresponding backend API call. Screens with no current API are marked GAP.
Last updated: 2026-03-20 | Phase 1 complete | Phase 2 complete
SME / Employer Journey (Broker-driven)
| Screen / Step | Service | Method | Path | Notes |
|---|---|---|---|---|
| Create employer party | policy-admin | POST | /parties | Type: ORGANISATION |
| Create account | policy-admin | POST | /accounts | BillingLevel: ACCOUNT |
| List products | policy-admin | GET | /products/list | Find published product version |
| List product versions | policy-admin | GET | /products/{loc}/versions/list | Get version UUID |
| Create quote | broker-api | POST | /quotes | Requires published productVersionId |
| Price quote | broker-api | PATCH | /quotes/{locator}/price | DRAFT → PRICED |
| Underwrite quote | broker-api | PATCH | /quotes/{locator}/underwrite | PRICED → UNDERWRITTEN |
| Issue quote (bind policy) | broker-api | PATCH | /quotes/{locator}/issue | UNDERWRITTEN → ACCEPTED; returns policy (201) |
| Refuse quote | broker-api | PATCH | /quotes/{locator}/refuse | Any pre-accepted state → DECLINED |
| Discard quote | enrollment | PATCH | /quotes/{locator}/discard | DRAFT only → DISCARDED |
| Cancel policy | enrollment | PATCH | /policies/{locator}/cancel | ACTIVE → CANCELLED |
Member Journey (B2C — Lovable member app)
P1 — Onboarding & Triage (Phase 1 complete)
| Screen | Service | Method | Path | Notes |
|---|---|---|---|---|
| Profile selection (name, DOB, gender) | policy-admin | POST | /parties | Type: INDIVIDUAL |
| Profile lookup / account screen | policy-admin | GET | /parties/{locator} | |
| Policy list | enrollment | GET | /policies/list | Filter by accountId |
| Ask Olly — start session | triage | POST | /sessions | party_locator, chief_complaint, consent_verified (snake_case) |
| Ask Olly — respond to question | triage | POST | /sessions/{locator}/respond | answer field |
| Get session state | triage | GET | /sessions/{locator} | |
| Abandon triage | triage | PATCH | /sessions/{locator}/abandon |
P2 — Care Continuation & Financial (Phase 2 complete)
| Screen | Service | Method | Path | Notes |
|---|---|---|---|---|
| Booking — find GP/physio | provider | GET | /providers | Query: specialty, network_status |
| Booking — provider detail | provider | GET | /providers/{locator} | |
| Appointments calendar | provider | GET | /providers | Booking sub-resource TBD |
| Episode create (prior auth) | claims | POST | /prior-auth | providerId, policyId, memberPartyId, procedureCode (UUIDs + string) |
| Prior auth detail | claims | GET | /prior-auth/{locator} | Initial status: SUBMITTED (not PENDING) |
| Episode create (claim) | claims | POST | /claims | policyLocator, memberLocator, claimantPartyId, incidentDate, document |
| Episode status | claims | GET | /claims/{locator} | |
| Claim history | claims | GET | /claims | Query: status, memberPartyId |
| Plan utilisation — charges | billing | GET | /charges/list | |
| Plan utilisation — invoices | billing | GET | /invoices/list | |
| Invoice detail | billing | GET | /invoices/{locator} | |
| Plan utilisation — ledger | billing | GET | /ledger/list | |
| Plan utilisation — EOB | billing | GET | /eob/{claimLocator} | 404 if no claims |
| Notification preferences | notifications | GET | /preferences/{partyLocator} | |
| Update notification prefs | notifications | PUT | /preferences/{partyLocator} | email, sms, push, claimsUpdates, billingAlerts, enrollmentReminders |
| Notification feed | notifications | GET | /notifications/list | |
| Notification audit log | notifications | GET | /log/list | |
| Account / consent data | policy-admin | GET | /consent/{partyLocator} | |
| Update consent | policy-admin | PUT | /consent/{partyLocator} |
P3 — Gaps (No API Yet)
| Screen | Gap |
|---|---|
| Onboarding Container (14 sub-screens: health snapshot, activity/sleep, behavioral profile, etc.) | No backend persistence — all captured client-side in onboardingStore |
| Mindfulness Programme (sequential meditation sessions) | No wellness/content API |
| Wellness Library (~100 videos) | No content delivery API |
| Programme Detail (health-goal, recovery, follow-up types) | No programme/care-plan API |
| All Programmes browser | No programme API |
| Blood Test Tracker (booking + results) | No lab results API |
| Video Consultation (simulated physio assessment) | No video/telehealth API |
| Pharmacist Chat (typed advice) | No async messaging API |
| Physio Message (personalized update) | No provider messaging API |
| My Rewards (discount offers by category) | No gamification/rewards API |
| Skin Monitor (photo-based monitoring) | No dermatology pathway API |
| Home Dashboard health metrics | No aggregation API |
| Recovery Journey Page (session progress) | No clinical care plan API |
| Prevention Journey Page (weekly content) | No prevention plan API |
| Completion Screen | No event/achievement API |
| Safety Netting | Triage outcome only — no separate API |
| Disposition: Emergency 999 | Triage outcome only |
| Disposition: Emergency A&E | Triage outcome only |
| Disposition: Self-Care | Triage outcome only |
| Disposition: Mental Health Crisis | Triage outcome only |
| Disposition: Mental Health Support | Triage outcome only |
| Disposition: Dermatology Referral | Triage outcome only |
| GP Selection (legacy) | No booking API |
| Assessment Detail (legacy) | No API |
| Prescription Fulfillment Flow | No prescription fulfillment API |
| Provider Report View | No provider report API |