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:
- The LocationUpdateEvent that provides location data received from some GPS.
- The SensorUpdateEvent that provides sensor value updates (such as temperature or speed measurements) received from a sensor.
- The StartMovingEvent, StopMovingEvent, StartEngineEvent, StopEngineEvent that indicate events provided by Fleet Management Systems.
Both real-time and projected/realized events
- The EmissionEvent that contains information about how much emission has been produced during a move / on a trip / per consignment. Can be provided as an actual value, projected based on some calculation, or realized as measured by some sensor.
- The FuelConsumedEvent that contains information about how much fuel was consumed during a move / on a trip / per consignment. Can be provided as an actual value, projected based on some calculation, or realized as measured by some sensor.
- The WeighEvent that contains information about the weights of the vehicle or transport equipment. This can be from a weighbridge, tare weight, manual or from a sensor. Updates on earlier provided data:
- The UpdateEvent that is used to update an earlier provided entity with new information. Note that only the changed data has to be provided.
- The AssociationCreatedEvent and AssociationRemovedEvent that allow for static entities to be coupled after the fact. Such as coupling a Vehicle to a Trip.
- Mock serverhttps://otm-api-spec.redocly.app/_mock/api/5.9/otm/api/v5/events/{UUID}
- https://example.comhttps://example.com/api/v5/events/{UUID}
curl -i -X GET \
'https://otm-api-spec.redocly.app/_mock/api/5.9/otm/api/v5/events/{UUID}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'Returned the entity with the provided UUID
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.
The last modified date of this entity. If none is given the creation date is used instead.
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.
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 externalAttributes member is meant for additional meta data and/or additional ID's of an entity. This can also help to identify an OTM entity in a system by the ID of that system.
Please, use this with caution: having too many external attributes can be a sign of not using OpenTripModel as it was intended.
Standardized identifiers of this entity as known in external systems. Use this to exchange repeatable partner or system specific identifiers without overloading externalAttributes.
[ { "id": "AAA", "scheme": "CAS" } ]
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).
{ "uuid": "50824123-0924-4563-ac1e-ca0e37487823", "entityType": "trip", "associationType": "reference" }
{ "entity": { "id": "b9bb914d-845e-46f2-91ff-31fa4bac2fbe", "name": "Bob's Boxtruck", "vehicleType": "boxtruck", "fuel": "electricity", "loadCapacities": [ … ], "length": { … }, "height": { … }, "width": { … }, "licensePlate": "AB-12-CD", "emptyWeight": { … }, "entityType": "vehicle" }, "associationType": "inline" }
{ "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": { … }, "associationType": "inline" }, "eventType": "associationCreatedEvent" }