{
  "$schema": "http://json-schema.org/draft/2019-09/schema",
  "$id": "https://example.com/sample.address.json",
  "additionalProperties": false,
  "type": "object",
  "required": [
    "effectiveDate"
  ],
  "properties": {
    "geoDemographicGroupCd": {
      "description": "Geo-demographic group   based on zipcode/postcode. This data is usually available from marketing systems like Mosaic. Acorn. etc.",
      "type": "string",
      "maxLength": 50
    },
    "zipPostcode": {
      "description": "Zip/postal code",
      "type": "string",
      "maxLength": 50
    },
    "city": {
      "description": "Identifies the city",
      "type": "string",
      "maxLength": 100
    },
    "stateProvinceCd": {
      "description": "Unique code for the state or province. Can be an organization's internal spelling or a standard abbreviation. as   long as they are consistent.",
      "type": "string",
      "maxLength": 50
    },
    "countryCd": {
      "description": "Unique identifier for the country of the address.  ",
      "type": "string",
      "maxLength": 50
    },
    "isStructured": {
      "description": "Whether the addresses of individual components are identified (eg: Street. Apt.#. etc.) - set to 1. If not (only Address_Line_1 to 5) then set to 0.",
      "type": "boolean"
    },
    "poBox": {
      "description": "Post office box number.",
      "type": "string",
      "maxLength": 25
    },
    "apartmentSuiteNumber": {
      "description": "If the street address is an apartment building or business complex - the individual apartment number",
      "type": "string",
      "maxLength": 50
    },
    "street": {
      "description": "Street name",
      "type": "string",
      "maxLength": 255
    },
    "isPrimary": {
      "description": "Whether this address is the primary address for the corresponding Entity_Id of type Entity_Type_Cd (e.g. Party) for the Tenant (Tenant_Cd) and for the specified address type (Address_Relation_Type_Cd).  Only one address per Entity. Tenant. and address type can be the primary. 1= True 0 = False",
      "type": "boolean"
    },
    "addressLine1": {
      "description": "When the source address is unformatted and not in specific fields such as street. city. zip. etc. This is the first line of the address. Note that all party addresses must either be unformatted or formatted.",
      "type": "string",
      "maxLength": 255
    },
    "buildingNumber": {
      "description": "House or building number of the street address (residential home. apartment building. commercial).",
      "type": "string",
      "maxLength": 50
    },
    "addressLine2": {
      "description": "When the source address is unformatted and not in specific fields such as street. city. zip. etc. This is the second line of the address.",
      "type": "string",
      "maxLength": 255
    },
    "addressLine3": {
      "description": "When the source address is unformatted and not in specific fields such as street. city. zip. etc. This is the third line of the address.",
      "type": "string",
      "maxLength": 255
    },
    "addressLine4": {
      "description": "When the source address is unformatted and not in specific fields such as street. city. zip. etc. This is the fourth line of the address.",
      "type": "string",
      "maxLength": 255
    },
    "addressLine5": {
      "description": "When the source address is unformatted and not in specific fields such as street. city. zip. etc. This is the fifth line of the address.",
      "type": "string",
      "maxLength": 255
    },
    "effectiveDate": {
      "description": "Indicates when the entity started using this address.",
      "type": "string",
      "format": "date-time"
    },
    "expirationDate": {
      "description": "Indicates when the entity stopped using this address.",
      "type": "string",
      "format": "date-time"
    }
  }
}

