Job statuses & workflow
Every job in FSM Navigator® follows a defined lifecycle. Understanding statuses helps you track progress, coordinate your team, and manage operations effectively.
This page covers all nine job statuses (six active plus three terminal), the allowed transitions between them, how the SLA timer behaves at each stage, and where status information appears across the platform.
Status overview
Each job is assigned one of nine statuses throughout its lifecycle — six active statuses that appear on the Kanban board plus three terminal statuses that move the job to the History tab. These statuses reflect the real-world progress of the work — from the moment a job is created to when it is finished, cancelled, or declined.
| Status | Description | Who can set it | Color |
|---|---|---|---|
| Pending | Queued as the next job for the technician — ready to navigate to | System (automatic) | Yellow |
| Assigned | A technician has been assigned to the job | Owner, Dispatcher | Blue |
| In Transit | Technician is traveling to the job location | Technician, System | Cyan |
| Arrived | Technician has arrived at the job location | Technician, System | Teal |
| In Progress | The technician has started work on-site | Technician | Indigo |
| On Hold | Work paused — waiting for parts, customer approval, etc. | Technician, Dispatcher | Orange |
| Completed | Work finished successfully | Technician | Green |
| Cancelled | Job cancelled before completion | Owner, Dispatcher | Gray |
| Declined | Job declined by the assigned technician before work began | Technician | Red |
Default status & active statuses
When you create a new job, it automatically starts in Pending status, meaning it is queued and ready for the assigned technician to navigate to. The six active statuses — Pending, Assigned, In Transit, Arrived, In Progress, On Hold — appear in the Kanban board. The three terminal statuses — Completed, Cancelled, Declined — appear in the History tab only.
Job lifecycle diagram
The diagram below shows how a job moves through each status from creation to completion.
stateDiagram-v2
[*] --> Pending : Job created
Pending --> Assigned : Technician assigned
Pending --> InTransit : Dispatch begins
Pending --> Cancelled : Cancelled
Pending --> Declined : Technician declined
Assigned --> InTransit : Dispatch begins
Assigned --> Cancelled : Cancelled
Assigned --> Declined : Technician declined
InTransit --> Arrived : En route complete
InTransit --> Cancelled : Cancelled
InTransit --> Declined : Technician declined
Arrived --> InProgress : Work started
Arrived --> Cancelled : Cancelled
Arrived --> Declined : Technician declined
InProgress --> Completed : Work finished
InProgress --> OnHold : Paused
InProgress --> Cancelled : Cancelled
OnHold --> InProgress : Resumed
Completed --> [*]
Cancelled --> [*]
Declined --> [*] Reading the diagram
Follow the arrows to see which transitions are valid. A solid dot marks the start and end of the lifecycle. Statuses with no outgoing arrows (Completed, Cancelled, Declined) are final in the normal workflow; managers can reopen them (see below).
Status transitions
Not every status change is allowed. The table below shows the valid transitions for each status.
| From | Allowed transitions |
|---|---|
| Pending | Assigned, In Transit, Declined, Cancelled, On Hold |
| Assigned | In Transit, Pending, Declined, Cancelled, On Hold |
| In Transit | Arrived, Declined, Cancelled, On Hold, Pending |
| Arrived | In Progress, In Transit, Declined, Cancelled, On Hold |
| In Progress | Completed, On Hold, Arrived, Declined, Cancelled |
| On Hold | Pending, Assigned, In Transit, Arrived, In Progress, Cancelled |
| Completed | Pending, Assigned (reopen — Owner, Dispatcher, Manager) |
| Cancelled | Pending (reopen — Owner, Dispatcher, Manager) |
| Declined | Pending, Assigned (reopen — Owner, Dispatcher, Manager) |
Final statuses and reopening
Completed, Cancelled and Declined are final for technicians. An Owner, Dispatcher or Manager can reopen one: a completed or declined job goes back to Pending or Assigned, a cancelled job goes back to Pending. Each reopen is recorded in the audit log. Reopening does not email the customer. A reopened cancelled job gets a fresh SLA deadline, counted from the moment it is reopened using the job's usual SLA hours, so it doesn't come back already overdue.
One pending job per technician
Pending on an assigned job means it is that technician's next job. A technician can hold only one pending job at a time, so moving a second job to Pending for the same technician is refused until the first one is started or moved on. Technicians can only change the status of jobs assigned to them; an unassigned job has to be assigned first.
The Complete button follows this table
On the job detail page, the Complete button is only clickable when the job is In Progress — the one status this table allows Completed to be reached from. On any other status the button stays visible but greyed out, and hovering it explains why. Move the job forward through its normal steps (In Transit → Arrived → In Progress) and the button becomes available.
Putting a job on hold
Choose Put on hold from the job's status menu. FSM Navigator asks why:
- Pick a reason from the list, for example Waiting on parts or Customer not available.
- Add a note if it helps. A note is required when you pick Other.
- Select Put On Hold.
The SLA timer pauses, and the reason and note are added to the job's notes so everyone can see why work stopped. Technicians can put their own in-progress jobs on hold from the mobile app the same way.
Your company's list of reasons is managed under Settings → General → Hold reasons. See General settings.
How statuses change
Status changes happen in three ways — automatically, manually, or as a side effect of other actions.
Automatic transitions
- Pending → Assigned — occurs when the technician accepts or begins navigating to the queued job.
- Assigned → In Transit — when the technician begins traveling to the job site, the system records the dispatch and moves the job into the In Transit state.
- In Transit → Arrived — once the technician reaches the job location, the job transitions to Arrived, capturing on-site time before work begins.
- Arrived → In Progress — on the mobile app, technicians tap Start Job to begin work, which triggers this transition.
- Declined — if the assigned technician declines the job before work begins, the job ends in this terminal state and must be reassigned via a new job.
Manual transitions
- Technicians update job status from the mobile app as they start, pause, or finish work.
- Dispatchers and Owners can update status from the web dashboard at any time, within the allowed transitions.
- All manual status changes are recorded in the job's activity log with a timestamp and the user who made the change.
SLA impact
- The SLA timer starts when a job moves to Assigned and continues running through In Transit and Arrived as the technician dispatches and reaches the site.
- The timer pauses when a job is placed On Hold.
- The timer resumes when the job moves back to In Progress.
- The timer stops with no SLA result recorded if the job ends in Cancelled or Declined before completion.
Keep statuses up to date
Have technicians update job status as they work. Accurate statuses improve your SLA tracking, reporting, and customer communication.
Status indicators on the dashboard
FSM Navigator uses statuses throughout the interface to give you a clear picture of your operations.
Color-coded badges
Every job card displays a colored status badge for quick visual scanning. The badge colors match the table above, so you can identify a job's current state without opening it.
Status filters
On the Jobs page, use the status filter to narrow the list to one or more statuses. For example, filter by In Progress to see only active work, or combine Pending and Assigned to review your upcoming pipeline.
Kanban board
The board view organizes jobs into columns that correspond to each status. Drag jobs between columns to update their status directly from the board.
Use the Kanban board for daily standups
The Kanban view shows all active work at a glance — useful for morning planning and shift handovers.
SLA timer behavior by status
The SLA timer tracks how long a job takes from assignment to completion. Its behavior depends on the current status. Use this table as a quick reference when planning your SLA policies.
| Status | SLA timer |
|---|---|
| Pending | Not started |
| Assigned | Running |
| In Transit | Running |
| Arrived | Running |
| In Progress | Running |
| On Hold | Paused |
| Completed | Stopped |
| Cancelled | Stopped |
| Declined | Stopped |
Paused time is excluded
Time spent in On Hold does not count against your SLA targets. This ensures your metrics reflect actual working time, not delays outside your team's control.
Frequently asked questions
Can I move a job back to a previous status?
Only the On Hold → In Progress transition moves a job back to an earlier stage. Other backward transitions (for example, Completed → In Progress) are not allowed. If you need to revisit completed work, create a new follow-up job and reference the original job number in the notes.
What happens to the SLA timer when a job is put on hold?
The SLA timer pauses the moment the job moves to On Hold and resumes when it returns to In Progress. The paused duration is excluded from SLA calculations, so your team is not penalized for delays like waiting on parts or customer approval.
Can I reopen a completed job?
No. Completed is a final status and cannot be changed. If additional work is needed at the same location, create a new job. You can copy details from the original job to save time.
Who gets notified when a job status changes?
The assigned technician and the job creator both receive a notification when the status changes. If push notifications are enabled on the mobile app, technicians receive alerts. Owners and dispatchers can also view status change history in the job's activity feed.
What's next
Ready to put this knowledge into practice? Explore these related guides:
- Create a job — learn how to create and assign jobs to your team.
- SLA timers — understand how SLA deadlines and escalations work.
- Complete your first job — a step-by-step walkthrough of the full job lifecycle.