Many customers, one driver,
and everyone keeps different hours.
Aqua Serwis System supplies offices, shops, clinics and restaurants with water, bottles and dispensers. Every customer has their own opening hours, some have several delivery addresses, and a run easily reaches thirty stops. Working out by hand which order fits all of that into one day is barely possible.
What was needed was a tool for the office: customers from the existing register, one route per day and driver, an order that saves driving time and leaves nobody at a locked door, and at the end a sheet the driver can set off with, no questions asked.
- Client
- Aqua Serwis System, a water distributor and delivery service in Kielce
- Scope
- Customers with opening hours and delivery addresses, drivers and vehicles, route planning and optimisation, fixed routes, a printed sheet with QR codes, users and roles
- Users
- The office plans on a desktop, the driver drives with the printed sheet and their own phone
Three steps,
from draft to sheet.
The app takes the office through every route in the same order. At the end a sheet comes out of the printer, and the driver never types in a single address.
- 1
Add stops
Pick the date, driver, vehicle and departure time, then search for customers, even by part of the name. Each stop brings its address, opening hours and notes for the driver, and each is marked with what gets dropped off: large jugs, dispensers or bottles. Recurring runs start from a fixed route, where you only untick who is not on it this time.
- 2
Set the order
A customer who has to be served first or last is pinned there, and the rest stay free. For this one run, the time windows of single stops can be overridden without touching the customer’s own record.
- 3
Generate and print
One click fetches driving times and distances between every point from Google and orders the stops so driving time drops and every customer is reached within their opening hours. A stop that cannot be is flagged. Then the office prints the driver’s sheet.
Behind the click,
the software.
An order that knows opening hours
A solver of our own for the travelling salesman problem with time windows: a time-aware nearest neighbour first, then 2-opt and or-opt until nothing improves. A minute late weighs a thousand times more than a minute of driving, so the route would rather take a detour than stand at a locked door. Pinned stops stay where they are.
QR codes instead of typed addresses
A Google Maps link takes at most nine waypoints. So every stop on the sheet carries its own navigation QR code, and the whole route is cut into legs: each one a QR code, each starting where the last one ended. The office sets how many stops a leg holds.
Addresses that land in the right place
The Google Geocoding API turns an address into coordinates once a customer is added to a route, so the 4,118 addresses are not all paid for in advance. If a point is off, the office drags it to the right spot on the map. Anyone who wants them all at once runs the bulk geocoding in the settings.
Fixed routes, duplicates, an archive
A settled run is saved as a fixed route, and a new dated route is made from it with freshly copied addresses and coordinates. Single routes can be duplicated and generated again, and old ones are archived rather than deleted, ready to be brought back at any time.
A role system that follows responsibility in the company
What someone sees follows what they are responsible for: admins see everything, staff see everything except settings and user management. Every route records who created it, even if that account is later removed, and a help page walks through the workflow step by step.
Routes still planned by hand?
Customers with opening hours, drivers, vehicles, a sheet for the road: tell us how your runs are planned today, and we build the tool that plans them.