Ride Booking

Book rides and report their status.

Overview

Users can book rides from either Siri or Maps. 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 will not load your Intents extension if you do not support all of them.

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

Figure 1

Booking a ride from Siri and Maps

Booking a ride from Siri and Maps

Topics

First Steps

Handling the Ride-Booking Intents

Understand how Siri and Maps generate ride-booking intents and learn tips about how to handle those intents.

protocol INRidesharingDomainHandling

An interface for adopting all of the protocols in the ride-booking domain.

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.

Generating a List of Ride Options

Generate ride options for Maps to display to the user.

protocol INListRideOptionsIntentHandling

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

class INListRideOptionsIntent

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

class 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

The handler interface for booking a ride for the user.

class INRequestRideIntent

A request to book the specified ride from your service.

class 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

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

class INGetRideStatusIntent

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

class INGetRideStatusIntentResponse

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

protocol INGetRideStatusIntentResponseObserver

An interface for providing updated status for an active ride.

Cancel Ride

protocol INCancelRideIntentHandling

The handler interface for canceling a previously booked ride.

class INCancelRideIntent

An intent requesting the cancellation of a previously booked ride.

class INCancelRideIntentResponse

Your app's response to a cancel ride intent.

Send Ride Feedback

protocol INSendRideFeedbackIntentHandling

The handler interface for sending ride feedback to your service.

class INSendRideFeedbackIntent

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

class 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

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

class INRideStatus

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

class INRideDriver

Identifying information about a driver of a ride service.

class INRideVehicle

A specific vehicle used by a ride-booking service.

class INRideFareLineItem

A specific type of ride-related charge.

class INRidePartySizeOption

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

class INRideCompletionStatus

Additional details about whether a ride completed successfully or was canceled.

See Also

Intent Domains

VoIP Calling

Initiate calls and search the user's call history.

Messaging

Send messages and search the user's received messages.

Payments

Send payments between users or pay bills.

Lists and Notes

Create and manage notes and to-do list items.

Visual Codes

Convey contact and payment information using Quick Response (QR) codes.

Photos

Search for and display photos.

Workouts

Start, end, and manage fitness routines.

Car Commands

Manage vehicle door locks and get the vehicle's status.

CarPlay

Interact with a vehicle's CarPlay system.

Restaurant Reservations

Create and manage restaurant reservations with help from the Maps app.