I’ve done this before, so yes it’s possible.
A lot of work though, the hardest part is definitely the calculation of the fare that is based on time and distance. For example, You can’t just calculate distance between the pickup and dropoff locations because in case someone requests a ride home, then you go to their work to pickup something and then back home, the distance would be 0 between pickup and dropoff. So I save a Location A and a Location B every 15 seconds during the ride, I calculate the distance between these points every 15 seconds and add it to the Distance-Final.
Creating that part will require a lot of hard work and actual driving with your app to troubleshoot the calculations.
Another hard part is the dispatching of drivers, you have to make sure it goes to the closest driver and if they don’t accept it then the request has to stay in the loop and dispatch the next closest driver, but you have to make sure you save drivers whom didn’t accept the ride so you don’t dispatch them again.
Here is my app, it’s called PartyCube - an app for partycars, it was available in San Francisco for a while but then I got busy with other projects, fun times though ![]()
There is an on-demand feature in it as well as bookings.
There is a driver dashboard where drivers can accept booking/requests, track their rides, get paid and so on…
I also built in a feature that allows passengers to change the music in the car from the app, it automatically sends the requested playlist to the driver.
Here are some pics: