Skip to content

DST Safe Scheduling

Overview

VitalBridge stores schedule information using timezone-aware scheduling rules.

This ensures scheduling remains correct across Daylight Saving Time (DST) transitions.


Problem

Storing raw UTC schedules creates issues.

flowchart LR

    LOCAL["09:00 America/New_York"]

    UTC["Stored UTC"]

    DST["DST Change"]

    LOCAL --> UTC

    UTC --> DST
Hold "Alt" / "Option" to enable pan & zoom

After DST transitions the intended local time may shift.


Solution

Store schedules using:

  • IANA Timezone
  • Local Time
  • Day of Week
flowchart LR

    DAY["Monday"]

    TIME["09:00"]

    TZ["America/New_York"]

    RULE["Schedule Rule"]

    DAY --> RULE

    TIME --> RULE

    TZ --> RULE
Hold "Alt" / "Option" to enable pan & zoom

DST Example

Before DST:
09:00 America/New_York

After DST:
09:00 America/New_York

The local time remains unchanged.


Design Principles

  • Store local scheduling intent.
  • Use IANA timezone identifiers.
  • Convert to UTC only when generating occurrences.
  • Never store recurring schedules solely in UTC.