#[non_exhaustive]pub struct Address {Show 13 fields
pub at_type: Option<String>,
pub components: Option<Vec<AddressComponent>>,
pub is_ordered: Option<bool>,
pub country_code: Option<String>,
pub coordinates: Option<String>,
pub time_zone: Option<String>,
pub contexts: Option<HashMap<String, bool>>,
pub full: Option<String>,
pub default_separator: Option<String>,
pub pref: Option<u32>,
pub phonetic_script: Option<String>,
pub phonetic_system: Option<String>,
pub extra: Map<String, Value>,
}Expand description
A postal or geographic address (RFC 9553 §2.5.1).
At least one of components, coordinates, country_code, full,
or time_zone must be set per the RFC; this is not enforced at the
type level.
Distinct from the JMAP Mail RFC 8621 §3.2 submission-address type
jmap_mail_types::Address:
that type is an RFC 5321 SMTP envelope address with email and
parameters, whereas this Address is a JSContact postal-address
sub-object embedded in a ContactCard.addresses map.
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: Option<String>Object type discriminator; SHOULD be "Address" when present per RFC 9553 §1.3.4 (may be omitted in defaultType positions).
components: Option<Vec<AddressComponent>>The components making up this address.
is_ordered: Option<bool>Whether components are ordered (default false).
country_code: Option<String>ISO 3166-1 Alpha-2 country code.
coordinates: Option<String>geo: URI for the address (RFC 5870).
time_zone: Option<String>IANA time zone name for the address.
contexts: Option<HashMap<String, bool>>Contexts (key → true); extra keys beyond common contexts are
"billing" and "delivery".
full: Option<String>The full address as a single string.
default_separator: Option<String>Default separator between component values when concatenating.
pref: Option<u32>Preference order in 1..=100 (lower = more preferred).
phonetic_script: Option<String>Phonetic script for component phonetics.
phonetic_system: Option<String>Phonetic system for component phonetics.
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).