Jira's built-in status categories (To Do, In Progress, Done) are too coarse for dispatching: a technician who is driving, one who is on site, and one who is blocked all show as the same shade of "In Progress". DispatchDesk resolves every ticket into one of six dispatching phases instead, each with its own colour:
| Phase | Meaning | Typical Jira statuses |
|---|---|---|
| Planned (gray) | Dispatcher hasn't acted yet | "To Dispatch", "Open", "New" |
| Assigned (indigo) | Handed to a technician, not yet moving | "Assigned to Tech" |
| Travelling (cyan) | Technician en route | "Travelling", "En route" |
| On Site (blue) | At the customer, working | "On Site", "Working" |
| Paused (amber) | Work interrupted / waiting | "Awaiting Parts", "Blocked", "On Hold" |
| Done (green) | Field work finished | "Stop Work", "Work Complete" |
Every functional decision in the app — what appears on the Schedule, when a technician's map pin moves, what counts as a completion, when the assignee is locked — follows the mapping you configure, never Jira's built-in category. That has a powerful consequence: your done can be a status Jira still files under "In Progress" (e.g. "Stop Work" that awaits an invoicing review), and a later back-office step that resolves the issue in Jira won't disturb the dispatch picture at all.
Settings → Statuses → "Status phase mapping" → Detect statuses (fetches every status across your configured projects) → pick a phase per status → Save. Statuses you leave unmapped fall back to sensible defaults based on Jira's category, so the app works on day one — but for dispatch-grade accuracy, map every status your field workflow actually uses. The built-in Setup health check (Settings → Diagnostics) flags unmapped statuses and other gaps for you.
If a completed job isn't showing on the Schedule, the most common cause is that its completion status isn't mapped to the Done phase. If a ticket you consider finished keeps showing as active, same fix. New installs with nothing mapped fall back to Jira's Done category so the app is never empty by default.