Cleany Bins required a mobile application and associated backend system that would allow them to give an efficient door-to-door bin cleaning service to their clients. The intention is to be able to process as much as possible through mobile devices, which could then be sent to the central database and used as and when needed. The client also needed the system to be able to process payments, with PayPal integration but also a capability to process cash and cheque payments. For the central database, the client required a web-based interface that would allow them to make any and all relevant alterations in addition to providing updates about jobs, such as when payments are made. The Administration Department at Headoffice needed to be able to make changes to data to provide employees in the field with instant quotes.
The application was developed to help the client better operate their business by providing them with the means to assign jobs and take payments for all of their cleaning assignments. The application is divided into two parts:
- A web interface for the system admin in which all backend details can be entered for use in the app. It utilises an ASP.net platform and allows the admin to utilise a web browser to access functionalities that include:
- General app settings
- Adding and modifying users
- Adding and modifying customers
- Adding and modifying cleaning orders
- Generating reports
- Creating calculations
- Generating a Customer List based on user queries
- A mobile interface that the user can use to access various details and take mobile payments. The interface has been designed for Android-based phones and is used by employees when they are in the field. It can do the following;
- Accept and process mobile payments (either through PayPal Mobile, Cash or cheque).
- ii. Generate receipts for payments which can be printed with a Bluetooth printer
- iii. Allow the user to view relevant lists
- iv. Allow the user to alter some personal settings.
Access to PayPal through mobile application
The android-based mobile application that we developed has been integrated with PayPal to allow it to accept mobile payments. This required providing a user-friendly interface that allows the user to quickly process a payment using the PayPal system. All payments are then updated on the central database for the attention of the system admin.
Mobile Printer Integration
The client required the ability to print off receipts for clients upon payment of their bill so we integrated the Zebra mobile printer with the application to allow for this. The printer itself is a 2 inch receipt printer and we integrated it with the mobile application using a third-party API. The printer communicates with the application using Bluetooth technology.
The mobile application and web-based interface are linked through a central database that they both communicate with. If an update is made in one area, this is reflected instantly in the other to allow for up-to-the-minute tracking of jobs, clients, etc. We have used the KSOAP API to allow for the sharing of the same central database between the web-based and android-based applications.
One of the concerns that the client had was that the system may be prone to fraudulent entries if anybody was able to access it. To counter this we have created a multi-tiered system, with each section being password protected. An overall system admin has access to everything on the system and thus can provide authorization to all users, including deciding their user privileges. Thus users who are not supposed to access the web-based side of the application won’t be able to. Likewise, similar restrictions are placed on web-based users dependant on their position within the company.
Mobile and Web Interface
The application requires both a mobile and web-based interface. We ensured that both systems were as user-friendly as possible and that neither conflicted with the other to ensure the integrity of the shared central database. Each system has different functions, though both are capable of taking and recording payments.
Bulk Customer Processing
Each customer recorded in the system has different details (address, cleaning dates etc). The client required the system to be able to provide updates to the customer as and when needed. For example, if the client needed to alter a cleaning date, the system is able to generate a notification for the customer that lets them know this when the change is made on the system. Similar functions are implemented for any aspect of the system that requires the client to notify the customer of changes.
The system is able to auto-generate reports based on pre-set user queries of the customer database. The results of these queries can be exported to an Excel document and the data can be queried and filtered entirely dependent on the client’s requirement for that particular report.