Restaurant Reservation: Sample End-to-End Test Script
This script exercises all four SPI operations using the default template with mock data. Use this to verify your add-on is correctly wired up end-to-end.
Prerequisites
- Infrastructure deployed without basic auth (
npx cdk deploy) - Add-on updated with endpoint from CDK deployment
- Add-on deployed (
alexa-ai deploy) - POI test catalog uploaded and associated with add-on
- Permissions granted (via QR code scan or directly in Alexa+ app)
- Echo Show device (recommended for full visual experience)
Conversation Script
| # | U/A | Utterance / Response | SPI Operation / Validation |
|---|---|---|---|
| 1 | User | "Alexa, help me book a table" | — |
| 2 | Alexa | Asks which restaurant or prompts for more details | — |
| 3 | User | "Suggest me a few restaurants in <CITY>" | — |
| 4 | Alexa | Displays restaurants from your POI catalog | POI catalog search. Verify: Restaurant cards displayed on device |
| 5 | User | "Check availability at <RESTAURANT_NAME> for next Sunday" | — |
| 6 | Alexa | Asks how many people will be dining | — |
| 7 | User | "2 people" | — |
| 8 | Alexa | Displays available time slots for the requested date and party size | GetAvailability. Verify: Availability card with time slots displayed on device |
| 9 | User | Tap a time slot button on device (for example, "8:00 PM") OR say "8 PM" | — |
| 10 | Alexa | Confirms booking and adds to calendar | CreateReservation. Verify: Calendar entry created |
| 11 | User | "Check my calendar" | — |
| 12 | Alexa | Shows the reservation on the calendar | Verify: Calendar shows the reservation |
| 13 | User | "Can you modify it to 3 people" | — |
| 14 | Alexa | Checks availability for the new party size and confirms modification | GetAvailability → UpdateReservation. Verify: Calendar updated |
| 15 | User | "Cancel this reservation" | — |
| 16 | Alexa | Confirms cancellation and removes from calendar | DeleteReservation. Verify: Calendar entry removed |
Operations Coverage
| # | SPI Operation | What it validates |
|---|---|---|
| 1 | GetAvailability | Returns available time slots for restaurant + party size + date |
| 2 | CreateReservation | Books a reservation with user details |
| 3 | UpdateReservation | Modifies party size / time of existing reservation |
| 4 | DeleteReservation | Cancels an existing reservation |
Notes
- If permissions are not granted or if it's the first time, Alexa will ask for permission before CreateReservation — grant via the Alexa app
- Alexa may ask "What city are you in?" before suggesting restaurants — say the city matching your POI data
- Restaurant names and count depend on your uploaded POI test catalog
- Modify flow calls GetAvailability first to confirm new slot is available before calling UpdateReservation
Related topics
Was this page helpful?
Last updated: Jul 21, 2026

