Labirint: Courier and Route apps
Labirint belongs to the TOP 25 Runet online retailers and became one of the TOP 10 most discussed online retailers in 2020.
To automate Labirint delivery service
Labirint has its own online orders delivery service.
Before the release of the app, it used to work as follows: at the start of each shift, couriers would give an account of all the orders they had delivered the day before, hand in the money they had received from clients, and receive a new delivery slip with the list of orders to be delivered. The hard copy document flow made it impossible to manage the delivery service effectively. The delivery data did not appear in the Labirint system until the next day. Meanwhile, as the shift went by, there was no way to know where the couriers were, whether they delivered the orders on time and how many orders they had delivered so far.
The customers didn’t find the system convenient either. They were unable to pay for the orders with a credit card or change the delivery time.
Labirint needed a new solution to automate the process of delivery, making it transparent and manageable for all parties involved — customers, couriers, and managers.
Challenges and solutions
The key feature is that the app works without the Internet connection and properly functions offline so that a courier can deliver an order even if there is no coverage in the area.
For this purpose, we’ve implemented a data storage and synchronization mechanism. All deliveries are stored in a local database. They get there as soon as the courier presses the HAND OUT ORDER button. If there’s no connection to the server at the moment, the unsent data are flagged. As soon as the signal is back, the data are synchronized, and all unsent data go to the server.
In the meantime, couriers can use the app to change the status of an order, swap the deliveries around, cancel an order or mark it as paid. Whenever the signal is back, the notifications rush into the system, and the data are synchronized.
Planning the routes
The app can build a route for a courier taking into account delivery time for every order and traffic situation.
For a courier, a user journey looks as follows. Couriers receive their lists of orders. They can then plot a route based on the addresses in the lists: the app was initially integrated with a navigator, and later on, Labirint added Yandex.Routing. Now the route depends not only on delivery times but the current traffic status as well, helping couriers get around traffic jams and road repairs. Thanks to that, couriers can take shorter routes and deliver more orders in one shift, reducing corporate expenses.
Changing order status and content
When a client refuses to accept an order, the app records it and makes immediate changes to the courier’s route.
The new automated delivery service system consists of a mobile app for couriers and an admin panel where managers register the couriers and their mobile devices and create route sheets. Couriers don’t need to log into the app — it connects to the system using a device ID.
To connect the app to the admin panel, we built a middleware web service using a standard REST API. This service processes the json files uploaded from the Labirint database.
As the orders get delivered, couriers change the status, marking them as delivered or cancelled, and update the route. The app also enables couriers to change delivery dates, make a partial refund or change courier schedule.
Couriers can go to the ACCOUNT tab to check the number of orders they delivered and the TOP 5 couriers with most deliveries.
The app is integrated with the online shop and customers can now get prompt updates on the status of the orders in their accounts.
More about project
Design and development
Labirint came to us with detailed technical specifications and their own design.
First, we went over the existing workflow of the delivery service. With that in mind, we integrated the courier database with a web service. It took us 6 months to build an app that took every aspect of the current business process into account.
The first design was created for tablets. After that version was released, it turned out that couriers found it difficult to work with tablets: they would drop and smash their devices and often forget them at the customer’s location. As a result, Labirint decided to exchange tablets for smartphones. So we took our tablet app and redesigned it for smartphones. All the essential elements and logic of the app stayed intact.
One of the client’s key requests was to keep the app very simple and intuitive to make onboarding easier for couriers. With that in mind, we made the buttons large and bright, with only one action (hand out order, cancel, or receive payment) assigned to each. We decided, for example, that when an order is paid in cash and change is required, couriers should enter as few digits as possible. We added nominal values of all existing bills to the screen so that couriers only need to tap on the ones they’re given – the app calculates the change itself.
Payment made easy
In this app, we implemented payment by card via NFC. Thanks to that, couriers no longer need to carry a large PIN pad around with them — all they have to do is install the Sberbank app called Tap on Phone. Clients simply need to touch their phone or plastic card to the courier’s mobile phone and their payment is received.
Route — Courier’s younger brother
After the Courier was released, Labirint decided to implement a similar app for drivers delivering orders to pick-up points. We modified the code of the courier app to meet these requirements but used a different data structure because drivers deal with large groups of orders. In this app, drivers can view destination points and consolidated lists of orders with names of clients specified. They don’t need detailed order information or payment capabilities. Whenever drivers need to deliver orders or cancel delivery, they simply choose between two buttons — CANCEL or HAND OUT.
We’ve built a native app for Labirint couriers. At first, it only worked on a single model of a tablet that Labirint provided to its employees. Later on, the company got a mobile app for Android smartphones.
The system helps couriers boost their performance and offers greater value to the bookstore customer.
Couriers can now plot optimal routes and deliver 20% more orders in a single shift. Thanks to the app, they now spend less time collecting the orders from the distribution centers and delivering them to clients.
The couriers’ performance can now be rated and compared by corporate management. Based on this data, Labirint came up with an incentive program and regularly updates the rating of their best employees. Whenever they need to, distribution center managers can see where a courier is, which orders have already been delivered, and how much money has been received.
Ever since the app was launched, Labirint has significantly reduced its paperwork: there’s no need to print out delivery slips, which both saves money and makes the business much more eco-friendly.
Clients now find Labirint services more convenient. They get automatic updates on the status of their orders and can pay with a credit card. Thanks to automation, orders take less time to deliver.
Based on this app, Labirint decided to build another service for their drivers delivering the orders to pick-up points. This app puts together a list of orders to deliver, enables drivers to plot a route, confirm delivery or cancel an order.
Head of Mobile Development, Product Manager