logo

LCAx Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Project",
  "type": "object",
  "required": [
    "assemblies",
    "formatVersion",
    "id",
    "impactCategories",
    "lifeCycleModules",
    "location",
    "name",
    "projectPhase",
    "softwareInfo"
  ],
  "properties": {
    "assemblies": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/AssemblyReference"
      }
    },
    "classificationSystems": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      }
    },
    "comment": {
      "type": [
        "string",
        "null"
      ]
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "formatVersion": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "impactCategories": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/ImpactCategoryKey"
      }
    },
    "lciaMethod": {
      "type": [
        "string",
        "null"
      ]
    },
    "lifeCycleModules": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/LifeCycleModule"
      }
    },
    "location": {
      "$ref": "#/definitions/Location"
    },
    "metaData": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "anyOf": [
          {
            "$ref": "#/definitions/AnyValue"
          },
          {
            "type": "null"
          }
        ]
      }
    },
    "name": {
      "type": "string"
    },
    "owner": {
      "type": [
        "string",
        "null"
      ]
    },
    "projectInfo": {
      "anyOf": [
        {
          "$ref": "#/definitions/BuildingInfo"
        },
        {
          "type": "null"
        }
      ]
    },
    "projectPhase": {
      "$ref": "#/definitions/ProjectPhase"
    },
    "referenceStudyPeriod": {
      "type": [
        "integer",
        "null"
      ],
      "format": "uint8",
      "minimum": 0.0
    },
    "results": {
      "anyOf": [
        {
          "$ref": "#/definitions/Impacts"
        },
        {
          "type": "null"
        }
      ]
    },
    "softwareInfo": {
      "$ref": "#/definitions/SoftwareInfo"
    }
  },
  "definitions": {
    "AnyValue": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/definitions/Number"
        },
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AnyValue"
          }
        },
        {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/AnyValue"
          }
        }
      ]
    },
    "AreaType": {
      "type": "object",
      "required": [
        "definition",
        "unit",
        "value"
      ],
      "properties": {
        "definition": {
          "type": "string"
        },
        "unit": {
          "$ref": "#/definitions/Unit"
        },
        "value": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "AssemblyReference": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "id",
            "name",
            "products",
            "quantity",
            "type",
            "unit"
          ],
          "properties": {
            "classification": {
              "type": [
                "array",
                "null"
              ],
              "items": {
                "$ref": "#/definitions/Classification"
              }
            },
            "comment": {
              "type": [
                "string",
                "null"
              ]
            },
            "description": {
              "type": [
                "string",
                "null"
              ]
            },
            "id": {
              "type": "string"
            },
            "metaData": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/AnyValue"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "name": {
              "type": "string"
            },
            "products": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ProductReference"
              }
            },
            "quantity": {
              "type": "number",
              "format": "double"
            },
            "results": {
              "anyOf": [
                {
                  "$ref": "#/definitions/Impacts"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": {
              "type": "string",
              "enum": [
                "assembly"
              ]
            },
            "unit": {
              "$ref": "#/definitions/Unit"
            }
          }
        },
        {
          "type": "object",
          "required": [
            "type",
            "uri"
          ],
          "properties": {
            "format": {
              "type": [
                "string",
                "null"
              ]
            },
            "overrides": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/AnyValue"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "type": {
              "type": "string",
              "enum": [
                "reference"
              ]
            },
            "uri": {
              "type": "string"
            },
            "version": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        }
      ]
    },
    "BuildingInfo": {
      "type": "object",
      "required": [
        "buildingType",
        "buildingTypology",
        "floorsAboveGround",
        "generalEnergyClass",
        "roofType"
      ],
      "properties": {
        "buildingCompletionYear": {
          "type": [
            "integer",
            "null"
          ],
          "format": "uint16",
          "minimum": 0.0
        },
        "buildingFootprint": {
          "anyOf": [
            {
              "$ref": "#/definitions/ValueUnit"
            },
            {
              "type": "null"
            }
          ]
        },
        "buildingHeight": {
          "anyOf": [
            {
              "$ref": "#/definitions/ValueUnit"
            },
            {
              "type": "null"
            }
          ]
        },
        "buildingMass": {
          "anyOf": [
            {
              "$ref": "#/definitions/ValueUnit"
            },
            {
              "type": "null"
            }
          ]
        },
        "buildingModelScope": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "#/definitions/BuildingModelScope"
          }
        },
        "buildingPermitYear": {
          "type": [
            "integer",
            "null"
          ],
          "format": "uint16",
          "minimum": 0.0
        },
        "buildingType": {
          "$ref": "#/definitions/BuildingType"
        },
        "buildingTypology": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BuildingTypology"
          }
        },
        "buildingUsers": {
          "type": [
            "integer",
            "null"
          ],
          "format": "uint32",
          "minimum": 0.0
        },
        "certifications": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "string"
          }
        },
        "energyDemandElectricity": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "energyDemandHeating": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "energySupplyElectricity": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "energySupplyHeating": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "exportedElectricity": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "floorsAboveGround": {
          "type": "integer",
          "format": "uint16",
          "minimum": 0.0
        },
        "floorsBelowGround": {
          "type": [
            "integer",
            "null"
          ],
          "format": "uint16",
          "minimum": 0.0
        },
        "frameType": {
          "type": [
            "string",
            "null"
          ]
        },
        "generalEnergyClass": {
          "$ref": "#/definitions/GeneralEnergyClass"
        },
        "grossFloorArea": {
          "anyOf": [
            {
              "$ref": "#/definitions/AreaType"
            },
            {
              "type": "null"
            }
          ]
        },
        "heatedFloorArea": {
          "anyOf": [
            {
              "$ref": "#/definitions/AreaType"
            },
            {
              "type": "null"
            }
          ]
        },
        "localEnergyClass": {
          "type": [
            "string",
            "null"
          ]
        },
        "roofType": {
          "$ref": "#/definitions/RoofType"
        }
      }
    },
    "BuildingModelScope": {
      "type": "string",
      "enum": [
        "facilitating_works",
        "substructure",
        "superstructure_frame",
        "superstructure_envelope",
        "superstructure_internal_elements",
        "finishes",
        "building_services",
        "external_works",
        "ff_e"
      ]
    },
    "BuildingType": {
      "type": "string",
      "enum": [
        "new_construction_works",
        "demolition",
        "deconstruction_and_new_construction_works",
        "retrofit_works",
        "extension_works",
        "retrofit_and_extension_works",
        "fit_out_works",
        "operations",
        "unknown",
        "other"
      ]
    },
    "BuildingTypology": {
      "type": "string",
      "enum": [
        "office",
        "residential",
        "public",
        "commercial",
        "industrial",
        "infrastructure",
        "agricultural",
        "educational",
        "health",
        "unknown",
        "other"
      ]
    },
    "Classification": {
      "type": "object",
      "required": [
        "code",
        "name",
        "system"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "system": {
          "type": "string"
        }
      }
    },
    "Conversion": {
      "type": "object",
      "required": [
        "to",
        "value"
      ],
      "properties": {
        "metaData": {
          "type": [
            "object",
            "null"
          ],
          "additionalProperties": {
            "anyOf": [
              {
                "$ref": "#/definitions/AnyValue"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "to": {
          "$ref": "#/definitions/Unit"
        },
        "value": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "Country": {
      "type": "string",
      "enum": [
        "unknown",
        "afg",
        "ala",
        "alb",
        "dza",
        "asm",
        "and",
        "ago",
        "aia",
        "ata",
        "atg",
        "arg",
        "arm",
        "abw",
        "aus",
        "aut",
        "aze",
        "bhs",
        "bhr",
        "bgd",
        "brb",
        "blr",
        "bel",
        "blz",
        "ben",
        "bmu",
        "btn",
        "bol",
        "bes",
        "bih",
        "bwa",
        "bvt",
        "bra",
        "iot",
        "brn",
        "bgr",
        "bfa",
        "bdi",
        "cpv",
        "khm",
        "cmr",
        "can",
        "cym",
        "caf",
        "tcd",
        "chl",
        "chn",
        "cxr",
        "cck",
        "col",
        "com",
        "cog",
        "cod",
        "cok",
        "cri",
        "civ",
        "hrv",
        "cub",
        "cuw",
        "cyp",
        "cze",
        "dnk",
        "dji",
        "dma",
        "dom",
        "ecu",
        "egy",
        "slv",
        "gnq",
        "eri",
        "est",
        "swz",
        "eth",
        "flk",
        "fro",
        "fji",
        "fin",
        "fra",
        "guf",
        "pyf",
        "atf",
        "gab",
        "gmb",
        "geo",
        "deu",
        "gha",
        "gib",
        "grc",
        "grl",
        "grd",
        "glp",
        "gum",
        "gtm",
        "ggy",
        "gin",
        "gnb",
        "guy",
        "hti",
        "hmd",
        "vat",
        "hnd",
        "hkg",
        "hun",
        "isl",
        "ind",
        "idn",
        "irn",
        "irq",
        "irl",
        "imn",
        "isr",
        "ita",
        "jam",
        "jpn",
        "jey",
        "jor",
        "kaz",
        "ken",
        "kir",
        "prk",
        "kor",
        "kwt",
        "kgz",
        "lao",
        "lva",
        "lbn",
        "lso",
        "lbr",
        "lby",
        "lie",
        "ltu",
        "lux",
        "mac",
        "mdg",
        "mwi",
        "mys",
        "mdv",
        "mli",
        "mlt",
        "mhl",
        "mtq",
        "mrt",
        "mus",
        "myt",
        "mex",
        "fsm",
        "mda",
        "mco",
        "mng",
        "mne",
        "msr",
        "mar",
        "moz",
        "mmr",
        "nam",
        "nru",
        "npl",
        "nld",
        "ncl",
        "nzl",
        "nic",
        "ner",
        "nga",
        "niu",
        "nfk",
        "mkd",
        "mnp",
        "nor",
        "omn",
        "pak",
        "plw",
        "pse",
        "pan",
        "png",
        "pry",
        "per",
        "phl",
        "pcn",
        "pol",
        "prt",
        "pri",
        "qat",
        "reu",
        "rou",
        "rus",
        "rwa",
        "blm",
        "shn",
        "kna",
        "lca",
        "maf",
        "spm",
        "vct",
        "wsm",
        "smr",
        "stp",
        "sau",
        "sen",
        "srb",
        "syc",
        "sle",
        "sgp",
        "sxm",
        "svk",
        "svn",
        "slb",
        "som",
        "zaf",
        "sgs",
        "ssd",
        "esp",
        "lka",
        "sdn",
        "sur",
        "sjm",
        "swe",
        "che",
        "syr",
        "twn",
        "tjk",
        "tza",
        "tha",
        "tls",
        "tgo",
        "tkl",
        "ton",
        "tto",
        "tun",
        "tur",
        "tkm",
        "tca",
        "tuv",
        "uga",
        "ukr",
        "are",
        "gbr",
        "usa",
        "umi",
        "ury",
        "uzb",
        "vut",
        "ven",
        "vnm",
        "vgb",
        "vir",
        "wlf",
        "esh",
        "yem",
        "zmb",
        "zwe"
      ]
    },
    "EPDReference": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "declaredUnit",
            "formatVersion",
            "id",
            "impacts",
            "location",
            "name",
            "publishedDate",
            "standard",
            "subtype",
            "type",
            "validUntil",
            "version"
          ],
          "properties": {
            "comment": {
              "type": [
                "string",
                "null"
              ]
            },
            "conversions": {
              "type": [
                "array",
                "null"
              ],
              "items": {
                "$ref": "#/definitions/Conversion"
              }
            },
            "declaredUnit": {
              "$ref": "#/definitions/Unit"
            },
            "formatVersion": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "impacts": {
              "$ref": "#/definitions/Impacts"
            },
            "location": {
              "$ref": "#/definitions/Country"
            },
            "metaData": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/AnyValue"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "name": {
              "type": "string"
            },
            "publishedDate": {
              "type": "string",
              "format": "date"
            },
            "referenceServiceLife": {
              "type": [
                "integer",
                "null"
              ],
              "format": "uint32",
              "minimum": 0.0
            },
            "source": {
              "anyOf": [
                {
                  "$ref": "#/definitions/Source"
                },
                {
                  "type": "null"
                }
              ]
            },
            "standard": {
              "$ref": "#/definitions/Standard"
            },
            "subtype": {
              "$ref": "#/definitions/SubType"
            },
            "type": {
              "type": "string",
              "enum": [
                "EPD"
              ]
            },
            "validUntil": {
              "type": "string",
              "format": "date"
            },
            "version": {
              "type": "string"
            }
          }
        },
        {
          "type": "object",
          "required": [
            "type",
            "uri"
          ],
          "properties": {
            "format": {
              "type": [
                "string",
                "null"
              ]
            },
            "overrides": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/AnyValue"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "type": {
              "type": "string",
              "enum": [
                "reference"
              ]
            },
            "uri": {
              "type": "string"
            },
            "version": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        }
      ]
    },
    "GeneralEnergyClass": {
      "type": "string",
      "enum": [
        "existing",
        "standard",
        "advanced",
        "unknown"
      ]
    },
    "GenericDataReference": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "declaredUnit",
            "formatVersion",
            "id",
            "impacts",
            "name",
            "type"
          ],
          "properties": {
            "comment": {
              "type": [
                "string",
                "null"
              ]
            },
            "conversions": {
              "type": [
                "array",
                "null"
              ],
              "items": {
                "$ref": "#/definitions/Conversion"
              }
            },
            "declaredUnit": {
              "$ref": "#/definitions/Unit"
            },
            "formatVersion": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "impacts": {
              "$ref": "#/definitions/Impacts"
            },
            "metaData": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/AnyValue"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "name": {
              "type": "string"
            },
            "source": {
              "anyOf": [
                {
                  "$ref": "#/definitions/Source"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": {
              "type": "string",
              "enum": [
                "EPD"
              ]
            }
          }
        },
        {
          "type": "object",
          "required": [
            "type",
            "uri"
          ],
          "properties": {
            "format": {
              "type": [
                "string",
                "null"
              ]
            },
            "overrides": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/AnyValue"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "type": {
              "type": "string",
              "enum": [
                "reference"
              ]
            },
            "uri": {
              "type": "string"
            },
            "version": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        }
      ]
    },
    "ImpactCategory": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "number",
          "null"
        ],
        "format": "double"
      }
    },
    "ImpactCategoryKey": {
      "type": "string",
      "enum": [
        "gwp",
        "gwp_fos",
        "gwp_bio",
        "gwp_lul",
        "odp",
        "ap",
        "ep",
        "ep_fw",
        "ep_mar",
        "ep_ter",
        "pocp",
        "adpe",
        "adpf",
        "penre",
        "pere",
        "perm",
        "pert",
        "penrt",
        "penrm",
        "sm",
        "pm",
        "wdp",
        "irp",
        "etp_fw",
        "htp_c",
        "htp_nc",
        "sqp",
        "rsf",
        "nrsf",
        "fw",
        "hwd",
        "nhwd",
        "rwd",
        "cru",
        "mrf",
        "mer",
        "eee",
        "eet"
      ]
    },
    "ImpactData": {
      "anyOf": [
        {
          "$ref": "#/definitions/EPDReference"
        },
        {
          "$ref": "#/definitions/GenericDataReference"
        }
      ]
    },
    "Impacts": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/definitions/ImpactCategory"
      }
    },
    "LifeCycleModule": {
      "type": "string",
      "enum": [
        "a0",
        "a1a3",
        "a4",
        "a5",
        "b1",
        "b2",
        "b3",
        "b4",
        "b5",
        "b6",
        "b7",
        "b8",
        "c1",
        "c2",
        "c3",
        "c4",
        "d"
      ]
    },
    "Location": {
      "type": "object",
      "required": [
        "country"
      ],
      "properties": {
        "address": {
          "type": [
            "string",
            "null"
          ]
        },
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "country": {
          "$ref": "#/definitions/Country"
        }
      }
    },
    "Number": {
      "anyOf": [
        {
          "type": "integer",
          "format": "int64"
        },
        {
          "type": "number",
          "format": "double"
        }
      ]
    },
    "ProductReference": {
      "oneOf": [
        {
          "type": "object",
          "required": [
            "id",
            "impactData",
            "name",
            "quantity",
            "referenceServiceLife",
            "type",
            "unit"
          ],
          "properties": {
            "description": {
              "type": [
                "string",
                "null"
              ]
            },
            "id": {
              "type": "string"
            },
            "impactData": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ImpactData"
              }
            },
            "metaData": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/AnyValue"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "name": {
              "type": "string"
            },
            "quantity": {
              "type": "number",
              "format": "double"
            },
            "referenceServiceLife": {
              "type": "integer",
              "format": "uint32",
              "minimum": 0.0
            },
            "results": {
              "anyOf": [
                {
                  "$ref": "#/definitions/Impacts"
                },
                {
                  "type": "null"
                }
              ]
            },
            "transport": {
              "type": [
                "array",
                "null"
              ],
              "items": {
                "$ref": "#/definitions/Transport"
              }
            },
            "type": {
              "type": "string",
              "enum": [
                "product"
              ]
            },
            "unit": {
              "$ref": "#/definitions/Unit"
            }
          }
        },
        {
          "type": "object",
          "required": [
            "type",
            "uri"
          ],
          "properties": {
            "format": {
              "type": [
                "string",
                "null"
              ]
            },
            "overrides": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/AnyValue"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "type": {
              "type": "string",
              "enum": [
                "reference"
              ]
            },
            "uri": {
              "type": "string"
            },
            "version": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        }
      ]
    },
    "ProjectPhase": {
      "type": "string",
      "enum": [
        "strategic_design",
        "concept_design",
        "technical_design",
        "construction",
        "post_completion",
        "in_use",
        "other"
      ]
    },
    "RoofType": {
      "type": "string",
      "enum": [
        "flat",
        "pitched",
        "saddle",
        "pyramid",
        "unknown",
        "other"
      ]
    },
    "SoftwareInfo": {
      "type": "object",
      "required": [
        "lcaSoftware"
      ],
      "properties": {
        "calculationType": {
          "type": [
            "string",
            "null"
          ]
        },
        "goalAndScopeDefinition": {
          "type": [
            "string",
            "null"
          ]
        },
        "lcaSoftware": {
          "type": "string"
        },
        "lcaSoftwareVersion": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "Source": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "Standard": {
      "type": "string",
      "enum": [
        "en15804a1",
        "en15804a2",
        "unknown"
      ]
    },
    "SubType": {
      "type": "string",
      "enum": [
        "generic",
        "specific",
        "industry",
        "representative"
      ]
    },
    "Transport": {
      "type": "object",
      "required": [
        "distance",
        "distanceUnit",
        "id",
        "impactData",
        "lifeCycleModules",
        "name"
      ],
      "properties": {
        "distance": {
          "type": "number",
          "format": "double"
        },
        "distanceUnit": {
          "$ref": "#/definitions/Unit"
        },
        "id": {
          "type": "string"
        },
        "impactData": {
          "$ref": "#/definitions/ImpactData"
        },
        "lifeCycleModules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LifeCycleModule"
          }
        },
        "name": {
          "type": "string"
        }
      }
    },
    "Unit": {
      "type": "string",
      "enum": [
        "m",
        "m2",
        "m3",
        "kg",
        "tones",
        "pcs",
        "kwh",
        "l",
        "m2r1",
        "km",
        "tones_km",
        "kgm3",
        "unknown"
      ]
    },
    "ValueUnit": {
      "type": "object",
      "required": [
        "unit",
        "value"
      ],
      "properties": {
        "unit": {
          "$ref": "#/definitions/Unit"
        },
        "value": {
          "type": "number",
          "format": "double"
        }
      }
    }
  }
}