You are on page 1of 32

Proposal for Food Ordering and Delivery

Platform (Android, iOS and Web)


Date: 10 June, 2020
TABLE OF CONTENTS

1. Company Information 4
2. About Project 4
3. Scope 4
4. System Users 5
5. Mobile Application for Customers 6
5.1. Sign up/Login in 6
5.2. Restaurant Listing Default 6
5.3. Restaurant Search 7
5.4. Sort Results 7
5.5. Filters Results 8
5.6. Restaurant Detail Page 8
5.7. Item Detail Page 8
5.8. User Reviews 9
5.9. Order Summary/Cart 9
5.10. Payment Page 10
5.11. Order Confirmation/Tracking Page 10
5.12. Order History 10
5.13. Settings 10
6. Mobile Application for Drivers 11
6.1. Register 11
6.2. New Requests 11
6.3. Active Orders 11
7. Important Workflows – Customer Mobile App 12
7.1. Overall 12
7.2. Get Delivery Location 13
7.3. Add/Select Items 14
7.4. Get Delivery Address 15
7.5. Online Payment 16
8. Important Alerts 17
9. Restaurant Admin Panel 18
9.1. Sign Up/Login 18
9.2. Set-up Restaurant 18
9.3. Set-up Delivery Area and Charges 19
9.4. Set-up Delivery Time Slots 20
9.5. Add Menu Items 21
9.6. Flat Rate Discount 22
9.7. Manage Orders 22
9.8. Accounts 23
9.9. Dashboard 23
10. Back-end/Admin Panel 23
10.1. Manage Customer Accounts 24
10.2. Manage Sub-Admin Accounts 24
10.3. Manage Restaurants 24
10.4. Category/Sub-category Management 25
10.5. Manage Orders 25
10.6. Manage Commission Rates 25
10.7. Manage & Publish Ads 26
10.8. Accounts 26
10.9. Dashboard 26
11. Other Features 26
12. Technology Stack 27
12.1. Mobile App 27
12.2. Front and Back End for Web Applications 27
12.3. Database 28
13. Project Cost and Payment Terms 28
14. Delivery Time 29
15. Third Party Services – To be purchased by Client 29
15.1. Hosting 29
15.2. App Store Account 29
15.3. Play Store Account 29
15.4. Email Services APIs 29
16. Warranty and Support Levels 29
17. QA/Testing 29
17.1. Types of Testing 30
18. Communication 30
19. Project Tracking & Management 31
1. Company Information

2. About Project
The goal of this project is to develop a food ordering & delivery platform similar to swiggy/zomato, where
different restaurants can list their menu items. Customers will use mobile apps to order food from these
restaurants. With the help of GPS, nearby restaurants will be listed according to delivery areas defined by
restaurant. Restaurants will manage the food orders and delivery will be managed by the admin and system
will charge certain commission amount of each order placed through platform.
The purpose of this document is to cover the following items –
● Scope of the project
● Delivery Time
● Cost of Development
● Payment Terms

3. Scope
The scope of the project is to develop design and develop following two components with the
features/functions listed in next section.
● Logo Design and UI Design
● Mobile Application for Customers (Android/iOS)
● Mobile Application for Drivers
● Web Based Admin Panel for Restaurant Owners to manage their food delivery operations
● Web Based Admin Panel for Master Admin to control entire platform
This would include –
⮚ SRS – Detailed document to capture all business and functional requirements
⮚ UI Design and Logo Design
⮚ Development
⮚ QA
⮚ Deployment
⮚ Post Delivery Support

4. System Users
This platform will have five types of users –
● Customer – User who will use mobile apps to order food
● Driver – Who will deliver the food from Restaurant to Customer
● Restaurant Admin – User who will list their restaurants on platform to manage food ordering
operations
● Super Admin – User who will manage the platform and have all the access rights
● Sub-admin – User who will manage the platform but will have limited access rights as given by Super
Admin
5. Mobile Application for Customers
Users will have access/be able to perform following features while using Mobile Applications –

5.1. Sign up/Login in


● Sign up
⮚ By email or by social media accounts (Facebook, google+)
⮚ Password selection during the sign up by email
⮚ Account verification: via OTP/Email
● Sign in
⮚ By email or social media accounts
⮚ Forgot password
⮚ Reset account password by clicking the link sent to customer’s email
● Skip
⮚ User may view the application content (restaurants, menu, etc.) without logging-in, but need to
log-in in order to place the order

5.2. Restaurant Listing Default


● By default, system will display list of restaurants which are delivering to his location. User’s location
will be accessed by phone’s GPS.
● User will be able to change delivery location and list of restaurants will be updated according to
delivery location entered by user.
● Previously used locations will be listed by default when user will change the location and user will be
able to type in the location. System will display auto-suggest options.
● Following details will be displayed for each restaurant listed on this page –
⮚ Restaurant’s name
⮚ Cuisine type
⮚ Operation Timings – entered by Restaurant
⮚ Distance – from current location
⮚ Delivery: Delivery minimum, Delivery Fee, Delivery time
⮚ Pickup: time required to be ready for pickup, walking distance (in minutes)
⮚ Discount Type
▪ Flat rate 10%
▪ Boosted rate - Certain portion of the total service rate they pay to us will be
reflected to the customer as the discount on the first order, and the discount will
increase by 2.5% on each next order up to 5 orders in total. Cycle will reset on every
5 orders
⮚ Rating
⮚ Price dollar logo - $, $$, $$$ etc.

5.3. Restaurant Search


● User will be able to search restaurant using text box, where search will be done on the basis of –
⮚ Restaurant Name
⮚ Dish/Cuisine Type
● User will be able to use quick filters to refine the results. These filters will include –
⮚ Flat Rate Discount
⮚ Boost Cycle Discount

5.4. Sort Results


● User will be able to sort restaurant listing on the basis of following parameters
⮚ Rating
⮚ Distance
⮚ Estimated Delivery Time
⮚ Minimum Order Amount
⮚ Discount
⮚ Price
⮚ Delivery Fee

5.5. Filters Results


● User will be able to filter results on the basis of following parameters
⮚ Flat Rate or Boost Cycle
⮚ Pick-up or Delivery
⮚ Cuisine Type
⮚ Rating (1 to 5)
⮚ Price ($, $$, $$$, $$$$, $$$$$)
⮚ Delivery time (30min or less, 45 min or less, 60min or less, any)
⮚ Discount (more than 5%, more than 10%, more than 15%, more than 20%, more than 25%)
⮚ Free delivery (show the number)
⮚ Delivery fee
⮚ Open now (show the number)
● There will be an option to clear the filters

5.6. Restaurant Detail Page


● Each Restaurant will have its own detail page where following information will be displayed –
⮚ Picture uploaded by the restaurant (food, restaurant scene, etc.)
⮚ Name of the Restaurant
⮚ Address of the restaurant
⮚ Phone # of the restaurant
⮚ Rating
⮚ Delivery info: delivery minimum, delivery fee, delivery time
⮚ Link to reviews page
⮚ Previously Ordered – Items ordered by user from same restaurant before
⮚ Most Ordered – Items mostly ordered by users from selected restaurant
⮚ Menu Items in form of Categories and Sub-categories which will be manageable from Admin
Panel.
⮚ Price of the listed items
⮚ Option to add it to basket/cart along with quantity

5.7. Item Detail Page


● Each menu item, when clicked will display a detail page/pop-up with details such as –
⮚ Name of the item
⮚ Image of the item
⮚ Price of the item
⮚ Required and Optional additional/complementary items Add Extra Cheese
⮚ Portion Size options
⮚ Instruction regarding the item box
⮚ “Add to cart” button (after clicking this button direct the customer to the restaurant page to
add more items)

5.8. User Reviews


● Users will be able to review/rate orders on the basis of different parameters such as
⮚ Order Quality
⮚ Delivery Time
⮚ Packaging
⮚ Price
● User will be also able to post comments
● Reviews will be displayed with details such as
⮚ Customer’s name
⮚ Customer’s rating (displayed with starts)
⮚ Date of the review
⮚ Review statement
⮚ Items customer ordered for the review
● After an order is delivered, user will be notified/asked to submit Rating

5.9. Order Summary/Cart


● User will be able to see details of the order after items are added to cart/basket. These details would
include
⮚ Name of the restaurant
⮚ Items ordered
▪ Name
▪ Price
⮚ Order Subtotal
⮚ Discount
⮚ Subtotal after the discount
⮚ Sales tax
⮚ Delivery type - Delivery ASAP and give the customer the option to choose fast delivery Order
total
● User will be able to Add More Items by clicking on button
● User will be able to change quantity of the items
● User will be able to remove One or All items

5.10. Payment Page


● User will be redirected to Payment Page once user will submit the order
● User will be able to select the payment options like – Credit Card, Debit Card, etc.
● Once Payment is done, user will be redirected to Order Conformation page
5.11. Order Confirmation/Tracking Page
● On this page, user will information about received order, which will include –
⮚ Order Confirmation Message once accepted
⮚ Expected Delivery
⮚ Order Status as changed by Restaurant – Different Labels for Pick and Delivery cases

5.12. Order History


● User will be able to see order history with details such as –
⮚ Image of the restaurant
⮚ Name of the restaurant
⮚ Delivery time & date
⮚ Items ordered
● User will be able to repeat the same order completely
● User will be able to add selected items to cart from cart

5.13. Settings
● User will be able to see and edit following data
⮚ Name
⮚ Email address
⮚ Password (hidden)
⮚ Saved Addresses
● Change Password
● Order History
● Notifications
● Support
⮚ Contact us (via email or phone)
⮚ Customer feedback about us
⮚ Company info
⮚ FAQ
6. Mobile Application for Drivers
6.1. Register
● Driver’s account will be set-up by super admin panel
● Driver will get access details to login to app

6.2. New Requests


● Driver will be assigned new jobs and he will be able to see all the details such as
⮚ Order Details
⮚ Customer Details
⮚ Restaurant Details
● Once any request is made it will be sent to all drivers available within that radius of that restaurant.
Drivers can either accept it/reject it.
● The driver who accepts the request first will be assigned to the request.
● At a time, the drive can accept only one request.

6.3. Active Orders


● User will be able to see list of all orders and their details
● User will be able to mark the order complete after it is completed
7. Important Workflows – Customer Mobile App
7.1. Overall
7.2. Get Delivery Location
7.3. Add/Select Items
7.4. Get Delivery Address
7.5. Online Payment
8. Important Alerts
These are some important alerts which system will generate on different occasions. More required ones will
be added during development process.

Sr. No. Where Alert Type To whom


On Registration SMS and Email and Push App User
1.
notification
On Order Accept SMS, Push notification App User
2.
Forgot Password SMS OR Email App User
3.
After password change Email App User
4.
On order placed Push Notification App User and Restaurant
5.
owner/admin
On order Cancel Push Notification App User
6.
New Coupon code Push Notification, email App User
7.
On order Dispatched Push Notification App User
8.
On order Delivered Push Notification, email (Invoice) App User
9.
On online payment SMS, Email App User
10.
9. Restaurant Admin Panel
On customer web application, there will be a link to Register as Restaurant, and it will have a separate
landing page with some information and link to sign-up page

9.1. Sign Up/Login


● User will be able to sign-up by completing a form. Account details will be submitted for Admin’s
Approval before it gets activated
● Sign up
⮚ By email
⮚ Password selection during the sign up by email
⮚ Account verification: via email
● Sign in
⮚ By email
● Forgot Password
⮚ Reset account password by clicking the link sent to restaurant’s email
● Following details will be required for sign-up
⮚ Name
⮚ Address
⮚ Phone number
⮚ Email address

9.2. Set-up Restaurant


● User will be able to set up one restaurant only.
● In order to set-up restaurant, following details will be required –
⮚ Image of the restaurant
⮚ Name of the restaurant
⮚ Restaurant’s web address
⮚ Category (cuisine types)
⮚ Address
⮚ Phone number
⮚ email address
⮚ Personal contact info
▪ name
▪ phone number
▪ email address
▪ title (owner, manager, etc.)

9.3. Set-up Delivery Area and Charges


● For each restaurant, user will be able to define the delivery area using a map as shown below.
User will be able to define the boundaries on map. Customers will be only able to request
delivery from the defined area.

● User will be able to set delivery charges on the basis of following rules
⮚ Free Miles Range – if Restaurant delivers for free up to certain miles
⮚ Price Per Mile after free delivery range
⮚ Order Amount After Delivery is Free
⮚ Define delivery fee according to miles
▪ within 0.5 mile
▪ within 1 mile
▪ within 1.5 miles
▪ within 2 miles
● User will be able to update these settings
9.4. Set-up Delivery Time Slots
● User will be able to set-up Delivery Time slots for each day separately

● User will be able to set estimated Delivery Time


● User will be able to set-up Close Days using a calendar
9.5. Add Menu Items
● User will be able to add menu items with details such as –

● User will be able to add Add-on Options to items –

● User will be able to define sizes of the portions that customers can choose from
9.6. Flat Rate Discount
● User will be able to create offers which will give flat rate discounts

9.7. Manage Orders

● User will be able to see order details


⮚ customer name
⮚ customer address
⮚ items ordered
⮚ total price (details – price of each item, delivery fee, tax, etc.)
⮚ payment type (online)
● User will be able to change the order status
⮚ Active
⮚ In Preparation
⮚ Dispatched
⮚ Delivered
● User will be able to filter the data on the basis of
⮚ Default - Today
⮚ Date Range
⮚ Week
⮚ Month

9.8. Accounts
● Payment between Restaurant and Company will be split on the basis of Commission Rate set from
admin panel
● User will be able to see the total payment received against each order, along with link to order
details
● User will be able to search/sort and filter the data.

9.9. Dashboard
● User will be able to see details/important stats such as
⮚ Number of Total Orders – Filter by dates
⮚ Total Customers
⮚ Items Mostly Ordered
⮚ Duration of the Day when most orders are placed – like 12:00-3:00 etc.

10. Back-end/Admin Panel


User will be able to control the platform with the help of following features
10.1. Manage Customer Accounts
● User will be able to view details of all the customers registered on platform
⮚ Name
⮚ Email Address
⮚ Location (saved addresses)
⮚ Phone Number
● User will be able to Enable/Disable user accounts from admin panel
● User will be able to search/sort user accounts

10.2. Manage Sub-Admin Accounts


● User will be able to create Sub-admin accounts who will help the Admin to manage the platform
● Sub-admin accounts can be created by specifying details such as –
⮚ Name
⮚ Email
⮚ Phone Number
⮚ Password
● User will be able to assign different permissions for a particular admin account by assigning a role
● User will be able to configure a role by Enabling/Disabling different type of access permission
⮚ User Add/Edit/Delete
⮚ Manage Restaurants
⮚ Manage Menu Categories/Sub-categories
⮚ Manage Offers
⮚ Manage Orders
⮚ Accounts

10.3. Manage Restaurants


● User will be able to see new Restaurant Account requests and will be able to Accept/Reject.
● User will be able to view details of all the restaurants, which will include –
⮚ Name
⮚ Location/Address
⮚ Service Hours
⮚ Delivery Areas
⮚ Delivery Fee/Charges
⮚ Menu Items
⮚ Order History
● User will be able to search and sort data
● User will be able to block/disable Restaurant

10.4. Category/Sub-category Management


● User will be able to manage Master Data of Categories and Sub-categories which will be available to
Restaurants to create menu
● User will be able to see requests of New Categories and Sub-categories requested to be added by
Restaurant Admins.

10.5. Manage Orders


● User will be able to see order details for all restaurants currently active
● For each order, user will be able to see details such as
⮚ customer name
⮚ customer address
⮚ items ordered
⮚ total price (details – price of each item, delivery fee, tax, etc.)
⮚ payment type (online only)
● User will be able to change the order status
⮚ Active
⮚ In Preparation
⮚ Dispatched
⮚ Delivered
● User will be able to filter the data on the basis of
⮚ Default - Today
⮚ Date Range
⮚ Week
⮚ Month

10.6. Manage Commission Rates


● User will be able to manage commission rate which will be deducted from each order as site’s
commission
● User will be able to define this in form of %age

10.7. Manage & Publish Ads


● User will be able to add ads on the platform.
● User will be able to set the period of the ad and anytime can add/edit/remove the ad.
● For each ad user will charge a specific amount form the restaurant. The restaurant will pay the
amount for the ad out of the system.

10.8. Accounts
● Payment between Restaurant and Company will be based on the basis of Commission Rate set from
admin panel and will be managed out of the system after one month.
● User will be able to see the total payment received against each order, along with link to order
details
● User will be able to search/sort and filter the data on the basis of selected
⮚ Restaurant
⮚ Dates
⮚ Location/State

10.9. Dashboard
● User will be able to see some key stats on dashboard, with an option to filter data on basis of dates
⮚ Total Orders – New, In Process, Delivered
⮚ Total Restaurants
⮚ Total Users
⮚ Total Sales
⮚ Commission Earned
⮚ New Restaurant Account Requests

11. Other Features


Below are some important features of solution - System will have other features such as –
● Email Alerts – System will generate email alerts on certain actions. These actions will be discussed
later
● Push Notifications – Admin user will be able to send push notifications to all the users
12. Technology Stack
12.1. Mobile App
● Android (Java) and IOS (Objective C/Swift)

12.2. Front and Back End for Web Applications


● This will be applicable for web applications

● HTML 5, JavaScript with CakePHP

12.3. Database

13. Project Cost and Payment Terms


● 20% of total cost as upfront amount.
● 20% On completion of Wireframes, UI designs and SRS (detailed specification doc)
● 20% On First Milestone Completion
● 20% On Second Milestone Completion
● 15% On Third Milestone Completion
● 5% (when all development is complete and solution ready to go live) to be paid before we deploy
code on client server)
Each milestone will have deliverables associated with it. The deliverables will be planned by Project
Management team and shared with you after we will sign the contract. Both teams (client and us) will review
and agree on the deliverables before we start development.

14. Delivery Time

15. Third Party Services – To be purchased by Client


15.1. Hosting
We suggest AWS. We will configure the server and deploy the solution. Client will have to
pay for the hosting.

15.2. App Store Account


In order to list app on apple store, an Annual Fee needs to be paid to Apple, which is USD 99 .

15.3. Play Store Account


Google charge USD 25 one time to list app on Play Store

15.4. Email Services APIs


The SES API priced at $0 for the first 62,000 emails send each month, and $0.10 for every
1,000 emails send after that - https://aws.amazon.com/ses/pricing/

16. Warranty and Support Levels


We will provide 3 Months of free warranty to fix any bugs and issues in the app due to the code written by
us as part of the project scope, after the successful delivery of the project.

17. QA/Testing
The test processes follows clearly defined strategy, test scenarios, and a systematic methodology
empowered to generate the best possible result. Our test development team involves QA consulting experts
to tap resources, define possible and latent issues, and analyses the test process. We design and execute the
test process that addresses the following questions.
● What will be tested and why – master test plan (and test plans) informed by input from the test
policy and test strategy
● How it will be tested – test specification, test design, and test development
● When it will be tested – test scheduling
● Who it will be tested by – test execution
● What it has discovered – test recording, test scenario analysis
● When it will finish – checking for test completion
● How it will achieve test target – QA Consulting

Inception Designing Execution Maintenance

17.1. Types of Testing


● Before delivery the application will be tested for following compliancy –
⮚ Functionality testing: Functional testing for ensures that the web application is working as
per the requirements.
⮚ UI testing: Cross browser testing and Responsiveness Testing
⮚ System testing: The objective of System Testing is to identify defects that will only surface
when a complete system is assembled.
⮚ Regression: This is done for every new build which allow us compare two builds and make
sure previous test cases pass in new build

18. Communication
Throughout the development cycle of the project, Project Management Team will be in communication
through following means:
● Email
● WhatsApp
● Skype
● Phone
● Active Collab – Our Project Management System

19. Project Tracking & Management


Apart from the “Project Manager” who manages execution, delivery and progress of projects, one “Project
Coordinator” will be assigned specifically who will be the single point of contact for the client. He, along
with Project Manager” will be acting as a bridge between the client and technical team.
To keenly observe the progress of the project and to channelize the communication path with the project
team on out project management tool. For the same we need some particulars from client side. On the
other hand, the team would be sending you all the updates here itself once the project execution phase is
initiated.
● Communication: After the project is finalized, the client is introduced to the assigned project
manager and project coordinator. Project coordinator carries out all project related
communications. This includes work planning, development and design tracking, and feedback
management. All correspondence is carried out by emails, instant messengers and telephonic
conversations.
● Reporting and Status Update: The entire project is split into deliverables and the assigned
coordinator explains the clients how the development is going to be carried out. He also ensures
what the client receives regular updates and when also reminds and discusses feedbacks. This allows
transparency in project tracking and the clients have a clear vision of the whole project at every
stage of development.
● Feedback and Change Management: All changes and feedbacks are maintained in our customized
change management system, which enables to determine the nature of the change and how it
relates to the scope of the project. All changes are clearly discussed and manipulated, thus enabling
the client to have a clear understanding of the project tenure and cost.
● Risk Analysis: Every development process is subjected to risks in terms of development and
understanding. Our expertise in risk analysis and mitigation enables us to evade the vicissitudes and
ensure in-time delivery.
● Knowledge Transfer: This includes knowledge sharing and document transfers like project
specifications, development schedule etc.
-------------------------------------------------------------End of Document------------------------------------------------------------

You might also like