IVR Tutorial 2: Create a meeting room reservation system

This tutorial shows how to create a simple but non trivial IVR application using Voicent IVR Studio. It is recommended but not required that readers first finish the basic IVR Studio Tutorial.

The sample IVR application is a room reservation system that people can call in to make or cancel a room reservation. The usage of the system is described below:

To reserve a room, a user enters the room number and the meeting time. If the time slot is available, the room is reserved for this caller; otherwise the desired room and time are saved, indicating the caller is interested in the time slot. Once a room is reserved, a confirmation email will be sent automatically.

To cancel an existing reservation, the system will prompt the user with existing reservations and ask the user to press a key to cancel or check the next one. If cancel is selected, the system remove the reservation from the system.

If the room later becomes available due to cancellation, the system will check is any user maybe interested in the newly available time slot. If it does find one, the system automatically calls the user, indicating that the room is available for the specified time slot.

This application will utilize a database to keep room and user information. It is assumed that readers are familiar with relational databases, such as MySQL.

Steps to Create This IVR App

  • The database: The basic database schema for the room reservation systems
  • Authenticate user by caller ID: The system presents different menus based on caller ID
  • Collect information: The system collects room number and meeting time entered by a caller through touch tone key
  • Make a reservation: The system makes the reservation and sends a confirmation email when successful
  • Loop through reservations: The system presents go through reservations one-by-one and asks the caller whether to cancel it
  • Cancel a reservation: The system deletes the reservation and calls one user that maybe interested in the available time slots
  • Transfer a call: transfer call to help desk agent or leave a voice message

Advanced Topics

  • Improve Performance: Understanding sessions and deployment environment
  • How to Debug: Tips for debugging

The Top Level Call Flow

The finished call flow of this application is shown below: