{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://artifacts.apis.io/finisma-de/json-schema/finisma-de-payment-run-schema.json",
  "title": "PaymentRun",
  "x-generated": "2026-11-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/finisma-de-openapi.json#/components/schemas/PaymentRun",
  "type": "object",
  "properties": {
    "debtor": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 70
        },
        "iban": {
          "type": "string",
          "minLength": 1,
          "maxLength": 34
        },
        "bic": {
          "type": "string",
          "maxLength": 11
        },
        "address": {
          "type": "object",
          "properties": {
            "townName": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            },
            "countryCode": {
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            },
            "postCode": {
              "type": "string",
              "minLength": 1,
              "maxLength": 16
            },
            "streetName": {
              "type": "string",
              "minLength": 1,
              "maxLength": 70
            },
            "buildingNumber": {
              "type": "string",
              "minLength": 1,
              "maxLength": 16
            },
            "addressLines": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 70
              },
              "maxItems": 2
            },
            "department": {
              "type": "string",
              "minLength": 1,
              "maxLength": 70
            },
            "subDepartment": {
              "type": "string",
              "minLength": 1,
              "maxLength": 70
            },
            "buildingName": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            },
            "floor": {
              "type": "string",
              "minLength": 1,
              "maxLength": 70
            },
            "postBox": {
              "type": "string",
              "minLength": 1,
              "maxLength": 16
            },
            "room": {
              "type": "string",
              "minLength": 1,
              "maxLength": 70
            },
            "townLocationName": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            },
            "districtName": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            },
            "countrySubDivision": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35,
              "description": "CtrySubDvsn: Bundesstaat oder Provinz"
            }
          },
          "additionalProperties": false
        },
        "currency": {
          "type": "string",
          "pattern": "^[A-Z]{3}$"
        },
        "id": {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "org",
                "private"
              ],
              "description": "org = Organisation (OrgId), private = Privatperson (PrvtId)"
            },
            "anyBic": {
              "type": "string",
              "minLength": 8,
              "maxLength": 11,
              "description": "OrgId/AnyBIC, nur org"
            },
            "lei": {
              "type": "string",
              "minLength": 20,
              "maxLength": 20,
              "description": "OrgId/LEI, nur org"
            },
            "otherId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35,
              "description": "Othr/Id, z. B. Gläubiger-ID oder Kundennummer"
            },
            "otherSchemeCode": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4,
              "description": "Othr/SchmeNm/Cd, z. B. CUST, NIDN"
            },
            "otherSchemeProprietary": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35,
              "description": "Othr/SchmeNm/Prtry"
            },
            "otherIssuer": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35,
              "description": "Othr/Issr"
            },
            "birthDate": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "description": "nur private: PrvtId/DtAndPlcOfBirth/BirthDt"
            },
            "birthProvince": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            },
            "birthCity": {
              "type": "string",
              "minLength": 1,
              "maxLength": 35
            },
            "birthCountry": {
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            }
          },
          "required": [
            "kind"
          ],
          "additionalProperties": false,
          "description": "Dbtr/Id (T112): Kennung des Auftraggebers"
        },
        "countryOfResidence": {
          "type": "string",
          "pattern": "^[A-Z]{2}$",
          "description": "Dbtr/CtryOfRes: Sitzland des Auftraggebers (ISO 3166 alpha-2); nur AXZ."
        }
      },
      "required": [
        "name",
        "iban"
      ],
      "additionalProperties": false
    },
    "requestedExecutionDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "payments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "creditorName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 70
          },
          "creditorIban": {
            "type": "string",
            "maxLength": 34
          },
          "creditorAccountOther": {
            "type": "string",
            "maxLength": 34
          },
          "creditorBic": {
            "type": "string",
            "maxLength": 11
          },
          "creditorAgent": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "maxLength": 140
              },
              "address": {
                "type": "object",
                "properties": {
                  "townName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "countryCode": {
                    "type": "string",
                    "pattern": "^[A-Z]{2}$"
                  },
                  "postCode": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  "streetName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "buildingNumber": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  "addressLines": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "maxItems": 2
                  },
                  "department": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "subDepartment": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "buildingName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "floor": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "postBox": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  "room": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "townLocationName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "districtName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "countrySubDivision": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35,
                    "description": "CtrySubDvsn: Bundesstaat oder Provinz"
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$"
          },
          "remittanceInfo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 140
          },
          "endToEndId": {
            "type": "string",
            "maxLength": 35
          },
          "creditorAddress": {
            "type": "object",
            "properties": {
              "townName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 35
              },
              "countryCode": {
                "type": "string",
                "pattern": "^[A-Z]{2}$"
              },
              "postCode": {
                "type": "string",
                "minLength": 1,
                "maxLength": 16
              },
              "streetName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 70
              },
              "buildingNumber": {
                "type": "string",
                "minLength": 1,
                "maxLength": 16
              },
              "addressLines": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 70
                },
                "maxItems": 2
              },
              "department": {
                "type": "string",
                "minLength": 1,
                "maxLength": 70
              },
              "subDepartment": {
                "type": "string",
                "minLength": 1,
                "maxLength": 70
              },
              "buildingName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 35
              },
              "floor": {
                "type": "string",
                "minLength": 1,
                "maxLength": 70
              },
              "postBox": {
                "type": "string",
                "minLength": 1,
                "maxLength": 16
              },
              "room": {
                "type": "string",
                "minLength": 1,
                "maxLength": 70
              },
              "townLocationName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 35
              },
              "districtName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 35
              },
              "countrySubDivision": {
                "type": "string",
                "minLength": 1,
                "maxLength": 35,
                "description": "CtrySubDvsn: Bundesstaat oder Provinz"
              }
            },
            "additionalProperties": false
          },
          "chargeBearer": {
            "type": "string",
            "enum": [
              "SLEV",
              "SHAR",
              "DEBT",
              "CRED"
            ]
          },
          "executionDate": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "serviceLevel": {
            "type": "string",
            "enum": [
              "NURG",
              "URGP",
              "SDVA"
            ]
          },
          "categoryPurpose": {
            "type": "string",
            "enum": [
              "SALA"
            ],
            "description": "Nur SEPA (/payments/sepa): \"SALA\" kennzeichnet die Zahlung als Lohn- oder Gehaltszahlung (PmtTpInf/CtgyPurp/Cd). Gehaltszahlungen kommen in einen eigenen PmtInf-Block. Im AXZ-Profil ist das Feld ein Fehler (PAY_CATEGORY_PURPOSE_AXZ)."
          },
          "localInstrument": {
            "type": "string",
            "enum": [
              "INST"
            ],
            "description": "Nur SEPA (/payments/sepa): \"INST\" kennzeichnet die Zahlung als Echtzeitüberweisung (PmtTpInf/LclInstrm/Cd). Echtzeitüberweisungen kommen in einen eigenen PmtInf-Block; die Bank verlangt dafür einen eigenen Einreichungsweg. Im AXZ-Profil ein Fehler (PAY_LOCAL_INSTRUMENT_AXZ)."
          },
          "instrPrty": {
            "type": "string",
            "enum": [
              "HIGH"
            ],
            "description": "Nur SEPA (/payments/sepa): \"HIGH\" setzt die Priorität PmtTpInf/InstrPrty; solche Zahlungen kommen in einen eigenen PmtInf-Block. Weglassen bedeutet NORM. Im AXZ-Profil ist das Feld ein Fehler (PAY_INSTR_PRTY_AXZ), dort kennzeichnet serviceLevel URGP eine eilige Zahlung."
          },
          "purposeCode": {
            "type": "string",
            "pattern": "^[A-Z0-9]{1,4}$",
            "description": "Zahlungszweck als ISO-20022-Code (CdtTrfTxInf/Purp/Cd, ExternalPurpose1Code), z. B. SUPP Lieferantenzahlung, SALA Gehalt, TAXS Steuer. Richtet sich an den Empfänger, nicht an die Bank; in SEPA- und AXZ-Dateien zulässig. Geprüft wird nur das Format (PAY_PURPOSE_CODE_FORMAT)."
          },
          "instructionId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 35,
            "description": "PmtId/InstrId: Auftragsreferenz des Einreichers, max 35 Zeichen, ohne Default."
          },
          "ultimateDebtor": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 140,
                "description": "SEPA max 70, AXZ Pflicht und max 140 (PAY_ULTIMATE_NAME_*)"
              },
              "address": {
                "type": "object",
                "properties": {
                  "townName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "countryCode": {
                    "type": "string",
                    "pattern": "^[A-Z]{2}$"
                  },
                  "postCode": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  "streetName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "buildingNumber": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  "addressLines": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "maxItems": 2
                  },
                  "department": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "subDepartment": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "buildingName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "floor": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "postBox": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  "room": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "townLocationName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "districtName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "countrySubDivision": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35,
                    "description": "CtrySubDvsn: Bundesstaat oder Provinz"
                  }
                },
                "additionalProperties": false,
                "description": "nur AXZ; der SEPA-Generator schreibt sie nicht"
              },
              "id": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "org",
                      "private"
                    ],
                    "description": "org = Organisation (OrgId), private = Privatperson (PrvtId)"
                  },
                  "anyBic": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 11,
                    "description": "OrgId/AnyBIC, nur org"
                  },
                  "lei": {
                    "type": "string",
                    "minLength": 20,
                    "maxLength": 20,
                    "description": "OrgId/LEI, nur org"
                  },
                  "otherId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35,
                    "description": "Othr/Id, z. B. Gläubiger-ID oder Kundennummer"
                  },
                  "otherSchemeCode": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4,
                    "description": "Othr/SchmeNm/Cd, z. B. CUST, NIDN"
                  },
                  "otherSchemeProprietary": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35,
                    "description": "Othr/SchmeNm/Prtry"
                  },
                  "otherIssuer": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35,
                    "description": "Othr/Issr"
                  },
                  "birthDate": {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                    "description": "nur private: PrvtId/DtAndPlcOfBirth/BirthDt"
                  },
                  "birthProvince": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "birthCity": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "birthCountry": {
                    "type": "string",
                    "pattern": "^[A-Z]{2}$"
                  }
                },
                "required": [
                  "kind"
                ],
                "additionalProperties": false
              },
              "countryOfResidence": {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "description": "CtryOfRes: Sitzland (ISO 3166 alpha-2); nur AXZ, der SEPA-Generator schreibt es nicht."
              }
            },
            "additionalProperties": false,
            "description": "UltmtDbtr: abweichender Auftraggeber (zahlt wirtschaftlich, ist aber nicht Kontoinhaber). SEPA: Name max 70 und/oder Kennung; AXZ: Name Pflicht, max 140, Adresse zulässig."
          },
          "ultimateCreditor": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 140,
                "description": "SEPA max 70, AXZ Pflicht und max 140 (PAY_ULTIMATE_NAME_*)"
              },
              "address": {
                "type": "object",
                "properties": {
                  "townName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "countryCode": {
                    "type": "string",
                    "pattern": "^[A-Z]{2}$"
                  },
                  "postCode": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  "streetName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "buildingNumber": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  "addressLines": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 70
                    },
                    "maxItems": 2
                  },
                  "department": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "subDepartment": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "buildingName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "floor": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "postBox": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 16
                  },
                  "room": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 70
                  },
                  "townLocationName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "districtName": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "countrySubDivision": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35,
                    "description": "CtrySubDvsn: Bundesstaat oder Provinz"
                  }
                },
                "additionalProperties": false,
                "description": "nur AXZ; der SEPA-Generator schreibt sie nicht"
              },
              "id": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "org",
                      "private"
                    ],
                    "description": "org = Organisation (OrgId), private = Privatperson (PrvtId)"
                  },
                  "anyBic": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 11,
                    "description": "OrgId/AnyBIC, nur org"
                  },
                  "lei": {
                    "type": "string",
                    "minLength": 20,
                    "maxLength": 20,
                    "description": "OrgId/LEI, nur org"
                  },
                  "otherId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35,
                    "description": "Othr/Id, z. B. Gläubiger-ID oder Kundennummer"
                  },
                  "otherSchemeCode": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 4,
                    "description": "Othr/SchmeNm/Cd, z. B. CUST, NIDN"
                  },
                  "otherSchemeProprietary": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35,
                    "description": "Othr/SchmeNm/Prtry"
                  },
                  "otherIssuer": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35,
                    "description": "Othr/Issr"
                  },
                  "birthDate": {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                    "description": "nur private: PrvtId/DtAndPlcOfBirth/BirthDt"
                  },
                  "birthProvince": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "birthCity": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 35
                  },
                  "birthCountry": {
                    "type": "string",
                    "pattern": "^[A-Z]{2}$"
                  }
                },
                "required": [
                  "kind"
                ],
                "additionalProperties": false
              },
              "countryOfResidence": {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "description": "CtryOfRes: Sitzland (ISO 3166 alpha-2); nur AXZ, der SEPA-Generator schreibt es nicht."
              }
            },
            "additionalProperties": false,
            "description": "UltmtCdtr: abweichender Empfänger, Regeln wie ultimateDebtor."
          },
          "creditorId": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "org",
                  "private"
                ],
                "description": "org = Organisation (OrgId), private = Privatperson (PrvtId)"
              },
              "anyBic": {
                "type": "string",
                "minLength": 8,
                "maxLength": 11,
                "description": "OrgId/AnyBIC, nur org"
              },
              "lei": {
                "type": "string",
                "minLength": 20,
                "maxLength": 20,
                "description": "OrgId/LEI, nur org"
              },
              "otherId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 35,
                "description": "Othr/Id, z. B. Gläubiger-ID oder Kundennummer"
              },
              "otherSchemeCode": {
                "type": "string",
                "minLength": 1,
                "maxLength": 4,
                "description": "Othr/SchmeNm/Cd, z. B. CUST, NIDN"
              },
              "otherSchemeProprietary": {
                "type": "string",
                "minLength": 1,
                "maxLength": 35,
                "description": "Othr/SchmeNm/Prtry"
              },
              "otherIssuer": {
                "type": "string",
                "minLength": 1,
                "maxLength": 35,
                "description": "Othr/Issr"
              },
              "birthDate": {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                "description": "nur private: PrvtId/DtAndPlcOfBirth/BirthDt"
              },
              "birthProvince": {
                "type": "string",
                "minLength": 1,
                "maxLength": 35
              },
              "birthCity": {
                "type": "string",
                "minLength": 1,
                "maxLength": 35
              },
              "birthCountry": {
                "type": "string",
                "pattern": "^[A-Z]{2}$"
              }
            },
            "required": [
              "kind"
            ],
            "additionalProperties": false,
            "description": "Cdtr/Id: Kennung des Empfängers (LEI, BIC oder sonstige Kennung)."
          },
          "creditorCountryOfResidence": {
            "type": "string",
            "pattern": "^[A-Z]{2}$",
            "description": "Cdtr/CtryOfRes: Sitzland des Empfängers (ISO 3166 alpha-2); nur AXZ, in SEPA-Dateien nicht enthalten."
          },
          "uetr": {
            "type": "string",
            "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$",
            "description": "PmtId/UETR: eindeutige Transaktionsreferenz, UUID Version 4 in Kleinbuchstaben; nur AXZ."
          },
          "transferCurrency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "description": "Amt/EqvtAmt/CcyOfTrf: Gegenwertzahlung, amount/currency in Kontowährung, Überweisung in dieser Währung; nur AXZ."
          },
          "intermediaryAgents": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 8,
              "maxLength": 11
            },
            "maxItems": 2,
            "description": "IntrmyAgt1/2: BICs der Korrespondenzbanken; nur AXZ."
          },
          "creditorClearingMember": {
            "type": "object",
            "properties": {
              "systemCode": {
                "type": "string",
                "minLength": 1,
                "maxLength": 5
              },
              "memberId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 35
              }
            },
            "required": [
              "systemCode",
              "memberId"
            ],
            "additionalProperties": false,
            "description": "CdtrAgt/FinInstnId/ClrSysMmbId, zum Beispiel USABA mit Routing-Nummer; nur AXZ."
          },
          "instructionsForCreditorAgent": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "CHQB",
                    "HOLD",
                    "PHOB",
                    "TELB"
                  ]
                },
                "info": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 140
                }
              },
              "additionalProperties": false
            },
            "maxItems": 2,
            "description": "InstrForCdtrAgt: Weisungen an die Bank des Empfängers; nur AXZ."
          },
          "instructionForDebtorAgent": {
            "type": "string",
            "minLength": 1,
            "maxLength": 140,
            "description": "InstrForDbtrAgt: Weisung an die eigene Bank; nur AXZ."
          },
          "batchBooking": {
            "type": "boolean",
            "const": false,
            "description": "BtchBookg false: Einzelbuchung statt Sammelbuchung."
          }
        },
        "required": [
          "creditorName",
          "creditorIban",
          "amount",
          "currency",
          "remittanceInfo"
        ],
        "additionalProperties": false
      },
      "minItems": 1
    },
    "initiatingPartyId": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "org",
            "private"
          ],
          "description": "org = Organisation (OrgId), private = Privatperson (PrvtId)"
        },
        "anyBic": {
          "type": "string",
          "minLength": 8,
          "maxLength": 11,
          "description": "OrgId/AnyBIC, nur org"
        },
        "lei": {
          "type": "string",
          "minLength": 20,
          "maxLength": 20,
          "description": "OrgId/LEI, nur org"
        },
        "otherId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 35,
          "description": "Othr/Id, z. B. Gläubiger-ID oder Kundennummer"
        },
        "otherSchemeCode": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4,
          "description": "Othr/SchmeNm/Cd, z. B. CUST, NIDN"
        },
        "otherSchemeProprietary": {
          "type": "string",
          "minLength": 1,
          "maxLength": 35,
          "description": "Othr/SchmeNm/Prtry"
        },
        "otherIssuer": {
          "type": "string",
          "minLength": 1,
          "maxLength": 35,
          "description": "Othr/Issr"
        },
        "birthDate": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "nur private: PrvtId/DtAndPlcOfBirth/BirthDt"
        },
        "birthProvince": {
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "birthCity": {
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "birthCountry": {
          "type": "string",
          "pattern": "^[A-Z]{2}$"
        }
      },
      "required": [
        "kind"
      ],
      "additionalProperties": false,
      "description": "GrpHdr/InitgPty/Id (T112): Kennung des Einreichers; als Name steht weiterhin der Auftraggeber."
    }
  },
  "required": [
    "debtor",
    "requestedExecutionDate",
    "payments"
  ],
  "additionalProperties": false
}