Q’BA, Restaurant, New Delhi
One fine day, we had a meeting with Mr. Rohan Joshi, the founder & CEO of the fine dining restaurant named - Q’BA in Connaught Place, New Delhi.
It is a restaurant with an artfully composed dining experience with innovation at every turn.
They currently serve Italian, Continental, Pizza, and Mughlai cuisines and are continuously involved in making the user experience better and coming up with new and innovative ideas for their ambiance, service, staff, and of course, the Food. They believe in continuous innovation which is aligned with continuous improvement and excel at change.
They have a plan to further expand across the country targeting the metro cities followed by Jaipur, Jodhpur, Udaipur, and Agra by 2034.
Content
Requirement
from the Customer's Perspective:
I have the vision to digitalize the overall day-to-day tasks of my restaurant to minimize the scope of human error and in the end, provide smooth service and an overall experience worth remembering to my guests. I anticipate that this will also help me when I start executing the plan to expand across the country.
At the current stage, It was finalized by the Product Management team to share the release plan for the next 10 to 12 months.
How are we going to plan the release of different features?
What is part of MVP
How are features prioritized?
Developing EPICs and User Stories
so that the business can start getting value as soon as it is live.
Vision
To digitalize the overall day-to-day tasks of the restaurant to minimize the scope of human error and in the end provide smooth service and an overall experience worth remembering for the guests.
User Persona
For the sake of this case study, two personas are considered
Restaurant Manager
Restaurant Customer
Goal
The proposed solution:
Develop an Integrated Restaurant Management System as a Web and Mobile application to enhance the customer experience and optimize operational efficiency leading to an increase in profitability with MVP launch in 3 months.
Feature Categorization & Research
The feature or the value which we intend to bring to the application is broadly categorized into three categories
Customer Experience
Operations
Admin & HR
Customer Experience
To create interactive digital menus that showcase offerings and provide customers with additional information, such as ingredients, nutritional facts, and visual representations of dishes.
A digital menu with selection and direct order placement helps in reducing errors in the kitchen as well as faster order placement.
Table reservation systems for Pre-booking of seats with the type of ambiance (romantic, party, etc) and designed to offer personalized recommendations to customers based on their preferences, dietary restrictions, or even mood.
The use of QR codes allows restaurant owners to streamline the ordering process, reduce physical contact, and save on printing costs for menus.
Loyalty and Feedback Systems: The application collects customer feedback, offers rewards, and promotes return visits.
Development of loyalty programs by analyzing the data collected from the customer's preferences where the application can create tailored offers and incentives, such as personalized discounts or menu suggestions.
Interactive Ingredient Selection: Diners can customize their meals by selecting ingredients and previewing dish presentations before placing their order.
Nutritional Insights: Customers can access detailed nutritional information by interacting with individual menu items.
Visual Storytelling of the digital menu where Vibrant images and videos of dishes are displayed alongside descriptions, allowing customers to visualize the dining experience.
Thematic Immersion: AR and VR can transport diners to different environments or tell engaging stories that enhance the theme and concept of the restaurant.
A timer is set to showcase the probable time left to reach the table.
Enabling easier checkout processes with mobile wallet technology I.e. the integration of QR codes for payment processing.
Enhance payment method by pre-setup of payment method as payment processed with a single click.
Using voice or chatbots to quickly respond to customers’ concerns to maximize efficiency.
Unifying Digital Ordering Platforms where restaurant to manage their delivery orders from various partners easily using a single dashboard. Further restaurants can manage in-dining as well as delivery orders all from a single screen streamlining the order acceptance process.
Development of menus in multiple languages for catering to a larger number of potential customers.
CRM or customer relationship management systems to track customer preferences, targeted ads, and loyalty program implementation.
Future Focus
An AI-powered conversational interface can be integrated into websites, social media platforms, and mobile apps to automate customer service tasks such as answering frequently asked questions, taking reservations, and processing orders.
Predictive analytics tools with AI implementation to predict customer demand and optimize menu offerings around the year.
Predictive analytics tools with AI implementation to analyze customers’ preferences for targeted marketing campaigns.
Augmented Reality (AR): Interactive digital overlays on menus allow customers to visualize and gamify dining experiences before ordering or offering.
Operations
Check the availability of servers and assign customer tables to them in real-time by the floor manager so that work is equally divided.
Timer set feature accessible to Server to get the food from kitchen on time and serve hot freshly cooked food to the customer.
Digital kitchen displays in the kitchen to cook food in order and serve at the right time.
Appliances or smart appliances integrated with the application to be remotely controlled and monitored, providing restaurant owners with increased efficiency and convenience.
Energy Monitoring: Through real-time data collection, restaurant owners can monitor their energy usage and identify inefficiencies or wasteful practices.
Predictive Maintenance: By analyzing the data collected, the application can predict when equipment is likely to need maintenance or repair, helping to reduce downtime and costs.
Development of an inventory management system to track available stock with functionalities to order ingredients and look at the status of the order placed with the vendor.
Purchasing system to keep track of orders and portal for vendors to view and update invoices and track payments.
Automated purchasing: By linking the purchasing system to the inventory management module, When an item is running low, the relevant supplier gets an automatic notice for supply.
Integration of point-of-sale (POS) systems with the application to provide real-time reports to document sales, process payments, and offer customer insights.
Future Focus
Advanced inventory management software, coupled with AI-driven demand forecasting, enables restaurants to track and optimize their food orders and supplies more effectively while reducing waste.
HR and Admin
The application enables restaurant owners to provide comprehensive training modules such as online training courses and videos, making it easier for employees to learn at their own pace.
Hiring software tools integration to make recruitment easier by including an applicant tracking system and a smart screening feature so that you select only from the best pool of applicants.
The application has scheduling systems to report and ensure the right number of staff members present at peak times.
The application allows restaurant owners to Monitor employee performance
The application allows restaurant owners to track the time and attendance of the staff
The application allows restaurant owners to generate detailed reports for payroll and compliance purposes
Future Focus
Predictive analytics tools with AI implementation to Identify peak hours to efficiently schedule staff.
Virtual Reality (VR): Immersive training modules for staff.
Preliminary Prioritization
Using MOSCOW Method
Must Have
Should Have
Could Have (or Nice to Haves)
Wish / Will not have
All the above-stated use cases or values proposed are further prioritized based on the MOSCOW method.
Must Have
Customer Experience
To create interactive digital menus that showcase offerings and provide customers with additional information, such as ingredients, nutritional facts, and visual representations of dishes.
A digital menu with selection and direct order placement helps in reducing errors in the kitchen as well as faster order placement.
Table reservation systems for Pre-booking of seats with the type of ambiance (romantic, party, etc.) and designed to offer personalized recommendations to customers based on their preferences, dietary restrictions, or even mood.
Loyalty and Feedback Systems: The application collects customer feedback, offers rewards, and promotes return visits.
A timer is set to showcase the probable time left to reach the table.
Enabling easier checkout processes with mobile wallet technology I.e. the integration of QR codes for payment processing.
Unifying Digital Ordering Platforms where restaurant to manage their delivery orders from various partners easily using a single dashboard. Further restaurants can manage in-dining as well as delivery orders all from a single screen streamlining the order acceptance process.
CRM or customer relationship management systems to track customer preferences, targeted ads, and loyalty program implementation.
Operations
Check the availability of servers and assign customer tables to them in real-time by the floor manager so that work is equally divided.
Timer set feature accessible to Server to get the food from kitchen on time and serve hot freshly cooked food to the customer.
Digital kitchen displays in the kitchen to cook food in order and serve it at the right time.
Development of an inventory management system to track available stock with functionalities to order ingredients and look at the status of the order placed with the vendor.
Purchasing system to keep track of orders and portal for vendors to view and update invoices and track payments.
Integration of point-of-sale (POS) systems with the application to provide real-time reports to document sales, process payments, and offer customer insights.
HR and Admin
The application allows restaurant owners to Monitor employee performance.
The application allows restaurant owners to Track the time and attendance of the staff.
The application allows restaurant owners to Generate detailed reports for payroll and compliance purposes.
Should Have
Customer Experience
The use of QR codes allows restaurant owners to streamline the ordering process, reduce physical contact, and save on printing costs for menus.
Development of loyalty programs by analyzing the data collected from the customer's preferences where the application can create tailored offers and incentives, such as personalized discounts or menu suggestions.
Enhance payment method by pre-setup of payment method as payment processed with a single click
Development of menus in multiple languages for catering to a larger number of potential customers.
Operations
Automated purchasing: By linking the purchasing system to the inventory management module, When an item is running low, the relevant supplier gets an automatic notice for supply.
HR & Admin
The application has scheduling systems to report and ensure the right number of staff members present at peak times.
The application enables restaurant owners to provide comprehensive training modules such as online training courses and videos, making it easier for employees to learn at their own pace.
Could Have
Customer Experience
Interactive Ingredient Selection: Diners can customize their meals by selecting ingredients and previewing dish presentations before placing their order.
Nutritional Insights: Customers can access detailed nutritional information by interacting with individual menu items.
Using voice or chatbots to quickly respond to customers’ concerns to maximize efficiency.
Predictive analytics tools with AI implementation to predict customer demand and optimize menu offerings around the year.
Operations
Energy Monitoring: Through real-time data collection, restaurant owners can monitor their energy usage and identify inefficiencies or wasteful practices.
Predictive Maintenance: By analyzing the data collected, the application can predict when equipment is likely to need maintenance or repair, helping to reduce downtime and costs.
HR and Admin
Hiring software tools integration to make recruitment easier by including an applicant tracking system and a smart screening feature so that you select only from the best pool of applicants.
Predictive analytics tools with AI implementation to Identify peak hours to efficiently schedule staff.
Wish / Will not have
Customer Experience
Visual Storytelling of the digital menu where Vibrant images and videos of dishes are displayed alongside descriptions, allowing customers to visualize the dining experience.
Thematic Immersion: AR and VR can transport diners to different environments or tell engaging stories that enhance the theme and concept of the restaurant.
These AI-powered conversational interfaces can be integrated into websites, social media platforms, and mobile apps to automate customer service tasks such as answering frequently asked questions, taking reservations, and processing orders.
Predictive analytics tools with AI implementation to analyze customers’ preferences for targeted marketing campaigns
Operations
Appliances or smart appliances integrated with the application to be remotely controlled and monitored, providing restaurant owners with increased efficiency and convenience.
Advanced inventory management software, coupled with AI-driven demand forecasting, enables restaurants to track and optimize their food orders and supplies more effectively while reducing waste.
HR and Admin
Virtual Reality (VR): Immersive training modules for staff.
Feature List
Post-MOSCOW method prioritization only "must have" been considered for the application development in the current roadmap.
The list of features is as stated below;
Category: Customer Experience
Features
Interactive Digital Menu
In-App order
Table Reservation system
Loyalty and Feedback program
Kitchen to Table Timer
Payment Portal
Online Ordering portal
Guest Database and CRM
Category: Operations
Features
Table Management
Digital Kitchen Display
Inventory Management Systems
Finance Management Systems
POS Integration
Category: Administrative
Features
Employee Performance Management
Attendance Tracking System
Restaurant Analytics
Feature Prioritization
Feature prioritization is analyzed via the business value vs effort matrix, to develop the roadmap for further product development.
It has been finalized to develop 4 features per quarter.
Product Roadmap
Based on the above analysis, a product roadmap for development and delivery is developed to provide the desired business value to the client ASAP.
Feature Mockups
Pen and paper are used to design the initial mockup of the application to visualize the feature in the application for further clarity. For the sake of the case study only "Table Reservation Feature" is considered.
Wireframes
Further low fidelity wireframe is developed for the same feature for feature design finalization
User Stories
The low or high-fidelity wireframes are further developed into final UI designs by the product designer. But for the sake of the case study, I will write a few user stories based on the above wireframes.
USER STORY 1
Title: RMS Application Table Reservation ScreenÂ
As a logged-in user, I want to access the table reservation details screen on the RMS app so that I can feed in basic details for table reservations.Â
Description:Â
The page-to-table reservation details on the app need to be developed as part of this story.Â
Once registered, the user should be able to log in and provide basic details required for table reservations in the restaurant.Â
The UI should be as per the attached Figma designs. Screenshots are also attached for reference.Â
Acceptance Criteria:Â
The UI of the "Table Reservation Details" page should be as per the screenshot attached.Â
The Figma link for reference is <https://figma.com/blabla>.Â
Following is the information of each field to be displayed:Â
Reservation Details Radio ButtonÂ
Title Header: Reservation DetailsÂ
HTML Type: Radio ButtonÂ
Values: Self, OtherÂ
By default select the option: "Self"Â
Validation: At least one of the valid options should be selectedÂ
Name
HTML Type: Text BoxÂ
Default Behavior: The name of the Logged user is displayed & editableÂ
Number of Guests
HTML Type: DropdownÂ
Possible Values: 1,2,34,5,6,7,8,9,10Â
By default select option: "1"Â
Validation: At least one of the valid options should be selectedÂ
Date & TimeÂ
HTML Type: Date & Time PickerÂ
By default select the option: "Current Date and Time"Â
Validation: The date and time selected are equal to or ahead of the current date and time.Â
Phone number
HTML Type: Text BoxÂ
Validation: This should be a valid telephone number format.
Cancel Button
HTML Type:Â Cancel button
Reset the current page and redirect to the home screenÂ
Book Button
HTML Type: Book buttonÂ
On clicking the "Book" button the following actions need to be performed:Â
Above mentioned validations should be performed.Â
Any validation failure should be highlighted in red under the specific field that violates validation.Â
User reservation details are created in the database if all the validations are passed.Â
After successfully registration, the user should be redirected to the "Select a Table" page.Â
API endpoint to be used to save the user data is:Â
API endpoint: https://rms.com/user1/tableReservationDetailsÂ
HTTP Method: POSTÂ
Reference Link:  
USER STORY 2
Title: RMS Application Table Selection ScreenÂ
As a logged-in user, I want to access the table selection screen on the RMS app so that I can choose the table of my choice in the restaurant based on availability.
Description
The page to "Select a Table" on the app needs to be developed as part of this story.
Once reservation details are fed, the user should be able to select the required table of his/her choice.
UI should be as per the attached Figma designs. Screenshots are also attached for reference.
Acceptance Criteria
The UI of the "Select a Table" page should be as per the screenshot attached.
The Figma link for reference is <https:// link to be provided>.
Following is the information of each field to be displayed:
Book a Table
Title Header: Book a Table
HTML Type: Radio Button
Values: Self, Other
By default select the option: "Self"
Validation: At least one of the valid options
Hall Selection Button
HTML Type: Multi Button Selection
Values: First Hall, Second Hall, Terrace
By default select the option: "First Hall"
Validation: At least one of the halls should be selected
Table Layout
HTML Type: Image Selector
Possible Values: Table 1, Table 2, Table 3, ...
By default selected option: Randomly select a table based on the number of guests.
Validation: At least one of the tables should be selected - The table layout changes based on the selected hall. - The tables that are not available or already booked should be disabled and greyed out for selection. - The selected table should be orange in color. - The available table should be green in color. (Please refer to UI designs for reference.)
Table Status Color Code
HTML Type: Color Box with default text
Values: Green Box - "Free", Orange Box - "Selected", Grey Box - "Booked"
Cancel Button: reset the current page and redirect to the home screen.
Confirm Button:
HTML Type: Confirm button
On clicking the "Confirm" button the following actions need to be performed:
The above-mentioned validations should be performed.
Any validation failure should be highlighted in red under the specific field that violates validation.
User table selection details are created in the database if all the validations are passed.
After successfully table selection, the user should be redirected to the "Review" page.
Arrow Button: At the top left corner of the page, a back arrow button is placed. On clicking it, the page redirects to the previous page.
User Name: The user name is displayed on the right side of the arrow button as per the design.
Reservation Details: Below the user name, reservation details are displayed as
# People, Date (DD.MM.YYYY), Time (24 Hour) (e.g. 3 People, 03.03.2023, 18:00)
The format of the details is as per the given example.
API endpoint to be used to save the user data is:
API endpoint: https://rms.com/user1/tableReservationDetails
HTTP Method: POST
API endpoint to be used to show available tables in the respective hall.
API endpoint: https://rms.com/CurrentTableAvailableStatus
HTTP Method: GET
Reference Link
Swagger Documentation for API: <http://swaggerLink.com/tableReservationDetails>
Swagger Documentation for API: <http://swaggerLink.com/CurrentTableAvailableStatus>
USER STORY 3
Title: RMS Application Table Reservation Review Screen
As a logged-in user, I want to review my table reservation before confirmation on the RMS app so that I can cross-check my selection for any discrepancies.
Description:
The page to "Review" table reservation on the app needs to be developed as part of this story.
Post reservation details and table selection, the user should be able to review his/her entire reservation details before final confirmation.
UI should be as per the attached Figma designs. Screenshots are also attached for reference.
Acceptance Criteria:
The UI of the "Select a Table" page should be as per the screenshot attached.
The Figma link for reference is: <https:// link to be provided>.
Following is the information of each field to be displayed:
Details Box
No of People (# People)
Date (DD.MM.YYYY)
Time (24 Hr)
Table Selected (Table #)
Special Requests
HTML Type: Text Area
The user can type here his/her requests, if any.
Validation: Non Mandatory
Promo Code:
HTML Type: Text Box
Possible Values: ABC234, BHD32, ...
The user can input any available promo code.
Validation: Non Mandatory
Cancel Button: reset the current page and redirect to the home screen.
Confirm & Book Button
HTML Type: "Confirm & Book" button
On clicking the "Confirm & Book" button the following actions need to be performed
User reservation details are updated in the database.
The user should be redirected to the "Booking" page.
Arrow Button: At the top left corner of the page, a back arrow button is placed. On clicking it, the page redirects to the previous page.
User Name: The user name is displayed on the right side of the arrow button as per the design.
The API endpoint to be used to save the user data is:
API endpoint: https://rms.com/user1/tableReservationDetails
HTTP Method: PUT
API endpoint to be used to get the reservation details entered on the previous page
API endpoint: https://rms.com/user1/tableReservationDetails
HTTP Method: GET
Reference Link:
Swagger Documentation for API: <http://swaggerLink.com/tableReservationDetails>
USER STORY 4
Title: RMS Application Booking Screen
As a logged-in user, I want to access and view my reservation booking on the RMS app so that I can review my upcoming and previous bookings.
Description:
The page for "Bookings" on the app needs to be developed as part of this story.
The user should be able to access and view his/her upcoming and previous bookings with options to edit the upcoming bookings.
UI should be as per the attached Figma designs. Screenshots are also attached for reference.
Acceptance Criteria:
The UI of the "Select a Table" page should be as per the screenshot attached.
The Figma link for reference is: <https:// link to be provided>.
Following is the information of each field to be displayed:
Bookings
Title Header: Bookings
Booking Review Buttons
HTML Type: Multi Button Selection
Values: Upcoming & History
By default select the option: "Upcoming"
Validation: At least one of the buttons should be selected
In the upcoming tab - Show all the forthcoming bookings after the current date.
In the history tab - Show all the past bookings before the current date.
Reservation Details Box
Right Detail Box:
Displays the booked table (Image with a number) with the selected hall below it as per the design.
The reservation details are presented one after the other based on the latest dates.
Left Detail Box
Contains the following reservation details data
No of People (# People)
Date (DD.MM.YYYY)
Time (24 Hr)
Cancel Button: To cancel the selected booking
Edit Button:
HTML Type: Edit button
Clicking the edit button redirects the page to the "Reservation Details" page with prefilled data as per the current booking edited.
API endpoint to be used to get the reservation details for the bookings
API endpoint: https://rms.com/user1/tableReservationDetails
HTTP Method: GET
Reference Link:
Swagger Documentation for API: <http://swaggerLink.com/tableReservationDetails>
USER STORY API (Sample)
Title: RMS Application currentTableAvailableStatus API Implementation
As a system user, I want an API to get the list of booked and available tables for the table reservation so that I can show the currently available status of the table to the user for booking.
Description:
The currentTableAvailableStatus API is needed to serve the "Select a Table" Page in the RMS App. It should be configurable to get the current state of the available table for booking.
By default, it should show the status of all the tables available in the restaurant.
Acceptance Criteria:
API URI: {base url}/currentTableAvailableStatus
HTTP Method: GET
Path Parameters: currentTableAvailableStatus
Query Parameters
perPage: All the records are to be returned in one request.
Type: Integer (number)
Possible values: 1 to 1000
Response Body
 Response Code: 200 - Success
{
 "apiInfo": {
 "version": "1.0",
 "timestamp": 1666858424429
},
 "message": "Success",
 "notices": [
  {
    "tableNumber": 1,
    "tableName": "Blueberry",
"tableStatus": "Booked"
"userId" : "abc2345"
   "bookedDate": "20/11/2022",
    "bookedTime": "01:00 AM"
  },
    {
    "tableNumber": 3,
    "tableName": "Jasmine",
"tableStatus": "Available"
"userId" :
   "bookedDate":
    "bookedTime":
  },
  {...}
 ]
}
Validation
Response Code: 400
{
"apiInfo": {
"version": "1.0",
"timestamp": 1666854309026
},
"message": "Bad Request Body",
"description": "Invalid request body",
"errors": [{}]
}
Response Code: 403
{
 "message": "Forbidden"
}
Performance Requirement: The API should respond in < 2 secs
Swagger Documentation:
Swagger Documentation for API: <http://swaggerLink.com/tableReservationDetails>
Product Metrics
Depending on the product outcomes, the product metrics may shift or change. Here are some suggestions that we can track;
Business Performance Metrics
Monthly Recurring Revenue (MRR)
Customer Lifetime Value (CLV)
Customer Acquisition Cost (CAC)
User base growth (%)
Monthly new users (%)
Avg. Revenue per User (ARPU)
Annual Recurring Revenue (ARR)
Product Performance Metrics
Daily Active User (DAU)
Session Duration
Time to Onboard
Churn
Retention
Customer Satisfaction Score (CSAT)
Net Promoter Score (NPS)
App Store Ratings
Product Development Performance Metrics
Velocity
Release Time
Escaped Defects due to requirements
Story Bugs
*Miro & Moqups tools are used.
The END.
Comments