TotalApp Docs

Field Service Management

End-to-end field operations — dispatch board, job lifecycle, van inventory, and technician performance in one unified module.

Overview

Field Service Management gives dispatchers, technicians, and managers everything they need to run field operations without switching tools. The module is organized into four screens that cover the complete job lifecycle: a real-time Dispatch Board for assigning jobs, a Job Management screen for tracking each job from creation to invoice, a Van Inventory screen for managing technician stock, and a Performance Dashboard for reviewing team and technician metrics.

Dispatch Board

Drag-and-drop job assignment across a live technician grid. Each technician column shows current status, active job count, and the full day's schedule at a glance.

Job Management

Full job lifecycle from intake to invoice. Create jobs, attach parts, log time, capture signatures, and push to billing — all from one screen.

Van Inventory

Each technician's van is its own stock location. Replenish parts, record usage per job, and flag low-stock vans before technicians run short in the field.

Performance Dashboard

Team-level and technician-level KPIs: jobs completed, first-time fix rate, average travel and job duration, customer satisfaction scores, and revenue per technician.

Quick Start for Dispatchers

  1. Switch to Enterprise Ops mode using the mode switcher in the header.
  2. Click Field Service in the left sidebar to open the module.
  3. The default view is the Dispatch Board. All unassigned jobs appear in the left panel under Unassigned Jobs.
  4. Drag an unassigned job card onto any technician column to assign it. The job moves to that technician's queue and its status changes from Pending to Assigned.
  5. Switch to the Jobs tab to see the full job list, search by customer or job number, and filter by status or priority.
  6. Use the Van Inventory tab to check that each technician has the parts they need before dispatching.
  7. Review end-of-day results in the Performance tab.

Start Your Day Here

Open the Dispatch Board first thing each morning. Unassigned jobs from the previous evening are highlighted in orange. Assign them before technicians depart so no jobs are missed. The board auto-refreshes when job statuses change — no manual reload needed.

Screen 1 — Dispatch Board

The Dispatch Board is the real-time command center for dispatchers. The left rail shows all unassigned jobs. The main area displays one column per active technician. Drag any unassigned job card onto a technician column to assign it instantly.

Technician Column Layout

ElementWhat It Shows
Technician headerName, avatar, current status badge (Available / On Job / Traveling / Off Duty), and total jobs assigned today
Job cardJob number, customer name, address, job type, scheduled time, and priority badge
Card color stripeLeft border color matches job priority: red = Critical, orange = High, blue = Normal, gray = Low
Status indicatorSmall dot on each card updates live as the technician advances the job status
Drop zoneHighlighted in blue when a card is dragged over a valid technician column

Unassigned Jobs Panel

The left rail lists all jobs with no assigned technician. Jobs are sorted by scheduled time by default. Each card shows customer name, address, job type, and how long the job has been waiting. Jobs waiting more than 2 hours pulse with a yellow highlight to draw attention.

Drag-and-Drop Assignment

Drag a job card from the Unassigned panel onto any technician column. The card lands at the bottom of that technician's queue. To reorder within a technician's column, drag the card up or down. To reassign to a different technician, drag the card across columns. All changes are saved immediately — there is no separate Save button on the Dispatch Board.

Technician Status Badges

StatusColorMeaning
AvailableGreenTechnician is free and can accept a new job immediately
On JobBlueTechnician is actively working at a customer site
TravelingAmberTechnician is in transit between jobs
Off DutyGrayTechnician is unavailable (break, end of shift, or leave)

Screen 2 — Job Management

Job Management is the master record for every field job. It supports the complete lifecycle from initial intake through invoicing. The screen displays all jobs in a searchable, filterable table. Click any row to open the job detail panel on the right.

Creating a New Job

  1. Click + New Job in the top-right toolbar.
  2. Fill in the required fields: Customer Name, Address, Job Type, and Scheduled Date/Time.
  3. Set the Priority (Critical / High / Normal / Low).
  4. Optionally add a Description and attach Parts Required from the parts catalog.
  5. Click Create Job. The job appears in the table with status Pending and is immediately visible on the Dispatch Board's Unassigned panel.

Job Table Columns

ColumnDescription
Job #Auto-generated unique identifier in the format JOB-YYYYMMDD-NNN
CustomerCustomer name linked to the CRM contact record
AddressService location — full address displayed on hover
TypeJob category: Installation, Repair, Maintenance, Inspection, or Emergency
Assigned ToTechnician name, or "Unassigned" if not yet dispatched
ScheduledPlanned start date and time
StatusCurrent lifecycle stage (see Status Workflow below)
PriorityColor-coded badge: red = Critical, orange = High, blue = Normal, gray = Low

Job Status Workflow

Each job moves through a defined sequence of statuses. Technicians advance the status from their mobile device or from the job detail panel.

Pending Assigned En Route On Site In Progress Completed Invoiced
StatusTriggered ByMeaning
PendingJob creationJob exists but has no assigned technician
AssignedDispatcher drag-and-drop or manual assignmentTechnician has been assigned; job appears in their queue
En RouteTechnician taps "Start Travel"Technician is traveling to the job site; travel timer starts
On SiteTechnician taps "Arrived"Technician has arrived; travel timer stops, on-site timer starts
In ProgressTechnician taps "Start Work"Work has begun; labor timer active
CompletedTechnician taps "Complete" and captures customer signatureAll work done; customer has signed off; job ready for invoicing
InvoicedDispatcher or billing staff clicks "Generate Invoice"Invoice created and sent to Finance module

Cancelled and On Hold Jobs

Jobs can also be set to Cancelled (job will not be performed) or On Hold (temporarily paused, awaiting parts or customer confirmation) from the job detail panel. These are side-states that can be entered from any active status and do not follow the linear workflow above. A job on hold does not count toward a technician's active load.

Job Detail Panel

Click any job row to open the detail panel. The panel contains four tabs:

TabContents
DetailsAll job fields, status controls, priority, customer contact info, and notes. Edit any field inline.
PartsList of parts required and parts used. Add parts from van inventory, record quantities consumed, and mark parts as installed.
Time LogAutomatic time entries from status transitions (travel start, arrival, work start) plus any manual time entries added by the technician.
AttachmentsPhotos taken on site, signed completion documents, before/after images, and any documents uploaded by the dispatcher.

Screen 3 — Van Inventory

Van Inventory treats each technician's vehicle as its own stock location. Dispatchers can see at a glance which vans are low on critical parts before the day starts, and technicians can log part usage against individual jobs so the inventory stays accurate throughout the day.

Van Stock Table

The main table lists every technician's van with a stock summary row. Expand any row to see the full parts list for that van.

ColumnDescription
TechnicianName and current status of the van owner
Van IDVehicle registration or internal fleet ID
Stock HealthColor-coded summary: green = all items above minimum, amber = some items low, red = one or more items at zero
Total ItemsCount of distinct part numbers in the van
Low StockCount of items below their minimum threshold — clicking this number filters the expanded view to show only low items
Last RestockedDate of the most recent replenishment

Replenishing a Van

  1. Expand the van row to see the full parts list.
  2. Click Replenish next to any low-stock item, or click Replenish All Low to batch-replenish everything below minimum in one action.
  3. Enter the quantity added. The system records the replenishment with the current date, time, and your username.
  4. The van's Stock Health badge updates immediately.

Pre-Dispatch Check

Sort the Van Inventory table by Stock Health to see amber and red vans at the top. Replenish these before assigning jobs that require the missing parts. The Parts tab of each job shows exactly which parts will be needed — cross-reference it against the technician's van before dispatching to avoid a mid-job return trip.

Recording Part Usage

When a technician uses a part on a job, usage can be recorded from two places: the Parts tab in the job detail panel (recommended), or directly from Van Inventory by selecting the van and clicking Log Usage on any item. Both methods deduct the quantity from the van's stock and link the usage to the job record for billing purposes.

Screen 4 — Performance Dashboard

The Performance Dashboard aggregates completed job data into team-level and technician-level KPIs. Use it for end-of-day reviews, weekly reporting, and identifying technicians who need support or recognition.

Team Summary Tiles

TileWhat It Shows
Jobs Completed TodayCount of jobs that reached Completed or Invoiced status in the current calendar day
First-Time Fix RatePercentage of completed jobs that required no follow-up visit within 30 days
Avg. Job DurationMean time from On Site to Completed across all jobs today
Customer SatisfactionAverage satisfaction score from post-job surveys (1–5 stars). Requires the survey module to be enabled.
Revenue GeneratedSum of invoice values for all jobs invoiced today
Open JobsCount of jobs in any active status (Assigned through In Progress) — jobs not yet completed

Technician Leaderboard

Below the team tiles, a ranked table shows each technician's individual metrics for the selected date range. Metrics include:

  • Jobs completed — total count of completed + invoiced jobs
  • Avg. travel time — mean duration from En Route to On Site
  • Avg. job time — mean duration from On Site to Completed
  • First-time fix % — percentage of jobs requiring no callback
  • Parts used — total part units consumed, linked to van inventory deductions
  • Revenue — sum of invoice values attributed to this technician

Date Range Selector

All metrics on the Performance Dashboard respect a date range selector at the top of the screen. Preset ranges include Today, Yesterday, This Week, Last Week, This Month, and Last Month. A custom range picker is also available for ad-hoc periods. Changing the range updates all tiles and the leaderboard simultaneously.

Weekly Reviews

Select Last Week on Monday morning and screenshot the leaderboard for your weekly team review. The first-time fix rate is the most meaningful single metric for field service quality — a rate below 85% typically indicates a parts availability issue or a training gap.

Job Priority Reference

PriorityBadge ColorExpected ResponseTypical Use Case
Critical Red Dispatch within 1 hour Safety hazard, complete system failure, SLA breach imminent
High Orange Dispatch same day Major functionality impaired, customer operations affected
Normal Blue Schedule within 3 business days Standard service call, minor malfunction, scheduled maintenance
Low Gray Schedule within 5–10 business days Cosmetic issue, preventive check, non-urgent upgrade

Job Type Reference

TypeDescriptionTypical Duration
InstallationNew equipment or system setup at a customer site2–8 hours
RepairFixing a broken or malfunctioning component1–4 hours
MaintenanceScheduled preventive service — cleaning, lubrication, calibration1–3 hours
InspectionSafety or compliance check with no work performed30 min – 2 hours
EmergencyUnscheduled urgent response — always High or Critical priorityVariable

Adding Technicians

Both Job Management and the Performance Dashboard offer an Add Technician action. When adding one, you choose between two sources:

  • From your workspace — pick an existing team member or HR employee. Their name, contact details, and any relevant skills carry over automatically, and their technician profile (status, van inventory, job history) is linked to that same identity everywhere else in TotalApp.
  • External — for a technician with no workspace account at all (a subcontractor, for example), type their name, phone, and email directly. This creates a standalone technician profile scoped to Field Service only.

Picking an existing workspace member is the better default whenever one is available — it keeps the same person recognized consistently whether they're being assigned a field job, a maintenance task, or anything else across the app. See Employees & Assignees for the full picture of how TotalApp decides who can be assigned work.

Frequently Asked Questions

Can I assign the same job to multiple technicians?
Each job has a single primary assigned technician. If a job requires a team, create a lead job assigned to the lead technician and link supporting jobs (one per additional technician) to the same customer and address. The lead job's Time Log captures the full duration; the supporting jobs capture each technician's contribution for payroll and billing purposes.
What happens if a technician runs out of a part mid-job?
The technician should set the job status to On Hold and enter a note explaining which part is missing. This removes the job from the active load counter and alerts the dispatcher. The dispatcher can then arrange a parts delivery or reassign the job to a technician whose van has the required part. Once the part is available, the dispatcher changes the status back to In Progress and the technician resumes work.
How does the First-Time Fix Rate metric work?
A job is counted as a first-time fix if no follow-up job is created for the same customer and address within 30 days of the original completion date. If a follow-up job is created within that window, both the original job and the follow-up are excluded from the first-time fix count and a "callback" flag is applied to both records. You can filter the Job Management table by the "callback" flag to review recurring issue patterns.
Does generating an invoice from Job Management push data to Finance automatically?
Yes. Clicking Generate Invoice on a completed job creates an invoice record in the Finance module (Accounts Receivable) with all line items pre-populated: labor hours from the Time Log, parts from the Parts tab, and the job's billing rate. The invoice is created in Draft status — a Finance team member must review and post it before it is sent to the customer.