FreeSWITCH Enterprise Support Lead and Head of Developer ExperienceLen Graham and Brian West
Building an AI-powered Restaurant Reservation System
Welcome to Bobbystable.ai – a functional demo of a restaurant reservation system using SignalWire's multi-factor authentication (MFA) API and an AI agent. This example will demonstrate how to optimize your reservation process using AI, creating a seamless experience for customers (and for you).
SignalWire AI Agent is a powerful tool that allows you to build and deploy your own digital employee. Powered by advanced natural language processing (NLP) capabilities, your AI voice agent will understand caller intent, retain context, and generally behave in a way that feels “human-like.”
You can create a no-code AI agent using our simple drag-and-drop interface. However, building this particular example for reservation management requires a significant amount of code and other tools to get started.
In this GitHub repository, you will find the full prompt powering the AI, along with all the functions written in Perl. In addition to what is included in this repository, you will also need a web server (like NGINX), a database (like PostgreSQL), SignalWire's MFA API, and an approved campaign for SMS.
To test out this live demo, call 1 (754) 43-BOBBY
Design and Security Highlights
At the heart of Bobbystable.ai is its website, serving as the display for reservation details. While it could be secured with a username and password, this demo was left open deliberately to showcase the bot's functionality. Users can input reservation details such as date, time, party size, guest name, and contact number.
Bobbystable.ai prioritizes user experience with its simple design, emphasizing clear steps for reservation management. The system incorporates verification steps to add an extra layer of security, while the footer provides additional contact information and links to partner services.
SMS Integration and SignalWire AI Agent
Beyond web interactions, Bobbystable.ai extends its reach through SMS, providing reservation details and a unique link for online updates. This integration showcases SignalWire's broader capabilities of contacting customers across multiple channels, combining an AI agent for voice with the convenience of SMS.
The confirmation message includes:
Reservation date and time
Instructions to update the reservation online with a unique link
The option to unsubscribe to comply with SMS regulations
Interactive features for customers
Bobbystable.ai provides a user-friendly reservation management process. Customers verify their reservation by entering their phone number, undergo a security check with SignalWire’s MFA API, and finally, they can update or cancel reservations.
The site's interactivity is powered by form inputs and links, allowing customers to easily update or cancel their reservations. Here's how it works:
Step 1: Verifying the Reservation
Customers begin by entering the phone number under which the reservation was made. This step is crucial for identifying the correct reservation to be updated.
Step 2: Security Verification
In the second step, customers are asked to input the verification code (powered by the SignalWire MFA API) sent to their phone. This level of security ensures that only the person who made the reservation can modify it.
Step 3: Updating Reservation Details
Finally, customers can update their reservation details, such as the name on the reservation, the number of people, or the date and time. They can also choose to cancel the reservation in this step.
The footer provides additional contact information and links to partner services like DineDash, MealZoom, and RapidFeast to enhance the user experience.
The website's design focuses on ease of use. The clear, step-by-step process for reservation management makes it straightforward for users to modify their plans. The use of forms and validation ensures that the information is accurate and secure.
The backend interface is gated by a username and password. You can access it to see the interactions between the AI agent and customers to make sure everything is functioning as intended.
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.