<!--
{
  "documentType" : "article",
  "framework" : "SiriKit",
  "identifier" : "/documentation/SiriKit/ride-booking",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Ride Booking"
}
-->

# Ride Booking

Book rides and report their status.

## Discussion

Users can book rides from Maps, Shortcuts, and Siri Suggestions. When the user requests a ride from your service, SiriKit forwards the information to your Intents app extension for processing. The user can ask you to provide a list of available rides, to initiate the booking of a ride, and to provide status updates for a booked ride. Maps expects you to handle all of the intents in this domain and won’t load your Intents app extension if you don’t support all of them.

You can provide a custom interface for ride-booking intents using an Intents UI app extension.

> Important:
> For information about Siri and Ride Booking, see [Deprecated SiriKit Intent Domains](https://developer.apple.com/support/deprecated-sirikit-intent-domains).

## Topics

### Essentials

  <doc://com.apple.sirikit/documentation/SiriKit/handling-the-ride-booking-intents>

  <doc://com.apple.sirikit/documentation/SiriKit/booking-rides-with-sirikit>

### List Ride Options

Maps uses this intent to obtain a list of ride options from your ride-booking service. Siri does not generate this intent.

  <doc://com.apple.sirikit/documentation/SiriKit/generating-a-list-of-ride-options>

[`protocol INListRideOptionsIntentHandling`](/documentation/Intents/INListRideOptionsIntentHandling)

The handler interface for fetching the list of rides currently available from your ride-booking service.

[`class INListRideOptionsIntent`](/documentation/Intents/INListRideOptionsIntent)

An intent for getting the types of rides available from a ride-booking service.

[`class INListRideOptionsIntentResponse`](/documentation/Intents/INListRideOptionsIntentResponse)

Your app’s response to a list ride options intent.

### Request a Ride

Book the ride based on the information provided by the user.

[`protocol INRequestRideIntentHandling`](/documentation/Intents/INRequestRideIntentHandling)

The handler interface for booking a ride for the user.

[`class INRequestRideIntent`](/documentation/Intents/INRequestRideIntent)

A request to book the specified ride from your service.

[`class INRequestRideIntentResponse`](/documentation/Intents/INRequestRideIntentResponse)

Your app’s response to a request ride intent.

### Get the Ride Status

Return the status of the booked ride that is currently active.

[`protocol INGetRideStatusIntentHandling`](/documentation/Intents/INGetRideStatusIntentHandling)

The handler interface for fetching the status of the user’s current ride.

[`class INGetRideStatusIntent`](/documentation/Intents/INGetRideStatusIntent)

A request for the current status of a previously booked ride.

[`class INGetRideStatusIntentResponse`](/documentation/Intents/INGetRideStatusIntentResponse)

Your app’s response to a get ride status intent.

[`protocol INGetRideStatusIntentResponseObserver`](/documentation/Intents/INGetRideStatusIntentResponseObserver)

An interface for providing updated status for an active ride.

### Cancel Ride

[`protocol INCancelRideIntentHandling`](/documentation/Intents/INCancelRideIntentHandling)

The handler interface for canceling a previously booked ride.

[`class INCancelRideIntent`](/documentation/Intents/INCancelRideIntent)

An intent requesting the cancellation of a previously booked ride.

[`class INCancelRideIntentResponse`](/documentation/Intents/INCancelRideIntentResponse)

Your app’s response to a cancel ride intent.

### Send Ride Feedback

[`protocol INSendRideFeedbackIntentHandling`](/documentation/Intents/INSendRideFeedbackIntentHandling)

The handler interface for sending ride feedback to your service.

[`class INSendRideFeedbackIntent`](/documentation/Intents/INSendRideFeedbackIntent)

An intent indicating that the user provided feedback for a completed ride.

[`class INSendRideFeedbackIntentResponse`](/documentation/Intents/INSendRideFeedbackIntentResponse)

Your app’s response to a send ride feedback intent.

### Data Objects

When crafting your responses, use these objects to specify details about the booking, the vehicle, and the driver providing the ride.

[`class INRideOption`](/documentation/Intents/INRideOption)

Details about a type of ride offered by your ride-booking service.

[`class INRideStatus`](/documentation/Intents/INRideStatus)

The status of a ride booked through a ride-booking service.

[`class INRideDriver`](/documentation/Intents/INRideDriver)

Identifying information about a driver of a ride service.

[`class INRideVehicle`](/documentation/Intents/INRideVehicle)

A specific vehicle used by a ride-booking service.

[`class INRideFareLineItem`](/documentation/Intents/INRideFareLineItem)

A specific type of ride-related charge.

[`class INRidePartySizeOption`](/documentation/Intents/INRidePartySizeOption)

The price of a ride involving the specified number of people.

[`class INRideCompletionStatus`](/documentation/Intents/INRideCompletionStatus)

Additional details about whether a ride completed successfully or someone canceled the ride.



---

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)