Skip to main content

Bobby's Table

AI Restaurant Reservation Demo

bobbystable.ai is a functional demo of a restaurant reservation system built on SignalWire's APIs.

On this page, you'll find a full breakdown of the prompts used, along with all the functions. The functions are written in Perl. To quickly access all relevant files, please visit the GitHub repository.

Try it out!

Dial +1-754-432-6229 and watch your reservation show up live on bobbystable.ai.

GitHub Repository

View the project and clone it to your development environment from the GitHub repository.


How it works

Bobby's Table has three primary interfaces:

  • A public website showing live reservations
  • A password-protected backend log exposing interactions between user, AI Agent, app functions, and the system
  • SMS messages delivered to the user with reservation updates

1. Public site

The website is used to display the reservation details. This could be protected with a username and password, but our demo site is public for demonstration purposes.

  • Date: Reservation date
  • Time: Reservation time
  • Party Size: Number of guests
  • Guest Name: Name of the guest
  • Guest Number: Phone number of the guest
Bobby's table screenshot.

2. Backend

This is a backend interface gated by a login user name and password.

  • user: The caller's interaction
  • Assistant: The AI bot's interaction
  • function: This shows that the function was executed either correctly or incorrectly
  • system: This is like the assistant but on a higher level
Bobby's table conversation log.

3. SMS

This is the text message sent that includes:

  • Reservation name
  • Reservation date and time
  • Instructions on how to update the reservation online with a unique link
  • The option to STOP (required for SMS regulatory compliance)

Build it

In addition to what is included in the GitHub repository, you will also need to set up the following components.

  • Web server: NGINX
  • Database: PostgreSQL
  • Active SignalWire Space: Accessed at yourspace.signalwire.com
  • Signalwire API token
  • A registered/apporoved campaign for SMS in your SignalWire Space
info

SMS is subject to additional regulation by carriers. If you haven't worked with SMS before, check out our comprehensive guide to navigating the Campaign Registry process.


Function reference

This table succinctly outlines the necessary functions for the SWAIG (SignalWire AI Agent), detailing the arguments required for each function and their respective purposes within the room service ordering process.

FunctionArgumentsDescription
lookup_reservationcustomer_phoneTakes the user's phone number in e.164 format to look up a reservation.
cancel_reservationcustomer_phoneTakes the user's phone number in e.164 format to cancel a reservation.
move_reservationminutes_to_moveThe number of minutes to move the reservation forward.
check_availabilityparty_size, reservation_time, reservation_dateChecks for availability using string values for the number of guests (party_size) and the proposed reservation time and date.
create_reservationcustomer_phone, customer_name, party_size, reservation_time, reservation_dateCreates a reservation using the customer, party, and reservation details.

Use case

Bobby's Table is a prime example of the way advanced telecommunications technologies and AI can transform established, inefficient, and error-prone ways of doing business. Case in point: Making a dinner reservation. Let's first briefly examine how this process usually works.

The Status Quo

It's 11 AM and you're planning a nice dinner date. After looking up a restaurant online, you find their phone number and give it a call. The restaurant doesn't open until 3 PM, so you set a phone alarm and call back in the afternoon. By then, the kitchen is slammed and you wait on hold for 10 minutes before the staff can put your name down. When you arrive, the system has no record of your booking, so you end up waiting 45 minutes for a table. Surely there must be a better way.

Reinventing Reservations

With Bobby's Table, you can give the restaurant a call any time of day (or night). The AI Agent prompts you for relevant information and offers a range of options. At the end of the conversation, your reservation is confirmed via text or email. You can update your reservation at any time, and access is secured via SignalWire's MFA API.

Screenshot of the Bobby's Table AI restaurant reservation demo website.

GitHub

Check out the full project repository for the Bobby's Table demo on GitHub.


SignalWire

SignalWire’s AI Agent for Voice allows you to build and deploy your own digital employee. Powered by advanced natural language processing (NLP) capabilities, your digital employee will understand caller intent, retain context, and generally behave in a way that feels “human-like”. In fact, you may find that it behaves exactly like your best employee, elevating the customer experience through efficient, intelligent, and personalized interactions.

Made with ❤️ by SignalWire's DevEx team

Have feedback on this site? Drop us a line at devex@signalwire.com or visit the Community Slack.