#[non_exhaustive]pub struct Location {
pub at_type: String,
pub name: Option<String>,
pub description: Option<String>,
pub location_types: Option<BTreeMap<String, bool>>,
pub relative_to: Option<String>,
pub time_zone: Option<String>,
pub coordinates: Option<String>,
pub links: Option<BTreeMap<String, Link>>,
pub extra: Map<String, Value>,
}Expand description
A physical or virtual location associated with an event (RFC 8984 §4.2.5).
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 "Location" on the wire.
Deserialize is liberal: if @type is absent (spec-violating
vendor input), this field defaults to "Location" rather than
failing the whole parent object’s deserialize. Serialize always
emits the field. See bd:JMAP-ky8g.10.
name: Option<String>Human-readable name for this location.
description: Option<String>Additional description of the location.
location_types: Option<BTreeMap<String, bool>>Map of location type URIs → true.
relative_to: Option<String>Relation of this location to the event: "start" or "end".
time_zone: Option<String>IANA time zone id for this location.
This crate does not check the value against the IANA Time Zone Database; validating the zone name is the backend’s job.
coordinates: Option<String>Geographic coordinates as a geo: URI.
links: Option<BTreeMap<String, Link>>Attachments and images associated with this location.
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).