A Prototype of a Mobile Car Rental System

The project aimed to propose a prototype of a mobile car rental system that is secured and enabled users to reserve the vehicle they wanted. The proposed mobile car rental system has been replaced by the traditional way of renting vehicles. General functions such as adding, editing and removing information will be added to the mobile app. Other features such as login, direct call and send email, direct location, check vehicle availability, check vehicle reservation, and so on will be added to the mobile app. The app also allowed users to view the rental car available, make payment for the rental car using a credit card that ensures that users do not have to be physically present at the rental company just to see what rental car they want to rent. Instead, users could browse the car rental list through the Mobile Car Rental System, no matter how many times, and then decide which car to choose and proceed for payment process. On the other hand, the app also allowed admin to have full control over the app where admin could add, edit, and remove any car information at any time.


Introduction
Traditional ways of doing business have changed dramatically since the advancement of technology [1]. Nowadays, both the users and the market have become a major trend in the role of mobile computing. It significantly changes how mobile phones are acting and affecting people in this era of information technology (IT) [2]. Over the past decades, mobile phones have only been able to make phone calls and send and receive Short Message Service (SMS). However, smartphone innovation changes how conventional mobile phones work. Today, smartphones are capable of handling almost all the tasks that a computer can perform [3].
Many companies have heavily adopted mobile computing into their workplace in recent years. However, without proper technology knowledge, it could result in failure to design the app and failure to implement a secure app [4]. Mobile technology can help companies achieve a drastic increase in productivity and efficiency. Many leading companies in different industries have successfully developed their own mobile application which leads to improvement in various parts of the segment of the enterprise [5]. In addition, mobile technology only supported Wireless Application Protocol (WAP) as its main source of Internet access mechanism nearly two decades ago [6]. Nevertheless, Mobile phones today provide various connectivity mechanisms that include WLAN, 2 G, 3 G, 4 G and upcoming 5 G support in the near future [7 ].
Over the past few decades, car rental companies have been running their business using the traditional method of advertising their business by publishing advertisements in newspapers and broadcasting advertisements on TV channels and other approaches. In addition, all client records are stored in hard copy or soft copy depending on the method the company uses [8]. If the company uses a more traditional method, the staff would store everything in hard copy and file it into the cabinet of their company. This method is very time-consuming when it comes to filling and retrieving information and certainly not secured [9]. If the company uses a slightly modern method, the company would use a computer to key in their customers ' information in excel format and store it in computer storage. This method is less time-consuming and slightly secured when compared to the traditional method, but still requires the admin to manually key in all client information [9].
Regardless of whether or not to use mobile technologies in the car rental industry, traditional ways of dealing have proven to work, but not in terms of speed and reliability [9]. Thus, the car rental company started building its own website and mobile app to enable customers to make online vehicle reservations [10]. The broker of UbiGo Mobility Service has acquired various transport service provider sectors, including the car sharing company, the car rental company, and so on [11]. UbiGo app allows their customers to access everything from making reservations to checking their UbiGo account balance by logging into the app using a Google or Facebook account [12]. Anyone can easily notice that companies are trying to revolutionize their businesses to adapt the mobile technology that has been growing rapidly in recent years.
Therefore, in this work, the project aimed to propose a mobile car rental system prototype that is secured and allowed the users to make reservation of the vehicle that desired. The mobile car rental system includes features such as register and login page, list of vehicles and database related to mobile car rental system.

Methodology
In this work, the features of Mobile Car Rental System are involved in the functional requirement. It offers customers the information they need to be able to make a car rental reservation and keep track of it. In addition, the Mobile Car Rental System also offers admin the ability to upload the latest rental car photo and details, keep track of the customer's vehicle reservation and make changes to the existing rental car details. The following are the modules designed for the Mobile Car Rental System.
i. Login Module: The purpose of this module is to ensure that when users key in their email address and password, the app securely signs every authentic user into the app. This particular module also ensures that only authenticated users can access the database. ii.
Search Module: This module allows users to search the vehicle they are looking for by typing the vehicle's brand or model. iii.
Payment Module: This module allows users to pay for the vehicle they choose to rent. Users are allowed to make full payment or partial payment via credit card transaction. iv.
Admin Module: This module will only be accessible to users with registered admin role in the database. This module allows admin to upload rental car photographs and details, keep track of customer vehicle reservations, and also make changes to existing rental car details. v.
Ease of use: The Mobile Car Rental System is carefully developed to ensure that users are able to use the app with ease. Users can browse through the car rental list when using the app, where users can check the availability of that particular car before making a reservation. In addition, users can easily call the company, email the company, and navigate to the company by simply tapping on the App's About page button. vi.
User Friendliness: The Mobile Car Rental System is designed to be as user-friendly as possible with the intention of minimizing unnecessary navigation, procedure, ads, and so on. In doing so, the app will provide straightforward navigation where users can easily navigate through the entire app. In addition, prior to developing the mobile system, questionnaires were utilized to under the needs of the users for car rental services. Figure 1 showed direct workflow of each users based on their role set inside the database. The workflow diagram process started with sign in function which the users signs into the system and the system was checked whether the user role was customer or admin. Once the system checked the user role, the system was showed certain features only accessible for admin or the user role was admin, otherwise the system was not showed the features and the users was not able to access the apps in anyway. After the user sign in as admin role, the system will show certain features that only accessible for admin role such as the admin console where the admin will be able to upload new rental car details including the picture of the rental car, and other details of the rental car. Besides that, the admin will also able to view all the records of the customers' car rental booking details where the admin will have the check in the user once the user have completed the payment and check out the user after the user returned the rental car. The admin will also be able to cancel the customer's booking if the customer requested to cancel booking. Furthermore, the admin will have total control over the app and use the app like a customer where the customer can test booking the rental car and make payment using mock credit card. Other than that, admin will also able to add or reduce the selected car's stock or delete the selected car from the database. Lastly, admin can also edit their profile details and change their password any time. As the user sign in as customer role, the system will hide all the admin's features from the user to ensure customer will only be able to access customer's content. A customer will be able to view all the car list uploaded by the admin, book the rental car and make payment using credit card, view their own car rental booking details in a list, edit their profile details and change their password.

Implementation
The respondents was given the opportunity to give their own opinion on the need for a mobile car rental system. Best opinion from respondents like everyone uses their mobile phones for many important life issues. The mobile phone was much more convenient to use apps to save time. Therefore, it is necessary if the current generation is to be more focused on convenience. More than ever, the world has been connected now. Many things have been moved towards the digital platform. The main reason behind the growing support for the digital platform was that people got the things people want. The respondent would be more than happy to rent a car as time and effort saved through a mobile app. Figure 2 shows that sign on the car rental system page. To sign into the app, users had to put their valid email address and password. If users do not have an account, they need to sign up for an account by clicking a button and redirect users to the sign up page . If the users forgot their password, the users were able to retrieve their password by entering a valid email and notification was sent to the user email to reset their password.  Figure 3 shows the rental car booking procedure. Once the user sign in to the app, the user will be able to browse through the home page to view latest rental car available. Then the user will have to click on the check availability button to check whether the selected car is available for user to rent. If the system checks the database and found that the car is available, the user will then be able to proceed to the payment page where user need to select the booking date. After that the user will be given a choice to pay full payment or pay partially by tapping on the Full Payment switch, and the app will recalculate the payment price, if user choose to pay partially, they will need to pay the rest of the amount at the company's shop. After setting up everything, user will need to click on the confirm button and the credit card page will show up where user need to enter their credit card information to complete the payment. If the payment is success, the system will pop up a dialog telling user that the payment is a success and by clicking on the ok button will redirect user to the user's own booking details page.  Figure 4 shows that the admin's main page. In the admin main page, an admin button will appear which will redirect user to the admin console page. Besides that, user will be able to do everything same as a customer. This allows the admin user to test the entire app without needing to sign up a new customer account to test some of the functionalities. When sign in as a admin, whenever user click on the check availability button whether it is on the main page, rent vehicle page's vehicle list tab or search vehicle tab, the pop up dialog with show extra two icon at the left and right of the dialog. These icons allow user to either delete the selected car, or edit the car's stock.  Figure 5 represented the admin's console page. In the admin console page, the user can choose the image from the internal storage of the admin's phone, user can also choose different folder in the internal storage as long as there are images inside that folder. After choosing the photo, user can then proceed to the upload page by tapping on the next button, in the upload page, user can need to input every details of the rental car and upload to the database. If the model already existed, the database will replace the old one with the new one if the user chooses to proceed. Other than that, on the second tab of the admin console, user can tap on the show all button to view all the customers' vehicle booking list. User can also search for specific customer's vehicle booking list by typing in the customer's confirmation number. Apart from that, there are three buttons on each customer's vehicle booking list, those buttons allow user to cancel, check-out, and also confirm the customer's remaining amount already paid, before user are allow to proceed with the features, user will need to enter the admin special code to ensure the user is an authentic admin before making this progress, the database will checks and verify the admin special code user's enter. In Figure 6, user can tap on the users booking details text view to export the admin reference list that retrieve from the database. User will also have to enter the admin special code before proceeding with the exportation. After successfully export the admin reference list, user can then use any file explorer to locate the CRS folder in the user's phone internal storage, user can then copy it to the computer or other places to reference the data. Other than that, the app allows admin to test the entire system without sign in to a customer role. Which means admin ability to book a vehicle like a customer does, edit profile details, change password, and so on. In addition, the Mobile Car Rental System uses the online database system of Google's Firebase as its database source. By doing so, the app can store a lot of data online, such as user credentials, pictures, and other details. This ensures that the user does not have to worry about the internal storage of their phone being unable to cater for the extra data storage required. In addition, by storing all the data in an online database, make sure that the user's information is secured, in a situation such as the user's loss of his or her phone, he or she does not have to worry about losing all the data in this app because they can retrieve the required data from the database anytime, anywhere as long as they have the correct user email and password.

Conclusion
In conclusion, this project was to be able to build an app that is secured and allow the user to rent a car that the customer wants. The app ensures that users can only access the content of the app as long as it is signed into the app. In addition, the app also allowed users to view the rental car available, made payment for the car that was rented using credit card, which ensures that users did not have to be physically present at the rental company just to see what rental car they wanted to rent, instead. Users could browse the car rental list through the Mobile Car Rental System, no matter how many times, and then decide which car to choose and then only make payment. On the other hand, the app also allowed admin to have full control over the app where admin could add, edit, and remove any car information at any time. Other than that, customers were able to trust the Mobile Car Rental System by being able to view their car rental details in the app as well as in their email.