Skip to main content

Introduction

Overview

Thank you for your interest in StackFood.

StackFood is a complete Multi Restaurant food delivery system developed using Laravel (v10) and Flutter Framework. Laravel ( PHP Framework for Web Artisans) is a web application framework with an expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small things. Flutter framework created by Google is open-source mobile application development. It is used to develop applications for Android and iOS, as well as being the primary method of creating applications.

StackFood comprises of 3 Mobile Applications, 2 Web Panel, 1 website, 1 landing page and 1 web-app(React) –

  • Customer application for Android, iOS and web developed using Flutter.
  • Delivery Boy application for Android developed using Flutter
  • Restaurant application for both Android and iOS developed using Flutter.
  • Super Admin web panel developed using Laravel (admin can provide role base access).
  • Restaurant web panel developed using Laravel (owner can provide role base access).
  • Landing page developed using Laravel blade.
  • Web app build with React and Next.js
info

The delivery boy app is developed using flutter so it will run both in Android and iOS but as the delivery boy app fully depends on location we suggest don’t use it for iOS. This documentation covers mostly all the aspects of setting up Multi Restaurant Food Delivery Application - StackFood. For any queries pre-sales or tech support, please open a ticket at https://support.6amtech.com/

The Happy Flow

In this section we are going to understand how the full system works. This system fully depends on operation zone. So first of all you need to create operation zone. You can create multiple zone based on your business. You can turn off/on your business operation for a specific zone anytime. Restaurants and delivery boys will operate their operations under a specific operation zone. A restaurant or delivery boy can’t operate their operations in multiple zone. In customer app customers first need to select their delivery address and based on the delivery address latitude and longitude system select the operation zone and customer can see all the restaurants, offers, campaigns etc. of that specific zone. If the delivery address not inside any operation zone, then customer will see service not available in this area that means they can’t place order for that delivery address.

Order Flow

  • The customer places order from a restaurant (can’t place order from multiple restaurant at a time)
  • The delivery boys get that order in the order request section and accept it for delivery.
  • After delivery man confirmation the restaurant owner get the order on their dashboard and start cooking and handover the food to delivery boy.
  • If the order is digitally paid the order will directly go into confirmed status and restaurant get the order on their dashboard (will not depend on delivery boy’s confirmation).
  • The Delivery Guy accepts the order, confirm the order (if COD), picks-up the order and delivers the order to the Customer.
  • If self-pickup order, restaurant will manage all the steps. For schedule order, all the operations will start before 15 minutes of schedule delivery time.

Dispatch Flow

  • Delivery boys can see his/her nearest orders and accept it for delivery.
  • Admin can see currently available delivery boys with location view for a specific zone and can manually assign an order to a delivery boy.

Transaction Flow

In this section we are going to understand how system calculate the admin commission, seller earning and delivery boy earning.

  • Food value = Original food price - (Food discount + Coupon discount for food)
  • Order value = (Food value + Tax/Vat (on food value) + Delivery Charge) – Coupon discount for deliver charge
  • For Self Pickup order: Order Value = Food Value + Tax/Vat (on food value)
  • Customer can’t apply more than one coupon for an order.
info

Currently system calculate the admin commission and restaurant earning on Food Value. That is why admin need to deal the Food discount and Coupon discount for food with restaurant manually.

Admin Commission

  • Admin can setup default commission for entire system.
  • There is another option for individual restaurant commission. If admin want, can enable the individual commission for a specific restaurant otherwise the default commission rate will be applicable for each restaurant.
  • Admin get commission on Food Value

Restaurant Earning

  • After providing the admin commission, the rest amount of “Food value” will add in restaurant earning.
  • The Tax/Vat is totally restaurant’s earning and restaurant need to manage this Tax/Vat for govt. manually.

Delivery Boy Earning

There are two types of delivery boy. One is salaried and another option is freelancing based. We don’t calculate earning for salaried delivery boy. The below calculation is only for freelancing based delivery boys.

  • Actually we store two delivery fees in database. One is actual delivery cost and another one is customer paid delivery fee. Because there is option for free delivery, coupon for free delivery fee etc. So the earning for a delivery man is the actual delivery cost that is calculated based on distance. If the restaurant is not a free delivery restaurant and there is no coupon for free delivery, then the actual delivery cost and customer paid delivery fee will be same.
  • The Delivery charge is totally Admin’s earning.
  • Admin responsible for Coupon discount for deliver charge.

Cash Flow

  • For digital transaction, the Order Amount will be added in Admin Wallet
  • For Cash on Delivery, the Order Amount will be added in delivery boys Cash in Hand wallet.
  • For the self-pickup but not digitally paid the Order Amount will be added in the restaurant’s collected cash wallet.