TotalApp Docs

Job Management

Full job lifecycle from intake to invoice — create, search, assign, start, complete, and bill all field jobs from one screen.

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

  1. Switch to Field Service mode using the mode switcher in the app header.
  2. Click Job Management in the left sidebar.
  3. Click Add Job in the top-right to open the new job form.
  4. Enter the job title (required), customer name, phone, email, address, priority, and scheduled start and end times.
  5. Click Save. The job is created with status Pending and appears as a card in the Pending column of the board.
  6. Click the job card to open its detail panel, then click Assign to open the assignment modal. Select the technician and confirm the scheduled time.
  7. When the technician starts work, open the card's detail panel and click Start to advance the status to In Progress — the card moves to the In Progress column.
  8. When complete, open the card, click Complete, enter the customer rating and any final notes, and save. The card moves to the Completed column and the job is ready for invoicing.

Use the Status Tabs

Set the filter tab to In Progress during the day to focus only on active jobs. Switch to Pending first thing in the morning to check for overnight intake jobs that still need assignment.

Job Board

Job Management offers two views, switchable from the toggle next to the filter bar: a Table view and a Kanban view with four columns — Pending, Assigned, In Progress, and Completed — one per job status. In both views each job reflects its current status, and updates automatically as that status changes.

Card elementDescription
Job titleShort description of the work (e.g., "Replace water heater")
Priority badgeColor-coded: High = red, Medium = amber, Low = green
Customer nameShown directly on the card
Scheduled timePlanned start date and time
TechnicianAssigned technician name, or an "Unassigned" label when no technician is set
Customer ratingStar rating shown on Completed cards once captured

Click a Card to Open Its Detail Panel

Clicking anywhere on a job card opens a full-screen detail panel with the customer's full contact info, technician, schedule, location, description, and notes — plus the contextual action button for that job's status (Assign, Start, Complete, or View Completion). Use the back arrow in the top-left of the panel to return to the board.

Multi-Select in Table View

The Table view includes a checkbox in front of every row plus a header checkbox to select or deselect every visible job at once. Selecting one or more rows shows a live count ("N selected") in the filter bar with a quick clear (✕) action next to it.

Checkbox Style Follows Your Appearance Settings

The checkbox shape (circle or square), whether a check icon is shown inside a selected checkbox, and the table's corner style (sharp or rounded) are controlled globally from Settings → Appearance → List Style — the same setting used across every multi-select table in TotalApp, so Job Management always matches the rest of the app.

Job Status Workflow

Jobs move through a linear sequence of statuses. Each transition is triggered by a specific action in the Actions column.

Pending Assigned In Progress Completed
StatusBadge ColorTriggered ByWhat Happens
Pending Slate Job creation Job is created and visible on the Dispatch Board as unassigned
Assigned Blue Assign modal — select technician Technician is linked; job appears in their queue on the Dispatch Board
In Progress Amber Start button in the row Actual start time is recorded; job is live
Completed Green Complete modal — rating + notes Actual end time recorded; customer rating saved; job feeds into Performance Dashboard
Cancelled Red Cancel action from any active status Job is closed; removed from technician's queue; not counted in performance metrics

Creating a Job

Click Add Job in the top-right of the header row. The new job modal contains the following fields:

FieldRequired?Notes
Job TitleRequiredThe Save button is disabled until this field is non-empty
Customer NameOptionalFree text — link to CRM manually if needed
PhoneOptionalShown on the job card for quick-dial
EmailOptionalUsed for completion notifications if enabled
AddressOptionalService location — shown in the job detail panel and on the Dispatch Board map
PriorityOptionalHigh / Medium / Low — defaults to Medium
Scheduled StartOptionaldatetime-local input; used for sorting on the Dispatch Board
Scheduled EndOptionalUsed to estimate job duration
DescriptionOptionalDetailed problem description visible in the job row and to the technician
NotesOptionalInternal dispatcher notes

Minimum Required: Title Only

The only required field is the job title. You can save a bare-minimum job immediately and fill in customer details, address, and scheduling later. This is useful when a call comes in and you need to capture the job quickly before getting full details from the customer.

Assigning a Job

Click a Pending job's card to open its detail panel, then click Assign. The assignment modal prompts for:

  • Technician — select from a dropdown of active technicians with their current status visible. The Save button is disabled until a technician is selected.
  • Scheduled Start — pre-filled from the job record; can be adjusted here.
  • Scheduled End — pre-filled from the job record; can be adjusted here.
  • Notes — optional dispatcher instructions for the technician.

After saving, the job status changes to Assigned and the card moves to the Assigned column with the technician's name visible. The job is also visible on the Dispatch Board under the assigned technician's column.

Completing a Job

Click an In Progress job's card to open its detail panel, then click Complete. The completion modal prompts for:

  • Customer Rating — 1–5 star buttons. Optional but strongly recommended; feeds into the Performance Dashboard.
  • Parts Used — add line items (part name, quantity, unit price) consumed on the job.
  • Customer Signature — capture a signature directly on a signature pad.
  • Photos — attach one or more photos of the completed work.
  • Completion Notes — summary of work performed, parts used, or follow-up actions required.

After saving, the job status changes to Completed, the actual end time is recorded, and the card moves to the Completed column.

Always Capture a Rating

Even a quick 5-star tap takes one second and significantly improves the value of the Performance Dashboard. Teams that consistently capture ratings can identify patterns in customer satisfaction by technician, job type, and time of day — insights that are impossible without this data.

Pushing a Completed Job to Billing

Once a job's status is Completed, a Push to Billing button appears in the Actions column of its table row — it is only shown for completed jobs that have not yet been billed. Clicking it sends the logged parts and job details as a new billing record to Contracts & Warranty — Service Billing, where it enters the Pending approval queue.

After a job has been pushed to billing, the Actions column shows a Sent label in that same spot instead of the button, so it's immediately clear which completed jobs still need to be billed and which have already been forwarded.

One Push Per Job

Push to Billing is a one-way action — once a job shows the Sent label, use the Service Billing screen (Contracts & Warranty) to review, approve, or make corrections to the resulting billing record rather than trying to push the same job again.

Adding a Technician

Click Add Technician next to Add Job in the top-right header row. The modal offers two sources:

SourceBehavior
From TenantPick an existing employee from this tenant's HR personnel list (name and job title shown). The technician record inherits the employee's name, phone, email, and skills.
Out of TenantManually enter a name (required), phone, and email for a technician who is not an employee record in this tenant — useful for subcontractors or temporary field staff.

The new technician immediately appears in the Assign Technician dropdown and on the Dispatch Board, with status "Available" and zero jobs logged.

Same Modal as Performance Dashboard

The Add Technician modal is a shared component used identically on both Job Management and the Performance Dashboard's technician filter row (the icon button next to "All Technicians"). Adding a technician from either screen produces the same result and refreshes the technician list on the screen you added it from.

AI Assistant

Click the vertical AI Assistant tab on the right edge of the screen to open a chat panel scoped to the jobs currently loaded on this screen. The assistant can summarize job load by technician and status, flag high-priority jobs that are unassigned or stuck, point out scheduling conflicts or gaps, and highlight jobs that have been pending too long.

The panel respects your Settings → Agentic → Writer Engine selection: Ollama, Local LLM, and In-Browser models run entirely in your browser or on your own machine, while API and Local CLI route through the server. Suggested prompts are shown when the chat is empty; use the history and new-chat icons in the panel header to manage multiple conversations.

Searching and Filtering

ControlLocationBehavior
Search inputLeft side of filter barSearches job title and customer name in real time as you type, filtering cards across all board columns
Status tabsFilter bar — All / Pending / Assigned / In Progress / CompletedSelecting a single status narrows the board to that one column; All shows every column
Priority dropdownFilter barNarrows to High, Medium, or Low priority job cards within the selected status tab
Refresh buttonRight side of filter barReloads jobs from the server; useful after bulk operations or to sync with other dispatchers

Frequently Asked Questions

Can I edit a job after it has been completed?
Completed jobs are read-only in the Job Management board. To correct a mistake on a completed job (wrong customer name, incorrect address), contact your system administrator who can revert the job status from the server data file. In a future release, an Edit button will be available for completed jobs with an audit trail entry recording the change.
What is the difference between Assign here and assigning on the Dispatch Board?
Both methods produce identical results. The Dispatch Board is optimized for visual, drag-and-drop batch assignment across many technicians at once. Job Management is optimized for status-at-a-glance work, where you scan a column, click a card, and act on that one job. Use whichever fits your workflow — there is no functional difference in the outcome.
Can I export jobs to Excel or CSV?
Yes. Click the Export button in the top-right header row. The export includes all jobs currently visible on the board (respecting the active tab filter and search query). The file downloads as a JSON export which can be opened in Excel. A native CSV/XLSX export is planned for a future release.
Can I add a technician who isn't an employee in this tenant?
Yes. In the Add Technician modal, choose Out of Tenant and enter the technician's name, phone, and email manually. This is designed for subcontractors or temporary field staff who don't have an HR employee record in this tenant. They behave identically to tenant technicians once created — they appear in the Assign Technician dropdown and on the Dispatch Board.
Does completing a job automatically send a notification to the customer?
Not automatically in the current release. The completion action records the rating and notes, but outbound customer notification (email or SMS) requires manual action or a connected automation workflow. The customer email address captured on the job record can be used as the trigger target in the Automation module's notification workflow.
How do I handle a job that needs to be rescheduled?
For a Pending or Assigned job, cancel it and create a new job with the revised schedule. Cancellation does not delete the record — it sets the status to Cancelled and the original job remains on the board (visible when the All tab is active). For a job already In Progress, use the Notes field to record the reschedule reason and set the scheduled end time to the new date.
What can I do with the checkboxes in Table view?
Selecting rows shows a live selection count in the filter bar, which is useful for visually tracking a batch of jobs while you work through them one at a time (e.g., in the job detail panel). Bulk actions on the selection (bulk export, bulk reassign) are not available yet — the Export button always exports the full filtered list rather than only the selected rows.