Bulk Operations and Deployment
Edit multiple jobs at once, manage the draft-to-deployed lifecycle, and understand how scheduled work reaches the field.
Before you start
- You understand the scheduler layout, views, and single-job editing from the earlier guides.
- Jobs exist in the scheduler that need bulk editing or deployment.
Expected outcome
You can select jobs, apply bulk edits with independent field toggles, manage the deployment lifecycle, and understand how scheduled work reaches engineers in the field.
Selecting jobs
Select jobs using the checkboxes in the planner list or on job cards in the board/timeline views.
When at least one job is selected, the selection bar appears showing:
- The number of selected jobs
- Available bulk actions: Bulk Edit, Deploy, Clear selection
Selection persists across view changes β you can select jobs in the board, switch to the map to check geography, then switch back.
Bulk editing
The Bulk Update dialog edits up to 100 jobs at once. Each field has its own toggle so you change only what you intend.
Opening the dialog
- Select one or more jobs.
- Click Bulk Edit in the selection bar.
- The dialog opens with all toggles off.
When exactly one job is selected, the dialog prepopulates form fields from that job. When multiple jobs are selected, fields start at defaults (the toggles remain off either way).
Available field toggles
| Toggle | Field | Notes |
|---|---|---|
| Assignee | Engineer | Select an engineer, keep current, or clear assignment |
| Date | Scheduled date or target month | Scheduling intent dropdown; cannot set both simultaneously |
| Booking status | Provisional, date offered, confirmed, or do not move | Locked visits block ordinary movement. |
| Engineer visibility | Visible from / visible until | Optional field visibility window; until must not be before from. |
| Duration | Estimated duration | 15 minutes to 24 hours |
| Window | Schedule window start / end | Disabled when target month is selected |
| Flex | Flex tolerance (days) | 0-120; disabled when target month is selected |
| Priority | Priority level | Low, normal, high, urgent. Inspections ignore priority. |
| Status | Job status | Tasks only β inspections and work orders manage status from their own detail flows |
| Crew size | Number of crew required | 1-50 |
| Equipment | Access equipment | Checkboxes for 7 equipment types |
| Out of hours | OOH flag | Boolean toggle |
How toggles prevent accidental overwrites
Only enabled toggles are sent to the server. If you enable just the Assignee toggle and change the engineer, the other fields (date, equipment, crew size, etc.) are not touched on any of the selected jobs.
This is critical for multi-job edits β you can reassign 20 jobs without disturbing their individual scheduling or equipment settings.
Saving
Click Preview Changes before applying. The preview shows valid, warned, and blocked jobs, plus route suggestions when the selected work overlaps route clusters.
Click Apply only when no jobs are blocked. The update:
- Sends only the toggled fields to the server.
- Validates each job against the update (e.g. rejects if new blocking warnings would be introduced).
- Applies optimistically to the local state for instant visual feedback.
- Triggers a background refresh to confirm server state.
Deployment lifecycle
Jobs progress through a two-state lifecycle:
Draft β DeployedWhat makes a job deploy-ready
| Condition | Required |
|---|---|
| At least one engineer assigned | β |
| Exact scheduled date and time set | β |
| Status is not completed, cancelled, or on hold | β |
| No blocking validation warnings | β |
Use the Ready to deploy focus tab to see all jobs that pass these checks. Target-month records are useful for capacity planning, but they are not deploy-ready until they are converted to an exact date and time.
How to deploy
- Select the jobs you want to deploy.
- Click Deploy in the selection bar.
- Review the deployment preview:
- Jobs that are ready show a green check
- Jobs that are blocked show the blocking reason
- Move blocked or target-month work out of the batch or correct it before confirming.
- Confirm the deployment.
What deployment does
| Action | Detail |
|---|---|
Sets deploymentState to deployed | Marks the job as field-visible |
Records deployedAt timestamp | For audit and the deployment activity feed |
Clears engineerAcknowledgedAt | Resets acknowledgement so the engineer must re-acknowledge |
Assigns a deploymentBatchId | Groups this deploy action for tracking |
| Sends email notifications | Fire-and-forget to all assigned engineers |
| Updates the engineer's day run | Job appears in the mobile app's My Day Run |
Deployment acceptance indicators
After deployment, the planner can track whether each engineer has seen their schedule:
| Badge | Meaning |
|---|---|
| Deployed β | Work is deployed but the engineer hasn't opened their day run yet (awaiting) |
| Deployed β | The engineer has opened their day run and acknowledged the deployed work |
How acknowledgement works:
When an engineer opens their My Day Run in the mobile app, the server automatically marks all of that day's deployed stops as acknowledged. No button press is needed β opening the day run is sufficient. This is recorded silently without delaying the response.
Checking acknowledgement status:
- Focus tabs: Use the Awaiting or Acknowledged focus tabs to filter the job list by acknowledgement state.
- Map view: Map pins use an amber tone for sites with unacknowledged deployed work. The popup shows an acknowledgement summary (e.g. "2 acknowledged / 1 awaiting").
- Overview stats: The guidance rail's deployment section includes
awaitingandacknowledgedcounts in the warning buckets.
When acknowledgement resets:
Re-deploying a job (after a schedule change, engineer reassignment, or duration change) clears the acknowledgement. The badge returns to Deployed β until the engineer opens their day run again. This ensures engineers always see the latest version of their schedule.
What resets deployment
Any scheduling change to a deployed job resets it back to draft:
- Changing the scheduled date
- Changing the assigned engineer
- Changing the estimated duration
This ensures engineers always see the latest plan. The job must be re-deployed after changes.
Undoing changes
Every scheduler mutation is logged with a before/after snapshot. The Recent changes section in the guidance rail shows the latest mutations with Undo buttons.
Undo restores the job to its state before the change. Only the most recent change per job can be undone.
Batch inspection creation
When you need inspections across multiple systems at a site:
- Click Batch Inspections in the action bar.
- Select the site and systems.
- Choose inspection type β annual or 6-monthly.
- Assign an engineer and set scheduling fields.
- Review and create.
Up to 50 inspections per batch. Each inherits site data and scheduling rules.
How scheduled work reaches engineers
The flow from scheduler to field:
- Office team creates or imports work into the scheduler.
- Planner assigns an engineer, sets a date, and adds operational metadata.
- Planner deploys the batch.
- Engineer receives a notification email.
- Engineer opens the mobile app and sees the day run β a route-ordered list of today's jobs. This silently acknowledges the deployed work; badges change from Deployed β to Deployed β in the planner's view.
- Engineer navigates to each site, runs inspections, completes work orders.
- Completed work flows back to the admin portal for review, defect management, and invoicing.
The scheduler is the critical handoff point. Work that is not deployed does not reach the field.
Example: end-of-week deployment cycle
- Monday-Thursday: Schedule and assign work for next week using board and timeline views.
- Thursday afternoon: Use the Week Timeline for next week to verify coverage.
- Thursday: Filter by Ready to deploy β review the batch.
- Thursday: Select all ready jobs β Deploy.
- Friday morning: Engineers receive notifications and can preview next week's work.
- Friday/weekend: Planners check the Awaiting focus tab β engineers who haven't opened their day run are flagged.
- Monday: Engineers execute the day run from the mobile app. Badges update to Deployed β as each engineer opens their route.
Troubleshooting
| Problem | What to check |
|---|---|
| Deploy button is disabled | Ensure at least one selected job is deploy-ready; check for blocking warnings |
| Bulk edit changes the wrong fields | Verify only the intended toggles are enabled; unintended toggles may be on |
| Bulk apply is disabled | Run preview and resolve blocked jobs first. |
| A locked visit is blocked | Check whether the booking status is Do not move. |
| Equipment changes were lost after bulk edit | Equipment toggle must be explicitly enabled; it is not sent if the toggle is off |
| Deployed jobs are not showing in the mobile app | Confirm the engineer has app access and is a workspace member |
| A job was deployed but reverted to draft | A scheduling change (date, assignee, duration) was made after deployment |
| Undo is not available for a recent change | Only the most recent change per job supports undo |
| Target-month work is missing from Ready to deploy | Add an exact scheduled date and time first; month-planned jobs remain draft planning demand. |
Controlling Planner Status, Visibility, and Capacity
Use booking statuses, planning buckets, engineer visibility windows, customer notifications, bulk previews, and PPM forecasting to keep the scheduler safe.
Planner Interface Reference
Route-level reference for the scheduler planner β regions, views, action bar, selection bar, and layout controls.