There is a Customer who periodically forms requests for provision of cargo transportation and special vehicles. There is an auto-transport enterprise (ATE) that provides these services to the Customer. Requests are created and transferred to the ATE using the Information System.
Further, ATE assigns a vehicle and a driver to the requisition – and is given a generated Trip Sheet. This sheet should contain data on the condition of the vehicle (mileage, machine hours, motor hours) when leaving the garage, arriving at the place of fulfillment of the request, leaving the place of work, and returning to the garage.
Why is it necessary?
This data is needed for subsequent billing, i.e., for determining the cost of work, and for controlling drivers.
This is what a standardized Travel Sheet looks like. Of course, it is completely inconvenient to keep records in paper form. It is necessary to transfer input and display to the mobile application. Realize a convenient system for viewing and performing tasks. Send data via API to the Information System to collect all indicators in one place.
The application functionality was divided into the roles of “Driver” and “User”.
The Driver’s interface does not provide any data entry, it is done on the User’s side.
The Driver sees the information about his requests for the day and the figures entered by the User to check them against the real figures. He can also see the history of the Travel Sheets and tasks with the display of his actual route.
Now let’s break it down in more detail.
When working on the UX of the application, we took into account that potential users are adult men of working professions, who are not always well oriented in mobile applications. Therefore, we strived to make a simple and clear interface without distracting pictures and animations.
To work in the app for drivers, you need to authorize: enter your phone number and password.
Since only numbers can be entered in the fields, we immediately display the keyboard without letters. Believe me, constant switching to the right layout makes users nervous.
In order not to scare the user if they forget their password or have other difficulties with authorization, we added a link to the “Help” screen. There will be a text with a hint and a button to call the dispatcher.
After successful identification, the Driver sees the assigned vehicle and Trip Sheet information.
Tasks for Today
“Tasks for Today” is the main screen of the Driver’s work. At the top, you can see the data of the Travel Sheet, below is the list of tasks. They are displayed in chronological order, icons help navigate through the statuses.
It is planned to make also the second option of displaying in the app for drivers – “On the map”. The same tasks will be marked with icons on the city map, and the route between them and inside the task (if there are several addresses) will be built. Now only the “List” option is implemented.
The garage exit data is filled in by the User – an employee of the Customer. The driver can only familiarize himself with them.
Viewing the task
The driver of the vehicle sees the basic information on the task: number, date and time of work start, address, contacts of the responsible employee, route, if the work involves additional movements. In order to build a route to the desired point, the driver switches to Navigator.
When the Driver starts work, the Customer’s employee enters the vehicle data at the time of arrival. And when the work is completed, the same data is available at the time of departure. Depending on the stage of work, the Driver sees on the screen what is already filled in.
For the completed task the statistics are displayed: the figures entered manually by the Customer’s employee at the arrival/departure of the Driver are compared with similar figures according to the GLONASS system (the sensor is in the vehicle). Discrepancies above a certain figure are colored in red.
Track by task
When a user logs in for the first time, the app asks for permission to use geolocation. This is necessary to track and then plot on a map the actual route of the Driver on a task. The location data is recorded even if there is no network and then transmitted to the system when the internet is restored. The actual job track can be viewed in the job description.
The native geoposition manager did not provide coordinates when the application was inactive. It took quite a lot of time to figure out this problem. We had to go the other way – to do it through the Google Play Services API.
When a new, canceled or changed Tracking List or task appears, the Driver receives a push notification.
All system messages are collected on one screen, unread ones are visually highlighted.
The Driver’s work history for the last 30 days is saved. For a task – the same information is displayed as in the status “Done”. For a Travel Sheet, the statistics are summarized, and the list of tasks is displayed with a switch to view each one separately.
The page implements a search by number, as well as an advanced filter by period and address.
Chat with dispatcher
For operative communication with the dispatcher, a chat in the driver app is implemented. Several standard quick responses are available to the driver.
An SOS button is provided for quick communication in an emergency.
A driver can view their statistics for a day, week, month or other period.
You can change your password or un-login from the Settings screen.
The user is an employee of the Customer who meets and sees off the drivers of vehicles. At the same time, he enters the necessary data of the vehicles at the control points: at the moment of arrival and departure. There can be different responsible Users at different destinations. And one User can meet several drivers in a day.
In the application, Users, like Drivers, see the tasks for today. But in their case, it is information about those who should come to their point: number and make of the car, date and time of arrival. Tasks are distributed to points (and, accordingly, to Users) in the Customer’s Information System.
To quickly navigate through the requests, there is a search by job number and vehicle.
The job view screen is similar to that of the Driver: the contact person changes and the “Start Job” button appears.
Before starting the task, User enters the arrival data: checks the make, model and number of the vehicle, odometer data, machine hours, motor hours, if there is an attachment, information about it as well. And at the end – the same data at the time of departure.
The odometer is a sensor that measures the number of revolutions of the wheel. It is used to determine the distance traveled.
Motohours are a symbol that shows the number of revolutions produced by the engine crankshaft over a certain period of time. Data from a special sensor.
Machine hours are the amount of real time of vehicle operation.
If this is the first task of the Driver for the day, the User must first enter the data of leaving the garage – vehicle sensor readings recorded at the moment of the Driver’s departure from the shift. They are specified by the garage mechanic in the Trip Sheet. The User transfers the information to the application and cannot proceed to filling in other screens until the garage departure data is entered into the System.
User can also view the history and statistics of the tasks to which they are assigned.
As a result of the interaction of these two applications, the Customer has a complete picture of the ATE drivers’ work: history and statistics are saved; the indicators required for tariffication are recorded; accidental or intentional errors in data entry are excluded.