assigned_routestring nullable
contact_namestring required
delivery_typestring required
dietary_restrictionsstring
guardian_namestring nullable
last_delivery_datestring date-time nullable
latest_notestring nullable
location_group_idstring uuid required
location_group_namestring required
location_idstring uuid required
note_chain_idstring uuid nullable
phone_primarystring required
phone_secondarystring nullable
status'Active' | 'Unscheduled' | 'Inactive' required
Derived status surfaced on LocationRead. Not stored — computed from
Location.in_roster + whether the location appears in a present/future
route. Precedence: any present/future route → ACTIVE (regardless of
roster); otherwise in_roster → UNSCHEDULED; otherwise → INACTIVE.