Dates, timezones, and timestamps
Metra separates:
- calendar date (a day like
2026-09-02) - exact time (a precise UTC instant)
This keeps due dates consistent for each site and keeps audit history exact.
Date and time types
| Type | Examples | Meaning |
|---|---|---|
| Calendar date | Performed date, due date, dossier period | A whole day with no time-of-day. |
| Site-local date | "Today" in site context | Current date at the equipment site. |
| UTC timestamp | Movement, submission, approval, download, audits | Exact point in time, stored as UTC. |
Do not treat a date-only value as midnight in your own timezone. It is always the calendar day, not a full instant.
Site timezones
Each site has an IANA timezone such as Europe/London or UTC. Metra uses this timezone for:
- due state calculation,
- due date comparisons,
- notification timing.
So different sites can be in different due states at the same instant.
If a site timezone is invalid, due status checks can fail. Fix the site first rather than guessing from your workstation clock.
Metra-calculated date values
Metra calculates these values for you:
- current local date for the site
current,due soon,due today,overdue,suspended- warning windows
- notification trigger times
- validation of performed dates
- next due dates from approved calibration events
Do not recalculate these values outside the app.
Calendar intervals
Intervals are based on calendar behaviour:
- days and weeks add day counts,
- months and years follow real calendar boundaries.
Examples:
- 31 Jan + 1 month = 28/29/30 Feb (depends on year)
- 30 Nov + 3 months = 28/29 Feb
- 31 Mar + 1 month = 30 Apr
If a start day does not exist in the target month, Metra uses the last day of that month.
UTC timestamps and storage
Storage events use UTC for consistency:
- movement changes
- records and upload times
- approvals and submissions
- generation events
- audit events
Deployment intervals use half-open ranges: [effective_from, effective_until).
- start instant is included
- end instant is not included
If equipment leaves one site at 10:00 and arrives another at 10:00, the same instant belongs only to the new site.
Dossier periods and deployment overlap
Dossier start/end dates are inclusive.
For historical selection, Metra checks whether each equipment deployment overlaps the dossier period and client scope.
- If overlap exists, equipment is included.
- Events are included only when the event time is in-scope for included equipment.
This is why movement times at period boundaries are important.
How dates are shown in the app
- Calendar dates keep their day in display.
- Same timestamp can show different local times to different users.
- For strict ordering checks, use the UTC timestamp from source history.
- Exported evidence may show UTC explicitly.
Practical checklist
- Use a correct IANA timezone on each site.
- Enter performed dates at the site date when work happened.
- Enter movement times as exact instants.
- Treat dossier dates as inclusive.
- Trust Metra’s returned status values.