# Shipments

A shipment describes a structure of a multimodal logistics journey. Shipments are useful when the lifetime of an asset you are tracking spans across multiple tracker devices.

A shipment consists of segments.

Devices assigned to a shipment generate traces and events for the entire shipment. The shipmentId of a shipment can be used in similar fashion as a trackingId in Tracking APIs (where applicable). For example, one can query shipment traces and events and associate aliases and metadata to a shipment.

A new shipment should be instantiated for each separate logistical journey. However, if the structure of the shipment is recurring, a shipment plan can be defined.

A shipment segment can have a subshipment assigned to it in place of the trackingId, that is if the trackingId of a segment contains a shipmentId the segment has a subshipment. Subshipments have the following limitations:

• Subshipment has to have the subShipment property set to true.
• Subshipment has to be created first before it can be used as subshipment in another shipment (parent shipment).
• Subshipment can not be deleted if it is used in a parent shipment.
• Only one level of subshipments is supported, a subshipment can not contain other subshipments.
• The parent segment origin must be the same as the origin of the first subshipment segment, and the parent segment destination must be the same as the destination of the last subshipment segment.

Shipments are managed via the shipments endpoint.

Shipments can also be created, managed and visualized via the Shipment Tracking web application.