Job Lifecycle

Job Lifecycle

Every job follows a structured lifecycle from creation to completion. This article explains how jobs move through statuses, what happens automatically, and how to configure lifecycle automation.

Job Statuses

Status Meaning
Pending Created but not yet scheduled. Needs a date assigned.
Scheduled Has a date and is waiting to be worked on.
In Progress Work has started but is not yet complete.
Completed Work is finished. Triggers invoicing if configured.
Deferred Job couldn't be completed as scheduled and needs to be rescheduled.
Cancelled Job was cancelled and will not be completed.

Valid Transitions

Not all status changes are allowed. The system enforces these rules:

  • Pending → Scheduled, In Progress, or Cancelled
  • Scheduled → In Progress, Deferred, Pending (unschedule), or Cancelled
  • In Progress → Completed, Deferred, Pending (reset), or Cancelled
  • Deferred → Scheduled (reschedule), Pending, or Cancelled
  • Completed → In Progress (reopen only)

You cannot skip directly from Pending to Completed, or cancel a completed job without reopening it first. Deferred jobs must be rescheduled (moving to Scheduled) or returned to Pending before work can continue.

Duration and Overdue Detection

Every job has an estimated duration (defaults to 30 minutes). The system uses this to determine when a job is truly overdue:

  • A job scheduled for 9:00 AM with a 2-hour duration isn't considered overdue until after 11:00 AM
  • A full-day job (8 hours) isn't overdue until the end of the scheduled day
  • Jobs with only a date (no start time) are overdue after the scheduled date passes

Multi-Day Jobs

When a job's estimated duration exceeds a single workday (based on your crew schedule, typically 8 hours), it is automatically split into daily units:

  • A parent job represents the overall work unit and holds the line items and invoice
  • Child day-jobs represent each scheduled workday and appear on the calendar and field tech app
  • Each day can be started and completed independently
  • When all days are completed, the parent job auto-completes and triggers invoicing
  • In the job list, you'll see the parent with a progress indicator (e.g., "2/3 days completed")
  • On the calendar, child jobs show a "Day X" badge

Collapsing Back to Single-Day

If you reduce a multi-day job's duration to fit within a single workday, remaining day-jobs are cancelled and the job reverts to a standard single-day format.

Automatic Lifecycle Actions

These actions run automatically every 15 minutes (configurable in Settings → Notifications):

Auto-Reschedule Overdue Jobs

When a scheduled job passes its expected completion time without being started, the system:

  1. Finds the next available time slot using your scheduling preferences
  2. Moves the job to that new slot
  3. Notifies your staff via email
  4. Notifies the customer of the new date

If no suitable slot is found in the next 7 days, the job moves back to Pending status so you can schedule it manually.

Stale Pending Warnings

Jobs that remain in Pending status with no scheduled date for more than 24 hours trigger daily staff email alerts. This helps prevent jobs from being forgotten.

Overdue In-Progress Alerts

Jobs that remain in "In Progress" past their expected completion time generate daily staff alerts until they are completed or rescheduled.

Deferred Status

The Deferred status is for jobs that couldn't be completed as scheduled but aren't cancelled — the work still needs to happen. Common reasons for deferring:

  • Customer not home or no access
  • Weather conditions preventing safe work
  • Equipment issue or breakdown
  • Parts or materials needed before work can continue
  • Customer requested a reschedule
  • Scheduling conflict

How to Defer a Job

From the dashboard:

  1. Open the job detail page
  2. Click the Defer button in the Quick Actions sidebar
  3. Select a reason from the dropdown (required)
  4. Add an optional note with additional context
  5. If available, select a suggested reschedule time — this defers and reschedules the job in one action
  6. Click Defer or Defer & Reschedule

From the Field Tech app:

  1. On the active job, tap Can't Do
  2. Select a reason from the picker
  3. Optionally pick a suggested reschedule slot
  4. Confirm the deferral

What Happens When a Job is Deferred

  • The job appears with an amber "Deferred" badge in the job list and calendar
  • The assigned crew member is unassigned
  • The customer receives a notification that their appointment needs to be rescheduled
  • The job appears on the dashboard's "Attention Needed" card until it's rescheduled
  • If you selected a reschedule time during deferral, the job is immediately rescheduled and the customer is notified of the new date

Automatic Deferral

The system may automatically defer jobs that were scheduled but couldn't be rescheduled to a new time slot. These appear with the reason "Scheduling conflict" and need manual attention.

No-Charge Job Completion

Jobs with $0 pricing can be completed by selecting a no-charge reason. This is useful for:

  • Warranty callbacks
  • Courtesy visits or goodwill gestures
  • Quality re-dos
  • On-site estimates that don't have a separate charge

When a no-charge job is completed:

  • No invoice is automatically created
  • The job shows a "No Charge" badge with the reason
  • You can still create a $0 invoice manually for record-keeping
  • The customer portal shows "No Charge" instead of $0.00

Invoice Lifecycle

  • A draft invoice is created when the job is first created (if it has line items/amount)
  • The draft is sent automatically when the job is marked as completed
  • If you reopen a completed job, any sent invoice reverts to draft — it will be re-sent on re-completion
  • Paid invoices are never modified by the lifecycle system

Notifications

Event Who is notified Channel
Job scheduled or rescheduled Customer Email + SMS
Job auto-rescheduled Customer + Staff Email + SMS / Email
Job overdue (in progress) Staff Email (daily)
Job stale (pending >24h) Staff Email (daily)
Job deferred Customer + Staff Email + SMS / Email
Job completed Customer Email + SMS

Settings

You can toggle lifecycle automation in Settings → Notifications → Job Lifecycle Automation:

  • Auto-reschedule overdue jobs — ON by default
  • Overdue in-progress alerts — ON by default
  • Unscheduled job warnings — ON by default

Disabling these only stops the automated actions. Manual status changes and notifications still work normally.

Related

Was this article helpful?

Still need help?

Our support team typically responds within a few hours.

Contact Support