{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://portal.yesilveri.tr/standart/kades-json/v1.1.0/kades-paket.schema.json",
  "title": "kadesPaketSemasi",
  "description": "KADES-JSON kades-paket şeması\n\nKOBİZON Proje Danışmanlık ve Yazılım Tic. Ltd. Şti. — Sürüm 1.1.0",
  "$ref": "#/definitions/kadesPaketSemasi",
  "definitions": {
    "kadesPaketSemasi": {
      "type": "object",
      "properties": {
        "$schema": {
          "type": "string",
          "pattern": "^(?:https:\\/\\/portal\\.yesilveri\\.tr\\/standart\\/kades-json|https:\\/\\/portal\\.kobizon\\.com\\/standart\\/kades-json)\\/v\\d+\\.\\d+\\.\\d+\\/kades-paket\\.schema\\.json$"
        },
        "surum": {
          "type": "string",
          "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
        },
        "manifest": {
          "type": "object",
          "properties": {
            "$schema": {
              "type": "string",
              "pattern": "^(?:https:\\/\\/portal\\.yesilveri\\.tr\\/standart\\/kades-json|https:\\/\\/portal\\.kobizon\\.com\\/standart\\/kades-json)\\/v\\d+\\.\\d+\\.\\d+\\/kades-manifest\\.schema\\.json$"
            },
            "surum": {
              "type": "string",
              "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
            },
            "paketKimligi": {
              "type": "string",
              "format": "uuid"
            },
            "paketSurumu": {
              "type": "string",
              "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
            },
            "semaSurumu": {
              "type": "string",
              "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
            },
            "kiraciKimligi": {
              "type": "string",
              "format": "uuid"
            },
            "envanterKimligi": {
              "type": "string",
              "format": "uuid"
            },
            "envanterSurumNo": {
              "type": "integer",
              "minimum": 1
            },
            "donem": {
              "type": "object",
              "properties": {
                "baslangic": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                },
                "bitis": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                }
              },
              "required": [
                "baslangic",
                "bitis"
              ],
              "additionalProperties": false
            },
            "uretimTarihi": {
              "type": "string",
              "format": "date-time"
            },
            "uretenSistem": {
              "type": "object",
              "properties": {
                "ad": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 200
                },
                "surum": {
                  "type": "string",
                  "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
                }
              },
              "required": [
                "ad",
                "surum"
              ],
              "additionalProperties": false
            },
            "dosyaSayisi": {
              "type": "integer",
              "minimum": 0
            },
            "toplamBoyutBayt": {
              "type": "integer",
              "minimum": 0
            },
            "dosyalar": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "yol": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300,
                    "pattern": "^[A-Za-z0-9._-]+(\\/[A-Za-z0-9._-]+)*$"
                  },
                  "tur": {
                    "type": "string",
                    "enum": [
                      "kades_envanter",
                      "hesap_izi",
                      "faktor_seti",
                      "metodoloji_notu",
                      "belge",
                      "diger"
                    ]
                  },
                  "icerikTuru": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 150
                  },
                  "boyutBayt": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "ozetSha256": {
                    "type": "string",
                    "pattern": "^[0-9a-f]{64}$"
                  },
                  "aciklama": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 300
                  }
                },
                "required": [
                  "yol",
                  "tur",
                  "icerikTuru",
                  "boyutBayt",
                  "ozetSha256"
                ],
                "additionalProperties": false
              },
              "minItems": 1
            },
            "butunluk": {
              "type": "object",
              "properties": {
                "algoritma": {
                  "type": "string",
                  "const": "SHA-256"
                },
                "paketOzeti": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^[0-9a-f]{64}$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "imzaAlgoritmasi": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 100
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "imzaDosyasi": {
                  "anyOf": [
                    {
                      "type": "string",
                      "const": "imza.sig"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "imzaSertifikaParmakIzi": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^[0-9a-f]{64}$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "algoritma",
                "paketOzeti",
                "imzaAlgoritmasi",
                "imzaDosyasi",
                "imzaSertifikaParmakIzi"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "$schema",
            "surum",
            "paketKimligi",
            "paketSurumu",
            "semaSurumu",
            "kiraciKimligi",
            "envanterKimligi",
            "envanterSurumNo",
            "donem",
            "uretimTarihi",
            "uretenSistem",
            "dosyaSayisi",
            "toplamBoyutBayt",
            "dosyalar",
            "butunluk"
          ],
          "additionalProperties": false
        },
        "envanter": {
          "type": "object",
          "properties": {
            "$schema": {
              "type": "string",
              "pattern": "^(?:https:\\/\\/portal\\.yesilveri\\.tr\\/standart\\/kades-json|https:\\/\\/portal\\.kobizon\\.com\\/standart\\/kades-json)\\/v\\d+\\.\\d+\\.\\d+\\/kades-envanter\\.schema\\.json$"
            },
            "surum": {
              "type": "string",
              "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
            },
            "envanterKimligi": {
              "type": "string",
              "format": "uuid"
            },
            "kiraciKimligi": {
              "type": "string",
              "format": "uuid"
            },
            "ad": {
              "type": "string",
              "minLength": 3,
              "maxLength": 300
            },
            "surumNo": {
              "type": "integer",
              "minimum": 1
            },
            "oncekiSurumKimligi": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ]
            },
            "durum": {
              "type": "string",
              "enum": [
                "KILITLI",
                "DOGRULAMADA",
                "BULGU_VAR",
                "ONAYLI",
                "YAYINLANDI"
              ]
            },
            "kilitlemeTarihi": {
              "type": "string",
              "format": "date-time"
            },
            "kontrolToplami": {
              "type": "string",
              "pattern": "^[0-9a-f]{64}$"
            },
            "kurulus": {
              "type": "object",
              "properties": {
                "unvan": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 300
                },
                "vergiNo": {
                  "type": "string",
                  "pattern": "^\\d{10}$"
                },
                "naceKodu": {
                  "type": "string",
                  "pattern": "^\\d{2}(\\.\\d{1,2})?(\\.\\d{2})?$"
                },
                "sektor": {
                  "type": "string",
                  "enum": [
                    "imalat",
                    "lojistik",
                    "gida",
                    "perakende",
                    "tekstil",
                    "insaat",
                    "turizm",
                    "madencilik",
                    "enerji",
                    "kamu",
                    "diger"
                  ]
                },
                "il": {
                  "type": "string",
                  "enum": [
                    "Adana",
                    "Adıyaman",
                    "Afyonkarahisar",
                    "Ağrı",
                    "Aksaray",
                    "Amasya",
                    "Ankara",
                    "Antalya",
                    "Ardahan",
                    "Artvin",
                    "Aydın",
                    "Balıkesir",
                    "Bartın",
                    "Batman",
                    "Bayburt",
                    "Bilecik",
                    "Bingöl",
                    "Bitlis",
                    "Bolu",
                    "Burdur",
                    "Bursa",
                    "Çanakkale",
                    "Çankırı",
                    "Çorum",
                    "Denizli",
                    "Diyarbakır",
                    "Düzce",
                    "Edirne",
                    "Elazığ",
                    "Erzincan",
                    "Erzurum",
                    "Eskişehir",
                    "Gaziantep",
                    "Giresun",
                    "Gümüşhane",
                    "Hakkâri",
                    "Hatay",
                    "Iğdır",
                    "Isparta",
                    "İstanbul",
                    "İzmir",
                    "Kahramanmaraş",
                    "Karabük",
                    "Karaman",
                    "Kars",
                    "Kastamonu",
                    "Kayseri",
                    "Kırıkkale",
                    "Kırklareli",
                    "Kırşehir",
                    "Kilis",
                    "Kocaeli",
                    "Konya",
                    "Kütahya",
                    "Malatya",
                    "Manisa",
                    "Mardin",
                    "Mersin",
                    "Muğla",
                    "Muş",
                    "Nevşehir",
                    "Niğde",
                    "Ordu",
                    "Osmaniye",
                    "Rize",
                    "Sakarya",
                    "Samsun",
                    "Siirt",
                    "Sinop",
                    "Sivas",
                    "Şanlıurfa",
                    "Şırnak",
                    "Tekirdağ",
                    "Tokat",
                    "Trabzon",
                    "Tunceli",
                    "Uşak",
                    "Van",
                    "Yalova",
                    "Yozgat",
                    "Zonguldak"
                  ]
                },
                "ilce": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 100
                },
                "adres": {
                  "type": "string",
                  "minLength": 5,
                  "maxLength": 500
                },
                "calisanSayisi": {
                  "type": "integer",
                  "minimum": 0
                },
                "webSitesi": {
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https?:\\/\\/"
                },
                "tesisler": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "ad": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 200
                      },
                      "il": {
                        "type": "string",
                        "enum": [
                          "Adana",
                          "Adıyaman",
                          "Afyonkarahisar",
                          "Ağrı",
                          "Aksaray",
                          "Amasya",
                          "Ankara",
                          "Antalya",
                          "Ardahan",
                          "Artvin",
                          "Aydın",
                          "Balıkesir",
                          "Bartın",
                          "Batman",
                          "Bayburt",
                          "Bilecik",
                          "Bingöl",
                          "Bitlis",
                          "Bolu",
                          "Burdur",
                          "Bursa",
                          "Çanakkale",
                          "Çankırı",
                          "Çorum",
                          "Denizli",
                          "Diyarbakır",
                          "Düzce",
                          "Edirne",
                          "Elazığ",
                          "Erzincan",
                          "Erzurum",
                          "Eskişehir",
                          "Gaziantep",
                          "Giresun",
                          "Gümüşhane",
                          "Hakkâri",
                          "Hatay",
                          "Iğdır",
                          "Isparta",
                          "İstanbul",
                          "İzmir",
                          "Kahramanmaraş",
                          "Karabük",
                          "Karaman",
                          "Kars",
                          "Kastamonu",
                          "Kayseri",
                          "Kırıkkale",
                          "Kırklareli",
                          "Kırşehir",
                          "Kilis",
                          "Kocaeli",
                          "Konya",
                          "Kütahya",
                          "Malatya",
                          "Manisa",
                          "Mardin",
                          "Mersin",
                          "Muğla",
                          "Muş",
                          "Nevşehir",
                          "Niğde",
                          "Ordu",
                          "Osmaniye",
                          "Rize",
                          "Sakarya",
                          "Samsun",
                          "Siirt",
                          "Sinop",
                          "Sivas",
                          "Şanlıurfa",
                          "Şırnak",
                          "Tekirdağ",
                          "Tokat",
                          "Trabzon",
                          "Tunceli",
                          "Uşak",
                          "Van",
                          "Yalova",
                          "Yozgat",
                          "Zonguldak"
                        ]
                      },
                      "ilce": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 100
                      },
                      "adres": {
                        "type": "string",
                        "minLength": 5,
                        "maxLength": 500
                      },
                      "sinirPayiYuzde": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      }
                    },
                    "required": [
                      "ad"
                    ],
                    "additionalProperties": false
                  },
                  "default": []
                }
              },
              "required": [
                "unvan",
                "vergiNo",
                "naceKodu",
                "il"
              ],
              "additionalProperties": false
            },
            "donem": {
              "type": "object",
              "properties": {
                "baslangic": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                },
                "bitis": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                }
              },
              "required": [
                "baslangic",
                "bitis"
              ],
              "additionalProperties": false
            },
            "tabanYil": {
              "type": "object",
              "properties": {
                "yil": {
                  "type": "integer",
                  "minimum": 1990,
                  "maximum": 2100
                },
                "secimGerekcesi": {
                  "type": "string",
                  "minLength": 20,
                  "maxLength": 2000
                },
                "raporlamaYiliIleAyniMi": {
                  "type": "boolean"
                },
                "yenidenHesaplamaEsigiYuzde": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "yenidenHesaplamaPolitikasi": {
                  "type": "string",
                  "minLength": 20,
                  "maxLength": 3000
                },
                "yenidenHesaplamaYapildiMi": {
                  "type": "boolean"
                },
                "yenidenHesaplamaGerekcesi": {
                  "type": "string",
                  "maxLength": 3000
                }
              },
              "required": [
                "yil",
                "secimGerekcesi",
                "raporlamaYiliIleAyniMi",
                "yenidenHesaplamaEsigiYuzde",
                "yenidenHesaplamaPolitikasi",
                "yenidenHesaplamaYapildiMi"
              ],
              "additionalProperties": false
            },
            "organizasyonelSinir": {
              "type": "object",
              "properties": {
                "yaklasim": {
                  "type": "string",
                  "enum": [
                    "hisse_payi",
                    "finansal_kontrol",
                    "operasyonel_kontrol"
                  ]
                },
                "gerekce": {
                  "type": "string",
                  "minLength": 20,
                  "maxLength": 2000
                },
                "konsolideEdilenBirimler": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 300
                  },
                  "default": []
                }
              },
              "required": [
                "yaklasim",
                "gerekce"
              ],
              "additionalProperties": false
            },
            "operasyonelSinir": {
              "type": "object",
              "properties": {
                "dahilKapsamlar": {
                  "type": "array",
                  "items": {
                    "type": "number",
                    "enum": [
                      1,
                      2,
                      3
                    ]
                  },
                  "minItems": 1
                },
                "dahilKapsam3Kategorileri": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 15
                  },
                  "default": []
                },
                "aciklama": {
                  "type": "string",
                  "maxLength": 3000
                }
              },
              "required": [
                "dahilKapsamlar"
              ],
              "additionalProperties": false
            },
            "onemlilikEsigiYuzde": {
              "type": "string",
              "minLength": 1,
              "pattern": "^-?\\d+(\\.\\d+)?$"
            },
            "kapsam1": {
              "type": "object",
              "properties": {
                "toplamKgco2e": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "payYuzde": {
                  "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
                      },
                      "kapsam": {
                        "type": "number",
                        "enum": [
                          1,
                          2,
                          3
                        ]
                      },
                      "kapsam3Kategori": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 15
                      },
                      "emisyonKgco2e": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      },
                      "satirSayisi": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "belirsizlikYuzde": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      },
                      "payYuzde": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      }
                    },
                    "required": [
                      "kod",
                      "ad",
                      "kapsam",
                      "emisyonKgco2e",
                      "satirSayisi",
                      "belirsizlikYuzde",
                      "payYuzde"
                    ],
                    "additionalProperties": false
                  },
                  "default": []
                }
              },
              "required": [
                "toplamKgco2e",
                "payYuzde"
              ],
              "additionalProperties": false
            },
            "kapsam2": {
              "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
            },
            "kapsam3": {
              "type": "object",
              "properties": {
                "toplamKgco2e": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "payYuzde": {
                  "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
                      },
                      "kapsam": {
                        "type": "number",
                        "enum": [
                          1,
                          2,
                          3
                        ]
                      },
                      "kapsam3Kategori": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 15
                      },
                      "emisyonKgco2e": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      },
                      "satirSayisi": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "belirsizlikYuzde": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      },
                      "payYuzde": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      }
                    },
                    "required": [
                      "kod",
                      "ad",
                      "kapsam",
                      "emisyonKgco2e",
                      "satirSayisi",
                      "belirsizlikYuzde",
                      "payYuzde"
                    ],
                    "additionalProperties": false
                  },
                  "default": []
                },
                "dislamalar": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "kapsam": {
                        "type": "number",
                        "enum": [
                          1,
                          2,
                          3
                        ]
                      },
                      "kapsam3Kategori": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 15
                      },
                      "kategoriKodu": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 100
                      },
                      "ad": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 300
                      },
                      "gerekceTuru": {
                        "type": "string",
                        "enum": [
                          "onemsiz",
                          "veri_yok",
                          "kapsam_disi",
                          "cifte_sayim",
                          "teknik_imkansiz"
                        ]
                      },
                      "gerekce": {
                        "type": "string",
                        "minLength": 20,
                        "maxLength": 2000
                      },
                      "tahminiEtkiYuzde": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      },
                      "planlananDahilEtmeDonemi": {
                        "type": "string",
                        "minLength": 4,
                        "maxLength": 100
                      }
                    },
                    "required": [
                      "kapsam",
                      "kategoriKodu",
                      "ad",
                      "gerekceTuru",
                      "gerekce"
                    ],
                    "additionalProperties": false
                  },
                  "default": []
                }
              },
              "required": [
                "toplamKgco2e",
                "payYuzde"
              ],
              "additionalProperties": false
            },
            "toplamlar": {
              "type": "object",
              "properties": {
                "toplamKonumBazliKgco2e": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "toplamPazarBazliKgco2e": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "biyojenikCo2Kg": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "kaldirimKgco2e": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "yogunlukGostergesi": {
                  "type": "object",
                  "properties": {
                    "deger": {
                      "type": "string",
                      "minLength": 1,
                      "pattern": "^-?\\d+(\\.\\d+)?$"
                    },
                    "birim": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 100
                    },
                    "aciklama": {
                      "type": "string",
                      "minLength": 5,
                      "maxLength": 300
                    }
                  },
                  "required": [
                    "deger",
                    "birim",
                    "aciklama"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "toplamKonumBazliKgco2e",
                "toplamPazarBazliKgco2e"
              ],
              "additionalProperties": false
            },
            "belirsizlik": {
              "type": "object",
              "properties": {
                "toplamYuzde": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "yontem": {
                  "type": "string",
                  "enum": [
                    "nitel",
                    "emisyon_agirlikli_ortalama",
                    "hata_yayilimi",
                    "monte_carlo"
                  ]
                },
                "yontemAciklamasi": {
                  "type": "string",
                  "minLength": 20,
                  "maxLength": 2000
                },
                "kaynakBazli": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "kategoriKodu": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 100
                      },
                      "belirsizlikYuzde": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      },
                      "gerekce": {
                        "type": "string",
                        "minLength": 10,
                        "maxLength": 1000
                      }
                    },
                    "required": [
                      "kategoriKodu",
                      "belirsizlikYuzde",
                      "gerekce"
                    ],
                    "additionalProperties": false
                  },
                  "default": []
                }
              },
              "required": [
                "toplamYuzde",
                "yontem",
                "yontemAciklamasi"
              ],
              "additionalProperties": false
            },
            "veriKalitesiDagilimi": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "veriKaynagi": {
                    "type": "string",
                    "enum": [
                      "birincil",
                      "faturalanmis",
                      "ai_onerisi_kullanici_onayli",
                      "hesaplanmis",
                      "tahmini",
                      "harcama_bazli"
                    ]
                  },
                  "satirSayisi": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "emisyonKgco2e": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^-?\\d+(\\.\\d+)?$"
                  },
                  "payYuzde": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^-?\\d+(\\.\\d+)?$"
                  }
                },
                "required": [
                  "veriKaynagi",
                  "satirSayisi",
                  "emisyonKgco2e",
                  "payYuzde"
                ],
                "additionalProperties": false
              },
              "default": []
            },
            "aiKullanimi": {
              "type": "object",
              "properties": {
                "kullanildiMi": {
                  "type": "boolean"
                },
                "satirSayisi": {
                  "type": "integer",
                  "minimum": 0
                },
                "emisyonKgco2e": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "payYuzde": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "yontemler": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "belge_okuma_ocr",
                      "efatura_ayristirma",
                      "faktor_eslestirme",
                      "anomali_tespiti"
                    ]
                  },
                  "default": []
                },
                "modeller": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "ad": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 200
                      },
                      "surum": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 60
                      },
                      "gorev": {
                        "type": "string",
                        "enum": [
                          "belge_okuma_ocr",
                          "efatura_ayristirma",
                          "faktor_eslestirme",
                          "anomali_tespiti"
                        ]
                      },
                      "ortalamaGuvenSkoru": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      }
                    },
                    "required": [
                      "ad",
                      "surum",
                      "gorev"
                    ],
                    "additionalProperties": false
                  },
                  "default": []
                },
                "onayAkisiBeyani": {
                  "type": "string",
                  "minLength": 20,
                  "maxLength": 1000
                }
              },
              "required": [
                "kullanildiMi",
                "satirSayisi",
                "emisyonKgco2e",
                "payYuzde",
                "onayAkisiBeyani"
              ],
              "additionalProperties": false
            },
            "dislamalar": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "kapsam": {
                    "type": "number",
                    "enum": [
                      1,
                      2,
                      3
                    ]
                  },
                  "kapsam3Kategori": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 15
                  },
                  "kategoriKodu": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 100
                  },
                  "ad": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 300
                  },
                  "gerekceTuru": {
                    "type": "string",
                    "enum": [
                      "onemsiz",
                      "veri_yok",
                      "kapsam_disi",
                      "cifte_sayim",
                      "teknik_imkansiz"
                    ]
                  },
                  "gerekce": {
                    "type": "string",
                    "minLength": 20,
                    "maxLength": 2000
                  },
                  "tahminiEtkiYuzde": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^-?\\d+(\\.\\d+)?$"
                  },
                  "planlananDahilEtmeDonemi": {
                    "type": "string",
                    "minLength": 4,
                    "maxLength": 100
                  }
                },
                "required": [
                  "kapsam",
                  "kategoriKodu",
                  "ad",
                  "gerekceTuru",
                  "gerekce"
                ],
                "additionalProperties": false
              },
              "default": []
            },
            "metodoloji": {
              "type": "object",
              "properties": {
                "surum": {
                  "type": "string",
                  "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
                },
                "faktorSetiSurumu": {
                  "type": "string",
                  "pattern": "^[A-Z]{2,6}-(19|20)\\d{2}\\.(0|[1-9]\\d*)$"
                },
                "motorSurumu": {
                  "type": "string",
                  "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
                },
                "gwpSeti": {
                  "type": "string",
                  "enum": [
                    "AR5",
                    "AR6"
                  ]
                },
                "hesaplamaTarihi": {
                  "type": "string",
                  "format": "date-time"
                },
                "yuvarlama": {
                  "type": "object",
                  "properties": {
                    "hassasiyet": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "mod": {
                      "type": "string",
                      "const": "ROUND_HALF_UP"
                    },
                    "sonucOndalik": {
                      "type": "integer",
                      "minimum": 0
                    }
                  },
                  "required": [
                    "hassasiyet",
                    "mod",
                    "sonucOndalik"
                  ],
                  "additionalProperties": false
                },
                "standartlar": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 200
                  },
                  "minItems": 1,
                  "default": [
                    "GHG Protocol Corporate Standard",
                    "GHG Protocol Scope 2 Guidance",
                    "ISO 14064-1:2018"
                  ]
                },
                "aciklama": {
                  "type": "string",
                  "maxLength": 3000
                }
              },
              "required": [
                "surum",
                "faktorSetiSurumu",
                "motorSurumu",
                "gwpSeti",
                "hesaplamaTarihi",
                "yuvarlama"
              ],
              "additionalProperties": false
            },
            "beyan": {
              "type": "object",
              "properties": {
                "metin": {
                  "type": "string",
                  "minLength": 40,
                  "maxLength": 3000
                },
                "sorumluAdSoyad": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 200
                },
                "gorev": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 200
                },
                "tarih": {
                  "type": "string",
                  "format": "date-time"
                },
                "amaclananKullanici": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 300
                }
              },
              "required": [
                "metin",
                "sorumluAdSoyad",
                "gorev",
                "tarih"
              ],
              "additionalProperties": false
            },
            "hesapIziReferans": {
              "type": "string",
              "const": "hesap-izi.json"
            },
            "faktorSetiReferans": {
              "type": "string",
              "const": "faktor-seti.json"
            }
          },
          "required": [
            "$schema",
            "surum",
            "envanterKimligi",
            "kiraciKimligi",
            "ad",
            "surumNo",
            "oncekiSurumKimligi",
            "durum",
            "kilitlemeTarihi",
            "kontrolToplami",
            "kurulus",
            "donem",
            "tabanYil",
            "organizasyonelSinir",
            "operasyonelSinir",
            "onemlilikEsigiYuzde",
            "kapsam1",
            "kapsam2",
            "kapsam3",
            "toplamlar",
            "belirsizlik",
            "aiKullanimi",
            "metodoloji",
            "beyan",
            "hesapIziReferans",
            "faktorSetiReferans"
          ],
          "additionalProperties": false
        },
        "hesapIzi": {
          "type": "object",
          "properties": {
            "$schema": {
              "type": "string",
              "pattern": "^(?:https:\\/\\/portal\\.yesilveri\\.tr\\/standart\\/kades-json|https:\\/\\/portal\\.kobizon\\.com\\/standart\\/kades-json)\\/v\\d+\\.\\d+\\.\\d+\\/kades-hesap-izi\\.schema\\.json$"
            },
            "surum": {
              "type": "string",
              "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
            },
            "envanterKimligi": {
              "type": "string",
              "format": "uuid"
            },
            "uretimTarihi": {
              "type": "string",
              "format": "date-time"
            },
            "metodolojiSurumu": {
              "type": "string",
              "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
            },
            "faktorSetiSurumu": {
              "type": "string",
              "pattern": "^[A-Z]{2,6}-(19|20)\\d{2}\\.(0|[1-9]\\d*)$"
            },
            "gwpSeti": {
              "type": "string",
              "enum": [
                "AR5",
                "AR6"
              ]
            },
            "satirSayisi": {
              "type": "integer",
              "minimum": 0
            },
            "satirlar": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "satirId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "kaynakAdi": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 300
                  },
                  "tesisAdi": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 200
                  },
                  "kapsam": {
                    "type": "number",
                    "enum": [
                      1,
                      2,
                      3
                    ]
                  },
                  "kategori": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 100
                  },
                  "kapsam3Kategori": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 15
                  },
                  "yontem": {
                    "type": "string",
                    "enum": [
                      "tekil",
                      "konum_bazli",
                      "pazar_bazli"
                    ]
                  },
                  "faaliyet": {
                    "type": "object",
                    "properties": {
                      "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"
                        ]
                      },
                      "tarih": {
                        "type": "string",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                      },
                      "veriKaynagi": {
                        "type": "string",
                        "enum": [
                          "birincil",
                          "faturalanmis",
                          "ai_onerisi_kullanici_onayli",
                          "hesaplanmis",
                          "tahmini",
                          "harcama_bazli"
                        ]
                      },
                      "belgeId": {
                        "anyOf": [
                          {
                            "type": "string",
                            "format": "uuid"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "belgeOzetSha256": {
                        "anyOf": [
                          {
                            "type": "string",
                            "pattern": "^[0-9a-f]{64}$"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [
                      "miktar",
                      "birim",
                      "tarih",
                      "veriKaynagi",
                      "belgeId"
                    ],
                    "additionalProperties": false
                  },
                  "birimDonusumu": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "kaynakBirim": {
                            "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"
                            ]
                          },
                          "hedefBirim": {
                            "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"
                            ]
                          },
                          "carpan": {
                            "type": "string",
                            "minLength": 1,
                            "pattern": "^-?\\d+(\\.\\d+)?$"
                          },
                          "donusmusMiktar": {
                            "type": "string",
                            "minLength": 1,
                            "pattern": "^-?\\d+(\\.\\d+)?$"
                          }
                        },
                        "required": [
                          "kaynakBirim",
                          "hedefBirim",
                          "carpan",
                          "donusmusMiktar"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "faktor": {
                    "type": "object",
                    "properties": {
                      "kod": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 100
                      },
                      "deger": {
                        "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"
                        ]
                      },
                      "gaz": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 50
                      },
                      "kaynakKurum": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 300
                      },
                      "kaynakBelgeAdi": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 500
                      },
                      "kaynakBelgeUrl": {
                        "type": "string",
                        "format": "uri",
                        "pattern": "^https?:\\/\\/"
                      },
                      "gecerlilik": {
                        "type": "string",
                        "minLength": 5,
                        "maxLength": 100
                      },
                      "setSurumu": {
                        "type": "string",
                        "pattern": "^[A-Z]{2,6}-(19|20)\\d{2}\\.(0|[1-9]\\d*)$"
                      }
                    },
                    "required": [
                      "kod",
                      "deger",
                      "birim",
                      "gaz",
                      "kaynakKurum",
                      "kaynakBelgeAdi",
                      "kaynakBelgeUrl",
                      "gecerlilik",
                      "setSurumu"
                    ],
                    "additionalProperties": false
                  },
                  "gwpSeti": {
                    "type": "string",
                    "enum": [
                      "AR5",
                      "AR6"
                    ]
                  },
                  "gwpDegeri": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^-?\\d+(\\.\\d+)?$"
                  },
                  "araSonuclar": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "adim": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 300
                        },
                        "deger": {
                          "type": "string",
                          "minLength": 1,
                          "pattern": "^-?\\d+(\\.\\d+)?$"
                        },
                        "birim": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 50
                        }
                      },
                      "required": [
                        "adim",
                        "deger",
                        "birim"
                      ],
                      "additionalProperties": false
                    },
                    "default": []
                  },
                  "sonuc": {
                    "type": "object",
                    "properties": {
                      "deger": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      },
                      "birim": {
                        "type": "string",
                        "const": "kgCO2e"
                      }
                    },
                    "required": [
                      "deger",
                      "birim"
                    ],
                    "additionalProperties": false
                  },
                  "veriKalitesi": {
                    "type": "string",
                    "enum": [
                      "birincil",
                      "faturalanmis",
                      "ai_onerisi_kullanici_onayli",
                      "hesaplanmis",
                      "tahmini",
                      "harcama_bazli"
                    ]
                  },
                  "belirsizlikYuzde": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^-?\\d+(\\.\\d+)?$"
                  },
                  "anomaliAciklamasi": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 2000
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "aracTuru": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 100
                  },
                  "kipSetiBeyani": {
                    "type": "object",
                    "properties": {
                      "faktorGwpSeti": {
                        "type": "string",
                        "enum": [
                          "AR5",
                          "AR6"
                        ]
                      },
                      "envanterGwpSeti": {
                        "type": "string",
                        "enum": [
                          "AR5",
                          "AR6"
                        ]
                      },
                      "aciklama": {
                        "type": "string",
                        "minLength": 10,
                        "maxLength": 1000
                      }
                    },
                    "required": [
                      "faktorGwpSeti",
                      "envanterGwpSeti",
                      "aciklama"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "satirId",
                  "kaynakAdi",
                  "kapsam",
                  "kategori",
                  "yontem",
                  "faaliyet",
                  "birimDonusumu",
                  "faktor",
                  "gwpSeti",
                  "gwpDegeri",
                  "sonuc",
                  "veriKalitesi",
                  "belirsizlikYuzde",
                  "anomaliAciklamasi"
                ],
                "additionalProperties": false
              },
              "minItems": 1
            },
            "toplamlar": {
              "type": "object",
              "properties": {
                "kapsam1": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "kapsam2KonumBazli": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "kapsam2PazarBazli": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "kapsam3": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "toplamKonumBazli": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "toplamPazarBazli": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                },
                "belirsizlikYuzde": {
                  "type": "string",
                  "minLength": 1,
                  "pattern": "^-?\\d+(\\.\\d+)?$"
                }
              },
              "required": [
                "kapsam1",
                "kapsam2KonumBazli",
                "kapsam2PazarBazli",
                "kapsam3",
                "toplamKonumBazli",
                "toplamPazarBazli",
                "belirsizlikYuzde"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "$schema",
            "surum",
            "envanterKimligi",
            "uretimTarihi",
            "metodolojiSurumu",
            "faktorSetiSurumu",
            "gwpSeti",
            "satirSayisi",
            "satirlar",
            "toplamlar"
          ],
          "additionalProperties": false
        },
        "faktorSeti": {
          "type": "object",
          "properties": {
            "$schema": {
              "type": "string",
              "pattern": "^(?:https:\\/\\/portal\\.yesilveri\\.tr\\/standart\\/kades-json|https:\\/\\/portal\\.kobizon\\.com\\/standart\\/kades-json)\\/v\\d+\\.\\d+\\.\\d+\\/kades-faktor-seti\\.schema\\.json$"
            },
            "surum": {
              "type": "string",
              "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
            },
            "setSurumu": {
              "type": "string",
              "pattern": "^[A-Z]{2,6}-(19|20)\\d{2}\\.(0|[1-9]\\d*)$"
            },
            "setAciklamasi": {
              "type": "string",
              "maxLength": 2000
            },
            "yayinTarihi": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "dondurulmaTarihi": {
              "type": "string",
              "format": "date-time"
            },
            "faktorSayisi": {
              "type": "integer",
              "minimum": 0
            },
            "faktorler": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "kod": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 100
                  },
                  "adTr": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 300
                  },
                  "adEn": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 300
                  },
                  "kapsam": {
                    "type": "number",
                    "enum": [
                      1,
                      2,
                      3
                    ]
                  },
                  "kategori": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 100
                  },
                  "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"
                    ]
                  },
                  "deger": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^-?\\d+(\\.\\d+)?$"
                  },
                  "gaz": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50
                  },
                  "gwpSeti": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "AR5",
                          "AR6"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "kaynakKurum": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 300
                  },
                  "kaynakBelgeUrl": {
                    "type": "string",
                    "format": "uri",
                    "pattern": "^https?:\\/\\/"
                  },
                  "kaynakBelgeAdi": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 300
                  },
                  "kaynakBelgeKonumu": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 200
                  },
                  "yayimTarihi": {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "gecerlilikBaslangic": {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                  },
                  "gecerlilikBitis": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "cografya": {
                    "type": "string",
                    "enum": [
                      "TR",
                      "TR-81",
                      "EU",
                      "GLOBAL"
                    ]
                  },
                  "tur": {
                    "type": "string",
                    "enum": [
                      "fiziksel",
                      "parasal"
                    ]
                  },
                  "referansYil": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "minimum": 1990,
                        "maximum": 2100
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "belirsizlikYuzde": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "veriKalitesiSkoru": {
                    "type": "string",
                    "enum": [
                      "yuksek",
                      "orta",
                      "dusuk"
                    ]
                  },
                  "setSurumu": {
                    "type": "string",
                    "pattern": "^[A-Z]{2,6}-(19|20)\\d{2}\\.(0|[1-9]\\d*)$"
                  },
                  "onay": {
                    "type": "object",
                    "properties": {
                      "onaylandiMi": {
                        "type": "boolean"
                      },
                      "onaylayanRol": {
                        "type": "string",
                        "const": "methodology_admin"
                      },
                      "onayTarihi": {
                        "anyOf": [
                          {
                            "type": "string",
                            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [
                      "onaylandiMi",
                      "onaylayanRol",
                      "onayTarihi"
                    ],
                    "additionalProperties": false
                  },
                  "notlar": {
                    "type": "string",
                    "maxLength": 2000
                  },
                  "ekAdimlar": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "ad": {
                          "type": "string",
                          "minLength": 2,
                          "maxLength": 120
                        },
                        "islem": {
                          "type": "string",
                          "enum": [
                            "carp",
                            "bol"
                          ]
                        },
                        "deger": {
                          "type": "string",
                          "pattern": "^\\d{1,12}(\\.\\d{1,10})?$"
                        },
                        "uygulama": {
                          "type": "string",
                          "enum": [
                            "miktar",
                            "sonuc"
                          ]
                        },
                        "aciklama": {
                          "type": "string",
                          "maxLength": 1000
                        },
                        "kaynakKurum": {
                          "type": "string",
                          "minLength": 2,
                          "maxLength": 300
                        },
                        "kaynakBelgeAdi": {
                          "type": "string",
                          "minLength": 3,
                          "maxLength": 300
                        },
                        "kaynakBelgeUrl": {
                          "type": "string",
                          "format": "uri",
                          "pattern": "^https?:\\/\\/"
                        },
                        "kaynakBelgeKonumu": {
                          "type": "string",
                          "minLength": 2,
                          "maxLength": 200
                        },
                        "referansYili": {
                          "type": "string",
                          "pattern": "^(19|20)\\d{2}$"
                        }
                      },
                      "required": [
                        "ad",
                        "islem",
                        "deger",
                        "uygulama",
                        "kaynakKurum",
                        "kaynakBelgeAdi",
                        "kaynakBelgeUrl",
                        "referansYili"
                      ],
                      "additionalProperties": false
                    },
                    "maxItems": 10
                  }
                },
                "required": [
                  "kod",
                  "adTr",
                  "adEn",
                  "kapsam",
                  "kategori",
                  "birim",
                  "deger",
                  "gaz",
                  "gwpSeti",
                  "kaynakKurum",
                  "kaynakBelgeUrl",
                  "kaynakBelgeAdi",
                  "yayimTarihi",
                  "gecerlilikBaslangic",
                  "gecerlilikBitis",
                  "cografya",
                  "tur",
                  "referansYil",
                  "belirsizlikYuzde",
                  "veriKalitesiSkoru",
                  "setSurumu",
                  "onay"
                ],
                "additionalProperties": false
              },
              "minItems": 1
            },
            "gwp": {
              "type": "object",
              "properties": {
                "set": {
                  "type": "string",
                  "enum": [
                    "AR5",
                    "AR6"
                  ]
                },
                "zamanUfku": {
                  "type": "string",
                  "const": "100yil"
                },
                "kaynak": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 300
                },
                "kaynakUrl": {
                  "type": "string",
                  "format": "uri",
                  "pattern": "^https?:\\/\\/"
                },
                "degerler": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "gaz": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 50
                      },
                      "deger": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^-?\\d+(\\.\\d+)?$"
                      }
                    },
                    "required": [
                      "gaz",
                      "deger"
                    ],
                    "additionalProperties": false
                  },
                  "minItems": 1
                }
              },
              "required": [
                "set",
                "zamanUfku",
                "kaynak",
                "kaynakUrl",
                "degerler"
              ],
              "additionalProperties": false
            },
            "deflatorler": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "referansYil": {
                    "type": "integer",
                    "minimum": 1990,
                    "maximum": 2100
                  },
                  "hedefYil": {
                    "type": "integer",
                    "minimum": 1990,
                    "maximum": 2100
                  },
                  "katsayi": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^-?\\d+(\\.\\d+)?$"
                  },
                  "kaynak": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 300
                  },
                  "kaynakUrl": {
                    "type": "string",
                    "format": "uri",
                    "pattern": "^https?:\\/\\/"
                  }
                },
                "required": [
                  "referansYil",
                  "hedefYil",
                  "katsayi",
                  "kaynak"
                ],
                "additionalProperties": false
              },
              "default": []
            },
            "birimDonusumleri": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "kaynakBirim": {
                    "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"
                    ]
                  },
                  "hedefBirim": {
                    "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"
                    ]
                  },
                  "carpan": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^-?\\d+(\\.\\d+)?$"
                  }
                },
                "required": [
                  "kaynakBirim",
                  "hedefBirim",
                  "carpan"
                ],
                "additionalProperties": false
              },
              "default": []
            }
          },
          "required": [
            "$schema",
            "surum",
            "setSurumu",
            "yayinTarihi",
            "dondurulmaTarihi",
            "faktorSayisi",
            "faktorler",
            "gwp"
          ],
          "additionalProperties": false
        },
        "metodolojiNotu": {
          "type": "object",
          "properties": {
            "ozet": {
              "type": "string",
              "minLength": 20,
              "maxLength": 5000
            },
            "varsayimlar": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "konu": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 200
                  },
                  "varsayim": {
                    "type": "string",
                    "minLength": 10,
                    "maxLength": 1000
                  },
                  "gerekce": {
                    "type": "string",
                    "minLength": 10,
                    "maxLength": 1000
                  }
                },
                "required": [
                  "konu",
                  "varsayim",
                  "gerekce"
                ],
                "additionalProperties": false
              },
              "default": []
            },
            "kaynakHiyerarsisi": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "sira": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "kurum": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 300
                  },
                  "kullanimAlani": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 300
                  }
                },
                "required": [
                  "sira",
                  "kurum",
                  "kullanimAlani"
                ],
                "additionalProperties": false
              },
              "default": []
            },
            "oncekiSurumdenDegisiklikler": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "oncekiSurum": {
                    "type": "string",
                    "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
                  },
                  "aciklama": {
                    "type": "string",
                    "minLength": 10,
                    "maxLength": 1000
                  },
                  "sayisalEtkiKgco2e": {
                    "type": "string",
                    "minLength": 1,
                    "pattern": "^-?\\d+(\\.\\d+)?$"
                  }
                },
                "required": [
                  "oncekiSurum",
                  "aciklama"
                ],
                "additionalProperties": false
              },
              "default": []
            }
          },
          "required": [
            "ozet"
          ],
          "additionalProperties": false
        },
        "belgeler": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "belgeId": {
                "type": "string",
                "format": "uuid"
              },
              "dosyaAdi": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "paketYolu": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300,
                "pattern": "^[A-Za-z0-9._-]+(\\/[A-Za-z0-9._-]+)*$"
              },
              "icerikTuru": {
                "type": "string",
                "minLength": 3,
                "maxLength": 150
              },
              "boyutBayt": {
                "type": "integer",
                "minimum": 0
              },
              "ozetSha256": {
                "type": "string",
                "pattern": "^[0-9a-f]{64}$"
              },
              "tur": {
                "type": "string",
                "enum": [
                  "fatura",
                  "olcum_kaydi",
                  "servis_formu",
                  "sozlesme",
                  "sertifika",
                  "diger"
                ]
              },
              "aciklama": {
                "type": "string",
                "minLength": 3,
                "maxLength": 500
              },
              "ilgiliSatirIdler": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "default": []
              }
            },
            "required": [
              "belgeId",
              "dosyaAdi",
              "paketYolu",
              "icerikTuru",
              "boyutBayt",
              "ozetSha256",
              "tur"
            ],
            "additionalProperties": false
          },
          "default": []
        }
      },
      "required": [
        "$schema",
        "surum",
        "manifest",
        "envanter",
        "hesapIzi",
        "faktorSeti"
      ],
      "additionalProperties": false
    }
  }
}
