Gone are the days where people used to wait for buses and parking. Whether you are going to attend a wedding or preparing yourself for the meeting, there is Karwa for every occasion. Karwa is one of the best on-demand taxi apps that help you to avail fast and comfortable rides within minutes. With smooth signup process and uncluttered UI, it won't take much time to avail your first ride. If you're lucky enough, you can get a free or discounted ride using a referral code. Now book your first ride using Karwa in few simple steps: Set your pickup and drop-off location, select car type from available options and you will get ride confirmation within 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 in a different province? You can choose an intercity ride and book cab. Need a cab to attend the meeting tomorrow? You can choose “Ride Later” and book cab in advance. Apart from this, the app also allows you to track drivers location, get fare estimation and track ride history in the most convenient way. So just download the app now and experience your first ride today.
A client from Iraq approached Hyperlink InfoSystem to develop an on-demand taxi booking app that allows people to avail comfortable rides within few simple clicks. The main aim of the client is to introduce intercity ride concept where people can travel into different province while enjoying the best transportation in cost-effective amount. The app is developed on Android and iOS platforms and designed for people of Iraq.
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 login in the app using pin and password.
2. Get Ride:
In order to avail ride, riders need to select pick-up and drop-off location, and ride type. Afterward, the ride request is sent to the multiple drivers. After acceptance of ride request, a rider is popped up with fare estimation and estimated time to reach towards the destination.
3. Ride Later:
In order to organize future rides, you can choose “ride later” option. All you need to do is just select pickup and drop-off location and preferred date and time and your ride are scheduled. In case of any adversity, riders can even cancel the ride.
4. Intercity Ride:
For people that are planning to travel across different provinces, Karwa introduces “Intercity ride” where riders need to select pickup and drop off location and their preferred date and time. Once the ride is confirmed, riders will be notified.
5. Message & Call:
Riders can communicate with the driver using application inbuilt messaging and call system.
After completion of the ride, riders will get payment invoice and pay the fare by cash.
Once the trip is over, riders are notified with ride invoice where they can check their ride details. The ride invoice includes:
Pick-Up And Drop-Off Location
8. Track Driver's Location:
After confirmation of ride, the app allow riders to track driver's location.
9. Rating & Reviews:
After completion of the ride, riders can share their overall experience by giving rate and reviews to drivers.
Riders can view and edit their profile.
Riders are notified in the below scenario:
When drivers accept/decline ride request
During driver arrival
During start and end of ride
12. Access Map:
In order to access map for navigation, Google Maps API is integrated.
13. Ride History:
It shows the list of completed, canceled and pending rides. Selecting particular ride Id will redirect users to ride detail page.
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:
Vehicle Registration Card
Vehicle Inspection Report
3. Availability Status:
To change availability status, driver can toggle between two: Online/Offline
Drivers are notified in below scenario:
New ride request
When riders cancel the ride
5. Ride Invoice:
After completion of the ride, drivers are paid ride fare amount by cash. They receive ride invoice which includes:
Pickup And Drop-Off Location
Time And Distance
Riders Name And Car Type
6. Ratings & Reviews:
After completion of the ride, drivers can share their ride experience through ratings and reviews.
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.
1. Staff Management:
View, add, edit and delete staff list
2. Rider Management:
View, edit and delete rider details
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
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
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
9. Promocode Management:
Add, update and delete 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, reject and missed the ride.
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:
Intercity car type
15. Banner Management:
Update and delete banner details
16. Driver Settlement Management:
It shows 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 settlement days
The karwa website is an informative website. It contains below-mentioned features:
Allows riders to enter pickup and drop-off location to calculate estimated fare.
Navigation links in header section
Contact details in footer section
After selecting pickup and drop off location, ride request is sent to the driver. If the driver accepts the ride request, the next screen popup with the entire path from pickup to drop off. Drawing polyline on the entire path was quite complex and time-consuming. Our development team handled this scenario by using directionUsingGoogle() method of a mapManager class to draw polyline of the entire route from pickup to drop-off.
When a user selects pick-up 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 selected route distance was indeed hard and challenging. However, using the DistanceFrom Location() function of Location Manager class, our developers calculated the distance and managed the scenario quite efficiently.
Android OS support:
4.3 to 7.0 Android
Java using Android Studio
Android Supported Devices:
480x800, 720x1280, 1080x1920, 1440x2560
iOS OS support:
iOS 8.0 to 10.3
Swift Using Xcode
iPhone 5, iPhone 5S, iPhone 6, iPhone 6 Plus, iPhone 6S, iPhone 6S Plus, iPhone 7 , iPhone 7 Plus
Technology: PHP, CodeIgniter Framework
API: REST API in JSON format
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