Published:
October 12, 2019
Category:
Design / Ideas
Client:
Oceanthemes

Project Overview

T

his product is a demand service marketplace that connects buyers, sellers & delivery agents on its platform

Scope & limitation

 

There are 3 Primary users of this Platform


  • Customers, or Buyers who will search and place an order for food.



  • Restaurant owners, or Sellers who are the service providers that
    prepare the food for sale.



  • Delivery agents, the service providers that provides delivery service
    of the food from the Restaurant to the customers.

The Solution we propose to design & develop will essentially
consist of a Buyer (customer) application in android and iOS. Seller
(Restaurant Owner) application in android and Delivery Agent
Application for Android.

The Delivery application will have a flip switch that will allow
delivery agent to be (1) independent delivery agents and (2) affiliated
only to specific Restaurant owners to perform the delivery to the
customers address.

There will be a Web Backend end with an admin dashboard for
the Admin and Sub – Admins (limited to a max of 3 for this scope) to
manage the application and its users.

Business Requirement Specification

Restaurant Owners

who wish to sell food. They will be given a capability to list their food item into the
catalogue which will be presented to the buyers. The menu items will be purged after
an expiry period that can last between 1 Hour to 12 Hours to maintain up to date
information on fresh selling items. The Sellers will manually select the Expiry time for
each Menu Item that they will add. Items that are not pre populated in the admin
approved list of menu items, a special request can be made to add any of the new
items in the existing list. Items listed will be maintained by the admins on quantity
basis. Each Restaurant store will display their accumulated ratings from users to aid
customers in buying decision. Restaurant owner can update the quantity or remove
the listing at any time of the day.

The customers

can browse through the catalogue and choose to buy food based on dietary preferences (veg/Non veg),
rating, price (low to high, high to low). A customer while ordering from a Restaurant will also be able
to choose one of the two order fulfilment options i.e picking it up from the Restaurant or having it
delivered by a delivery agent. The customers are also requested to provide ratings for the food items
in the menu, which will have an immediate impact on the overall rating of the Restaurant and the item’s
dynamic pricing (logic mentioned below in functional requirement section). Users are free to leave a rating
any point of time, but a gentle push notification is given 30 minutes post-delivery. The catalogue will be
populated based on proximity of the user location, i.e it will start from the nearest to the farthest Restaurant.
Max range is 10kms, hardcoded into the system as agreed upon.

The delivery

agents role is to pick up the food ordered by the buyer from the Restaurant and have it
delivered it to the buyer and get paid for the delivery. The max serviceable area for
delivery agents is dynamic, and can be controlled by the web admin. For now, it is
agreed upon as 10km.

The Admins

are in charge of super administering the entire system wherein they can moderate
Restaurant users, onboard them or purge them from the platform. They are also to set
base prices, price per km charges for delivery and description of food listings. Admin
will specifies food items into 4 categories – Breakfast,Lunch, Dinner and Snacks.

The sub

can do everything admin can do except see sales data & transaction history.

orders & deliveries

Customer → enters delivery location by moving the map marker or turns on GPS to obtain current location → system understands area serviceability based on customers preference of pickup or delivery →system shows all Restaurants within 10km of the selected delivery location → customer places order → picks up self or asks for delivery → order fulfilled
Selected Restaurant is marked as pick up point → system looks for delivery persons within 10kms of the pick up point
Users are made to wait (before final payment) as the system is awaiting delivery confirmation from Restaurant side or from nearby delivery partners. A preset time of 15 seconds is given to each delivery agent to either accept the delivery request or cancel before the system moves on to the next nearest delivery partner. In the case where there are no delivery agents available within a period of 1 minute, the user is notified about the same and is given option to proceed with pickup based order or exit the application.


Reports section

Reports section









  • Order history — order list, refund list









  • Today’s sales revenue and calendar-based revenue









  • User administration — buyers, sellers and delivery agents list (with ability to
    suspend & activate accounts), view Restaurant & delivery agent earnings









  • Payouts — how much to pay for each user (Restaurant or delivery agents) and refunds to be made









  • Total sales, Total refunds, Total commissions paid to Restaurants, total commissions paid to delivery agents









  • The platform will be charging 10% commission on all transactions

Customer Use Case

The Customer Signs into the mobile application. Existing Restaurant
Owner or Delivery Agent can use this application to operate according to their
requirement

  • If he has not registered earlier he can sign up on the platform by providing his Name, Phone, email and password.

  • An Otp verification will be done on his phone before he can start using the application.

  • An Otp verification will be done on his phone before he can start using the application.

  • The Customer just has to provide his phone number and password to login to the application.

  • Once Once he is inside the application the Customer enters the delivery location by
    moving the map marker or turns on GPS to obtain current location and the app shows all Restaurants within 10km of the selected delivery location.

  • Serviceable Areas will be identified as areas where delivery agents are available, or if Restaurant is available for delivery, if not they would be not
    serviceable by delivery.

  • Customer also has the option to browse category-based catalog of food items
    from Restaurants near the location.
    The Categories are – Breakfast, Lunch, Dinner and Snacks

  • Customer places order, he is restricted to ordering food items from a single Restaurant only, i.e he cannot mix and match food menu items from multiple
    Restaurants into a single order. And while checkout he can choose if he wants to pick up the order by himself or get the order delivered to him.

    If Customer chooses to pick up order by himself

  • Customer will choose the pickup option

  • Pay for the order

  • Customer gets Restaurant address which he can navigate using his google map application

  • Go to the Restaurant and pick up the order

  • The Restaurant owner will mark the order as complete

  • Customer will get a receipt acknowledgement confirmation

    Customer Use Case

    There are 2 cases involved here then

  • When Delivery personnel is Available

  • In this Scenario the Customer will get notified that the food will be delivered to him within an hour (hardcoded estimate) and he can then make the payment online to confirm the order for delivery

  • The Food gets delivered to the customer and the entire transaction is complete

  • Users may have to wait up to 1 min to get the delivery confirmation notification as the system is querying available deliver agents.

  • When Delivery personnel is not Available or if they don’t accept to deliver

  • In this scenario the customer will be notified that there are no delivery agents available.

  • The user then has the option to either pick up the order by himself or cancel the order process and go back to the home screen of the application

  • The customer can cancel the order until the point the food has not been dispatched from the Restaurant. once the food has been dispatched, he cannot cancel the order. On cancellation the customer will get his refund back. Refund
    is Handled by the Admin Manually

  • After 30 Minutes of pickup or delivery of the food item, the customer is gently notified to leave a rating for the food and if he has opted for the delivery – leave
    the rating for the delivery agent as well

    Customer Use Case

    The user can see his order status and history of orders

    • The rating system will be comprised of five stars popping up exactly thirty minutes after delivery. The rating system will affect the food prices directly and as follows:

      • 5* +1%

      • 4* +0.5%

      • 3* No change in rates

      • 2* -0.5%

      • 1* -1%

    • There will be available tick boxes for packaging quality, timely delivery and an extra space of 500 characters for writing complaints and suggestions.

    • The lower limit will be 50% of the Base price beyond which prices wont go down, there is no upper limit

    • Restaurant owners can give discount for specific items

    Restaurant Owner Use Case

    The Restaurant owner Signs into the Android Application. Existing Customer or Delivery Agent can use this application to operate according to their requirement

  • The Restaurant owner shows with the login/Register screen, Restaurant ownerselects the register screen.

  • The Restaurant owner enters the name, mobile number, email id, and Aadhaar number for verification.

  • The application authenticates the Aadhar number (check if its a valid aadhar number or not) Then the mobile number gets verified via OTP.

  • Upon successful verification on OTP, The Restaurant owner can login to the application using their mobile number and the password and it lands to theprofile setup screen of the Restaurant owner.

  • The Restaurant owner enters the Restaurant name, Restaurant image, geo location or address, phone number and clicks submit.

  • The Restaurant owner can set up his/her menu list on daily basis by selecting the food item given by the admin (The food item will be pre populated in the app by the admins).

  • The Restaurant owner can request an admin for a new menu item to be added on the application. The Restaurant owner will be setting up the quantity of each
    menu item what he planned and as well as mention the expiry period of the item which will vary from 1 Hour to 12 Hours. (This quantity count will be decreased
    based on the order received by the customer).

  • Menu quantity & menu item can be changed any time by the Restaurant owner.

  • The Restaurant owner will get an alert if he receives an order.

  • The received order list will have the order id, order date, order time, order name, mobile number of the customer, customer delivery address, pin location,
    ordered food items & a field which shows is the delivery requested by the customer or order will be picked by customer.

  • App will include commercial Restaurant listing as well where Everything will remain the same, only a tag of commercial Restaurant will be there on the Restaurant.

  • Restaurant Owners can also specify discount when they add item to their menu

  • Scenario 1:

    If delivery is requested by the customer

    Option 1:

  • If the Restaurant owner sets up the status that he is interested in taking up thedelivery.

  • Then the Restaurant owner should accept the delivery request in 15 sec else the delivery will pass on to the nearest deliver guy 1 (The delivery guy app should
    be in online mode) and he should accept the delivery request in 15 sec else it will pass on to the next nearest delivery guy 2. This happens for 1 min, if no
    delivery guys accepted the request then the application prompt a message to the customer saying sorry “delivery guys are not available you have to pick up
    the order or cancel the order”.

  • In the event where the Restaurant owner has accepted to deliver, he gets an OTP which he has to manually enter into his delivery agent application to process
    the order.

  • If the delivery guy accepts the pickup request then the application prompts a message to customer as “Your order got confirmed, please proceed to pay” and
    also the application prompts the message to the delivery guy “please await for payment confirmation”.

  • After the payment processed by the customer the system prompts the order confirmation message with OTP to the Restaurant owner and to the delivery guy
    the application prompts the message as payment confirmed please proceed to Restaurant to pick the order.

  • Once delivery guy reaches the Restaurant, the delivery guy will get the OTP from the Restaurant owner (This OTP will be generated after the payment status
    message marked successful from the backend) and after he enters the OTP manually in delivery guy app the order status gets updated to “order
    dispatched.” Then the delivery guy starts the ride to deliver the order at customer place.

  • Scenario 1:

    If delivery is requested by the customer

    Option 1:

  • If the Restaurant owner sets up the status that he is not interested in delivery then it directly goes to the nearest delivery guy and follow the option1 which I
    have mentioned on scenario 1.

  • Scenario 2:
  • If the Restaurant owner sets up the status that he is not interested in delivery then it directly goes to the nearest delivery guy and follow the option1 which I
    have mentioned on scenario 1.

  • Scenario 3:
  • If the customer has selected the option to pick up. Then the order will be processed by the Restaurant owner after the payment confirmation, once it is
    done, the Restaurant will update the order is ready for pick up, once customer picks up the order then the Restaurant owner update the status as completed
    and the customer will get an acknowledgement prompt saying that the order has been delivered.

  • The delivery agent application is standalone application to process all delivery request made by the customer.

  • Customers, Restaurant owners and Independent delivery agents can utilize the application to register and utilize the app for delivery

    Scenario 1 : Using the delivery Application as a Restaurant owner

  • The Restaurant owner can login/register to the application with the same login credential or use a separate credential as seen fit. Once he is inside the
    application he will have to select to be in “exclusive” mode. In this mode, he is not picked up by the system to send out delivery request from other
    Restaurants around him. Instead, he will be able to start a manual delivery as part of the inhouse team from the parent Restaurant.

  • As a Restaurant owner, if he has signed up for delivery the Restaurant owner will have to accept the delivery within 15 seconds

If Restaurant Owner has accepted the order within 15 seconds

  • He will have to enter the unique id generated in the Restaurantapplication into the delivery application prior to dispatch

  • Once he has done that, the order status changes from “processing” to “left for delivery”

  • Once the Restaurant delivery agent reaches the customers place he will mark the delivery as complete and close the transaction

  • Customer will get an order delivered acknowledgement

  • If the Restaurant Owner has rejected the order or fails to accept within
    15 second timeout

  • The System will find the next available nearest delivery agent to ask for confirmation, this process will keep continuing until 1 min has passed or
    a Delivery agent accept

  • Scenario 2 : Using the application as an independent Delivery Agent
    (someone who chooses to accept delivery request from all
    Restaurants in his area)
  • If the delivery agent has not registered into the application before he would have to register it by providing his name, email , phone number , password and
    aadhaar number.

  • Phone number and Aadhaar verification will be done for the delivery agent Delivery agent can login and use the application by using his phone and
    password

  • Once into the application the delivery agent has the option of accepting deliveries or be in the mode of not accepting deliveries

  • Delivery agent will be notified with all incoming order request for delivery if he is in the mode of accepting deliveries – which shows he is available in the
    system.

  • The Delivery agent has 2 options available either to accept the order or reject the order

  • If a delivery agent accepts the order

    • He will have to wait for a notification stating that the customer has paid for the transaction and that he can go and pick up the food item

    • He will have to go to the Restaurant

    • Receive the unique id from the Restaurant owner and enter it into theapplication

    • Once it has been done the order status changes from “processing” to “left for delivery”

    • Once the delivery agent reaches the customers place, he will mark the delivery as complete and close the transaction

    • System keeps on finding the next delivery agent

    • If no agents are available and if 1 minute has passed, the customer gets a notification to either pick up the order or cancel the order.

  • If a order is cancelled by the customer for some reason prior to the dispatch of food from the Restaurant the delivery agent is notified and he does not have to
    complete the journey

    Deliverables
  • Web admin panel

  • Android & iOS app for end users (customers/buyers)

  • Android app for Restaurant owners (sellers) agents

  • Android app for delivery agents

  • All the above-mentioned deliverables source code will also be provided

    OS Specification
  • Server: VPS or dedicated server – AWS or Digital Ocean is a preferred server. We
    recommend a server with at least 2GB RAM or more, 1vCPU Transfer: 2TB & with
    at least 20 GB SSD hard disk for storage space.

  • Software: PHP,DB -Mongo Native Android & Native IOS

Subscribe to our newsletter