> ## Documentation Index
> Fetch the complete documentation index at: https://docs.probaseapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cancelling a visit

> Call off one visit — or the whole job — and decide what happens to the work already on it

## Overview

Sometimes a visit doesn't happen. The customer is away, the weather turns, the gate is locked, the holiday lands on the service day. Cancelling takes that one visit off the books and leaves the rest of the job's schedule exactly where it is.

Cancelling is the only way to call off a visit. There's no separate "skip" — one action covers it, and it asks you the one question that actually matters: *what should happen to the work already sitting on this visit?*

<Note>
  If you just need the work on a different day, [reschedule](/scheduling/rescheduling-jobs) it instead. Rescheduling keeps the visit and moves it; cancelling ends it.
</Note>

## Cancelling one visit

<Steps>
  <Step title="Open the visit and tap ⋯ More">
    Open the visit from your schedule, the calendar, HomeBase, or the job page, and tap the outlined **⋯ More** button beside the main action.

    <img src="https://mintcdn.com/lawnstarter/6nDtFgiNTKOY29OK/images/probase/overdue-jobs/08-visit-more-sheet.png?fit=max&auto=format&n=6nDtFgiNTKOY29OK&q=85&s=659701cb4b13ae784237efddd5fc81cb" alt="The More sheet on a visit" width="500" height="845" data-path="images/probase/overdue-jobs/08-visit-more-sheet.png" />
  </Step>

  <Step title="Tap Cancel this visit">
    It's second from the bottom of the sheet, with a line underneath naming the dates involved — *Just this one — Fri, Aug 28. Your next visit is scheduled for Fri, Sep 4.* — so you know what you're ending and what's still standing before you tap.

    If this is the last visit on the books, the line reads *Just this one — Fri, Aug 28. There are no other visits scheduled.*
  </Step>

  <Step title="Confirm">
    A sheet slides up headed **Cancel this visit?**. Tap the solid **Cancel this visit** to go ahead, or **Keep the visit** to back out — nothing is written until you confirm.

    <img src="https://mintcdn.com/lawnstarter/XgMY2hujgBw8G0MA/images/probase/visit-cancel/01-sheet-no-items.png?fit=max&auto=format&n=XgMY2hujgBw8G0MA&q=85&s=3cfcd69b52d4484e44cfe1f01bac5ff7" alt="The cancel sheet with nothing to move" width="430" height="845" data-path="images/probase/visit-cancel/01-sheet-no-items.png" />
  </Step>
</Steps>

The visit is now marked **Cancelled** and the page re-renders into the cancelled state.

<img src="https://mintcdn.com/lawnstarter/XgMY2hujgBw8G0MA/images/probase/visit-cancel/02-cancelled-from-sheet.png?fit=max&auto=format&n=XgMY2hujgBw8G0MA&q=85&s=e4427539b6732905762cabcf6e9e06fb" alt="A cancelled visit" width="430" height="845" data-path="images/probase/visit-cancel/02-cancelled-from-sheet.png" />

## Moving charges and notes forward

If the visit has **its own** [charges](/routes/visit-charges) or notes on it, **and** another visit is already scheduled, the sheet asks what to do with them rather than quietly throwing them away:

> This visit has Hedge trim · \$35.00 and notes on it. Move them to the next visit — Fri, Sep 4?

<img src="https://mintcdn.com/lawnstarter/XgMY2hujgBw8G0MA/images/probase/visit-cancel/04-sheet-with-items.png?fit=max&auto=format&n=XgMY2hujgBw8G0MA&q=85&s=9bd05af74e061439dc940cab80c55e89" alt="The cancel sheet asking about the visit's charges" width="430" height="845" data-path="images/probase/visit-cancel/04-sheet-with-items.png" />

You get two answers:

* **Move to next visit** — the charges and your notes are re-parented onto the next scheduled visit. They'll be billed when *that* visit is completed. The cancelled visit records why: *Items moved to Fri, Sep 4.*
* **Don't charge for them** — the visit is cancelled and the charges go with it.

<img src="https://mintcdn.com/lawnstarter/XgMY2hujgBw8G0MA/images/probase/visit-cancel/05-cancelled-items-moved.png?fit=max&auto=format&n=XgMY2hujgBw8G0MA&q=85&s=81fe42938a6a32820346f1004ec54367" alt="After moving the items to the next visit" width="430" height="845" data-path="images/probase/visit-cancel/05-cancelled-items-moved.png" />

<Note>
  The question is only ever asked about the visit's **own** charges. A standing charge on the job rides every visit anyway, so it isn't something to move — which is why most cancels ask nothing at all and go straight to the confirm.
</Note>

## Nothing is billed for a cancelled visit

ProBase bills a visit when it's **completed**, so a cancelled visit never creates a charge. That's true whether or not you moved the charges forward — if you moved them, they're billed once, when the next visit completes.

<img src="https://mintcdn.com/lawnstarter/XgMY2hujgBw8G0MA/images/probase/visit-cancel/06-cancelled-not-charged.png?fit=max&auto=format&n=XgMY2hujgBw8G0MA&q=85&s=aeeb652a135b71e169ac0ffab6378eb4" alt="A cancelled visit creates no charge" width="430" height="845" data-path="images/probase/visit-cancel/06-cancelled-not-charged.png" />

## Offering a credit on a subscription job

Customers on a **subscription** job are billed on their own schedule, whether or not a particular visit happened. So after cancelling a visit on a subscription job, ProBase offers you the chance to put that right:

> **Add a credit?**
> Sarah is billed monthly, so this still bills.

<img src="https://mintcdn.com/lawnstarter/XgMY2hujgBw8G0MA/images/probase/visit-cancel/07-credit-offer.png?fit=max&auto=format&n=XgMY2hujgBw8G0MA&q=85&s=8fa1df13c18394b5ebc3c1201f23a3c3" alt="The credit offer after cancelling a subscription visit" width="430" height="845" data-path="images/probase/visit-cancel/07-credit-offer.png" />

Tap **Add a credit** and the credit form opens against that customer, with the title already filled in — *Cancelled visit · Fri, Aug 28* — so the ledger row says what it's for. Set the amount and save.

<img src="https://mintcdn.com/lawnstarter/kUaL2KwEyr3711TY/images/probase/visit-cancel/08-credit-form-prefilled.png?fit=max&auto=format&n=kUaL2KwEyr3711TY&q=85&s=ec2667b672d18cd3aa28147420d93efd" alt="The credit form prefilled from the cancel" width="430" height="845" data-path="images/probase/visit-cancel/08-credit-form-prefilled.png" />

Tap **Not now** if you'd rather leave the billing alone. Nothing is credited automatically — the offer is a prompt, never an action taken on your behalf.

See [Customer balances](/billing/customer-balances) for how credits show up on the account.

## Cancelling the whole job

**Cancel job** is the last row of the **⋯ More** sheet, in red. It ends the job, not just this visit.

<img src="https://mintcdn.com/lawnstarter/XgMY2hujgBw8G0MA/images/probase/visit-cancel/09-cancel-job.png?fit=max&auto=format&n=XgMY2hujgBw8G0MA&q=85&s=9168f2083a082f2591c7f8976858389e" alt="The Cancel job window" width="430" height="845" data-path="images/probase/visit-cancel/09-cancel-job.png" />

* Every **upcoming** visit for the job is cancelled
* Past completed visits and the invoices for them are untouched
* You can add an optional reason

Tap **Cancel job** to confirm, or **Keep the job** to back out.

<img src="https://mintcdn.com/lawnstarter/XgMY2hujgBw8G0MA/images/probase/visit-cancel/10-job-cancelled.png?fit=max&auto=format&n=XgMY2hujgBw8G0MA&q=85&s=4628c2a8f4ef0b038f0d7653e1d4f2a4" alt="The job cancelled" width="430" height="845" data-path="images/probase/visit-cancel/10-job-cancelled.png" />

<Warning>
  Cancelling a job can't be undone. To start the work up again you'd create a new job for the customer.
</Warning>

## What a cancelled visit looks like

A cancelled visit keeps the same page, but everything that captures work drops away — no timer, no briefing, no checklists, no charge row. There's nothing to do on it any more.

The **Visit** tab leads with **Why it was cancelled**:

<img src="https://mintcdn.com/lawnstarter/2JUliIdNIDz5HO9_/images/probase/visit-page/33-cancelled.png?fit=max&auto=format&n=2JUliIdNIDz5HO9_&q=85&s=01fac0b784fb5c898a559ecaf84b478c" alt="A cancelled visit's Visit tab" width="500" height="845" data-path="images/probase/visit-page/33-cancelled.png" />

* The note ProBase recorded — for example *Items moved to Fri, Sep 4* — or the reason entered when the job was cancelled
* *No reason was recorded.* when there's nothing to say
* The history line underneath: *Cancelled by Callie Gates · Wed, Aug 26*

The header still shows the customer and property rows, so you can still reach the customer about a visit you called off this morning. The [History card](/routes/timing-a-visit#the-history-card) at the bottom of the tab holds the full log.

<Note>
  Visits marked **Skipped** on older jobs still show correctly wherever they appear — that status is part of your history. New visits are cancelled rather than skipped.
</Note>

## Cancelling from the day's list

You don't have to be on the visit page. Overdue visits can be cleared the same way — open the visit from [Overdue Jobs](/scheduling/overdue-jobs), tap **⋯ More → Cancel this visit**, and the list drops it.

<img src="https://mintcdn.com/lawnstarter/kZUrzLuIlwcxrsq9/images/probase/overdue-jobs/11-overdue-list-empty-after-cancel.png?fit=max&auto=format&n=kZUrzLuIlwcxrsq9&q=85&s=208c7135ab4a9b6c88aa26b0bcb31492" alt="The overdue list after cancelling" width="500" height="845" data-path="images/probase/overdue-jobs/11-overdue-list-empty-after-cancel.png" />

## Who can cancel

Cancelling a visit needs the cancel permission, and only on a visit assigned to a crew you work. Roles that can't cancel don't see the row in the sheet at all. **Cancel job** needs permission over the job itself. See [Roles and permissions](/team/roles-and-permissions).

Marketplace visits can't be cancelled from ProBase — that happens in the marketplace app. See [Marketplace jobs](/marketplace/marketplace-jobs).

## Next steps

* [Rescheduling jobs](/scheduling/rescheduling-jobs) — move a visit instead of ending it
* [Charges on a visit](/routes/visit-charges) — what gets moved forward
* [Managing services](/customers/managing-services#cancel-job) — cancelling a job from the job page
