← Appointment Manager

Appointment Manager

⤳ Flow generated 2026-05-13 09:07 by bulk-flow-script

Appointment Manager — diary view, Find Next, and booking confirmation

Covers the primary staff scheduling journey: opening the diary, discovering available slots via Find Next, confirming a booking, and the governed automation paths for waitlist offers and absence-driven rescheduling. Patient-facing self-booking and offer engagement are also tagged where applicable.

Show platforms: click pills to fade out platform-specific steps
Related flows: Communication Hub →
💡 Suggested from here:
All journeys →
22 steps · 8 actors · model: claude-sonnet-4-6
flowchart TD s1(["Open Appointment Manager diary"]) s1:::user s4{"Change view or lens?"} s4:::user s6("Open Find Next finder") s6:::user s13("Confirm slot selection") s13:::user subgraph self_lane["Appointment Manager"] direction TB s2("Fetch rota entries for availability") s2:::self s3("Render Day View (practitioner-first)") s3:::self s5("Re-render Week / Month / Surgery lens") s5:::self s7("Show Find Next modal (constraints pane)") s7:::self s8("Check delegated patient access") s8:::self s9("Search compliant slots (window ∩ rota ∩ rules)") s9:::self s10{"Slots found?"} s10:::self s11("Render ranked results with diary preview") s11:::self s12("Explain no-availability reason") s12:::self s14("Create and confirm appointment; write audit log") s14:::self s15{"Absence-driven reschedule triggered?"} s15:::self s16("Create Reschedule Job; show Job Monitor") s16:::self s17{"Staff override per patient?"} s17:::self s18("Broadcast waitlist offer; show Offer Monitor") s18:::self s20("Lock slot; start engagement window") s20:::self s21{"Confirmation received in window?"} s21:::self s_end(["End"]) s_end:::self end subgraph patient_lane["Patient"] direction TB s19("Patient engages with offer") s19:::module end subgraph rota_manager_lane["Rota Manager"] direction TB rota_manager_recv_1["fetch generated rota entries"] rota_manager_recv_1:::ext rota_manager_recv_2["consume confirmed absence"] rota_manager_recv_2:::ext end subgraph family_profiles_lane["Family Profiles"] direction TB family_profiles_recv_1["verify delegation rights"] family_profiles_recv_1:::ext end subgraph ai_assistant_aiden_lane["AI Assistant (Aiden)"] direction TB ai_assistant_aiden_recv_1["surface availability / risk advisory"] ai_assistant_aiden_recv_1:::ext end subgraph communication_hub_lane["Communication Hub"] direction TB communication_hub_recv_1["send booking confirmation"] communication_hub_recv_1:::ext communication_hub_recv_2["broadcast waitlist offer"] communication_hub_recv_2:::ext end s1 --> s2 s2 --> s3 s3 --> s4 s4 -- "switch view" --> s5 s4 -- "book appointment" --> s6 s5 --> s4 s6 --> s7 s7 --> s8 s8 --> s9 s9 --> s10 s10 -- "yes" --> s11 s10 -- "no" --> s12 s11 --> s13 s12 --> s_end s13 --> s14 s14 --> s15 s15 -- "yes" --> s16 s15 -- "no — cancellation backfill" --> s18 s16 --> s17 s17 -- "manual takeover" --> s9 s17 -- "automation completes" --> s_end s18 --> s19 s19 --> s20 s20 --> s21 s21 -- "confirmed" --> s14 s21 -- "expired — return to pool" --> s18 s2 -. "fetch generated rota entries" .-> rota_manager_recv_1 s8 -. "verify delegation rights" .-> family_profiles_recv_1 s11 -. "surface availability / risk advisory" .-> ai_assistant_aiden_recv_1 s14 -. "send booking confirmation" .-> communication_hub_recv_1 s16 -. "consume confirmed absence" .-> rota_manager_recv_2 s18 -. "broadcast waitlist offer" .-> communication_hub_recv_2 classDef user fill:#fef3c7,stroke:#b45309,stroke-width:2.5px,color:#1f2937; classDef self fill:#dbeafe,stroke:#1d4ed8,stroke-width:2.5px,color:#0f172a; classDef module fill:#fce7f3,stroke:#be185d,stroke-width:2.5px,color:#1f2937; classDef ext fill:#f3e8ff,stroke:#7e22ce,stroke-width:2.5px,stroke-dasharray: 6 3,color:#1f2937;
100%
drag to pan · scroll to zoom
💬 Comment thread
Mermaid source (advanced — copy/paste into any Mermaid renderer)

Tip: you can hand-edit and re-render with the Mermaid live editor. To persist edits back into Primoro Specs, paste the edited source back here and we'll save it (coming in 30B-5).