flowchart TD
F1["1 · REFERRAL SUBMITTED
Referring agent submits on behalf of family
Form variant: standard, exchange, or breast pump
Required fields enforced; due date validated"]
S1{"2 · AUTO-VALIDATION
Required fields · 10-week due-date window"}
S1_HOLD["↩ HELD — out of window or incomplete
Agent notified to resubmit
Exception path available"]
S2["3 · DUPLICATE CHECK
Name and phone combinations
Tolerant of hyphen and capitalisation variants"]
S2_DUPL["[FLAG] DUPLICATE
Held for staff review
Merge or confirm new family record"]
S3{"4 · AGENT REGISTRY CHECK
Submitting agent matched against onboarded list"}
S3_NEW["[FLAG] UNREGISTERED AGENT
Operations onboards: introduces program (e.g. gear is gently used,
typical call timing); registry updated; referral resumes"]
St1["5 · STAFF INTAKE REVIEW
Confirm new vs returning family
Sorted into Vancouver or Cloverdale queue"]
St2["6 · QUEUE & PRIORITISE
Grouped by month family is due
Priority signals surface ahead of standard window"]
St3["7 · FAMILY OUTREACH CALL
~3 weeks before due date
Confirm contact, walk through items, identify language and access needs"]
St4["8 · APPOINTMENT BOOKED
Live cross-location calendar
Vancouver or Cloverdale, time, items, notes"]
S4["9 · CONFIRMATION EMAIL
Auto-sent to family and referring agent
Wording customisable"]
S5["10 · COVER SHEET GENERATED
Printable one-page summary for volunteers
Items, family, household — less than the full referral
Print-status flag advances"]
D1{"11 · APPOINTMENT DAY
Family arrives or no-shows"}
D1_NS["✗ NO-SHOW
Closed with reason
Gear returns to floor"]
D2["12 · ON-SITE APPOINTMENT
Bundle reviewed with family; items taken or substituted
Volunteers handwrite changes on the cover sheet during the appointment"]
D3["13 · POST-APPOINTMENT UPDATE
Handwritten cover sheet returns to staff
Items actually distributed recorded into the family record; notes attached"]
O1["14 · FAMILY RECORD CARRIES FORWARD
Per-child program; multi-visit history grouped by child"]
O2["15 · SECOND APPOINTMENT
Same family, same child, different gear
Pulls forward prior visit"]
O3["16 · FOLLOW-UP SURVEY
Configurable interval after last visit
Responses attach to family record"]
O4["↩ FAMILY RETURNS — NEW CHILD
Re-entry into intake; new program record under same family"]
Rep1["17 · ROLE DASHBOARDS
Operations: calendar + projected gear
ED: monthly funder + board reports"]
Rep2["18 · RECALL & OUTREACH QUERIES
Recipients of item X in window Y, with contact
Annual satisfaction survey list"]
F1 --> S1
S1 -->|"Out of window or missing"| S1_HOLD
S1 -->|"Valid"| S2
S1_HOLD -.->|"Agent resubmits"| F1
S2 --> S2_DUPL
S2_DUPL --> S3
S3 -->|"Unrecognized agent"| S3_NEW
S3_NEW --> St1
S3 -->|"Known agent"| St1
St1 --> St2 --> St3 --> St4
St4 --> S4 --> S5 --> D1
D1 -->|"Family arrives"| D2
D1 -->|"No-show"| D1_NS
D1_NS -.->|"Re-book or close"| St3
D2 --> D3 --> O1
O1 --> O2
O1 -.-> O3
O3 --> O1
O2 --> O1
O1 -.->|"Years later, new child"| O4
O4 -.-> F1
O1 --> Rep1
Rep1 --> Rep2
classDef family fill:#E8F4FD,stroke:#2196F3,stroke-width:2px,color:#1565C0
classDef system fill:#FFF3E0,stroke:#FF9800,stroke-width:2px,color:#E65100
classDef staff fill:#E8F5E9,stroke:#4CAF50,stroke-width:2px,color:#2E7D32
classDef distribution fill:#F3E5F5,stroke:#9C27B0,stroke-width:2px,color:#6A1B9A
classDef followup fill:#FCE4EC,stroke:#E91E63,stroke-width:2px,color:#880E4F
classDef reporting fill:#FFF8E1,stroke:#FFC107,stroke-width:2px,color:#F57F17
classDef hold fill:#FFEBEE,stroke:#F44336,stroke-width:2px,color:#B71C1C
class F1,O4 family
class S1,S2,S2_DUPL,S3,S4,S5,O3 system
class St1,St2,St3,St4,O1,S3_NEW staff
class D1,D2,D3 distribution
class O2 followup
class Rep1,Rep2 reporting
class S1_HOLD,D1_NS hold
A note on terminology
The diagram uses a few terms that may be worth walking through together. Program refers to the per-child record (one program per child); visit refers to an individual appointment under that program. Referral is the form submitted by an agent; booking is the appointment slot held after the outreach call. We'd like to confirm these on our next call.
For reference
- Two locations. Vancouver (Mon–Fri) and Cloverdale, in Surrey (Wed–Thu).
- Referral network: approximately 200 referring agencies and 800 individual referral agents.
- Two appointments per child is typical; some families return for a third or fourth.
- Intake window: referrals submitted more than 10 weeks before the due date are held; outreach calls happen approximately 3 weeks before the due date.
- Volunteer cover sheet shows a reduced view (items, family, household); all other client data is staff-only.
- Initial user count: 6–7 staff users, with room to grow to 8–10. Volunteers do not access the system.