How to Complete, Revert, and Bulk-Update Visits (Visit Actions)
Last updated July 6, 2026 · Admins, office staff, and crew managers
Beyond placing visits on the calendar, day-to-day dispatch is mostly about changing their status: marking work complete (or un-completing it), seeing what’s overdue, and finding out who changed what. Most of this lives on the All Appointments page (Daily Dispatch → All Appointments), with quick single-visit actions also available right on the calendar.
Before you start
- Visits must exist on the schedule — see Calendar Scheduling.
- Know the status vocabulary: Scheduled, Unscheduled (no date yet), On My Way, In Progress, Completed, Skipped, Rescheduled. Office-side buttons toggle between Completed and Active (scheduled); the “in the field” statuses — On My Way, In Progress, and Skipped (with a skip reason) — are set by crews from the crew mobile app.
Complete a single visit
You have three equivalent ways; use whichever screen you’re already on:
- From the calendar (Daily Dispatch): click the appointment → Mark Complete in the popup. The event turns green. (Hidden for recurring series — see below.)
- From All Appointments: find the row and click its Complete button. For a recurring visit, this completes only that date’s occurrence, not the whole series.
- From the Crew Day mobile view (when enabled): the crew taps Complete on the stop card.
Undo a completion
The same buttons flip: Mark Active on the calendar popup, or Revert on the All Appointments row. The visit returns to Scheduled/Active status.
What completing a visit triggers
- The visit turns green on the calendar and its status badge reads Completed.
- If it was the last open visit on the job, the job itself rolls up to Completed.
- If the job is opted in to auto-invoicing, completing the visit creates the invoice automatically.
- The change is written to the visit’s History with who did it and when.
Bulk complete / bulk revert
On All Appointments:
- Tick the checkboxes on the rows you want (selection survives paging).
- In the grid toolbar click Mark Selected Complete — or Mark Selected Active to bulk-revert.
- A toast confirms how many appointments were updated and the grid refreshes.
Recurring rows are handled per-occurrence: only the specific dates you selected change.
Recurring visits — the one rule to remember
A recurring appointment is a series; each date is an occurrence.
- The All Appointments grid shows one row per occurrence, so its Complete/Revert buttons (and bulk toolbar) affect only the date on that row. This is the right place to complete recurring work.
- On the dispatch calendar, the quick popup’s complete button is hidden for a recurring series (completing “the series” from there would be ambiguous). Occurrences that were individually edited/detached behave like normal single visits.
Find visits fast: filters on All Appointments
- Quick chips: All, Today, This Week, Next 7 Days, This Month, Unscheduled (visits with no date), Past Due (dated before today and not completed), Custom Range (opens a date-range picker).
- Dropdown filters: Crew, Status, Customer — plus the grid’s own search box and column filters.
- Clear All resets everything.
- Toolbar exports: Excel and PDF.
View details and history
Each All Appointments row has three buttons:
- View — opens the appointment detail modal: date/time, recurring flag, crew, job (linked), address with a Get Directions map link, and any description/crew notes. Footer buttons jump to Open Customer, Open in Calendar (lands on Daily Dispatch with the right crew, date, and the editor open), and Open Job.
- Complete / Revert — as above.
- History — “who changed this visit, and when”: every create, move, edit, completion, reorder, and batch shift with the user and timestamp. This is your answer to “why did this appointment move?”
Batch reschedule (Rain / Delay Shift)
Shifting a whole crew’s open visits by N days lives on the Route Management page (the Rain / Delay Shift button), with a preview-before-commit flow. See Route Management for the full walkthrough and the rules (completed/skipped visits stay put; recurring series never move).
Delete a visit
Open the appointment on the calendar and use its delete option; a confirmation dialog warns the action can’t be undone. For recurring appointments you’ll be asked whether to delete just that occurrence or the whole series. Prefer Revert/Reschedule over delete when the work still needs to happen — deleting removes the record from the schedule entirely.
Tips & best practices
- Start your morning on the “Past Due” chip. Anything dated before today and not completed shows up there — reschedule or complete it before it snowballs.
- Use the “Unscheduled” chip as your backlog view of Schedule Later visits.
- Bulk-complete at day’s end. Filter to Today + the crew, select all, Mark Selected Complete — faster than clicking through the calendar.
- Check History before asking around. Every schedule change is attributed; the History button settles “who moved this?” in one click.
Troubleshooting
- The Complete button is missing on a calendar event — it’s a recurring series. Complete individual dates from All Appointments.
- I completed a recurring visit and the whole series looks done / not done — check you were on the grid row for the right date; each occurrence completes independently.
- “No appointments were updated” on a bulk action — no rows were selected, or the update failed; re-select and retry.
- A visit shows Skipped but nobody in the office skipped it — Skipped (with a reason) is set by the crew from the mobile app; check with the crew or the visit History.
- The job didn’t auto-complete after the last visit — job roll-up happens on visit completion; if a visit was completed some other way, open the job and complete it manually.
- “Could not update status” — the save failed; the button re-enables so you can retry. Contact support if it persists.
Related articles
- Calendar Scheduling — create, edit, move, and delete appointments
- Route Management — stop order and Rain / Delay Shift
- Scheduling Overview — modes and status vocabulary
- Manage Crews