$schema: https://json-schema.org/draft/2020-12/schema
$id: Address.yaml
type: object
properties:
  street1:
    type: string
    description: The primary street address line.
  street2:
    type: string
    description: Additional street address information (e.g., apartment number, suite, etc.).
  city:
    type: string
    description: The city or municipality name.
  stateOrProvince:
    type: string
    description: The state, province, or region name.
  country:
    type: string
    description: The country name or ISO country code.
  postalCode:
    type: string
    description: The postal or ZIP code for the address.
  latitude:
    type: number
    description: The latitude coordinate of the address location.
  longitude:
    type: number
    description: The longitude coordinate of the address location.
  geography:
    $ref: '#/$defs/RecordUnknown'
    description: Additional geospatial data in GeoJSON format.
required:
  - street1
  - city
  - stateOrProvince
  - country
  - postalCode
unevaluatedProperties:
  not: {}
examples:
  - street1: 123 Main St
    city: Anytown
    stateOrProvince: CA
    country: US
    postalCode: '12345'
description: A mailing address.
$defs:
  RecordUnknown:
    type: object
    properties: {}
    unevaluatedProperties: {}
