Open source OTM-libraries: integraties in de transportsector sneller maken

Crowds of fun-seekers exploring a city on foot, "

Arjan Franzen

april 2025

Logo of OpenTripModel (OTM), the open data standard for logistics.

In de logistiek praat iedereen met iedereen. Een verlader met een vervoerder, een vervoerder met een wegbeheerder, een planningssysteem met een boordcomputer. Zonder gedeelde taal betekent elke nieuwe combinatie een eigen vertaallaag — en die moet gebouwd, getest en jarenlang onderhouden worden.

OpenTripModel is die gedeelde taal

OTM is een open datastandaard voor logistiek en verkeer, oorspronkelijk ontwikkeld door Simacan en sinds 2018 beheerd door de Stichting Uniforme Transport Code, samen met TLN, evofenedex en DALTI. Ruim twintig vervoerders in Nederland wisselen er gegevens mee uit met verladers, retailers en wegbeheerders.

Een standaard op papier is alleen niet hetzelfde als een standaard in productie. Wie hem wil gebruiken, begint met het uitschrijven van het datamodel in zijn eigen taal, het bouwen van serialisatie, en het controleren of berichten kloppen. Dat is werk dat in elk integratieproject opnieuw gedaan werd.

Wat wij hebben gebouwd

In april 2025 hebben we vanaf nul twee libraries geschreven die OTM 5.6 ondersteunen: één voor Java en één voor .NET. Ze staan onder MIT-licentie op GitHub, vrij te gebruiken, aan te passen en door te geven.

De Java-library levert datamodelklassen voor OTM-entiteiten als trips, locaties en events, plus het parsen en serialiseren tussen OTM-JSON en Java-objecten. Ze draait op JDK 8 en hoger, zodat ook oudere systemen mee kunnen.

De .NET-variant is opgesplitst in drie NuGet-packages. OpenTripModel.Model bevat de typedefinities, OpenTripModel.Serializer regelt de JSON-conventies van OTM, en OpenTripModel.Profile valideert berichten tegen profielen als CBS, TransportOrder en CarbonFootprint. Je koppelt dus niet alleen data, je krijgt ook te horen wanneer een bericht niet aan het afgesproken profiel voldoet.

Waarom open source

Een standaard wordt pas een standaard als iedereen hem makkelijk kan gebruiken. Deze libraries achter een licentie zetten zou precies de drempel opwerpen die OTM juist wegneemt. Ze zijn daarom vrij beschikbaar: elke partij in de keten kan ze pakken, en het werk van het datamodel hoeft niet in elk project opnieuw.

De code staat op github.com/opentripmodel — otm-library-java en otm-library.net. De standaard zelf en de wijzigingen erop worden bijgehouden in otm5-change-requests.

no image placeholder

Geef je softwareontwikkeling een Boost!

Elke DevOps, CI/CD of softwarevraag kunnen wij beantwoorden.

Koffie? ☕