Skrym LogoEvents

Events

Understanding tracking events

Events are notifications that transporters provide from the time of booking until the shipment is considered done. Skrym receives events from transporters in one of two ways:

When we receive an event, we immediately store the original transporter event in our system so that, in case of confusion, error, or any other reason, we can always go back and check what we originally received.

flowchart LR ret(Retailer) sk(Skrym) tr(Transporter) tr -- Webhook --> sk sk -. Polling .-> tr sk -- Webhook --> ret

This is particularly important, as many transporters delete event data for shipments older than 6 months.

Skrym provides a set of default event types that we use to categorize the events we receive:

Skrym EventDescription
arrivalThe shipment has arrived at a checkpoint
delayThe shipment is delayed
errorAn error has occurred with the shipment
deliveredThe shipment has been delivered
notificationA notification has been sent to the recipient
departureThe shipment has left a checkpoint

Skrym maps the transporter's event to one of these types. This ensures that we can provide a consistent experience across all transporters.

Events determine Shipment Status

Each shipment has a status. Some events change the status, while others do not. A status can be one of five values:

OK
DELAY
PROBLEM
DONE
ARCHIVED
  • When Skrym receives a transporter event that indicates an error, the shipment's status will be changed to
    PROBLEM
  • Notification events, such as when a text reminder has been sent to the recipient, will never lead to a change in status.

Anatomy of an Event

The structure for a Skrym event is defined by a few fields.

It includes data about when the event was created and what the event is tracking (e.g., which shipment it is about). It also contains information about what the event means, which we store in the field EventAspect.