---
title: Confirm, Decline, Reschedule & Cancel Appointments
description: Confirm or decline appointment requests, drag a visit to a new time on the calendar, or cancel it, and know when the customer is told.
---

[Skip to content](https://support.metafleet.ai/confirm-decline-reschedule-cancel-pm-appointments#main-content)

English

Show submenu for translations

![AI-powered fleet repair software](https://support.metafleet.ai/hs-fs/hubfs/Transparent%20logo%20for%20dark%20background.png?width=350&height=54&name=Transparent%20logo%20for%20dark%20background.png)

Open main navigation

Close main navigation

- English
  
  Show submenu for translations
- [Contact us](mailto:support@metafleet.ai)

[Contact us](mailto:support@metafleet.ai)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [MetaFleet Answer Hub](https://support.metafleet.ai/?hsLang=en)
2. [Dispatch & Scheduling](https://support.metafleet.ai/dispatch-scheduling?hsLang=en)
3. [Preventative Maintenance](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#preventative-maintenance)

# Confirm, Decline, Reschedule & Cancel Appointments

## Confirm or decline appointment requests, then move or cancel booked visits from the calendar or the visit's Details tab.

**For:** Dispatchers and service managers · **Permission:** Manage appointments · **Time:** about 2 minutes

### Quick summary

1. Go to **Service › Appointment Requests** and click **Needs Confirmation**.
2. Confirm a request from its card, or open it to check the details and confirm it there.
3. Decline a request you can't take, with a reason for the customer.
4. Move a booked visit by dragging it on the calendar, or click **Reschedule** on its **Details** tab.
5. Call off a visit with **Cancel appointment** on its **Details** tab.

### Before you start

- **Where requests come from:** customers ask for visits from the customer portal (see [Requesting & Tracking a PM Appointment (Customer Portal)](https://support.metafleet.ai/requesting-tracking-a-pm-appointment-customer-portal-?hsLang=en)). Each request arrives as **Requested** and waits for you in **Needs Confirmation**.
- **Visits you book yourself are already confirmed.** When you click **Book Appointment**, the visit goes straight onto the calendar as **Pending Arrival** and the customer is told. There's nothing to confirm.
- **Jobs you added as Unscheduled** wait in the **Unscheduled** panel beside the calendar, not in Needs Confirmation. See [Use the Appointment Requests Calendar and Views](https://support.metafleet.ai/the-service-workspace?hsLang=en).

### Find requests waiting on you

Go to **Service › Appointment Requests** and click **Needs Confirmation**. Repair, PM and inspection requests all land in this one queue. The cards at the top count what's waiting:

- **Awaiting Confirmation**: every request still waiting on you.
- **Proposed for Overdue PM**: requests for a PM that's already overdue.
- **Due Soon (≤ 30 days)**: requests for a PM due in the next 30 days.
- **Confirmed This Week**: visits confirmed since the start of the week.

Narrow the list with the **PM Health** chips (**All**, **Overdue**, **Due Soon**, **On Schedule**) and the **Asset Type** chips, or search by unit number, VIN or program. When the queue is empty, it says **Nothing waiting on you**.

![Needs Confirmation view with the four counters, the PM Health and Asset Type chips, and one request card](https://support.metafleet.ai/hs-fs/hubfs/knowledge-base/oct-2026/confirm-decline-reschedule-cancel-pm-appointments-01-needs-confirmation.png?width=991&height=545&name=confirm-decline-reschedule-cancel-pm-appointments-01-needs-confirmation.png)

You don't have to keep checking. A new request rings a **New Appointment** alarm in the Alerts panel, and dispatchers also get an email. Click **Join Appointment** to open Needs Confirmation with that request highlighted. The alarm clears itself once the request is confirmed, declined or cancelled.

![New alarm in the Alerts panel reading 2 New Appointments with a Join Appointment button](https://support.metafleet.ai/hs-fs/hubfs/knowledge-base/oct-2026/confirm-decline-reschedule-cancel-pm-appointments-02-request-alarm.png?width=230&height=107&name=confirm-decline-reschedule-cancel-pm-appointments-02-request-alarm.png)

### Confirm or decline from the queue

Each card shows the unit, the type of work, the company and VIN, the customer's own description, the program, the PM reminder it came from, the location, and the proposed time with its estimated length. Use the buttons at the bottom of the card:

- **Confirm** opens **Confirm appointment**. Check the **Date & time** and the **Duration (hrs)**, which is prefilled from the estimate and blocks that much time on the calendar. Pick a **Payment method** (**Manual collection** or **Payment link**) and click **Confirm**. A PM needs a payment method. To charge a saved card, open the request and pick the card on its page instead.
- **Reschedule** opens the same window as **Reschedule & confirm**. Pick another time and click **Book it**.
- **Decline** asks for a reason, which is sent to the customer.

![Confirm appointment window with Date and time, Duration, a Payment method list and the Confirm button](https://support.metafleet.ai/hs-fs/hubfs/knowledge-base/oct-2026/confirm-decline-reschedule-cancel-pm-appointments-03-confirm-window.png?width=592&height=489&name=confirm-decline-reschedule-cancel-pm-appointments-03-confirm-window.png)

Working through a batch? Tick the cards you want, or tick **Select all** at the top of the list. Then click **Confirm Selected** to confirm each one at its proposed time on manual collection, with an email to each customer. Or click **Reschedule** to give them all the same time. Requests with no proposed time are skipped by Confirm Selected, so reschedule those.

### Or open the request and confirm it on its page

Click the unit number on a card to open the request. PM and inspection requests open on the visit's **Details** tab. Repair requests open on the repair page, where the main button reads **Confirm appointment**. The buttons sit at the top right:

![Requested visit header with Decline, Save unscheduled, a greyed Confirm button, Parts List and the hint to pick a date](https://support.metafleet.ai/hs-fs/hubfs/knowledge-base/oct-2026/confirm-decline-reschedule-cancel-pm-appointments-04-request-actions.png?width=475&height=76&name=confirm-decline-reschedule-cancel-pm-appointments-04-request-actions.png)

- **Confirm** books the visit. It stays greyed out until the visit has a date and start time and, for a PM, a payment method. If Manual collection is the only payment method your shop offers, it's already picked. The line under the buttons says what's missing.
- **Decline** turns the request down (see below).
- **Save unscheduled** leaves the request without a date for now and takes you back to Appointment Requests.
- **Parts List** prints the parts ticket for this visit.

Before you confirm, you can fix anything on the page: contacts, vehicles and work, service writers, notes, reference/PO, location, payment and technician. On a PM or inspection request, each card saves its own changes. On a repair request, your changes save when you click **Confirm**. Notes are the exception: the **Notes** box says **Notes typed here aren’t saved.** If you click **Confirm** with notes typed, MetaFleet asks first, and **Confirm anyway** books the visit without them. If a colleague changed a card you also changed, clicking **Confirm** shows a banner with their change and yours. Click **Keep theirs** or **Use mine**. **Confirm** stays greyed out until you pick. For a visit at your shop, an optional **Bay** card lets you hold a bay. Bays already taken at that time are greyed out. If someone books the bay while you are confirming, Confirm stops and says "Bay is already booked for Oct 21, 9:00 AM–10:00 AM." in your shop's time. Pick another bay, or **No bay**, and confirm again.

In the **Date & time** card, check the day, the start and the end. A request that asked for a time opens on that time, and **Confirm** books it as it stands. Change it if you need another. You don't need to click **Save new time**. Confirm uses the time shown on the card. A request that came in with no time opens on a default, and you pick the time yourself. Then click **Confirm** at the top. As the card says, Confirm books this time and notifies the customer.

Confirm won't book a time that has already passed. It says "That time has already passed. Pick a time from now on." Pick a later start and confirm again.

![Date and time card in editing mode set to Thu Oct 22, 9:00 AM to 11:00 AM, with the note that Confirm notifies the customer](https://support.metafleet.ai/hs-fs/hubfs/knowledge-base/oct-2026/confirm-decline-reschedule-cancel-pm-appointments-05-pick-time.png?width=521&height=243&name=confirm-decline-reschedule-cancel-pm-appointments-05-pick-time.png)

### Decline a request

Click **Decline**, type the reason and click **Decline request**. The reason is required because the customer receives it. They can send a new request afterwards. The request moves to **Declined**.

![Decline appointment request window with a required reason and the Decline request button](https://support.metafleet.ai/hs-fs/hubfs/knowledge-base/oct-2026/confirm-decline-reschedule-cancel-pm-appointments-06-decline.png?width=468&height=421&name=confirm-decline-reschedule-cancel-pm-appointments-06-decline.png)

### What happens after you confirm

- The visit goes onto the calendar and shows as **Pending Arrival**.
- The customer gets a confirmation email. If your shop sends appointment reminders, they also get reminders 3 days, 24 hours and 1 hour before the visit.
- If nobody is assigned yet, add a technician on the **Technician** card. See [Manually Assign a Technician](https://support.metafleet.ai/manually-assign-a-technician?hsLang=en).
- To stage parts before the truck arrives, open the **Parts** tab. On a confirmed PM or inspection visit it's open before **Begin Service**. The amber strip on the visit says "You can add parts now on the Parts tab." Click **Add** to add parts, or **Parts List** to print the pick list. The other work tabs unlock when you begin.
- When the truck arrives, click **Begin Service**. See [Record Arrival & Start Service](https://support.metafleet.ai/record-arrival-start-service?hsLang=en).

![Confirmed visit with the Parts tab open before Begin Service, showing Parts List and Add](https://support.metafleet.ai/hs-fs/hubfs/knowledge-base/oct-2026/confirm-decline-reschedule-cancel-pm-appointments-08-parts-before-begin.png?width=626&height=209&name=confirm-decline-reschedule-cancel-pm-appointments-08-parts-before-begin.png)

> **Confirmed with no technician?** If the visit starts within 24 hours, MetaFleet alerts the visit's service writers right away. If nobody opens that alert within 10 minutes, it becomes an **Unassigned Appointment** alarm for the whole desk, with an **Assign Technician** button. That button opens the visit with the technician list. It fires again 3 hours before the start if the visit is still unassigned. Assigning a technician closes the alerts and the alarm. Opening the visit from the alarm doesn't.

### Reschedule from the Details tab

Open the visit. In the **Date & time** card, click **Reschedule**, pick the new day, start and end, then click **Save new time**. The customer is told the new time.

MetaFleet refuses a move it can't make and says why on the page:

- For a past start: "That time has already passed. Pick a time from now on."
- For a closed visit: "This appointment is cancelled, so it can't be rescheduled." The same message names declined or completed visits.
- When the visit holds a bay that is taken at the new time: "Bay is already booked for Oct 21, 9:00 AM–10:00 AM."

The same applies when you drag the visit on the calendar. There the reason appears in a **Could not reschedule** message.

The card names the time zone its times are in, for example **PT**. Check it if you work in a different time zone from the job site. An end time can run into the next day for overnight or multi-day work. Once work on the visit has begun, the time can't be changed here.

### Reschedule by dragging on the calendar

On the **Calendar** view, drag the visit to its new slot. A window shows the **Current** and **New** times. Leave **Notify the customer of the new time** ticked to send the customer the new time, then click **Reschedule**. Click **Cancel** to put the visit back where it was.

The whole visit moves and keeps its length. For a visit that runs over several days, drag the block on its first day. If you untick the box, the customer isn't told about the move, and their reminders pause until someone tells them. See **Tell the customer later** below.

### Tell the customer later

A confirmed visit that hasn't started, booked or moved without telling the customer, shows a strip on its page: **Booked without a message to the customer.** The customer gets no reminders until they're told.

1. Click **Send confirmation**.
2. MetaFleet asks who gets it and how, for example **Send the confirmation to Jordan Blake by email, with a calendar invite?**
3. Click **Send**. If the contact can only see it in the customer portal, the button reads **Send anyway**.

The customer's reminders start again. The **Date & time** card then shows when the confirmation went out, with **Send again**. You need the **Manage appointments** permission to send. If the strip says **No on-site contact to send the confirmation to. Add one on Members & Contacts.**, add a contact first.

### Cancel a visit

Open the visit and click **Cancel appointment** at the bottom of the **Details** tab. Click **Cancel appointment** again to confirm. The customer is notified and the visit shows as **Cancelled**. Technicians on the visit are told too: their assigned-job alert closes, and if work hasn't started they get a **Job cancelled** push. If work has started, they hear through the order's cancel.

![Cancel this appointment window saying the customer will be notified and it can't be undone](https://support.metafleet.ai/hs-fs/hubfs/knowledge-base/oct-2026/confirm-decline-reschedule-cancel-pm-appointments-07-cancel.png?width=492&height=268&name=confirm-decline-reschedule-cancel-pm-appointments-07-cancel.png)

> **A cancellation can't be undone.** If plans change again, book a new visit. You can also cancel a visit that has already started. If work has begun and the visit has a service order, cancelling the visit cancels that order too. If the order can't be cancelled, the visit stays as it is and the page says why. If a technician starts the job first, the page says when the job started and that the visit wasn't cancelled.

### Troubleshooting

| Symptom | Likely cause | Fix |
| --- | --- | --- |
| A request isn't in Needs Confirmation | It's already been confirmed, declined or cancelled, or it was added as Unscheduled | Check the status tabs on the **List** view, or the **Unscheduled** panel on the calendar. |
| A request I expect is filtered out | A **PM Health** or **Asset Type** chip, or the search box, is narrowing the list | Set both chip rows back to **All** and clear the search. |
| **Confirm** is greyed out on the visit page | The visit has no date and start time yet, or a PM has no payment method (Manual collection is already picked when it's your only method). On a repair request, a colleague changed a card you also changed. | Pick what the line under the buttons asks for. If a banner shows, click **Keep theirs** or **Use mine**. |
| Confirm or Reschedule says "That time has already passed" | The start is earlier than the current minute | Pick a start from now on. |
| Confirm or Reschedule says "Bay is already booked" | Another visit holds that bay at that time | Pick another bay or **No bay**, or another time, and try again. |
| **Confirm Selected** skipped some requests | They have no proposed time | Use **Reschedule** on those cards to give them a time. |
| The **Date & time** card has no **Reschedule** button | Work on the visit has begun, or it's completed | The time is fixed once work starts. |
| Confirm says **Not confirmed: this request was cancelled** | The customer cancelled just before you clicked Confirm | Nothing was booked and the customer got no confirmation. If they still want a visit, book a new one. |
| A multi-day visit won't move when I drag it | You dragged a later day of the visit | Drag the block on its first day. |
| The customer didn't hear about a new time | **Notify the customer of the new time** was unticked when you dragged it | Open the visit and click **Send confirmation**. |
| There's no **Cancel appointment** button | The visit is completed, declined or already cancelled | There's nothing left to cancel. |

### FAQs

**Do I need to confirm visits I book myself?**  
No. A visit you book is confirmed the moment you click **Book Appointment**. Needs Confirmation is for requests that come from customers.

**Is this only for PM appointments?**  
No. Repair, PM and inspection requests share the same queue.

**Can I confirm a batch at once?**  
Yes. Tick the cards, or **Select all**, then click **Confirm Selected**.

**Does rescheduling notify the customer?**  
From the **Details** tab, yes. On the calendar, it does when **Notify the customer of the new time** is ticked, which it is by default.

**What's the difference between Decline and Cancel?**  
**Decline** turns down a request you never confirmed. **Cancel appointment** calls off a visit that was booked. The customer is told either way, and neither can be undone.

**Can I assign a technician later?**  
Yes. Use the **Technician** card on the **Details** tab while the visit is still open. A cancelled, declined or completed visit can't take a technician.

### Related articles

- [Book a PM, Inspection or Repair Appointment](https://support.metafleet.ai/scheduling-a-pm-appointment?hsLang=en)
- [Use the Appointment Requests Calendar and Views](https://support.metafleet.ai/the-service-workspace?hsLang=en)
- [Record Arrival & Start Service](https://support.metafleet.ai/record-arrival-start-service?hsLang=en)
- [Manually Assign a Technician](https://support.metafleet.ai/manually-assign-a-technician?hsLang=en)
- [Set Up Bays for PM Scheduling](https://support.metafleet.ai/set-up-bays-for-pm-scheduling?hsLang=en)

- [Start Here](https://support.metafleet.ai/start-here?hsLang=en)
- [Companies & Contacts](https://support.metafleet.ai/companies-contacts?hsLang=en#main-content)

    - [Create/Edit Companies](https://support.metafleet.ai/companies-contacts?hsLang=en#create-edit-companies)
    - [Contacts](https://support.metafleet.ai/companies-contacts?hsLang=en#contacts)
    - [Vehicles](https://support.metafleet.ai/companies-contacts?hsLang=en#vehicles)
- [Work Intake (Requests & Service Orders)](https://support.metafleet.ai/work-intake-requests-service-orders?hsLang=en#main-content)

    - [Creating Service Orders](https://support.metafleet.ai/work-intake-requests-service-orders?hsLang=en#creating-service-orders)
    - [Customer & Partner Requests](https://support.metafleet.ai/work-intake-requests-service-orders?hsLang=en#customer-partner-requests)
    - [Reference](https://support.metafleet.ai/work-intake-requests-service-orders?hsLang=en#reference)
    - [Customer Portal](https://support.metafleet.ai/work-intake-requests-service-orders?hsLang=en#customer-portal)
- [Estimates & Approvals](https://support.metafleet.ai/estimates-approvals?hsLang=en#main-content)

    - [Approval Gates](https://support.metafleet.ai/estimates-approvals?hsLang=en#approval-gates)
    - [Estimates](https://support.metafleet.ai/estimates-approvals?hsLang=en#estimates)
    - [Invoices](https://support.metafleet.ai/estimates-approvals?hsLang=en#invoices)
    - [Billing](https://support.metafleet.ai/estimates-approvals?hsLang=en#billing)
- [Parts, Inventory & Vendors](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#main-content)

    - [Add Parts & Kits](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#add-parts-kits)
    - [Stock & Counts](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#stock-counts)
    - [Locations & Bins](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#locations-bins)
    - [Purchase Orders](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#purchase-orders)
    - [Parts Catalog](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#parts-catalog)
    - [Vendors & Manufacturers](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#vendors-manufacturers)
    - [Pricing](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#pricing)
    - [Service Vehicles](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#service-vehicles)
    - [Sourcing & Hand-Off](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#sourcing-hand-off)
    - [Part Numbers](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#part-numbers)
    - [Notifications](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#notifications)
    - [Reports](https://support.metafleet.ai/parts-inventory-vendors?hsLang=en#reports)
- [Invoicing & Payments](https://support.metafleet.ai/invoicing-payments?hsLang=en)
- [Dispatch & Scheduling](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#main-content)

    - [Preventative Maintenance](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#preventative-maintenance)
    - [Technician Assignment](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#technician-assignment)
    - [Scheduling & Calendar](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#scheduling-calendar)
    - [Technician Schedule](https://support.metafleet.ai/dispatch-scheduling?hsLang=en#technician-schedule)
- [Technicians & Mobile App](https://support.metafleet.ai/technicians-mobile-app?hsLang=en#main-content)

    - [Time Tracking](https://support.metafleet.ai/technicians-mobile-app?hsLang=en#time-tracking)
    - [Tech Workflow](https://support.metafleet.ai/technicians-mobile-app?hsLang=en#tech-workflow)
    - [Evidence & Photos](https://support.metafleet.ai/technicians-mobile-app?hsLang=en#evidence-photos)
    - [AI Assistant](https://support.metafleet.ai/technicians-mobile-app?hsLang=en#ai-assistant)
- [Alerts, Alarms & Notifications](https://support.metafleet.ai/alerts-alarms-notifications?hsLang=en#main-content)

    - [Email/SMS/App Settings](https://support.metafleet.ai/alerts-alarms-notifications?hsLang=en#email-sms-app-settings)
- [Reporting & Dashboards](https://support.metafleet.ai/reporting-dashboards?hsLang=en)
- [Admin & Settings](https://support.metafleet.ai/admin-settings?hsLang=en#main-content)

    - [Rates & Fees](https://support.metafleet.ai/admin-settings?hsLang=en#rates-fees)
    - [Branding](https://support.metafleet.ai/admin-settings?hsLang=en#branding)
    - [Roles, Permissions & Users](https://support.metafleet.ai/admin-settings?hsLang=en#roles-permissions-users)
    - [Service Areas](https://support.metafleet.ai/admin-settings?hsLang=en#service-areas)
    - [Workflows](https://support.metafleet.ai/admin-settings?hsLang=en#workflows)
    - [Taxes](https://support.metafleet.ai/admin-settings?hsLang=en#taxes)
    - [Integrations](https://support.metafleet.ai/admin-settings?hsLang=en#integrations)
- [Integrations](https://support.metafleet.ai/integrations?hsLang=en#main-content)

    - [Phone Setup](https://support.metafleet.ai/integrations?hsLang=en#phone-setup)
    - [AI Assistant Access](https://support.metafleet.ai/integrations?hsLang=en#ai-assistant-access)
    - [QuickBooks](https://support.metafleet.ai/integrations?hsLang=en#quickbooks)
- [Getting Around](https://support.metafleet.ai/getting-around?hsLang=en#main-content)

    - [Search & Command Bar](https://support.metafleet.ai/getting-around?hsLang=en#search-command-bar)

[![AI-powered fleet repair software](https://support.metafleet.ai/hs-fs/hubfs/Transparent%20logo%20for%20dark%20background.png?width=350&height=54&name=Transparent%20logo%20for%20dark%20background.png "AI-powered fleet repair software")](http://www.metafleet.ai)

<https://www.facebook.com/> <https://www.instagram.com/> [mailto:support@metafleet.ai](mailto:support@metafleet.ai)

Copyright © 2025, MetaFleet, Inc