{
  "$id": "http://www.admin-shell.io/schema/json/dataspecfication_templates/V3.0RC02",
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "definitions": {
    "DataSpecificationIEC61360": {
      "allOf": [
        {
          "$ref": "http://www.admin-shell.io/schema/json/V3.0RC02#/definitions/DataSpecificationContent"
        },
        {
          "properties": {
            "dataType": {
              "$ref": "#/definitions/DataTypeIEC61360"
            },
            "definition": {
              "items": {
                "$ref": "http://www.admin-shell.io/schema/json/V3.0RC02#/definitions/LangString"
              },
              "type": "array"
            },
            "levelType": {
              "$ref": "#/definitions/LevelType"
            },
            "preferredName": {
              "items": {
                "$ref": "http://www.admin-shell.io/schema/json/V3.0RC02#/definitions/LangString"
              },
              "type": "array"
            },
            "shortName": {
              "items": {
                "$ref": "http://www.admin-shell.io/schema/json/V3.0RC02#/definitions/LangString"
              },
              "type": "array"
            },
            "sourceOfDefinition": {
              "minLength": 1,
              "type": "string"
            },
            "symbol": {
              "minLength": 1,
              "type": "string"
            },
            "unit": {
              "minLength": 1,
              "type": "string"
            },
            "unitId": {
              "$ref": "http://www.admin-shell.io/schema/json/V3.0RC02#/definitions/Reference"
            },
            "value": {
              "type": "string"
            },
            "valueFormat": {
              "minLength": 1,
              "type": "string"
            },
            "valueId": {
              "$ref": "http://www.admin-shell.io/schema/json/V3.0RC02#/definitions/Reference"
            },
            "valueList": {
              "$ref": "#/definitions/ValueList"
            }
          },
          "required": [
            "preferredName"
          ]
        }
      ]
    },
    "DataSpecificationPhysicalUnit": {
      "allOf": [
        {
          "$ref": "http://www.admin-shell.io/schema/json/V3.0RC02#/definitions/DataSpecificationContent"
        },
        {
          "properties": {
            "conversionFactor": {
              "minLength": 1,
              "type": "string"
            },
            "definition": {
              "items": {
                "$ref": "http://www.admin-shell.io/schema/json/V3.0RC02#/definitions/LangString"
              },
              "type": "array"
            },
            "dinNotation": {
              "minLength": 1,
              "type": "string"
            },
            "eceCode": {
              "minLength": 1,
              "type": "string"
            },
            "eceName": {
              "minLength": 1,
              "type": "string"
            },
            "nistName": {
              "minLength": 1,
              "type": "string"
            },
            "registrationAuthorityId": {
              "minLength": 1,
              "type": "string"
            },
            "siName": {
              "minLength": 1,
              "type": "string"
            },
            "siNotation": {
              "minLength": 1,
              "type": "string"
            },
            "sourceOfDefinition": {
              "minLength": 1,
              "type": "string"
            },
            "supplier": {
              "minLength": 1,
              "type": "string"
            },
            "unitName": {
              "minLength": 1,
              "type": "string"
            },
            "unitSymbol": {
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "unitName",
            "unitSymbol",
            "definition"
          ]
        }
      ]
    },
    "DataTypeIEC61360": {
      "enum": [
        "DATE",
        "STRING",
        "STRING_TRANSLATABLE",
        "INTEGER_MEASURE",
        "INTEGER_COUNT",
        "INTEGER_CURRENCY",
        "REAL_MEASURE",
        "REAL_COUNT",
        "REAL_CURRENCY",
        "BOOLEAN",
        "URL",
        "RATIONAL",
        "RATIONAL_MEASURE",
        "TIME",
        "TIMESTAMP"
      ],
      "type": "string"
    },
    "LevelType": {
      "enum": [
        "Min",
        "Max",
        "Nom",
        "Typ"
      ],
      "type": "string"
    },
    "ValueList": {
      "properties": {
        "valueReferencePair": {
          "items": {
            "$ref": "#/definitions/ValueReferencePair"
          },
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "valueReferencePair"
      ],
      "type": "object"
    },
    "ValueReferencePair": {
      "properties": {
        "value": {
          "type": "string"
        },
        "valueId": {
          "$ref": "#/definitions/Reference"
        }
      },
      "required": [
        "value",
        "valueId"
      ],
      "type": "object"
    }
  },
  "title": "DataSpecificationTemplates",
  "type": "object"
}