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

# INBookRestaurantReservationIntentHandling

The handler interface booking a reservation that the user selected.

```
protocol INBookRestaurantReservationIntentHandling : NSObjectProtocol
```

## Overview

Use the methods of the [`INBookRestaurantReservationIntentHandling`](/documentation/Intents/INBookRestaurantReservationIntentHandling) protocol to resolve, confirm, and handle requests to book a reservation based on the provided information. The system delivers an [`INBookRestaurantReservationIntent`](/documentation/Intents/INBookRestaurantReservationIntent) object to your handler with the reservation details, including the restaurant, date, party size, and any special offers selected by the user. Use that intent object to complete the reservation in your system and to communicate the reservation details to the restaurant itself.

Maps does not require you to resolve or confirm the contents of a get available restaurant reservation bookings intent before handling it. User interactions drive the selection of data in Maps, ensuring that the data Maps places into an intent object is already valid.

## Topics

### Resolving the Intent Parameters

[`resolveRestaurant(for:completion:)`](/documentation/Intents/INBookRestaurantReservationIntentHandling/resolveRestaurant(for:completion:))

Resolves the restaurant associated with the reservation.

[`resolveBookingDateComponents(for:completion:)`](/documentation/Intents/INBookRestaurantReservationIntentHandling/resolveBookingDateComponents(for:completion:))

Resolves the date of the reservation.

[`resolvePartySize(for:completion:)`](/documentation/Intents/INBookRestaurantReservationIntentHandling/resolvePartySize(for:completion:))

Resolves the number of people in the user’s party.

[`resolveGuest(for:completion:)`](/documentation/Intents/INBookRestaurantReservationIntentHandling/resolveGuest(for:completion:))

Resolves the identity of the guest associated with the reservation.

[`resolveGuestProvidedSpecialRequestText(for:completion:)`](/documentation/Intents/INBookRestaurantReservationIntentHandling/resolveGuestProvidedSpecialRequestText(for:completion:))

Resolves any special requests made in connection with the reservation.

### Confirming the Response

[`confirm(bookRestaurantReservation:completion:)`](/documentation/Intents/INBookRestaurantReservationIntentHandling/confirm(bookRestaurantReservation:completion:))

Confirms whether you can complete the reservation.

### Handling the Intent

[`handle(bookRestaurantReservation:completion:)`](/documentation/Intents/INBookRestaurantReservationIntentHandling/handle(bookRestaurantReservation:completion:))

Handles completing the user’s reservation.



---

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)