The client was vague about either making two different apps for the hosting and renting
Keeping in mind the marketflow and client requirements we suggested making a single app for the user to manage his own car for others to rent providing the facility to rent a car of its own preferences within the same app.
The initial scope of the project had the booking with fixed trip dates. As per the new requirement from the client, the guest should be given the facility to edit its trip by either extending or reducing the trip days.
We reworked on the calendar in such a way that the guest can either extend or reduce its trip days in a consecutive range. We handled the scenarios in case the car was already booked for the days by another user for which the guest was applying for an extension for. After the trip extension/reduction, we updated the trip costing respectively.
The business logic in the app for the host to set its availability was done on the basis of days. But as per the new requirements from the client, the host should be able to set its availability based on the times for each day of the week.
We fabricated the structure of the app and database. We included a new screen where all the days in a week are displayed and there we took the from - to time for each day of the week from the host. Based on the times set by the host for each day of the week we reflected them on the calendar at the time of the users booking the car for rent.
Rent a car
The users, as a guest, can rent a car of their choice based on any location they search, theory current location, riyadh city and riyadh airport. They can select their pickup date/time and drop-off date/time and book a car for renting after adding their driving license information.
List a car:
The users, as a host, can list their car for renting it to the other users. The hosts can add/edit their car’s information, documentation, images, pricing, car details, car features and given discount percentage . They have the ability to set custom pricing and timing on selective days.
Once a trip is accepted, its status is changed to :”Future” before pickup is done. At the pickup date, the guest uploads the car images and they are sent to the host for approval. If the host rejects, the guest is asked to re-upload the car images. After the time of drop-off time, the guest uploads the images again and they are sent to the host. If the host accepts the drop-off images the trip’s status is changed to “Completed”
The users, as a guest, have the ability to request for the trip extension/reduction from the host. The host is able to accept/reject the request made by the guest. When the host accepts the guests request, the trip details are updated accordingly.