{
  "openapi" : "3.0.2",
  "info" : {
    "title" : "Cash Management Service",
    "description" : "Contains API endpoints for cash management reporting.\n\n\nThis API provides endpoints for:\n\n  - Retrieving balance information for an account\n  - Retrieving statement reports for an account\n  - Retriving debit and credit confirmations against an account\n\n\nThe models in this API are aligned with CGI-MP Common Global Implementation Market Practice (ISO 2019 version). [More details](https://www.swift.com/standards/market-practice/common-global-implementation).\n",
    "contact" : {
      "name" : "Developer Hub",
      "url" : "https://developer.swift.com",
      "email" : "developer-support@swift.com"
    },
    "license" : {
      "name" : "API Restricted License",
      "url" : "https://www.swift.com/swift-resource/197711/download"
    },
    "version" : "1.1.0"
  },
  "servers" : [ {
    "url" : "https://sandbox.swift.com/swift-cash-management-in/v1",
    "description" : "URL for Sandbox Environment."
  }, {
    "url" : "https://api-test.swiftnet.sipn.swift.com/swift-cash-management-in/v1",
    "description" : "URL for Apigee (SDK consumer) Pilot."
  }, {
    "url" : "https://api.swiftnet.sipn.swift.com/swift-cash-management-in/v1",
    "description" : "URL for Apigee (SDK consumer) Live."
  } ],
  "security" : [ {
    "oauthBearerToken" : [ ]
  }, {
    "oAuth2" : [ ]
  } ],
  "tags" : [ {
    "name" : "Account balances",
    "description" : "Bank-to-Customer Account Reporting"
  }, {
    "name" : "Statements",
    "description" : "Bank-to-Customer Statements"
  }, {
    "name" : "Account transaction confirmations",
    "description" : "Bank-to-Customer Debit/Credit Notifications"
  } ],
  "paths" : {
    "/accounts/{extended_account_identification}" : {
      "get" : {
        "tags" : [ "Account balances" ],
        "summary" : "Retrieves balance information for an account.",
        "description" : "**Scope**\n\nThis API operation allows the account servicer to return to an account owner or to a party authorised by the account owner the entries reported to the account, and/or balance information on the account at a given point in time.\n\n**Usage**\n\nThis API operation can return reports for more than one account. It provides information for cash management and/or reconciliation. It can be used to:\n  \n  - report pending and booked items;\n  - provide balance information.\n\nIt can include underlying details of transactions that have been included in the entry.\n",
        "operationId" : "fetchCashManagementReportDataCGI",
        "parameters" : [ {
          "$ref" : "#/components/parameters/X-Request-ID"
        }, {
          "$ref" : "#/components/parameters/X-BIC"
        }, {
          "$ref" : "#/components/parameters/Limit"
        }, {
          "$ref" : "#/components/parameters/Offset"
        }, {
          "name" : "extended_account_identification",
          "in" : "path",
          "description" : "Unique identification of the customer's account as defined by the bank's server. \n  \n**USAGE** this field is longer than the usual 34x for accounts, to allow for flexibility when the account id must be combined with other parameters such as a BIC, or a system id, to become a unique key field.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 72,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies a character string with a maximum length of 72 characters.",
            "x-MXComponent" : "Max72Text"
          },
          "example" : "123e456-e89b-12d3-a456-426614174000"
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "headers" : {
              "X-Request-ID" : {
                "$ref" : "#/components/headers/X-Request-ID"
              },
              "Swift-Request-ID" : {
                "$ref" : "#/components/headers/Swift-Request-ID"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "results" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/CashManagementReportDataCGI2"
                      }
                    },
                    "links" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Link"
                      }
                    }
                  }
                },
                "example" : {
                  "results" : [ {
                    "extended_account_identification" : "SPECTRA-INFRA-SBI-3456789012",
                    "report_identification" : "CMS-REPORT-JUN06-2025",
                    "creation_date_time" : "2025-06-06T09:00:00",
                    "from_date_time" : "2025-06-01T00:00:00",
                    "to_date_time" : "2025-06-06T23:59:59+05:30",
                    "electronic_sequence_number" : "00056789",
                    "account" : {
                      "currency" : "INR",
                      "servicer" : {
                        "bicfi" : "SBININBB197"
                      }
                    },
                    "balance" : [ {
                      "balance_type" : "OPAV",
                      "amount" : {
                        "currency" : "INR",
                        "amount" : "000000015000000.00"
                      },
                      "credit_debit_indicator" : "CRDT",
                      "date" : "2025-06-01T09:00:00"
                    }, {
                      "balance_type" : "CLAV",
                      "amount" : {
                        "currency" : "INR",
                        "amount" : "000000022850000.00"
                      },
                      "credit_debit_indicator" : "CRDT",
                      "date" : "2025-06-06T18:30:00"
                    }, {
                      "balance_type" : "PRCD",
                      "amount" : {
                        "currency" : "INR",
                        "amount" : "000000003000000.00"
                      },
                      "credit_debit_indicator" : "CRDT",
                      "date" : "2025-06-07T09:00:00"
                    } ],
                    "transactions_summary" : {
                      "total_number_of_entries" : "12",
                      "total_sum" : "000000012000000.00",
                      "total_number_of_credit_entries" : "7",
                      "total_sum_of_credit_entries" : "000000009500000.00",
                      "total_number_of_debit_entries" : "5",
                      "total_sum_of_debit_entries" : "000000002500000.00"
                    }
                  } ],
                  "links" : [ {
                    "href" : "accounts/SPECTRA-INFRA-SBI-3456789012?limit=100,offset=100",
                    "rel" : "previous",
                    "type" : "GET"
                  }, {
                    "href" : "accounts/SPECTRA-INFRA-SBI-3456789012?limit=100,offset=300",
                    "rel" : "next",
                    "type" : "GET"
                  } ]
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/400-BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401-Unauthorized"
          },
          "403" : {
            "$ref" : "#/components/responses/403-Forbidden"
          },
          "404" : {
            "$ref" : "#/components/responses/404-NotFound"
          },
          "406" : {
            "$ref" : "#/components/responses/406-NotAcceptable"
          },
          "429" : {
            "$ref" : "#/components/responses/429-TooManyRequests"
          },
          "503" : {
            "$ref" : "#/components/responses/503-ServiceUnavailable"
          },
          "504" : {
            "$ref" : "#/components/responses/504-GatewayTimeout"
          }
        }
      }
    },
    "/statements/{extended_account_identification}" : {
      "get" : {
        "tags" : [ "Statements" ],
        "summary" : "Retrieves statements reports for an account.",
        "description" : "**Scope**\n\nThis API operation allows an account owner or to a party authorised by the account owner to receive the entries booked to the account, and balance information on the account at a given point in time.\n\n**Usage**\n\nThis API operation can return reports for more than one account. It provides information for cash management and/or reconciliation.\n\n  - It contains information on booked entries only.\n  - It can include underlying details of transactions that have been included in the entry.\n\nIt provides information on items that have been booked to the account and also balance information. Depending on services and schedule agreed between banks and their customers, statements may be generated and exchanged accordingly, for example for intraday or prior day periods.\n",
        "operationId" : "fetchCashManagementStatementDataCGI",
        "parameters" : [ {
          "$ref" : "#/components/parameters/X-Request-ID"
        }, {
          "$ref" : "#/components/parameters/X-BIC"
        }, {
          "$ref" : "#/components/parameters/Limit"
        }, {
          "$ref" : "#/components/parameters/Offset"
        }, {
          "name" : "extended_account_identification",
          "in" : "path",
          "description" : "Unique identification of the customer's account  as defined by the bank's server. \n\n**USAGE**: this field is longer than the usual 34x for accounts, to allow for flexibility when the account id must be combined with other parameters such as a BIC, or a system id, to become a unique key field.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 72,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies a character string with a maximum length of 72 characters.",
            "x-MXComponent" : "Max72Text"
          },
          "example" : "123e456-e89b-12d3-a456-426614174000"
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "headers" : {
              "X-Request-ID" : {
                "$ref" : "#/components/headers/X-Request-ID"
              },
              "Swift-Request-ID" : {
                "$ref" : "#/components/headers/Swift-Request-ID"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "results" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/CashManagementStatementDataCGI2"
                      }
                    },
                    "links" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Link"
                      }
                    }
                  }
                },
                "example" : {
                  "results" : [ {
                    "extended_account_identification" : "ZENITHTECH-HDFC-50200012345678",
                    "statement_identification" : "STMNT-JUN-2025",
                    "creation_date_time" : "2025-06-06T10:30:00+05:30",
                    "from_date_time" : "2025-06-01T00:00:00+05:30",
                    "to_date_time" : "2025-06-06T23:59:59+05:30",
                    "electronic_sequence_number" : "00001234",
                    "account" : {
                      "currency" : "INR",
                      "servicer" : {
                        "bicfi" : "SBININBB197"
                      }
                    },
                    "balance" : [ {
                      "balance_type" : "OPBD",
                      "amount" : {
                        "currency" : "INR",
                        "amount" : "0000000025000000"
                      },
                      "credit_debit_indicator" : "CRDT",
                      "date" : "2025-06-01"
                    }, {
                      "balance_type" : "CLBD",
                      "amount" : {
                        "currency" : "INR",
                        "amount" : "0000000042350000"
                      },
                      "credit_debit_indicator" : "CRDT",
                      "date" : "2025-06-06"
                    }, {
                      "balance_type" : "OPBD",
                      "amount" : {
                        "currency" : "INR",
                        "amount" : "0000000038500000"
                      },
                      "credit_debit_indicator" : "CRDT",
                      "date" : "2025-06-06"
                    } ],
                    "transactions_summary" : {
                      "total_number_of_entries" : "6",
                      "total_sum" : "0000000031000000",
                      "total_number_of_credit_entries" : "3",
                      "total_sum_of_credit_entries" : "0000000022000000",
                      "total_number_of_debit_entries" : "3",
                      "total_sum_of_debit_entries" : "0000000009000000"
                    }
                  } ],
                  "links" : [ {
                    "href" : "statements/ZENITHTECH-HDFC-50200012345678?limit=100,offset=100",
                    "rel" : "previous",
                    "type" : "GET"
                  }, {
                    "href" : "statements/ZENITHTECH-HDFC-50200012345678?limit=100,offset=300",
                    "rel" : "next",
                    "type" : "GET"
                  } ]
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/400-BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401-Unauthorized"
          },
          "403" : {
            "$ref" : "#/components/responses/403-Forbidden"
          },
          "404" : {
            "$ref" : "#/components/responses/404-NotFound"
          },
          "406" : {
            "$ref" : "#/components/responses/406-NotAcceptable"
          },
          "429" : {
            "$ref" : "#/components/responses/429-TooManyRequests"
          },
          "503" : {
            "$ref" : "#/components/responses/503-ServiceUnavailable"
          },
          "504" : {
            "$ref" : "#/components/responses/504-GatewayTimeout"
          }
        }
      }
    },
    "/confirmations/{extended_account_identification}" : {
      "get" : {
        "tags" : [ "Account transaction confirmations" ],
        "summary" : "Retrieves debit and credit confirmations of transactions that happened on an account.",
        "description" : "**Scope**\n\nThis API operation can be used by the account owner or a party authorised by the account owner to receive single or multiple debit and/or credit entries reported to the account.\n\n**Usage**\n\nThis API operation can return reports for more than one account. It provides information for cash management and/or reconciliation.\n\nThis API operation can be used to:\n\n  - report pending and booked items;\n  - notify one or more debit entries;\n  - notify one or more credit entries;\n  - notify a combination of debit and credit entries.\n\nIt can include underlying details of transactions that have been included in the entry.\n\nIt does not contain balance information.\n",
        "operationId" : "fetchCashManagementNotificationDataCGI",
        "parameters" : [ {
          "$ref" : "#/components/parameters/X-Request-ID"
        }, {
          "$ref" : "#/components/parameters/X-BIC"
        }, {
          "$ref" : "#/components/parameters/Limit"
        }, {
          "$ref" : "#/components/parameters/Offset"
        }, {
          "name" : "extended_account_identification",
          "in" : "path",
          "description" : "Unique identification of the customer's account  as defined by the bank's server. \n\nUSAGE: this field is longer than the usual 34x for accounts, to allow for flexibility when the account id must be combined with other parameters such as a BIC, or a system id, to become a unique key field.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "maxLength" : 72,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies a character string with a maximum length of 72 characters.",
            "x-MXComponent" : "Max72Text"
          },
          "example" : "123e456-e89b-12d3-a456-426614174000"
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "headers" : {
              "X-Request-ID" : {
                "$ref" : "#/components/headers/X-Request-ID"
              },
              "Swift-Request-ID" : {
                "$ref" : "#/components/headers/Swift-Request-ID"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "results" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/CashManagementNotificationDataCGI2"
                      }
                    },
                    "links" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Link"
                      }
                    }
                  }
                },
                "example" : {
                  "results" : [ {
                    "extended_account_identification" : "INFOTECH-LTD-AXIS-2004567890",
                    "notification_identification" : "NTFN-JUN06-2025",
                    "notification_entry" : [ {
                      "entry_reference" : "PAYROLL-JUN2025",
                      "amount" : {
                        "currency" : "INR",
                        "amount" : "250000.00"
                      },
                      "credit_debit_indicator" : "DBIT",
                      "booking_date" : "2025-06-04",
                      "value_date" : "2025-06-05",
                      "bank_transaction_code" : {
                        "domain_code" : "SALA"
                      }
                    }, {
                      "entry_reference" : "CLIENT-INVOICE-AXA",
                      "amount" : {
                        "currency" : "INR",
                        "amount" : "750000.00"
                      },
                      "credit_debit_indicator" : "CRDT",
                      "booking_date" : "2025-06-05",
                      "value_date" : "2025-06-05",
                      "bank_transaction_code" : {
                        "domain_code" : "RCPT"
                      }
                    }, {
                      "entry_reference" : "VENDOR-PAYMENT-WIPRO",
                      "amount" : {
                        "currency" : "INR",
                        "amount" : "125000.00"
                      },
                      "credit_debit_indicator" : "DBIT",
                      "booking_date" : "2025-06-06",
                      "value_date" : "2025-06-06",
                      "bank_transaction_code" : {
                        "domain_code" : "VEND"
                      }
                    }, {
                      "entry_reference" : "FD-INTEREST-CREDIT",
                      "amount" : {
                        "currency" : "INR",
                        "amount" : "20000.00"
                      },
                      "credit_debit_indicator" : "CRDT",
                      "booking_date" : "2025-06-06",
                      "value_date" : "2025-06-06",
                      "bank_transaction_code" : {
                        "domain_code" : "INTR"
                      }
                    }, {
                      "entry_reference" : "UTILITY-BILL-PAYMENT",
                      "amount" : {
                        "currency" : "INR",
                        "amount" : "8000.00"
                      },
                      "credit_debit_indicator" : "DBIT",
                      "booking_date" : "2025-06-06",
                      "value_date" : "2025-06-06",
                      "bank_transaction_code" : {
                        "domain_code" : "UTIL"
                      }
                    } ],
                    "creation_date_time" : "2025-06-06T18:15:00Z",
                    "from_date_time" : "2025-06-01T00:00:00Z",
                    "to_date_time" : "2025-06-06T23:59:59Z",
                    "electronic_sequence_number" : "7890",
                    "account" : {
                      "currency" : "INR",
                      "servicer" : {
                        "bicfi" : "SBININBB197"
                      }
                    },
                    "transactions_summary" : {
                      "total_number_of_entries" : "5",
                      "total_sum" : "1153000.00",
                      "total_number_of_credit_entries" : "2",
                      "total_sum_of_credit_entries" : "770000.00",
                      "total_number_of_debit_entries" : "3",
                      "total_sum_of_debit_entries" : "383000.00"
                    }
                  } ],
                  "links" : [ {
                    "href" : "confirmations/INFOTECH-LTD-AXIS-2004567890?limit=100,offset=100",
                    "rel" : "previous",
                    "type" : "GET"
                  }, {
                    "href" : "confirmations/INFOTECH-LTD-AXIS-2004567890?limit=100,offset=300",
                    "rel" : "next",
                    "type" : "GET"
                  } ]
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/400-BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401-Unauthorized"
          },
          "403" : {
            "$ref" : "#/components/responses/403-Forbidden"
          },
          "404" : {
            "$ref" : "#/components/responses/404-NotFound"
          },
          "406" : {
            "$ref" : "#/components/responses/406-NotAcceptable"
          },
          "429" : {
            "$ref" : "#/components/responses/429-TooManyRequests"
          },
          "503" : {
            "$ref" : "#/components/responses/503-ServiceUnavailable"
          },
          "504" : {
            "$ref" : "#/components/responses/504-GatewayTimeout"
          }
        }
      }
    }
  },
  "components" : {
    "parameters" : {
      "X-Request-ID" : {
        "name" : "X-Request-ID",
        "in" : "header",
        "description" : "End to end tracking ID. This value will be returned to the caller as a response header of the same name. If no header is assigned by the caller, then one will be assigned by Swift.",
        "required" : false,
        "schema" : {
          "type" : "string",
          "maxLength" : 270
        },
        "example" : "rrt-1130311210763048898-c-geu2-21394-2055157-17"
      },
      "X-BIC" : {
        "name" : "X-BIC",
        "in" : "header",
        "description" : "The BIC code of the downstream provider which should recieve and process this request, in situations where there are multiple downstream providers. If Swift API Platform should recieve and process this request, the value of this header should be set to SWHQBEBB.",
        "required" : true,
        "schema" : {
          "type" : "string",
          "pattern" : "^[a-zA-Z]{6,6}[a-zA-Z2-9][a-nA-Np-zP-Z0-9]$",
          "maxLength" : 255
        },
        "example" : "DEUTDEFZ"
      },
      "Limit" : {
        "name" : "Limit",
        "in" : "query",
        "description" : "Pagination parameter. Specifies the number or records to return for the page.",
        "required" : false,
        "schema" : {
          "type" : "integer"
        },
        "example" : 25
      },
      "Offset" : {
        "name" : "Offset",
        "in" : "query",
        "description" : "Pagination paramter. Specifies the record to start the page with.",
        "required" : false,
        "schema" : {
          "type" : "integer"
        },
        "example" : 475
      }
    },
    "headers" : {
      "X-Request-ID" : {
        "description" : "Specify an unique end to end tracking request ID. The element will be populated by the SWIFT API gateway",
        "schema" : {
          "type" : "string",
          "maxLength" : 270
        },
        "required" : true
      },
      "Swift-Request-ID" : {
        "required" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid"
        },
        "examples" : {
          "SwiftIdResponseHeader" : {
            "value" : "ce480d68-2612-4aef-867a-e91566a1e012"
          }
        },
        "description" : "A Universally Unique Identifier (UUID) generated by the API Gateway for tracking and support purposes.\nThis Swift-Request-ID response header must always be returned to the API consumer, even when the response is an error message"
      }
    },
    "schemas" : {
      "Link" : {
        "type" : "object",
        "description" : "Contains a generic structure to support hypermedia controls. \nBased on https://www.rfc-editor.org/rfc/rfc8288\n",
        "additionalProperties" : false,
        "required" : [ "href" ],
        "properties" : {
          "href" : {
            "description" : "The link target, either an absolute or relative URI.\n",
            "type" : "string",
            "maxLength" : 2048
          },
          "rel" : {
            "description" : "The relationship of the link target to the current resource. \nCommon values are \"self\", \"previous\", \"next\", etc.\n",
            "type" : "string",
            "maxLength" : 35
          },
          "type" : {
            "description" : "By convention, the HTTP operation to invoke against the link target. \nDefaults to GET. \n",
            "type" : "string",
            "maxLength" : 35
          }
        }
      },
      "AccountIdentification4Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the unique identification of an account as assigned by the account servicer.",
        "oneOf" : [ {
          "required" : [ "iban" ],
          "type" : "object",
          "properties" : {
            "iban" : {
              "pattern" : "^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$",
              "type" : "string",
              "description" : "International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 \"Banking and related financial services - International Bank Account Number (IBAN)\" version 1997-10-01, or later revisions.\n\nBased on datatype IBAN2007Identifier: The International Bank Account Number is a code used internationally by financial institutions to uniquely identify the account of a customer at a financial institution as described in the 2007 edition of the ISO 13616 standard \"Banking and related financial services - International Bank Account Number (IBAN)\" and replaced by the more recent edition of the standard.\n",
              "x-MXComponent" : "IBAN2007Identifier"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "other" ],
          "type" : "object",
          "properties" : {
            "other" : {
              "$ref" : "#/components/schemas/GenericAccountIdentification1"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "AccountIdentification4Choice"
      },
      "AccountIdentification79Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the unique identification of an account as assigned by the account servicer.",
        "oneOf" : [ {
          "required" : [ "iban" ],
          "type" : "object",
          "properties" : {
            "iban" : {
              "pattern" : "^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$",
              "type" : "string",
              "description" : "International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 \"Banking and related financial services - International Bank Account Number (IBAN)\" version 1997-10-01, or later revisions.\n\nBased on datatype IBAN2007Identifier: The International Bank Account Number is a code used internationally by financial institutions to uniquely identify the account of a customer at a financial institution as described in the 2007 edition of the ISO 13616 standard \"Banking and related financial services - International Bank Account Number (IBAN)\" and replaced by the more recent edition of the standard.\n",
              "x-MXComponent" : "IBAN2007Identifier"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "other_identification" ],
          "type" : "object",
          "properties" : {
            "other_identification" : {
              "maxLength" : 34,
              "minLength" : 1,
              "type" : "string",
              "description" : "Unique identification of an account, as assigned by the account servicer, using an identification scheme.\n---------\nUsage: CGI-MP for cash reporting: When all entry <Ntry> items in the statement belong to an accounting/sub-ledger identifier (Virtual Account), the Virtual Identifier (the Virtual Account ID) will be reported here.\n----------\nUsage: India Market Practice:\nNACH: 23.17 Beneficiary's Bank Account number\nMandatory\n\nNEFT: N061.6061 Beneficiary Customer Account Number\nMandatory\n\nNG-RTGS: Creditor's Account number\nMandatory\n\nECS/NECS: 11.5 Destination Account number\n15-character description.\n\nRequired for Foreign Remittances as well\n----------\n\n\nBased on datatype Max34Text: Specifies a character string with a maximum length of 34 characters.\n",
              "x-MXComponent" : "Max34Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "AccountIdentification79Choice"
      },
      "AccountSchemeName1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Sets of elements to identify a name of the identification scheme.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Name of the identification scheme, in a coded form as published in an external list.\n\nSpecifies the external account identification scheme name code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalAccountIdentification1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Name of the identification scheme, in a free text form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "AccountSchemeName1Choice"
      },
      "ActiveOrHistoricCurrencyAndAmountRange2" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "amount" : {
            "$ref" : "#/components/schemas/ImpliedCurrencyAmountRange1Choice"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the amount is a credited or debited amount.\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          },
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "description" : "Medium of exchange of value, used to qualify an amount.\n\nA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          }
        },
        "additionalProperties" : false,
        "description" : "Range of amount values.",
        "x-MXComponent" : "ActiveOrHistoricCurrencyAndAmountRange2"
      },
      "AddressType3Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Choice of formats for the type of address.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "type" : "string",
              "description" : "Type of address expressed as a code.\n\nSpecifies the type of address.\n\nCode Name Definition:\n*`ADDR` - Postal - Address is the complete postal address.\n*`BIZZ` - Business - Address is the business address.\n*`DLVY` - DeliveryTo - Address is the address to which delivery is to take place.\n*`HOME` - Residential - Address is the home address.\n*`MLTO` - MailTo - Address is the address to which mail is sent.\n*`PBOX` - POBox - Address is a postal office (PO) box.\n",
              "enum" : [ "ADDR", "BIZZ", "DLVY", "HOME", "MLTO", "PBOX" ],
              "x-MXComponent" : "AddressType2Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "$ref" : "#/components/schemas/GenericIdentification30"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "AddressType3Choice"
      },
      "AmountAndCurrencyExchange5" : {
        "required" : [ "transaction_amount" ],
        "type" : "object",
        "properties" : {
          "instructed_amount" : {
            "$ref" : "#/components/schemas/AmountAndCurrencyExchangeDetails7"
          },
          "transaction_amount" : {
            "$ref" : "#/components/schemas/AmountAndCurrencyExchangeDetails7"
          },
          "counter_value_amount" : {
            "$ref" : "#/components/schemas/AmountAndCurrencyExchangeDetails7"
          },
          "proprietary_amount" : {
            "type" : "array",
            "description" : "Set of elements used to provide information on the original amount and currency exchange.\n----------\nUsage: CGI-MP: This value can be used by the bank for additional amount reporting on community or bank-specific purposes.\nValues of Type:\n- IBS: Interbank settlement amount (for example MT103 32A field)  \n- AOS: Additional counter-value information for some banking communities.\nOther values are bilateral\nRefer to Instructed Amount / Currency Exchange for child-element use.\n----------\n",
            "items" : {
              "$ref" : "#/components/schemas/AmountAndCurrencyExchangeDetails4"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to provide information on the original amount.",
        "x-MXComponent" : "AmountAndCurrencyExchange5"
      },
      "AmountAndCurrencyExchangeDetails4" : {
        "required" : [ "amount", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the type of amount.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "amount" : {
            "$ref" : "#/components/schemas/AmountAndCurrencyExchangeDetails4_amount"
          },
          "currency_exchange" : {
            "$ref" : "#/components/schemas/CurrencyExchange5"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to provide information on the original amount and currency exchange.",
        "x-MXComponent" : "AmountAndCurrencyExchangeDetails4"
      },
      "AmountAndCurrencyExchangeDetails7" : {
        "required" : [ "amount" ],
        "type" : "object",
        "properties" : {
          "amount" : {
            "$ref" : "#/components/schemas/AmountAndCurrencyExchangeDetails7_amount"
          },
          "currency_exchange" : {
            "$ref" : "#/components/schemas/CurrencyExchange27"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to provide information on the original amount and currency exchange.",
        "x-MXComponent" : "AmountAndCurrencyExchangeDetails7"
      },
      "AmountAndDirection35" : {
        "required" : [ "amount", "credit_debit_indicator" ],
        "type" : "object",
        "properties" : {
          "amount" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Resulting amount of the netted amounts for all debit and credit entries.\n\nBased on datatype NonNegativeDecimalNumber: Number of objects represented as a non negative decimal number, for example, 0.75 or 45.6.\n",
            "x-MXComponent" : "NonNegativeDecimalNumber"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the amount is a credit or a debit amount.\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          }
        },
        "additionalProperties" : false,
        "description" : "Resulting debit or credit amount of the netted amounts for all debit and credit entries.",
        "x-MXComponent" : "AmountAndDirection35"
      },
      "AmountRangeBoundary1" : {
        "required" : [ "boundary_amount", "included" ],
        "type" : "object",
        "properties" : {
          "boundary_amount" : {
            "maxLength" : 18,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string",
            "description" : "Amount value of the range limit.\n\nBased on datatype ImpliedCurrencyAndAmount: Number of monetary units specified in a currency where the unit of currency is implied by the context and compliant with ISO 4217. The decimal separator is a dot.\nNote: a zero amount is considered a positive amount.\n",
            "x-MXComponent" : "ImpliedCurrencyAndAmount"
          },
          "included" : {
            "type" : "boolean",
            "description" : "Indicates whether the boundary amount is included in the range of amount values.\n\nBased on datatype YesNoIndicator: Indicates a \"Yes\" or \"No\" type of answer for an element.\n",
            "x-MXComponent" : "YesNoIndicator"
          }
        },
        "additionalProperties" : false,
        "description" : "Limit for an amount range.",
        "x-MXComponent" : "AmountRangeBoundary1"
      },
      "BankTransactionCodeStructure8" : {
        "required" : [ "domain_code" ],
        "type" : "object",
        "properties" : {
          "domain_code" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the business area of the underlying transaction.\n----------\nUsage Rule: CGI-MP: Domain Code is mandatory. \nBank Transaction Codes are available to download from the ISO20022.org external code list page:\nhttps://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets.\n----------\n\nSpecifies the bank transaction code domain, as published in an external bank transaction code domain code list.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalBankTransactionDomain1Code"
          },
          "family_code" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the family within a domain.\n----------\nISO 20022: FamilyAndSubFamilyRule: If a specific (non-generic) Family code is not present, then a specific (non-generic) SubFamily code is not allowed.\n----------\n\nSpecifies the bank transaction code family, as published in an external bank transaction code family code list.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalBankTransactionFamily1Code"
          },
          "sub_family_code" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the sub-product family within a specific family.\n\nSpecifies the bank transaction code sub-family, as published in an external bank transaction code sub-family code list.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalBankTransactionSubFamily1Code"
          },
          "proprietary" : {
            "$ref" : "#/components/schemas/ProprietaryBankTransactionCodeStructure2"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to identify the type or operations code of a transaction entry.",
        "x-MXComponent" : "BankTransactionCodeStructure8"
      },
      "BatchInformation3" : {
        "type" : "object",
        "properties" : {
          "api_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Point to point reference, as assigned by the sending party, to unambiguously identify the batch of transactions.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "payment_information_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification, as assigned by a sending party, to unambiguously identify the payment information group within the API.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "number_of_transactions" : {
            "pattern" : "^[0-9]{1,15}$",
            "type" : "string",
            "description" : "Number of individual transactions included in the batch.\n\nBased on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.\n",
            "x-MXComponent" : "Max15NumericText"
          },
          "total_amount" : {
            "$ref" : "#/components/schemas/BatchInformation3_total_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the batch entry is a credit or a debit entry.\n----------\nUsage Rule: CGI-MP: Required if Total Amount is provided.\n----------\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to identify the underlying batches.",
        "x-MXComponent" : "BatchInformation3"
      },
      "BranchAndFinancialInstitutionIdentification15" : {
        "type" : "object",
        "properties" : {
          "bicfi" : {
            "pattern" : "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$",
            "type" : "string",
            "description" : "Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".\n\nBased on datatype BICFIDec2014Identifier: Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362: 2014 - \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".\n",
            "x-MXComponent" : "BICFIDec2014Identifier"
          },
          "clearing_system_identification" : {
            "maxLength" : 5,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a clearing system Clearing System Identification Code\n----------\nUsage: CGI-MP: As identified by the ISO 20022 ExternalClearingSystemIdentification1Code published on ISO 20022.org.\n----------\nUsage: India Market Practice:\n- INFSC = Indian Financial System Code\n- MICR = MICR (Magnetic Ink Character Recognition) code\nOr refer to the ISO 20022 ExternalClearingSystemIdentification1Code.\nNOT USED FOR INTERMEDIARY AGENTS\n----------\n\nBased on datatype Max5Text: Specifies a character string with a maximum length of 5 characters.\n",
            "x-MXComponent" : "Max5Text"
          },
          "clearing_system_member_identification" : {
            "maxLength" : 11,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a member of a clearing system.\n----------\nUsage: India Market Practice:\n- IFSC: 11-character code\n- MICR: 9-digit city-bank branch code\n- ECS/NECS: 22.2 Destination Sort Code\n- NEFT: N06.5569 Beneficiary branch’s IFSC (Indian Financial System Code).\nMandatory, 4!a4!c[3!c]\n- NACH: 23.16 Destination Bank IFSC / MICR / IIN\nMandatory, 11-character Destn Bank IFSC/MICR/IIN.\n- NG-RTGS: For Participant, IFSC code to be keyed in. For Non- Participant (i.e. Participant who do not have IFSC code), Name and Other Identification to be keyed in.\n\nNote: IFSC Code for financial institution is registered with RBI for NGRTGS, and consist of eleven (11) contiguous characters comprising the first four Components: INSTITUTION CODE, Fifth Character is ‘0’ and remaining 6 are Alphanumeric BRANCH CODE.\n-USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS\n----------\n\nBased on datatype Max11Text: Clearing System Member Identification.\n",
            "x-MXComponent" : "Max11Text"
          },
          "lei" : {
            "pattern" : "^[A-Z0-9]{18,18}[0-9]{2,2}$",
            "type" : "string",
            "description" : "Legal entity identifier of the financial institution.\n\nBased on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 \"Financial Services - Legal Entity Identifier (LEI)\".\n",
            "x-MXComponent" : "LEIIdentifier"
          },
          "name" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name by which an agent is known and which is usually used to identify that agent.\n----------\nUsage: CGI-MP: \n- For all Agents, CGI best practice is to not report the Name when a BIC, Clearing System Member ID, LEI, or Branch ID is present.  \n- If the original instruction includes a BIC, Clearing System Member ID, LEI, or Branch ID as well as a Name, the reporting of the Name is bilateral.\n- If only a BIC, Clearing System Member ID, LEI, or Branch ID is present, CGI best practice is to not enhance the report by adding the Agent's name.\n- For Book Transfers, if a BIC, Clearing System Member ID, LEI, or Branch ID is available, the Name should not be reported.\n----------\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "department" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a division of a large organisation or building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "sub_department" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a sub-division of a large organisation or building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "street_name" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of a street or thoroughfare.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "building_number" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Number that identifies the position of a building on a street.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "building_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the building or house.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "floor" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Floor or storey within a building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "post_box" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Numbered box in a post office, assigned to a person or organisation, where letters are kept until called for.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "room" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Building room number.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "post_code" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "town_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of a built-up area, with defined boundaries, and a local government.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "town_location_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specific location name within the town.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "district_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies a subdivision within a country sub-division.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "country_sub_division" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies a subdivision of a country such as state, region, county.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "country" : {
            "pattern" : "^[A-Z]{2,2}$",
            "type" : "string",
            "description" : "Nation with its own government.\n\n\nCode to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n",
            "x-MXComponent" : "CountryCode"
          },
          "address_line" : {
            "maxItems" : 7,
            "type" : "array",
            "description" : "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "items" : {
              "maxLength" : 70,
              "minLength" : 1,
              "type" : "string",
              "x-MXComponent" : "Max70Text"
            }
          },
          "other" : {
            "$ref" : "#/components/schemas/GenericFinancialIdentification1"
          },
          "branch_identification" : {
            "$ref" : "#/components/schemas/BranchData7"
          }
        },
        "additionalProperties" : false,
        "description" : "Unique and unambiguous identification of a financial institution or a branch of a financial institution.",
        "x-MXComponent" : "BranchAndFinancialInstitutionIdentification15"
      },
      "BranchAndFinancialInstitutionIdentification17" : {
        "type" : "object",
        "properties" : {
          "bicfi" : {
            "pattern" : "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$",
            "type" : "string",
            "description" : "Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".\n\nBased on datatype BICFIDec2014Identifier: Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362: 2014 - \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".\n",
            "x-MXComponent" : "BICFIDec2014Identifier"
          },
          "clearing_system_identification" : {
            "maxLength" : 5,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a clearing system Clearing System Identification Code\nINFSC = Indian Financial System Code\nMICR = MICR (Magnetic Ink Character Recognition) code\nOr using an external code ExternalClearingSystemIdentification1Code published on ISO 20022.org.\n\nUSAGE RULE: NOT USED FOR INTERMEDIARY AGENTS\n\nBased on datatype Max5Text: Specifies a character string with a maximum length of 5 characters.\n",
            "x-MXComponent" : "Max5Text"
          },
          "clearing_system_member_identification" : {
            "maxLength" : 11,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a member of a clearing system.\nUSAGE RULE: NOT USED FOR INTERMEDIARY AGENTS\n\nFor IFSC, 11-character code\nFor MICR, 9-digit bank branch code\n\nIdentification of a member of a clearing system.\n\nECS/NECS: 22.2 Destination Sort Code\n9-digit MICR city-bank-branch code.\n\nNEFT: N06.5569 Beneficiary branch’s IFSC (Indian Financial System Code).\nMandatory, 4!a4!c[3!c]\n\nNACH: 23.16 Destination Bank IFSC / MICR / IIN\nMandatory, 11-character Destn Bank IFSC/MICR/IIN.\n\nNG-RTGS: For Participant, IFSC code to be keyed in. For Non- Participant (i.e. Participant who do not have IFSC code), Name and Other Identification to be keyed in.\n\nIFSC Code for financial institution is registered with RBI for NGRTGS, and consist of eleven (11) contiguous characters comprising the first four Components: INSTITUTION CODE, Fifth Character is ‘0’ and remaining 6 are Alphanumeric BRANCH CODE.\n\nBased on datatype Max11Text: Clearing System Member Identification.\n",
            "x-MXComponent" : "Max11Text"
          },
          "lei" : {
            "pattern" : "^[A-Z0-9]{18,18}[0-9]{2,2}$",
            "type" : "string",
            "description" : "Legal entity identifier of the financial institution.\n\nBased on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 \"Financial Services - Legal Entity Identifier (LEI)\".\n",
            "x-MXComponent" : "LEIIdentifier"
          }
        },
        "additionalProperties" : false,
        "description" : "Unique and unambiguous identification of a financial institution or a branch of a financial institution.",
        "x-MXComponent" : "BranchAndFinancialInstitutionIdentification17"
      },
      "BranchData7" : {
        "type" : "object",
        "properties" : {
          "identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique and unambiguous identification of a branch of a financial institution.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "lei" : {
            "pattern" : "^[A-Z0-9]{18,18}[0-9]{2,2}$",
            "type" : "string",
            "description" : "Legal entity identification for the branch of the financial institution.\n\nBased on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 \"Financial Services - Legal Entity Identifier (LEI)\".\n",
            "x-MXComponent" : "LEIIdentifier"
          },
          "name" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name by which an agent is known and which is usually used to identify that agent.\n\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "department" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a division of a large organisation or building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "sub_department" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a sub-division of a large organisation or building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "street_name" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of a street or thoroughfare.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "building_number" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Number that identifies the position of a building on a street.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "building_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the building or house.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "floor" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Floor or storey within a building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "post_box" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Numbered box in a post office, assigned to a person or organisation, where letters are kept until called for.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "room" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Building room number.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "post_code" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "town_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of a built-up area, with defined boundaries, and a local government.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "town_location_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specific location name within the town.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "district_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies a subdivision within a country sub-division.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "country_sub_division" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies a subdivision of a country such as state, region, county.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "country" : {
            "pattern" : "^[A-Z]{2,2}$",
            "type" : "string",
            "description" : "Nation with its own government.\n\n\nCode to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n",
            "x-MXComponent" : "CountryCode"
          },
          "address_line" : {
            "maxItems" : 7,
            "type" : "array",
            "description" : "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "items" : {
              "maxLength" : 70,
              "minLength" : 1,
              "type" : "string",
              "x-MXComponent" : "Max70Text"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Information that locates and identifies a specific branch of a financial institution.",
        "x-MXComponent" : "BranchData7"
      },
      "CardAggregated2" : {
        "type" : "object",
        "properties" : {
          "additional_service" : {
            "type" : "string",
            "description" : "Service in addition to the main service.\n\nService provided by the card payment transaction, in addition to the main service.\n\nCode Name Definition:\n*`AGGR` - Aggregation - Aggregation of low payments.\n*`DCCV` - DCC - Dynamic currency conversion (DCC).\n*`GRTT` - Gratuity - Card payment with gratuity.\n*`INSP` - Instalment - Instalment payment.\n*`LOYT` - Loyalty - Loyalty services.\n*`NRES` - NoShow - No show after reservation.\n*`PUCO` - PurchaseCorporate - Purchase and corporate data.\n*`RECP` - RecurringPayment - Recurring payment.\n*`SOAF` - SolicitedAvailableFunds - Solicited available funds.\n*`UNAF` - UnsolicitedAvailableFunds - Unsolicited available funds.\n*`VCAU` - VoiceAuthorisation - Voice authorisation.\n",
            "enum" : [ "AGGR", "DCCV", "GRTT", "INSP", "LOYT", "NRES", "PUCO", "RECP", "SOAF", "UNAF", "VCAU" ],
            "x-MXComponent" : "CardPaymentServiceType2Code"
          },
          "transaction_category" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.\n\nSpecifies the category of card transaction in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalCardTransactionCategory1Code"
          },
          "sale_reconciliation_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification of the sales reconciliation period between the acceptor and the acquirer. This identification might be linked to the identification of the settlement for further verification by the merchant.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "sequence_number_range" : {
            "$ref" : "#/components/schemas/CardSequenceNumberRange1"
          },
          "transaction_date_range" : {
            "$ref" : "#/components/schemas/DateOrDateTimePeriod1Choice"
          }
        },
        "additionalProperties" : false,
        "description" : "Globalised card transaction entry details.",
        "x-MXComponent" : "CardAggregated2"
      },
      "CardIndividualTransaction2" : {
        "type" : "object",
        "properties" : {
          "icc_related_data" : {
            "maxLength" : 1025,
            "minLength" : 1,
            "type" : "string",
            "description" : "Data related to an integrated circuit card application.\n\nBased on datatype Max1025Text: Specifies a character string with a maximum length of 1025 characters.\n",
            "x-MXComponent" : "Max1025Text"
          },
          "payment_context" : {
            "$ref" : "#/components/schemas/PaymentContext3"
          },
          "additional_service" : {
            "type" : "string",
            "description" : "Service in addition to the main service.\n\nService provided by the card payment transaction, in addition to the main service.\n\nCode Name Definition:\n*`AGGR` - Aggregation - Aggregation of low payments.\n*`DCCV` - DCC - Dynamic currency conversion (DCC).\n*`GRTT` - Gratuity - Card payment with gratuity.\n*`INSP` - Instalment - Instalment payment.\n*`LOYT` - Loyalty - Loyalty services.\n*`NRES` - NoShow - No show after reservation.\n*`PUCO` - PurchaseCorporate - Purchase and corporate data.\n*`RECP` - RecurringPayment - Recurring payment.\n*`SOAF` - SolicitedAvailableFunds - Solicited available funds.\n*`UNAF` - UnsolicitedAvailableFunds - Unsolicited available funds.\n*`VCAU` - VoiceAuthorisation - Voice authorisation.\n",
            "enum" : [ "AGGR", "DCCV", "GRTT", "INSP", "LOYT", "NRES", "PUCO", "RECP", "SOAF", "UNAF", "VCAU" ],
            "x-MXComponent" : "CardPaymentServiceType2Code"
          },
          "transaction_category" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.\nThis element is also known as the MerchantCategoryCode.\n\nSpecifies the category of card transaction in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalCardTransactionCategory1Code"
          },
          "sale_reconciliation_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification of the sales reconciliation period between the acceptor and the acquirer. This identification might be linked to the identification of the settlement for further verification by the merchant.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "sale_reference_number" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique reference of the sales as provided by the merchant.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "re_presentment_reason" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Reason for representment of a card transaction.\n\nSpecifies the external representment reason code in the format of character string with a maximum length of 4 characters. The list of valid codes is an external code list published separately.\n",
            "x-MXComponent" : "ExternalRePresentmentReason1Code"
          },
          "sequence_number" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Sequential number of the card transaction, as assigned by the POI (Point of Interaction). \nUsage: The sequential number is increased incrementally for each transaction.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "transaction_identification" : {
            "$ref" : "#/components/schemas/TransactionIdentifier1"
          },
          "product" : {
            "$ref" : "#/components/schemas/Product2"
          },
          "validation_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date when the deposit was validated by the financial institution that collected the cash.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "validation_sequence_number" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Sequential number of the validation of the cash deposit.\nUsage: The sequential number is increased incrementally for each transaction.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Individual card transaction entry details.",
        "x-MXComponent" : "CardIndividualTransaction2"
      },
      "CardSecurityInformation1" : {
        "required" : [ "csc_management" ],
        "type" : "object",
        "properties" : {
          "csc_management" : {
            "type" : "string",
            "description" : "Card security code (CSC) management associated with the transaction.\n\nCSC (Card Security Code) management associated with the transaction.\n\nCode Name Definition:\n*`BYPS` - CSCByPass - Card security code by-passed or not provided by the merchant.\n*`NCSC` - NoCSC - No card security code imprint.\n*`PRST` - CSCPresent - Card security code present.\n*`UNRD` - CSCUnread - Card security code unreadable.\n",
            "enum" : [ "BYPS", "NCSC", "PRST", "UNRD" ],
            "x-MXComponent" : "CSCManagement1Code"
          },
          "csc_value" : {
            "pattern" : "^[0-9]{3,4}$",
            "type" : "string",
            "description" : "Card security code (CSC).\n\nBased on datatype Min3Max4NumericText: Specifies a numeric string with a minimum length of 3 digits, and a maximum length of 4 digits.\n",
            "x-MXComponent" : "Min3Max4NumericText"
          }
        },
        "additionalProperties" : false,
        "description" : "Card security code (CSC) associated with the card performing the transaction.",
        "x-MXComponent" : "CardSecurityInformation1"
      },
      "CardSequenceNumberRange1" : {
        "type" : "object",
        "properties" : {
          "first_transaction" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "CardSequenceNumberRange1: FirstTransactionSequenceNumberMessage element to be finalised once feedback from Card SEG has been received.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "last_transaction" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "CardSequenceNumberRange1: LastTransactionSequenceNumberMessage element to be finalised once feedback from Card SEG has been received.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Range of sequence numbers related to card transactions.",
        "x-MXComponent" : "CardSequenceNumberRange1"
      },
      "CardTransaction17" : {
        "type" : "object",
        "properties" : {
          "card" : {
            "$ref" : "#/components/schemas/PaymentCard4"
          },
          "poi" : {
            "$ref" : "#/components/schemas/PointOfInteraction1"
          },
          "transaction" : {
            "$ref" : "#/components/schemas/CardTransaction3Choice"
          },
          "pre_paid_account" : {
            "$ref" : "#/components/schemas/CashAccount38"
          }
        },
        "additionalProperties" : false,
        "description" : "Card transaction details.",
        "x-MXComponent" : "CardTransaction17"
      },
      "CardTransaction3Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Choice between an acquirer globalised card transaction or an individual card transaction.",
        "oneOf" : [ {
          "required" : [ "aggregated" ],
          "type" : "object",
          "properties" : {
            "aggregated" : {
              "$ref" : "#/components/schemas/CardAggregated2"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "individual" ],
          "type" : "object",
          "properties" : {
            "individual" : {
              "$ref" : "#/components/schemas/CardIndividualTransaction2"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "CardTransaction3Choice"
      },
      "CardholderAuthentication2" : {
        "required" : [ "authentication_entity", "authentication_method" ],
        "type" : "object",
        "properties" : {
          "authentication_method" : {
            "type" : "string",
            "description" : "Method used to authenticate the cardholder.\n\nMethod used to authenticate a cardholder.\n\nCode Name Definition:\n*`BYPS` - Bypass - Authentication bypassed by the merchant.\n*`CPSG` - SignatureCapture - Electronic signature capture (handwritten signature).\n*`FPIN` - OfflinePIN - Off-line PIN authentication (Personal Identification Number).\n*`MANU` - ManualVerification - Manual verification, for example passport or drivers license.\n*`MERC` - MerchantAuthentication - Merchant-related authentication.\n*`NPIN` - OnLinePIN - On-line PIN authentication (Personal Identification Number).\n*`PPSG` - PaperSignature - Handwritten paper signature.\n*`SCNL` - SecuredChannel - Channel-encrypted transaction.\n*`SCRT` - SecureCertificate - Electronic commerce transaction secured with the X.509 certificate of a customer.\n*`SNCT` - SecureNoCertificate - Secure electronic transaction without cardholder certificate.\n*`UKNW` - UnknownMethod - Authentication method is performed unknown.\n",
            "enum" : [ "BYPS", "CPSG", "FPIN", "MANU", "MERC", "NPIN", "PPSG", "SCNL", "SCRT", "SNCT", "UKNW" ],
            "x-MXComponent" : "AuthenticationMethod1Code"
          },
          "authentication_entity" : {
            "type" : "string",
            "description" : "Entity or object in charge of verifying the cardholder authenticity.\n\nEntity or object in charge of verifying the cardholder authenticity.\n\nCode Name Definition:\n*`AGNT` - AuthorisedAgent - Authorisation agent of the issuer.\n*`ICCD` - ICC - Application in the chip card (Integrated Circuit Card), for instance an offline PIN verification.\n*`MERC` - Merchant - Merchant (for example signature verification by the attendant).\n",
            "enum" : [ "AGNT", "ICCD", "MERC" ],
            "x-MXComponent" : "AuthenticationEntity1Code"
          }
        },
        "additionalProperties" : false,
        "description" : "Data related to the authentication of the cardholder.",
        "x-MXComponent" : "CardholderAuthentication2"
      },
      "CashAccount214" : {
        "required" : [ "currency", "identification" ],
        "type" : "object",
        "properties" : {
          "iban" : {
            "pattern" : "^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$",
            "type" : "string",
            "description" : "International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 \"Banking and related financial services - International Bank Account Number (IBAN)\" version 1997-10-01, or later revisions.\n\nUSAGE RULE: IBAN used only for cross-border payments\n\nBased on datatype IBAN2007Identifier: The International Bank Account Number is a code used internationally by financial institutions to uniquely identify the account of a customer at a financial institution as described in the 2007 edition of the ISO 13616 standard \"Banking and related financial services - International Bank Account Number (IBAN)\" and replaced by the more recent edition of the standard.\n",
            "x-MXComponent" : "IBAN2007Identifier"
          },
          "identification" : {
            "maxLength" : 34,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique and unambiguous identification for the account between the account owner and the account servicer.\n----------\nUsage: CGI-MP: Usage for cash management reporting, when an Entry has been posted to a Virtual Account, the Debtor Account or Creditor Account must be the Physical Account.\n\nIf Proxy is present and neither IBAN or other ID is available, then populate the other ID with \"PROXYREF\".\n----------\nUsage: India Market Practice:\n- NACH: 23.17 Beneficiary's Bank Account number\nMandatory, 35-character description.\n- NEFT: N061.6061 Beneficiary Customer Account Number\nMandatory, 35x\n-NG-RTGS: Creditor's Account Numer\nMandatory, Max34Text\n- ECS/NECS: 11.5 Destination Account Number\n15-character description.\n\nRequired for Foreign Remittances as well.\n----------\n\n\nBased on datatype Max34Text: Specifies a character string with a maximum length of 34 characters.\n",
            "x-MXComponent" : "Max34Text"
          },
          "type" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the nature, or use of the account.\nAvailable Codes:\nFirst priority code is an ExternalCashAccountType1Code as published on www.ISO.20022.org. \nAugust 2024 version lists the following code values:\nCACC - Current - Account used to post debits and credits when no specific account has been nominated.\nCARD - CardAccount - Account used for credit card payments.\nCASH - CashPayment - Account used for the payment of cash.\nCHAR - Charges - Account used for charges if different from the account for payment.\nCISH - CashIncome - Account used for payment of income if different from the current cash account\nCOMM - Commission - Account used for commission if different from the account for payment.\nCPAC - ClearingParticipantSettlementAccount - Account used to post settlement debit and credit entries on behalf of a designated Clearing Participant.\nLLSV - LimitedLiquiditySavingsAccount - Account used for savings with special interest and withdrawal terms.  \nLOAN - Loan - Account used for loans.\nMGLD - MarginalLending - Account used for a marginal lending facility.\nMOMA - MoneyMarket - Account used for money markets if different from the cash account.\nNREX - NonResidentExternal - Account used for non-resident external.\nODFT - Overdraft - Account is used for overdrafts.\nONDP - OverNightDeposit - Account used for overnight deposits.\nOTHR - OtherAccount - Account not otherwise specified. \nSACC - Settlement - Account used to post debit and credit entries, as a result of transactions cleared and settled through a specific clearing and settlement system.\nSLRY - Salary - Accounts used for salary payments.\nSVGS - Savings - Account used for savings.\nTAXE - Tax - Account used for taxes if different from the account for payment.\nTRAN - TransactingAccount - A transacting account is the most basic type of bank account that you can get. The main difference between transaction and cheque accounts is that you usually do not get a cheque book with your transacting account and neither are you offered an overdraft facility.\nTRAS - CashTrading - Account used for trading if different from the current cash account.\nVACC - VirtualAccount - Account created virtually to facilitate collection and reconciliation.\nNFCA - NonResidentForeignCurrencyAccount - Non-Resident Individual / Entity Foreign Current held domestically.\n\nMapping guidelines for local market practice codes.\nFor example, India specific codes:\nSVGS: 10 (Savings)                         \nCACC: 11 (Current)                                 \nCASH: 13 (Cash Credit)                                 \nLOAN: 14 (Loan)\nODFT: 12 (Overdraft)\nNREX: 40 (Non-Resident External Account)\nCARD: 52 (Card Payments)\n\nNACH: 23.3 Destination Account Type\nOptional, 2-digit code as provided by Bank - Needs to be as per NECS (10/11/12/29/30/31) or blank.\n\nECS/NECS: 11.3 Destination Account Type (S.B. account or Current account)\n2-digit code (10/11/12/29/30/31).\n\nNEFT: N06.6310 Beneficiary Customer Account Type\nOptional\n50 = Remittance for Customer not having account in bank\n51 = Indo Nepal Remittance\n\nNG-RTGS: To be used to accommodate NEFT Account type information. This is also useful to document NRE account type for the RTGS.\n\nBased on datatype Max4Text: Specifies a character string with a maximum length of 4 characters.\n",
            "x-MXComponent" : "Max4Text"
          },
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "description" : "Identification of the currency in which the account is held. \n\nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account.\n\nUSAGE RULE: NG-RTGS: For NG-RTGS, “INR” is the only currency that can be specified.\nUSAGE RULE: mandatory for creditor account and debtor account for payment instructions; not used for status reporting.\n\nA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "name" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.\n\nUsage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number.\n\n\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "proxy" : {
            "$ref" : "#/components/schemas/ProxyAccountIdentification1"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides the details to identify an account."
      },
      "CashAccount216" : {
        "required" : [ "currency", "servicer" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "$ref" : "#/components/schemas/AccountIdentification79Choice"
          },
          "type" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the nature, or use of the account.\n\nUsage: Available Codes: First priority code is an ExternalCashAccountType1Code as published on the ISO 20022 website as follows: \n\nCACC - Current - Account used to post debits and credits when no specific account has been nominated.\nCARD - CardAccount - Account used for credit card payments.\nCASH - CashPayment - Account used for the payment of cash.\nCHAR - Charges - Account used for charges if different from the account for payment.\nCISH - CashIncome - Account used for payment of income if different from the current cash account\nCOMM - Commission - Account used for commission if different from the account for payment.\nCPAC - ClearingParticipantSettlementAccount - Account used to post settlement debit and credit entries on behalf of a designated Clearing Participant.\nLLSV - LimitedLiquiditySavingsAccount - Account used for savings with special interest and withdrawal terms.  \nLOAN - Loan - Account used for loans.\nMGLD - MarginalLending - Account used for a marginal lending facility.\nMOMA - MoneyMarket - Account used for money markets if different from the cash account.\nNREX - NonResidentExternal - Account used for non-resident external.\nODFT - Overdraft - Account is used for overdrafts.\nONDP - OverNightDeposit - Account used for overnight deposits.\nOTHR - OtherAccount - Account not otherwise specified. \nSACC - Settlement - Account used to post debit and credit entries, as a result of transactions cleared and settled through a specific clearing and settlement system.\nSLRY - Salary - Accounts used for salary payments.\nSVGS - Savings - Account used for savings.\nTAXE - Tax - Account used for taxes if different from the account for payment.\nTRAN - TransactingAccount - A transacting account is the most basic type of bank account that you can get. The main difference between transaction and cheque accounts is that you usually do not get a cheque book with your transacting account and neither are you offered an overdraft facility.\nTRAS - CashTrading - Account used for trading if different from the current cash account.\nVACC - VirtualAccount - Account created virtually to facilitate collection and reconciliation.\nNFCA - NonResidentForeignCurrencyAccount - Non-Resident Individual / Entity Foreign Current held domestically.\n\nThe above codeset is available to download from the ISO20022.org external code list page:\nhttps://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets.\n----------\nUsage: India Market Practice:\nMapping guidelines for local market practice codes.\nFor example, India specific codes:\nSVGS: 10 (Savings)                         \nCACC: 11 (Current)                                 \nCASH: 13 (Cash Credit)                                 \nLOAN: 14 (Loan)\nODFT: 12 (Overdraft)\nNREX: 40 (Non-Resident External Account)\nCARD: 52 (Card Payments)\n----------\n\nSpecifies the nature, or use, of the cash account in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalCashAccountType1Code"
          },
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "description" : "Identification of the currency in which the account is held.\n\nA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "name" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.\n\nUsage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "proxy" : {
            "$ref" : "#/components/schemas/ProxyAccountIdentification1"
          },
          "owner" : {
            "$ref" : "#/components/schemas/PartyIdentification311"
          },
          "servicer" : {
            "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification15"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides the details to identify an account.",
        "x-MXComponent" : "CashAccount216"
      },
      "CashAccount38" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "$ref" : "#/components/schemas/AccountIdentification4Choice"
          },
          "type" : {
            "$ref" : "#/components/schemas/CashAccountType2Choice"
          },
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "description" : "Identification of the currency in which the account is held. \n\nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account.\n\nA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "name" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.\n\nUsage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "proxy" : {
            "$ref" : "#/components/schemas/ProxyAccountIdentification1"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides the details to identify an account.",
        "x-MXComponent" : "CashAccount38"
      },
      "CashAccountType2Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Nature or use of the account.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Account type, in a coded form.\n\nSpecifies the nature, or use, of the cash account in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalCashAccountType1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Nature or use of the account in a proprietary form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "CashAccountType2Choice"
      },
      "CashAvailability1" : {
        "required" : [ "amount", "credit_debit_indicator", "date" ],
        "type" : "object",
        "properties" : {
          "date" : {
            "$ref" : "#/components/schemas/CashAvailabilityDate1Choice"
          },
          "amount" : {
            "$ref" : "#/components/schemas/CashAvailability1_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the availability balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          }
        },
        "additionalProperties" : false,
        "description" : "Indicates when the amount of money will become available, that is can be accessed and start generating interest.",
        "x-MXComponent" : "CashAvailability1"
      },
      "CashAvailabilityDate1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Indicates when the amount of money will become available.",
        "oneOf" : [ {
          "required" : [ "number_of_days" ],
          "type" : "object",
          "properties" : {
            "number_of_days" : {
              "pattern" : "^[\\+]{0,1}[0-9]{1,15}$",
              "type" : "string",
              "description" : "Indicates the number of float days attached to the balance.\n\nBased on datatype Max15PlusSignedNumericText: Specifies a numeric string with a maximum length of 15 digits and may be prefixed with a plus sign.\n",
              "x-MXComponent" : "Max15PlusSignedNumericText"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "actual_date" ],
          "type" : "object",
          "properties" : {
            "actual_date" : {
              "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
              "type" : "string",
              "description" : "Identifies the actual availability date.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
              "x-MXComponent" : "ISODate"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "CashAvailabilityDate1Choice"
      },
      "CashBalance17" : {
        "required" : [ "amount", "balance_type", "credit_debit_indicator", "date" ],
        "type" : "object",
        "properties" : {
          "balance_type" : {
            "type" : "string",
            "description" : "Specifies the nature of a balance.\n----------\nUsage: CGI-MP: Mandatory Codes to implement: \nCLBD: Closing Booked\nOPBD: Opening Booked \n\nUsage: CGI-MP: Bilaterally Agreed Code usage:\nCLAV: Closing Available\nFWAV: Forward Available\nOPAV: Opening Available\nPRCD: Previously Closed Booked\nXPCD: Expected.\n\nExample:  The Statement is for the bookings of September 1\n- The Opening Booked OPBD balance would have a date-attribute of September 1\n- The Previous Booked PRCD balance would have a date-attribute of August 31 (bilateral)\n----------\n\nSpecifies the balance type used in the account report.\n\nCode Name Definition:\n*`CLAV` - ClosingAvailable - Closing balance of amount of money that is at the disposal of the account owner on the date specified.\n*`CLBD` - ClosingBooked - Balance of the account at the end of the pre-agreed account reporting period. It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period.\n*`FWAV` - ForwardAvailable - Forward available balance of money that is at the disposal of the account owner on the date specified.\n*`OPAV` - OpeningAvailable - Opening balance of amount of money that is at the disposal of the account owner on the date specified.\n*`OPBD` - OpeningBooked - Book balance of the account at the beginning of the account reporting period. It always equals the closing book balance from the previous report.\n*`PRCD` - PreviouslyClosedBooked - Balance of the account at the previously closed account reporting period. The opening booked balance for the new period has to be equal to this balance. \n\nUsage: the previously booked closing balance should equal (inclusive date) the booked closing balance of the date it references and equal the actual booked opening balance of the current date.\n*`XPCD` - Expected - Balance, composed of booked entries and pending items known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted.\n",
            "enum" : [ "CLAV", "CLBD", "FWAV", "OPAV", "OPBD", "PRCD", "XPCD" ],
            "x-MXComponent" : "ReportBalanceType12Code"
          },
          "balance_sub_type" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the balance sub-type.\n----------\nUsage Rule: CGI-MP: Required Code for a multi-page statement or report.\nINTM = Interim\nUsed together with the opening (OPBD) and closing (CLBD) balance type codes incrementally carried forward from one page to the next in a multi-page statement or report.\n----------\n\nSubset of balance sub type codes as used in the statement.\n\nCode Name Definition:\n*`INTM` - Interim - Balance calculated in the course of the account servicer's business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified.\n",
            "enum" : [ "INTM" ],
            "x-MXComponent" : "StatementBalanceSubType16Code"
          },
          "credit_line" : {
            "type" : "array",
            "description" : "Set of elements used to provide details on the credit line.\n----------\nUsage: CGI-MP: For cash management reporting, may be used to report the available overdraft facility as part of the overall balance. \nE.g., available GBP 1,000 credit balance and GBP 10,000 overdraft, the overall balance can be reflected as GBP 11,000\n----------\n",
            "items" : {
              "$ref" : "#/components/schemas/CreditLine5"
            }
          },
          "amount" : {
            "$ref" : "#/components/schemas/CashBalance17_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          },
          "date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Indicates the date of the balance.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "availability" : {
            "type" : "array",
            "description" : "Set of elements used to indicate when the booked amount of money will become available, that is can be accessed and starts generating interest. \n\nUsage: This type of information is used in the US and is linked to particular instruments such as cheques.\nExample: When a cheque is deposited, it will be booked on the deposit day, but the amount of money will only be accessible as of the indicated availability day (according to national banking regulations).\n\nISO 20022: If Type is equal to ForwardAvailable, Availability is not allowed.\n",
            "items" : {
              "$ref" : "#/components/schemas/CashAvailability1"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to define the balance details."
      },
      "CashBalance18" : {
        "required" : [ "amount", "balance_type", "credit_debit_indicator", "date" ],
        "type" : "object",
        "properties" : {
          "balance_type" : {
            "type" : "string",
            "description" : "Specifies the nature of a balance.\n----------\nUsage: CGI-MP: Bilaterally Agreed Code usage:\nCLAV: Closing Available: When reported, the Closing Available Balance should only be sent on the last report of the report-date.  \n\nCLBD: Closing Booked: When reported, the Closing Booked Balance should only be sent on the last report of the report-date.  \n\nOPBD: Opening Booked: When reported, it will report the Booked Balance for the Report-Date. The Opening Booked Balance may be present in the first account report of the report-date and omitted in subsequent reports for that report-date.\n\nOPAV: Opening Available: When reported, it will report the Opening Available Balance for the Report-Date.  The Opening Available Balance may be present in the first account report of the report-date and omitted in subsequent reports for that report-date.\n\nPRCD: Previously Closed Booked: When reported, it will report the Booked Balance for the business-date prior to the Report-Date.  The Previous Closing Booked Balance may be present in the first account report of the report-date and omitted in subsequent reports for that report-date.\n\nFWAV: Forward Available\nXPCD: Expected.\n----------\n\n\nSpecifies the balance type used in the account report.\n\nCode Name Definition:\n*`CLAV` - ClosingAvailable - Closing balance of amount of money that is at the disposal of the account owner on the date specified.\n*`CLBD` - ClosingBooked - Balance of the account at the end of the pre-agreed account reporting period. It is the sum of the opening booked balance at the beginning of the period and all entries booked to the account during the pre-agreed account reporting period.\n*`FWAV` - ForwardAvailable - Forward available balance of money that is at the disposal of the account owner on the date specified.\n*`ITAV` - InterimAvailable - Available balance calculated in the course of the account servicer's business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified.\n*`ITBD` - InterimBooked - Balance calculated in the course of the account servicer's business day, at the time specified, and subject to further changes during the business day. The interim balance is calculated on the basis of booked credit and debit items during the calculation time/period specified.\n*`OPAV` - OpeningAvailable - Opening balance of amount of money that is at the disposal of the account owner on the date specified.\n*`OPBD` - OpeningBooked - Book balance of the account at the beginning of the account reporting period. It always equals the closing book balance from the previous report.\n*`PRCD` - PreviouslyClosedBooked - Balance of the account at the previously closed account reporting period. The opening booked balance for the new period has to be equal to this balance. \n\nUsage: the previously booked closing balance should equal (inclusive date) the booked closing balance of the date it references and equal the actual booked opening balance of the current date.\n*`XPCD` - Expected - Balance, composed of booked entries and pending items known at the time of calculation, which projects the end of day balance if everything is booked on the account and no other entry is posted.\n",
            "enum" : [ "CLAV", "CLBD", "FWAV", "ITAV", "ITBD", "OPAV", "OPBD", "PRCD", "XPCD" ],
            "x-MXComponent" : "ReportBalanceType13Code"
          },
          "balance_sub_type" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the balance sub-type.\n----------\nUsage: CGI-MP: May be utilized to report Reserve Balances or other proprietary balance amounts.\n----------\n\nSpecifies the balance sub-type, as published in an external balance sub-type code list.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalBalanceSubType1Code"
          },
          "credit_line" : {
            "type" : "array",
            "description" : "Set of elements used to provide details on the credit line.",
            "items" : {
              "$ref" : "#/components/schemas/CreditLine5"
            }
          },
          "amount" : {
            "$ref" : "#/components/schemas/CashBalance17_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          },
          "date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Indicates the date (and time) of the balance.\n\nCGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "availability" : {
            "type" : "array",
            "description" : "Set of elements used to indicate when the booked amount of money will become available, that is can be accessed and starts generating interest. \n\nUsage: This type of information is used in the US and is linked to particular instruments such as cheques.\nExample: When a cheque is deposited, it will be booked on the deposit day, but the amount of money will only be accessible as of the indicated availability day (according to national banking regulations).\n\nISO Rule: If Type is equal to ForwardAvailable, Availability is not allowed.\n",
            "items" : {
              "$ref" : "#/components/schemas/CashAvailability1"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to define the balance details.",
        "x-MXComponent" : "CashBalance18"
      },
      "CashDeposit1" : {
        "required" : [ "amount", "note_denomination", "number_of_notes" ],
        "type" : "object",
        "properties" : {
          "note_denomination" : {
            "$ref" : "#/components/schemas/CashDeposit1_note_denomination"
          },
          "number_of_notes" : {
            "pattern" : "^[0-9]{1,15}$",
            "type" : "string",
            "description" : "Specifies the number of notes of the same denomination in the deposit.\n\nBased on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.\n",
            "x-MXComponent" : "Max15NumericText"
          },
          "amount" : {
            "$ref" : "#/components/schemas/CashDeposit1_amount"
          }
        },
        "additionalProperties" : false,
        "description" : "Deposit of an amount of money defined in cash notes and/or coins.",
        "x-MXComponent" : "CashDeposit1"
      },
      "CashManagementNotificationDataCGI2" : {
        "required" : [ "account", "creation_date_time", "electronic_sequence_number", "extended_account_identification", "from_date_time", "notification_entry", "notification_identification", "to_date_time", "transactions_summary" ],
        "type" : "object",
        "properties" : {
          "extended_account_identification" : {
            "maxLength" : 72,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification of the customer's account  as defined by the bank's server. \nUSAGE: this field is longer than the usual 34x for accounts, to allow for flexibility when the account id must be combined with other parameters such as a BIC, or a system id, to become a unique key field.\n\nBased on datatype Max72Text: Specifies a character string with a maximum length of 72 characters.\n",
            "x-MXComponent" : "Max72Text"
          },
          "notification_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Point to point reference, as assigned by the account servicing institution, and sent to the account owner or the party authorised to receive the API, to unambiguously identify the API.\n\nUsage: The account servicing institution has to make sure that BankToCustomerDebitCreditNotification is unique per account owner for a pre-agreed period.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "creation_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which the API was created.\n\nUsage Rule: CGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "recipient" : {
            "$ref" : "#/components/schemas/PartyIdentification310"
          },
          "from_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which the period starts for which the account statement is issued.\n\nCGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "to_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which the period ends for which the account statement is issued.\n\nCGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "additional_information" : {
            "maxLength" : 500,
            "minLength" : 1,
            "type" : "string",
            "description" : "Further details of the notification.\n\nUsage Rule: CGI-MP: may be used to indicate a particular type of notification, recognizing all transactions within the notification belong to the type indicated below:\n/LBOX/ Lock Box\n/BULK/ Bulk reporting (batch transaction with underlying transaction)\n/RTRN/ Return report\n/CRED/ Notification with Credit entries ONLY.\n\nBased on datatype Max500Text: Specifies a character string with a maximum length of 500 characters.\n",
            "x-MXComponent" : "Max500Text"
          },
          "electronic_sequence_number" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Sequential number of the statement, as assigned by the account servicer.\nUsage: The sequential number is increased incrementally for each statement sent electronically.\n\nUsage Rule: CGI-MP: For Copy, Copy Duplicate, or Duplicate reports, the electronic sequence and legal sequence must be the same as the original report.\n\nBased on datatype Number: Number of objects represented as an integer.\n",
            "x-MXComponent" : "Number"
          },
          "legal_sequence_number" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Legal sequential number of the statement, as assigned by the account servicer. It is increased incrementally for each statement sent.\n\nUsage: Where a paper statement is a legal requirement, it may have a number different from the electronic sequential number. Paper statements could for instance only be sent if movement on the account has taken place, whereas electronic statements could be sent at the end of each reporting period, regardless of whether movements have taken place or not.\n\nUsage Rule: CGI-MP: For Copy, Copy Duplicate, or Duplicate reports, the electronic sequence and legal sequence must be the same as the original report.\n\nBased on datatype Number: Number of objects represented as an integer.\n",
            "x-MXComponent" : "Number"
          },
          "copy_duplicate_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the document is a copy, a duplicate, or a duplicate of a copy.\n\nUsage Rule: CGI-MP: For Copy, Copy Duplicate, or Duplicate reports, the electronic sequence and legal sequence must be the same as the original report.\n\nSpecifies if this document is a copy, a duplicate, or a duplicate of a copy.\n\nCode Name Definition:\n*`CODU` - CopyDuplicate - Message is being sent as a copy to a party other than the account owner, for information purposes and the message is a duplicate of a message previously sent.\n*`COPY` - Copy - Message is being sent as a copy to a party other than the account owner, for information purposes.\n*`DUPL` - Duplicate - Message is for information/confirmation purposes. It is a duplicate of a message previously sent.\n",
            "enum" : [ "CODU", "COPY", "DUPL" ],
            "x-MXComponent" : "CopyDuplicate1Code"
          },
          "reporting_source" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the application used to generate the reporting.\n\nUsage Rule: CGI-MP: Allows the Account Servicer to define the source of the intraday account entry and or account balance report, typically associated with an application. [Populate with] the external Reporting Source code list. For example ACCT represents a statement or report based on accounting data, whereas DEPT represents a cash or deposit system. \nACCT Accounting\nARPF AccountReconciliationSystemFull\nARP AccountReconciliationSystemPartial\nCTDB ControlledDisbursementSystem\nCUST Custody\nDEPT DepositSystem\nDPCS DepositConcentrationSystem\nLKBX Lockbox\nRCPT Receipts\n\nFor the latest list, see: https://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets\n\nSpecifies the reporting source, as published in an external reporting source code list.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalReportingSource1Code"
          },
          "account" : {
            "$ref" : "#/components/schemas/CashAccount216"
          },
          "related_account" : {
            "$ref" : "#/components/schemas/CashAccount214"
          },
          "transactions_summary" : {
            "$ref" : "#/components/schemas/TotalTransactions7"
          },
          "notification_entry" : {
            "type" : "array",
            "description" : "Reports on BOOKED entries and balances for a cash account.",
            "items" : {
              "$ref" : "#/components/schemas/EntryData16"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Scope\nThe BankToCustomerDebitCreditNotificationCGIMP (\"API\") is sent by the account servicer to an account owner or to a party authorised by the account owner to receive the API. It can be used to inform the account owner, or authorised party, of single or multiple debit and/or credit entries reported to the account.\n\nUsage\nThe BankToCustomerDebitCreditNotificationCGIMP (\"API\") can contain reports for more than one account. It provides information for cash management and/or reconciliation.\nThe API can be used to:\n- report pending and booked items;\n- notify one or more debit entries;\n- notify one or more credit entries;\n- notify a combination of debit and credit entries.\nIt can include underlying details of transactions that have been included in the entry.\nIt is possible that the receiver of the API is not the account owner, but a party entitled by the account owner to receive the account information (also known as recipient).\nIt does not contain balance information.\n- The API is aligned with CGI-MP Common Global Implementation Market Practice (ISO 2019 version). \n",
        "x-MXComponent" : "CashManagementNotificationDataCGI2"
      },
      "CashManagementReportDataCGI2" : {
        "required" : [ "account", "creation_date_time", "electronic_sequence_number", "extended_account_identification", "from_date_time", "report_identification", "to_date_time", "transactions_summary" ],
        "type" : "object",
        "properties" : {
          "extended_account_identification" : {
            "maxLength" : 72,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification of the customer's account  as defined by the bank's server. \nUSAGE: this field is longer than the usual 34x for accounts, to allow for flexibility when the account id must be combined with other parameters such as a BIC, or a system id, to become a unique key field.\n\nBased on datatype Max72Text: Specifies a character string with a maximum length of 72 characters.\n",
            "x-MXComponent" : "Max72Text"
          },
          "report_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Point to point reference, as assigned by the account servicing institution, and sent to the account owner or the party authorised to receive the message, to unambiguously identify the message.\n\nUsage: The account servicing institution has to make sure that BankToCustomerAccountReportIdentification is unique per account owner for a pre-agreed period.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "creation_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which the API was created.\n\nUsage Rule: CGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "recipient" : {
            "$ref" : "#/components/schemas/PartyIdentification310"
          },
          "from_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which the period starts for which the account statement is issued.\n\nCGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "to_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which the period ends for which the account statement is issued.\n\nCGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "additional_information" : {
            "maxLength" : 500,
            "minLength" : 1,
            "type" : "string",
            "description" : "Further details of the account report.\n\nBased on datatype Max500Text: Specifies a character string with a maximum length of 500 characters.\n",
            "x-MXComponent" : "Max500Text"
          },
          "electronic_sequence_number" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Sequential number of the statement, as assigned by the account servicer.\nUsage: The sequential number is increased incrementally for each statement sent electronically.\n\nUsage Rule: CGI-MP: For Copy, Copy Duplicate, or Duplicate reports, the electronic sequence and legal sequence must be the same as the original report.\n\nBased on datatype Number: Number of objects represented as an integer.\n",
            "x-MXComponent" : "Number"
          },
          "legal_sequence_number" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Legal sequential number of the statement, as assigned by the account servicer. It is increased incrementally for each statement sent.\n\nUsage: Where a paper statement is a legal requirement, it may have a number different from the electronic sequential number. Paper statements could for instance only be sent if movement on the account has taken place, whereas electronic statements could be sent at the end of each reporting period, regardless of whether movements have taken place or not.\n\nUsage Rule: CGI-MP: For Copy, Copy Duplicate, or Duplicate reports, the electronic sequence and legal sequence must be the same as the original report.\n\nBased on datatype Number: Number of objects represented as an integer.\n",
            "x-MXComponent" : "Number"
          },
          "copy_duplicate_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the document is a copy, a duplicate, or a duplicate of a copy.\n\nUsage Rule: CGI-MP: For Copy, Copy Duplicate, or Duplicate reports, the electronic sequence and legal sequence must be the same as the original report.\n\nSpecifies if this document is a copy, a duplicate, or a duplicate of a copy.\n\nCode Name Definition:\n*`CODU` - CopyDuplicate - Message is being sent as a copy to a party other than the account owner, for information purposes and the message is a duplicate of a message previously sent.\n*`COPY` - Copy - Message is being sent as a copy to a party other than the account owner, for information purposes.\n*`DUPL` - Duplicate - Message is for information/confirmation purposes. It is a duplicate of a message previously sent.\n",
            "enum" : [ "CODU", "COPY", "DUPL" ],
            "x-MXComponent" : "CopyDuplicate1Code"
          },
          "reporting_source" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the application used to generate the reporting.\n\nUsage Rule: CGI-MP: Allows the Account Servicer to define the source of the intraday account entry and or account balance report, typically associated with an application. [Populate with] the external Reporting Source code list. For example ACCT represents a statement or report based on accounting data, whereas DEPT represents a cash or deposit system. \nACCT Accounting\nARPF AccountReconciliationSystemFull\nARP AccountReconciliationSystemPartial\nCTDB ControlledDisbursementSystem\nCUST Custody\nDEPT DepositSystem\nDPCS DepositConcentrationSystem\nLKBX Lockbox\nRCPT Receipts \n\nFor the latest list, see: https://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets\n\nSpecifies the reporting source, as published in an external reporting source code list.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalReportingSource1Code"
          },
          "account" : {
            "$ref" : "#/components/schemas/CashAccount216"
          },
          "related_account" : {
            "$ref" : "#/components/schemas/CashAccount214"
          },
          "balance" : {
            "type" : "array",
            "description" : "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account at a specific point in time.",
            "items" : {
              "$ref" : "#/components/schemas/CashBalance18"
            },
            "minItems" : 1
          },
          "transactions_summary" : {
            "$ref" : "#/components/schemas/TotalTransactions7"
          },
          "report_entry" : {
            "type" : "array",
            "description" : "Reports on a cash account.\n----------\nUsage: CGI-MP: Can be absent if there is no account movement.\n----------\n",
            "items" : {
              "$ref" : "#/components/schemas/EntryData17"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "TScope\nThe BankToCustomerAccountReportCGIMP (\"API\") is sent by the account servicer to an account owner or to a party authorised by the account owner to receive the API. It can be used to inform the account owner, or authorised party, of the entries reported to the account, and/or to provide the owner with balance information on the account at a given point in time.\n\nUsage\nThe BankToCustomerAccountReportCGIMP (\"API\") can contain reports for more than one account. It provides information for cash management and/or reconciliation. It can be used to:\n- report pending and booked items;\n- provide balance information.\nIt can include underlying details of transactions that have been included in the entry.\nIt is possible that the receiver of the API is not the account owner, but a party entitled by the account owner to receive the account information (also known as recipient).\nFor a statement, the BankToCustomerStatement API should be used.\n- The API is aligned with CGI-MP Common Global Implementation Market Practice (ISO 2019 version). \n",
        "x-MXComponent" : "CashManagementReportDataCGI2"
      },
      "CashManagementStatementDataCGI2" : {
        "required" : [ "account", "balance", "creation_date_time", "electronic_sequence_number", "extended_account_identification", "from_date_time", "statement_identification", "to_date_time", "transactions_summary" ],
        "type" : "object",
        "properties" : {
          "extended_account_identification" : {
            "maxLength" : 72,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification of the customer's account  as defined by the bank's server. \nUSAGE: this field is longer than the usual 34x for accounts, to allow for flexibility when the account id must be combined with other parameters such as a BIC, or a system id, to become a unique key field.\n\nBased on datatype Max72Text: Specifies a character string with a maximum length of 72 characters.\n",
            "x-MXComponent" : "Max72Text"
          },
          "statement_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Point to point reference, as assigned by the account servicing institution, and sent to the account owner or the party authorised to receive the message, to unambiguously identify the message.\n\nUsage: The account servicing institution has to make sure that BankToCustomerStatementIdentification is unique per account owner for a pre-agreed period.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "creation_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which the API was created.\n----------\nUsage Rule: CGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n----------\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "recipient" : {
            "$ref" : "#/components/schemas/PartyIdentification310"
          },
          "from_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which the period starts for which the account statement is issued.\n----------\nUsage Rule: CGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n\nIf an Account Servicer is unable to provide a FrDtTm value, the FrDtTm value should equal the ToDtTm value.\n----------\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "to_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which the period ends for which the account statement is issued.\n----------\nUsage Rule: CGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n----------\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "statement_period" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specify various end of cycle statement reporting (statement periods)\n----------\n\nUsage: CGI-MP: When a statements is used for end of cycle statement reporting, the following codes may be used to indicate cycle type. Where this is used, all transactions must be related to that cycle. \n\nEODY - for End of Day - Daily Statement \n\nEOWK - for End of Week - Weekly Statement \n\nEOMH - for End of Month - Monthly Statement \n\nEOYR - for End of Year - Yearly Statement\n----------\n\nSpecify various end of cycle statement reporting (statement periods).\nWhere these codewords are used, all statements within the message are of the same type:\n/EODY/  for End of Day - Daily Statement\n/EOWK/ for End of Week - Weekly Statement\n/EOMH/ for End of Month - Monthly Statement\n/EOYR/ for End of Year - Yearly Statement\n\nCode Name Definition:\n*`EODY` - DailyStatement - End of Day - Daily Statement.\n*`EOMH` - MonthlyStatement - End of Month - Monthly Statement.\n*`EOWK` - WeeklyStatement - End of Week - Weekly Statement.\n*`EOYR` - YearlyStatement - End of Year - Yearly Statement.\n",
            "enum" : [ "EODY", "EOMH", "EOWK", "EOYR" ],
            "x-MXComponent" : "StatementPeriod1Code"
          },
          "additional_information" : {
            "maxLength" : 500,
            "minLength" : 1,
            "type" : "string",
            "description" : "Further details of the statement.\n----------\nUsage: CGI-MP: Other information may be present as bilaterally determined\n----------\n\nBased on datatype Max500Text: Specifies a character string with a maximum length of 500 characters.\n",
            "x-MXComponent" : "Max500Text"
          },
          "electronic_sequence_number" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Sequential number of the statement, as assigned by the account servicer.\nUsage: The sequential number is increased incrementally for each statement sent electronically.\n----------\nUsage Rule: CGI-MP: For Copy, Copy Duplicate, or Duplicate reports, the electronic sequence and legal sequence must be the same as the original report.\n----------\n\nBased on datatype Number: Number of objects represented as an integer.\n",
            "x-MXComponent" : "Number"
          },
          "legal_sequence_number" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Legal sequential number of the statement, as assigned by the account servicer. It is increased incrementally for each statement sent.\n\nUsage: Where a paper statement is a legal requirement, it may have a number different from the electronic sequential number. Paper statements could for instance only be sent if movement on the account has taken place, whereas electronic statements could be sent at the end of each reporting period, regardless of whether movements have taken place or not.\n----------\nUsage Rule: CGI-MP: For Copy, Copy Duplicate, or Duplicate reports, the electronic sequence and legal sequence must be the same as the original report.\n----------\n\nBased on datatype Number: Number of objects represented as an integer.\n",
            "x-MXComponent" : "Number"
          },
          "copy_duplicate_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the document is a copy, a duplicate, or a duplicate of a copy.\n----------\nUsage Rule: CGI-MP: For Copy, Copy Duplicate, or Duplicate reports, the electronic sequence and legal sequence must be the same as the original report.\n----------\n\nSpecifies if this document is a copy, a duplicate, or a duplicate of a copy.\n\nCode Name Definition:\n*`CODU` - CopyDuplicate - Message is being sent as a copy to a party other than the account owner, for information purposes and the message is a duplicate of a message previously sent.\n*`COPY` - Copy - Message is being sent as a copy to a party other than the account owner, for information purposes.\n*`DUPL` - Duplicate - Message is for information/confirmation purposes. It is a duplicate of a message previously sent.\n",
            "enum" : [ "CODU", "COPY", "DUPL" ],
            "x-MXComponent" : "CopyDuplicate1Code"
          },
          "reporting_source" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the application used to generate the reporting.\n----------\nUsage Rule: CGI-MP: Allows the Account Servicer to define the source of the intraday account entry and or account balance report, typically associated with an application. [Populate with] the external Reporting Source code list. For example ACCT represents a statement or report based on accounting data, whereas DEPT represents a cash or deposit system:\n\nACCT Accounting\nARPF AccountReconciliationSystemFull\nARP AccountReconciliationSystemPartial\nCTDB ControlledDisbursementSystem\nCUST Custody\nDEPT DepositSystem\nDPCS DepositConcentrationSystem\nLKBX Lockbox\nRCPT Receipts \n\nFor the latest list, see: https://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets\n----------\n\nSpecifies the reporting source, as published in an external reporting source code list.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalReportingSource1Code"
          },
          "account" : {
            "$ref" : "#/components/schemas/CashAccount216"
          },
          "related_account" : {
            "$ref" : "#/components/schemas/CashAccount214"
          },
          "balance" : {
            "type" : "array",
            "description" : "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account at a specific point in time.",
            "items" : {
              "$ref" : "#/components/schemas/CashBalance17"
            }
          },
          "transactions_summary" : {
            "$ref" : "#/components/schemas/TotalTransactions7"
          },
          "statement_entry" : {
            "type" : "array",
            "description" : "Reports on BOOKED entries and balances for a cash account.\n----------\nUsage: CGI-MP: Can be absent if there is no account movement.\n----------\n",
            "items" : {
              "$ref" : "#/components/schemas/EntryData16"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Scope\nThe BankToCustomerStatementCGIMP (\"API\") is sent by the account servicer to an account owner or to a party authorised by the account owner to receive the API. It is used to inform the account owner, or authorised party, of the entries booked to the account, and to provide the owner with balance information on the account at a given point in time.\n\nUsage\nThe BankToCustomerStatementCGIMP (\"API\") can contain reports for more than one account. It provides information for cash management and/or reconciliation.\nIt contains information on booked entries only.\nIt can include underlying details of transactions that have been included in the entry.\nThe API is exchanged as defined between the account servicer and the account owner. It provides information on items that have been booked to the account and also balance information. Depending on services and schedule agreed between banks and their customers, statements may be generated and exchanged accordingly, for example for intraday or prior day periods.\nIt is possible that the receiver of the API is not the account owner, but a party entitled through arrangement with the account owner to receive the account information (also known as recipient).\n- The API is aligned with CGI-MP Common Global Implementation Market Practice (ISO 2019 version). \n",
        "x-MXComponent" : "CashManagementStatementDataCGI2"
      },
      "ChargeType3Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the charge type.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Charge type, in a coded form.\n\nSpecifies the nature, or use, of the charges in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalChargeType1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "$ref" : "#/components/schemas/GenericIdentification3"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "ChargeType3Choice"
      },
      "Charges18" : {
        "type" : "object",
        "properties" : {
          "total_charges_and_tax_amount" : {
            "$ref" : "#/components/schemas/Charges18_total_charges_and_tax_amount"
          },
          "record" : {
            "type" : "array",
            "description" : "Provides details of the individual charges record.",
            "items" : {
              "$ref" : "#/components/schemas/ChargesRecord13"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Provides further details on the charges related to the payment transaction.",
        "x-MXComponent" : "Charges18"
      },
      "Charges19" : {
        "type" : "object",
        "properties" : {
          "total_charges_and_tax_amount" : {
            "$ref" : "#/components/schemas/Charges18_total_charges_and_tax_amount"
          },
          "record" : {
            "type" : "array",
            "description" : "Provides details of the individual charges record.",
            "items" : {
              "$ref" : "#/components/schemas/ChargesRecord19"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Provides further details on the charges related to the payment transaction.",
        "x-MXComponent" : "Charges19"
      },
      "ChargesRecord13" : {
        "required" : [ "amount", "credit_debit_indicator" ],
        "type" : "object",
        "properties" : {
          "amount" : {
            "$ref" : "#/components/schemas/ChargesRecord13_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the charges amount is a credit or a debit amount. \nUsage: A zero amount is considered to be a credit.\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          },
          "charge_included_indicator" : {
            "type" : "boolean",
            "description" : "Indicates whether the charge should be included in the amount or is added as pre-advice.\n\nBased on datatype ChargeIncludedIndicator: Indicates whether charges have already been included.\n",
            "x-MXComponent" : "ChargeIncludedIndicator"
          },
          "type" : {
            "$ref" : "#/components/schemas/ChargeType3Choice"
          },
          "rate" : {
            "maxLength" : 12,
            "type" : "string",
            "description" : "Rate used to calculate the amount of the charge or fee.\n\nBased on datatype PercentageRate: Rate expressed as a percentage, that is, in hundredths, for example, 0.7 is 7/10 of a percent, and 7.0 is 7%.\n",
            "x-MXComponent" : "PercentageRate"
          },
          "bearer" : {
            "type" : "string",
            "description" : "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.\n----------\nUsage: CGI-MP: Recommended to always be provided when charges are reported.\n----------\n\nSpecifies which party(ies) will pay charges due for processing of the instruction.\n\nCode Name Definition:\n*`CRED` - BorneByCreditor - All transaction charges are to be borne by the creditor.\n*`DEBT` - BorneByDebtor - All transaction charges are to be borne by the debtor.\n*`SHAR` - Shared - In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor. In a direct debit context, means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor.\n*`SLEV` - FollowingServiceLevel - Charges are to be applied following the rules agreed in the service level and/or scheme.\n",
            "enum" : [ "CRED", "DEBT", "SHAR", "SLEV" ],
            "x-MXComponent" : "ChargeBearerType1Code"
          },
          "agent" : {
            "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification15"
          },
          "tax" : {
            "$ref" : "#/components/schemas/TaxCharges2"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides further individual record details on the charges related to the payment transaction.",
        "x-MXComponent" : "ChargesRecord13"
      },
      "ChargesRecord19" : {
        "required" : [ "amount", "credit_debit_indicator" ],
        "type" : "object",
        "properties" : {
          "amount" : {
            "$ref" : "#/components/schemas/ChargesRecord13_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the charges amount is a credit or a debit amount. \nUsage: A zero amount is considered to be a credit.\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          },
          "charge_included_indicator" : {
            "type" : "boolean",
            "description" : "Indicates whether the charge should be included in the amount or is added as pre-advice.\n----------\nUsage: CGI-MP: Not present = false\n----------\n\nBased on datatype ChargeIncludedIndicator: Indicates whether charges have already been included.\n",
            "x-MXComponent" : "ChargeIncludedIndicator"
          },
          "type" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the type of charge.\n\nSpecifies the nature, or use, of the charges in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalChargeType1Code"
          },
          "rate" : {
            "maxLength" : 12,
            "type" : "string",
            "description" : "Rate used to calculate the amount of the charge or fee.\n\nBased on datatype PercentageRate: Rate expressed as a percentage, that is, in hundredths, for example, 0.7 is 7/10 of a percent, and 7.0 is 7%.\n",
            "x-MXComponent" : "PercentageRate"
          },
          "bearer" : {
            "type" : "string",
            "description" : "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.\n\nSpecifies which party(ies) will pay charges due for processing of the instruction.\n\nCode Name Definition:\n*`CRED` - BorneByCreditor - All transaction charges are to be borne by the creditor.\n*`DEBT` - BorneByDebtor - All transaction charges are to be borne by the debtor.\n*`SHAR` - Shared - In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor. In a direct debit context, means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor.\n*`SLEV` - FollowingServiceLevel - Charges are to be applied following the rules agreed in the service level and/or scheme.\n",
            "enum" : [ "CRED", "DEBT", "SHAR", "SLEV" ],
            "x-MXComponent" : "ChargeBearerType1Code"
          },
          "agent" : {
            "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification17"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides further individual record details on the charges related to the payment transaction.",
        "x-MXComponent" : "ChargesRecord19"
      },
      "Contact18" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name by which a party is known and which is usually used to identify that party.\n----------\nUsage: CGI-MP: Used in cases where the Party is an Entity and individual serves as the contact. \nContact responsible for the administration of the file. \nThe Contact may be a technical contact or the primary consumer of the data.\n----------\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "phone_number" : {
            "pattern" : "^\\+[0-9]{1,3}-[0-9()+\\-]{1,30}$",
            "type" : "string",
            "description" : "Collection of information that identifies a phone number, as defined by telecom services.\n----------\nUsage: CGI-MP: Contact Details Phone Number, Mobile Number, and Email address are optional.  Phone and Mobile Numbers are both available as Phone Numbers may not be able to receive text messages/notifications.\n----------\n\nBased on datatype PhoneNumber: The collection of information which identifies a specific phone or FAX number as defined by telecom services.\nIt consists of a \"+\" followed by the country code (from 1 to 3 characters) then a \"-\" and finally, any combination of numbers, \"(\", \")\", \"+\" and \"-\" (up to 30 characters).\n",
            "x-MXComponent" : "PhoneNumber"
          },
          "mobile_number" : {
            "pattern" : "^\\+[0-9]{1,3}-[0-9()+\\-]{1,30}$",
            "type" : "string",
            "description" : "Collection of information that identifies a mobile phone number, as defined by telecom services.\n\nBased on datatype PhoneNumber: The collection of information which identifies a specific phone or FAX number as defined by telecom services.\nIt consists of a \"+\" followed by the country code (from 1 to 3 characters) then a \"-\" and finally, any combination of numbers, \"(\", \")\", \"+\" and \"-\" (up to 30 characters).\n",
            "x-MXComponent" : "PhoneNumber"
          },
          "email_address" : {
            "maxLength" : 2048,
            "minLength" : 1,
            "type" : "string",
            "description" : "Address for electronic mail (e-mail).\n\nBased on datatype Max2048Text: Specifies a character string with a maximum length of 2048 characters.\n",
            "x-MXComponent" : "Max2048Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the details of the contact person.",
        "x-MXComponent" : "Contact18"
      },
      "Contact4" : {
        "type" : "object",
        "properties" : {
          "name_prefix" : {
            "type" : "string",
            "description" : "Specifies the terms used to formally address a person.\n\nSpecifies the terms used to formally address a person.\n\nCode Name Definition:\n*`DOCT` - Doctor - Title of the person is Doctor or Dr.\n*`MADM` - Madam - Title of the person is Madam.\n*`MIKS` - GenderNeutral - Title of the person is gender neutral (Mx).\n*`MISS` - Miss - Title of the person is Miss.\n*`MIST` - Mister - Title of the person is Mister or Mr.\n",
            "enum" : [ "DOCT", "MADM", "MIKS", "MISS", "MIST" ],
            "x-MXComponent" : "NamePrefix2Code"
          },
          "name" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name by which a party is known and which is usually used to identify that party.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "phone_number" : {
            "pattern" : "^\\+[0-9]{1,3}-[0-9()+\\-]{1,30}$",
            "type" : "string",
            "description" : "Collection of information that identifies a phone number, as defined by telecom services.\n\nBased on datatype PhoneNumber: The collection of information which identifies a specific phone or FAX number as defined by telecom services.\nIt consists of a \"+\" followed by the country code (from 1 to 3 characters) then a \"-\" and finally, any combination of numbers, \"(\", \")\", \"+\" and \"-\" (up to 30 characters).\n",
            "x-MXComponent" : "PhoneNumber"
          },
          "mobile_number" : {
            "pattern" : "^\\+[0-9]{1,3}-[0-9()+\\-]{1,30}$",
            "type" : "string",
            "description" : "Collection of information that identifies a mobile phone number, as defined by telecom services.\n\nBased on datatype PhoneNumber: The collection of information which identifies a specific phone or FAX number as defined by telecom services.\nIt consists of a \"+\" followed by the country code (from 1 to 3 characters) then a \"-\" and finally, any combination of numbers, \"(\", \")\", \"+\" and \"-\" (up to 30 characters).\n",
            "x-MXComponent" : "PhoneNumber"
          },
          "fax_number" : {
            "pattern" : "^\\+[0-9]{1,3}-[0-9()+\\-]{1,30}$",
            "type" : "string",
            "description" : "Collection of information that identifies a FAX number, as defined by telecom services.\n\nBased on datatype PhoneNumber: The collection of information which identifies a specific phone or FAX number as defined by telecom services.\nIt consists of a \"+\" followed by the country code (from 1 to 3 characters) then a \"-\" and finally, any combination of numbers, \"(\", \")\", \"+\" and \"-\" (up to 30 characters).\n",
            "x-MXComponent" : "PhoneNumber"
          },
          "email_address" : {
            "maxLength" : 2048,
            "minLength" : 1,
            "type" : "string",
            "description" : "Address for electronic mail (e-mail).\n\nBased on datatype Max2048Text: Specifies a character string with a maximum length of 2048 characters.\n",
            "x-MXComponent" : "Max2048Text"
          },
          "email_purpose" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Purpose for which an email address may be used.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "job_title" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Title of the function.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "responsibility" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Role of a person in an organisation.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "department" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a division of a large organisation or building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "other" : {
            "type" : "array",
            "description" : "Contact details in another form.",
            "items" : {
              "$ref" : "#/components/schemas/OtherContact1"
            }
          },
          "preferred_method" : {
            "type" : "string",
            "description" : "Preferred method used to reach the contact.\n\nPreferred method used to reach the individual contact within an organisation.\n\nCode Name Definition:\n*`CELL` - MobileOrCellPhone - Preferred method used to reach the contact is per mobile or cell phone.\n*`FAXX` - Fax - Preferred method used to reach the contact is per fax.\n*`LETT` - Letter - Preferred method used to reach the contact is per letter.\n*`MAIL` - Email - Preferred method used to reach the contact is per email.\n*`PHON` - Phone - Preferred method used to reach the contact is per phone.\n",
            "enum" : [ "CELL", "FAXX", "LETT", "MAIL", "PHON" ],
            "x-MXComponent" : "PreferredContactMethod1Code"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the details of the contact person.",
        "x-MXComponent" : "Contact4"
      },
      "CreditLine5" : {
        "required" : [ "included" ],
        "type" : "object",
        "properties" : {
          "included" : {
            "type" : "boolean",
            "description" : "Indicates whether or not the credit line is included in the balance.\n\nBased on datatype TrueFalseIndicator: A flag indicating a True or False value.\n",
            "x-MXComponent" : "TrueFalseIndicator"
          },
          "type" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Type of the credit line provided when multiple credit lines may be provided.\n\nSpecifies the external credit line type code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code set published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalCreditLineType1Code"
          },
          "amount" : {
            "$ref" : "#/components/schemas/CreditLine5_amount"
          },
          "date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date of the credit line provided when multiple credit lines may be provided.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to provide details of the credit line.",
        "x-MXComponent" : "CreditLine5"
      },
      "CreditorReferenceInformation5" : {
        "required" : [ "reference" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/CreditorReferenceType1Choice"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Entity that assigns the credit reference type.\n----------\nUsage: CGI-MP_IssuerRule: Value of 'ISO' reserved for ISO 11649 international creditor's reference.\n----------\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "reference" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\n\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\n\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Reference information provided by the creditor to allow the identification of the underlying documents.",
        "x-MXComponent" : "CreditorReferenceInformation5"
      },
      "CreditorReferenceType1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the type of document referred by the creditor.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "type" : "string",
              "description" : "Type of creditor reference, in a coded form.\n\nSpecifies a type of financial or commercial document.\n\nCode Name Definition:\n*`DISP` - DispatchAdvice - Document is a dispatch advice.\n*`FXDR` - ForeignExchangeDealReference - Document is a pre-agreed or pre-arranged foreign exchange transaction to which the payment transaction refers.\n*`PUOR` - PurchaseOrder - Document is a purchase order.\n*`RADM` - RemittanceAdviceMessage - Document is a remittance advice sent separately from the current transaction.\n*`RPIN` - RelatedPaymentInstruction - Document is a linked payment instruction to which the current payment instruction is related, for example, in a cover scenario.\n*`SCOR` - StructuredCommunicationReference - Document is a structured communication reference provided by the creditor to identify the referred transaction.\n",
              "enum" : [ "DISP", "FXDR", "PUOR", "RADM", "RPIN", "SCOR" ],
              "x-MXComponent" : "DocumentType3Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Creditor reference type, in a proprietary form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "CreditorReferenceType1Choice"
      },
      "CurrencyExchange27" : {
        "required" : [ "exchange_rate", "source_currency", "target_currency" ],
        "type" : "object",
        "properties" : {
          "source_currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "description" : "Currency from which an amount is to be converted in a currency conversion.\n----------\nUsage: CGI-MP: Original amount currency of the currency exchange made.\n----------\n\nA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "target_currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "description" : "Currency into which an amount is to be converted in a currency conversion.\n----------\nUsage: CGI-MP: Resulting currency of the currency exchange made.\n----------\n\nA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "unit_currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "description" : "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.\n----------\nUsage: CGI-MP: Define in which direction the exchange rate is calculated. Decided by the reporting bank or community practice.\n----------\n\nA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "exchange_rate" : {
            "maxLength" : 12,
            "type" : "string",
            "description" : "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\n----------\nUsage: CGI-MP: Given in direction of UnitCurrency and Quotation Currency like “EUR/USD exchange rate is 1.3 (USD per EUR), the price currency is USD and the unit currency is EUR.\n----------\n\nBased on datatype BaseOneRate: Rate expressed as a decimal, for example, 0.7 is 7/10 and 70%.\n",
            "x-MXComponent" : "BaseOneRate"
          },
          "contract_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification to unambiguously identify the foreign exchange contract.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "quotation_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which an exchange rate is quoted.\n----------\nUsage Rule: CGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n----------\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          }
        },
        "additionalProperties" : false,
        "description" : "Describes the details of the currency exchange.",
        "x-MXComponent" : "CurrencyExchange27"
      },
      "CurrencyExchange5" : {
        "required" : [ "exchange_rate", "source_currency" ],
        "type" : "object",
        "properties" : {
          "source_currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "description" : "Currency from which an amount is to be converted in a currency conversion.\n\nA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "target_currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "description" : "Currency into which an amount is to be converted in a currency conversion.\n\nA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "unit_currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "description" : "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.\n\nA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "exchange_rate" : {
            "maxLength" : 12,
            "type" : "string",
            "description" : "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\n\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).\n\nBased on datatype BaseOneRate: Rate expressed as a decimal, for example, 0.7 is 7/10 and 70%.\n",
            "x-MXComponent" : "BaseOneRate"
          },
          "contract_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification to unambiguously identify the foreign exchange contract.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "quotation_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which an exchange rate is quoted.\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to provide details of the currency exchange.",
        "x-MXComponent" : "CurrencyExchange5"
      },
      "DateAndPlaceOfBirth1" : {
        "required" : [ "birth_date", "city_of_birth", "country_of_birth" ],
        "type" : "object",
        "properties" : {
          "birth_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date on which a person is born.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "province_of_birth" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Province where a person was born.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "city_of_birth" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "City where a person was born.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "country_of_birth" : {
            "pattern" : "^[A-Z]{2,2}$",
            "type" : "string",
            "description" : "Country where a person was born.\n\nCode to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n",
            "x-MXComponent" : "CountryCode"
          }
        },
        "additionalProperties" : false,
        "description" : "Date and place of birth of a person.",
        "x-MXComponent" : "DateAndPlaceOfBirth1"
      },
      "DateOrDateTimePeriod1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Choice between a date or a date and time format for a period.",
        "oneOf" : [ {
          "required" : [ "date" ],
          "type" : "object",
          "properties" : {
            "date" : {
              "$ref" : "#/components/schemas/DatePeriod2"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "date_time" ],
          "type" : "object",
          "properties" : {
            "date_time" : {
              "$ref" : "#/components/schemas/DateTimePeriod1"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "DateOrDateTimePeriod1Choice"
      },
      "DatePeriod2" : {
        "required" : [ "from_date", "to_date" ],
        "type" : "object",
        "properties" : {
          "from_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Start date of the range.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "to_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "End date of the range.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          }
        },
        "additionalProperties" : false,
        "description" : "Range of time defined by a start date and an end date.",
        "x-MXComponent" : "DatePeriod2"
      },
      "DateTimePeriod1" : {
        "required" : [ "from_date_time", "to_date_time" ],
        "type" : "object",
        "properties" : {
          "from_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which the period starts.\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "to_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which the period ends.\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          }
        },
        "additionalProperties" : false,
        "description" : "Time span defined by a start date and time, and an end date and time.",
        "x-MXComponent" : "DateTimePeriod1"
      },
      "DiscountAmountAndType1" : {
        "required" : [ "amount" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/DiscountAmountType1Choice"
          },
          "amount" : {
            "$ref" : "#/components/schemas/DiscountAmountAndType1_amount"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the amount with a specific type.",
        "x-MXComponent" : "DiscountAmountAndType1"
      },
      "DiscountAmountType1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the amount type.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Specifies the amount type, in a coded form.\n\nSpecifies the nature, or use, of the amount in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalDiscountAmountType1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Specifies the amount type, in a free-text form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "DiscountAmountType1Choice"
      },
      "DisplayCapabilities1" : {
        "required" : [ "display_type", "line_width", "number_of_lines" ],
        "type" : "object",
        "properties" : {
          "display_type" : {
            "type" : "string",
            "description" : "Type of display (for example merchant or cardholder).\n\nType of interface to display a message.\n\nCode Name Definition:\n*`CDSP` - CardholderDisplay - Cardholder display or interface.\n*`MDSP` - MerchantDisplay - Merchant display or interface.\n",
            "enum" : [ "CDSP", "MDSP" ],
            "x-MXComponent" : "UserInterface2Code"
          },
          "number_of_lines" : {
            "pattern" : "^[0-9]{1,3}$",
            "type" : "string",
            "description" : "Number of lines of the display component.\n\nBased on datatype Max3NumericText: Specifies a numeric string with a maximum length of 3 digits.\n",
            "x-MXComponent" : "Max3NumericText"
          },
          "line_width" : {
            "pattern" : "^[0-9]{1,3}$",
            "type" : "string",
            "description" : "Number of columns of the display component.\n\nBased on datatype Max3NumericText: Specifies a numeric string with a maximum length of 3 digits.\n",
            "x-MXComponent" : "Max3NumericText"
          }
        },
        "additionalProperties" : false,
        "description" : "The capabilities of the display components performing the transaction.",
        "x-MXComponent" : "DisplayCapabilities1"
      },
      "DocumentAdjustment1" : {
        "required" : [ "amount" ],
        "type" : "object",
        "properties" : {
          "amount" : {
            "$ref" : "#/components/schemas/DocumentAdjustment1_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Specifies whether the adjustment must be subtracted or added to the total amount.\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          },
          "reason" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the reason for the adjustment.\n\nBased on datatype Max4Text: Specifies a character string with a maximum length of 4 characters.\n",
            "x-MXComponent" : "Max4Text"
          },
          "additional_information" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Provides further details on the document adjustment.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to provide information on the amount and reason of the document adjustment.",
        "x-MXComponent" : "DocumentAdjustment1"
      },
      "DocumentAdjustment4" : {
        "required" : [ "amount", "credit_debit_indicator" ],
        "type" : "object",
        "properties" : {
          "amount" : {
            "$ref" : "#/components/schemas/DocumentAdjustment1_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Specifies whether the adjustment must be subtracted or added to the total amount.\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          },
          "reason" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the reason for the adjustment.\n\nBased on datatype Max4Text: Specifies a character string with a maximum length of 4 characters.\n",
            "x-MXComponent" : "Max4Text"
          },
          "additional_information" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Provides further details on the document adjustment.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to provide information on the amount and reason of the document adjustment.",
        "x-MXComponent" : "DocumentAdjustment4"
      },
      "DocumentLineIdentification1" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/DocumentLineType1"
          },
          "number" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of the type specified for the referred document line.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "related_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date associated with the referred document line.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          }
        },
        "additionalProperties" : false,
        "description" : "Identifies the documents referred to in the remittance information.",
        "x-MXComponent" : "DocumentLineIdentification1"
      },
      "DocumentLineInformation1" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "type" : "array",
            "description" : "Provides identification of the document line.",
            "items" : {
              "$ref" : "#/components/schemas/DocumentLineIdentification1"
            }
          },
          "description" : {
            "maxLength" : 2048,
            "minLength" : 1,
            "type" : "string",
            "description" : "Description associated with the document line.\n\nBased on datatype Max2048Text: Specifies a character string with a maximum length of 2048 characters.\n",
            "x-MXComponent" : "Max2048Text"
          },
          "amount" : {
            "$ref" : "#/components/schemas/RemittanceAmount3"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides document line information.\n",
        "x-MXComponent" : "DocumentLineInformation1"
      },
      "DocumentLineType1" : {
        "required" : [ "code_or_proprietary" ],
        "type" : "object",
        "properties" : {
          "code_or_proprietary" : {
            "$ref" : "#/components/schemas/DocumentLineType1Choice"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of the issuer of the reference document line identificationtype.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the type of the document line identification.",
        "x-MXComponent" : "DocumentLineType1"
      },
      "DocumentLineType1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the type of the document line identification.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Line identification type in a coded form.\n\nSpecifies the document line type as published in an external document type code list.\n",
              "x-MXComponent" : "ExternalDocumentLineType1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Proprietary identification of the type of the remittance document.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "DocumentLineType1Choice"
      },
      "EntryData16" : {
        "required" : [ "amount", "bank_transaction_code", "booking_date", "credit_debit_indicator", "entry_reference", "value_date" ],
        "type" : "object",
        "properties" : {
          "entry_reference" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique reference for the entry.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "amount" : {
            "$ref" : "#/components/schemas/EntryData16_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the entry is a credit or a debit entry.\n----------\nUsage Rule: CGI-MP: Zero amount to be reported as a CREDIT.\n----------\n\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          },
          "reversal_indicator" : {
            "type" : "boolean",
            "description" : "Indicates whether or not the entry is the result of a reversal.\nUsage: This element should only be present if the entry is the result of a reversal.\nIf the CreditDebitIndicator is CRDT and ReversalIndicator is Yes, the original operation was a debit entry.\nIf the CreditDebitIndicator is DBIT and ReversalIndicator is Yes, the original operation was a credit entry.\n----------\nUsage Rule: CGI-MP: This element should only be present when the value is true (the booking is as a result of a payment return or reversal). When true, the Creditor and Debtor parties in are to be aligned with the original settlement APIs/messages.\n----------\n\nBased on datatype TrueFalseIndicator: A flag indicating a True or False value.\n",
            "x-MXComponent" : "TrueFalseIndicator"
          },
          "booking_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time when an entry is posted to an account on the account servicer's books.\n\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "value_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit entry.\nUsage: If entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "account_servicer_reference" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique reference as assigned by the account servicing institution to unambiguously identify the entry.\n----------\nUsage: CGI-MP: When the same booked entry is reported in the account report or notification, the Account Service reference should be the same as reported in the statement.   \n\nFor a single instance of transaction data, the Account Servicer reference to be reported at the transaction level. \n----------\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "availability" : {
            "type" : "array",
            "description" : "Indicates when the booked amount of money will become available, that is can be accessed and starts generating interest. \n\nUsage: This type of information is used in the US and is linked to particular instruments such as cheques.\nExample: When a cheque is deposited, it will be booked on the deposit day, but the amount of money will only be accessible as of the indicated availability day (according to national banking regulations).\n",
            "items" : {
              "$ref" : "#/components/schemas/CashAvailability1"
            }
          },
          "bank_transaction_code" : {
            "$ref" : "#/components/schemas/BankTransactionCodeStructure8"
          },
          "additional_information_indicator" : {
            "$ref" : "#/components/schemas/MessageIdentification2"
          },
          "charges" : {
            "$ref" : "#/components/schemas/Charges19"
          },
          "entry_data" : {
            "type" : "array",
            "description" : "Provides details on the entry.\n----------\nUsage: CGI-MP: May be ommited for settlements where Entry Details are not to be conveyed in the report.  For example, for payroll settlements where confidential information is not to be conveyed.\n----------\n",
            "items" : {
              "$ref" : "#/components/schemas/EntryDetails15"
            }
          },
          "additional_entry_information" : {
            "maxLength" : 500,
            "minLength" : 1,
            "type" : "string",
            "description" : "Further details of the entry.\n\nBased on datatype Max500Text: Specifies a character string with a maximum length of 500 characters.\n",
            "x-MXComponent" : "Max500Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides further details on an entry in the report.",
        "x-MXComponent" : "EntryData16"
      },
      "EntryData17" : {
        "required" : [ "amount", "bank_transaction_code", "booking_date", "credit_debit_indicator", "entry_reference", "status", "value_date" ],
        "type" : "object",
        "properties" : {
          "entry_reference" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique reference for the entry.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "amount" : {
            "$ref" : "#/components/schemas/EntryData16_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the entry is a credit or a debit entry.\n----------\nUsage Rule: CGI-MP: Zero amount to be reported as a CREDIT.\n----------\n\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          },
          "reversal_indicator" : {
            "type" : "boolean",
            "description" : "Indicates whether or not the entry is the result of a reversal.\nUsage: This element should only be present if the entry is the result of a reversal.\nIf the CreditDebitIndicator is CRDT and ReversalIndicator is Yes, the original operation was a debit entry.\nIf the CreditDebitIndicator is DBIT and ReversalIndicator is Yes, the original operation was a credit entry.\n----------\nUsage Rule: CGI-MP: This element should only be present when the value is true (the booking is as a result of a payment return or reversal). When true, the Creditor and Debtor parties in are to be aligned with the original settlement APIs/messages.\n----------\n\nBased on datatype TrueFalseIndicator: A flag indicating a True or False value.\n",
            "x-MXComponent" : "TrueFalseIndicator"
          },
          "status" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Status of an entry on the books of the account servicer.\n----------\nUsage: CGI-MP: Available Codes:\n-BOOK (Booked)\n-PDNG (Pending)\n-INFO (Information)\nRefer to ExternalEntryStatus1Code as published on www.ISO.20022.org. \n----------\n\nSpecifies the status of an entry on the books of the account servicer, as published in an external code set.\nExternal code sets can be downloaded from www.iso20022.org.\n",
            "x-MXComponent" : "ExternalEntryStatus1Code"
          },
          "booking_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time when an entry is posted to an account on the account servicer's books.\n\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "value_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit entry.\nUsage: If entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "account_servicer_reference" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique reference as assigned by the account servicing institution to unambiguously identify the entry.\n----------\nUsage: CGI-MP: When the same booked entry is reported in the account report or notification, the Account Service reference should be the same as reported in the statement.   \n\nFor a single instance of transaction data, the Account Servicer reference to be reported at the transaction level. \n----------\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "availability" : {
            "type" : "array",
            "description" : "Indicates when the booked amount of money will become available, that is can be accessed and starts generating interest. \n\nUsage: This type of information is used in the US and is linked to particular instruments such as cheques.\nExample: When a cheque is deposited, it will be booked on the deposit day, but the amount of money will only be accessible as of the indicated availability day (according to national banking regulations).\n",
            "items" : {
              "$ref" : "#/components/schemas/CashAvailability1"
            }
          },
          "bank_transaction_code" : {
            "$ref" : "#/components/schemas/BankTransactionCodeStructure8"
          },
          "additional_information_indicator" : {
            "$ref" : "#/components/schemas/MessageIdentification2"
          },
          "charges" : {
            "$ref" : "#/components/schemas/Charges19"
          },
          "entry_data" : {
            "type" : "array",
            "description" : "Provides details on the entry.",
            "items" : {
              "$ref" : "#/components/schemas/EntryDetails15"
            }
          },
          "additional_entry_information" : {
            "maxLength" : 500,
            "minLength" : 1,
            "type" : "string",
            "description" : "Further details of the entry.\n\nBased on datatype Max500Text: Specifies a character string with a maximum length of 500 characters.\n",
            "x-MXComponent" : "Max500Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies an entry in the report.\nUsage: At least one reference must be provided to identify the entry and its underlying transaction(s).\n\nUsage Rule: In case of a Payments R-transaction the creditor / debtor referenced of the original payment initiation messages is also used for reporting of the R-transaction. The original debtor/creditor in the reporting of R-Transactions is not inverted.\nFollowing elements all defined in the TransactionDetails in RelatedParties or RelatedAgents are impacted by this usage rule:\nCreditor, UltimateCreditor, CreditorAccount, CreditorAgent, Debtor, UltimateDebtor, DebtorAccount and DebtorAgent.\n",
        "x-MXComponent" : "EntryData17"
      },
      "EntryDetails15" : {
        "type" : "object",
        "properties" : {
          "batch" : {
            "$ref" : "#/components/schemas/BatchInformation3"
          },
          "transaction_data" : {
            "type" : "array",
            "description" : "Provides information on the underlying transaction(s).",
            "items" : {
              "$ref" : "#/components/schemas/TransactionData16"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Identifies the underlying transaction(s) and/or batched entries.",
        "x-MXComponent" : "EntryDetails15"
      },
      "FinancialIdentificationSchemeName1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Sets of elements to identify a name of the organisation identification scheme.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Name of the identification scheme, in a coded form as published in an external list.\n\nSpecifies the external financial institution identification scheme name code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalFinancialInstitutionIdentification1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Name of the identification scheme, in a free text form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "FinancialIdentificationSchemeName1Choice"
      },
      "FromToAmountRange1" : {
        "required" : [ "from_amount", "to_amount" ],
        "type" : "object",
        "properties" : {
          "from_amount" : {
            "$ref" : "#/components/schemas/AmountRangeBoundary1"
          },
          "to_amount" : {
            "$ref" : "#/components/schemas/AmountRangeBoundary1"
          }
        },
        "additionalProperties" : false,
        "description" : "Range of amount values.",
        "x-MXComponent" : "FromToAmountRange1"
      },
      "Garnishment3" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/GarnishmentType1"
          },
          "garnishee" : {
            "$ref" : "#/components/schemas/PartyIdentification135"
          },
          "garnishment_administrator" : {
            "$ref" : "#/components/schemas/PartyIdentification135"
          },
          "reference_number" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Reference information that is specific to the agency receiving the garnishment.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date of payment which garnishment was taken from.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "remitted_amount" : {
            "$ref" : "#/components/schemas/Garnishment3_remitted_amount"
          },
          "family_medical_insurance_indicator" : {
            "type" : "boolean",
            "description" : "Indicates if the person to whom the garnishment applies (that is, the ultimate debtor) has family medical insurance coverage available.\n\nBased on datatype TrueFalseIndicator: A flag indicating a True or False value.\n",
            "x-MXComponent" : "TrueFalseIndicator"
          },
          "employee_termination_indicator" : {
            "type" : "boolean",
            "description" : "Indicates if the employment of the person to whom the garnishment applies (that is, the ultimate debtor) has been terminated.\n\nBased on datatype TrueFalseIndicator: A flag indicating a True or False value.\n",
            "x-MXComponent" : "TrueFalseIndicator"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides remittance information about a payment for garnishment-related purposes.",
        "x-MXComponent" : "Garnishment3"
      },
      "GarnishmentType1" : {
        "required" : [ "code_or_proprietary" ],
        "type" : "object",
        "properties" : {
          "code_or_proprietary" : {
            "$ref" : "#/components/schemas/GarnishmentType1Choice"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of the issuer of the garnishment type.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the type of garnishment.",
        "x-MXComponent" : "GarnishmentType1"
      },
      "GarnishmentType1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the type of garnishment.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Garnishment type in a coded form.\nWould suggest this to be an External Code List to contain:\nGNCS    Garnishment from a third party payer for Child Support\nGNDP    Garnishment from a Direct Payer for Child Support\nGTPP     Garnishment from a third party payer to taxing agency.\n\nSpecifies the garnishment type as published in an external document type code list.\n",
              "x-MXComponent" : "ExternalGarnishmentType1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Proprietary identification of the type of garnishment.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "GarnishmentType1Choice"
      },
      "GenericAccountIdentification1" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "maxLength" : 34,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification assigned by an institution.\n\nBased on datatype Max34Text: Specifies a character string with a maximum length of 34 characters.\n",
            "x-MXComponent" : "Max34Text"
          },
          "scheme_name" : {
            "$ref" : "#/components/schemas/AccountSchemeName1Choice"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Entity that assigns the identification.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Information related to a generic account identification.",
        "x-MXComponent" : "GenericAccountIdentification1"
      },
      "GenericFinancialIdentification1" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique and unambiguous identification of a person.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "scheme_name" : {
            "$ref" : "#/components/schemas/FinancialIdentificationSchemeName1Choice"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Entity that assigns the identification.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Information related to an identification of a financial institution.",
        "x-MXComponent" : "GenericFinancialIdentification1"
      },
      "GenericIdentification1" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification assigned by an institution.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "scheme_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the identification scheme.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Entity that assigns the identification.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Information related to an identification, for example party identification or account identification.",
        "x-MXComponent" : "GenericIdentification1"
      },
      "GenericIdentification3" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name or number assigned by an entity to enable recognition of that entity, for example, account identifier.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Entity that assigns the identification.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Information related to an identification, for example, party identification or account identification.",
        "x-MXComponent" : "GenericIdentification3"
      },
      "GenericIdentification30" : {
        "required" : [ "identification", "issuer" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "pattern" : "^[a-zA-Z0-9]{4}$",
            "type" : "string",
            "description" : "Proprietary information, often a code, issued by the data source scheme issuer.\n\nBased on datatype Exact4AlphaNumericText: Specifies an alphanumeric string with a length of 4 characters.\n",
            "x-MXComponent" : "Exact4AlphaNumericText"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Entity that assigns the identification.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "scheme_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Short textual description of the scheme.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Information related to an identification, for example, party identification or account identification.",
        "x-MXComponent" : "GenericIdentification30"
      },
      "GenericIdentification32" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of the entity.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of identified entity.\n\nIdentification of the type of entity involved in a transaction.\n\nCode Name Definition:\n*`ACCP` - Acceptor - Card acceptor, party accepting the card and presenting transaction data to the acquirer.\n*`ACQR` - Acquirer - Entity acquiring card transactions.\n*`CISS` - CardIssuer - Party that issues cards.\n*`DLIS` - DelegateIssuer - Party to whom the card issuer delegates to authorise card payment transactions.\n*`ITAG` - IntermediaryAgent - Party acting on behalf of other parties to process or forward data to other parties.\n*`MERC` - Merchant - Merchant providing goods and service in the card payment transaction.\n*`OPOI` - OriginatingPOI - Point Of Interaction initiating the card payment transaction.\n",
            "enum" : [ "ACCP", "ACQR", "CISS", "DLIS", "ITAG", "MERC", "OPOI" ],
            "x-MXComponent" : "PartyType3Code"
          },
          "issuer" : {
            "type" : "string",
            "description" : "Entity assigning the identification (for example merchant, acceptor, acquirer, or tax authority).\n\nEntity assigning an identification (for example merchant, acceptor, acquirer, tax authority, etc.).\n\nCode Name Definition:\n*`ACCP` - Acceptor - Card acceptor, party accepting the card and presenting transaction data to the acquirer.\n*`ACQR` - Acquirer - Entity acquiring card transactions.\n*`CISS` - CardIssuer - Party that issues cards.\n*`ITAG` - IntermediaryAgent - Party acting on behalf of other parties to process or forward data to other parties.\n*`MERC` - Merchant - Merchant providing goods and service in the card payment transaction.\n*`TAXH` - TaxAuthority - Tax authority.\n",
            "enum" : [ "ACCP", "ACQR", "CISS", "ITAG", "MERC", "TAXH" ],
            "x-MXComponent" : "PartyType4Code"
          },
          "short_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the entity.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Identification of an entity.",
        "x-MXComponent" : "GenericIdentification32"
      },
      "GenericOrganisationIdentification1" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification assigned by an institution.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "scheme_name" : {
            "$ref" : "#/components/schemas/OrganisationIdentificationSchemeName1Choice"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Entity that assigns the identification.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Information related to an identification of an organisation.",
        "x-MXComponent" : "GenericOrganisationIdentification1"
      },
      "GenericOrganisationIdentification6" : {
        "type" : "object",
        "properties" : {
          "identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification assigned by an institution.\n----------\nUsage: India Market Practice:\nFor ECS/NECS, 7-digit NCC / CH user number\nFor NACH, 18-character user number allotted by NPCI.\n----------\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "scheme_name" : {
            "type" : "string",
            "description" : "Name of the identification scheme.\n----------\nUsage: CGI-MP: pain.002 Scheme Name Code: CUST = Customer Number\n----------\n\nOrganisation identification scheme code CUST for Customer Number.\n\nCode Name Definition:\n*`CUST` - CustomerNumber - Customer Number to identify the receiver of the cash management report.\n",
            "enum" : [ "CUST" ],
            "x-MXComponent" : "RestrictedOrganisationIdentification2Scheme1Code"
          }
        },
        "additionalProperties" : false,
        "description" : "Information related to an identification of an organisation.",
        "x-MXComponent" : "GenericOrganisationIdentification6"
      },
      "GenericPersonIdentification1" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique and unambiguous identification of a person.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "scheme_name" : {
            "$ref" : "#/components/schemas/PersonIdentificationSchemeName1Choice"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Entity that assigns the identification.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Information related to an identification of a person.",
        "x-MXComponent" : "GenericPersonIdentification1"
      },
      "ImpliedCurrencyAmountRange1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Choice between ranges of values in which an amount is considered valid or a specified amount value which has to be matched or unmatched to be valid.",
        "oneOf" : [ {
          "required" : [ "from_amount" ],
          "type" : "object",
          "properties" : {
            "from_amount" : {
              "$ref" : "#/components/schemas/AmountRangeBoundary1"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "to_amount" ],
          "type" : "object",
          "properties" : {
            "to_amount" : {
              "$ref" : "#/components/schemas/AmountRangeBoundary1"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "from_to_amount" ],
          "type" : "object",
          "properties" : {
            "from_to_amount" : {
              "$ref" : "#/components/schemas/FromToAmountRange1"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "equal_amount" ],
          "type" : "object",
          "properties" : {
            "equal_amount" : {
              "maxLength" : 18,
              "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
              "type" : "string",
              "description" : "Exact value an amount must match to be considered valid.\n\nBased on datatype ImpliedCurrencyAndAmount: Number of monetary units specified in a currency where the unit of currency is implied by the context and compliant with ISO 4217. The decimal separator is a dot.\nNote: a zero amount is considered a positive amount.\n",
              "x-MXComponent" : "ImpliedCurrencyAndAmount"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "not_equal_amount" ],
          "type" : "object",
          "properties" : {
            "not_equal_amount" : {
              "maxLength" : 18,
              "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
              "type" : "string",
              "description" : "Value that an amount must not match to be considered valid.\n\nBased on datatype ImpliedCurrencyAndAmount: Number of monetary units specified in a currency where the unit of currency is implied by the context and compliant with ISO 4217. The decimal separator is a dot.\nNote: a zero amount is considered a positive amount.\n",
              "x-MXComponent" : "ImpliedCurrencyAndAmount"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "ImpliedCurrencyAmountRange1Choice"
      },
      "InterestRecord2" : {
        "required" : [ "amount", "credit_debit_indicator" ],
        "type" : "object",
        "properties" : {
          "amount" : {
            "$ref" : "#/components/schemas/InterestRecord2_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the interest amount included in the entry is credit or debit amount.\nUsage: A zero amount is considered to be a credit.\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          },
          "type" : {
            "$ref" : "#/components/schemas/InterestType1Choice"
          },
          "rate" : {
            "$ref" : "#/components/schemas/Rate4"
          },
          "from_to_date" : {
            "$ref" : "#/components/schemas/DateTimePeriod1"
          },
          "reason" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the reason for the interest.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "tax" : {
            "$ref" : "#/components/schemas/TaxCharges2"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides transaction specific interest information that applies to the underlying transaction.",
        "x-MXComponent" : "InterestRecord2"
      },
      "InterestType1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Interest type is expressed as a code or a text.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "type" : "string",
              "description" : "Specifies the type of interest.\n\nIndicates which type of interest is applied to a balance left on an account.\n\nCode Name Definition:\n*`INDY` - IntraDay - During or within a business day.\n*`OVRN` - OverNight - Period of time between the end of a business day and the start of the next business day (usually the day after).\n",
              "enum" : [ "INDY", "OVRN" ],
              "x-MXComponent" : "InterestType1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Specifies the type of interest in uncoded form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "InterestType1Choice"
      },
      "LocalInstrument2Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Set of elements that further identifies the type of local instruments being requested by the initiating party.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Specifies the local instrument, as published in an external local instrument code list.\n\nSpecifies the external local instrument code in the format of character string with a maximum length of 35 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalLocalInstrument1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Specifies the local instrument, as a proprietary code.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "LocalInstrument2Choice"
      },
      "MessageIdentification2" : {
        "type" : "object",
        "properties" : {
          "message_name_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the message name identifier of the message that will be used to provide additional details.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "message_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the identification of the message that will be used to provide additional details.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements providing the identification of a message.",
        "x-MXComponent" : "MessageIdentification2"
      },
      "NameAndAddress21" : {
        "required" : [ "country", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name by which a party is known and is usually used to identify that party.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "department" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a division of a large organisation or building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "sub_department" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a sub-division of a large organisation or building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "street_name" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of a street or thoroughfare.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "building_number" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Number that identifies the position of a building on a street.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "building_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the building or house.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "floor" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Floor or storey within a building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "post_box" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Numbered box in a post office, assigned to a person or organisation, where letters are kept until called for.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "room" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Building room number.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "post_code" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "town_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of a built-up area, with defined boundaries, and a local government.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "town_location_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specific location name within the town.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "district_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies a subdivision within a country sub-division.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "country_sub_division" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies a subdivision of a country such as state, region, county.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "country" : {
            "pattern" : "^[A-Z]{2,2}$",
            "type" : "string",
            "description" : "Nation with its own government.\n\nCode to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n",
            "x-MXComponent" : "CountryCode"
          },
          "address_line" : {
            "maxItems" : 7,
            "type" : "array",
            "description" : "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "items" : {
              "maxLength" : 70,
              "minLength" : 1,
              "type" : "string",
              "x-MXComponent" : "Max70Text"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Information that locates and identifies a party.",
        "x-MXComponent" : "NameAndAddress21"
      },
      "OrganisationIdentification29" : {
        "type" : "object",
        "properties" : {
          "any_bic" : {
            "pattern" : "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$",
            "type" : "string",
            "description" : "Business identification code of the organisation.\n\nBased on datatype AnyBICDec2014Identifier: Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362: 2014 - \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".\n",
            "x-MXComponent" : "AnyBICDec2014Identifier"
          },
          "lei" : {
            "pattern" : "^[A-Z0-9]{18,18}[0-9]{2,2}$",
            "type" : "string",
            "description" : "Legal entity identification as an alternate identification for a party.\n\nBased on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 \"Financial Services - Legal Entity Identifier (LEI)\".\n",
            "x-MXComponent" : "LEIIdentifier"
          },
          "other" : {
            "type" : "array",
            "description" : "Unique identification of an organisation, as assigned by an institution, using an identification scheme.",
            "items" : {
              "$ref" : "#/components/schemas/GenericOrganisationIdentification1"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Unique and unambiguous way to identify an organisation.",
        "x-MXComponent" : "OrganisationIdentification29"
      },
      "OrganisationIdentification45" : {
        "type" : "object",
        "properties" : {
          "any_bic" : {
            "pattern" : "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$",
            "type" : "string",
            "description" : "Business identification code of the organisation.\n\n\n\nBased on datatype AnyBICDec2014Identifier: Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362: 2014 - \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".\n",
            "x-MXComponent" : "AnyBICDec2014Identifier"
          },
          "lei" : {
            "pattern" : "^[A-Z0-9]{18,18}[0-9]{2,2}$",
            "type" : "string",
            "description" : "Legal entity identification as an alternate identification for a party.\n\nBased on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 \"Financial Services - Legal Entity Identifier (LEI)\".\n",
            "x-MXComponent" : "LEIIdentifier"
          },
          "other" : {
            "maxItems" : 2,
            "type" : "array",
            "description" : "Unique identification of an organisation, as assigned by an institution, using an identification scheme.\n\nID for the Account Owner as assigned by the Reporting Agent.\n",
            "items" : {
              "$ref" : "#/components/schemas/GenericOrganisationIdentification6"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Unique and unambiguous way to identify an organisation.",
        "x-MXComponent" : "OrganisationIdentification45"
      },
      "OrganisationIdentification46" : {
        "type" : "object",
        "properties" : {
          "any_bic" : {
            "pattern" : "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$",
            "type" : "string",
            "description" : "Business identification code of the organisation.\n\n\n\nBased on datatype AnyBICDec2014Identifier: Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362: 2014 - \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".\n",
            "x-MXComponent" : "AnyBICDec2014Identifier"
          },
          "lei" : {
            "pattern" : "^[A-Z0-9]{18,18}[0-9]{2,2}$",
            "type" : "string",
            "description" : "Legal entity identification as an alternate identification for a party.\n\nBased on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 \"Financial Services - Legal Entity Identifier (LEI)\".\n",
            "x-MXComponent" : "LEIIdentifier"
          },
          "other" : {
            "$ref" : "#/components/schemas/GenericOrganisationIdentification6"
          }
        },
        "additionalProperties" : false,
        "description" : "Unique and unambiguous way to identify an organisation.",
        "x-MXComponent" : "OrganisationIdentification46"
      },
      "OrganisationIdentificationSchemeName1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Sets of elements to identify a name of the organisation identification scheme.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Name of the identification scheme, in a coded form as published in an external list.\n\nSpecifies the external organisation identification scheme name code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalOrganisationIdentification1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Name of the identification scheme, in a free text form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "OrganisationIdentificationSchemeName1Choice"
      },
      "OtherContact1" : {
        "required" : [ "channel_type" ],
        "type" : "object",
        "properties" : {
          "channel_type" : {
            "maxLength" : 4,
            "minLength" : 1,
            "type" : "string",
            "description" : "Method used to contact the financial institution’s contact for the specific tax region.\n\nBased on datatype Max4Text: Specifies a character string with a maximum length of 4 characters.\n",
            "x-MXComponent" : "Max4Text"
          },
          "identification" : {
            "maxLength" : 128,
            "minLength" : 1,
            "type" : "string",
            "description" : "Communication value such as phone number or email address.\n\nBased on datatype Max128Text: Specifies a character string with a maximum length of 128 characters.\n",
            "x-MXComponent" : "Max128Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Communication device number or electronic address used for communication.",
        "x-MXComponent" : "OtherContact1"
      },
      "Party38Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Nature or use of the account.",
        "oneOf" : [ {
          "required" : [ "organisation_identification" ],
          "type" : "object",
          "properties" : {
            "organisation_identification" : {
              "$ref" : "#/components/schemas/OrganisationIdentification29"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "private_identification" ],
          "type" : "object",
          "properties" : {
            "private_identification" : {
              "$ref" : "#/components/schemas/PersonIdentification13"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "Party38Choice"
      },
      "Party61Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Identification of a person, an organisation or a financial institution.",
        "oneOf" : [ {
          "required" : [ "party" ],
          "type" : "object",
          "properties" : {
            "party" : {
              "$ref" : "#/components/schemas/PartyIdentification311"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "agent" ],
          "type" : "object",
          "properties" : {
            "agent" : {
              "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification15"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "Party61Choice"
      },
      "PartyIdentification135" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name by which a party is known and which is usually used to identify that party.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "postal_address" : {
            "$ref" : "#/components/schemas/PostalAddress24"
          },
          "identification" : {
            "$ref" : "#/components/schemas/Party38Choice"
          },
          "country_of_residence" : {
            "pattern" : "^[A-Z]{2,2}$",
            "type" : "string",
            "description" : "Country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed.\n\nCode to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n",
            "x-MXComponent" : "CountryCode"
          },
          "contact_details" : {
            "$ref" : "#/components/schemas/Contact4"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the identification of a person or an organisation.",
        "x-MXComponent" : "PartyIdentification135"
      },
      "PartyIdentification310" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name by which a party is known and which is usually used to identify that party.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "identification" : {
            "$ref" : "#/components/schemas/OrganisationIdentification46"
          },
          "contact_details" : {
            "$ref" : "#/components/schemas/Contact18"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the identification of a person or an organisation.",
        "x-MXComponent" : "PartyIdentification310"
      },
      "PartyIdentification311" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name by which a party is known and which is usually used to identify that party.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "department" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a division of a large organisation or building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "sub_department" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a sub-division of a large organisation or building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "street_name" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of a street or thoroughfare.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "building_number" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Number that identifies the position of a building on a street.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "building_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the building or house.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "floor" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Floor or storey within a building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "post_box" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Numbered box in a post office, assigned to a person or organisation, where letters are kept until called for.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "room" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Building room number.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "post_code" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "town_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of a built-up area, with defined boundaries, and a local government.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "town_location_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specific location name within the town.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "district_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies a subdivision within a country sub-division.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "country_sub_division" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies a subdivision of a country such as state, region, county.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "country" : {
            "pattern" : "^[A-Z]{2,2}$",
            "type" : "string",
            "description" : "Nation with its own government.\n\nUsage Rule: mandatory for Debtor and Creditor in Payment Initiation.\n\nCode to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n",
            "x-MXComponent" : "CountryCode"
          },
          "address_line" : {
            "maxItems" : 3,
            "type" : "array",
            "description" : "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.\n\nNEFT: N06.5565 Beneficiary Customer Address\n4 * 35x\n\nNG-RTGS: Creditor/PostalAddress/AddressLine\n4 * Max70Text\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "items" : {
              "maxLength" : 70,
              "minLength" : 1,
              "type" : "string",
              "x-MXComponent" : "Max70Text"
            }
          },
          "organisation_identification" : {
            "$ref" : "#/components/schemas/OrganisationIdentification45"
          },
          "private_identification" : {
            "$ref" : "#/components/schemas/PersonIdentification16"
          },
          "country_of_residence" : {
            "pattern" : "^[A-Z]{2,2}$",
            "type" : "string",
            "description" : "Country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed.\n\nUsage Rule: not used for API Recipient, Account Owner and Agent identification.\n\nCode to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n",
            "x-MXComponent" : "CountryCode"
          },
          "contact_details" : {
            "$ref" : "#/components/schemas/Contact18"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the identification of a person or an organisation.",
        "x-MXComponent" : "PartyIdentification311"
      },
      "PaymentCard4" : {
        "type" : "object",
        "properties" : {
          "plain_card_data" : {
            "$ref" : "#/components/schemas/PlainCardData1"
          },
          "card_country_code" : {
            "pattern" : "^[0-9]{3}$",
            "type" : "string",
            "description" : "Country code assigned to the card by the card issuer.\n\nBased on datatype Exact3NumericText: Specifies a numeric string with an exact length of 3 digits.\n",
            "x-MXComponent" : "Exact3NumericText"
          },
          "card_brand" : {
            "$ref" : "#/components/schemas/GenericIdentification1"
          },
          "additional_card_data" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Additional card issuer specific data.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Electronic money product that provides the cardholder with a portable and specialised computer device, which typically contains a microprocessor.",
        "x-MXComponent" : "PaymentCard4"
      },
      "PaymentContext3" : {
        "required" : [ "card_data_entry_mode" ],
        "type" : "object",
        "properties" : {
          "card_present" : {
            "type" : "boolean",
            "description" : "Indicates whether the transaction has been initiated by a card physically present or not.\n\nBased on datatype TrueFalseIndicator: A flag indicating a True or False value.\n",
            "x-MXComponent" : "TrueFalseIndicator"
          },
          "cardholder_present" : {
            "type" : "boolean",
            "description" : "Indicates whether the transaction has been initiated in presence of the cardholder or not.\n\nBased on datatype TrueFalseIndicator: A flag indicating a True or False value.\n",
            "x-MXComponent" : "TrueFalseIndicator"
          },
          "on_line_context" : {
            "type" : "boolean",
            "description" : "On-line or off-line context of the transaction.\n\nBased on datatype TrueFalseIndicator: A flag indicating a True or False value.\n",
            "x-MXComponent" : "TrueFalseIndicator"
          },
          "attendance_context" : {
            "type" : "string",
            "description" : "Human attendance at the POI location during the transaction.\n\nHuman attendance at the POI location during the transaction.\n\nCode Name Definition:\n*`ATTD` - Attended - Attended payment, with an attendant.\n*`SATT` - SemiAttended - Semi-attended, including self checkout. An attendant supervises several payment, and could be called to help the cardholder.\n*`UATT` - Unattended - Unattended payment, no attendant present.\n",
            "enum" : [ "ATTD", "SATT", "UATT" ],
            "x-MXComponent" : "AttendanceContext1Code"
          },
          "transaction_environment" : {
            "type" : "string",
            "description" : "Indicates the environment of the transaction.\n\nIndicates the environment of the transaction.\n\nCode Name Definition:\n*`MERC` - Merchant - Merchant environment.\n*`PRIV` - Private - Private environment.\n*`PUBL` - Public - Public environment.\n",
            "enum" : [ "MERC", "PRIV", "PUBL" ],
            "x-MXComponent" : "TransactionEnvironment1Code"
          },
          "transaction_channel" : {
            "type" : "string",
            "description" : "Identifies the type of the communication channels used by the cardholder to the acceptor system.\n\nIdentifies the type of the communication channels used by the cardholder to the acceptor system.\n\nCode Name Definition:\n*`ECOM` - ElectronicCommerce - Electronic commerce.\n*`MAIL` - MailOrder - Mail order.\n*`TLPH` - TelephoneOrder - Telephone order.\n*`TVPY` - TelevisionPayment - Payment on television.\n",
            "enum" : [ "ECOM", "MAIL", "TLPH", "TVPY" ],
            "x-MXComponent" : "TransactionChannel1Code"
          },
          "attendant_message_capable" : {
            "type" : "boolean",
            "description" : "Indicates whether a message can be sent or not on an attendant display (attendant display present or not).\n\nBased on datatype TrueFalseIndicator: A flag indicating a True or False value.\n",
            "x-MXComponent" : "TrueFalseIndicator"
          },
          "attendant_language" : {
            "pattern" : "^[a-z]{2,2}$",
            "type" : "string",
            "description" : "Language used to display messages to the attendant.\n\nIdentification of the language name according to the ISO 639-1 codes. The type is validated by the list of values coded with two alphabetic characters, defined in the standard.\n",
            "x-MXComponent" : "ISO2ALanguageCode"
          },
          "card_data_entry_mode" : {
            "type" : "string",
            "description" : "Entry mode of the card data.\n\nType of reading of the card data.\n\nCode Name Definition:\n*`BRCD` - BarCode - Bar code.\n*`CICC` - ICC - ICC (Integrated Circuit Card) with contact containing software applications conform to ISO 7816.\n*`CTLS` - ProximityReader - Contactless proximity reader.\n*`DFLE` - AccountData - Account data on file.\n*`ECTL` - EMVProximityReader - Contactless proximity reader, with application conform to the standard EMV (standard initiated by Europay, Mastercard and Visa).\n*`MGST` - MagneticStripe - Magnetic stripe.\n*`PHYS` - Physical - Keyboard entry or OCR reading of embossing or printed data, either at time of transaction or after the event.\n*`TAGC` - Tag - Tag reading capabilities (RFID, etc.).\n",
            "enum" : [ "BRCD", "CICC", "CTLS", "DFLE", "ECTL", "MGST", "PHYS", "TAGC" ],
            "x-MXComponent" : "CardDataReading1Code"
          },
          "fallback_indicator" : {
            "type" : "boolean",
            "description" : "Indicator of a card entry mode fallback.\n\nBased on datatype TrueFalseIndicator: A flag indicating a True or False value.\n",
            "x-MXComponent" : "TrueFalseIndicator"
          },
          "authentication_method" : {
            "$ref" : "#/components/schemas/CardholderAuthentication2"
          }
        },
        "additionalProperties" : false,
        "description" : "Payment context in which the transaction is performed.",
        "x-MXComponent" : "PaymentContext3"
      },
      "PaymentReturnReason9" : {
        "required" : [ "reason" ],
        "type" : "object",
        "properties" : {
          "original_bank_transaction_code" : {
            "$ref" : "#/components/schemas/BankTransactionCodeStructure8"
          },
          "originator" : {
            "$ref" : "#/components/schemas/PartyIdentification311"
          },
          "reason" : {
            "$ref" : "#/components/schemas/ReturnReason5Choice"
          },
          "additional_information" : {
            "type" : "array",
            "description" : "Further details on the return reason.\n----------\nUsage Rule: CGI-MP: Additional information to describe the return transaction.\n----------\n\nBased on datatype Max105Text: Specifies a character string with a maximum length of 105 characters.\n",
            "items" : {
              "maxLength" : 105,
              "minLength" : 1,
              "type" : "string",
              "x-MXComponent" : "Max105Text"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Provides further details on the reason of the return of the transaction.",
        "x-MXComponent" : "PaymentReturnReason9"
      },
      "PersonIdentification13" : {
        "type" : "object",
        "properties" : {
          "date_and_place_of_birth" : {
            "$ref" : "#/components/schemas/DateAndPlaceOfBirth1"
          },
          "other" : {
            "type" : "array",
            "description" : "Unique identification of a person, as assigned by an institution, using an identification scheme.",
            "items" : {
              "$ref" : "#/components/schemas/GenericPersonIdentification1"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Unique and unambiguous way to identify a person.",
        "x-MXComponent" : "PersonIdentification13"
      },
      "PersonIdentification16" : {
        "type" : "object",
        "properties" : {
          "date_and_place_of_birth" : {
            "$ref" : "#/components/schemas/DateAndPlaceOfBirth1"
          },
          "other_identification" : {
            "maxItems" : 2,
            "type" : "array",
            "description" : "Unique identification of a person, as assigned by an institution, using an identification scheme.\n\nFor APBS, 15-digit Aadhaar (India resident unique identification number) number allotted by UIDAI (Unique Identification Authority of India).\n\nNACH: 23.21 Beneficiary Aadhaar Number\nMandatory for APBS. 15 digit number.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "items" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "x-MXComponent" : "Max35Text"
            }
          },
          "scheme_name" : {
            "maxItems" : 2,
            "type" : "array",
            "description" : "Name of the identification scheme.\n\nIdentification Scheme Name Code\nAADH = Aadhaar Number\n\nNACH: AADH = Aadhaar\n\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "items" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "x-MXComponent" : "Max35Text"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Unique and unambiguous way to identify a person.",
        "x-MXComponent" : "PersonIdentification16"
      },
      "PersonIdentificationSchemeName1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Sets of elements to identify a name of the identification scheme.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Name of the identification scheme, in a coded form as published in an external list.\n\nSpecifies the external person identification scheme name code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalPersonIdentification1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Name of the identification scheme, in a free text form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "PersonIdentificationSchemeName1Choice"
      },
      "PlainCardData1" : {
        "required" : [ "expiry_date", "pan" ],
        "type" : "object",
        "properties" : {
          "pan" : {
            "pattern" : "^[0-9]{8,28}$",
            "type" : "string",
            "description" : "Primary Account Number (PAN) of the card, or card number.\n\nBased on datatype Min8Max28NumericText: Specifies a numeric string with a minimum length of 8 digits, and a maximum length of 28 digits.\n",
            "x-MXComponent" : "Min8Max28NumericText"
          },
          "card_sequence_number" : {
            "pattern" : "^[0-9]{2,3}$",
            "type" : "string",
            "description" : "Identify a card inside a set of cards with the same card number (PAN).\n\nBased on datatype Min2Max3NumericText: Specifies a numeric string with a minimum length of 2 digits, and a maximum length of 3 digits.\n",
            "x-MXComponent" : "Min2Max3NumericText"
          },
          "effective_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:0[1-9]|1[0-2]))$",
            "type" : "string",
            "description" : "Date as from which the card can be used.\n\nBased on datatype ISOYearMonth: Month within a particular calendar year represented by YYYY-MM (ISO 8601).\n",
            "x-MXComponent" : "ISOYearMonth"
          },
          "expiry_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:0[1-9]|1[0-2]))$",
            "type" : "string",
            "description" : "Expiry date of the card.\n\nBased on datatype ISOYearMonth: Month within a particular calendar year represented by YYYY-MM (ISO 8601).\n",
            "x-MXComponent" : "ISOYearMonth"
          },
          "service_code" : {
            "pattern" : "^[0-9]{3}$",
            "type" : "string",
            "description" : "Services attached to the card, as defined in ISO 7813.\n\nBased on datatype Exact3NumericText: Specifies a numeric string with an exact length of 3 digits.\n",
            "x-MXComponent" : "Exact3NumericText"
          },
          "track_data" : {
            "type" : "array",
            "description" : "Magnetic track or equivalent payment card data.",
            "items" : {
              "$ref" : "#/components/schemas/TrackData1"
            }
          },
          "card_security_code" : {
            "$ref" : "#/components/schemas/CardSecurityInformation1"
          }
        },
        "additionalProperties" : false,
        "description" : "Sensible data associated with the payment card performing the transaction.",
        "x-MXComponent" : "PlainCardData1"
      },
      "PointOfInteraction1" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "identification" : {
            "$ref" : "#/components/schemas/GenericIdentification32"
          },
          "system_name" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Common name assigned by the acquirer to the POI system.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "group_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifier assigned by the merchant identifying a set of POI terminals performing some categories of transactions.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "capabilities" : {
            "$ref" : "#/components/schemas/PointOfInteractionCapabilities1"
          },
          "component" : {
            "type" : "array",
            "description" : "Data related to a component of the POI performing the transaction.",
            "items" : {
              "$ref" : "#/components/schemas/PointOfInteractionComponent1"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Point of interaction (POI) performing the transaction.",
        "x-MXComponent" : "PointOfInteraction1"
      },
      "PointOfInteractionCapabilities1" : {
        "type" : "object",
        "properties" : {
          "card_reading_capabilities" : {
            "type" : "array",
            "description" : "Card reading capabilities of the POI performing the transaction.\n\nType of reading of the card data.\n\nCode Name Definition:\n*`BRCD` - BarCode - Bar code.\n*`CICC` - ICC - ICC (Integrated Circuit Card) with contact containing software applications conform to ISO 7816.\n*`CTLS` - ProximityReader - Contactless proximity reader.\n*`DFLE` - AccountData - Account data on file.\n*`ECTL` - EMVProximityReader - Contactless proximity reader, with application conform to the standard EMV (standard initiated by Europay, Mastercard and Visa).\n*`MGST` - MagneticStripe - Magnetic stripe.\n*`PHYS` - Physical - Keyboard entry or OCR reading of embossing or printed data, either at time of transaction or after the event.\n*`TAGC` - Tag - Tag reading capabilities (RFID, etc.).\n",
            "items" : {
              "type" : "string",
              "enum" : [ "BRCD", "CICC", "CTLS", "DFLE", "ECTL", "MGST", "PHYS", "TAGC" ],
              "x-MXComponent" : "CardDataReading1Code"
            }
          },
          "cardholder_verification_capabilities" : {
            "type" : "array",
            "description" : "Cardholder verification capabilities of the POI performing the transaction.\n\nCardholder verification capabilities of the POI (Personal Identification Number) performing the transaction.\n\nCode Name Definition:\n*`APKI` - AccountDigitalSignature - Account based digital signature.\n*`CHDT` - CardholderData - Cardholder authentication data.\n*`FBIG` - OfflineBiographics - Offline biographics.\n*`FBIO` - OfflineBiometrics - Offline biometrics.\n*`FCPN` - OfflinePINClear - Offline PIN in clear (Personal Identification Number).\n*`FDSG` - OfflineDigitalSignature - Offline digital signature analysis.\n*`FEPN` - OfflinePINEncrypted - Offline PIN encrypted (Personal Identification Number).\n*`MNSG` - ManualSignature - Manual signature verification.\n*`MNVR` - ManualVerification - Other manual verification, for example passport or drivers license.\n*`NPIN` - OnLinePIN - Online PIN (Personal Identification Number).\n*`PKIS` - PKISignature - PKI (Public Key Infrastructure) based digital signature.\n*`SCEC` - SecureElectronicCommerce - Three domain secure (three domain secure authentication of the cardholder).\n",
            "items" : {
              "type" : "string",
              "enum" : [ "APKI", "CHDT", "FBIG", "FBIO", "FCPN", "FDSG", "FEPN", "MNSG", "MNVR", "NPIN", "PKIS", "SCEC" ],
              "x-MXComponent" : "CardholderVerificationCapability1Code"
            }
          },
          "on_line_capabilities" : {
            "type" : "string",
            "description" : "On-line and off-line capabilities of the POI.\n\nOn-line and off-line capabilities of the POI (Point Of Interaction).\n\nCode Name Definition:\n*`OFLN` - OffLine - Off-line only capable.\n*`ONLN` - OnLine - On-line only capable.\n*`SMON` - SemiOffLine - Off-line capable with possible on-line requests to the acquirer.\n",
            "enum" : [ "OFLN", "ONLN", "SMON" ],
            "x-MXComponent" : "OnLineCapability1Code"
          },
          "display_capabilities" : {
            "type" : "array",
            "description" : "Capabilities of the display components performing the transaction.",
            "items" : {
              "$ref" : "#/components/schemas/DisplayCapabilities1"
            }
          },
          "print_line_width" : {
            "pattern" : "^[0-9]{1,3}$",
            "type" : "string",
            "description" : "Number of columns of the printer component.\n\nBased on datatype Max3NumericText: Specifies a numeric string with a maximum length of 3 digits.\n",
            "x-MXComponent" : "Max3NumericText"
          }
        },
        "additionalProperties" : false,
        "description" : "Capabilities of the POI performing the transaction.",
        "x-MXComponent" : "PointOfInteractionCapabilities1"
      },
      "PointOfInteractionComponent1" : {
        "required" : [ "poi_component_type" ],
        "type" : "object",
        "properties" : {
          "poi_component_type" : {
            "type" : "string",
            "description" : "Type of component belonging to a POI Terminal.\n\nGeneric component type belonging to a POI (Point of Interaction) Terminal.\n\nCode Name Definition:\n*`CHIT` - CardholderInterface - Cardholder Interface.\n*`EMVK` - EMVKernel - EMV application kernel (EMV is the chip card specifications initially defined by Eurocard, Mastercard and Visa).\n*`EMVO` - EMVLevel1 - EMV physical interface (EMV is the chip card specifications initially defined by Eurocard, Mastercard and Visa).\n*`MRIT` - MerchantInterface - Merchant interface.\n*`PEDV` - PINEntryDevice - Personal identification number (or PIN) entry device (PED).\n*`SECM` - SecureModule - Security module.\n*`SOFT` - Soft - Payment or other software application.\n",
            "enum" : [ "CHIT", "EMVK", "EMVO", "MRIT", "PEDV", "SECM", "SOFT" ],
            "x-MXComponent" : "POIComponentType1Code"
          },
          "manufacturer_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of the software, hardware or system provider of the POI component.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "model" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a model of POI component for a given manufacturer.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "version_number" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Version of component belonging to a given model.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "serial_number" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Serial number of a component.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "approval_number" : {
            "type" : "array",
            "description" : "Unique approval number for a component, delivered by a certification body.\nUsage: More than one approval number could be present, when assigned by different bodies. The certification body identification must be provided within the approval number (for example at the beginning of the value).\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "items" : {
              "maxLength" : 70,
              "minLength" : 1,
              "type" : "string",
              "x-MXComponent" : "Max70Text"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Data related to a component of the POI performing the transaction.",
        "x-MXComponent" : "PointOfInteractionComponent1"
      },
      "PostalAddress24" : {
        "type" : "object",
        "properties" : {
          "address_type" : {
            "$ref" : "#/components/schemas/AddressType3Choice"
          },
          "department" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a division of a large organisation or building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "sub_department" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a sub-division of a large organisation or building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "street_name" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of a street or thoroughfare.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "building_number" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Number that identifies the position of a building on a street.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "building_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the building or house.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "floor" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Floor or storey within a building.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "post_box" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Numbered box in a post office, assigned to a person or organisation, where letters are kept until called for.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "room" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Building room number.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "post_code" : {
            "maxLength" : 16,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.\n\nBased on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.\n",
            "x-MXComponent" : "Max16Text"
          },
          "town_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of a built-up area, with defined boundaries, and a local government.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "town_location_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specific location name within the town.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "district_name" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies a subdivision within a country sub-division.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "country_sub_division" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies a subdivision of a country such as state, region, county.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "country" : {
            "pattern" : "^[A-Z]{2,2}$",
            "type" : "string",
            "description" : "Nation with its own government.\n\nCode to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).\n",
            "x-MXComponent" : "CountryCode"
          },
          "address_line" : {
            "maxItems" : 7,
            "type" : "array",
            "description" : "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "items" : {
              "maxLength" : 70,
              "minLength" : 1,
              "type" : "string",
              "x-MXComponent" : "Max70Text"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Information that locates and identifies a specific address, as defined by postal services.",
        "x-MXComponent" : "PostalAddress24"
      },
      "Product2" : {
        "required" : [ "product_code" ],
        "type" : "object",
        "properties" : {
          "product_code" : {
            "maxLength" : 70,
            "minLength" : 1,
            "type" : "string",
            "description" : "Product code of the item purchased.\n\nBased on datatype Max70Text: Specifies a character string with a maximum length of 70characters.\n",
            "x-MXComponent" : "Max70Text"
          },
          "unit_of_measure" : {
            "type" : "string",
            "description" : "Unit of measure of the item purchased.\n\nUnit of measure of the item purchased.\n\nCode Name Definition:\n*`ACRE` - Acre - Unit of measure equal to 4, 840 square yards.\n*`ARES` - Are - Unit of measure equal to a 100 square meters.\n*`CELI` - Centilitre - Unit of volume that is equal to one hundredth of a litre.\n*`CMET` - Centimetre - Unit of measure that is equal to one hundredth of a metre.\n*`FOOT` - Foot - Unit of length equal to 1/3 yard.\n*`GBGA` - GBGallon - Unit of volume that is equal to 8 pints.\n*`GBOU` - GBOunce - Unit of weight equal to a sixteenth of a pound.\n*`GBPI` - GBPint - Unit of volume that is equal to 568 cubic centimetres.\n*`GBQA` - GBQuart - Unit of volume that is equal to 2 pints.\n*`GRAM` - Gram - Unit of measure that is equal to a 1, 000th of a kilo.\n*`HECT` - Hectare - Unit of measure that is equal to 10, 000 square meters.\n*`INCH` - Inch - Measure of length equal to 2.54 cm.\n*`KILO` - Kilogram - Basic unit of mass in the SI system, 1000 grams.\n*`KMET` - Kilometre - Unit of measure that is equal to 1, 000 meters.\n*`LITR` - Litre - Unit of volume that is equal to a thousand cubic centimetres.\n*`METR` - Metre - Unit of length in the metric system, equal to 39.37 inches.\n*`MILE` - Mile - Unit of length equal to 1, 760 yards.\n*`MILI` - MilliLitre - Unit of volume that is equal to one thousandth of a litre.\n*`MMET` - Millimetre - Unit of measure that is a thousandth of one metre.\n*`PIEC` - Piece - Standard length of cloth, wallpaper, as an item for sale or amount of a substance.\n*`PUND` - Pound - Unit of weight equal to 0.454 kilograms.\n*`SCMT` - SquareCentimetre - Measure of a surface, one centimetre by one centimetre.\n*`SMET` - SquareMetre - Measure of a surface, one metre by one metre.\n*`SMIL` - SquareMillimetre - Measure of a surface, one millimetre by one millimetre.\n*`SQFO` - SquareFoot - Measure of a surface, one foot by one foot.\n*`SQIN` - SquareInch - Measure of a surface, one inch by one inch.\n*`SQKI` - SquareKilometre - Measure of a surface, one kilometre by one kilometre.\n*`SQMI` - SquareMile - Measure of a surface, one mile by one mile.\n*`SQYA` - SquareYard - Measure of a surface, one yard by one yard.\n*`TONS` - Ton - Measure of weight, in Britain 2240lb (long ton)and in the US 2000lb (short ton).\n*`USGA` - USGallon - Unit of volume that is equal to 8 pints.\n*`USOU` - USOunce - Unit of weight equal to a sixteenth of a pound.\n*`USPI` - USPint - Unit of volume that is equal to 473 cubic centimetres.\n*`USQA` - USQuart - Unit of volume that is equal to 2 pints.\n*`YARD` - Yard - Unit of length equal to 3 feet or 0.9144 metre.\n",
            "enum" : [ "ACRE", "ARES", "CELI", "CMET", "FOOT", "GBGA", "GBOU", "GBPI", "GBQA", "GRAM", "HECT", "INCH", "KILO", "KMET", "LITR", "METR", "MILE", "MILI", "MMET", "PIEC", "PUND", "SCMT", "SMET", "SMIL", "SQFO", "SQIN", "SQKI", "SQMI", "SQYA", "TONS", "USGA", "USOU", "USPI", "USQA", "YARD" ],
            "x-MXComponent" : "UnitOfMeasure1Code"
          },
          "product_quantity" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Product quantity.\n\nBased on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.\n",
            "x-MXComponent" : "DecimalNumber"
          },
          "unit_price" : {
            "maxLength" : 18,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string",
            "description" : "Price per unit of product.\n\nBased on datatype ImpliedCurrencyAndAmount: Number of monetary units specified in a currency where the unit of currency is implied by the context and compliant with ISO 4217. The decimal separator is a dot.\nNote: a zero amount is considered a positive amount.\n",
            "x-MXComponent" : "ImpliedCurrencyAndAmount"
          },
          "product_amount" : {
            "maxLength" : 18,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string",
            "description" : "Monetary value of purchased product.\n\nBased on datatype ImpliedCurrencyAndAmount: Number of monetary units specified in a currency where the unit of currency is implied by the context and compliant with ISO 4217. The decimal separator is a dot.\nNote: a zero amount is considered a positive amount.\n",
            "x-MXComponent" : "ImpliedCurrencyAndAmount"
          },
          "tax_type" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Information on tax paid on the product.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "additional_product_information" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Additional information related to the product.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Product purchased to be paid.",
        "x-MXComponent" : "Product2"
      },
      "ProprietaryBankTransactionCodeStructure2" : {
        "required" : [ "code", "issuer" ],
        "type" : "object",
        "properties" : {
          "code" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Proprietary bank transaction code to identify the underlying transaction.\n-----------\nUsage: CGI-MP: Code format is depending on the issuer. It may be a composite code.\n----------\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of the issuer of the proprietary bank transaction code.\n----------\nUsage Rule: CGI-MP: Value of Issuer is required. If Not Available, populate with \"NOTAVAILABLE\". \nValue samples (not exhausted):\nBAI = BAI Code\nSWIFT = Swift Code\nBBA = Belgian Code\nCFONB = French Code\nFFFS = Finnish Code\nZKA = German Code\nGVC = German Code\nAEB = Spanish Code\nDBA = Danish Code\nAlso other values available such as bank name.\n-----------\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements to fully identify a proprietary bank transaction code.",
        "x-MXComponent" : "ProprietaryBankTransactionCodeStructure2"
      },
      "ProprietaryReference1" : {
        "required" : [ "reference", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies the type of reference reported.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "reference" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Proprietary reference specification related to the underlying transaction.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements to identify a proprietary reference.",
        "x-MXComponent" : "ProprietaryReference1"
      },
      "ProxyAccountIdentification1" : {
        "required" : [ "identification" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/ProxyAccountType1Choice"
          },
          "identification" : {
            "maxLength" : 2048,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification used to indicate the account identification under another specified name.\n\nBased on datatype Max2048Text: Specifies a character string with a maximum length of 2048 characters.\n",
            "x-MXComponent" : "Max2048Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Information related to a proxy  identification of the account.",
        "x-MXComponent" : "ProxyAccountIdentification1"
      },
      "ProxyAccountType1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the scheme used for the identification of an account alias.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Name of the identification scheme, in a coded form as published in an external list.\n\nSpecifies the external proxy account type code, as published in the proxy account type external code set.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalProxyAccountType1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Name of the identification scheme, in a free text form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "ProxyAccountType1Choice"
      },
      "Purpose2Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the underlying reason for the payment transaction.\nUsage: Purpose is used by the end-customers, that is initiating party, (ultimate) debtor, (ultimate) creditor to provide information concerning the nature of the payment. Purpose is a content element, which is not used for processing by any of the agents involved in the payment chain.\n",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Underlying reason for the payment transaction, as published in an external purpose code list.\n\nSpecifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalPurpose1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Purpose, in a proprietary form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "Purpose2Choice"
      },
      "Rate4" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/RateType4Choice"
          },
          "validity_range" : {
            "$ref" : "#/components/schemas/ActiveOrHistoricCurrencyAndAmountRange2"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to qualify the interest rate.",
        "x-MXComponent" : "Rate4"
      },
      "RateType4Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the rate as a percentage or a text.",
        "oneOf" : [ {
          "required" : [ "percentage" ],
          "type" : "object",
          "properties" : {
            "percentage" : {
              "maxLength" : 12,
              "type" : "string",
              "description" : "Ratio of the amount of interest paid during a certain period of time compared to the principal amount of the interest bearing financial instrument.\n\nBased on datatype PercentageRate: Rate expressed as a percentage, that is, in hundredths, for example, 0.7 is 7/10 of a percent, and 7.0 is 7%.\n",
              "x-MXComponent" : "PercentageRate"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "other" ],
          "type" : "object",
          "properties" : {
            "other" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Rate type expressed, in an other form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "RateType4Choice"
      },
      "ReferredDocumentInformation10" : {
        "required" : [ "number" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/ReferredDocumentType4"
          },
          "number" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique and unambiguous identification of the referred document.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "related_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date associated with the referred document.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "document_line" : {
            "type" : "array",
            "description" : "Set of elements used to provide the content of the referred document line.",
            "items" : {
              "$ref" : "#/components/schemas/DocumentLineInformation1"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to identify the documents referred to in the remittance information.",
        "x-MXComponent" : "ReferredDocumentInformation10"
      },
      "ReferredDocumentType3Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the type of the document referred in the remittance information.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "type" : "string",
              "description" : "Document type in a coded form.\n\nSpecifies a type of financial or commercial document.\n\nCode Name Definition:\n*`AROI` - AccountReceivableOpenItem - Document is a payment that applies to a specific source document.\n*`BOLD` - BillOfLading - Document is a shipping notice.\n*`CINV` - CommercialInvoice - Document is an invoice.\n*`CMCN` - CommercialContract - Document is an agreement between the parties, stipulating the terms and conditions of the delivery of goods or services.\n*`CNFA` - CreditNoteRelatedToFinancialAdjustment - Document is a credit note for the final amount settled for a commercial transaction.\n*`CREN` - CreditNote - Document is a credit note.\n*`DEBN` - DebitNote - Document is a debit note.\n*`DISP` - DispatchAdvice - Document is a dispatch advice.\n*`DNFA` - DebitNoteRelatedToFinancialAdjustment - Document is a debit note for the final amount settled for a commercial transaction.\n*`HIRI` - HireInvoice - Document is an invoice for the hiring of human resources or renting goods or equipment.\n*`MSIN` - MeteredServiceInvoice - Document is an invoice claiming payment for the supply of metered services, for example gas or electricity supplied to a fixed meter.\n*`PUOR` - PurchaseOrder - Document is a purchase order.\n*`SBIN` - SelfBilledInvoice - Document is an invoice issued by the debtor.\n*`SOAC` - StatementOfAccount - Document is a statement of the transactions posted to the debtor's account at the supplier.\n*`TSUT` - TradeServicesUtilityTransaction - Document is a transaction identifier as assigned by the Trade Services Utility.\n*`VCHR` - Voucher - Document is an electronic payment document.\n",
              "enum" : [ "AROI", "BOLD", "CINV", "CMCN", "CNFA", "CREN", "DEBN", "DISP", "DNFA", "HIRI", "MSIN", "PUOR", "SBIN", "SOAC", "TSUT", "VCHR" ],
              "x-MXComponent" : "DocumentType6Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Proprietary identification of the type of the remittance document.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "ReferredDocumentType3Choice"
      },
      "ReferredDocumentType4" : {
        "required" : [ "code_or_proprietary" ],
        "type" : "object",
        "properties" : {
          "code_or_proprietary" : {
            "$ref" : "#/components/schemas/ReferredDocumentType3Choice"
          },
          "issuer" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of the issuer of the reference document type.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the type of the document referred in the remittance information.",
        "x-MXComponent" : "ReferredDocumentType4"
      },
      "RemittanceAmount3" : {
        "type" : "object",
        "properties" : {
          "due_payable_amount" : {
            "$ref" : "#/components/schemas/RemittanceAmount3_due_payable_amount"
          },
          "discount_applied_amount" : {
            "type" : "array",
            "description" : "Amount of discount to be applied to the amount due and payable to the creditor.",
            "items" : {
              "$ref" : "#/components/schemas/DiscountAmountAndType1"
            }
          },
          "credit_note_amount" : {
            "$ref" : "#/components/schemas/RemittanceAmount3_credit_note_amount"
          },
          "tax_amount" : {
            "type" : "array",
            "description" : "Amount of the tax.",
            "items" : {
              "$ref" : "#/components/schemas/TaxAmountAndType1"
            }
          },
          "adjustment_amount_and_reason" : {
            "type" : "array",
            "description" : "Specifies detailed information on the amount and reason of the adjustment.",
            "items" : {
              "$ref" : "#/components/schemas/DocumentAdjustment1"
            }
          },
          "remitted_amount" : {
            "$ref" : "#/components/schemas/RemittanceAmount3_remitted_amount"
          }
        },
        "additionalProperties" : false,
        "description" : "Nature of the amount and currency on a document referred to in the remittance section, typically either the original amount due/payable or the amount actually remitted for the referenced document.",
        "x-MXComponent" : "RemittanceAmount3"
      },
      "RemittanceAmount7" : {
        "type" : "object",
        "properties" : {
          "due_payable_amount" : {
            "$ref" : "#/components/schemas/RemittanceAmount3_due_payable_amount"
          },
          "discount_applied_amount" : {
            "type" : "array",
            "description" : "Amount specified for the referred document is the amount of discount to be applied to the amount due and payable to the creditor.",
            "items" : {
              "$ref" : "#/components/schemas/DiscountAmountAndType1"
            }
          },
          "credit_note_amount" : {
            "$ref" : "#/components/schemas/RemittanceAmount7_credit_note_amount"
          },
          "tax_amount" : {
            "type" : "array",
            "description" : "Quantity of cash resulting from the calculation of the tax.",
            "items" : {
              "$ref" : "#/components/schemas/TaxAmountAndType1"
            }
          },
          "adjustment_amount_and_reason" : {
            "type" : "array",
            "description" : "Specifies detailed information on the amount and reason of the document adjustment.",
            "items" : {
              "$ref" : "#/components/schemas/DocumentAdjustment4"
            }
          },
          "remitted_amount" : {
            "$ref" : "#/components/schemas/Garnishment3_remitted_amount"
          }
        },
        "additionalProperties" : false,
        "description" : "Nature of the amount and currency on a document referred to in the remittance section, typically either the original amount due/payable or the amount actually remitted for the referenced document.",
        "x-MXComponent" : "RemittanceAmount7"
      },
      "RemittanceInformation25" : {
        "type" : "object",
        "properties" : {
          "unstructured" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.\n\nNEFT: N02 / N03 / N06.7495 Remittance information\nOptional, 6*35x\n\nNG-RTGS: Remittance Information 140 characters up to 4 can be used Sender to Receiver Information\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "structured" : {
            "type" : "array",
            "description" : "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in a structured form.\n\nUsage: Aligned with CGI-MP, PMPG, and CBPR+ Guidelines.\n",
            "items" : {
              "$ref" : "#/components/schemas/StructuredRemittanceInformation21"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system.",
        "x-MXComponent" : "RemittanceInformation25"
      },
      "RemittanceLocation12" : {
        "type" : "object",
        "properties" : {
          "remittance_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification, as assigned by the initiating party, to unambiguously identify the remittance information sent separately from the payment instruction, such as a remittance advice.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "remittance_location_details" : {
            "type" : "array",
            "description" : "Set of elements used to provide information on the location and/or delivery of the remittance information.",
            "items" : {
              "$ref" : "#/components/schemas/RemittanceLocationData4"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Provides information on the remittance advice.",
        "x-MXComponent" : "RemittanceLocation12"
      },
      "RemittanceLocationData4" : {
        "required" : [ "method" ],
        "type" : "object",
        "properties" : {
          "method" : {
            "type" : "string",
            "description" : "Method used to deliver the remittance advice information.\n\nSpecifies the method used to deliver the remittance advice information.\n\nCode Name Definition:\n*`EDIC` - ElectronicDataInterchange - Remittance advice information must be sent through Electronic Data Interchange (EDI).\n*`EMAL` - EMail - Remittance advice information must be sent through e-mail.\n*`FAXI` - Fax - Remittance advice information must be faxed.\n*`POST` - Post - Remittance advice information must be sent through postal services.\n*`SMSM` - SMS - Remittance advice information must be sent through by phone as a short message service (SMS).\n*`URID` - UniformResourceIdentifier - Remittance advice information needs to be sent to a Uniform Resource Identifier (URI). URI is a compact string of characters that uniquely identify an abstract or physical resource. URI's are the super-set of identifiers, such as URLs, email addresses, ftp sites, etc, and as such, provide the syntax for all of the identification schemes.\n",
            "enum" : [ "EDIC", "EMAL", "FAXI", "POST", "SMSM", "URID" ],
            "x-MXComponent" : "RemittanceLocationMethod2Code"
          },
          "electronic_address" : {
            "maxLength" : 2048,
            "minLength" : 1,
            "type" : "string",
            "description" : "Electronic address to which an agent is to send the remittance information.\n\nMay be used to specify email address to advise payment (allows for up 10 occurrences)\nFor multiple addreess (CC arrangement)  use \"; \" as a delimiter.\n\nBased on datatype Max2048Text: Specifies a character string with a maximum length of 2048 characters.\n",
            "x-MXComponent" : "Max2048Text"
          },
          "postal_address" : {
            "$ref" : "#/components/schemas/NameAndAddress21"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides additional details on the remittance advice.",
        "x-MXComponent" : "RemittanceLocationData4"
      },
      "ReturnReason5Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the reason for the return of the transaction.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Reason for the return, as published in an external reason code list.\n\nSpecifies the return reason, as published in an external return reason code list.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalReturnReason1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Reason for the return, in a proprietary form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "ReturnReason5Choice"
      },
      "StructuredRemittanceInformation21" : {
        "type" : "object",
        "properties" : {
          "referred_document_information" : {
            "type" : "array",
            "description" : "Provides the identification and the content of the referred document.",
            "items" : {
              "$ref" : "#/components/schemas/ReferredDocumentInformation10"
            }
          },
          "referred_document_amount" : {
            "$ref" : "#/components/schemas/RemittanceAmount7"
          },
          "creditor_reference_information" : {
            "$ref" : "#/components/schemas/CreditorReferenceInformation5"
          },
          "invoicer_name" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of the organisation issuing the invoice, when it is different from the creditor or ultimate creditor.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "invoicee_name" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of the party to whom an invoice is issued, when it is different from the debtor or ultimate debtor.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "tax_remittance" : {
            "$ref" : "#/components/schemas/TaxInformation7"
          },
          "garnishment_remittance" : {
            "$ref" : "#/components/schemas/Garnishment3"
          },
          "additional_remittance_information" : {
            "maxItems" : 3,
            "type" : "array",
            "description" : "Additional information, in free text form, to complement the structured remittance information.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "items" : {
              "maxLength" : 140,
              "minLength" : 1,
              "type" : "string",
              "x-MXComponent" : "Max140Text"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in a structured form.",
        "x-MXComponent" : "StructuredRemittanceInformation21"
      },
      "TaxAmount2" : {
        "type" : "object",
        "properties" : {
          "rate" : {
            "maxLength" : 12,
            "type" : "string",
            "description" : "Rate used to calculate the tax.\n\nBased on datatype PercentageRate: Rate expressed as a percentage, that is, in hundredths, for example, 0.7 is 7/10 of a percent, and 7.0 is 7%.\n",
            "x-MXComponent" : "PercentageRate"
          },
          "taxable_base_amount" : {
            "$ref" : "#/components/schemas/TaxAmount2_taxable_base_amount"
          },
          "total_amount" : {
            "$ref" : "#/components/schemas/TaxAmount2_total_amount"
          },
          "details" : {
            "type" : "array",
            "description" : "Set of elements used to provide details on the tax period and amount.",
            "items" : {
              "$ref" : "#/components/schemas/TaxRecordDetails2"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to provide information on the tax amount(s) of tax record.",
        "x-MXComponent" : "TaxAmount2"
      },
      "TaxAmountAndType1" : {
        "required" : [ "amount" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/TaxAmountType1Choice"
          },
          "amount" : {
            "$ref" : "#/components/schemas/DiscountAmountAndType1_amount"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the amount with a specific type.",
        "x-MXComponent" : "TaxAmountAndType1"
      },
      "TaxAmountType1Choice" : {
        "type" : "object",
        "additionalProperties" : true,
        "description" : "Specifies the amount type.",
        "oneOf" : [ {
          "required" : [ "code" ],
          "type" : "object",
          "properties" : {
            "code" : {
              "maxLength" : 4,
              "minLength" : 1,
              "type" : "string",
              "description" : "Specifies the amount type, in a coded form.\n\nSpecifies the nature, or use, of the amount in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.\n",
              "x-MXComponent" : "ExternalTaxAmountType1Code"
            }
          },
          "additionalProperties" : false
        }, {
          "required" : [ "proprietary" ],
          "type" : "object",
          "properties" : {
            "proprietary" : {
              "maxLength" : 35,
              "minLength" : 1,
              "type" : "string",
              "description" : "Specifies the amount type, in a free-text form.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
              "x-MXComponent" : "Max35Text"
            }
          },
          "additionalProperties" : false
        } ],
        "x-MXComponent" : "TaxAmountType1Choice"
      },
      "TaxAuthorisation1" : {
        "type" : "object",
        "properties" : {
          "title" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Title or position of debtor or the debtor's authorised representative.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "name" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the debtor or the debtor's authorised representative.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Details of the authorised tax paying party.",
        "x-MXComponent" : "TaxAuthorisation1"
      },
      "TaxCharges2" : {
        "type" : "object",
        "properties" : {
          "identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique reference to unambiguously identify the nature of the tax levied, such as Value Added Tax (VAT).\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "rate" : {
            "maxLength" : 12,
            "type" : "string",
            "description" : "Rate used to calculate the tax.\n\nBased on datatype PercentageRate: Rate expressed as a percentage, that is, in hundredths, for example, 0.7 is 7/10 of a percent, and 7.0 is 7%.\n",
            "x-MXComponent" : "PercentageRate"
          },
          "amount" : {
            "$ref" : "#/components/schemas/TaxCharges2_amount"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money due to the government or tax authority, according to various pre-defined parameters such as thresholds or income.",
        "x-MXComponent" : "TaxCharges2"
      },
      "TaxInformation7" : {
        "type" : "object",
        "properties" : {
          "creditor" : {
            "$ref" : "#/components/schemas/TaxParty1"
          },
          "debtor" : {
            "$ref" : "#/components/schemas/TaxParty2"
          },
          "ultimate_debtor" : {
            "$ref" : "#/components/schemas/TaxParty2"
          },
          "administration_zone" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Territorial part of a country to which the tax payment is related.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "reference_number" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Tax reference information that is specific to a taxing agency.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "method" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Method used to indicate the underlying business or how the tax is paid.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "total_taxable_base_amount" : {
            "$ref" : "#/components/schemas/TaxInformation7_total_taxable_base_amount"
          },
          "total_tax_amount" : {
            "$ref" : "#/components/schemas/TaxInformation7_total_tax_amount"
          },
          "date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date by which tax is due.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "sequence_number" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Sequential number of the tax report.\n\nBased on datatype Number: Number of objects represented as an integer.\n",
            "x-MXComponent" : "Number"
          },
          "record" : {
            "type" : "array",
            "description" : "Record of tax details.",
            "items" : {
              "$ref" : "#/components/schemas/TaxRecord2"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Details about tax paid, or to be paid, to the government in accordance with the law, including pre-defined parameters such as thresholds and type of account.",
        "x-MXComponent" : "TaxInformation7"
      },
      "TaxInformation8" : {
        "type" : "object",
        "properties" : {
          "creditor" : {
            "$ref" : "#/components/schemas/TaxParty1"
          },
          "debtor" : {
            "$ref" : "#/components/schemas/TaxParty2"
          },
          "administration_zone" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Territorial part of a country to which the tax payment is related.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "reference_number" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Tax reference information that is specific to a taxing agency.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          },
          "method" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Method used to indicate the underlying business or how the tax is paid.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "total_taxable_base_amount" : {
            "$ref" : "#/components/schemas/TaxInformation7_total_taxable_base_amount"
          },
          "total_tax_amount" : {
            "$ref" : "#/components/schemas/TaxInformation7_total_tax_amount"
          },
          "date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date by which tax is due.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "sequence_number" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Sequential number of the tax report.\n\nBased on datatype Number: Number of objects represented as an integer.\n",
            "x-MXComponent" : "Number"
          },
          "record" : {
            "type" : "array",
            "description" : "Record of tax details.",
            "items" : {
              "$ref" : "#/components/schemas/TaxRecord2"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Details about tax paid, or to be paid, to the government in accordance with the law, including pre-defined parameters such as thresholds and type of account.",
        "x-MXComponent" : "TaxInformation8"
      },
      "TaxParty1" : {
        "type" : "object",
        "properties" : {
          "tax_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Tax identification number of the creditor.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "registration_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification, as assigned by an organisation, to unambiguously identify a party.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "tax_type" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Type of tax payer.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Details about the entity involved in the tax paid or to be paid.",
        "x-MXComponent" : "TaxParty1"
      },
      "TaxParty2" : {
        "type" : "object",
        "properties" : {
          "tax_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Tax identification number of the debtor.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "registration_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification, as assigned by an organisation, to unambiguously identify a party.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "tax_type" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Type of tax payer.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "authorisation" : {
            "$ref" : "#/components/schemas/TaxAuthorisation1"
          }
        },
        "additionalProperties" : false,
        "description" : "Details about the entity involved in the tax paid or to be paid.",
        "x-MXComponent" : "TaxParty2"
      },
      "TaxPeriod2" : {
        "type" : "object",
        "properties" : {
          "year" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Year related to the tax payment.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "type" : {
            "type" : "string",
            "description" : "Identification of the period related to the tax payment.\n\nSpecifies the period related to the tax payment.\n\nCode Name Definition:\n*`HLF1` - FirstHalf - Tax is related to the first half of the period.\n*`HLF2` - SecondHalf - Tax is related to the second half of the period.\n*`MM01` - FirstMonth - Tax is related to the second month of the period.\n*`MM02` - SecondMonth - Tax is related to the first month of the period.\n*`MM03` - ThirdMonth - Tax is related to the third month of the period.\n*`MM04` - FourthMonth - Tax is related to the fourth month of the period.\n*`MM05` - FifthMonth - Tax is related to the fifth month of the period.\n*`MM06` - SixthMonth - Tax is related to the sixth month of the period.\n*`MM07` - SeventhMonth - Tax is related to the seventh month of the period.\n*`MM08` - EighthMonth - Tax is related to the eighth month of the period.\n*`MM09` - NinthMonth - Tax is related to the ninth month of the period.\n*`MM10` - TenthMonth - Tax is related to the tenth month of the period.\n*`MM11` - EleventhMonth - Tax is related to the eleventh month of the period.\n*`MM12` - TwelfthMonth - Tax is related to the twelfth month of the period.\n*`QTR1` - FirstQuarter - Tax is related to the first quarter of the period.\n*`QTR2` - SecondQuarter - Tax is related to the second quarter of the period.\n*`QTR3` - ThirdQuarter - Tax is related to the third quarter of the period.\n*`QTR4` - FourthQuarter - Tax is related to the forth quarter of the period.\n",
            "enum" : [ "HLF1", "HLF2", "MM01", "MM02", "MM03", "MM04", "MM05", "MM06", "MM07", "MM08", "MM09", "MM10", "MM11", "MM12", "QTR1", "QTR2", "QTR3", "QTR4" ],
            "x-MXComponent" : "TaxRecordPeriod1Code"
          },
          "from_to_date" : {
            "$ref" : "#/components/schemas/DatePeriod2"
          }
        },
        "additionalProperties" : false,
        "description" : "Period of time details related to the tax payment.",
        "x-MXComponent" : "TaxPeriod2"
      },
      "TaxRecord2" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "High level code to identify the type of tax details.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "category" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Specifies the tax code as published by the tax authority.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "category_details" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Provides further details of the category tax code.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "debtor_status" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Code provided by local authority to identify the status of the party that has drawn up the settlement document.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "certificate_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification number of the tax report as assigned by the taxing authority.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "forms_code" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identifies, in a coded form, on which template the tax report is to be provided.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "period" : {
            "$ref" : "#/components/schemas/TaxPeriod2"
          },
          "tax_amount" : {
            "$ref" : "#/components/schemas/TaxAmount2"
          },
          "additional_information" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Further details of the tax record.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to define the tax record.",
        "x-MXComponent" : "TaxRecord2"
      },
      "TaxRecordDetails2" : {
        "required" : [ "amount" ],
        "type" : "object",
        "properties" : {
          "period" : {
            "$ref" : "#/components/schemas/TaxPeriod2"
          },
          "amount" : {
            "$ref" : "#/components/schemas/TaxRecordDetails2_amount"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides information on the individual tax amount(s) per period of the tax record.",
        "x-MXComponent" : "TaxRecordDetails2"
      },
      "TotalTransactions7" : {
        "required" : [ "total_number_of_credit_entries", "total_number_of_debit_entries", "total_number_of_entries", "total_sum", "total_sum_of_credit_entries", "total_sum_of_debit_entries" ],
        "type" : "object",
        "properties" : {
          "total_number_of_entries" : {
            "pattern" : "^[0-9]{1,15}$",
            "type" : "string",
            "description" : "Total number of individual entries included in the report.\n\nBased on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.\n",
            "x-MXComponent" : "Max15NumericText"
          },
          "total_sum" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Total of all individual entries included in the report.\n\nBased on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.\n",
            "x-MXComponent" : "DecimalNumber"
          },
          "total_net_entry" : {
            "$ref" : "#/components/schemas/AmountAndDirection35"
          },
          "total_number_of_credit_entries" : {
            "pattern" : "^[0-9]{1,15}$",
            "type" : "string",
            "description" : "Total number of individual credit entries included in the report.\n----------\nUsage Rule: CGI-MP: In the case where only Debits are available, Total Number of Credit Entries must be reported with the amount of zero.\n----------\n\nBased on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.\n",
            "x-MXComponent" : "Max15NumericText"
          },
          "total_sum_of_credit_entries" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Total of all individual credit entries included in the report.\n----------\nUsage Rule: CGI-MP: In the case where only Debits are available, Total Sum of Credit Entries must be reported with the amount of zero.\n----------\n\nBased on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.\n",
            "x-MXComponent" : "DecimalNumber"
          },
          "total_number_of_debit_entries" : {
            "pattern" : "^[0-9]{1,15}$",
            "type" : "string",
            "description" : "Total number of individual debit entries included in the report.\n----------\nUsage Rule: CGI-MP: Mandatory. In the case where only Credits are available, Total Number of Debit Entries must be reported with the amount of zero.\n----------\n\nBased on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.\n",
            "x-MXComponent" : "Max15NumericText"
          },
          "total_sum_of_debit_entries" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Total of all individual debit entries included in the report.\n----------\nUsage Rule: CGI-MP: Mandatory. In the case where only Credits are available, Total Sum of Debit Entries must be reported with the amount of zero.\n----------\n\nBased on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.\n",
            "x-MXComponent" : "DecimalNumber"
          },
          "total_entries_per_bank_transaction_code" : {
            "type" : "array",
            "description" : "Specifies the total number and sum of entries per bank transaction code.",
            "items" : {
              "$ref" : "#/components/schemas/TotalsPerBankTransactionCode6"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to provide summary information on entries.",
        "x-MXComponent" : "TotalTransactions7"
      },
      "TotalsPerBankTransactionCode6" : {
        "required" : [ "bank_transaction_code" ],
        "type" : "object",
        "properties" : {
          "number_of_entries" : {
            "pattern" : "^[0-9]{1,15}$",
            "type" : "string",
            "description" : "Number of individual entries for the bank transaction code.\n\nBased on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.\n",
            "x-MXComponent" : "Max15NumericText"
          },
          "sum" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Total of all individual entries included in the report.\n\nBased on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.\n",
            "x-MXComponent" : "DecimalNumber"
          },
          "total_net_entry" : {
            "$ref" : "#/components/schemas/AmountAndDirection35"
          },
          "number_of_credit_entries" : {
            "pattern" : "^[0-9]{1,15}$",
            "type" : "string",
            "description" : "Number of individual credit entries included in the report.\n\nBased on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.\n",
            "x-MXComponent" : "Max15NumericText"
          },
          "sum_of_credit_entries" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Total of all individual credit entries included in the report.\n\nBased on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.\n",
            "x-MXComponent" : "DecimalNumber"
          },
          "number_of_debit_entries" : {
            "pattern" : "^[0-9]{1,15}$",
            "type" : "string",
            "description" : "Number of individual debit entries included in the report.\n\nBased on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.\n",
            "x-MXComponent" : "Max15NumericText"
          },
          "sum_of_debit_entries" : {
            "maxLength" : 19,
            "type" : "string",
            "description" : "Total of all individual debit entries included in the report.\n\nBased on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.\n",
            "x-MXComponent" : "DecimalNumber"
          },
          "bank_transaction_code" : {
            "$ref" : "#/components/schemas/BankTransactionCodeStructure8"
          },
          "availability" : {
            "type" : "array",
            "description" : "Set of elements used to indicate when the booked amount of money will become available, that is can be accessed and starts generating interest.",
            "items" : {
              "$ref" : "#/components/schemas/CashAvailability1"
            }
          },
          "date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Indicates the date (and time) of the transaction summary.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to provide the total sum of entries per bank transaction code.",
        "x-MXComponent" : "TotalsPerBankTransactionCode6"
      },
      "TrackData1" : {
        "required" : [ "track_value" ],
        "type" : "object",
        "properties" : {
          "track_number" : {
            "pattern" : "^[0-9]$",
            "type" : "string",
            "description" : "Track number of the card.\n\nBased on datatype Exact1NumericText: Specifies a numeric string with an exact length of1digit.\n",
            "x-MXComponent" : "Exact1NumericText"
          },
          "track_value" : {
            "maxLength" : 140,
            "minLength" : 1,
            "type" : "string",
            "description" : "Card track content or equivalent.\n\nBased on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.\n",
            "x-MXComponent" : "Max140Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Magnetic track or equivalent payment card data.",
        "x-MXComponent" : "TrackData1"
      },
      "TransactionAgents7" : {
        "type" : "object",
        "properties" : {
          "instructing_agent" : {
            "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification15"
          },
          "instructed_agent" : {
            "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification15"
          },
          "debtor_agent" : {
            "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification15"
          },
          "creditor_agent" : {
            "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification15"
          },
          "intermediary_agent1" : {
            "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification15"
          },
          "intermediary_agent2" : {
            "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification15"
          },
          "intermediary_agent3" : {
            "$ref" : "#/components/schemas/BranchAndFinancialInstitutionIdentification15"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides further details on the agents specific to the individual transaction.",
        "x-MXComponent" : "TransactionAgents7"
      },
      "TransactionData16" : {
        "required" : [ "amount", "bank_transaction_code", "credit_debit_indicator", "references" ],
        "type" : "object",
        "properties" : {
          "references" : {
            "$ref" : "#/components/schemas/TransactionReferences6"
          },
          "amount" : {
            "$ref" : "#/components/schemas/TransactionData16_amount"
          },
          "credit_debit_indicator" : {
            "type" : "string",
            "description" : "Indicates whether the transaction is a credit or a debit transaction.\n----------\nUsage: CGI-MP: for Concentrator, If Batch is present, then this value represetns the Bulk/Batch total.\n----------\n\nSpecifies if an operation is an increase or a decrease.\n\nCode Name Definition:\n*`CRDT` - Credit - Operation is an increase.\n*`DBIT` - Debit - Operation is a decrease.\nSynonyms\nValue: :22F::CRDB - Context: ISO 15022\n",
            "enum" : [ "CRDT", "DBIT" ],
            "x-MXComponent" : "CreditDebitCode"
          },
          "amount_details" : {
            "$ref" : "#/components/schemas/AmountAndCurrencyExchange5"
          },
          "availability" : {
            "type" : "array",
            "description" : "Set of elements used to indicate when the booked amount of money will become available, that is can be accessed and starts generating interest. \n\nUsage: This type of information is used in the US and is linked to particular instruments such as cheques.\nExample: When a cheque is deposited, it will be booked on the deposit day, but the amount of money will only be accessible as of the indicated availability day (according to national banking regulations).\n\nISO 20022: If Balance Type is equal to ForwardAvailable, Availability is not allowed.\n----------\nUsage: CGI-MP: When 100% availability is provided on the Booking Date, Availability should not be present.\n- When availability is provided for a date other than the Booking Date and zero availability is provided on the Booking Date, the Booking date with a zero value should be present.\n- Recommendation is to use Actual Date.\n- Market practice dependent: General practice in US is to use number of days\n----------\n",
            "items" : {
              "$ref" : "#/components/schemas/CashAvailability1"
            }
          },
          "bank_transaction_code" : {
            "$ref" : "#/components/schemas/BankTransactionCodeStructure8"
          },
          "charges" : {
            "$ref" : "#/components/schemas/Charges18"
          },
          "interest" : {
            "$ref" : "#/components/schemas/TransactionInterest4"
          },
          "related_parties" : {
            "$ref" : "#/components/schemas/TransactionParties13"
          },
          "related_agents" : {
            "$ref" : "#/components/schemas/TransactionAgents7"
          },
          "local_instrument" : {
            "$ref" : "#/components/schemas/LocalInstrument2Choice"
          },
          "purpose" : {
            "$ref" : "#/components/schemas/Purpose2Choice"
          },
          "related_remittance_information" : {
            "maxItems" : 10,
            "type" : "array",
            "description" : "Provides information related to the handling of the remittance information by any of the agents in the transaction processing chain.",
            "items" : {
              "$ref" : "#/components/schemas/RemittanceLocation12"
            }
          },
          "remittance_information" : {
            "$ref" : "#/components/schemas/RemittanceInformation25"
          },
          "related_dates" : {
            "$ref" : "#/components/schemas/TransactionDates4"
          },
          "tax" : {
            "$ref" : "#/components/schemas/TaxInformation8"
          },
          "return_information" : {
            "$ref" : "#/components/schemas/PaymentReturnReason9"
          },
          "cash_deposit" : {
            "type" : "array",
            "description" : "Provides the details of a cash deposit for an amount of money in cash notes and/or coins.",
            "items" : {
              "$ref" : "#/components/schemas/CashDeposit1"
            }
          },
          "card_transaction" : {
            "$ref" : "#/components/schemas/CardTransaction17"
          },
          "additional_transaction_information" : {
            "maxLength" : 500,
            "minLength" : 1,
            "type" : "string",
            "description" : "Further details of the transaction.\n\nBased on datatype Max500Text: Specifies a character string with a maximum length of 500 characters.\n",
            "x-MXComponent" : "Max500Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Identifies the underlying transaction.",
        "x-MXComponent" : "TransactionData16"
      },
      "TransactionDates4" : {
        "type" : "object",
        "properties" : {
          "acceptance_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Point in time when the payment order from the initiating party meets the processing conditions of the account servicing agent. This means that the account servicing agent has received the payment order and has applied checks such as authorisation, availability of funds.\n----------\nUsage Rule: CGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n----------\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "interbank_settlement_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date on which the amount of money ceases to be available to the agent that owes it and when the amount of money becomes available to the agent to which it is due.\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "start_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Start date of the underlying transaction, such as a treasury transaction, an investment plan.\n----------\nUsage Rule: CGI-MP: May be used for cheque issuance date.\n----------\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "end_date" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "End date of the underlying transaction, such as a treasury transaction, an investment plan.\n----------\nUsage Rule: CGI-MP: May be used for cheque expiry date.\n----------\n\nBased on datatype ISODate: A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\n",
            "x-MXComponent" : "ISODate"
          },
          "transaction_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Date and time of the underlying transaction.\n----------\nUsage Rule: CGI-MP: Use local time with the UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), otherwise use UTC time format (YYYY-MM-DDThh:mm:ss.sssZ).\n----------\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          }
        },
        "additionalProperties" : false,
        "description" : "Set of elements used to provide information on the dates related to the underlying individual transaction.",
        "x-MXComponent" : "TransactionDates4"
      },
      "TransactionIdentifier1" : {
        "required" : [ "transaction_date_time", "transaction_reference" ],
        "type" : "object",
        "properties" : {
          "transaction_date_time" : {
            "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]+)?(?:Z|[+-][01]\\d:[0-5]\\d)?$",
            "type" : "string",
            "description" : "Local date and time of the transaction assigned by the POI (Point Of Interaction).\n\nBased on datatype ISODateTime: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in \"XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004\" which is aligned with ISO 8601.\nNote on the time format:\n1) beginning / end of calendar day\n00:00:00 = the beginning of a calendar day\n24:00:00 = the end of a calendar day\n2) fractions of second in time format\nDecimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.\n",
            "x-MXComponent" : "ISODateTime"
          },
          "transaction_reference" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of the transaction that has to be unique for a time period.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          }
        },
        "additionalProperties" : false,
        "description" : "Identification of the transaction in an unambiguous way.",
        "x-MXComponent" : "TransactionIdentifier1"
      },
      "TransactionInterest4" : {
        "type" : "object",
        "properties" : {
          "total_interest_and_tax_amount" : {
            "$ref" : "#/components/schemas/TransactionInterest4_total_interest_and_tax_amount"
          },
          "record" : {
            "type" : "array",
            "description" : "Individual interest record.",
            "items" : {
              "$ref" : "#/components/schemas/InterestRecord2"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Provide further details on transaction specific interest information that applies to the underlying transaction.",
        "x-MXComponent" : "TransactionInterest4"
      },
      "TransactionParties13" : {
        "type" : "object",
        "properties" : {
          "initiating_party" : {
            "$ref" : "#/components/schemas/Party61Choice"
          },
          "debtor" : {
            "$ref" : "#/components/schemas/Party61Choice"
          },
          "debtor_account" : {
            "$ref" : "#/components/schemas/CashAccount214"
          },
          "ultimate_debtor" : {
            "$ref" : "#/components/schemas/Party61Choice"
          },
          "creditor" : {
            "$ref" : "#/components/schemas/Party61Choice"
          },
          "creditor_account" : {
            "$ref" : "#/components/schemas/CashAccount214"
          },
          "ultimate_creditor" : {
            "$ref" : "#/components/schemas/Party61Choice"
          },
          "trading_party" : {
            "$ref" : "#/components/schemas/Party61Choice"
          }
        },
        "additionalProperties" : false,
        "description" : "Provides further details on the parties specific to the individual transaction.",
        "x-MXComponent" : "TransactionParties13"
      },
      "TransactionReferences6" : {
        "type" : "object",
        "properties" : {
          "message_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Point to point reference, as assigned by the instructing party of the underlying message.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "account_servicer_reference" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique reference, as assigned by the account servicing institution, to unambiguously identify the instruction.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "payment_information_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification, as assigned by a sending party, to unambiguously identify the payment information group within the message.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "instruction_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.\n\nUsage: The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "end_to_end_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\n\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\n\nUsage: In case there are technical limitations to pass on multiple references, the end-to-end identification must be passed on throughout the entire end-to-end chain.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "uetr" : {
            "pattern" : "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$",
            "type" : "string",
            "description" : "Universally unique identifier to provide an end-to-end reference of a payment transaction.\n\nBased on datatype UUIDv4Identifier: Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique IDentifier (UUID) URN Namespace\".\n",
            "x-MXComponent" : "UUIDv4Identifier"
          },
          "transaction_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification, as assigned by the first instructing agent, to unambiguously identify the transaction that is passed on, unchanged, throughout the entire interbank chain. \nUsage: The transaction identification can be used for reconciliation, tracking or to link tasks relating to the transaction on the interbank level. \nUsage: The instructing agent has to make sure that the transaction identification is unique for a pre-agreed period.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "mandate_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique identification, as assigned by the creditor, to unambiguously identify the mandate.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "cheque_number" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique and unambiguous identifier for a cheque as assigned by the agent.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "clearing_system_reference" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unique reference, as assigned by a clearing system, to unambiguously identify the instruction.\nUsage: In case there are technical limitations to pass on multiple references, the end-to-end identification must be passed on throughout the entire end-to-end chain.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "account_owner_transaction_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unambiguous identification of the securities transaction as known by the securities account owner (or the instructing party managing the account).\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "account_servicer_transaction_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Unambiguous identification of the securities transaction as known by the securities account servicer.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "market_infrastructure_transaction_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of a securities transaction assigned by a market infrastructure other than a central securities depository, for example, Target2-Securities.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "processing_identification" : {
            "maxLength" : 35,
            "minLength" : 1,
            "type" : "string",
            "description" : "Identification of the securities transaction assigned by the processor of the instruction other than the securities account owner, the securities account servicer and the market infrastructure.\n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n",
            "x-MXComponent" : "Max35Text"
          },
          "proprietary" : {
            "type" : "array",
            "description" : "Proprietary reference related to the underlying transaction.",
            "items" : {
              "$ref" : "#/components/schemas/ProprietaryReference1"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "Identifies the underlying transaction.",
        "x-MXComponent" : "TransactionReferences6"
      },
      "ErrorMessage" : {
        "required" : [ "code", "severity", "text" ],
        "type" : "object",
        "properties" : {
          "severity" : {
            "type" : "string",
            "enum" : [ "Fatal", "Transient", "Logic" ]
          },
          "code" : {
            "type" : "string"
          },
          "text" : {
            "type" : "string"
          },
          "user_message" : {
            "type" : "string"
          },
          "more_info" : {
            "type" : "string",
            "format" : "uri"
          }
        }
      },
      "AmountAndCurrencyExchangeDetails4_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money to be exchanged against another amount of money in the counter currency.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "AmountAndCurrencyExchangeDetails7_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "BatchInformation3_total_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Total amount of money reported in the batch entry.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "CashAvailability1_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Identifies the available amount.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "CashBalance17_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money of the cash balance.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "CashDeposit1_note_denomination" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the note or coin denomination, including the currency, such as a 50 euro note.\n\nBased on datatype ActiveCurrencyAndAmount: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "CashDeposit1_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Specifies the total amount of money in the cash deposit, that is the note denomination times the number of notes.\n\nBased on datatype ActiveCurrencyAndAmount: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "Charges18_total_charges_and_tax_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Total of all charges and taxes applied to the entry.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "ChargesRecord13_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Transaction charges to be paid by the charge bearer.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "CreditLine5_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money of the credit line.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "DiscountAmountAndType1_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money, which has been typed.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "DocumentAdjustment1_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money of the document adjustment.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "EntryData16_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money in the cash entry.\n----------\nUsage: CGI-MP: Amount in the currency of the account reported. This amount can be zero.\n----------\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "Garnishment3_remitted_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money remitted for the referred document.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "InterestRecord2_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of interest included in the entry amount.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "RemittanceAmount3_due_payable_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount specified is the exact amount due and payable to the creditor.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "RemittanceAmount3_credit_note_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of a credit note.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "RemittanceAmount3_remitted_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money remitted.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "RemittanceAmount7_credit_note_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount specified for the referred document is the amount of a credit note.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "TaxAmount2_taxable_base_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money on which the tax is based.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "TaxAmount2_total_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Total amount that is the result of the calculation of the tax for the record.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "TaxCharges2_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money resulting from the calculation of the tax.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "TaxInformation7_total_taxable_base_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Total amount of money on which the tax is based.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "TaxInformation7_total_tax_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Total amount of money as result of the calculation of the tax.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "TaxRecordDetails2_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Underlying tax amount related to the specified period.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "TransactionData16_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Amount of money in the cash transaction.\n----------\nUsage: CGI-MP: for Concentrator, If Batch is present, then this value represetns the Bulk/Batch total.\n----------\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      },
      "TransactionInterest4_total_interest_and_tax_amount" : {
        "required" : [ "amount", "currency" ],
        "type" : "object",
        "properties" : {
          "currency" : {
            "pattern" : "^[A-Z]{3,3}$",
            "type" : "string",
            "x-MXComponent" : "ActiveOrHistoricCurrencyCode"
          },
          "amount" : {
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "description" : "Total amount of interests and taxes included in the entry amount.\n\nBased on datatype ActiveOrHistoricCurrencyAndAmount: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.\n"
      }
    },
    "responses" : {
      "400-BadRequest" : {
        "description" : "Bad Request",
        "headers" : {
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          },
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorMessage"
            }
          }
        }
      },
      "401-Unauthorized" : {
        "description" : "Unauthorized",
        "headers" : {
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          },
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorMessage"
            }
          }
        }
      },
      "403-Forbidden" : {
        "description" : "Forbidden",
        "headers" : {
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          },
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorMessage"
            }
          }
        }
      },
      "404-NotFound" : {
        "description" : "Not Found",
        "headers" : {
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          },
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorMessage"
            }
          }
        }
      },
      "406-NotAcceptable" : {
        "description" : "Not Acceptable",
        "headers" : {
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          },
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorMessage"
            }
          }
        }
      },
      "429-TooManyRequests" : {
        "description" : "Too Many Requests",
        "headers" : {
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          },
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorMessage"
            }
          }
        }
      },
      "503-ServiceUnavailable" : {
        "description" : "Service Unavailable",
        "headers" : {
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          },
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorMessage"
            }
          }
        }
      },
      "504-GatewayTimeout" : {
        "description" : "Gateway Timeout",
        "headers" : {
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          },
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorMessage"
            }
          }
        }
      }
    },
    "securitySchemes" : {
      "oauthBearerToken" : {
        "type" : "http",
        "description" : "The access token obtained as a result of OAuth 2.0 flows. SWIFT supports two OAuth grant types for consumption depending on the environment where the API is exposed. \n\n  - MV-SIPN - jwt-bearer grant type [RFC 7523](https://tools.ietf.org/html/rfc7523) with Signed JWT assertion\n  - Internet - Password grant type with license credentials.\n\nThis API uses JWT-Bearer grant type.\n\nPlease visit [SWIFT OAuth Token API](https://developer.swift.com/swift-oauth-token-api) page for more information and examples on how to generate an OAuth token.\n\nIn this declaration only the basic security element to transport the bearer token of an OAuth2 process is declared.\n",
        "scheme" : "bearer",
        "bearerFormat" : "opaque OAuth 2.0"
      },
      "oAuth2" : {
        "type" : "oauth2",
        "description" : "This API uses OAuth2 with the client credentials grant type for service provider API gateway integration. Used between an end SWIFT API gateway and service provider API gateway.\n\nPlease visit [SWIFT OAuth Token API](https://developer.swift.com/swift-oauth-token-api) for more information and examples.\n",
        "flows" : {
          "clientCredentials" : {
            "tokenUrl" : "/v1/oauth2/token",
            "scopes" : { }
          }
        }
      }
    }
  }
}