On-demand Taxi Booking App
Overview
Gone are the days where people used to wait for buses and parking. Whether you will attend a wedding or prepare yourself for the meeting, there is an app for every occasion. This taxi app is one of the best on-demand taxi apps that help you avail fast and comfortable rides within minutes. It won't take much time to avail of your first ride with a smooth signup process and uncluttered UI. If you're lucky enough, you can get a free or discounted ride using a referral code. Now, book your first ride using this app in a few simple steps: Set your pickup and drop-off location, select car type from available options, and you will get ride confirmation within a few seconds. Once your trip ends, you will get a payment invoice and pay the fare by cash. After the ride, you can also share your ride experience by giving reviews and ratings to drivers. Want to plan a trip to a different province? You can choose an intercity ride and book a cab. Need a taxi to attend the meeting tomorrow? You can select "Ride Later" and book a cab in advance. The app also allows you to track driver location, get fare estimation, and track ride history most conveniently. So download the app now and experience your first ride today.
Client Requirement
Our client from Iraq approached Hyperlink InfoSystem to develop an on-demand taxi booking app that allows people to make comfortable rides within a few simple clicks. The client's main aim is to introduce the intercity ride concept where people can travel into different provinces while enjoying the best transportation in a cost-effective amount. The app is developed on Android and iOS platforms and designed for the people of Iraq.
Features
TaxiApp – App for Rider
1. Signup/ Login:
Signup with basic details.
After signup, a six-digit pin is sent to the rider's mobile through SMS. The rider can log in to the app using a pin and password.
2. Get Ride:
To avail of the ride, riders need to select a pickup and drop-off location and ride type. Afterward, the ride request is sent to multiple drivers. After accepting the ride request, a rider is popped up with fare estimation and estimated time to reach the destination.
3. Ride Later:
To organize future rides, you can choose the "ride later" option. All you need to do is just select pickup and drop-off location, and the preferred date and time and your ride are scheduled. In case of any adversity, riders can even cancel the ride.
4. Intercity Ride:
We introduce "Intercity ride" where riders need to select pickup and drop off locations and their preferred date and time for people who plan to travel across different provinces. Once the ride is confirmed, riders will be notified.
5. Message & Call:
Riders can communicate with the driver using the application inbuilt messaging and call system.
6. Payment:
After completion of the ride, riders will get a payment invoice and pay the fare by cash.
7. Invoice:
Once the trip is over, riders are notified with a ride invoice to check their ride details. The ride invoice includes:
Pick-Up And Drop-Off Location
Time
Distance
Driver Name
Car Type
Fare Amount
8. Track Driver's Location:
After confirmation of the ride, the app allows riders to track driver's location.
9. Rating & Reviews:
After completing the ride, riders can share their overall experience by giving rates and reviews to drivers.
10. Profile:
Riders can view and edit their profile.
11. Notifications:
Riders are notified in the below scenario:
When drivers accept/decline ride request
During driver arrival
During start and end of ride
12. Referral Code:
During ride booking, riders can avail free or discounted ride by using a referral code.
13. Access Map:
In order to access map for navigation, Google Maps API is integrated.
14. Ride History:
It shows the list of completed, canceled, and pending rides. Selecting a particular ride Id will redirect users to the ride detail page.
TaxiApp – App for Driver:
1. Signup & Login:
Signup with basic details
Login with username and password
2. Add Documents:
To avail service as a cab driver, they need to attach below documents:
Driving License
Vehicle Registration Card
Vehicle Inspection Report
Police Report
Owner Id/Photo
3. Availability Status:
To change the availability status, the driver can toggle between two: Online/Offline
4. Notifications:
Drivers are notified in below scenario:
New ride request
When riders cancel the ride
Ride payment
5. Ride Invoice:
After completion of the ride, drivers are paid a ride fare amount by cash. They receive ride invoice which includes:
Pickup And Drop-Off Location
Time And Distance
Riders Name And Car Type
Ride Fare
6. Ratings & Reviews:
After completion of the ride, drivers can share their ride experience through ratings and reviews.
7. Profile:
Drivers can view and edit their profile.
8. Ride History:
Drivers can view their completed, canceled, and pending ride history.
9. Access Map:
Integration of Google Maps to navigate from pickup to drop-off location.
Admin Panel:
1. Staff Management:
View, add, edit, and delete staff list
Active/Inactive staff
2. Rider Management:
View, edit, and delete rider details
Active/Inactive rider
Search rider
View rider's location in map
3. Driver Management:
View and add driver details
Active/Inactive driver status
Filter drivers by country, province, city, and car type
Search Drivers
Export driver details to excel
View driver's location in map
4. Car Type Management:
View, add, update, and delete car type details
Filter car type by country, province, and city
Search car type
5. Car Type Intercity:
View, add, update, and delete car type intercity
Filter car type by country and province
Search car type intercity
6. Country Management:
Add, update, and delete country details
Active/Inactive country details
Search country
7. Province Management:
Add, update, and delete province details
Active/Inactive province status
Filter province name by country
8. City Management:
Add, update, and delete city details
Active/Inactive city details
Filter city by province and country name
Search City
9. Promocode Management:
Add, update, and delete promocode
Search promocode
Active/Inactive promocode
10. Reason Management:
Add, update, and delete reason details
Search reason list
11. Note Management:
Update note details
12. Ride Management:
View and delete waiting, assigned, arrived, processing, completed, canceled, rejected, and missed rides.
Filter ride with options like now, later, province, city, and order date.
13. Rating and Review Management:
View, update, and delete driver and riders ratings.
14. Report Management:
Filter and export reports to Excel and PDF by below options:
Trip ID
Driver Name
Car Type
Payment method
Rider Name
Intercity car type
City name
Ride type
15. Banner Management:
Update and delete banner details
16. Driver Settlement Management:
It shows a list of paid and pending driver settlement.
Download PDF of paid and pending driver settlement.
Filter driver settlement by driver name.
17. Setting Management:
Admin manage settings of below things:
Driver settlement limit amount
Payment ratio
Payment settlement days
Maximum distance
Website Features:
The website for the taxi booking service is informative. It contains the below-mentioned features:
Driver Login
Home Page
Allows riders to enter pickup and drop-off location to calculate the estimated fare.
Navigation links in header section
Contact details in footer section
Challenges
1. Draw Polyline Path:
After selecting pickup and drop off location, a ride request is sent to the driver. Suppose the driver accepts the ride request, the next screen popup with the entire path from pickup to drop-off. Drawing polyline on the whole way was quite complicated and time-consuming. Our development team handled this scenario by using directionUsingGoogle() method of a map manager class to draw a polyline of the entire route from pickup to drop-off.
2. Distance Calculation:
When a user selects pickup and drop-off location, the system automatically generates & sends fare estimation to the user. But, there are scenarios where single destinations may have multiple routes to reach. Calculation of fare estimation based on the selected destination route and sending fare estimation based on fixed-route distance was challenging. However, using the Distance From Location() function of Location Manager class, our developers calculated the distance and managed the scenario quite efficiently.
Technologies
Android, iOS, and Website & Admin Panel Development
Android
Android OS Support:
4.3 to 7.0 Android
Development:
Java using Android Studio
Android Supported Devices:
480x800, 720x1280, 1080x1920, 1440x2560
Language Support:
English, Arabic
iOS
iOS OS Support:
iOS 8.0 to 10.3
Development:
Swift Using Xcode
iOS Supported:
iPhone 5, iPhone 5S, iPhone 6, iPhone 6 Plus, iPhone 6S, iPhone 6S Plus, iPhone 7 , iPhone 7 Plus
Language Support:
English, Arabic
Website & Admin Panel:
Technology: PHP, CodeIgniter Framework
Database: MySQL
API: REST API in JSON format
Supported Browser:
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