Through the typical container lifecycle events occur across multiple timezones. Wheverever you see a timestamp for some kind of transporation event, there should be a corresponding IANA tz.

Event timestamps are stored and returned in UTC. If you wish to present them in the local time you need to convert that UTC timestamp using the corresponding timezone.

Example

If you receive a container model with the attributes

  'pod_arrived_at': '2022-12-22T07:00:00Z',
  'pod_timezone': 'America/Los_Angeles',

then the local time of the pod_arrived_at timestamp would be 2022-12-21T23:00:00 PST -08:00

When the corresponding timezone is null

When there is event that occurs where Terminal49 cannot determine the location (and therefore the timezone) of the event the system is unable to store the event in true UTC.

In this scenario we take timestamp as given from the source and parse it in UTC.

Example

  'pod_arrived_at': '2022-12-22T07:00:00Z',
  'pod_timezone': null,

then the local time of the pod_arrived_at timestamp would be 2022-12-22T07:00:00 and the timezone is unknown. (Assuming the source was returning localized timestamps)

System Timestamps

Timestamps representing changes within the Terminal49 system (e.g. created_at, updated_at, terminal_checked_at) are stored and represented in UTC and do not have a TimeZone.