#[non_exhaustive]pub struct TimeZone {
pub at_type: String,
pub tz_id: String,
pub updated: Option<UTCDate>,
pub url: Option<String>,
pub valid_until: Option<UTCDate>,
pub aliases: Option<BTreeMap<String, bool>>,
pub standard: Option<Vec<TimeZoneRule>>,
pub daylight: Option<Vec<TimeZoneRule>>,
pub extra: Map<String, Value>,
}Expand description
A time-zone definition embedded in CalendarEvent.timeZones or
Task.timeZones (RFC 8984 §4.7.2).
Maps to a VTIMEZONE component from iCalendar. A valid TimeZone MUST
define at least one transition rule in standard or daylight.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.at_type: StringObject type discriminator; always "TimeZone" on the wire.
Deserialize is liberal: if @type is absent (spec-violating
vendor input), this field defaults to "TimeZone" rather than
failing the whole parent object’s deserialize. Serialize always
emits the field. See bd:JMAP-ky8g.10.
tz_id: StringTZID from iCalendar — the time-zone identifier.
MUST be a valid paramtext value per RFC 5545 §3.1.
updated: Option<UTCDate>LAST-MODIFIED from iCalendar.
url: Option<String>TZURL from iCalendar.
valid_until: Option<UTCDate>TZUNTIL from iCalendar (RFC 7808).
aliases: Option<BTreeMap<String, bool>>TZID-ALIAS-OF properties from iCalendar (RFC 7808). Map keys are
the alias identifiers; the value MUST be true for each key.
standard: Option<Vec<TimeZoneRule>>STANDARD sub-components from iCalendar. Order MUST be preserved.
daylight: Option<Vec<TimeZoneRule>>DAYLIGHT sub-components from iCalendar. Order MUST be preserved.
extra: Map<String, Value>Catch-all for vendor / site / private extension fields not covered by the typed fields above. Preserves unknown fields across deserialize/serialize round-trip per workspace extras-preservation policy (see workspace AGENTS.md).