<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SiriKit",
  "identifier" : "/documentation/Intents/INCancelRideIntentHandling",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(pl)INCancelRideIntentHandling"
  },
  "title" : "INCancelRideIntentHandling"
}
-->

# INCancelRideIntentHandling

The handler interface for canceling a previously booked ride.

```
protocol INCancelRideIntentHandling : NSObjectProtocol
```

## Overview

Use the methods of the [`INCancelRideIntentHandling`](/documentation/Intents/INCancelRideIntentHandling) protocol to confirm and handle requests to cancel the user’s currently active ride. Adopt this protocol in an object of your Intents extension that is capable of canceling the ride with your service.

Users may cancel rides from Siri or Maps. When the user requests to cancel a booked ride, SiriKit may send an [`INGetRideStatusIntent`](/documentation/Intents/INGetRideStatusIntent) object to your extension first to verify that a ride is still active and to retrieve the associated ride identifier. It includes that ride identifier in the [`INCancelRideIntent`](/documentation/Intents/INCancelRideIntent) object that it sends to your Intents extension.

SiriKit prefers sending an [`INCancelRideIntent`](/documentation/Intents/INCancelRideIntent) object to your extension over canceling a ride by other means. So when responding to an [`INRequestRideIntent`](/documentation/Intents/INRequestRideIntent) object, you can continue to set the [`userActivityForCancelingInApplication`](/documentation/Intents/INRideStatus/userActivityForCancelingInApplication) property of your response’s [`INRideStatus`](/documentation/Intents/INRideStatus) object to allow cancellation of the ride in your app. SiriKit uses that <doc://com.apple.documentation/documentation/Foundation/NSUserActivity> object only on systems where the cancellation intent is unavailable or not supported by your extension.

## Topics

### Confirming the Response

[`func confirm(cancelRide: INCancelRideIntent, completion: (INCancelRideIntentResponse) -> Void)`](/documentation/Intents/INCancelRideIntentHandling/confirm(cancelRide:completion:))

Confirms that you can cancel the ride.

### Handling the Intent

[`func handle(cancelRide: INCancelRideIntent, completion: (INCancelRideIntentResponse) -> Void)`](/documentation/Intents/INCancelRideIntentHandling/handle(cancelRide:completion:))

Handles the user canceling an unfinished ride.

## Relationships

### Inherited By

[`INRidesharingDomainHandling`](/documentation/Intents/INRidesharingDomainHandling)

### Inherits From

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)