OTM Java Toolkit verschijnt op Maven Central

Op 9 juli 2025 verscheen org.opentripmodel:otm-toolkit versie 1.0.1.0 op Maven Central. Acht dagen na de eerste officiële .NET-package, en met precies dezelfde bedoeling: OTM implementeren zonder de specificatie met de hand na te typen.
Eén regel in je pom.xml, en de entiteiten van de standaard staan in je project.
Eerst even: wat is OTM? Het Open Trip Model is de open standaard waarmee partijen in transport en logistiek ritgegevens uitwisselen — ritten, zendingen, transportorders, voertuigen, locaties, goederen, acties en events — als lichtgewicht JSON over een REST-API.
De reden dat dit ertoe doet is niet technisch maar organisatorisch. Een verlader praat met meerdere vervoerders, die praten weer met meerdere verladers, en er zit een wegbeheerder, een douanesysteem en een statistiekbureau omheen. Zonder gedeelde taal is elk van die verbindingen maatwerk. OTM wordt sinds 2018 beheerd door de Stichting Uniforme Transport Code samen met TLN, evofenedex en DALTI, en elke wijziging wordt openbaar besproken.
Eén artifact, drie verantwoordelijkheden
Waar de .NET-kant koos voor drie losse NuGet-packages, levert Java één artifact met daarin dezelfde driedeling:
otm.model.entities— de OTM v5-entiteiten als Java-klassen. Trip, Consignment, Vehicle, Location, Actor, Constraint, Document, Event, en de bijbehorende enums zoalsActionType,Enforceability,EmissionStandardenFuel.otm.profile— validatie tegen een OTM-profiel, met eenValidationResultdat losseValidationMessages bevat, elk met eenSeverityen eenValidationCode. Bij de eerste release zit daar een validator voor het transportorder-profiel in.otm.serializer— JSON-serialisatie volgens de OTM-conventies, inclusief de camelCase-behandeling van enums die OTM gebruikt.
Onder de motorkap draait het op Jackson voor de serialisatie en op de json-schema-validator van networknt voor de profielvalidatie. Apache 2.0-licentie.
De validatie is het deel dat de meeste tijd bespaart. Profielen zijn in OTM de manier waarop een concrete use case invult wat er verplicht is: het transportorder-profiel, het CBS-profiel voor wegvervoerstatistiek, het carbon footprint-profiel. De kernspecificatie laat bewust veel open, dus 'is dit geldig OTM' is zonder profiel een halve vraag.
De randvoorwaarde die je moet weten
Het artifact wordt gebouwd tegen Java 21. maven.compiler.source en -target staan allebei op 21.
Dat is voor een greenfield-project geen probleem en voor veel bestaande logistieke systemen wél. Als je TMS of koppelvlak nog op Java 11 of 17 draait, kun je deze library niet zomaar toevoegen — dan is de upgrade van je runtime de eerste stap, niet de laatste.
Het is het soort detail dat nergens in een aankondiging staat en dat een integratieplanning met een kwartaal kan verschuiven. Controleer het voordat je het inplant.
Wat er daarna gebeurde
Op 21 oktober 2025 verscheen versie 1.0.2.0. De belangrijkste toevoeging daarin is validatie tegen het CBS-profiel — het profiel waarmee wegvervoerstatistiek aan het Centraal Bureau voor de Statistiek wordt aangeleverd.
Dat is een veelzeggende tweede release. Niet meer entiteiten, niet meer velden, maar een tweede profiel. Het bevestigt waar de moeite in een OTM-koppeling werkelijk zit: niet in het model, maar in de vraag wat er in jouw specifieke uitwisseling verplicht is.
Java en .NET naast elkaar
De twee libraries zijn duidelijk vanuit hetzelfde ontwerp gebouwd — dezelfde driedeling model, profiel en serializer, dezelfde keuze om géén transportlaag mee te leveren. Publiceren doe je met de HTTP-, bestands- of messaging-stack die je al hebt.
Dat laatste is een goede grens. De library gaat over het datamodel en over of je bericht klopt. Hoe het bericht bij je tegenpartij komt, blijft jouw keuze, en dat is precies de laag waar in logistiek de meeste variatie zit: de een doet REST, de ander SFTP, de derde een message queue.
Waar ze verschillen is in de verpakking. Drie NuGet-packages laten je in .NET alleen de modeltypes binnenhalen als je meer niet nodig hebt; het Java-artifact is één geheel. In de praktijk maakt dat weinig uit, maar het is wel het soort verschil dat je merkt zodra je een afhankelijkheidsboom moet verantwoorden.
Waarom wij hier op letten
Bij Keana, onze planningssoftware voor groene stadslogistiek, is elke koppeling met een verlader of vervoerder tijd die niet naar het eigenlijke probleem gaat: transportorders bundelen tot minder ritten door de binnenstad, met CO₂-winst die je kunt aantonen.
Hoe meer van die koppeling uit de standaard komt in plaats van uit een afspraak per klant, hoe sneller een nieuwe partij kan aansluiten. Officiële libraries in beide grote ecosystemen zijn daarvoor een stap in de goede richting. Bekijk de Keana-case.
Kort samengevat
org.opentripmodel:otm-toolkit 1.0.1.0 verscheen op 9 juli 2025 op Maven Central, gevolgd door 1.0.2.0 op 21 oktober 2025.
Eén artifact met drie onderdelen: OTM v5-entiteiten als Java-klassen, validatie tegen een OTM-profiel met severity en foutcodes, en JSON-serialisatie volgens de OTM-conventies. Jackson en networknt onder de motorkap, Apache 2.0-licentie. Versie 1.0.2.0 voegde het CBS-profiel toe.
De belangrijkste voetnoot: het artifact wordt gebouwd tegen Java 21. Controleer je runtime voor je het inplant.

Softwareontwikkeling ontmoeilijken
Laat ZEN Software je softwareontwikkeling analyseren en optimaliseren.
Lees ook:

Zenthropic: AI-telefoonagenten die 24/7 opnemen
De telefoon gaat buiten kantooruren, tijdens een incident, of precies als iedereen in een overleg zit. Zenthropic zet da...

OTM 5.8: een voertuig mag eindelijk meer dan één brandstof hebben
OTM 5.8 verscheen op 13 maart 2026. De opvallendste wijziging deprecieert een veld dat in 5.4 nog werd toegevoegd: één b...

Wat is een klantenportaal?
Een klantenportaal is een afgeschermd deel van je software waar klanten inloggen om hun eigen orders, facturen of dossie...

CyberCloud Voice Analytics: zie wat er in je telefoongesprekken gebeurt
De meeste organisaties weten hoeveel er gebeld is en verder niets. Voice Analytics laat zien waarover die gesprekken gin...

De OTM .NET-packages springen van 1.1 naar 5.7
Een maand na hun eerste release maakten de OTM .NET-packages een sprong van 1.1.1.x naar 5.7.1.1. Geen semver-ongeluk, m...

Bedrijfsprocessen automatiseren: waar begin je?
Bijna elke organisatie heeft een handvol handelingen die niemand zou missen: dezelfde gegevens twee keer invoeren, de we...
