IVR Room Reservation Sample

After you modify and save the runvcast.bat file under folder "C:\Call List", you can test both the inbound IVR application and outbound IVR application.

Test the Program

A typical session:

  • Caller: Call In
  • IVR: Answer The Call
  • IVR: "Welcome to room reservation. Please press one to make a new reservation; press 2 to cancel a reservation. "
  • Caller: 1
  • IVR: "Please enter a 3 digit room number"
  • Caller: 234
  • IVR: "Please enter the meeting date. The date format should be 4 digits number representing the year, followed by a 2 digit number for month, and followed by a 2 digit number for day."
  • Caller: 20550101
  • IVR: "Please enter the meeting start time. Enter 2 digit for the hour followed by a 2 digit number for the minute"
  • Caller: 1030
  • IVR: " Please enter the total meeting minutes followed by the pound key"
  • Caller: 45
  • IVR: " The room is reserved. "
  • IVR: disconnect call

What's behind the scenes

Some of steps are skipped as they have already been covered.:

  • Caller: Call In
  • IVR: Answer The Call
  • IVR: "Welcome to room reservation."
    The Welcome element is activated. It's Database Operation action is activated. The SQL Statement is executed. It will query the database with the current caller ID. If it does not exist in the database, the IVR will send them to a NotAuthorized element. If the database returns something, the IVR will continue.
  • IVR: "Please press one to make a new reservation; press 2 to cancel a reservation. "
  • ...
  • ...
  • IVR: "Please enter the total meeting minutes followed by the pound key"
  • Caller: 45

  • DoReserve element is activated. After storing the __VG__LAST_RESULT__ variable in theDuration, RoomReservation.java is called. The IVR application passes the collected data(room #, time, duration) to the function doReserve in RoomReservation.java. If the room is available, the java program will save the information in the database.
    After, the application calls doReserve.status. This will return 'reserved' or 'waiting'. We save this to the variable theStatus. If theStatus is 'waiting' or nothing, the application will return to the MainMenu. If it is 'reserved', IVR will continue.

  • IVR: "The room is reserved."

  • IVR will execute the Send Email action and the caller will receive a confirmation email with the room #, time, duration, etc.
  • IVR: Disconnect Call

The Application

The final package (same as the one from the beginning of the lesson): Room Reservation Sample