Worked as part of the team that is responsible for the software being used at service points. This includes a hand-held scanner, lockers and self-scan. These are first and last-mile solutions, such that the customer can hand in and hand out parcels.
The biggest undertaking was to work with the lockers. We’ve built our locker platform, from controlling the hardware ourselves to inventory management of lockers and parcels with telemetry and authentication.
DHL Benelux has been using lockers for some time, but they have encountered issues with the white-labeled software provided by the vendors. In late 2022, they began developing a new platform that encompasses all vendors, from communication with the hardware to the user interface on the lockers.
For communicating with the hardware we creating a hardware abstraction layer in the form of a REST API. This runs locally on the machines and per vendor, it will talk a different protocol. For the REST API we used Scala, http4s, fs2, tapir and scodec. The REST API is the same OpenAPI contract and therefore the frontend does not need any change per vendor.
The user interface is a single-page web application which is written in TypeScript/React. It communicates locally with the Hardware Abstraction Layer. There is another API that is highly secured to check if someone is allowed to open a door to retrieve or bring a parcel.