On-Demand Product Deliver App

Overview

Bedaati is an e-commerce application which facilitates online marketplace for different companies, institutions, and freelance drivers to sell different products and provide home delivery to the customers. An app allows customers to track a live location of the driver in real-time to check the delivery status of the particular product. With Bedaati partner app, a driver can accept maximum 10 orders at a time to deliver product in a particular area. Once customer place order to any driver, he receives the request and he can accept or reject the order in one minute. Once a driver accepts the request, he can start delivery anytime throughout the day. The best part of this app is, customers can refer other users and earn first delivery free of charge. Bedaati is the unique concept to create an online marketplace and provide faster services to the customers and the best platform for drivers who can get extra money with this app.

prouct delivery app

Client Requirements

A client wanted to make an online marketplace in Saudi Arabia where people can buy products from anywhere and get the order delivered to their doorstep. Another important purpose of a client was to allow experienced drivers to work with Bedaati as a freelance driver to deliver their own products which will eventually create new opportunities for free drivers to earn extra money. To fulfill this requirement client approached Hyperlink InfoSystem to build an app for both Android and iOS platforms. Hyperlink InfoSystem has developed "Bedaati" app which allows customers to buy goods from anywhere without facing any difficulties.

Features

Bedaati – For Customers

Login / Sign up

  • Sign up with basic details like name, email, password and phone number verification.
  • Users can login with Facebook, Google or email and password.

Map View

  • Users can view nearby drivers of company, institution or freelance drivers and browse products offered by drivers in Map view.

Search

  • Users can easily search with different criteria like partner name, product name or the products with the lowest price.

My Orders

  • Users check the whole details of current orders, its status, and history of previous orders.
  • If a user wants to cancel a particular order then simply swipe that order and cancel it with the reason.
  • Users can easily read details of orders like the current location of a driver in a map, product details, price, service price and total price.

Communication

  • Users can call or text message to the particular driver and check receipt of the order.

Promotions

  • Users can get the listing of different promotions by Bedaati for some discounts on the order.

Companies/Institutions

  • Users can view a listing of all the nearby drivers of particular companies/institutions.

Freelance Drivers

  • Get listing of all the nearby freelance drivers and users can be checked from a menu with the availability status of the driver.

Referral Code

  • When you refer friends to install an application by using your referral code, after that you and your friend both get first order delivery free of service charge.

Favorites

  • Users can get a listing of all favorite drivers.

Partnership

  • If any particular business wants to connect with the Bedaati partner application then they can request for the same.

Cart

  • Users can get listing of all the products in the cart with separate cart for each driver.

Settings

  • Users can update profile, change a password and change the language of the application from settings.

Notification

Users will notify in following scenarios,

  • When users order delivery started
  • When user cancel any order
  • When order delivered by a driver
  • Any new Announcement from Bedaati app
  • When users favorite driver will enter users' nearby area.

Language

  • Users can change langagues in English or Arabic language.

Rate & Review

  • Users can rate and review to a driver and give feedback after the delivery is completed.

Save Places

  • Users can save home address and workplaces in the profile to place an order quickly without entering delivery address every time.

Payment

  • Users can select delivery address and apply promo code for a discount. After applied promo code, users can check price details and select payment mode to book order.

Receipt

  • After get product delivered, users will get a receipt of order where they can have all details of the order including order number, driver name, date, address, inventory, payment mode, service price and the total price are displayed in the receipt.

online shopBedaati Partner – For Drivers

Login / Sign up

  • Sign up with basic details like name, email, and password.
  • Drivers need to enter vehicle details and upload relevant documents of the vehicle.
  • Drivers can log in with Facebook, Google or email and password after being approved by the admin.

New Request

  • Drivers can accept or reject the request within one minute of the order placed by a customer. Drivers can see map location to deliver that order, name and average rating of the customer.

Set Availability

  • Drivers can change the availability status through a toggle button.

Map

  • In a map, drivers can see their current location with other details like a profile picture, vehicle details, and today’s orders count.

My List

  • Drivers can view a listing of the products being delivered by the driver and other details like description, price, image, product type and a number of available quantity.

Edit Product for Deliver

  • Drivers can edit the details like description, price, image, product type and a number of available quantity or delete the product from the list which they don't want to deliver.

Orders

  • Drivers can get listing of current orders and history of previous orders.
  • Drivers can get a summary of the total products with price and service price.
    If driver not able to deliver any particular product then he can swipe the order to cancel with the reason.

My Customers

  • Drivers can get a list of all the customers who have added the driver to their favorite list.

Settings

  • Drivers can update profile, change a password and change the language of the application from settings and also update a number of minimum products to deliver to any customer.

Share

  • Drivers can share the link of application with friends to become a partner in Bedaati application and start earning.

Notifications

Drivers will be notified by following scenarios

  • When driver star delivery
  • When driver canceled any order
  • When driver delivered any order
  • Any new message from Bedaati admin

online shopAdmin Panel

Super Admin

Dashboard

  • Number of total partners, total companies, total institutions, map, current orders, canceled orders, completed orders, payment settlement.

Customer Management

  • View All customers with basic details
  • Add, update and delete customers
  • Active/Inactive customer status

Partner Management

  • View List of partners with basic details
  • Add, update and delete new partner
  • Active/Inactive partner status
  • Admin can filter partner listing by freelancer, company, and Institution.

Company Management

  • Admin can add and update any company
  • Active/Inactive companies' availability status
  • View companies' partner details

Institution Management

  • Admin can add and update any Institution
  • Active/Inactive Institutions' availability status
  • View Institutions' partner details

Booking Management

  • Admin can view a list of bookings with customer name, partner name, order date, total price, Bedaati share, partner share, order status and order summary.
  • Admin can filter booking details by pending, accepted, started, arrived, completed, canceled and reject.

Promo Codes

  • Admin can view the list of promo codes with details like owner name, owner type, promo code, discount %, start date, end date, title and description, and operation.
  • Admin can also add new Promo Codes.

Settings

  • Admin can update Bedaati service charge, and Bedaati share Percentage.

Payment Settlement

  • List of payment settlements with details like partner id, name, payment date, actual amount, discount, total amount, total services price, bedaati share, partner share, and status of a settlement.
  • Every week, admin can change settlement and give remarks.

Reject Reasons

  • Admin can add, update and delete reject reasons which show in an app.

Change Language

  • Admin can change language English to Arabic for whole admin panel.

Bedaati Company Panel

Partner Management

  • Add and update Partner of its company
  • View All details of Partner
  • Active/Inactive Partner
  • Approved & Reject Partner request

Product Management

  • Add, update and delete new product
  • View all details of products
  • Active/Inactive product details

Change Language

  • Bedaati company Admin can change language English to Arabic for whole admin panel.

Bedaati Institute Panel

Partner Management

  • Add and update Partner of its Institute
  • View All details of Partner
  • Active/Inactive Partner
  • Approved & Reject Partner request

Partner Management

  • Add and update Partner of its Institute
  • View All details of Partner
  • Active/Inactive Partner
  • Approved & Reject Partner request

Product Management

  • Add, update and delete new product
  • View all details of products
  • Active/Inactive product details

Change Language

  • Bedaati Institute Admin can change language English to Arabic for whole admin panel.

Challenges

Real-time Navigation Path

As per an app scenario, when the driver starts delivery of the order, the map shows the path between the driver’s current location and the delivery location of the order. It is necessary to update the path as the driver moves on the road. When the driver moves out of the path then it should update the path with a new route to the delivery location. To manage this all, it was a little bit tough for our developers. But after some deep research, this crucial task was achieved by using custom path drawer class.

Real-time Location of Drivers on Map

In Bedaati app, a customer should show the nearby drivers with real-time location tracking as the driver moves on the road. This functionality requires frequent updates of the location of the driver. To implement this feature was little bit challenging task for our developers. After research and hard work, our developers have resolved this issue by using custom location manager class to update current location on a small amount of time interval.

Nearby Driver Notifications

An app shows a notification to the customer when any favorite driver of the customer enters in the area of the customer’s current location. This functionality requires geofencing detection capabilities. The main challenge was when the driver once enters in the customer’s area then it should notify the customer once until he goes out of an area and again enters in the area. Our Developers achieved this challenges by implementing a custom algorithm on the server side to avoid duplicate notifications.

Technologies

Android

Android OS Support:
Android 4.4 to Android 8.0

Development:
Java using Android Studio 3.0

Android Supported Devices:
480x800, 720x1280, 1080x1920, 1440x2560

iOS

iOS OS Support:
iOS 8.0 to 10.0

Development:
Objective-C using Xcode

iOS Supported Devices:
5, 5S, 6, 6S, 6 Plus, 6 Plus S, 7, 7 Plus

Admin Panel

Technology: PHP, CodeIgniter Framework

Database: MySQL

API: REST API in JSON format

Browser/Device Compatibility:
Mozilla Firefox: Min 40.0 to Max 53.0 version
Google Chrome: Min 44.0 to Max 58.0 version
Internet Explorer: Min 10.0 to Max 11.0 version
Apple Safari: Min 8.0 to Max 10.0 version

Call Us Now

usa +1 309 791 4105 india +91 8000 161 161
OR
+