<!--
{
  "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/handle(cancelRide:completion:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(pl)INCancelRideIntentHandling(im)handleCancelRide:completion:"
  },
  "title" : "handle(cancelRide:completion:)"
}
-->

# handle(cancelRide:completion:)

Handles the user canceling an unfinished ride.

```
func handle(cancelRide intent: INCancelRideIntent, completion: @escaping @Sendable (INCancelRideIntentResponse) -> Void)
```

```
func handle(cancelRide intent: INCancelRideIntent) async -> INCancelRideIntentResponse
```

## Parameters

`intent`

The intent object containing details about the user’s request. The information in this object has already been confirmed by your handler object.

`completion`

The handler block to execute with your response. You must execute this handler at some point during your implementation of this method. This handler has no return value and takes the following parameter:

- response: The [`INCancelRideIntentResponse`](/documentation/Intents/INCancelRideIntentResponse) object containing the reason for the cancellation and information about any fees that might still apply. This parameter must not be `nil`.

## Discussion

In your implementation of this method, cancel the ride described by the `intent` parameter, create a response object with any cancellation information, and call the provided `completion` handler. If your app is currently providing live status updates for the ride, immediately deliver an updated [`INRideStatus`](/documentation/Intents/INRideStatus) object back to SiriKit with the cancellation details. Specifically, change the phase of the ride to [`INRidePhase.completed`](/documentation/Intents/INRidePhase/completed) and set the [`completionStatus`](/documentation/Intents/INRideStatus/completionStatus) property to an object that indicates the user canceled the ride. Make sure the rest of the information in the [`INRideStatus`](/documentation/Intents/INRideStatus) object is still accurate, including the ride identifier and ride option.

---

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)