PROJECT DURATION: September – October 2021
ROJECT TEAM (CONTRACT WORK): 2 Frontend Developers, Mobile Developer, Tester
TECHNOLOGIES: Java, Kotlin, Apollo Client, React.js, JavaScript, Node.js, GraphQL, Git
PROJECT COST: ~ 700,000 rubles
A CLIENT CONTACTED US
The client is a car dealership selling products of a well-known luxury brand. The company values its market reputation, service quality, and customer experience. To enhance loyalty and sales, the retailer continuously improves internal processes.
The dealership has a call center providing information and transferring some incoming calls to sales managers. However, managers might already be engaged with clients or be away from the office.
To improve response times, the company decided to monitor the work phones of its employees. They approached us to develop and implement a system that would provide information about the current location of the managers and their availability to answer client calls.
WE HAVE SET THE PROJECT GOAL
Develop a system for tracking the locations and phone lines of the dealership managers.
HIGHLIGHTED THE MAIN TASKS
- Create a website with a dashboard displaying the work status of managers and the status of their phone lines.
- Develop a mobile application for transmitting data from employees' corporate phones (Android OS).
- Build an API for service interaction and integration with other systems.
- Ensure the application operates seamlessly in the background.
A MINOR DIFFICULTY AROSE
With each new version, Android developers aim to optimize devices and extend their lifespan. To conserve resources, they restrict CPU usage and Internet connectivity when the phone is locked. This halts third-party utility processes and hinders data transmission.
At the time of our software development, there were no current guidelines for configuring Android APIs to ensure uninterrupted application operation. We created a unique mechanism to enable the dealership’s mobile application to function fully in the background and maintain a constant connection with the call center dashboard.
WE FOUND SOLUTIONS AND THIS IS WHAT WE DID
Our phone monitoring system comprises two products: the call center's web platform and the mobile application. Operators log into the website to access the informational dashboard, while managers enter the system via login and password in the application.
Once the software is launched on a monitor, the call center employee sees the data transmitted by the mobile service and decides to whom to redirect the call based on this information.
The mobile application's external functionality is user-friendly. During work, managers select/change their online status: “office,” “on the road,” or “at home.” With a stable Internet connection, their current location is displayed on the call center's dashboard. If the specialist is on the phone, the system automatically updates to "talking"; if not, it shows "available." The operator checks the statuses and availability of managers and redirects the calling client to the one ready to answer.
Hidden functions ensure the application runs in the background and pings the dealership’s server. We developed a mechanism consisting of three processes that sequentially check the connection's stability and monitor each other's activity. If one detects a disconnect from the dashboard or a pause in the others, it automatically restarts the inactive functionality.
HOW WE TESTED THE SYSTEM
For mobile software testing, the dealership provided a corporate phone. However, to set up the functionality, we wanted to test it on different models and Android versions, so we used the smartphones of nearly the entire team and their close relatives.
WHAT RESULTED OUT
In 1.5 months, the car dealership received an apparently simple but effective monitoring system. It solved the dealership's primary issue: improved managers' response times and enhanced customer service. Now, the call center operator is aware of the specialists' availability and transfers calls only to free employees.