Download OpenAPI specification:Download
In this day and age more and more information about logistics and traffic is shared over the Internet between various parties. To make this communication easier the Open Trip Model specification was created. It is a lightweight data model used to exchange real-time logistic trip data on the web, and to make it easier for shippers, carriers, software vendors, OEMs, and truck manufacturers to create new multi-brand applications and services.
To learn more about the what, the why and the how see the developer portal.
Found any bugs on this page? Or have any feature requests for OTM? Create a new ticket on the OTM5 change requests Github page
Version 5.6 (released on 2023-11-17)
owner
as a new type of actor role. See 78.routeEntityConstraint
and deprecate routeConstraint
. See 80.Version 5.5 (released on 2023-02-07)
Consignment
vs Goods
constraints. See 42.fuel
on vehicle an enum instead of a free string. See 51.emissionStandardConstraint
as a possible constraint. See 52.transportOrder
as a field on Consignment
to enable the two-way relationship. See 59.eori
as a possible contact detail option. See 60.valueBoundConstraint
as a possible constraint. See 61.refuel
as a possible action. See 62.accessConstraint
as possible constraint. See 69.Version 5.4 (released on 2022-05-09)
TransportEquipmentConstraint
. See 46.averageFuelConsumption
to vehicle. See 48.contextEvents
on entities. See 49.sequenceNr
to all action types. See 50.cancelled
on action results and receiverAbsent
as 'reason' type. See 53.actors
to all event types. See 55.description
to all constraint types. See 56.Version 5.3 (released on 2021-12-16)
relatedConsignments
in consignments. See 32.temperatureConstraint
as a possible constraint type. See 37.Version 5.2 (released on 2021-09-09)
transportEquipmentSubType
for example to indicate what type of pallets you use. See 19.timeWindowConstraint
to replace startDateTimeConstraint
and endDateTimeConstraint
. See 6.operationalBase
as a location type. See 22.Version 5.1 (released on 2021-06-01)
emission
to Vehicle. See 13.transportMode
to Trip and Move. See 12.grossWeight
to Goods. See 11.mobilePhone
as contact detail option. See 5.lastModified
field to each entity. See 2.Version 5.0 (only documentation changes)
Stop
action.TransportEquipment
(i.e. a trailer).A Vehicle
is a means to transport consignments from one location to potentially multiple other locations. There
are various types of vehicles, each with their own unique properties like size, dimensions, fuel type and means
of tranport (by air, on land, over sea).
Returned the entity with the provided UUID
Client error
Server error
{- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}
}
id | string Uniquely identifies this entity. A URI can be assigned by the client to indicate where more information can be retrieved. Note that every entity always has a unique EntityId. However since, OTM5.2 it is not required to send it in the request. One can be generated for you by the server. |
name | string Name of the entity. For display purposes and search only. |
creationDate | string The creation date of this entity. |
lastModified | string The last modified date of this entity. If none is given the creation date is used instead. |
Array of any (events) The context events provides some optional information about the events that can provide additional information on the current state of this entity. For example: your system might send ETA information for the arrival of a vehicle on a location. To make it clear what caused this ETA to be updated, we can include some information about what caused this ETA update by including an event as context. If your ETA update was caused by a location update, this event can be included as context. If the ETA was caused by a traffic accident on the route of the vehicle, you can include that event in the context. | |
externalAttributes | object |
vehicleType | string The type of vehicle |
fuel | string The type of fuel the vehicle runs on. For vehicle without an engine of their own, such as a trailer, you may choose |
otherFuelType | string Type of fuel, only to be used when the |
object The average fuel consumption for this vehicle. Usually measured in distance per 100l | |
emissionStandard | string European emission standards are vehicle emission standards for exhaust emissions of new vehicles sold in the European Union and EEA member states. The standards are defined in a series of European Union directives staging the progressive introduction of increasingly stringent standards. See also European emission standards - Wikipedia. |
maxLinks | integer <int32> Maximum number of links to other |
Array of objects The load capacities of the
| |
object The length of the | |
object The height of the | |
object The width of the | |
licensePlate | string The license plate of the vehicle. |
object The weight of the | |
Array of any There are multiple roles in which actors can be associated with a vehicle, such as the owner or the driver of the vehicle. | |
Array of any Vehicles might have some sensors that are permanently attached, these can be described using the sensors field. If one works with detachable sensors the recommend approach is to use associationCreated and associationRemoved events instead. | |
Array of any (associations-actions) The actions that are involved for the vehicle (for a particular time window) |
The same entity
Client error
Server error
{- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}
}
{- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}
}
Returned the entity with the provided UUID
Client error
Server error
{- "id": "beb9a25f-3f64-42ae-b1c6-e89cd450f66b",
- "name": "An example route using coordinates to indicate how to drive.",
- "geoReferences": {
- "geometry": {
- "coordinates": [
- [
- 1,
- 0
], - [
- 5,
- 0
], - [
- 5,
- 3
], - [
- 13,
- 3
], - [
- 13,
- 7
]
], - "type": "LineString"
}, - "type": "Feature"
}
}
The same entity
Client error
Server error
{- "id": "beb9a25f-3f64-42ae-b1c6-e89cd450f66b",
- "name": "An example route using coordinates to indicate how to drive.",
- "geoReferences": {
- "geometry": {
- "coordinates": [
- [
- 1,
- 0
], - [
- 5,
- 0
], - [
- 5,
- 3
], - [
- 13,
- 3
], - [
- 13,
- 7
]
], - "type": "LineString"
}, - "type": "Feature"
}
}
{- "id": "beb9a25f-3f64-42ae-b1c6-e89cd450f66b",
- "name": "An example route using coordinates to indicate how to drive.",
- "geoReferences": {
- "geometry": {
- "coordinates": [
- [
- 1,
- 0
], - [
- 5,
- 0
], - [
- 5,
- 3
], - [
- 13,
- 3
], - [
- 13,
- 7
]
], - "type": "LineString"
}, - "type": "Feature"
}
}
A sensor is a device that is able to measure a quantity in a certain unit, such as measuring the speed in km/h.
Returned the entity with the provided UUID
Client error
Server error
{- "id": "6666f00c-1332-472c-aff9-bc11b3d53296",
- "name": "Temperature sensor in trailer x",
- "placement": "Compartment 1",
- "sensorType": "accelerometer",
- "actors": [
- {
- "entity": {
- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}, - "associationType": "inline"
}
]
}
The same entity
Client error
Server error
{- "id": "6666f00c-1332-472c-aff9-bc11b3d53296",
- "name": "Temperature sensor in trailer x",
- "placement": "Compartment 1",
- "sensorType": "accelerometer",
- "actors": [
- {
- "entity": {
- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}, - "associationType": "inline"
}
]
}
{- "id": "6666f00c-1332-472c-aff9-bc11b3d53296",
- "name": "Temperature sensor in trailer x",
- "placement": "Compartment 1",
- "sensorType": "accelerometer",
- "actors": [
- {
- "entity": {
- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}, - "associationType": "inline"
}
]
}
Returned the entity with the provided UUID
Client error
Server error
{- "id": "11c11d75-e114-4b5f-9751-b3a4afa23ecf",
- "name": "Main warehouse",
- "geoReference": {
- "lat": 5.4126792,
- "lon": 52.1956251,
- "type": "latLonPointGeoReference"
}, - "type": "warehouse",
- "administrativeReference": {
- "name": "Supermarket warehouse",
- "street": "Valutaboulevard",
- "houseNumber": "16",
- "houseNumberAddition": "C",
- "postalCode": "1825BT",
- "city": "Amersfoort",
- "country": "NL"
}, - "contactDetails": [
- {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}
], - "remark": "The cafe around the corner has the best coffee in town."
}
id | string Uniquely identifies this entity. A URI can be assigned by the client to indicate where more information can be retrieved. Note that every entity always has a unique EntityId. However since, OTM5.2 it is not required to send it in the request. One can be generated for you by the server. |
name | string Name of the entity. For display purposes and search only. |
creationDate | string The creation date of this entity. |
lastModified | string The last modified date of this entity. If none is given the creation date is used instead. |
Array of any (events) The context events provides some optional information about the events that can provide additional information on the current state of this entity. For example: your system might send ETA information for the arrival of a vehicle on a location. To make it clear what caused this ETA to be updated, we can include some information about what caused this ETA update by including an event as context. If your ETA update was caused by a location update, this event can be included as context. If the ETA was caused by a traffic accident on the route of the vehicle, you can include that event in the context. | |
required | any Describes a geographic reference, this is the primary way to link a |
externalAttributes | object |
unCode | string the United Nations Code for Trade and Transport Locations, is a geographic coding scheme developed and maintained by United Nations Economic Commission for Europe (UNECE) to uniquely identify locations. See this Wikipedia page. |
gln | string The Global Location Number (GLN) is part of the GS1 systems of standards to uniquely identify a location. See also this Wikipedia page |
type | string The type of location. |
object Address information that is used as an administrative reference. For example: when the actual load location is different from the officially registered location, this holds the latter | |
Array of any Contact details for this | |
remark | string Remark about the location. Please don't misuse this field for external references, use the |
Array of any The locations that are can be identified on their own, but are also part of this location. For example a dock at a large distribution area. Sub-locations can also be seen as 'points of interest' on a larger location. | |
Array of any Locations can be associated with actors in multiple ways, though the most common one is the owner of the location, either a person or a legal entity. | |
Array of any (associations-actions) Multiple actions can be associated with a location, such as a Last-Mile guidance that should be followed to reach that location. | |
any In the context of a
|
The same entity
Client error
Server error
{- "id": "11c11d75-e114-4b5f-9751-b3a4afa23ecf",
- "name": "Main warehouse",
- "geoReference": {
- "lat": 5.4126792,
- "lon": 52.1956251,
- "type": "latLonPointGeoReference"
}, - "type": "warehouse",
- "administrativeReference": {
- "name": "Supermarket warehouse",
- "street": "Valutaboulevard",
- "houseNumber": "16",
- "houseNumberAddition": "C",
- "postalCode": "1825BT",
- "city": "Amersfoort",
- "country": "NL"
}, - "contactDetails": [
- {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}
], - "remark": "The cafe around the corner has the best coffee in town."
}
{- "id": "11c11d75-e114-4b5f-9751-b3a4afa23ecf",
- "name": "Main warehouse",
- "geoReference": {
- "lat": 5.4126792,
- "lon": 52.1956251,
- "type": "latLonPointGeoReference"
}, - "type": "warehouse",
- "administrativeReference": {
- "name": "Supermarket warehouse",
- "street": "Valutaboulevard",
- "houseNumber": "16",
- "houseNumberAddition": "C",
- "postalCode": "1825BT",
- "city": "Amersfoort",
- "country": "NL"
}, - "contactDetails": [
- {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}
], - "remark": "The cafe around the corner has the best coffee in town."
}
An Actor
models a legal entity. A legal entity is an individual, company, or organization that has legal rights and obligations. The use of
Actors
is optional, and is not necessary to use OpenTripModel. Actors can be used e.g. to group all locations that belong to an organisation,
or to address an OpenTripModel message to a specific person or organisation.
Returned the entity with the provided UUID
Client error
Server error
{- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}
The same entity
Client error
Server error
{- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}
{- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}
A consignment is a description of an identifiable collection of goods items to be transported between the consignor and the consignee. This information may be defined within a transport contract.
Returned the entity with the provided UUID
Client error
Server error
{- "id": "string",
- "name": "string",
- "creationDate": "string",
- "lastModified": "string",
- "contextEvents": [
- {
- "id": "fc6b2b0c-2f0a-40c6-a580-212c5c7984c8",
- "name": "couple vehicle to trip",
- "lifecycle": "planned",
- "entity1": {
- "uuid": "50824123-0924-4563-ac1e-ca0e37487823",
- "entityType": "trip",
- "associationType": "reference"
}, - "entity2": {
- "entity": {
- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}, - "entityType": "vehicle"
}, - "associationType": "inline"
}, - "eventType": "associationCreatedEvent"
}
], - "externalAttributes": {
- "property1": { },
- "property2": { }
}, - "description": "string",
- "status": "draft",
- "type": "string",
- "goods": [
- {
- "associationType": "inline",
- "entity": {
- "id": "903807df-ee62-47aa-bf8e-7efd747618ce",
- "description": "Box of bananas",
- "remark": "Please deliver in time, we want fresh bananas",
- "barCode": "CSE370",
- "productType": "Fruit",
- "packagingMaterial": "Box",
- "constraint": {
- "entity": {
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "type": "items"
}, - "description": "string"
}
], - "transportOrder": {
- "associationType": "inline",
- "entity": {
- "id": "baa507c2-1d81-4092-a5c2-e80820ee4fd1",
- "externalAttributes": {
- "id": "OrderId"
}, - "description": "Transport order containing all consignments to be shipped.",
- "consignments": [
- {
- "entity": {
- "id": "e75a541b-e9d9-49e7-8bba-95492d682a6c",
- "description": "Package for miss X."
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "4a08bd61-720e-4a8c-81cf-028f1271c4da",
- "description": "Package for mr Y."
}, - "associationType": "inline"
}
]
}, - "description": "string"
}, - "documents": [
- {
- "associationType": "inline",
- "entity": {
- "id": "cf32da57-5edc-4c46-9a97-58c97ae27cf8",
- "name": "Photo of the PoD",
- "externalAttributes": {
- "externalID": "photo1234"
}, - "documentType": "photo",
- "filename": "my_photo.JPG",
- "mimeType": "image/jpeg",
- "description": "Proof that the goods are delivered by providing the photo that captures the moment",
- "creator": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}, - "owner": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}
}, - "description": "string"
}
], - "remark": "string",
- "actors": [
- {
- "associationType": "inline",
- "entity": {
- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}, - "description": "string",
- "roles": [
- "shipper"
]
}
], - "actions": [
- {
- "associationType": "inline",
- "entity": {
- "id": "e81a7aa3-23a6-4089-b916-52b854c7b6f1",
- "lifecycle": "planned",
- "remark": "loading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T14:00:00Z",
- "endTime": "2021-06-23T14:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "actionType": "load"
}, - "description": "string"
}
], - "constraint": {
- "associationType": "inline",
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "description": "string"
}, - "relatedConsignments": [
- {
- "associationType": "inline",
- "entity": {
- "id": "string",
- "name": "string",
- "creationDate": "string",
- "lastModified": "string",
- "contextEvents": [
- {
- "id": "fc6b2b0c-2f0a-40c6-a580-212c5c7984c8",
- "name": "couple vehicle to trip",
- "lifecycle": "planned",
- "entity1": {
- "uuid": "50824123-0924-4563-ac1e-ca0e37487823",
- "entityType": "trip",
- "associationType": "reference"
}, - "entity2": {
- "entity": {
- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}, - "entityType": "vehicle"
}, - "associationType": "inline"
}, - "eventType": "associationCreatedEvent"
}
], - "externalAttributes": {
- "property1": { },
- "property2": { }
}, - "description": "string",
- "status": "draft",
- "type": "string",
- "goods": [
- {
- "associationType": "inline",
- "entity": {
- "id": "903807df-ee62-47aa-bf8e-7efd747618ce",
- "description": "Box of bananas",
- "remark": "Please deliver in time, we want fresh bananas",
- "barCode": "CSE370",
- "productType": "Fruit",
- "packagingMaterial": "Box",
- "constraint": {
- "entity": {
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "type": "items"
}, - "description": "string"
}
], - "transportOrder": {
- "associationType": "inline",
- "entity": {
- "id": "baa507c2-1d81-4092-a5c2-e80820ee4fd1",
- "externalAttributes": {
- "id": "OrderId"
}, - "description": "Transport order containing all consignments to be shipped.",
- "consignments": [
- {
- "entity": {
- "id": "e75a541b-e9d9-49e7-8bba-95492d682a6c",
- "description": "Package for miss X."
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "4a08bd61-720e-4a8c-81cf-028f1271c4da",
- "description": "Package for mr Y."
}, - "associationType": "inline"
}
]
}, - "description": "string"
}, - "documents": [
- {
- "associationType": "inline",
- "entity": {
- "id": "cf32da57-5edc-4c46-9a97-58c97ae27cf8",
- "name": "Photo of the PoD",
- "externalAttributes": {
- "externalID": "photo1234"
}, - "documentType": "photo",
- "filename": "my_photo.JPG",
- "mimeType": "image/jpeg",
- "description": "Proof that the goods are delivered by providing the photo that captures the moment",
- "creator": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}, - "owner": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}
}, - "description": "string"
}
], - "remark": "string",
- "actors": [
- {
- "associationType": "inline",
- "entity": {
- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}, - "description": "string",
- "roles": [
- "shipper"
]
}
], - "constraint": {
- "associationType": "inline",
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "description": "string"
}, - "relatedConsignments": [
- { }
]
}, - "description": "string",
- "relation": "split"
}
]
}
The same entity
Client error
Server error
{- "id": "string",
- "name": "string",
- "creationDate": "string",
- "lastModified": "string",
- "contextEvents": [
- {
- "id": "fc6b2b0c-2f0a-40c6-a580-212c5c7984c8",
- "name": "couple vehicle to trip",
- "lifecycle": "planned",
- "entity1": {
- "uuid": "50824123-0924-4563-ac1e-ca0e37487823",
- "entityType": "trip",
- "associationType": "reference"
}, - "entity2": {
- "entity": {
- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}, - "entityType": "vehicle"
}, - "associationType": "inline"
}
}
], - "externalAttributes": {
- "property1": { },
- "property2": { }
}, - "description": "string",
- "status": "draft",
- "type": "string",
- "goods": [
- {
- "associationType": "inline",
- "entity": {
- "id": "903807df-ee62-47aa-bf8e-7efd747618ce",
- "description": "Box of bananas",
- "remark": "Please deliver in time, we want fresh bananas",
- "barCode": "CSE370",
- "productType": "Fruit",
- "packagingMaterial": "Box",
- "constraint": {
- "entity": {
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}
}, - "description": "string"
}
], - "transportOrder": {
- "associationType": "inline",
- "entity": {
- "id": "baa507c2-1d81-4092-a5c2-e80820ee4fd1",
- "externalAttributes": {
- "id": "OrderId"
}, - "description": "Transport order containing all consignments to be shipped.",
- "consignments": [
- {
- "entity": {
- "id": "e75a541b-e9d9-49e7-8bba-95492d682a6c",
- "description": "Package for miss X."
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "4a08bd61-720e-4a8c-81cf-028f1271c4da",
- "description": "Package for mr Y."
}, - "associationType": "inline"
}
]
}, - "description": "string"
}, - "documents": [
- {
- "associationType": "inline",
- "entity": {
- "id": "cf32da57-5edc-4c46-9a97-58c97ae27cf8",
- "name": "Photo of the PoD",
- "externalAttributes": {
- "externalID": "photo1234"
}, - "documentType": "photo",
- "filename": "my_photo.JPG",
- "mimeType": "image/jpeg",
- "description": "Proof that the goods are delivered by providing the photo that captures the moment",
- "creator": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}, - "owner": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}
}, - "description": "string"
}
], - "remark": "string",
- "actors": [
- {
- "associationType": "inline",
- "entity": {
- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}, - "description": "string",
- "roles": [
- "shipper"
]
}
], - "actions": [
- {
- "associationType": "inline",
- "entity": {
- "id": "e81a7aa3-23a6-4089-b916-52b854c7b6f1",
- "lifecycle": "planned",
- "remark": "loading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T14:00:00Z",
- "endTime": "2021-06-23T14:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}
}, - "description": "string"
}
], - "constraint": {
- "associationType": "inline",
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "description": "string"
}, - "relatedConsignments": [
- {
- "associationType": "inline",
- "entity": {
- "id": "string",
- "name": "string",
- "creationDate": "string",
- "lastModified": "string",
- "contextEvents": [
- {
- "id": "fc6b2b0c-2f0a-40c6-a580-212c5c7984c8",
- "name": "couple vehicle to trip",
- "lifecycle": "planned",
- "entity1": {
- "uuid": "50824123-0924-4563-ac1e-ca0e37487823",
- "entityType": "trip",
- "associationType": "reference"
}, - "entity2": {
- "entity": {
- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}, - "entityType": "vehicle"
}, - "associationType": "inline"
}
}
], - "externalAttributes": {
- "property1": { },
- "property2": { }
}, - "description": "string",
- "status": "draft",
- "type": "string",
- "goods": [
- {
- "associationType": "inline",
- "entity": {
- "id": "903807df-ee62-47aa-bf8e-7efd747618ce",
- "description": "Box of bananas",
- "remark": "Please deliver in time, we want fresh bananas",
- "barCode": "CSE370",
- "productType": "Fruit",
- "packagingMaterial": "Box",
- "constraint": {
- "entity": {
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}
}, - "description": "string"
}
], - "transportOrder": {
- "associationType": "inline",
- "entity": {
- "id": "baa507c2-1d81-4092-a5c2-e80820ee4fd1",
- "externalAttributes": {
- "id": "OrderId"
}, - "description": "Transport order containing all consignments to be shipped.",
- "consignments": [
- {
- "entity": {
- "id": "e75a541b-e9d9-49e7-8bba-95492d682a6c",
- "description": "Package for miss X."
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "4a08bd61-720e-4a8c-81cf-028f1271c4da",
- "description": "Package for mr Y."
}, - "associationType": "inline"
}
]
}, - "description": "string"
}, - "documents": [
- {
- "associationType": "inline",
- "entity": {
- "id": "cf32da57-5edc-4c46-9a97-58c97ae27cf8",
- "name": "Photo of the PoD",
- "externalAttributes": {
- "externalID": "photo1234"
}, - "documentType": "photo",
- "filename": "my_photo.JPG",
- "mimeType": "image/jpeg",
- "description": "Proof that the goods are delivered by providing the photo that captures the moment",
- "creator": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}, - "owner": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}
}, - "description": "string"
}
], - "remark": "string",
- "actors": [
- {
- "associationType": "inline",
- "entity": {
- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}, - "description": "string",
- "roles": [
- "shipper"
]
}
], - "constraint": {
- "associationType": "inline",
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "description": "string"
}, - "relatedConsignments": [
- { }
]
}, - "description": "string",
- "relation": "split"
}
]
}
{- "id": "string",
- "name": "string",
- "creationDate": "string",
- "lastModified": "string",
- "contextEvents": [
- {
- "id": "fc6b2b0c-2f0a-40c6-a580-212c5c7984c8",
- "name": "couple vehicle to trip",
- "lifecycle": "planned",
- "entity1": {
- "uuid": "50824123-0924-4563-ac1e-ca0e37487823",
- "entityType": "trip",
- "associationType": "reference"
}, - "entity2": {
- "entity": {
- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}, - "entityType": "vehicle"
}, - "associationType": "inline"
}, - "eventType": "associationCreatedEvent"
}
], - "externalAttributes": {
- "property1": { },
- "property2": { }
}, - "description": "string",
- "status": "draft",
- "type": "string",
- "goods": [
- {
- "associationType": "inline",
- "entity": {
- "id": "903807df-ee62-47aa-bf8e-7efd747618ce",
- "description": "Box of bananas",
- "remark": "Please deliver in time, we want fresh bananas",
- "barCode": "CSE370",
- "productType": "Fruit",
- "packagingMaterial": "Box",
- "constraint": {
- "entity": {
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "type": "items"
}, - "description": "string"
}
], - "transportOrder": {
- "associationType": "inline",
- "entity": {
- "id": "baa507c2-1d81-4092-a5c2-e80820ee4fd1",
- "externalAttributes": {
- "id": "OrderId"
}, - "description": "Transport order containing all consignments to be shipped.",
- "consignments": [
- {
- "entity": {
- "id": "e75a541b-e9d9-49e7-8bba-95492d682a6c",
- "description": "Package for miss X."
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "4a08bd61-720e-4a8c-81cf-028f1271c4da",
- "description": "Package for mr Y."
}, - "associationType": "inline"
}
]
}, - "description": "string"
}, - "documents": [
- {
- "associationType": "inline",
- "entity": {
- "id": "cf32da57-5edc-4c46-9a97-58c97ae27cf8",
- "name": "Photo of the PoD",
- "externalAttributes": {
- "externalID": "photo1234"
}, - "documentType": "photo",
- "filename": "my_photo.JPG",
- "mimeType": "image/jpeg",
- "description": "Proof that the goods are delivered by providing the photo that captures the moment",
- "creator": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}, - "owner": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}
}, - "description": "string"
}
], - "remark": "string",
- "actors": [
- {
- "associationType": "inline",
- "entity": {
- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}, - "description": "string",
- "roles": [
- "shipper"
]
}
], - "actions": [
- {
- "associationType": "inline",
- "entity": {
- "id": "e81a7aa3-23a6-4089-b916-52b854c7b6f1",
- "lifecycle": "planned",
- "remark": "loading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T14:00:00Z",
- "endTime": "2021-06-23T14:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "actionType": "load"
}, - "description": "string"
}
], - "constraint": {
- "associationType": "inline",
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "description": "string"
}, - "relatedConsignments": [
- {
- "associationType": "inline",
- "entity": {
- "id": "string",
- "name": "string",
- "creationDate": "string",
- "lastModified": "string",
- "contextEvents": [
- {
- "id": "fc6b2b0c-2f0a-40c6-a580-212c5c7984c8",
- "name": "couple vehicle to trip",
- "lifecycle": "planned",
- "entity1": {
- "uuid": "50824123-0924-4563-ac1e-ca0e37487823",
- "entityType": "trip",
- "associationType": "reference"
}, - "entity2": {
- "entity": {
- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}, - "entityType": "vehicle"
}, - "associationType": "inline"
}, - "eventType": "associationCreatedEvent"
}
], - "externalAttributes": {
- "property1": { },
- "property2": { }
}, - "description": "string",
- "status": "draft",
- "type": "string",
- "goods": [
- {
- "associationType": "inline",
- "entity": {
- "id": "903807df-ee62-47aa-bf8e-7efd747618ce",
- "description": "Box of bananas",
- "remark": "Please deliver in time, we want fresh bananas",
- "barCode": "CSE370",
- "productType": "Fruit",
- "packagingMaterial": "Box",
- "constraint": {
- "entity": {
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "type": "items"
}, - "description": "string"
}
], - "transportOrder": {
- "associationType": "inline",
- "entity": {
- "id": "baa507c2-1d81-4092-a5c2-e80820ee4fd1",
- "externalAttributes": {
- "id": "OrderId"
}, - "description": "Transport order containing all consignments to be shipped.",
- "consignments": [
- {
- "entity": {
- "id": "e75a541b-e9d9-49e7-8bba-95492d682a6c",
- "description": "Package for miss X."
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "4a08bd61-720e-4a8c-81cf-028f1271c4da",
- "description": "Package for mr Y."
}, - "associationType": "inline"
}
]
}, - "description": "string"
}, - "documents": [
- {
- "associationType": "inline",
- "entity": {
- "id": "cf32da57-5edc-4c46-9a97-58c97ae27cf8",
- "name": "Photo of the PoD",
- "externalAttributes": {
- "externalID": "photo1234"
}, - "documentType": "photo",
- "filename": "my_photo.JPG",
- "mimeType": "image/jpeg",
- "description": "Proof that the goods are delivered by providing the photo that captures the moment",
- "creator": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}, - "owner": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}
}, - "description": "string"
}
], - "remark": "string",
- "actors": [
- {
- "associationType": "inline",
- "entity": {
- "id": "45db6ed0-28a7-4e4a-baba-3d5f8d171103",
- "name": "Logistics manager",
- "contactDetails": [
- {
- "value": "Simon Isaac",
- "remark": "Wants to be called 'Sim'.",
- "type": "firstName"
}, - {
- "value": "Macan",
- "type": "lastName"
}, - {
- "value": "+312012345678",
- "remark": "private cellphone of the CEO",
- "language": "nld",
- "type": "phone"
}, - {
- "value": "simon@macan",
- "type": "email"
}, - {
- "value": "NL74BANK5890469479",
- "type": "iban"
}, - {
- "value": "NL000099998B57",
- "type": "vatCode"
}
]
}, - "description": "string",
- "roles": [
- "shipper"
]
}
], - "constraint": {
- "associationType": "inline",
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "description": "string"
}, - "relatedConsignments": [
- { }
]
}, - "description": "string",
- "relation": "split"
}
]
}
A Trip is an aggregate entity that combines various entities to model visiting various locations, potentially doing
one or multiple actions on each location, such as loading or unloading consignments. It is optionally coupled to a
Vehicle
that is/was driving this trip.
Returned the entity with the provided UUID
Client error
Server error
{- "id": "50824123-0924-4563-ac1e-ca0e37487823",
- "name": "Daily supply trip",
- "status": "inTransit",
- "transportMode": "road",
- "vehicle": {
- "uuid": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "entityType": "vehicle",
- "associationType": "reference"
}, - "actions": [
- {
- "entity": {
- "id": "d1636ce5-1d12-4545-b3ee-6ddb05631b3a",
- "name": "Stop at the distribution center (already done)",
- "lifecycle": "realized",
- "sequenceNr": 0,
- "actions": [
- {
- "entity": {
- "id": "e81a7aa3-23a6-4089-b916-52b854c7b6f1",
- "lifecycle": "planned",
- "remark": "loading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T14:00:00Z",
- "endTime": "2021-06-23T14:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "actionType": "load"
}, - "associationType": "inline"
}
], - "actionType": "stop"
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "8dd09992-eb55-40a4-b496-bf1292fa5933",
- "name": "Stop at the store (still needs to be visited)",
- "lifecycle": "planned",
- "sequenceNr": 1,
- "actions": [
- {
- "entity": {
- "id": "a5f5fc23-744a-46f7-81b4-bfe26629ad4f",
- "lifecycle": "planned",
- "remark": "unloading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T15:00:00Z",
- "endTime": "2021-06-23T15:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "actionType": "unload"
}, - "associationType": "inline"
}
], - "actionType": "stop"
}, - "associationType": "inline"
}
]
}
id | string Uniquely identifies this entity. A URI can be assigned by the client to indicate where more information can be retrieved. Note that every entity always has a unique EntityId. However since, OTM5.2 it is not required to send it in the request. One can be generated for you by the server. |
name | string Name of the entity. For display purposes and search only. |
creationDate | string The creation date of this entity. |
lastModified | string The last modified date of this entity. If none is given the creation date is used instead. |
Array of any (events) The context events provides some optional information about the events that can provide additional information on the current state of this entity. For example: your system might send ETA information for the arrival of a vehicle on a location. To make it clear what caused this ETA to be updated, we can include some information about what caused this ETA update by including an event as context. If your ETA update was caused by a location update, this event can be included as context. If the ETA was caused by a traffic accident on the route of the vehicle, you can include that event in the context. | |
externalAttributes | object |
status | string Whether this trip is a draft, requested, confirmed, in transit, completed or cancelled. The values accepted (replaced by confirmed) and modified (replaced the lastModified field on every entity) are deprecated since OTM5.1, but will be supported for the whole OTM5.X line. |
transportMode | string Method of transport used for the carriage of goods on this trip, can either be using a ship (maritime or inland waterway), a truck/car/van/bike/etc. (road), using the train (rail), or using a plane (air). These values are based on the recommendation of UNECE. |
any The | |
Array of any The actors associated with this trip, for instance the client or the executing party | |
Array of any (associations-actions) All actions that are/were happening on this trip, such as stopping at certain locations and loading and unloading of consignments. | |
any Constraints this trip has to abide to, such as the start and end date times in which it has to be completed. |
The same entity
Client error
Server error
{- "id": "50824123-0924-4563-ac1e-ca0e37487823",
- "name": "Daily supply trip",
- "status": "inTransit",
- "transportMode": "road",
- "vehicle": {
- "uuid": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "entityType": "vehicle",
- "associationType": "reference"
}, - "actions": [
- {
- "entity": {
- "id": "d1636ce5-1d12-4545-b3ee-6ddb05631b3a",
- "name": "Stop at the distribution center (already done)",
- "lifecycle": "realized",
- "sequenceNr": 0,
- "actions": [
- {
- "entity": {
- "id": "e81a7aa3-23a6-4089-b916-52b854c7b6f1",
- "lifecycle": "planned",
- "remark": "loading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T14:00:00Z",
- "endTime": "2021-06-23T14:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "actionType": "load"
}, - "associationType": "inline"
}
], - "actionType": "stop"
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "8dd09992-eb55-40a4-b496-bf1292fa5933",
- "name": "Stop at the store (still needs to be visited)",
- "lifecycle": "planned",
- "sequenceNr": 1,
- "actions": [
- {
- "entity": {
- "id": "a5f5fc23-744a-46f7-81b4-bfe26629ad4f",
- "lifecycle": "planned",
- "remark": "unloading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T15:00:00Z",
- "endTime": "2021-06-23T15:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "actionType": "unload"
}, - "associationType": "inline"
}
], - "actionType": "stop"
}, - "associationType": "inline"
}
]
}
{- "id": "50824123-0924-4563-ac1e-ca0e37487823",
- "name": "Daily supply trip",
- "status": "inTransit",
- "transportMode": "road",
- "vehicle": {
- "uuid": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "entityType": "vehicle",
- "associationType": "reference"
}, - "actions": [
- {
- "entity": {
- "id": "d1636ce5-1d12-4545-b3ee-6ddb05631b3a",
- "name": "Stop at the distribution center (already done)",
- "lifecycle": "realized",
- "sequenceNr": 0,
- "actions": [
- {
- "entity": {
- "id": "e81a7aa3-23a6-4089-b916-52b854c7b6f1",
- "lifecycle": "planned",
- "remark": "loading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T14:00:00Z",
- "endTime": "2021-06-23T14:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "actionType": "load"
}, - "associationType": "inline"
}
], - "actionType": "stop"
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "8dd09992-eb55-40a4-b496-bf1292fa5933",
- "name": "Stop at the store (still needs to be visited)",
- "lifecycle": "planned",
- "sequenceNr": 1,
- "actions": [
- {
- "entity": {
- "id": "a5f5fc23-744a-46f7-81b4-bfe26629ad4f",
- "lifecycle": "planned",
- "remark": "unloading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T15:00:00Z",
- "endTime": "2021-06-23T15:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "actionType": "unload"
}, - "associationType": "inline"
}
], - "actionType": "stop"
}, - "associationType": "inline"
}
]
}
Events - like actions - model dynamic entities that couple various static entities at a certain moment in time. Events are used for either real-time updates, or updates on earlier provided data. Notice that in both event types these are updates on earlier provided data, whereas actions are usually used together with the entities they dynamically couple.
There are various kinds of events that fall into the two earlier mentioned kinds.
Real-time updates:
Both real-time and projected/realized events
Updates on earlier provided data:
Returned the entity with the provided UUID
Client error
Server error
{- "id": "fc6b2b0c-2f0a-40c6-a580-212c5c7984c8",
- "name": "couple vehicle to trip",
- "lifecycle": "planned",
- "entity1": {
- "uuid": "50824123-0924-4563-ac1e-ca0e37487823",
- "entityType": "trip",
- "associationType": "reference"
}, - "entity2": {
- "entity": {
- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}, - "entityType": "vehicle"
}, - "associationType": "inline"
}, - "eventType": "associationCreatedEvent"
}
The same entity
Client error
Server error
{- "id": "fc6b2b0c-2f0a-40c6-a580-212c5c7984c8",
- "name": "couple vehicle to trip",
- "lifecycle": "planned",
- "entity1": {
- "uuid": "50824123-0924-4563-ac1e-ca0e37487823",
- "entityType": "trip",
- "associationType": "reference"
}, - "entity2": {
- "entity": {
- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}, - "entityType": "vehicle"
}, - "associationType": "inline"
}, - "eventType": "associationCreatedEvent"
}
{- "id": "fc6b2b0c-2f0a-40c6-a580-212c5c7984c8",
- "name": "couple vehicle to trip",
- "lifecycle": "planned",
- "entity1": {
- "uuid": "50824123-0924-4563-ac1e-ca0e37487823",
- "entityType": "trip",
- "associationType": "reference"
}, - "entity2": {
- "entity": {
- "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe",
- "name": "Bob's Boxtruck",
- "vehicleType": "boxtruck",
- "fuel": "electricity",
- "loadCapacities": [
- {
- "value": 1000,
- "unit": "kg"
}
], - "length": {
- "value": 8,
- "unit": "m"
}, - "height": {
- "value": 2.8,
- "unit": "m"
}, - "width": {
- "value": 2,
- "unit": "m"
}, - "licensePlate": "AB-12-CD",
- "emptyWeight": {
- "value": 2000,
- "unit": "kg"
}, - "entityType": "vehicle"
}, - "associationType": "inline"
}, - "eventType": "associationCreatedEvent"
}
Actions are dynamic entities that are able to couple together various static entities at a certain moment in time. For instance a Load action couples together a Consignment and a Vehicle at the moment the Loading happens.
There are various types of Actions:
Returned the entity with the provided UUID
Client error
Server error
{- "id": "e81a7aa3-23a6-4089-b916-52b854c7b6f1",
- "lifecycle": "planned",
- "remark": "loading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T14:00:00Z",
- "endTime": "2021-06-23T14:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "actionType": "load"
}
actionType required | string |
id | string Uniquely identifies this entity. A URI can be assigned by the client to indicate where more information can be retrieved. Note that every entity always has a unique EntityId. However since, OTM5.2 it is not required to send it in the request. One can be generated for you by the server. |
name | string Name of the entity. For display purposes and search only. |
creationDate | string The creation date of this entity. |
lastModified | string The last modified date of this entity. If none is given the creation date is used instead. |
Array of any (events) The context events provides some optional information about the events that can provide additional information on the current state of this entity. For example: your system might send ETA information for the arrival of a vehicle on a location. To make it clear what caused this ETA to be updated, we can include some information about what caused this ETA update by including an event as context. If your ETA update was caused by a location update, this event can be included as context. If the ETA was caused by a traffic accident on the route of the vehicle, you can include that event in the context. | |
externalAttributes | object |
lifecycle | string A lifecycle models when the data in the action is taking place. You can provide the same action in multiple lifecycles to model how it changes over time. For example the planned and realized time of an action taking place can differ because of unforseen circumstances (such as traffic jams). |
object The result of the action, can only be present in the actual or realized lifecycles. The result has a required status and optional additional info, like a remark and reason (in the case of failure). | |
remark | string Free text field for adding an on remark on this action. |
sequenceNr | integer <int64> The sequence number of this action within the entity it is taking place. Can be used to indicate order when no times are present |
any The stop that is associated with this action. | |
any The consignment that is the subject of this action. | |
any The transport equipment the consignment is loaded in/unloaded from. | |
Array of any Documents that are relevant for this action. Such as a proof-of-delivery photo, or scanned CMR. | |
any The location at which this action is taking place. | |
timeFormat | string Default: "dateTime" Enum: "dateTime" "recurringDateTime" "duration" |
startTime | string The time at which the actions starts in ISO format. |
endTime | string The time at which the action is completed in ISO format. |
recurrence | string <recurrence> The recurrence of the date time, should only be set when |
duration | string <duration> The duration of this action/event, should only be set when |
any The constraints this action abides to, such as start and end time windows. |
The same entity
Client error
Server error
{- "id": "e81a7aa3-23a6-4089-b916-52b854c7b6f1",
- "lifecycle": "planned",
- "remark": "loading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T14:00:00Z",
- "endTime": "2021-06-23T14:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "actionType": "load"
}
{- "id": "e81a7aa3-23a6-4089-b916-52b854c7b6f1",
- "lifecycle": "planned",
- "remark": "loading a consignment",
- "consignment": {
- "uuid": "047cfa4d-fd8b-47ba-b8e9-87067294d2fa",
- "entityType": "consignment",
- "associationType": "reference"
}, - "startTime": "2021-06-23T14:00:00Z",
- "endTime": "2021-06-23T14:15:00Z",
- "constraint": {
- "entity": {
- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "actionType": "load"
}
Goods are the items to be transported as part of a consignment. Goods can be divided into two sub-types of goods, depending on the use case and the level of detail. Goods either consists of items, describing the actual goods to be transported. Or a transport equipment, which is equipment used to carry the actual goods to be transported. Transport equipment is (usually) a means to an end, not something that needs to be transported on itself, such as pallets.
Note that goods can either be or contain dangerous goods. OTM uses the official specification of ADR to describe in what manner and how dangerous those goods are. The used descriptions in the OTM documentation are extracted from document ADR2021_Vol1e_0.pdf. The official documentation is always leading and should be consulted.
Returned the entity with the provided UUID
Client error
Server error
{- "id": "903807df-ee62-47aa-bf8e-7efd747618ce",
- "description": "Box of bananas",
- "remark": "Please deliver in time, we want fresh bananas",
- "barCode": "CSE370",
- "productType": "Fruit",
- "packagingMaterial": "Box",
- "constraint": {
- "entity": {
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "type": "items"
}
type required | string |
id | string Uniquely identifies this entity. A URI can be assigned by the client to indicate where more information can be retrieved. Note that every entity always has a unique EntityId. However since, OTM5.2 it is not required to send it in the request. One can be generated for you by the server. |
name | string Name of the entity. For display purposes and search only. |
creationDate | string The creation date of this entity. |
lastModified | string The last modified date of this entity. If none is given the creation date is used instead. |
Array of any (events) The context events provides some optional information about the events that can provide additional information on the current state of this entity. For example: your system might send ETA information for the arrival of a vehicle on a location. To make it clear what caused this ETA to be updated, we can include some information about what caused this ETA update by including an event as context. If your ETA update was caused by a location update, this event can be included as context. If the ETA was caused by a traffic accident on the route of the vehicle, you can include that event in the context. | |
externalAttributes | object External attributes are a simple way to add information in an OpenTripModel message that could not fit into one of
the OTM fields otherwise. The
|
description | string A free text description of these goods. |
remark | string Remark belonging to the goods that need to be transported. For example a delivery note. |
barCode | string A barcode present on the (packaging of the) goods that uniquely identifies these goods. |
quantity | integer <int32> A quantity determines how many of a certain good you have. Note that all other measurements are measured for a single product, not for the total of products. |
object The net weight of a 'single' good, the total weight can be calculated by using the quantity and multiplying it with this weight. | |
object The gross weight of a 'single' good, the total weight can be calculated by using the quantity and multiplying it with this weight. | |
object The width of a 'single' good, the total width can be calculated by using the quantity and multiplying it with this width. | |
object The height of a 'single' good, the total height can be calculated by using the quantity and multiplying it with this height. | |
object The length of a 'single' good, the total length can be calculated by using the quantity and multiplying it with this length. | |
object Information about the potentially dangerous properties of these goods. | |
productType | string The product type of goods, for instance bananas. |
packagingMaterial | string Description of the package type. Use as described by the GS1 standard. |
Array of objects Product classification information often required at customs. A single product can contain multiple classification lines. For example whenever the product consists of multiple components that can each be classified. The most important information in the classification lines is often the HS code. | |
Array of any All parties associated with these goods, for example the consignor and consignee. | |
any The constraints put on these goods, most notably the required temperature range or size of the vehicle. You should only put constraints on the goods themselves when it is important to distinguish goods within one consignment with different requirements. Individual constraints on a goods are powerful, but also complicate the solution. When possible, prefer to put the constraint on the consignment of the goods. |
The same entity
Client error
Server error
{- "id": "903807df-ee62-47aa-bf8e-7efd747618ce",
- "description": "Box of bananas",
- "remark": "Please deliver in time, we want fresh bananas",
- "barCode": "CSE370",
- "productType": "Fruit",
- "packagingMaterial": "Box",
- "constraint": {
- "entity": {
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "type": "items"
}
{- "id": "903807df-ee62-47aa-bf8e-7efd747618ce",
- "description": "Box of bananas",
- "remark": "Please deliver in time, we want fresh bananas",
- "barCode": "CSE370",
- "productType": "Fruit",
- "packagingMaterial": "Box",
- "constraint": {
- "entity": {
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}, - "associationType": "inline"
}, - "type": "items"
}
The TransportOrder is the top-level entity to model a group of related consignments that might be transported separately, but need to be administered together. For consistency, even if there is only one consignment, it is still required to use a transport order.
Returned the entity with the provided UUID
Client error
Server error
{- "id": "baa507c2-1d81-4092-a5c2-e80820ee4fd1",
- "externalAttributes": {
- "id": "OrderId"
}, - "description": "Transport order containing all consignments to be shipped.",
- "consignments": [
- {
- "entity": {
- "id": "e75a541b-e9d9-49e7-8bba-95492d682a6c",
- "description": "Package for miss X."
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "4a08bd61-720e-4a8c-81cf-028f1271c4da",
- "description": "Package for mr Y."
}, - "associationType": "inline"
}
]
}
The same entity
Client error
Server error
{- "id": "baa507c2-1d81-4092-a5c2-e80820ee4fd1",
- "externalAttributes": {
- "id": "OrderId"
}, - "description": "Transport order containing all consignments to be shipped.",
- "consignments": [
- {
- "entity": {
- "id": "e75a541b-e9d9-49e7-8bba-95492d682a6c",
- "description": "Package for miss X."
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "4a08bd61-720e-4a8c-81cf-028f1271c4da",
- "description": "Package for mr Y."
}, - "associationType": "inline"
}
]
}
{- "id": "baa507c2-1d81-4092-a5c2-e80820ee4fd1",
- "externalAttributes": {
- "id": "OrderId"
}, - "description": "Transport order containing all consignments to be shipped.",
- "consignments": [
- {
- "entity": {
- "id": "e75a541b-e9d9-49e7-8bba-95492d682a6c",
- "description": "Package for miss X."
}, - "associationType": "inline"
}, - {
- "entity": {
- "id": "4a08bd61-720e-4a8c-81cf-028f1271c4da",
- "description": "Package for mr Y."
}, - "associationType": "inline"
}
]
}
In many logistic operations documents are an important part of the data flow. Documents can serve multiple purposes, such as proving some package was delivered with help of a photo, or some scanned document that establishes that the transferred goods are accepted on handover. Documents in OTM come in two flavors, either you provide the content of the document directly as a base64 encoded string, or you provide a link to the document where it can be accessed online.
Returned the entity with the provided UUID
Client error
Server error
{- "id": "cf32da57-5edc-4c46-9a97-58c97ae27cf8",
- "name": "Photo of the PoD",
- "externalAttributes": {
- "externalID": "photo1234"
}, - "documentType": "photo",
- "filename": "my_photo.JPG",
- "mimeType": "image/jpeg",
- "description": "Proof that the goods are delivered by providing the photo that captures the moment",
- "creator": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}, - "owner": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}
}
id | string Uniquely identifies this entity. A URI can be assigned by the client to indicate where more information can be retrieved. Note that every entity always has a unique EntityId. However since, OTM5.2 it is not required to send it in the request. One can be generated for you by the server. |
name | string Name of the entity. For display purposes and search only. |
creationDate | string The creation date of this entity. |
lastModified | string The last modified date of this entity. If none is given the creation date is used instead. |
Array of any (events) The context events provides some optional information about the events that can provide additional information on the current state of this entity. For example: your system might send ETA information for the arrival of a vehicle on a location. To make it clear what caused this ETA to be updated, we can include some information about what caused this ETA update by including an event as context. If your ETA update was caused by a location update, this event can be included as context. If the ETA was caused by a traffic accident on the route of the vehicle, you can include that event in the context. | |
required | any The content of the document. There are two different options on how the content can be provided. Either through an external link to where the content lives. Or directly as an encoded base64 string. |
externalAttributes | object External attributes are a simple way to add information in an OpenTripModel message that could not fit into one of
the OTM fields otherwise. The
|
documentType | string The type of the document, such as a photo, text document, PDF etc. |
filename | string The name of the file. |
mimeType | string The official MIME type of the file. See Wikepedia for more information. |
description | string The description of the file, for example what purpose it serves. |
any The actor who owns the document. If not provided, the creator will be assumed to be the owner. | |
any The actor who owns the document. If not provided, the creator will be assumed to be the owner. |
The same entity
Client error
Server error
{- "id": "cf32da57-5edc-4c46-9a97-58c97ae27cf8",
- "name": "Photo of the PoD",
- "externalAttributes": {
- "externalID": "photo1234"
}, - "documentType": "photo",
- "filename": "my_photo.JPG",
- "mimeType": "image/jpeg",
- "description": "Proof that the goods are delivered by providing the photo that captures the moment",
- "creator": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}, - "owner": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}
}
{- "id": "cf32da57-5edc-4c46-9a97-58c97ae27cf8",
- "name": "Photo of the PoD",
- "externalAttributes": {
- "externalID": "photo1234"
}, - "documentType": "photo",
- "filename": "my_photo.JPG",
- "mimeType": "image/jpeg",
- "description": "Proof that the goods are delivered by providing the photo that captures the moment",
- "creator": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}, - "owner": {
- "uuid": "655a2a4e-79b1-4637-9f13-b904730022ef",
- "entityType": "actor",
- "associationType": "reference"
}
}
Constraints
can do different things, depending on the context they're used in:
Location
, access to the location is only allowed if the given constraint applies.Trip
, constraints can be used to define constraints that have to be met during the trip, e.g. if the temperature in
a refrigerated trailer has to stay below a given maximum during the trip.Shipment
, constraints can be used to e.g. define minimum or maximum temperatures for shipments, or date time
constraints for delivery.Since OTM5.2 the timeWindowConstraint is supported which allows you to give (optionally) both the start and end time of the window between which something needs to occur. This replaces the old style where you had to use an and constraint in combination with the startDateTimeConstraint and endDateTimeConstraint. Since the new solution is shorter and simpler the startDateTimeConstraint and endDateTimeConstraint are deprecated.
Note that constraints can be nested and combined using the andConstraint
, orConstraint
and notConstraint
.
Returned the entity with the provided UUID
Client error
Server error
{- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}
The same entity
Client error
Server error
{- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}
{- "id": "89a7bb4d-8720-4db9-aef7-4c3309186c3e",
- "name": "Example combined constraint",
- "value": {
- "and": [
- {
- "startTime": "2021-06-23T10:00:00Z",
- "endTime": "2021-06-23T13:00:00Z",
- "description": "alert-threshold",
- "type": "timeWindowConstraint"
}, - {
- "constraintType": "maximum",
- "maximum": {
- "value": 5,
- "unit": "C"
}, - "type": "temperatureConstraint"
}, - {
- "or": [
- {
- "fuelTypes": [
- "battery"
], - "type": "fuelTypeConstraint"
}, - {
- "fuelTypes": [
- "biodiesel"
], - "type": "fuelTypeConstraint"
}, - {
- "minimum": "euro5",
- "type": "emissionStandardConstraint"
}
], - "type": "orConstraint"
}
], - "type": "andConstraint"
}
}