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.