{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/placestack-com/json-schema/placestack-com-zoning-schema.json",
  "title": "Zoning",
  "description": "A zoning classification: a base district or an overlay, with its rules.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/placestack-com-openapi.json#/components/schemas/Zoning",
  "properties": {
    "object": {
      "type": "string",
      "const": "zoning",
      "title": "Object",
      "description": "The object's type. Always `zoning`.",
      "default": "zoning"
    },
    "id": {
      "type": "string",
      "pattern": "^zon_[0-7][0-9a-hjkmnp-tv-z]{25}$",
      "title": "Id",
      "description": "A zoning id."
    },
    "code": {
      "type": "string",
      "title": "Code",
      "description": "District code, as published, such as `R-1`. Unique only within its jurisdiction."
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Name",
      "description": "District name, as published. Null when only a code is published."
    },
    "kind": {
      "type": "string",
      "enum": [
        "base",
        "overlay"
      ],
      "title": "Kind",
      "description": "District type. One of `base` or `overlay`. A place has one base district and any number of overlays."
    },
    "applies_over": {
      "anyOf": [
        {
          "$ref": "#/$defs/Reach"
        },
        {
          "type": "null"
        }
      ],
      "description": "Base districts the overlay applies to. Null for a base district."
    },
    "precedence": {
      "anyOf": [
        {
          "$ref": "#/$defs/Precedence"
        },
        {
          "type": "null"
        }
      ],
      "description": "The overlay's rank when rules conflict. Null for a base district."
    },
    "jurisdiction": {
      "$ref": "#/$defs/zoning__JurisdictionRef"
    },
    "within": {
      "items": {
        "$ref": "#/$defs/zoning__Within"
      },
      "type": "array",
      "title": "Within",
      "description": "The jurisdictions that contain `jurisdiction`, largest first."
    },
    "category": {
      "anyOf": [
        {
          "$ref": "#/$defs/Code"
        },
        {
          "type": "null"
        }
      ],
      "description": "District category, such as residential or commercial. Null when not yet classified."
    },
    "purpose": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Purpose",
      "description": "Purpose statement, as published. Null when there is none."
    },
    "ordinance": {
      "anyOf": [
        {
          "$ref": "#/$defs/Ordinance"
        },
        {
          "type": "null"
        }
      ],
      "description": "The ordinance that adopted the classification. Null when not published."
    },
    "effective": {
      "anyOf": [
        {
          "$ref": "#/$defs/Period"
        },
        {
          "type": "null"
        }
      ],
      "description": "Dates in effect. Null when not published."
    },
    "legal_status": {
      "type": "string",
      "enum": [
        "adopted",
        "proposed"
      ],
      "title": "Legal Status",
      "description": "One of `adopted` or `proposed`. A `proposed` classification is part of a pending amendment."
    },
    "mapped_area_m2": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mapped Area M2",
      "description": "Total mapped area, in square meters. Null when not on the zoning map."
    },
    "allowances": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Allowance"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Allowances",
      "description": "Each use the ordinance lists, with its result. Included only with `include=allowance`; null otherwise. A use not listed here is governed by `unlisted_uses`."
    },
    "unlisted_uses": {
      "anyOf": [
        {
          "$ref": "#/$defs/UnlistedUses"
        },
        {
          "type": "null"
        }
      ],
      "description": "The ordinance's rule for uses it does not list. Null when the ordinance has none, which is neither a permission nor a prohibition."
    },
    "standards": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Standard"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Standards",
      "description": "Dimensional standards, such as setbacks, height and lot size. Included only with `include=standard`; null otherwise."
    },
    "geometry": {
      "anyOf": [
        {
          "$ref": "#/$defs/Geometry"
        },
        {
          "type": "null"
        }
      ],
      "description": "Every mapped area, as GeoJSON. Included only with `include=geometry`; null otherwise."
    },
    "sources": {
      "items": {
        "$ref": "#/$defs/Source"
      },
      "type": "array",
      "title": "Sources",
      "description": "The zoning map and ordinance the classification is read from."
    },
    "as_of": {
      "anyOf": [
        {
          "type": "string",
          "format": "date"
        },
        {
          "type": "null"
        }
      ],
      "title": "As Of",
      "description": "The oldest `acquired` date in `sources`."
    },
    "href": {
      "type": "string",
      "title": "Href",
      "description": "The object's path in the API."
    }
  },
  "type": "object",
  "required": [
    "object",
    "id",
    "code",
    "name",
    "kind",
    "applies_over",
    "precedence",
    "jurisdiction",
    "within",
    "category",
    "purpose",
    "ordinance",
    "effective",
    "legal_status",
    "mapped_area_m2",
    "allowances",
    "unlisted_uses",
    "standards",
    "geometry",
    "sources",
    "as_of",
    "href"
  ],
  "$defs": {
    "Allowance": {
      "properties": {
        "use": {
          "$ref": "#/$defs/Use",
          "description": "The use."
        },
        "result": {
          "type": "string",
          "enum": [
            "permitted",
            "conditional",
            "prohibited",
            "unknown"
          ],
          "title": "Result",
          "description": "Whether the use is allowed. One of `permitted`, `conditional`, `prohibited` or `unknown`. `unknown` means the ordinance lists the use without a result."
        },
        "qualification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Qualification",
          "description": "Conditions on the use, as published. Null when there are none."
        },
        "process": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Process",
          "description": "Approval required, as published, such as a special use permit. Null unless `result` is `conditional`."
        },
        "citation": {
          "$ref": "#/$defs/Citation",
          "description": "Where the ordinance states this."
        }
      },
      "type": "object",
      "required": [
        "use",
        "result",
        "citation"
      ],
      "title": "Allowance",
      "description": "A use and its result in this classification."
    },
    "Bound": {
      "properties": {
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Min",
          "description": "Minimum. Null when there is none."
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Max",
          "description": "Maximum. Null when there is none."
        },
        "unit": {
          "type": "string",
          "title": "Unit",
          "description": "Unit of `min` and `max`. One of `ft`, `sq_ft`, `acre`, `percent`, `ratio`, `du_acre`, `space`, `story`."
        }
      },
      "type": "object",
      "required": [
        "unit"
      ],
      "title": "Bound",
      "description": "A numeric range."
    },
    "Citation": {
      "properties": {
        "section": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Section",
          "description": "Section of the zoning code. Null when not published."
        },
        "passage": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Passage",
          "description": "The rule's text, quoted from the zoning code. Null when only the section is published."
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Url",
          "description": "URL of the published passage. Null when not published."
        },
        "effective": {
          "anyOf": [
            {
              "type": "string",
              "format": "date"
            },
            {
              "type": "null"
            }
          ],
          "title": "Effective",
          "description": "Date the text took effect. Null when not stated."
        }
      },
      "type": "object",
      "title": "Citation",
      "description": "The ordinance text a rule comes from."
    },
    "Code": {
      "properties": {
        "code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Code",
          "description": "Code, as published."
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Description",
          "description": "Meaning of the code, as published. Null when not published."
        },
        "standard": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Standard",
          "description": "Standard value, shared across jurisdictions. Null when not yet classified."
        }
      },
      "type": "object",
      "title": "Code",
      "description": "A coded value, as published, with its standard equivalent."
    },
    "Geometry": {
      "properties": {
        "type": {
          "type": "string",
          "title": "Type",
          "description": "Geometry type. One of `Polygon` or `MultiPolygon`."
        },
        "coordinates": {
          "items": {},
          "type": "array",
          "title": "Coordinates",
          "description": "Coordinates, as `[longitude, latitude]` positions nested by geometry type."
        }
      },
      "type": "object",
      "required": [
        "type",
        "coordinates"
      ],
      "title": "Geometry",
      "description": "A GeoJSON geometry in WGS 84, longitude first."
    },
    "Ordinance": {
      "properties": {
        "citation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Citation",
          "description": "Ordinance citation, as published. Null when not published."
        },
        "section": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Section",
          "description": "Section that defines the classification. Null when not published."
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Url",
          "description": "URL of the published ordinance. Null when not published."
        },
        "adopted": {
          "anyOf": [
            {
              "type": "string",
              "format": "date"
            },
            {
              "type": "null"
            }
          ],
          "title": "Adopted",
          "description": "Adoption date. Null when not published."
        },
        "effective": {
          "anyOf": [
            {
              "type": "string",
              "format": "date"
            },
            {
              "type": "null"
            }
          ],
          "title": "Effective",
          "description": "Effective date. Null when not published."
        }
      },
      "type": "object",
      "title": "Ordinance",
      "description": "The ordinance that adopted a classification."
    },
    "Period": {
      "properties": {
        "from": {
          "anyOf": [
            {
              "type": "string",
              "format": "date"
            },
            {
              "type": "null"
            }
          ],
          "title": "From",
          "description": "Start date. Null when not published."
        },
        "to": {
          "anyOf": [
            {
              "type": "string",
              "format": "date"
            },
            {
              "type": "null"
            }
          ],
          "title": "To",
          "description": "End date. Null while current."
        }
      },
      "type": "object",
      "title": "Period",
      "description": "The dates a classification is in effect."
    },
    "Precedence": {
      "properties": {
        "rank": {
          "type": "integer",
          "title": "Rank",
          "description": "Rank when rules conflict, lowest first. A base district is always `0`."
        },
        "basis": {
          "type": "string",
          "enum": [
            "stated",
            "house_default"
          ],
          "title": "Basis",
          "description": "Source of the rank. One of `stated` (set by the ordinance) or `house_default` (assigned by Placestack because the ordinance sets none)."
        },
        "citation": {
          "anyOf": [
            {
              "$ref": "#/$defs/Citation"
            },
            {
              "type": "null"
            }
          ],
          "description": "Where the ordinance states the order. Null when `basis` is `house_default`."
        }
      },
      "type": "object",
      "required": [
        "rank",
        "basis"
      ],
      "title": "Precedence",
      "description": "An overlay's rank when its rules conflict with others."
    },
    "Reach": {
      "properties": {
        "scope": {
          "type": "string",
          "enum": [
            "all",
            "listed",
            "unstated"
          ],
          "title": "Scope",
          "description": "Which base districts. One of `all`, `listed` (the districts in `codes`) or `unstated`."
        },
        "codes": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "title": "Codes",
          "description": "Base district codes. Empty unless `scope` is `listed`."
        },
        "citation": {
          "$ref": "#/$defs/Citation",
          "description": "Where the ordinance states this."
        }
      },
      "type": "object",
      "required": [
        "scope",
        "codes",
        "citation"
      ],
      "title": "Reach",
      "description": "The base districts an overlay applies to."
    },
    "Source": {
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "map",
            "ordinance"
          ],
          "title": "Kind",
          "description": "Type of source. One of `map` (the zoning map) or `ordinance` (the zoning code)."
        },
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Url",
          "description": "URL of the source. Null when it has none."
        },
        "acquired": {
          "anyOf": [
            {
              "type": "string",
              "format": "date"
            },
            {
              "type": "null"
            }
          ],
          "title": "Acquired",
          "description": "Date the source was retrieved. Null when not recorded."
        }
      },
      "type": "object",
      "required": [
        "kind"
      ],
      "title": "Source",
      "description": "A document a classification is read from."
    },
    "Standard": {
      "properties": {
        "type": {
          "type": "string",
          "title": "Type",
          "description": "Type of standard. One of `setback_front`, `setback_side`, `setback_side_combined`, `setback_side_street`, `setback_rear`, `setback_parking_front`, `setback_parking_side`, `setback_parking_side_street`, `setback_parking_rear`, `build_to_front`, `build_to_side_street`, `height_max_ft`, `height_max_stories`, `height_min_ft`, `height_min_stories`, `far_max`, `lot_area_min`, `lot_area_max`, `lot_width_min`, `lot_depth_min`, `lot_coverage_max`, `density_max`, `open_space_min`, `outdoor_amenity_min`, `impervious_max`, `parking_min` or `parking_max`."
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Label",
          "description": "Row of the ordinance's table the standard is read from, as published. Null when not published."
        },
        "value": {
          "anyOf": [
            {
              "$ref": "#/$defs/Bound"
            },
            {
              "type": "null"
            }
          ],
          "description": "The standard as a number range. Both `min` and `max` are null where the ordinance states no limit. Null when the standard is not numeric; see `text`."
        },
        "text": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Text",
          "description": "The standard as published. Null when `value` is set."
        },
        "qualification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Qualification",
          "description": "Conditions on the standard, as published. Null when there are none."
        },
        "citation": {
          "$ref": "#/$defs/Citation",
          "description": "Where the ordinance states this."
        }
      },
      "type": "object",
      "required": [
        "type",
        "citation"
      ],
      "title": "Standard",
      "description": "A dimensional standard, such as a setback or height limit."
    },
    "UnlistedUses": {
      "properties": {
        "result": {
          "type": "string",
          "enum": [
            "permitted",
            "conditional",
            "prohibited",
            "unknown"
          ],
          "title": "Result",
          "description": "Whether an unlisted use is allowed. One of `permitted`, `conditional`, `prohibited` or `unknown`."
        },
        "process": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Process",
          "description": "Approval required for an unlisted use, as published. Null when none is named."
        },
        "citation": {
          "$ref": "#/$defs/Citation",
          "description": "Where the ordinance states this."
        }
      },
      "type": "object",
      "required": [
        "result",
        "citation"
      ],
      "title": "UnlistedUses",
      "description": "The ordinance's rule for uses it does not list."
    },
    "Use": {
      "properties": {
        "code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Code",
          "description": "Use code, as published. Null when the ordinance gives no code."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "Use name, as published."
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Category",
          "description": "Standard use category, shared across jurisdictions. Null when not yet classified."
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "title": "Use",
      "description": "A land use, as named in the ordinance."
    },
    "zoning__JurisdictionRef": {
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^jur_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "title": "Id",
          "description": "A jurisdiction id."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The jurisdiction's common name."
        },
        "type": {
          "type": "string",
          "title": "Type",
          "description": "Kind of jurisdiction, in local terms, such as `county`, `parish`, `city` or `town`."
        },
        "fips": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Fips",
          "description": "The Census GEOID. Null outside the US."
        },
        "href": {
          "type": "string",
          "title": "Href",
          "description": "The object's path in the API."
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type",
        "href"
      ],
      "title": "JurisdictionRef",
      "description": "The jurisdiction that adopted the classification."
    },
    "zoning__Within": {
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^jur_[0-7][0-9a-hjkmnp-tv-z]{25}$",
          "title": "Id",
          "description": "A jurisdiction id."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "The jurisdiction's common name."
        },
        "tier": {
          "type": "string",
          "title": "Tier",
          "description": "Level of government. One of `national`, `region` (a state or province), `subregion` (a county or district) or `local` (a city, town, village or township)."
        },
        "type": {
          "type": "string",
          "title": "Type",
          "description": "Kind of jurisdiction, in local terms, such as `county`, `parish`, `city` or `town`."
        },
        "fips": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Fips",
          "description": "The Census GEOID. Null outside the US."
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "tier",
        "type"
      ],
      "title": "Within",
      "description": "A jurisdiction that contains this one."
    }
  }
}