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

# INCancelRideIntent

An intent requesting the cancellation of a previously booked ride.

```
class INCancelRideIntent
```

## Overview

When the user cancels a ride that was previously booked through Siri or Maps, SiriKit sends an [`INCancelRideIntent`](/documentation/Intents/INCancelRideIntent) object to your handler. SiriKit populates this intent object with the ride identifier that you provided when originally booking the ride. Upon receiving this intent, verify the ride information and cancel the ride accordingly.

To handle this intent, the handler object in your Intents extension must adopt the [`INCancelRideIntentHandling`](/documentation/Intents/INCancelRideIntentHandling) protocol. Your handler should confirm the request and create an [`INCancelRideIntentResponse`](/documentation/Intents/INCancelRideIntentResponse) object with the status of the ride.

SiriKit prefers sending this intent 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 this intent is unavailable or not supported by your extension.

### Additional Intent Attributes

The following table lists additional attributes of this intent object:

|Attribute                      |Description|
|-------------------------------|-----------|
|Supported by                   |Maps       |
|Always requires unlocked device|Yes        |

## Topics

### Initializing an Intent Object

[`init(rideIdentifier: String)`](/documentation/Intents/INCancelRideIntent/init(rideIdentifier:))

Initializes the intent object with the specified ride identifier.

### Identifying the Ride

[`var rideIdentifier: String`](/documentation/Intents/INCancelRideIntent/rideIdentifier)

The unique identifier that you assigned to the ride.

## Relationships

### Conforms To

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

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

[`Hashable`](/documentation/Swift/Hashable)

[`NSCopying`](/documentation/Foundation/NSCopying)

[`Equatable`](/documentation/Swift/Equatable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

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

[`NSCoding`](/documentation/Foundation/NSCoding)

[`CVarArg`](/documentation/Swift/CVarArg)

### Inherits From

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

---

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)