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:

  1. From the calendar (Daily Dispatch): click the appointment → Mark Complete in the popup. The event turns green. (Hidden for recurring series — see below.)
  2. 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.
  3. 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:

  1. Tick the checkboxes on the rows you want (selection survives paging).
  2. In the grid toolbar click Mark Selected Complete — or Mark Selected Active to bulk-revert.
  3. 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.

Put it to work in your own account

14-day free trial · No credit card required