A review before publication, not a new scheduling system
The useful moment is just before you send a dispatch day to crews. Keep the original spreadsheet as your source. Export its supported fields, review the exceptions, correct the source, then export and review again. Never overwrite the original with a report.
Walk through a double booking
Suppose DEMO-CREW-A has DEMO-101 from 08:00 to 10:00 UTC and DEMO-102 from 09:00 to 12:00 UTC. Both source rows should appear in the overlap exception. Moving the second appointment to 10:00 removes the booked overlap, but a 15-minute buffer after DEMO-101 still makes that handoff too tight. Moving it to 10:15 satisfies that explicit buffer. It says nothing about actual travel.
Keep arrival commitments separate
An arrival window is when the job starts, not the entire service duration. A job beginning at 11:00 inside a 10:30–11:30 promise can end at 13:00 without violating that start window. A blank window means this check is unavailable; it must not disappear behind a clean result.
Choose stable crew identities
Use one consistent ID for each crew. Two differently named crews may share a person; this checker cannot infer that composition. Likewise, names differing only by spacing can represent the same team. Fix identities before relying on a conflict report.
Make time explicit
Use full dates, seconds and a timezone offset: 2026-10-05T08:00:00-06:00. An overnight job needs its end date on the following day. Ambiguous local time is rejected. Capacity is aggregated by UTC day; use it as a stated accounting assumption rather than a local payroll measure.
Release checklist
- Resolve invalid rows and duplicate job IDs.
- Inspect both rows in every crew conflict.
- Review missing windows and buffers with the dispatcher.
- Check travel, worker composition and breaks outside this tool.
- Correct the source and run a fresh review before sharing.