field-lane-day-of-schedule-change
Notes
- 2026-09-08: day-of schedule change → Darius, on portal confirmation. After a same-day reschedule on the portal calendar (hour-grid drag or Move Appointment), CalendarPage classifies the change in ET (moved / added / removed; same instant = no prompt) and shows FieldRouteChangePrompt with the exact NOTICE. Confirm → POST /portal/calendar/field-schedule-change (admin/owner) → services/field_schedule_change.send_day_of_change: SMS to Darius via notify.send_sms (deliberate SMS lane, not the critical fallback; opt-out + 15/hr cap honored) with the change + new stop order, then field: one NOTICE post (“YOUR 3 PM APPT. HAS MOVED TO 11:30 AM”) followed by every stop card again in time order, renumbered, moved card marked ”❗ moved from 3 PM” (cards re-mint the stop threads). Route rebuilt from daily_schedule.build_daily_inspections (shared with the 6 AM push). Refused before any send: Dustin-assigned visits, desk reviews, non-day-of changes; 2-min Redis dedup per visit+new_start; lane refused → bulk notify(‘darius’) fallback. Nothing fires on the write itself. entirely-api 5b2380e, entirely-portal 49cde73. Not yet exercised end-to-end with a real send.