{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://portal.yesilveri.tr/standart/kades-json/v1.1.0/kades-kapsam2.schema.json",
  "title": "kadesKapsam2Semasi",
  "description": "KADES-JSON kades-kapsam2 şeması\n\nKOBİZON Proje Danışmanlık ve Yazılım Tic. Ltd. Şti. — Sürüm 1.1.0",
  "$ref": "#/definitions/kadesKapsam2Semasi",
  "definitions": {
    "kadesKapsam2Semasi": {
      "type": "object",
      "properties": {
        "konumBazliKgco2e": {
          "type": "string",
          "minLength": 1,
          "pattern": "^-?\\d+(\\.\\d+)?$"
        },
        "pazarBazliKgco2e": {
          "type": "string",
          "minLength": 1,
          "pattern": "^-?\\d+(\\.\\d+)?$"
        },
        "konumBazliPayYuzde": {
          "type": "string",
          "minLength": 1,
          "pattern": "^-?\\d+(\\.\\d+)?$"
        },
        "kategoriler": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "kod": {
                "type": "string",
                "minLength": 2,
                "maxLength": 100
              },
              "ad": {
                "type": "string",
                "minLength": 2,
                "maxLength": 300
              },
              "konumBazliKgco2e": {
                "type": "string",
                "minLength": 1,
                "pattern": "^-?\\d+(\\.\\d+)?$"
              },
              "pazarBazliKgco2e": {
                "type": "string",
                "minLength": 1,
                "pattern": "^-?\\d+(\\.\\d+)?$"
              },
              "satirSayisi": {
                "type": "integer",
                "minimum": 0
              },
              "belirsizlikYuzde": {
                "type": "string",
                "minLength": 1,
                "pattern": "^-?\\d+(\\.\\d+)?$"
              },
              "konumBazliPayYuzde": {
                "type": "string",
                "minLength": 1,
                "pattern": "^-?\\d+(\\.\\d+)?$"
              }
            },
            "required": [
              "kod",
              "ad",
              "konumBazliKgco2e",
              "pazarBazliKgco2e",
              "satirSayisi",
              "belirsizlikYuzde",
              "konumBazliPayYuzde"
            ],
            "additionalProperties": false
          },
          "default": []
        },
        "sozlesmeselAraclar": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "tur": {
                "type": "string",
                "enum": [
                  "yekg",
                  "yesil_tarife",
                  "ppa",
                  "tedarikci_ozel"
                ]
              },
              "aciklama": {
                "type": "string",
                "minLength": 5,
                "maxLength": 500
              },
              "miktar": {
                "type": "string",
                "minLength": 1,
                "pattern": "^-?\\d+(\\.\\d+)?$"
              },
              "birim": {
                "type": "string",
                "enum": [
                  "MJ",
                  "GJ",
                  "TJ",
                  "kJ",
                  "kcal",
                  "kWh",
                  "MWh",
                  "GWh",
                  "kg",
                  "g",
                  "ton",
                  "kton",
                  "litre",
                  "m3",
                  "Sm3",
                  "km",
                  "m",
                  "mil",
                  "ton-km",
                  "kg-km",
                  "yolcu-km",
                  "hektar",
                  "m2",
                  "TL",
                  "adet"
                ]
              },
              "faktorKodu": {
                "type": "string",
                "minLength": 2,
                "maxLength": 100
              },
              "belgeId": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "belgeNo": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              }
            },
            "required": [
              "tur",
              "aciklama",
              "miktar",
              "birim",
              "faktorKodu",
              "belgeId"
            ],
            "additionalProperties": false
          },
          "default": []
        },
        "tuketimNoktasiFaktoruKullanildiMi": {
          "type": "boolean"
        }
      },
      "required": [
        "konumBazliKgco2e",
        "pazarBazliKgco2e",
        "konumBazliPayYuzde",
        "tuketimNoktasiFaktoruKullanildiMi"
      ],
      "additionalProperties": false
    }
  }
}
