hyperlink infosystem
Get A Free Quote

On-Demand Product Deliver App

Overview

Bedaati is an e-commerce application that facilitates an online marketplace for different companies, institutions, and freelance drivers to sell various products and provide home delivery to customers. An app allows customers to track the driver's live location in real-time to check a particular product's delivery status. With the Bedaati partner app, a driver can accept maximum of ten orders at a time to deliver the product in a specific area. Once the customer places an order to any driver, he receives the request and can accept or reject the order in one minute. Once a driver takes the request, he can start delivery anytime throughout the day. The best part of this app is that customers can refer to other users and earn the first delivery. Bedaati is a 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

Our 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 essential purpose of a client was to allow experienced drivers to work with Bedaati as freelance drivers to provide their own products, creating 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 the "Bedaati" app, allowing customers to buy goods from anywhere without facing any difficulties.

Features

online shopBedaati – For Customers

Login/Sign up

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

Map View

  • Users can view nearby drivers of the 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 lowest price.

My Orders

  • Users check the complete details of current orders, its status, and the 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 a driver's current location 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 a listing of all the nearby freelance drivers, and users can be checked from a menu with the driver's availability status.

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, they can request the same.

Cart

  • Users can get a listing of all the products in the cart with a 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 the following scenarios,

  • When users order delivery started
  • When user cancels any order
  • When order delivered by a driver
  • Any new Announcement from the Bedaati app
  • When user's 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 addresses and workplaces in the profile to place an order quickly without entering the delivery address every time.

Payment

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

Receipt

  • After getting the product delivered, users will get a receipt of the order where they can have all the order details, including the 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 necessary 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 an average rating of the customer.

Set Availability

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

Map

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

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 several available quantities.

Edit Product for Deliver

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

Orders

  • Drivers can get a listing of current orders and history of previous orders.
  • Drivers can get a summary of the total products with price and service prices.
    If the driver cannot deliver any particular product, 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 profiles, change a password, change the application's language from settings, and update several minimum products to deliver to any customer.

Share

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

Notifications

The following scenarios will notify drivers.

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

online shopAdmin Panel

Super Admin

Dashboard

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

Customer Management

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

Partner Management

  • View List of partners with necessary 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 the Bedaati service charge, and Bedaati shares 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 settlement status.
  • Every week, the 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 the 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 the 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 the 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 order's delivery location. It is necessary to update the track as the driver moves on the road. When the driver moves out of the path, it should update the way with a new route to the delivery location. To manage this all, it was a little bit tough for our developers. But after some in-depth research, this crucial task was achieved by using a custom path drawer class.

Real-time Location of Drivers on Map

In the Bedaati app, a customer should show the nearby drivers real-time location tracking as they move on the road. This functionality requires frequent updates of the location of the driver. Implementing this feature was a little bit challenging task for our developers. After research and hard work, our developers have resolved this issue by using a custom location manager class to update the 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 the customer’s current location. This functionality requires geofencing detection capabilities. The main challenge was when the driver once enters the customer’s site; then, it should notify the customer once until he goes out of a place and again enters the area. Our Developers achieved these 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

whatsapp