All notable changes to the Transportial OTMS API are documented in this file, newest first. Product changes (screens, the OpenMove driver app, the desktop app) are in the release notes at https://transportial.com/en/releases.
The format follows Keep a Changelog. Releases are monthly and versioned by calendar month (2026.10); history before 2025 is summarised per year. Paths are relative to the API base URL (/api). The full reference is the OpenAPI document at /open-api.json.
eCMR, Peppol e-invoicing, carrier portal, Transportial network and gap-free invoicing
- eCMR endpoints under
/consignmentNote/{id}(sign,amend,deliver,reservation,cancel,pdf,export) and/consignment/{id}/consignmentNote, plus public share-link variants under/consignmentNote:shared/.... - Peppol and UBL:
/administration/{id}/peppol(register, verify) andGET /invoice/{id}/ubl; inbound e-invoices are imported automatically. - Dock timeslots:
/location-timeslots,/timeslot-bookings/...(outbound, confirm, complete, accept-proposal) and/timeslot-booking-linkswith public booking and request endpoints. - Maintenance:
/maintenance-plans,/work-orders, and/trip/{id}/startCheckfor the pre-trip check; newafterMaintenanceDueSoonandafterTripStartCheckFailedtrigger events. GET /management/forecast/demandfor demand forecasts, and activity timelines such asGET /consignment/{id}/activity.- Quotes:
/quote/{id}/option/{lineId}/accept|decline,/quote/{id}/reviseandGET /quote/{id}/agreement. - Mail: drafts, signatures, labels, rules and saved views under
/mail/...; mailbox OAuth sign-in via/inbox/oauth/url. - OAuth 2.1 authorization server (
/oauth/authorize,/oauth/token,/oauth/register,.well-knownmetadata) and an MCP endpoint at/mcpfor AI assistants. - Developer portal: sandbox platform, secret rotation, test and redelivered webhooks under
/developer/.... - New integrations: Webfleet Tour & Activity API options and a TransFollow eCMR connector; Webfleet can now delete orders of cancelled trips.
- Parcel, express and freight carrier connectors (sector
parcel, featureparcelCarriers):dhl_express,dhl_parcel_nl,dhl_parcel_de,dhl_freight,ups,fedex,dpd(DPD Netherlands, Belgium and Germany) anddsv(myDSV road, air, sea and rail). Consignments of a trip forwarded under a capacity contract that uses the connector are booked on confirm, with labels and tracking numbers stored on the consignment; tracking completes pickup and delivery stops. Manual booking and tracking via/consignment/{id}/parcel/.... - Shippeo real-time visibility connector (
shippeo) for both the carrier and the shipper role: transport orders, milestones, ETAs, GPS positions and proof of delivery, with shared-secret authentication on its listeners. Idempotency-Keyrequest header on create endpoints: a retried request with the same key returns the stored response instead of creating twice (409while the first is still running,422when the key was used for a different request); TTL and operations configurable per platform.- Failed tasks (feature
failedTasksView):GET /failedTasks/{offset}/{amount},POST /failedTasks/retryandPOST /failedTasks/dismissover failed message automation runs, integration objects, workflow runs, app webhooks, network syncs and held orders. - Invoices:
POST /invoice/{id}/credit-and-reissue(full credit note plus a new draft copy); per-administration period close (revenue/cost closed-until dates and policy) andbookingDateon invoices. - Multiple currencies:
/exchange-ratesand/exchange-rate/{id}, a base currency per administration and converted totals on invoices. - VAT rule generator for pricing tax rates:
/pricing/taxRates:presets,/pricing/taxRates:generateand/pricing/taxRates:apply. GET /pricing/selectors/{entityType}: the curated selectors (GSJson paths with type, unit and possible values) that pricing module filters,fieldmodules, formulas and percentage start values can use per priced entity type.- Bill-to party and credit control:
billToon transport orders,defaultBillToon businesses,GET /business/{id}/credit, and thecreditOverrideflag (permissionoverride:creditLimit) when a credit rule blocks an order. - Accounting mapping rules with dimensions:
/accounting-mapping-rules(CRUD,order,evaluate). - Orders: duplicate check (
POST /transportOrders/duplicates), hold on orders, consignments and trips (/transportOrder/{id}/hold,/consignment/{id}/hold,/trip/{id}/hold), stops hidden from the executing carrier, recurring order schedules (/transportOrderSchedule/{id}withpreview,generateand generated orders) and order defaults per customer and location. - Assignment rules:
/assignment-rules(CRUD,order,preview,apply,generate,options, team conversion). - Validation rules in plain language:
/validation-rules(CRUD,draft,test,settings) and aVALIDATIONworkflow step. - Document inbox:
/document-inbox/...(upload, list, analysis, link, reprocess, apply or dismiss conflicts) and document classification and verification on/document/{id}; required documents (/required-documents/status,/required-documents/invoice-check) and QR codes on generated paperwork (/paperwork/codes). - Incidents:
/incident,/incident/{id}/followUp,/incidents/{offset}/{amount}andGET /transportOrder/{id}/incidents. - Carrier portal for supplier accounts:
/carrier/trips/{offset}/{amount}and/carrier/trip/{id}/...(start, finish, actions, ETA per stop, executor details, documents, location updates, start check, eCMR). - Transportial network (feature
transportialNetwork): forward orders to another Transportial platform via/transportial-network/links,/transportial-network/ordersand/transportial-network/order/{id}/review|resync. Received orders always arrive as a request. - Carrier compliance:
PUT /business/{id}/carrierStatus,POST /carrierCompliance:check,POST /carrierCompliance/laneHistory, and neutral CMR (/neutralCmr:resolve). - Customer portal: order cut-off times (
/portal/orderSettings,/portal/cutOff/check), change and cancel requests (/transportOrder/{id}/changeRequest(s),/orderChangeRequest/{id}/approve|reject|withdraw) and document upload (/transportOrder/{id}/portalDocuments). - Customer charge approval:
/quote/{id}/charge/{lineId}/submit|approve|reject|invoiced-externallyand public share-link variants; per-consignment tracking links (/consignment/{id}/tracking-link,regenerate,revoke). - Planning: soft time windows with tolerances, a hard-window tolerance and an "opening hours affect plan status" switch in
planningSettings.timingSettings; stop-duration rules and anchor stops (featureadvancedTiming);timingexplanation per stop; nearby orders (/nearby/forTrip/{tripId},/nearby/forConsignment/{consignmentId}); trip budget lock (/trip/{id}/budget), allocation strategy, revenue split basis andmax/min/round/ceilin pricing formulas. - Predefined roles (14, including
CARRIERandCUSTOMER) withPOST /role/{id}/resetandPOST /role/{id}/duplicate. - Driver app tracking settings exposed to OpenMove (platform tracking configuration).
financialSettings.invoiceIssueSettingswithnumberOnSendanddateOnSend(both defaulttrue).- Coupon codes: coupons get a
codeandtrialDays(a coupon gives a discount, a free trial, or both). Customers redeem a code withPOST /platform/billing/couponor at signup withcouponCodeonPOST /user/register; the billing JSON shows the running discount asactiveDiscount.
POST /pricing/modules/from-documentsaccepts thetargetEntityTypeandcurrencyof the pricing being edited and returnswarnings; generated modules use the serialised enum values (trip,km,hours, ...), are validated against the selector catalogue and repaired once by the AI. Excel uploads to AI generators now include every sheet, and CSV/JSON uploads are read as text.- OpenAPI documentation expanded across the API with consistent tags, descriptions and validation rules in the schemas.
- Driver trip lists accept
?group=active|upcoming|history|cancelled. - Invoice and quote list filters (including overdue) are now applied by search.
- Database constraint conflicts now return HTTP 409 with a translatable
constraint_*error key instead of a generic 500. - Behaviour change: outgoing draft invoices no longer get a number (
nameempty,number0). The gap-free number is assigned when the invoice is issued (POST /invoice/{id}/send, statusopen, or created as open), and withdateOnSenda date still on the creation day moves to the issue day. SetnumberOnSendtofalseto keep numbering at creation. - Issued outgoing invoices are locked: printed fields can no longer be changed (
invoice_issued_locked) and they cannot be deleted. The bill-to and issuer details are frozen at issue and returned as issued. - Accounting connectors (Exact, Twinfield, Moneybird, AFAS, e-Boekhouden, SnelStart, QuickBooks, Salesforce) push outgoing invoices only once issued; Exact receives the invoice when it is sent.
- Behaviour change:
invoiceson transport orders is read-only; it is ignored on create and update. planStatusis the single timeliness verdict of stops and trips. It now also checks time-window constraints (best fit), soft windows with their tolerance and anchors (and opening hours when enabled); the hard tolerance is configurable (hardWindowToleranceMinutes, default 5). The time-window breach exception fires ontoo_late.- Customer and supplier accounts, and share-link requests, receive filtered financial data: customers never get cost-side fields (
expectedCost,pricingElements, ledger entries, budgets, purchase documents, credit data), suppliers never get revenue-side fields (expectedRevenue, the customer's quote and invoices). Trips are returned with a fixed set of non-financial fields. - Portal quote and invoice searches return documents where the account's own business is the counterparty, in the requested
direction(inorout); suppliers can no longer answer their own quotes. - Inviting or creating a user requires a role.
- Routing of inbound messages to vehicle chats; inbound mail, SMS and WhatsApp messages are routed to the chat of the consignment they mention.
- The unfinished uturn and PSA booking options.
- Booking-aware routing no longer renumbers consignment stop sequences.
- Moneybird connections resolve their triggers correctly after OAuth sign-in.
- Ledger attribution of quote costs and revenue between trips and transport orders corrected.
- Long-running queries and lock waits are now bounded, preventing requests from hanging.
- The
permissions.txtgenerator no longer drops permissions declared outside its scan (override:creditLimit,read:all-invoices).
- Failed two-factor attempts are now limited per session.
- Hardened validation of mailbox server connections.
- eCMR share links can require a one-time verification code before signing.
- Integration credentials are no longer returned to non-admin users in notification preferences and platform responses.
- Requests without an authenticated context are refused on protected routes, and live updates to portal users only contain what they may see.
Map planning, a rebuilt Marketplace and first-to-accept dispatch
- Trip offers for first-to-accept dispatch:
/trip/{id}/offers:nearby,/trip/{id}/offers:withdraw,/trip/{id}/offers,/trip-offers/open,/trip-offer/{id}/acceptand/trip-offer/{id}/decline. - Marketplace endpoints
/marketplace/search/{offset}/{amount}(live freight exchange search) and/marketplace/import(turn an offer into a transport order). - Return load suggestions:
/recommendations/returnLoad/forTrip/{tripId}. - Map planning search endpoints
/mapPlanning/consignments,/mapPlanning/tripsand/mapPlanning/vehicles. - User dashboards:
/dashboards,/dashboard,/dashboard/{id}and/dashboard/{id}/duplicate. - Workflow template catalog:
/workflow-templatesand/workflow-template/{id}/duplicate. - Lean board rows for vehicles (
/vehicles/board/{offset}/{amount}) and a prioritized trip board per driver (/chauffeur/{id}/trips/prioritized/board/{offset}/{amount}); route geometry via/route/{id}/lineString. - New connectors: X12 EDI (204 load tenders in; 990, 214 and 210 out, with 997 acknowledgements) over hosted FTP, SFTP or API; Samsara, Motive and Geotab telematics; QuickBooks Online; DAT and Truckstop load boards.
- Messaging connectors for SMS and WhatsApp via Twilio, Bird, Vonage and Meta, with inbound webhooks and signature verification.
- Platform settings for regions (units, formats, time zones), first-to-accept dispatch, live activity, AI model, marketplace and legal terms version; addresses gain
stateand a second address line, locations a time zone.
- Board and list endpoints return lean rows for faster loading; second-level caching added for frequently read reference data.
- Pricing module fields can be typed as quantity or price.
- Webfleet, Trimble, Transics and FleetAccess activity imports now record richer activity attributes.
- Unit conversion accepts both comma and dot as decimal separator for lengths and weights.
- A transport order is no longer completed while some of its consignments are still open.
- Optimizer requests keep delivery dates authoritative, narrow them with opening hours and include trailer depots.
- A failed stop attempt is resolved once a later attempt of the same type succeeds; board computer failures now trigger replanning.
- Transics planning places are processed individually and keep their place IDs when a cancellation result is missing.
- Trip progression keeps its integration origin when processed asynchronously.
- Shared links for trips, transport orders, quotes and invoices now open correctly when the link comes from a different portal address.
Transportial Desktop, automatic exceptions and smarter ETAs
- Insights endpoints:
/insights/consignments/lanes:byDateRange,/insights/invoices/openAging,/insights/quotes/conversion:byDateRange,/insights/customers/revenue:byDateRange,/insights/chauffeurs/trips:byDateRange,/insights/vehicles/utilization:byDateRangeand/insights/chauffeurs/tachoActivities:byDateRange. - Grouped execution:
/trip/{id}/actions/lifecycleupdates the lifecycle of several actions at once;/trip/{id}/action:unplannedrecords an unplanned stop;/trip/{id}/locationUpdateposts a location update for a trip. - Planned actions:
/planned-actions/plan,/planned-action/{id}and/planned-action/{id}/time; timeslot bookings via/timeslot-bookings. - ADR lookup by UN number:
/adr/un-numbersand/adr/un-numbers/{unNumber}. - Document templates:
/documentTemplate/generate(AI generation),/documentTemplate-templatesand/documentTemplate-template/{id}/duplicate(catalog). - Integrations:
/integration/{id}/trace/{type}/{traceId},/integration/schedule/previewfor cron schedules, and/integration/virtualFtp/detailsfor the hosted FTP server. - Chat:
/chats/messages/{offset}/{amount}lists messages across all chats; equipment sensors via/transportEquipments/sensors/latest/{offset}/{amount}. - Translation usage per platform:
/platform/{id}/translation/usage; DeepL and Google Cloud Translation providers with translation memory. - New connectors: rFMS (DAF, Daimler, Iveco, MAN, Renault, Scania, Volvo), FleetAccess, SnelStart, e-Boekhouden, air and ocean shipment tracking, and the PTV OptiFlow optimizer.
- Routing engine can be set to
NONE; new platform settings for route alternatives, cost calculation mode, recalculation mode, ETA tuning, quote route calculation, trip cancellation and grouped action execution. - Integrations sync incrementally with a cursor, dispatch work in parallel and use pooled outbound HTTP connections, making imports significantly faster.
- Integration request logging can be enabled per connector; integrations accept connector-specific options.
- Message automation templates support
??(coalesce),:trimand:replace. - Server messages are now available in Spanish, French, Hausa and Romanian.
- PTV xTour (xServer 1) is retired on 1 September 2026; switch to another routing or optimization engine.
- ETA timelines no longer double-count waiting time.
- Location updates and position fetching for Transics and other board computers are faster and more reliable.
- Vehicle search no longer fails on incomplete records.
- Secrets are redacted from integration logs and traces.
- The hosted FTP server supports and can enforce FTPS.
Fleet FMS view, a new route planner and driver performance
- Fleet telematics:
/vehicle/{id}/sensors,/vehicle/{id}/sensors/values/{fromDate}/{toDate},/vehicles/sensors/latest/{offset}/{amount},/sensors/{id}/aggregates/{start}/{end},/vehicle/{id}/tacho-times,/vehicles/tacho-times/{offset}/{amount}and/vehicles/utilization/{fromDate}/{toDate}/{offset}/{amount}. - Driving style:
/vehicle/{id}/driving-style/{fromDate}/{toDate},/chauffeur/{id}/driving-style/{fromDate}/{toDate}and/vehicles/driving-style/{fromDate}/{toDate}/{offset}/{amount}. - Insights:
/insights/vehicles/idlingFuelCost:byDateRangeand/insights/vehicles/temperatureCompliance:byDateRange; geofenced locations via/locations/geofences/{offset}/{amount}. - Driver reviews:
/driver-review,/driver-review/{id},/driver-reviews/{offset}/{amount}and/driver-reviews/chauffeur/{id}/{offset}/{amount}. - Order templates:
/transportOrder/{id}/saveAsTemplate,/transportOrder/{id}/createFromTemplateand/transportOrders/templates/{offset}/{amount}. - Lean list endpoints:
/trips/list/{offset}/{amount},/consignments/list/{offset}/{amount},/transportOrders/list/{offset}/{amount}and/trips/board/{offset}/{amount}. - Planning:
/planned-actions,/chauffeurs/availability,/fleet/{id}/history,/vehicle/{id}/events/{offset}/{amount}and/chat/{id}/read. - AI mapping generation for data sources:
/integration/dataSource/mapping:generate; value mapping rules and test assertions on integrations. - Payment provider webhooks:
/payment/webhook/stripe/{platformId},/payment/webhook/mollie/{platformId}and/payment/webhook/adyen/{platformId}. - New connectors: Salesforce (accounts, transport orders, invoices), Squarell telematics and TRAVIS truck parking bookings; Webfleet planning updates at stop level.
- Contracts gain a contract number, validity period and identifiers; transport orders can reference a contract.
- Integrations no longer echo a change back to the integration that caused it, and outbound handlers can be limited to changes in the fields they declare.
- Trip updates from live providers wait for confirmation instead of moving ahead when a confirmation is required.
- AI extraction no longer fills fields that are disabled on the platform.
- Integration records older than 30 days are cleaned up automatically to keep processing fast.
- Re-saving a transport order with attached files no longer breaks the attachments.
- Quote and pricing element fixes, including quantities and tax rate comparison.
- Forwarded trips and user registration edge cases.
- Added cross-tenant checks on additional endpoints.
Compliance overview, AI data assistant and bulk order editing
- Compliance endpoints:
GET /compliance/overview, posting declarations (search, create,POST /posting-declaration/{id}/declare, dismiss), customs declarations (CRUD and search) andPOST /certificates/expiring:check. - Fuel transactions: CRUD and
POST /fuel-transactions/{offset}/{amount}search. Transactions are flagged automatically when the quantity exceeds the vehicle's tank capacity. - Pallet movements: CRUD on
/pallet-movementsandPOST /pallet-balances/summaryfor net balances per counterparty and pallet type. - Damages filtered by vehicle or transport equipment, e.g.
/damages/vehicle/{id}/{offset}/{amount}. - Energy and service booking types, plus
POST /bookings/energy/plan/{tripId}to plan a fueling or charging stop for a trip (automatic planning is opt-in through the platform energy settings). POST /insights/chatanswers natural-language questions over your data, andPOST /insights/customers/emissions:byDateRangereturns emissions per customer.GET /vehicle/registry-lookup/{licensePlate}?country=looks up vehicle details in a connected national vehicle registry.POST /location/geocode/validateAddressGeoReferencevalidates an address, with a new platform setting to turn validation on.POST /transportOrders/bulkEditupdates status, customer, executing business, team, administration or action time windows for many transport orders at once.- Alerts gained SLA and assignment fields, and the platform has new cabotage alert settings. Integration data sources gained a
sequentialProcessingoption, and field mappings can append to arrays.
- Transport order, consignment and trip models now expose
allDocumentswith every related document. - Transics: places (locations) now sync through their own insert, update and cancel tasks, separate from trips, which supports differently configured Transics environments.
- Webfleet: orders now include the load type, and planning updates are more robust.
- Pricing: time-based modules use the trip's estimated end date, and vehicle, transport equipment and driver price modules are resolved by query.
- The transport order PDF is rendered by the PDF service with a new layout.
- Linked-mail lookups failed because of a faulty query.
- Looking up the default language no longer throws an error when no default is configured.
- Quote creation now falls back correctly when quote lines are missing.
- Incoming integration updates on actions and locations are applied correctly.
- File metadata columns are widened so long MIME types and extensions are stored correctly.
- Hardened access checks on several endpoints and on file downloads.
Planning recommendations, replanning suggestions and chat management
GET /recommendations/{candidateType}/forConsignment/{consignmentId}returns ranked candidates with reasons and warnings (candidateType:vehicle,chauffeur,transportEquipment,capacityContract).- Replanning suggestions:
POST /replanning-suggestions/{offset}/{amount}(search), plusPOST /replanning-suggestions/{id}/evaluate,/acceptand/dismiss. POST /calendar/recurring-events/bulk/previewpreviews which drivers and transport equipment a bulk availability request will hit. Bulk creation now supports recurring calendar events, driver timeslots and to-dos as targets.- Calendar events have a
blockingflag, and driver activities support recurrence. GET /vehicles/trips-and-events:byDate/{fromDate}/{toDate},GET /chauffeurs/trips-activities-events:byDate/{fromDate}/{toDate}and a transport-equipment equivalent return planner lanes in one call.- Mapon connector: vehicle import, planning insert, update and cancel, status updates, and text messages.
- Integrations can subscribe to multiple trigger events.
- Trips and move actions expose CO2e well-to-wheel and tank-to-wheel values. Goods support
cbmas a volume unit.
- Exact Online sales-order import resolves delivery addresses, delivery dates and goods deliveries, and maps lines to items instead of generic goods.
- Webfleet: more stable order ID generation and planning synchronization.
- Chats are soft-deleted instead of being removed together with their messages.
- CMR PDFs are generated by the PDF service.
- The refresh-token flow now issues new access tokens correctly.
- Attaching transport equipment to consignments works again.
- Fixed chat fetching, the status filter on searches, and a case where processing could loop endlessly.
- Transics: vehicles and their chats are created correctly. A PTV validation error no longer blocks route calculation.
- Hardened input sanitization and access checks on query, transport order, trip and user endpoints.
Workflows, App Store publishing and customer portal chat
- Workflows API:
POST /workflow,GET /workflows/{offset}/{amount}, update, delete,POST /workflow/{id}/duplicate,POST /workflow/{id}/executeandGET /workflow/{id}/executions/{offset}/{amount}. POST /transportOrder/{id}/create:invoicecreates an invoice from a transport order.POST /route/calculate:alternativesreturns alternative routes (for example fastest, eco and cheapest) to compare on toll, travel time and emissions.- Bulk actions
POST /vehicles/bulk,/chauffeurs/bulk,/transportEquipments/bulkand/businesses/bulk(ids,action:deleteoroperational,value). POST /calendar/recurring-events/bulkcreates recurring events for many drivers or pieces of equipment, with a rotation pattern (weeks on and off).- Developer and App Store endpoints for app pricing, screenshots, publisher verification, reviews, analytics, developer statistics, featured apps and app API tokens.
- Rail, inland waterway and air booking types.
- Payment status sync for invoices from Exact Online, Moneybird and Twinfield.
- Platform settings for automatic chat translation and for showing chat in the customer portal.
- Regenerated and restructured OpenAPI (Swagger) documentation.
- Webfleet: order documents are sent as attachments (up to 5 files of at most 5 MB each, in common image, PDF and office formats), and the driver filter on updates was improved.
- Exact Online sales-order import was improved.
- Description fields now accept longer text.
- Fixed event creation through the API.
- Fixed location search and consignment updates.
- Fixed Transics synchronization issues.
Customer portal, setup wizard and the bulk trip planner
POST /transportOrder/{id}/splitsplits a transport order into legs/trips;POST /transportOrder/{id}/forwardforwards an order;GET /transportOrder/{id}/tripsandGET /transportOrder/{id}/trips:customerlist an order's trips.POST /transportOrders/cancelcancels several transport orders and all their elements in one call.POST /quote/{id}/create:transportOrdercreates a transport order from a quote.PUT /trip/{id}/complete-actionscompletes all remaining actions of a trip.- Activity endpoints:
GET /transportOrder/{id}/activity,/trip/{id}/activity,/invoice/{id}/activity,/quote/{id}/activity. - Public invoice payments:
GET /invoice:public/{id}/{shareCode}/payment-providers,POST .../payment-intentandPOST .../confirm-payment(Stripe and Adyen). - Integration tests:
GET/POST /integration/{id}/test,PUT/DELETE /integration/{id}/test/{testId},POST /integration/{id}/test/{testId}/runandPOST /integration/{id}/test/run. - Marketplace:
POST /api/v1/tender/inboundto submit tenders from external systems andPOST /tender/{id}/accept-and-plan; connectors for Timocom, Trans.eu, Teleroute, DAT, Freightos and Sennder. - Access requests:
GET /user/access-requests/{offset}/{amount},POST /user/access-request/{id}/approveand/decline;POST /booking/carrier/{carrierId}/confirmwebhook for ferry booking confirmations. - Tax rates and pricing categories: CRUD and search under
/taxRate,/taxRates/{offset}/{amount},/pricingCategoryand/pricingCategories/{offset}/{amount};POST /insights/trips:dailyReport.
- New connectors: DFDS, Stena Line, P&O Ferries and CLdN ferry bookings, SeaRates shipment tracking, Avantida container reuse, Adyen payments and Exact Online sales order import.
- Routing engines OSRM, HERE and Google can be selected per platform; a new optimizer engine option was added to planning settings.
- Vehicles and transport equipment gained
axles; trips can be linked to teams; documents haveisPublic, verification and validity fields; quotes and invoices accept a contact person. - Transport order numbers now use a 64-bit sequence.
- OpenAPI/Swagger definition regenerated with more precise schemas and documentation for integrations, message automations and price modules.
- Failed webhook deliveries can be retried instead of being lost.
- Child records removed from a transport order or trip are now deleted reliably (orphan removal).
- Webfleet planning cancellation and chauffeur filtering fixes.
App Store, report query builder and invoice approvals
POST /trip/{id}/completecompletes a trip inPENDING_COMPLETION, triggering invoices and integration events; platform settingrequirePlannerCompletionForTrips.GET /trip/{id}/financials/combinedreturns combined financials for combined trips.GET /transportOrder/{id}/{shareCode}/tripsexposes trip tracking for shared transport orders, honoring new visibility fields (showTripTracking,showVehicle,showChauffeur,showDocuments,showCustomerDetails).- App Store endpoints:
GET /app-store/categories(plus category create/update/delete), app detail,GET /app-store/pending/{offset}/{amount}andGET/PUT /app/installation/{installationId}/settings. - Message automations accept
documentAttachmentsgenerated from document templates or insight reports. - Teams have
managers; administrations havetransportOrderTermsAndConditions; platform planning settingsortActionsOnConsignmentDrop.
- PDF generation (invoices, quotes, transport orders, document templates) moved to a dedicated PDF service.
- Exact Online connector re-syncs invoices and quotes on update, uploads their documents and uses the configured journal codes.
- Google Routes can be used for distance matrix calculations in the optimizer; optimization requests accept multiple depots.
- Trip read and update endpoints respond considerably faster; live updates are batched.
- Duplicate invoice creation and ledger entry ID collisions between modules.
- Incoming invoices are no longer automatically marked as paid.
- Transport order status calculation, invoice status and invoice due dates.
- Telegram and FTP connector fixes and several memory leaks in integration workers.
Email client, document designer and AI-generated setups
- Document templates:
POST/PUT /documentTemplate,GET/DELETE /documentTemplate/{id},POST /documentTemplate/{id}/duplicate,GET/POST /documentTemplates/{offset}/{amount}andGET /documentTemplate/fields/{entityType}for bindable fields. - Mail:
POST /mail/send,POST /mail/{id}/reply,POST /mail/{id}/forward,GET /mail/thread/{threadId},PUT /mail/{id}/star,POST /mail/{id}/link,DELETE /mail/{id}/unlinkandGET /mails/linked/{entityType}/{entityId}. - AI generation:
POST /integration/generate,POST /messageAutomation/generateandPOST /pricing/modules/from-documents. GET /chauffeur/{id}/trips/prioritized/{offset}/{amount}returns a driver's trips sorted by status priority.- Subscription price module type with billing period, allocation strategy and optional pro-rata.
- Platform setting
aiProvider(OPENAI,GEMINI,CLAUDE) selects the AI provider used by AI features. - Microsoft 365 (Graph) mailbox fetching connector.
- Capacity contracts support
CHAUFFEURandTRANSPORT_EQUIPMENTsub-types and can be filtered by them. - Action status updates accept questionnaire answers.
- Optimizer distance matrices can be calculated through PTV xServer and PTV Developer.
- EVO GPS authentication.
- Asynchronous search indexing and message automations triggered by trip updates.
- Links of the first link type could not be created.
- Faster, cleaner shutdown and lower memory use for API and worker nodes.
Action questionnaires, automation preferences and a new trip map
GET /action/{id}/result/questionnaireandPOST /action/{id}/result: fetch the questionnaire that applies to an action and submit its answers; answers are mapped onto the action result.GET /messageAutomation/user-preferencesandPOST /messageAutomation/user-preference: list and toggle the automations a user is subscribed to.- Message automations accept user-toggle and user permission filter options.
- Planning settings
onlyCalculateRouteOnTripConfirmed,onlyCalculateCapacityOnTripConfirmedandonlyCalculateFinanceOnTripConfirmed. POST /trip/optimizeracceptsoptimizerAlgorithmConfiguration(operating intervals, maximum driving period, maximum period, constraint overrides).- Exact Online integration: multi-division support, sales order import and invoice sync as ledger entries.
- EvoGPS integration rebuilt: separate tasks for vehicles, drivers, driver status and vehicle data.
- Integration objects are processed asynchronously, with a synchronous path where results are needed immediately.
- Chat search also matches on user details.
- Types are soft-deleted, so references to deleted types remain resolvable.
- Ledger entries carry a source flag; revenue and cost are calculated per source (quote, order, consignment, trip).
- Cost ledger entries are attributed to the correct consignment.
- Errors when saving pricing elements that referenced a new business.
- Integration filters and message automation sending.
- Trip saving and consistent live updates for consignments.
Calendar events, calendar sync and a driver plan board
- Calendar events:
POST /calendarEvent,PUT /calendarEvent,GET/DELETE /calendarEvent/{id},GET /calendarEvents/{offset}/{amount}andPOST /calendarEvents/search/{offset}/{amount}, with recurrence patterns. GET /vehicle/{id}/trips-todos-and-events:byDateTime/{startDateTime}/{endDateTime}.- Action schedules: CRUD under
/action-schedules. - Location timeslots and timeslot bookings (first version):
GET /location-timeslots/available,POST /timeslot-bookings,GET /timeslot-bookings/{id},POST /timeslot-bookings/{id}/cancel. GET /file/{id}/download:proxyto download files through the API.- Calendar integrations for Microsoft, Google and Apple calendars.
- DP World integration (EDIFACT over SFTP) and Microsoft Graph e-mail sending.
- Platform setting for allowed inbound e-mail domains.
- Localized text fields for administration texts such as terms and conditions; API messages in German and Italian.
- Server framework upgraded; plain-text error responses are now returned as JSON with an
errorsarray. - Graceful shutdown and new health probes reduce failed requests during deployments.
- Search request bodies for vehicles, chauffeurs and transport equipment are documented in the OpenAPI specification, including availability filters.
- Extended consignment and transport order responses.
- Chauffeur timeslots are merged into chauffeur activities.
- Webfleet positions, board computer linking and SMTP sending.
- Time zone handling in message template date formatting.
- Integration file template filtering on actual values.
External chat channels, invoice approvals and online payments
- External chat channels:
GET/POST /chat/{chatId}/integrations,PUT/DELETE /chat/{chatId}/integrations/{bindingId}andPOST /chat/{chatId}/send-external. Messages expose their source (internal, e-mail, WhatsApp or Telegram, inbound or outbound). - Invoice approvals:
POST /invoice/{invoiceId}/request-approval,POST /invoice/{invoiceId}/approve,POST /invoice/{invoiceId}/reject,GET /invoice/pending-approvals,GET /invoice/all-pending-approvals. GET /invoice:public/{id}/{shareCode}to read a shared invoice.GET /vehicle/{id}/trips-and-events:byDateTime/{startDateTime}/{endDateTime},GET /chauffeur/{id}/activities-and-events:byDateTime/{fromDate}/{toDate}andGET /transportEquipment/{id}/trips-and-events:byDateTime/{startDateTime}/{endDateTime}.POST /chauffeur/{id}/assign-userto create and invite a user for a driver; drivers can sign in with the chauffeur role.- Stripe and Mollie integrations, triggered after an invoice is sent.
- Google Maps and HERE route calculators.
- Financial ledger logic rebuilt: revenue and cost propagate between quote, transport order, consignments and trip.
- Deleting and cancelling a transport order follow the same rules; deletes now also handle consignment actions and tenders.
- FleetAccess integration syncs board computers and positions only.
- Permissions and initial data for new environments are created at startup.
- Duplicated ledger entries and doubled revenue or costs from quotes.
- Consignment numbers when several consignments are saved at once.
- Orphaned capacity events after deleting or cancelling trips.
- Crash on the first transport order in a new environment.
Exact Online and Moneybird, App Store and smarter templates
- Exact Online and Moneybird integrations: invoice and quote sync, relation creation and default code lookup.
POST /insights/vehicles/actions: report of vehicle stops in a date range, including durations.- Currency and tax rate handling for incoming invoices and quotes.
- Message templates and automations use a new template interpreter with nested conditions, loops, tables and date formatting.
- Route calculation takes booking actions into account and splits routes around them.
- Action events carry context and attributes for all action types.
- Date formatting and capitalization in templates.
- Invoice and quote input and admin-level integrations.
FleetAccess, Microsoft 365 mail and booking-aware routes
- Asynchronous requests: send the header
async: trueon supported endpoints, then pollGET /async/status/{requestId}and fetchGET /async/result/{requestId}. - App Store endpoints:
GET /app-store/browse/{offset}/{amount},POST /app/{appId}/install,GET /apps/installedandDELETE /app/installation/{installationId}. Installed apps receive access tokens and webhooks. - FleetAccess integration (vehicles, drivers, driver status, positions, activities, tire data).
- SMTP integrations support OAuth 2.0 authentication.
- PTV route calculation uses task-based requests for long routes.
- Routes are split around booking actions.
- Load meters and length/width are converted for goods, vehicles and transport equipment; negative and decimal inputs are handled.
- Webfleet driver import with special characters.
- ETA/ETD calculation for single actions.
- Capacity events left behind by deleted trips.
Redesigned optimizer, new reports and driver activities in OpenMove
GET /chauffeur/{id}/trip-stats: trip statistics of a driver (permissionread:chauffeur-trip-stats).POST /chauffeurs/{id}/activity: log a driver's current activity; the previous activity is closed.POST /insights/consignments:results: consignments and their results in a period (permissionget:consignmentResultsByDate).POST /insights/trips:loading/location/{id}: loading sheet of a location (permissionget:tripsLoadingSheet).- Planning settings
optimizerAlgorithmConfiguration(default vehicle operating intervals, maximum driving period, maximum period).
- Optimizer responses include the consignments that could not be planned.
- Search ranks exact matches first; relevance sorting applies only when a query is given.
notesdefault to an empty array instead of null on users, businesses, chauffeurs, vehicles, integrations, tires and bans.- Webfleet vehicle import improved; external attribute values are stored as values.
- Duplicate transport order numbers.
- Trip capacity calculation and capacity change metrics.
- Capacity contract handling.
Webfleet order sync, recurring driver availability and vehicle types
- Driver timeslot exceptions:
POST /chauffeur-timeslots/{timeslotId}/exception,GET /chauffeur-timeslots/{timeslotId}/exceptionandDELETE /chauffeur-timeslots/{timeslotId}/exceptions/{exceptionId}. GET /chauffeurs/{chauffeurId}/calendar-occurrencesreturns the expanded calendar occurrences for a driver.- Webfleet integration: trip updates now update the existing Webfleet order (update planning), including booking information and order types.
- Vehicle types are now a supported type target entity.
- Webfleet requests now send credentials as a Basic
Authorizationheader instead of URL parameters, following Webfleet's deprecation of URL credentials. - Integration fields support basic authentication with an API key as an extra value.
- Capacity change event types were renamed; existing events are migrated automatically.
- Integration responses whose body is a JSON array (instead of an object) are now parsed correctly.
- PTV route calculations returned incorrect values in some cases.
- Estimated arrival and departure per action in generated quote route options.
Version history, multimodal quote options and double-booking alerts
GET /entity:history/{entityType}/{id}/{offset}/{amount}returns the version history (changes, user and timestamp) of an entity.GET /consignment:cancel/{id}cancels a single consignment.GET /location/{id}/actions/{offset}/{amount}lists the actions planned at a location.GET /user/{id}/sessions/{offset}/{amount}lists a user's sessions.- Calendar endpoints:
POST /calendar/recurring-events,GET /calendar/recurring-events/occurrences, exceptions on recurring events, and per-resource events and availability under/calendar/chauffeurs/{id},/calendar/vehicles/{id}and/calendar/transport-equipment/{id}. - New
BOOKINGaction type carrying booking type, booking number, bill of lading number and external reference. - Webfleet integration: send trips as orders (insert planning), cancel them, and receive status updates and positions.
- FTP file exchange for integrations: uploaded files create integration input; outgoing files are offered for download.
- Platform alert settings for the new vehicle, transport equipment and driver double-booking alerts.
- Generating quote lines from a transport order now returns lines for multiple transport-mode options (road, sea, air, rail), grouped per option.
- Trip search by
type/typesnow also matches trips without a type. - Sessions and platform settings are cached, reducing response times.
- Two-factor (OTP) verification during login.
- Updating a business could fail.
- Widget data and live consignment updates.
Shareable trip execution, Webfleet, EVO GPS and Squarell connections
GET /chauffeur/{id}/trips/future/{offset}/{amount}andGET /chauffeur/{id}/trips/past/{offset}/{amount}return a driver's upcoming and past trips.- Trip search accepts multiple statuses in one request.
- New integrations: Webfleet (
web_fleet: vehicles, drivers, text messages), EVO GPS (evogps: devices, positions) and Squarell (vehicle data and tachograph DDD files). mobilePhonefield on contact persons.- Teams gain an e-mail integration, fleets and an order-number prefix.
- Updates received through integration data sources are now merged into the existing record instead of replacing it.
- Additional database indexes improve trip and on-board computer queries.
- Deleted trips were still returned by trip search.
- Vehicle search and quote calculations returned incorrect results in some cases.
Automatic trip alerts, load meter calculation and Exchange 365 mail
GET /chauffeur/{id}/trips:byStatus/{status}/{offset}/{amount}returns a driver's trips by status.chauffeurIdfilter in trip search.- Microsoft Exchange 365 (
EXCHANGE) integration type, usable as an e-mail channel for message automations; WhatsApp added as a message automation channel. - Platform planning settings
goodsWeightsAndLoadMetersAreTotalFieldsandshowEventsOnActionCards; trip settingminimumEstimatedDurationUntilNextStartDateTimeConstraint.
- Vehicle
loadMeters(available load meters) moved toloadLoadMeters;loadMetersnow holds the load meters taken. Existing values are migrated automatically. - Goods load meters and length/width are now converted into each other on save, as are transport equipment load length/width and
loadLoadMeters. - Message automation channels now expose
integrationManualTypes(a list) instead ofintegrationManualType. - Integration search accepts a
manualTypesfilter.
- Integration updates overwrote existing records instead of updating them.
- Real-time socket events were not always sent.
- Notifications were not returned in descending order.
Settings groups, configurable trip fields and a new PDF engine
- Settings groups:
POST /settingsGroup,PUT /settingsGroup,GET /settingsGroup/{id},DELETE /settingsGroup/{id},GET /settingsGroup/{id}/apply, andGET/POST /settingsGroups/{offset}/{amount}to list and search. POST /user/session/refreshrefreshes an access session using a refresh token.remarkfield on trips.transportModefilter in trip search.- Roles can be marked as platform-specific.
- Search uses fuzzy and wildcard matching across entities.
- Invoice, quote and transport order PDFs are rendered by a dedicated PDF service, honoring the request's language and date format.
- Maximum upload size increased.
- Avatar missing in
GET /chauffeur/user/{id}. - Cabotage statistics calculation.
- Socket connections for real-time user events dropped in some cases.
Alerts, expected costs and turnover, and redesigned CMR printing
- Alert endpoints:
POST /alerts(alerts for a set of entities),GET /alerts/{entityType}/{entityId}/{offset}/{amount},PUT /alert/{id}/solveandPUT /alert/{id}/ignore. GET /chauffeur/user/{id}returns the driver linked to a user.expectedCostandexpectedRevenueon transport orders and consignments; expected costs and turnover on trips.- Platform
routingEnginesetting (defaults to PTV). - New
TYPE_TAKE_AND_RETURN(packaging) action type; types can carry a deposit value and pricing category.
- Manual alert create, update and delete endpoints (
POST /alert,PUT /alert,DELETE /alert/{id}). Alerts are now generated by Transportial and handled with solve/ignore.
- Creating a driver through the API now creates a user that can log in.
- Message automations could send duplicate messages.
- Reading
.xlsxfiles and base64-encoded file uploads.
Management dashboards, App Store, single sign-on and AI import
- Endpoints for driver
certificates,bans,serviceCards,complaintsandtires, each with filtering by chauffeur or business. - Ledger entry endpoints, plus revenue and cost calculation on trips, transport orders, consignments and vehicles.
- App Store resources: apps, app versions and publishers.
- Alerts endpoints (create, get, search, update, delete).
- AI document reading: create transport orders, quotes and invoices from uploaded files and e-mails (including
.eml). - Public quote access by share code, plus a reminder endpoint for quotes and invoices.
- Bulk trip actions to update, confirm or cancel several trips in one request.
- Board and to-do statistics endpoints, and a TQL field search endpoint.
- Draft (concept) transport orders that can be accepted or declined.
- New connectors: FleetsOnline, YourSoft, and the DP World and PSA terminals.
- Workflows were renamed to message automations, with matching endpoints and permissions.
- Request and response models were standardized across all entities and published in the OpenAPI documentation.
- Tenders now reference consignments instead of whole transport orders.
- Trips now expose
estimatedDurationand estimated end dates. Route calculation also returns ETD. - Business and contact person models now include contact persons in responses.
- Live updates are pushed directly over the socket for much faster refreshes.
- SAML single sign-on now redirects correctly to the identity provider.
- Twinfield accounting sync is more reliable.
- Hardened the permission checks on individual fields and entities.
- Simplified and stabilized OpenID login.
Own routing engine, driver planner and self-service signup
- SAML single sign-on configuration and authentication endpoints.
- Two-factor authentication (OTP) for login, plus recovery codes.
- Public registration route with location-based time zone detection.
- Billing endpoints for usage events and invoices per platform.
- Booking endpoints and trip confirmation.
- Route responses now include CO2 emissions, elevation and toll path details. Routing engine can be set per platform.
- Quote and invoice sending, invoice combining and PDF downloads.
- Webhook connection type for integrations, and API access integrations.
- Socket subscriptions for trips and transport equipment.
- Connectors: Twinfield, AFAS, HubSpot, project44, Trimble, Iveco, Teleroute, BigMile, OpenSky and CHAMP.
- Files are now served through temporary download URLs instead of being streamed by the API.
- Integrations can import JSON and XML files, and businesses are a supported import type.
- Transport equipment gained container number and seal fields, and actions support a refuel type.
- Trip responses now include
lastAction,lastPlannedActionandcurrentAction.
- Removed the old standalone pricing entity, replaced by pricing modules.
- More stable database session and transaction handling under load.
- Users get no permissions until two-factor verification is complete.
Planner, invoicing, capacity contracts and workflows
- Capacity, capacity contract and schedule endpoints with time slots.
- Workflow endpoints with template interpretation and scheduled or event triggers.
- Pricing module endpoints, and invoice lines with sequence numbers and totals.
- TQL query endpoints, including field lookup with pagination (
/tql/fields/{entityType}/{keyword}/{offset}). - Tender bid endpoints to accept, decline and counter, plus lowest bid and bid count.
- Consignment combine and split endpoints, plus linked trips (
linkedTrip) and trip swapping. - Camera, tachograph and chauffeur time slot resources.
- Schedule routes and route calculation with GraphHopper, starting with maritime routes.
- Excel file handling for imports, and a Postman collection.
- Connectors: TIMOCOM freight exchange (offers, orders, location updates), Telenormic vehicle cameras, container shipping schedules, statistics reporting, and board computer messaging (telegrams).
- Permissions are generated from the API routes, and roles can now delete.
- Monetary amounts are stored as decimals, and long text fields have no length limit.
- Many query parameters moved to path parameters, and the general search endpoint was expanded.
- OpenAPI documentation is generated from the code and published per module.
- Failed integration objects are now retried and repaired automatically.
- Added rate limiting and stricter CORS and referrer handling.
Integrations, plan board, invoicing and Marketplace
- Integration resources: configurable, file template and manual integrations, plus integration tasks and objects.
- Endpoints for chauffeurs, terminals, transport equipment, contracts, lanes, boards and to-dos.
- Administration and document endpoints, plus widget and insight resources.
- Tender (Marketplace) endpoints.
- WebSocket live updates and Firebase push notifications.
- ETA calculation through PTV and a location-on-route check.
- Connectors: Transics, TransFollow, Portbase, project44 and Uturn, plus e-mail and FTP/SFTP imports.
- Search on identifier value and name, and filters such as
hasAdrandhasDriverLicense.
- The data model was upgraded to OTM 5.1.
- JWT-based authentication and a new login method.
- Pagination parameter
fromwas renamed tooffset. - The database moved to PostgreSQL, with versioned migrations.
- Added
alwaysCombinedTransportto platforms.
- Removed the old external attributes and value-with-unit structures in favor of simpler fields.
- Upgraded password hashing (Argon2).
Transportial foundation: orders, fleet and communication
- REST API with CRUD and search endpoints for transport orders, consignments, goods, actions, trips and routes.
- Fleet resources: vehicles, vehicle groups, fleets, board computers and sensors.
- Relation resources: businesses, customers, actors and locations with geo references.
- Chat, mail import, message templates and notifications endpoints.
- Constraint and event resources, plus associations between entities.
- Registration, login and session management endpoints.
- OpenAPI (Swagger) documentation for all endpoints.
- The data model was aligned with OTM 5 (Open Trip Model).
- Permission checks on every route.