Restaurant Table Booking

The user wants a restaurant, cafe, or bar bot that accepts table reservations and handles unavailable slots.

Flow Preview

Restaurant Booking MenuRestaurant Booking DetailsRestaurant Booking ConfirmationRestaurant Booking Support

Overview

Book a restaurant table, collect party size/date/time/contact details, check availability, and confirm or recover.

Who It's For

The user wants a restaurant, cafe, or bar bot that accepts table reservations and handles unavailable slots.

Setup Requirements

  • Should availability be checked through an installed module, an approved API, or modeled with placeholders?
  • What date/time format should users enter for custom reservations?
  • Should large parties go directly to staff support?
  • Which details are required before confirming a reservation?

Node Breakdown

  • Start or main menu
  • Ask number of guests with INTEGER reply validation
  • Offer date buttons: today, tomorrow, another day
  • Collect custom reservation date/time with DATE_TIME reply validation when the user chooses another day
  • Collect preferred time for today/tomorrow with TIME reply validation
  • Check availability with placeholder logic or approved HTTP Request integration
  • If available, ask user to confirm the slot
  • Collect name and phone
  • Save booking details or call reservation API
  • Send confirmation and offer main menu/support
  • If unavailable, offer another time or support

Details

Good to know

  • Use an installed Google Sheets insert-row module action via moduleActionRef when the user wants spreadsheet logging and the module is installed.
  • Treat spreadsheet, sheet, and column mapping as module action form setup; do not ask for those values in chat unless they change flow logic.
  • Use the SET_VARIABLE placeholder path only when no installed module or approved reservation system API is available.
  • If the user approves an external reservation API, replace the placeholder availability/save actions with HTTP_REQUEST actions and output fields.
  • Use START_CONVERSATION for manual staff help when a slot is unavailable or the party size needs special handling.

Keep in mind

  • Do not ask users to type command words to continue; use buttons for date, confirmation, retry, and support actions.
  • Do not create fake spreadsheet or reservation module actions unless an installed module template exists.
  • Do not ask for spreadsheet, sheet, or column mapping in chat when those values belong in the module action form.
  • Do not draw long direct links from completion buttons back to the beginning of the same flow; use nearby self-targeting FLOW_LINK blocks for Main menu, Start over, New booking, or Make another booking.
  • Do not dead-end unavailable slots; offer another time or staff support.