The dispatcher is a horizontal day-view timeline: rows are techs, columns are hours from 7am to 7pm. Every assigned visit shows as a chip in a tech's row at its scheduled start time. Unassigned visits sit in a left-rail queue.
Reading the layout
- Date stepper. Top-left. Arrows move ±1 day. Press
Tto jump to today. - Left rail: unassigned queue. Any visit for the selected day with no assigned tech lives here.
- Tech rows. One per active tech. The name cell on the left shows the tech and their capacity meter (scheduled hours vs 8hr target).
- Hour grid. Visits are positioned by their scheduled_window_start, sized by duration.
- Weather chip. Top-right. Pulls the day's forecast. Tints amber when rain or wind risk is high.
Assigning a visit
Drag a chip from the unassigned queue onto a tech's row. Release. The visit is now assigned; the capacity meter updates. To reassign, drag from one row to another. To unassign, drag back to the left queue.
Keyboard shortcuts
T— jump to today←/→— previous / next day/— open global search
Visit chips
Each chip shows: client name, service type (via color), scheduled time, and any flags (photo required, weather risk, chemistry out-of-range). Click any chip to open the visit detail page.
Chip colors match the service category:
- Grass-green — mowing / lawn services
- Moss-green — cleanup / generic lawn
- Forest-green — fertilizer / chemical applications
- Sky-blue — pool services
- Clay — landscaping / hardscape
- Sun — seasonal / fertilize/seed
Weather awareness
The dispatcher queries api.weather.gov once for the tenant's primary address per day (cached 3 hours). When the forecast indicates rain >50% probability or sustained wind >=25mph, every visit chip for that day gets an amber ring and a ⚠ prefix.
What the current dispatcher doesn't do
- Moving a chip within a tech's own row to change the scheduled time (coming Q3).
- Week-view and month-view (coming Q3).
- Auto-suggesting reschedules based on weather risk (coming Q4).