{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://openeik.org/schemas/0.1/model.schema.json",
  "title": "Single-file model",
  "description": "A whole model as one JSON object: the single-file form of Part III. Lists hold their records in order; views hold their detail items inline; `extras` holds the folder's kept files, text by path.",
  "type": "object",
  "properties": {
    "schemaVersion": {
      "const": 1
    },
    "project": {
      "$ref": "project/project.schema.json#/properties/project"
    },
    "projectInformation": {
      "$ref": "project/project.schema.json#/properties/projectInformation"
    },
    "levels": {
      "$ref": "project/levels.schema.json"
    },
    "grids": {
      "type": "array",
      "items": {
        "$ref": "project/grid.schema.json"
      }
    },
    "scopeBoxes": {
      "type": "array",
      "items": {
        "$ref": "project/scope-box.schema.json"
      }
    },
    "materials": {
      "type": "array",
      "items": {
        "$ref": "project/material.schema.json"
      }
    },
    "dimensionStyles": {
      "type": "array",
      "items": {
        "$ref": "project/dimension-style.schema.json"
      }
    },
    "detailFamilies": {
      "type": "array",
      "items": {
        "$ref": "project/detail-family.schema.json"
      }
    },
    "titleBlocks": {
      "type": "array",
      "items": {
        "$ref": "application-record.schema.json"
      }
    },
    "images": {
      "type": "array",
      "items": {
        "$ref": "application-record.schema.json"
      }
    },
    "types": {
      "type": "array",
      "items": {
        "$ref": "types/type.schema.json"
      }
    },
    "elements": {
      "type": "array",
      "items": {
        "$ref": "elements/element.schema.json"
      }
    },
    "views": {
      "type": "array",
      "items": {
        "$ref": "drawings/view.schema.json"
      }
    },
    "sheets": {
      "type": "array",
      "items": {
        "$ref": "application-record.schema.json"
      }
    },
    "reports": {
      "type": "array",
      "items": {
        "$ref": "application-record.schema.json"
      }
    },
    "renders": {
      "type": "array",
      "items": {
        "$ref": "application-record.schema.json"
      }
    },
    "deviations": {
      "type": "array",
      "items": {
        "$ref": "application-record.schema.json"
      }
    },
    "areaAdjustments": {
      "type": "array",
      "items": {
        "$ref": "application-record.schema.json"
      }
    },
    "references": {
      "type": "array",
      "items": {
        "$ref": "application-record.schema.json"
      }
    },
    "pieces": {
      "type": "array",
      "items": {
        "$ref": "fabrication/piece.schema.json"
      }
    },
    "joints": {
      "type": "array",
      "items": {
        "$ref": "fabrication/joint.schema.json"
      }
    },
    "originals": {
      "type": "array",
      "items": {
        "$ref": "project/original.schema.json"
      }
    },
    "copies": {
      "type": "array",
      "items": {
        "$ref": "project/copy.schema.json"
      }
    },
    "extras": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "schemaVersion",
    "project",
    "levels",
    "types",
    "elements",
    "views"
  ],
  "x-eik-closed": true
}
