openapi: 3.0.2
info:
  title: Swift India JV C2B Payments
  description: |
    APIs for JVIN Payments and Cash Management. Elements are aligned to message templates n MyStandards for compatibility.
    Swift India JV (JVIN) C2B API for payment initiation and reporting (batch
    payments)
  contact:
    name: Developer Hub
    url: https://developer.swift.com
    email: developer-support@swift.com
  license:
    name: API Open License
    url: https://www.swift.com/about-us/legal/swift-terms-and-conditions/other-terms-and-conditions#APIcontractualdocumentation
  version: 1.1.0
servers:
- url: https://sandbox.swift.com/swift-c2b-payments/v1
  description: URL for Sandbox Environment.
- url: https://api-test.swiftnet.sipn.swift.com/swift-c2b-payments/v1
  description: URL for Apigee (SDK consumer) Pilot.
- url: https://api.swiftnet.sipn.swift.com/swift-c2b-payments/v1
  description: URL for Apigee (SDK consumer) Live.
security:
- oauthBearerToken: []
- oAuth2: []
tags:
- name: jVIndiaPCM
paths:
  /payment-initiation:
    post:
      tags:
      - jVIndiaPCM
      summary: Sends a (batch) payment initiation to the Bank.
      description: "Sends a (batch) payment initiation to the Bank. Note that the batch payment should fit in 1 API (maximum size depending on API gateway). If more payments need to be transferred, then split in 2 batches."
      operationId: createRestrictedJVINPaymentInitiationData
      parameters:
      - $ref: "#/components/parameters/X-Request-ID"
      - $ref: "#/components/parameters/X-BIC"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PostRestrictedJVINPaymentInitiationData1"
            example:
              {
                "batch_payment_initiation_identification": "ourbatchpayment123",
                "creation_date_time": "2025-05-07T11:23:12.000Z",
                "control_sum": "200000",
                "initiating_party": {
                  "name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD",
                  "identification": {
                    "any_bic": "SDOMINBIXXX"
                  }
                },
                "number_of_transactions": "1",
                "payment_information": [
                  {
                    "payment_information_identification": "paymentgroupref1",
                    "payment_method": "TRF",
                    "instruction_priority": "HIGH",
                    "service_level": "URGP",
                    "local_instrument": "RTGS",
                    "category_purpose": "SUPP",
                    "requested_execution_date": "2025-05-08",
                    "debtor": {
                      "name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD"
                    },
                    "debtor_account": {
                      "identification": "1234567890",
                      "currency": "INR"
                    },
                    "debtor_agent": {
                      "bicfi": "ICICINBBXXX",
                      "country": "IN"
                    },
                    "credit_transfer_transaction_information": [
                      {
                        "instruction_identification": "R41.2020",
                        "end_to_end_identification": "/XUTR/1234567890123456",
                        "uetr": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
                        "instructed_amount": {
                          "currency": "INR",
                          "amount": "200000"
                        },
                        "creditor_agent": {
                          "bicfi": "BARBINBBXXX",
                          "country": "IN"
                        },
                        "creditor": {
                          "name": "MUKTA COMPUTER SERVICES LTD",
                          "address_line": [
                            "Unit No.1403, 14th Floor, The Capital,",
                            "Plot No. C-70, G Block,",
                            "Mumbai",
                            "Maharashtra 400051"
                          ]
                        },
                        "creditor_account": {
                          "identification": "98765432109876543210",
                          "currency": "INR"
                        },
                        "remittance_information": {
                          "unstructured": "Invoice 31415. Thanks for the great service."
                        }
                      }
                    ]
                  }
                ]
              }
      responses:
        "201":
          description: "Scope\r\nRestrictedJVINPaymentInitiationData1 (\"API\") is sent by the initiating party to the debtor agent. It is used to request movement of funds from the debtor account to a creditor.\r\n\r\nUsage\r\nRestrictedJVINPaymentInitiationData1 (\"API\") can contain one or more customer credit transfer instructions.\r\nThe API is used to exchange:\r\n- One or more instances of a credit transfer initiation;\r\n- Payment transactions that result in book transfers at the debtor agent or payments to another financial institution;\r\n- Payment transactions that result in an electronic cash transfer to the creditor account or in the emission of a cheque.\r\n\r\nThe API can be used in the following scenarios:\r\n- In a direct scenario, the API is sent directly to the debtor agent. The debtor agent is the account servicer of the debtor.\r\n- The API can also be used by an initiating party that has authority to send the message on behalf of the debtor. This caters for example for the scenario of a payments factory initiating all payments on behalf of a large corporate.\r\n- The API can be used in domestic and cross-border scenarios.\r\n- The API must not be used by the debtor agent to execute the credit transfer instruction(s). The FIToFICustomerCreditTransfer message or equivalent API must be used instead.\r\n\r\nRule: ChargeBearerPayOrTranLevel\r\nFor each Customer Credit Transfer Initiation, the following elements are mutually exclusive: Charge Bearer at Payment Information level and Charge Bearer at Transaction level and all may be absent\r\n\r\nRule: INTranSrvclv-optionalCHQ_L1\r\nFor each Customer Credit Transfer Initiation, if at least one occurrence of Credit Transfer [TRF] is (are) present, then for each Payment Type Information, at least one occurrence of Service Level must be present\r\n\r\nRule: INTranSrvclvloptionalCHQ_L2\r\nFor each Customer Credit Transfer Initiation, if at least one occurrence of Credit Transfer [TRF] is (are) present, then for each Payment Type Information, at least one occurrence of Service Level must be present\r\n\r\nRule: INTranLclInstrm-mandatoryCHQ_L1\r\nFor each Customer Credit Transfer Initiation, if at least one occurrence of Cheque [CHK] is (are) present, then for each Payment Type Information, at least one occurrence of Local Instrument must be present\r\n\r\nRule: INTranLclInstrm-mandatoryCHQ_L2\r\nFor each Customer Credit Transfer Initiation, if at least one occurrence of Cheque [CHK] is (are) present, then for each Payment Type Information, at least one occurrence of Local Instrument must be present"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RestrictedJVINPaymentInitiationData1BatchPaymentReference"
              example:
                batch_payment_reference: 91823d1b-3266-4a20-a3fd-bde174b9188e
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"              
        "400":
          description: A 400 Bad Request response status is returned for validation or other business errors.
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"                 
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessage"
              examples:
                "400-SwAP510":
                  $ref: "#/components/examples/400-SwAP510"
                "400-SwAP509":
                  $ref: "#/components/examples/400-SwAP509"
                "400-SwAP504-txt":
                  $ref: "#/components/examples/400-SwAP504-txt"
                "400-SwAP504-bic":
                  $ref: "#/components/examples/400-SwAP504-bic"
                "400-SwAP504-svc":
                  $ref: "#/components/examples/400-SwAP504-svc"
                "400-SwAP522":
                  $ref: "#/components/examples/400-SwAP522"
                "400-SwAP504":
                  $ref: "#/components/examples/400-SwAP504"
                "400-SwAP505":
                  $ref: "#/components/examples/400-SwAP505"
                "400-SwAP501":
                  $ref: "#/components/examples/400-SwAP501"
        "401":
          $ref: "#/components/responses/401-Unauthorized"
        "403":
          $ref: "#/components/responses/403-Forbidden"
        "404":
          $ref: "#/components/responses/404-NotFound"
        "429":
          $ref: "#/components/responses/429-TooManyRequests"
        "503":
          $ref: "#/components/responses/503-ServiceUnavailable"
        "504":
          $ref: "#/components/responses/504-GatewayTimeout"
  /payment-initiation/{batch_payment_reference}:
    get:
      tags:
      - jVIndiaPCM
      summary: Retrieves the previously sent (batch) payment initiation.
      description: Retrieves the previously sent (batch) payment initiation.
      operationId: fetchRestrictedJVINPaymentInitiationData
      parameters:
      - $ref: "#/components/parameters/X-Request-ID"
      - $ref: "#/components/parameters/X-BIC"
      - name: batch_payment_reference
        in: path
        description: "Unique technical identification of the batch payment initiation as defined by the bank's server. \r\n\r\nNote: The corporate does not use this field when first submitting the batch payment initiation. but it should be used when subsequently retrieving the batch payment initiation."
        required: true
        style: simple
        explode: false
        schema:
          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 (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique IDentifier (UUID) URN Namespace\"."
          x-MXComponent: UUIDv4Identifier
        example: 91823d1b-3266-4a20-a3fd-bde174b9188e
      responses:
        "200":
          description: "Scope\r\nRestrictedJVINPaymentInitiationData1 (\"API\") is sent by the initiating party to the debtor agent. It is used to request movement of funds from the debtor account to a creditor.\r\n\r\nUsage\r\nRestrictedJVINPaymentInitiationData1 (\"API\") can contain one or more customer credit transfer instructions.\r\nThe API is used to exchange:\r\n- One or more instances of a credit transfer initiation;\r\n- Payment transactions that result in book transfers at the debtor agent or payments to another financial institution;\r\n- Payment transactions that result in an electronic cash transfer to the creditor account or in the emission of a cheque.\r\n\r\nThe API can be used in the following scenarios:\r\n- In a direct scenario, the API is sent directly to the debtor agent. The debtor agent is the account servicer of the debtor.\r\n- The API can also be used by an initiating party that has authority to send the message on behalf of the debtor. This caters for example for the scenario of a payments factory initiating all payments on behalf of a large corporate.\r\n- The API can be used in domestic and cross-border scenarios.\r\n- The API must not be used by the debtor agent to execute the credit transfer instruction(s). The FIToFICustomerCreditTransfer message or equivalent API must be used instead.\r\n\r\nRule: ChargeBearerPayOrTranLevel\r\nFor each Customer Credit Transfer Initiation, the following elements are mutually exclusive: Charge Bearer at Payment Information level and Charge Bearer at Transaction level and all may be absent\r\n\r\nRule: INTranSrvclv-optionalCHQ_L1\r\nFor each Customer Credit Transfer Initiation, if at least one occurrence of Credit Transfer [TRF] is (are) present, then for each Payment Type Information, at least one occurrence of Service Level must be present\r\n\r\nRule: INTranSrvclvloptionalCHQ_L2\r\nFor each Customer Credit Transfer Initiation, if at least one occurrence of Credit Transfer [TRF] is (are) present, then for each Payment Type Information, at least one occurrence of Service Level must be present\r\n\r\nRule: INTranLclInstrm-mandatoryCHQ_L1\r\nFor each Customer Credit Transfer Initiation, if at least one occurrence of Cheque [CHK] is (are) present, then for each Payment Type Information, at least one occurrence of Local Instrument must be present\r\n\r\nRule: INTranLclInstrm-mandatoryCHQ_L2\r\nFor each Customer Credit Transfer Initiation, if at least one occurrence of Cheque [CHK] is (are) present, then for each Payment Type Information, at least one occurrence of Local Instrument must be present"
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"                 
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RestrictedJVINPaymentInitiationData1"
              example:
                {
                  "batch_payment_reference": "91823d1b-3266-4a20-a3fd-bde174b9188e",
                  "batch_payment_initiation_identification": "ourbatchpayment123",
                  "creation_date_time": "2025-05-07T11:23:12.000Z",
                  "control_sum": "200000",
                  "initiating_party": {
                    "name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD",
                    "identification": {
                      "any_bic": "SDOMINBIXXX"
                    }
                  },
                  "number_of_transactions": "1",
                  "payment_information": [
                    {
                      "payment_information_identification": "paymentgroupref1",
                      "payment_method": "TRF",
                      "instruction_priority": "HIGH",
                      "service_level": "URGP",
                      "local_instrument": "RTGS",
                      "category_purpose": "SUPP",
                      "requested_execution_date": "2025-05-08",
                      "debtor": {
                        "name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD"
                      },
                      "debtor_account": {
                        "identification": "1234567890",
                        "currency": "INR"
                      },
                      "debtor_agent": {
                        "bicfi": "ICICINBBXXX",
                        "country": "IN"
                      },
                      "credit_transfer_transaction_information": [
                        {
                          "instruction_identification": "R41.2020",
                          "end_to_end_identification": "/XUTR/1234567890123456",
                          "uetr": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
                          "instructed_amount": {
                            "currency": "INR",
                            "amount": "200000"
                          },
                          "creditor_agent": {
                            "bicfi": "BARBINBBXXX",
                            "country": "IN"
                          },
                          "creditor": {
                            "name": "MUKTA COMPUTER SERVICES LTD",
                            "address_line": [
                              "Unit No.1403, 14th Floor, The Capital,",
                              "Plot No. C-70, G Block,",
                              "Mumbai",
                              "Maharashtra 400051"
                            ]
                          },
                          "creditor_account": {
                            "identification": "98765432109876543210",
                            "currency": "INR"
                          },
                          "remittance_information": {
                            "unstructured": "Invoice 31415. Thanks for the great service."
                          }
                        }
                      ]
                    }
                  ]
                }
        "400":
          description: A 400 Bad Request response status is returned for validation or other business errors.
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"                 
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessage"
              examples:
                "400-SwAP510":
                  $ref: "#/components/examples/400-SwAP510"
                "400-SwAP509":
                  $ref: "#/components/examples/400-SwAP509"
                "400-SwAP504-txt":
                  $ref: "#/components/examples/400-SwAP504-txt"
                "400-SwAP504-bic":
                  $ref: "#/components/examples/400-SwAP504-bic"
                "400-SwAP504-svc":
                  $ref: "#/components/examples/400-SwAP504-svc"
                "400-SwAP522":
                  $ref: "#/components/examples/400-SwAP522"
                "400-SwAP504":
                  $ref: "#/components/examples/400-SwAP504"
                "400-SwAP505":
                  $ref: "#/components/examples/400-SwAP505"
                "400-SwAP501":
                  $ref: "#/components/examples/400-SwAP501"
        "401":
          $ref: "#/components/responses/401-Unauthorized"
        "403":
          $ref: "#/components/responses/403-Forbidden"
        "404":
          $ref: "#/components/responses/404-NotFound"
        "429":
          $ref: "#/components/responses/429-TooManyRequests"
        "503":
          $ref: "#/components/responses/503-ServiceUnavailable"
        "504":
          $ref: "#/components/responses/504-GatewayTimeout"
  /payment-status-report/{report_reference}:
    get:
      tags:
      - jVIndiaPCM
      summary: Retrieves a (batch) payment status report previously sent to the Customer.
      description: Retrieves a (batch) payment status report previously sent to the Customer.
      operationId: fetchRestrictedJVINCustomerPaymentStatusReportData
      parameters:
      - $ref: "#/components/parameters/X-Request-ID"
      - $ref: "#/components/parameters/X-BIC"
      - name: report_reference
        in: path
        description: "Unique technical identification of the customer payment status report as defined by the customer's server. \r\n\r\nNote: The customerdoes not use this field when first submitting the customer payment status report. but it should be used when subsequently retrieving the customer payment status report."
        required: true
        style: simple
        explode: false
        schema:
          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 (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique IDentifier (UUID) URN Namespace\"."
          x-MXComponent: UUIDv4Identifier
        example: 91823d1b-3266-4a20-a3fd-bde174b9188e
      responses:
        "200":
          description: "Scope\r\nThe RestrictedJVINCustomerPaymentStatusReportData1 (\"API\") is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.\r\n\r\nUsage\r\nThe RestrictedJVINCustomerPaymentStatusReportData1 (\"API\") is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.\r\nThe API can be used to provide information about the status (e.g. rejection, acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.\r\nThe API refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.\r\nThe API can be used in domestic and cross-border scenarios.\r\nThe API may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (e.g. either the beneficiary is credited, or the transaction is rejected)."
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"                 
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RestrictedJVINCustomerPaymentStatusReportData1"
              example:
                {
                  "report_reference": "91823d1b-3266-4a20-a3fd-bde174b9188e",
                  "customer_payment_status_report_identification": "Report001",
                  "creation_date_time": "2025-05-07T11:23:32.000Z",
                  "initiating_party_name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD",
                  "initiating_party_bic": "SDOMINBIXXX",
                  "original_batch_payment_reference": "e58ed763-928c-4155-bee9-fdbaaadc15f3",
                  "original_batch_payment_initiation_identification": "ourbatchpayment123",
                  "original_creation_date_time": "2025-05-07T11:23:12.000Z",
                  "original_number_of_transactions": "1",
                  "original_control_sum": "200000",
                  "original_payment_information_and_status": [
                    {
                      "original_payment_information_identification": "paymentgroupref1",
                      "transaction_information_and_status": [
                        {
                          "status_identification": "status001",
                          "original_instruction_identification": "R41.2020",
                          "original_end_to_end_identification": "/XUTR/1234567890123456",
                          "original_uetr": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
                          "transaction_status": "ACCP",
                          "status_reason_information_code": [
                            "DS07"
                          ],
                          "clearing_system_reference": "UTR001",
                          "original_transaction_reference": {
                            "amount": {
                              "instructed_amount": {
                                "amount": "200000",
                                "currency": "INR"
                              }
                            },
                            "requested_execution_date": {
                              "date": "2025-05-08"
                            },
                            "instruction_priority": "HIGH",
                            "clearing_channel": "RTGS",
                            "service_level": "URGP",
                            "local_instrument": "RTGS",
                            "sequence_type": "FRST",
                            "category_purpose": "SUPP",
                            "debtor_agent": {
                              "bicfi": "ICICINBBXXX"
                            },
                            "debtor_name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD",
                            "debtor_account": "1234567890",
                            "creditor_agent": {
                              "bicfi": "BARBINBBXXX"
                            },
                            "creditor_name": "MUKTA COMPUTER SERVICES LTD",
                            "creditor_account": {
                              "identification": "98765432109876543210"
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
        "400":
          description: A 400 Bad Request response status is returned for validation or other business errors.
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"                 
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessage"
              examples:
                "400-SwAP510":
                  $ref: "#/components/examples/400-SwAP510"
                "400-SwAP509":
                  $ref: "#/components/examples/400-SwAP509"
                "400-SwAP504-txt":
                  $ref: "#/components/examples/400-SwAP504-txt"
                "400-SwAP504-bic":
                  $ref: "#/components/examples/400-SwAP504-bic"
                "400-SwAP504-svc":
                  $ref: "#/components/examples/400-SwAP504-svc"
                "400-SwAP522":
                  $ref: "#/components/examples/400-SwAP522"
                "400-SwAP504":
                  $ref: "#/components/examples/400-SwAP504"
                "400-SwAP505":
                  $ref: "#/components/examples/400-SwAP505"
                "400-SwAP501":
                  $ref: "#/components/examples/400-SwAP501"
        "401":
          $ref: "#/components/responses/401-Unauthorized"
        "403":
          $ref: "#/components/responses/403-Forbidden"
        "404":
          $ref: "#/components/responses/404-NotFound"
        "429":
          $ref: "#/components/responses/429-TooManyRequests"
        "503":
          $ref: "#/components/responses/503-ServiceUnavailable"
        "504":
          $ref: "#/components/responses/504-GatewayTimeout"
  /payment-status-report:
    post:
      tags:
      - jVIndiaPCM
      summary: Sends a (batch) payment status report to the Customer.
      description: Sends a (batch) payment status report to the Customer.
      operationId: createRestrictedJVINCustomerPaymentStatusReportData
      parameters:
      - $ref: "#/components/parameters/X-Request-ID"
      - $ref: "#/components/parameters/X-BIC"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PostRestrictedJVINCustomerPaymentStatusReportData1"
            example:
              {
                "customer_payment_status_report_identification": "Report001",
                "creation_date_time": "2025-05-07T11:23:32.000Z",
                "initiating_party_name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD",
                "initiating_party_bic": "SDOMINBIXXX",
                "original_batch_payment_reference": "e58ed763-928c-4155-bee9-fdbaaadc15f3",
                "original_batch_payment_initiation_identification": "ourbatchpayment123",
                "original_creation_date_time": "2025-05-07T11:23:12.000Z",
                "original_number_of_transactions": "1",
                "original_control_sum": "200000",
                "original_payment_information_and_status": [
                  {
                    "original_payment_information_identification": "paymentgroupref1",
                    "transaction_information_and_status": [
                      {
                        "status_identification": "status001",
                        "original_instruction_identification": "R41.2020",
                        "original_end_to_end_identification": "/XUTR/1234567890123456",
                        "original_uetr": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
                        "transaction_status": "ACCP",
                        "status_reason_information_code": [
                          "DS07"
                        ],
                        "clearing_system_reference": "UTR001",
                        "original_transaction_reference": {
                          "amount": {
                            "instructed_amount": {
                              "amount": "200000",
                              "currency": "INR"
                            }
                          },
                          "requested_execution_date": {
                            "date": "2025-05-08"
                          },
                          "instruction_priority": "HIGH",
                          "clearing_channel": "RTGS",
                          "service_level": "URGP",
                          "local_instrument": "RTGS",
                          "sequence_type": "FRST",
                          "category_purpose": "SUPP",
                          "debtor_agent": {
                            "bicfi": "ICICINBBXXX"
                          },
                          "debtor_name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD",
                          "debtor_account": "1234567890",
                          "creditor_agent": {
                            "bicfi": "BARBINBBXXX"
                          },
                          "creditor_name": "MUKTA COMPUTER SERVICES LTD",
                          "creditor_account": {
                            "identification": "98765432109876543210"
                          }
                        }
                      }
                    ]
                  }
                ]
              }
      responses:
        "201":
          description: "Scope\r\nThe RestrictedJVINCustomerPaymentStatusReportData1 (\"API\") is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.\r\n\r\nUsage\r\nThe RestrictedJVINCustomerPaymentStatusReportData1 (\"API\") is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.\r\nThe API can be used to provide information about the status (e.g. rejection, acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.\r\nThe API refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.\r\nThe API can be used in domestic and cross-border scenarios.\r\nThe API may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (e.g. either the beneficiary is credited, or the transaction is rejected)."
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"                 
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RestrictedJVINCustomerPaymentStatusReportData1ReportReference"
              example:
                report_reference: f47ac10b-58cc-4372-a567-0e02b2c3d479
        "400":
          description: A 400 Bad Request response status is returned for validation or other business errors.
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"                 
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessage"
              examples:
                "400-SwAP510":
                  $ref: "#/components/examples/400-SwAP510"
                "400-SwAP509":
                  $ref: "#/components/examples/400-SwAP509"
                "400-SwAP504-txt":
                  $ref: "#/components/examples/400-SwAP504-txt"
                "400-SwAP504-bic":
                  $ref: "#/components/examples/400-SwAP504-bic"
                "400-SwAP504-svc":
                  $ref: "#/components/examples/400-SwAP504-svc"
                "400-SwAP522":
                  $ref: "#/components/examples/400-SwAP522"
                "400-SwAP504":
                  $ref: "#/components/examples/400-SwAP504"
                "400-SwAP505":
                  $ref: "#/components/examples/400-SwAP505"
                "400-SwAP501":
                  $ref: "#/components/examples/400-SwAP501"
        "401":
          $ref: "#/components/responses/401-Unauthorized"
        "403":
          $ref: "#/components/responses/403-Forbidden"
        "404":
          $ref: "#/components/responses/404-NotFound"
        "429":
          $ref: "#/components/responses/429-TooManyRequests"
        "503":
          $ref: "#/components/responses/503-ServiceUnavailable"
        "504":
          $ref: "#/components/responses/504-GatewayTimeout"
  /a1a2-payment-initiation/{batch_payment_reference}:
    get:
      tags:
      - jVIndiaPCM
      summary: "Retrieves the previously sent (batch) payment initiation, includes the A1A2 dataset for foreign remittance."
      description: "Retrieves the previously sent (batch) payment initiation, includes the A1A2 dataset for foreign remittance."
      operationId: fetchRestrictedJVINAAPaymentInitiationData
      parameters:
      - $ref: "#/components/parameters/X-Request-ID"
      - $ref: "#/components/parameters/X-BIC"
      - name: batch_payment_reference
        in: path
        description: "Unique technical identification of the batch payment initiation as defined by the bank's server. \r\n\r\nNote: The corporate does not use this field when first submitting the batch payment initiation. but it should be used when subsequently retrieving the batch payment initiation."
        required: true
        style: simple
        explode: false
        schema:
          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 (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique IDentifier (UUID) URN Namespace\"."
          x-MXComponent: UUIDv4Identifier
        example: 91823d1b-3266-4a20-a3fd-bde174b9188e
      responses:
        "200":
          description: "Scope\r\nRestrictedJVINA1A2PaymentInitiationData1 (\"API\") is sent by the initiating party to the debtor agent. It is used to request movement of funds from the debtor account to a creditor.\r\n\r\nUsage\r\nRestrictedJVINA1A2PaymentInitiationData1 (\"API\") can contain one or more customer credit transfer instructions.\r\nThe API is used to exchange:\r\n- One or more instances of a credit transfer initiation;\r\n- Payment transactions that result in book transfers at the debtor agent or payments to another financial institution;\r\n- Payment transactions that result in an electronic cash transfer to the creditor account or in the emission of a cheque.\r\n\r\nThe API can be used in the following scenarios:\r\n- In a direct scenario, the API is sent directly to the debtor agent. The debtor agent is the account servicer of the debtor.\r\n- The API can also be used by an initiating party that has authority to send the API on behalf of the debtor. This caters for example for the scenario of a payments factory initiating all payments on behalf of a large corporate.\r\n- The API can be used in domestic and cross-border scenarios.\r\n- The API must not be used by the debtor agent to execute the credit transfer instruction(s). The FIToFICustomerCreditTransfer message or equivalent API must be used instead."
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"                 
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RestrictedJVINA1A2PaymentInitiationData1"
              example:
                {
                  "batch_payment_reference": "91823d1b-3266-4a20-a3fd-bde174b9188e",
                  "batch_payment_initiation_identification": "ourbatchpayment123",
                  "creation_date_time": "2025-05-07T11:23:12.000Z",
                  "number_of_transactions": "1",
                  "control_sum": "200000",
                  "initiating_party": {
                    "name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD",
                    "identification": {
                      "any_bic": "SDOMINBIXXX"
                    }
                  },
                  "payment_information": [
                    {
                      "payment_information_identification": "paymentgroupref1",
                      "payment_method": "TRF",
                      "instruction_priority": "HIGH",
                      "service_level": "URGP",
                      "local_instrument": "RTGS",
                      "category_purpose": "SUPP",
                      "requested_execution_date": "2025-05-08",
                      "debtor": {
                        "name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD"
                      },
                      "debtor_account": {
                        "identification": "1234567890",
                        "currency": "INR"
                      },
                      "debtor_agent": {
                        "bicfi": "ICICINBBXXX",
                        "country": "IN"
                      },
                      "credit_transfer_transaction_information": [
                        {
                          "instruction_identification": "R41.2020",
                          "end_to_end_identification": "/XUTR/1234567890123456",
                          "uetr": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
                          "instructed_amount": {
                            "currency": "INR",
                            "amount": "200000"
                          },
                          "creditor_agent": {
                            "bicfi": "BARBINBBXXX",
                            "country": "IN"
                          },
                          "creditor": {
                            "name": "MUKTA COMPUTER SERVICES LTD",
                            "address_line": [
                              "Unit No.1403, 14th Floor, The Capital,",
                              "Plot No. C-70, G Block,",
                              "Mumbai",
                              "Maharashtra 400051"
                            ]
                          },
                          "creditor_account": {
                            "identification": "98765432109876543210",
                            "currency": "INR"
                          },
                          "remittance_information": {
                            "unstructured": "Invoice 31415. Thanks for the great service."
                          },
                          "foreign_remittance_data": {
                            "foreign_remittance_purpose": [
                              "SERV"
                            ],
                            "additional_information_for_banks": [
                              "Specialist consulting service."
                            ],
                            "invoice_data": [
                              {
                                "goods_and_services_data": [
                                  {
                                    "description_of_goods_services": [
                                      "lkjlkjlkj"
                                    ]
                                  }
                                ],
                                "invoice_number": "31415",
                                "invoice_date": "2025-05-02",
                                "invoice_amount": {
                                  "currency": "INR",
                                  "amount": "200000"
                                },
                                "net_payable_amount": {
                                  "currency": "INR",
                                  "amount": "200000"
                                }
                              }
                            ],
                            "summary_data": {
                              "total_remittance_amount": {
                                "currency": "INR",
                                "amount": "200000"
                              },
                              "value_date_of_remittance": "2025-05-08"
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
        "400":
          description: A 400 Bad Request response status is returned for validation or other business errors.
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"                 
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessage"
              examples:
                "400-SwAP510":
                  $ref: "#/components/examples/400-SwAP510"
                "400-SwAP509":
                  $ref: "#/components/examples/400-SwAP509"
                "400-SwAP504-txt":
                  $ref: "#/components/examples/400-SwAP504-txt"
                "400-SwAP504-bic":
                  $ref: "#/components/examples/400-SwAP504-bic"
                "400-SwAP504-svc":
                  $ref: "#/components/examples/400-SwAP504-svc"
                "400-SwAP522":
                  $ref: "#/components/examples/400-SwAP522"
                "400-SwAP504":
                  $ref: "#/components/examples/400-SwAP504"
                "400-SwAP505":
                  $ref: "#/components/examples/400-SwAP505"
                "400-SwAP501":
                  $ref: "#/components/examples/400-SwAP501"
        "401":
          $ref: "#/components/responses/401-Unauthorized"
        "403":
          $ref: "#/components/responses/403-Forbidden"
        "404":
          $ref: "#/components/responses/404-NotFound"
        "429":
          $ref: "#/components/responses/429-TooManyRequests"
        "503":
          $ref: "#/components/responses/503-ServiceUnavailable"
        "504":
          $ref: "#/components/responses/504-GatewayTimeout"
  /a1a2-payment-initiation:
    post:
      tags:
      - jVIndiaPCM
      summary: "Sends a (batch) payment initiation to the Bank, includes the A1A2 dataset for foreign remittance."
      description: "Sends a (batch) payment initiation to the Bank, includes the A1A2 dataset for foreign remittance. Note that the batch payment should fit in 1 API (maximum size depending on API gateway). If more payments need to be transferred, then split in 2 batches."
      operationId: createRestrictedJVINAAPaymentInitiationData
      parameters:
      - $ref: "#/components/parameters/X-Request-ID"
      - $ref: "#/components/parameters/X-BIC"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PostRestrictedJVINA1A2PaymentInitiationData1"
            example:
              {
                "batch_payment_initiation_identification": "ourbatchpayment123",
                "creation_date_time": "2025-05-07T11:23:12.000Z",
                "number_of_transactions": "1",
                "control_sum": "200000",
                "initiating_party": {
                  "name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD",
                  "identification": {
                    "any_bic": "SDOMINBIXXX"
                  }
                },
                "payment_information": [
                  {
                    "payment_information_identification": "paymentgroupref1",
                    "payment_method": "TRF",
                    "instruction_priority": "HIGH",
                    "service_level": "URGP",
                    "local_instrument": "RTGS",
                    "category_purpose": "SUPP",
                    "requested_execution_date": "2025-05-08",
                    "debtor": {
                      "name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD"
                    },
                    "debtor_account": {
                      "identification": "1234567890",
                      "currency": "INR"
                    },
                    "debtor_agent": {
                      "bicfi": "ICICINBBXXX",
                      "country": "IN"
                    },
                    "credit_transfer_transaction_information": [
                      {
                        "instruction_identification": "R41.2020",
                        "end_to_end_identification": "/XUTR/1234567890123456",
                        "uetr": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
                        "instructed_amount": {
                          "currency": "INR",
                          "amount": "200000"
                        },
                        "creditor_agent": {
                          "bicfi": "BARBINBBXXX",
                          "country": "IN"
                        },
                        "creditor": {
                          "name": "MUKTA COMPUTER SERVICES LTD",
                          "address_line": [
                            "Unit No.1403, 14th Floor, The Capital,",
                            "Plot No. C-70, G Block,",
                            "Mumbai",
                            "Maharashtra 400051"
                          ]
                        },
                        "creditor_account": {
                          "identification": "98765432109876543210",
                          "currency": "INR"
                        },
                        "remittance_information": {
                          "unstructured": "Invoice 31415. Thanks for the great service."
                        },
                        "foreign_remittance_data": {
                          "foreign_remittance_purpose": [
                            "SERV"
                          ],
                          "additional_information_for_banks": [
                            "Specialist consulting service."
                          ],
                          "invoice_data": [
                            {
                              "goods_and_services_data": [
                                {
                                  "description_of_goods_services": [
                                    "lkjlkjlkj"
                                  ]
                                }
                              ],
                              "invoice_number": "31415",
                              "invoice_date": "2025-05-02",
                              "invoice_amount": {
                                "currency": "INR",
                                "amount": "200000"
                              },
                              "net_payable_amount": {
                                "currency": "INR",
                                "amount": "200000"
                              }
                            }
                          ],
                          "summary_data": {
                            "total_remittance_amount": {
                              "currency": "INR",
                              "amount": "200000"
                            },
                            "value_date_of_remittance": "2025-05-08"
                          }
                        }
                      }
                    ]
                  }
                ]
              }
      responses:
        "201":
          description: "Scope\r\nRestrictedJVINA1A2PaymentInitiationData1 (\"API\") is sent by the initiating party to the debtor agent. It is used to request movement of funds from the debtor account to a creditor.\r\n\r\nUsage\r\nRestrictedJVINA1A2PaymentInitiationData1 (\"API\") can contain one or more customer credit transfer instructions.\r\nThe API is used to exchange:\r\n- One or more instances of a credit transfer initiation;\r\n- Payment transactions that result in book transfers at the debtor agent or payments to another financial institution;\r\n- Payment transactions that result in an electronic cash transfer to the creditor account or in the emission of a cheque.\r\n\r\nThe API can be used in the following scenarios:\r\n- In a direct scenario, the API is sent directly to the debtor agent. The debtor agent is the account servicer of the debtor.\r\n- The API can also be used by an initiating party that has authority to send the API on behalf of the debtor. This caters for example for the scenario of a payments factory initiating all payments on behalf of a large corporate.\r\n- The API can be used in domestic and cross-border scenarios.\r\n- The API must not be used by the debtor agent to execute the credit transfer instruction(s). The FIToFICustomerCreditTransfer message or equivalent API must be used instead."
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"                 
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RestrictedJVINA1A2PaymentInitiationData1BatchPaymentReference"
              example:
                batch_payment_reference: 91823d1b-3266-4a20-a3fd-bde174b9188e
        "400":
          description: A 400 Bad Request response status is returned for validation or other business errors.
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"                 
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessage"
              examples:
                "400-SwAP510":
                  $ref: "#/components/examples/400-SwAP510"
                "400-SwAP509":
                  $ref: "#/components/examples/400-SwAP509"
                "400-SwAP504-txt":
                  $ref: "#/components/examples/400-SwAP504-txt"
                "400-SwAP504-bic":
                  $ref: "#/components/examples/400-SwAP504-bic"
                "400-SwAP504-svc":
                  $ref: "#/components/examples/400-SwAP504-svc"
                "400-SwAP522":
                  $ref: "#/components/examples/400-SwAP522"
                "400-SwAP504":
                  $ref: "#/components/examples/400-SwAP504"
                "400-SwAP505":
                  $ref: "#/components/examples/400-SwAP505"
                "400-SwAP501":
                  $ref: "#/components/examples/400-SwAP501"
        "401":
          $ref: "#/components/responses/401-Unauthorized"
        "403":
          $ref: "#/components/responses/403-Forbidden"
        "404":
          $ref: "#/components/responses/404-NotFound"
        "429":
          $ref: "#/components/responses/429-TooManyRequests"
        "503":
          $ref: "#/components/responses/503-ServiceUnavailable"
        "504":
          $ref: "#/components/responses/504-GatewayTimeout"
  /a1a2-payment-status-report:
    post:
      tags:
      - jVIndiaPCM
      summary: Sends a (batch) payment status report to the Customer.
      description: Sends a (batch) payment status report to the Customer. This report corresponds to a previous A1A2 (batch) payment initiation for foreign remittance.
      operationId: createRestrictedJVINAACustomerPaymentStatusReportData
      parameters:
      - $ref: "#/components/parameters/X-Request-ID"
      - $ref: "#/components/parameters/X-BIC"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PostRestrictedJVINA1A2CustomerPaymentStatusReportData1"
            example:
              {
                "original_batch_reference": "e58ed763-928c-4155-bee9-fdbaaadc15f3",
                "customer_payment_status_report_identification": "Report001",
                "creation_date_time": "1000-01-01T00:00:00.000Z",
                "initiating_party_name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD",
                "initiating_party_bic": "SDOMINBIXXX",
                "original_batch_payment_initiation_identification": "ourbatchpayment123",
                "original_creation_date_time": "2025-05-07T11:23:12.000Z",
                "original_number_of_transactions": "1",
                "original_control_sum": "200000",
                "original_payment_information_and_status": [
                  {
                    "original_payment_information_identification": "paymentgroupref1",
                    "transaction_information_and_status": [
                      {
                        "status_identification": "status001",
                        "original_instruction_identification": "R41.2020",
                        "original_end_to_end_identification": "/XUTR/1234567890123456",
                        "original_uetr": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
                        "transaction_status": "ACCP",
                        "status_reason_information_code": [
                          "DS07"
                        ],
                        "clearing_system_reference": "UTR001",
                        "original_transaction_reference": {
                          "amount": {
                            "instructed_amount": {
                              "amount": "200000",
                              "currency": "INR"
                            }
                          },
                          "requested_execution_date": {
                            "date": "2025-05-08"
                          },
                          "instruction_priority": "HIGH",
                          "clearing_channel": "RTGS",
                          "service_level": "URGP",
                          "local_instrument": "RTGS",
                          "sequence_type": "FRST",
                          "category_purpose": "SUPP",
                          "remittance_information": {
                            "unstructured": "Invoice 31415. Thanks for the great service."
                          },
                          "debtor": {
                            "name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD"
                          },
                          "debtor_agent": {
                            "bicfi": "ICICINBBXXX"
                          },
                          "debtor_account": "1234567890",
                          "creditor": {
                            "party": {
                              "name": "MUKTA COMPUTER SERVICES LTD"
                            }
                          },
                          "creditor_agent": {
                            "bicfi": "BARBINBBXXX"
                          },
                          "creditor_account": {
                            "identification": "98765432109876543210"
                          }
                        }
                      }
                    ]
                  }
                ]
              }
      responses:
        "201":
          description: "Scope\r\nThe RestrictedJVINA1A2CustomerPaymentStatusReportData1 (\"API\") is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.\r\n\r\nUsage\r\nThe RestrictedJVINA1A2CustomerPaymentStatusReportData1 (\"API\") is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.\r\nThe API can be used to provide information about the status (e.g. rejection, acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.\r\nThe API refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.\r\nThe API can be used in domestic and cross-border scenarios.\r\nThe API may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (e.g. either the beneficiary is credited, or the transaction is rejected)."
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RestrictedJVINA1A2CustomerPaymentStatusReportData1ReportReference"
              example:
                report_reference: f47ac10b-58cc-4372-a567-0e02b2c3d479
        "400":
          description: A 400 Bad Request response status is returned for validation or other business errors.
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessage"
              examples:
                "400-SwAP510":
                  $ref: "#/components/examples/400-SwAP510"
                "400-SwAP509":
                  $ref: "#/components/examples/400-SwAP509"
                "400-SwAP504-txt":
                  $ref: "#/components/examples/400-SwAP504-txt"
                "400-SwAP504-bic":
                  $ref: "#/components/examples/400-SwAP504-bic"
                "400-SwAP504-svc":
                  $ref: "#/components/examples/400-SwAP504-svc"
                "400-SwAP522":
                  $ref: "#/components/examples/400-SwAP522"
                "400-SwAP504":
                  $ref: "#/components/examples/400-SwAP504"
                "400-SwAP505":
                  $ref: "#/components/examples/400-SwAP505"
                "400-SwAP501":
                  $ref: "#/components/examples/400-SwAP501"
        "401":
          $ref: "#/components/responses/401-Unauthorized"
        "403":
          $ref: "#/components/responses/403-Forbidden"
        "404":
          $ref: "#/components/responses/404-NotFound"
        "429":
          $ref: "#/components/responses/429-TooManyRequests"
        "503":
          $ref: "#/components/responses/503-ServiceUnavailable"
        "504":
          $ref: "#/components/responses/504-GatewayTimeout"
  /a1a2-payment-status-report/{report_reference}:
    get:
      tags:
      - jVIndiaPCM
      summary: Retrieves a (batch) payment status report previously sent to the Customer.
      description: Retrieves a (batch) payment status report previously sent to the Customer. This report corresponds to a previous A1A2 (batch) payment initiation for foreign remittance.
      operationId: fetchRestrictedJVINAACustomerPaymentStatusReportData
      parameters:
      - $ref: "#/components/parameters/X-Request-ID"
      - $ref: "#/components/parameters/X-BIC"
      - name: report_reference
        in: path
        description: "Unique technical identification of the customer payment status report as defined by the customer's server. \r\n\r\nNote: The customerdoes not use this field when first submitting the customer payment status report. but it should be used when subsequently retrieving the customer payment status report."
        required: true
        style: simple
        explode: false
        schema:
          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 (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique IDentifier (UUID) URN Namespace\"."
          x-MXComponent: UUIDv4Identifier
        example: 91823d1b-3266-4a20-a3fd-bde174b9188e
      responses:
        "200":
          description: "Scope\r\nThe RestrictedJVINA1A2CustomerPaymentStatusReportData1 (\"API\") is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.\r\n\r\nUsage\r\nThe RestrictedJVINA1A2CustomerPaymentStatusReportData1 (\"API\") is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.\r\nThe API can be used to provide information about the status (e.g. rejection, acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.\r\nThe API refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.\r\nThe API can be used in domestic and cross-border scenarios.\r\nThe API may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (e.g. either the beneficiary is credited, or the transaction is rejected)."
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"              
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RestrictedJVINA1A2CustomerPaymentStatusReportData1"
              example:
                {
                  "report_reference": "91823d1b-3266-4a20-a3fd-bde174b9188e",
                  "original_batch_reference": "e58ed763-928c-4155-bee9-fdbaaadc15f3",
                  "customer_payment_status_report_identification": "Report001",
                  "creation_date_time": "1000-01-01T00:00:00.000Z",
                  "initiating_party_name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD",
                  "initiating_party_bic": "SDOMINBIXXX",
                  "original_batch_payment_initiation_identification": "ourbatchpayment123",
                  "original_creation_date_time": "2025-05-07T11:23:12.000Z",
                  "original_number_of_transactions": "1",
                  "original_control_sum": "200000",
                  "original_payment_information_and_status": [
                    {
                      "original_payment_information_identification": "paymentgroupref1",
                      "transaction_information_and_status": [
                        {
                          "status_identification": "status001",
                          "original_instruction_identification": "R41.2020",
                          "original_end_to_end_identification": "/XUTR/1234567890123456",
                          "original_uetr": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
                          "transaction_status": "ACCP",
                          "status_reason_information_code": [
                            "DS07"
                          ],
                          "clearing_system_reference": "UTR001",
                          "original_transaction_reference": {
                            "amount": {
                              "instructed_amount": {
                                "amount": "200000",
                                "currency": "INR"
                              }
                            },
                            "requested_execution_date": {
                              "date": "2025-05-08"
                            },
                            "instruction_priority": "HIGH",
                            "clearing_channel": "RTGS",
                            "service_level": "URGP",
                            "local_instrument": "RTGS",
                            "sequence_type": "FRST",
                            "category_purpose": "SUPP",
                            "remittance_information": {
                              "unstructured": "Invoice 31415. Thanks for the great service."
                            },
                            "debtor": {
                              "name": "SWIFT INDIA DOMESTIC SERVICES PR. LTD"
                            },
                            "debtor_agent": {
                              "bicfi": "ICICINBBXXX"
                            },
                            "debtor_account": "1234567890",
                            "creditor": {
                              "party": {
                                "name": "MUKTA COMPUTER SERVICES LTD"
                              }
                            },
                            "creditor_agent": {
                              "bicfi": "BARBINBBXXX"
                            },
                            "creditor_account": {
                              "identification": "98765432109876543210"
                            }
                          }
                        }
                      ]
                    }
                  ]
                }
        "400":
          description: A 400 Bad Request response status is returned for validation or other business errors.
          headers:
            Swift-Request-ID:
              $ref: "#/components/headers/Swift-Request-ID"
            X-Request-ID:
              $ref: "#/components/headers/X-Request-ID"              
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessage"
              examples:
                "400-SwAP510":
                  $ref: "#/components/examples/400-SwAP510"
                "400-SwAP509":
                  $ref: "#/components/examples/400-SwAP509"
                "400-SwAP504-txt":
                  $ref: "#/components/examples/400-SwAP504-txt"
                "400-SwAP504-bic":
                  $ref: "#/components/examples/400-SwAP504-bic"
                "400-SwAP504-svc":
                  $ref: "#/components/examples/400-SwAP504-svc"
                "400-SwAP522":
                  $ref: "#/components/examples/400-SwAP522"
                "400-SwAP504":
                  $ref: "#/components/examples/400-SwAP504"
                "400-SwAP505":
                  $ref: "#/components/examples/400-SwAP505"
                "400-SwAP501":
                  $ref: "#/components/examples/400-SwAP501"
        "401":
          $ref: "#/components/responses/401-Unauthorized"
        "403":
          $ref: "#/components/responses/403-Forbidden"
        "404":
          $ref: "#/components/responses/404-NotFound"
        "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:
        maxLength: 270
        type: string
      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:
        maxLength: 255
        pattern: "^[a-zA-Z]{6,6}[a-zA-Z2-9][a-nA-Np-zP-Z0-9]$"
        type: string
      example: DEUTDEFZ
  
  schemas:
    ErrorMessage:
      required:
      - code
      - severity
      - text
      type: object
      properties:
        severity:
          type: string
          description: "The category of error.\n  * Fatal means the failure is permanent and the request should not be retried.\n  * Transient means the failure is temporary and the request can be retried after a suitable interval.\n  * Logic is a legacy code and should not be used. \n"
          enum:
          - Fatal
          - Transient
          - Logic
        code:
          maxLength: 50
          type: string
          description: A unique string which should identify the error and the system or service where it originated.
        text:
          maxLength: 1000
          type: string
          description: free-text field which should describe the problem and any recovery or remediation steps which can be taken.
        user_message:
          maxLength: 100
          type: string
          description: A message to display to an active user if there is one.
        more_info:
          type: string
          description: "A URL pointing to a resource which contains further information about the error, if one exists."
          format: uri
      additionalProperties: false
    RestrictedJVINPaymentInitiationData1BatchPaymentReference:
      required:
      - batch_payment_reference
      type: object
      properties:
        batch_payment_reference:
          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: "Unique technical identification of the batch payment initiation as defined by the bank's server. \n\nNote: The corporate does not use this field when first submitting the batch payment initiation. but it should be used when subsequently retrieving the batch payment initiation.\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
      additionalProperties: false
      description: |
        Scope
        RestrictedJVINPaymentInitiationData1 ("API") is sent by the initiating party to the debtor agent. It is used to request movement of funds from the debtor account to a creditor.

        Usage
        RestrictedJVINPaymentInitiationData1 ("API") can contain one or more customer credit transfer instructions.
        The API is used to exchange:
        - One or more instances of a credit transfer initiation;
        - Payment transactions that result in book transfers at the debtor agent or payments to another financial institution;
        - Payment transactions that result in an electronic cash transfer to the creditor account or in the emission of a cheque.

        The API can be used in the following scenarios:
        - In a direct scenario, the API is sent directly to the debtor agent. The debtor agent is the account servicer of the debtor.
        - The API can also be used by an initiating party that has authority to send the message on behalf of the debtor. This caters for example for the scenario of a payments factory initiating all payments on behalf of a large corporate.
        - The API can be used in domestic and cross-border scenarios.
        - The API must not be used by the debtor agent to execute the credit transfer instruction(s). The FIToFICustomerCreditTransfer message or equivalent API must be used instead.

        Rule: ChargeBearerPayOrTranLevel
        For each Customer Credit Transfer Initiation, the following elements are mutually exclusive: Charge Bearer at Payment Information level and Charge Bearer at Transaction level and all may be absent

        Rule: INTranSrvclv-optionalCHQ_L1
        For each Customer Credit Transfer Initiation, if at least one occurrence of Credit Transfer [TRF] is (are) present, then for each Payment Type Information, at least one occurrence of Service Level must be present

        Rule: INTranSrvclvloptionalCHQ_L2
        For each Customer Credit Transfer Initiation, if at least one occurrence of Credit Transfer [TRF] is (are) present, then for each Payment Type Information, at least one occurrence of Service Level must be present

        Rule: INTranLclInstrm-mandatoryCHQ_L1
        For each Customer Credit Transfer Initiation, if at least one occurrence of Cheque [CHK] is (are) present, then for each Payment Type Information, at least one occurrence of Local Instrument must be present

        Rule: INTranLclInstrm-mandatoryCHQ_L2
        For each Customer Credit Transfer Initiation, if at least one occurrence of Cheque [CHK] is (are) present, then for each Payment Type Information, at least one occurrence of Local Instrument must be present
      example:
        batch_payment_reference: 91823d1b-3266-4a20-a3fd-bde174b9188e
      x-MXComponent: RestrictedJVINPaymentInitiationData1BatchPaymentReference
    PostRestrictedJVINPaymentInitiationData1:
      required:
      - batch_payment_initiation_identification
      - creation_date_time
      - initiating_party
      - number_of_transactions
      - payment_information
      type: object
      properties:
        batch_payment_initiation_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the instructing party, sent to the next party in the chain to unambiguously identify the batch payment initiation.
            Usage: The instructing party has to make sure that BatchPaymentInitiationIdentification is unique per instructed party for a pre-agreed period.

            ECS/NECS: 11.4 User Credit Reference
            14-character user defined reference number for the entire transaction.

            NACH: 12.16 User Reference
            Mandatory, 18 character user defined reference number for the entire transaction (Alpha Numeric)

            NEFT: N06.2020 Transaction Reference Number
            Uniquely identifies the message.
            Mandatory, 16x

            NG-RTGS: 22-character number recommended:
            XXXX- Sender IFSC [4]
            YYYYMMDD - Creation Date Reverse [8]
            X – Channel [1]
            nnnnnnnnn- Sequence Number [9]

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            NEFT: N06.3535 Batch Time
            If specified it must be either 1030 or 1200 or 1600.
            Optional, 4!n

            NG-RTGS: ISODateTime. Time up to seconds only.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        authorisation:
          maxItems: 2
          type: array
          description: |
            User identification or any user key to be used to check whether the initiating party is allowed to initiate transactions from the account specified in the API.

            Usage: The content is not of a technical nature, but reflects the organisational structure at the initiating side.
            The authorisation element can typically be used in relay scenarios, payment initiations, payment returns or payment reversals that are initiated on behalf of a party different from the initiating party.
          items:
            $ref: "#/components/schemas/Authorisation1Choice"
        control_sum:
          maxLength: 19
          type: string
          description: |
            Total of all individual amounts included in the message, irrespective of currencies.

            Same as per clearing requirements.
            NEFT: N06.4063 Sum of Amounts
            Mandatory, 19d

            NACH: 12.19 Total items in File
            Mandatory, 9 numeric

            CGI-MP_ControlSumRule
            It is a client's option to include. If included, value will be checked. The sum is the hash total of values in Instructed Amount or Equivalent Amount.

            Based on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.
          x-MXComponent: DecimalNumber
        initiating_party:
          $ref: "#/components/schemas/PartyIdentification307"
        number_of_transactions:
          pattern: "^[0-9]{1,15}$"
          type: string
          description: |
            Number of individual transactions contained in the API.
            NEFT: N06.1106 Total number of loops in the message
            Number of transactions in message.
            Mandatory, 5n

            NG-RTGS: Number of individual transactions contained in the message.
            RTGS limited to 1 transaction.

            Based on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.
          x-MXComponent: Max15NumericText
        payment_information:
          type: array
          description: |
            Set of characteristics that applies to the debit side of the payment transactions included in the credit transfer initiation.

            Rule: INCreditorAccountRulePayMethod: For each Payment Information, at least one occurrence of Creditor Account must be present when at least one occurrence of Credit Transfer [TRF] is present

            Rule: INCreditorAgentRulePayMethod: For each Payment Information, at least one occurrence of Creditor Agent must be present when at least one occurrence of Credit Transfer [TRF] is present
          items:
            $ref: "#/components/schemas/RestrictedJVINPaymentInstruction1"
      additionalProperties: false
      description: |
        Scope
        RestrictedJVINPaymentInitiationData1 ("API") is sent by the initiating party to the debtor agent. It is used to request movement of funds from the debtor account to a creditor.

        Usage
        RestrictedJVINPaymentInitiationData1 ("API") can contain one or more customer credit transfer instructions.
        The API is used to exchange:
        - One or more instances of a credit transfer initiation;
        - Payment transactions that result in book transfers at the debtor agent or payments to another financial institution;
        - Payment transactions that result in an electronic cash transfer to the creditor account or in the emission of a cheque.

        The API can be used in the following scenarios:
        - In a direct scenario, the API is sent directly to the debtor agent. The debtor agent is the account servicer of the debtor.
        - The API can also be used by an initiating party that has authority to send the message on behalf of the debtor. This caters for example for the scenario of a payments factory initiating all payments on behalf of a large corporate.
        - The API can be used in domestic and cross-border scenarios.
        - The API must not be used by the debtor agent to execute the credit transfer instruction(s). The FIToFICustomerCreditTransfer message or equivalent API must be used instead.

        Rule: ChargeBearerPayOrTranLevel
        For each Customer Credit Transfer Initiation, the following elements are mutually exclusive: Charge Bearer at Payment Information level and Charge Bearer at Transaction level and all may be absent

        Rule: INTranSrvclv-optionalCHQ_L1
        For each Customer Credit Transfer Initiation, if at least one occurrence of Credit Transfer [TRF] is (are) present, then for each Payment Type Information, at least one occurrence of Service Level must be present

        Rule: INTranSrvclvloptionalCHQ_L2
        For each Customer Credit Transfer Initiation, if at least one occurrence of Credit Transfer [TRF] is (are) present, then for each Payment Type Information, at least one occurrence of Service Level must be present

        Rule: INTranLclInstrm-mandatoryCHQ_L1
        For each Customer Credit Transfer Initiation, if at least one occurrence of Cheque [CHK] is (are) present, then for each Payment Type Information, at least one occurrence of Local Instrument must be present

        Rule: INTranLclInstrm-mandatoryCHQ_L2
        For each Customer Credit Transfer Initiation, if at least one occurrence of Cheque [CHK] is (are) present, then for each Payment Type Information, at least one occurrence of Local Instrument must be present
      x-MXComponent: PostRestrictedJVINPaymentInitiationData1
    RestrictedJVINCustomerPaymentStatusReportData1ReportReference:
      required:
      - report_reference
      type: object
      properties:
        report_reference:
          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: "Unique technical identification of the customer payment status report as defined by the customer's server. \n\nNote: The customerdoes not use this field when first submitting the customer payment status report. but it should be used when subsequently retrieving the customer payment status report.\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
      additionalProperties: false
      description: |
        Scope
        The RestrictedJVINCustomerPaymentStatusReportData1 ("API") is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.

        Usage
        The RestrictedJVINCustomerPaymentStatusReportData1 ("API") is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.
        The API can be used to provide information about the status (e.g. rejection, acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.
        The API refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.
        The API can be used in domestic and cross-border scenarios.
        The API may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (e.g. either the beneficiary is credited, or the transaction is rejected).
      example:
        report_reference: 91823d1b-3266-4a20-a3fd-bde174b9188e
      x-MXComponent: RestrictedJVINCustomerPaymentStatusReportData1ReportReference
    PostRestrictedJVINCustomerPaymentStatusReportData1:
      required:
      - creation_date_time
      - customer_payment_status_report_identification
      - original_batch_payment_initiation_identification
      - original_batch_payment_reference
      - original_creation_date_time
      type: object
      properties:
        customer_payment_status_report_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the Customer Payment Status Report.
            Usage: The instructing party has to make sure that CustomerPaymentStatusReportIdentification is unique per instructed party for a pre-agreed period.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Rule: NG-RTGS: ISODateTime Time up to seconds only.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        initiating_party_name:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Name by which a party is known and which is usually used to identify that party.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        initiating_party_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.



            Based 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)".
          x-MXComponent: AnyBICDec2014Identifier
        initiating_party_lei:
          pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}$"
          type: string
          description: |
            Legal entity identification as an alternate identification for a party.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          x-MXComponent: LEIIdentifier
        initiating_party_other_identification:
          maxItems: 2
          type: array
          description: |+
            Unique identification of an organisation, as assigned by an institution, using an identification scheme.

            Rule: INInitiatingPartyIdBICOrOthr
            For each Organisation Identification, at least one occurrence of Other Identification must be present when BIC is absent


          items:
            $ref: "#/components/schemas/GenericOrganisationIdentification5"
        original_batch_payment_reference:
          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: "Original, unique technical identification of the batch payment initiation as originally defined by the bank's server. \n\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
        original_batch_payment_initiation_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the original instructing party, to unambiguously identify the original Batch Payment Initiation.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_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 original API was created.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        original_number_of_transactions:
          pattern: "^[0-9]{1,15}$"
          type: string
          description: |
            Number of individual transactions contained in the original API.

            CGI-MP_OriginalNumberOfTransactionsRule
            If supplied by originator in the initiation API, will be echoed back.

            Based on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.
          x-MXComponent: Max15NumericText
        original_control_sum:
          maxLength: 19
          type: string
          description: |
            Total of all individual amounts included in the original API, irrespective of currencies.

            CGI-MP_OriginalControlSumRule
            If supplied by originator in the initiation API, will be echoed back.

            Based on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.
          x-MXComponent: DecimalNumber
        group_status:
          maxLength: 4
          minLength: 1
          type: string
          description: |
            Specifies the status of a group of transactions.

            CGI-MP_GroupStatusRule: Required if reporting on a group level or combined group and transaction levels. Not Used if reporting at a transaction level only.

            ACTC = Group only
            ACCP = Group only and/or Consolidated status
            ACSP = Group only and/or Consolidated status
            ACWC = Group only and/or Consolidated status
            PART = Group  only and/or Consolidated status
            PDNG = Group  only and/or Consolidated status
            RJCT = Group  only and/or Consolidated status
            ACSC = Accepted Settlement Completed

            Rule: Refer to the ISO 20022 External Code List "ExternalPaymentGroupStatus1Code" for the complete list.

            Specifies the status of a group of payment instructions, as published in an external payment group status code set.
            External code sets can be downloaded from www.iso20022.org.
          x-MXComponent: ExternalPaymentGroupStatus1Code
        status_reason_information_code:
          type: array
          description: |
            Provides detailed information on the status reason.

            NG-RTGS: Repeats only once

            CGI-MP_CodeRule
            Code required from External Code List.  If a bank's status code is supported other than a code from the External Code List, then the bank status code is shown under <AddtlInf>.

            Rule: Refer to the ISO 20022 External Code List "ExternalStatusReason1Code" for the complete list.

            Specifies the status reason, as published in an external status reason code list.
            External code sets can be downloaded from www.iso20022.org.
          items:
            maxLength: 4
            minLength: 1
            type: string
            x-MXComponent: ExternalStatusReason1Code
        additional_information:
          type: array
          description: |
            Further details on the status reason.

            Usage: Additional information can be used for several purposes such as the reporting of repaired information.

            Based on datatype Max105Text: Specifies a character string with a maximum length of 105 characters.
          items:
            maxLength: 105
            minLength: 1
            type: string
            x-MXComponent: Max105Text
        number_of_transactions_per_status:
          type: array
          description: Detailed information on the number of transactions for each identical transaction status.
          items:
            $ref: "#/components/schemas/NumberOfTransactionsPerStatus5"
        original_payment_information_and_status:
          type: array
          description: "Information concerning the original payment information, to which the status report API refers."
          items:
            $ref: "#/components/schemas/RestrictedJVINOriginalPaymentInstruction27"
      additionalProperties: false
      description: |
        Scope
        The RestrictedJVINCustomerPaymentStatusReportData1 ("API") is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.

        Usage
        The RestrictedJVINCustomerPaymentStatusReportData1 ("API") is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.
        The API can be used to provide information about the status (e.g. rejection, acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.
        The API refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.
        The API can be used in domestic and cross-border scenarios.
        The API may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (e.g. either the beneficiary is credited, or the transaction is rejected).
      x-MXComponent: PostRestrictedJVINCustomerPaymentStatusReportData1
    RestrictedJVINA1A2PaymentInitiationData1BatchPaymentReference:
      required:
      - batch_payment_reference
      type: object
      properties:
        batch_payment_reference:
          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: "Unique technical identification of the batch payment initiation as defined by the bank's server. \n\nNote: The corporate does not use this field when first submitting the batch payment initiation. but it should be used when subsequently retrieving the batch payment initiation.\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
      additionalProperties: false
      description: |
        Scope
        RestrictedJVINA1A2PaymentInitiationData1 ("API") is sent by the initiating party to the debtor agent. It is used to request movement of funds from the debtor account to a creditor.

        Usage
        RestrictedJVINA1A2PaymentInitiationData1 ("API") can contain one or more customer credit transfer instructions.
        The API is used to exchange:
        - One or more instances of a credit transfer initiation;
        - Payment transactions that result in book transfers at the debtor agent or payments to another financial institution;
        - Payment transactions that result in an electronic cash transfer to the creditor account or in the emission of a cheque.

        The API can be used in the following scenarios:
        - In a direct scenario, the API is sent directly to the debtor agent. The debtor agent is the account servicer of the debtor.
        - The API can also be used by an initiating party that has authority to send the API on behalf of the debtor. This caters for example for the scenario of a payments factory initiating all payments on behalf of a large corporate.
        - The API can be used in domestic and cross-border scenarios.
        - The API must not be used by the debtor agent to execute the credit transfer instruction(s). The FIToFICustomerCreditTransfer message or equivalent API must be used instead.
      example:
        batch_payment_reference: 91823d1b-3266-4a20-a3fd-bde174b9188e
      x-MXComponent: RestrictedJVINA1A2PaymentInitiationData1BatchPaymentReference
    PostRestrictedJVINA1A2PaymentInitiationData1:
      required:
      - batch_payment_initiation_identification
      - creation_date_time
      - initiating_party
      - number_of_transactions
      - payment_information
      type: object
      properties:
        batch_payment_initiation_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the batch payment initiation.
            Usage: The instructing party has to make sure that BatchPaymentInitiationIdentification is unique per instructed party for a pre-agreed period.

            ECS/NECS: 11.4 User Credit Reference
            14-character user defined reference number for the entire transaction.

            NACH: 12.16 User Reference
            Mandatory, 18 character user defined reference number for the entire transaction (Alpha Numeric)

            NEFT: N06.2020 Transaction Reference Number
            Uniquely identifies the message.
            Mandatory, 16x

            NG-RTGS: 22-character number recommended:
            XXXX- Sender IFSC [4]
            YYYYMMDD - Creation Date Reverse [8]
            X – Channel [1]
            nnnnnnnnn- Sequence Number [9]

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            NEFT: N06.3535 Batch Time
            If specified it must be either 1030 or 1200 or 1600.
            Optional, 4!n

            NG-RTGS: ISODateTime. Time up to seconds only.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        authorisation:
          maxItems: 2
          type: array
          description: |
            User identification or any user key to be used to check whether the initiating party is allowed to initiate transactions from the account specified in the API.

            Usage: The content is not of a technical nature, but reflects the organisational structure at the initiating side.
            The authorisation element can typically be used in relay scenarios, payment initiations, payment returns or payment reversals that are initiated on behalf of a party different from the initiating party.
          items:
            $ref: "#/components/schemas/Authorisation1Choice"
        number_of_transactions:
          pattern: "^[0-9]{1,15}$"
          type: string
          description: |
            Number of individual transactions contained in the API.

            NEFT: N06.1106 Total number of loops in the message
            Number of transactions in message.
            Mandatory, 5n

            NG-RTGS: Number of individual transactions contained in the message.
            RTGS limited to 1 transaction.

            Based on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.
          x-MXComponent: Max15NumericText
        control_sum:
          maxLength: 19
          type: string
          description: "Total of all individual amounts included in the message, irrespective of currencies.\n\nSame as per clearing requirements.\nNEFT: N06.4063 Sum of Amounts\nMandatory, 19d\n\nNACH: 12.19 Total items in File\nMandatory, 9 numeric\n \nCGI-MP_ControlSumRule: It is a client's option to include. If included, value will be checked. The sum is the hash total of values in Instructed Amount or Equivalent Amount.\n\nBased on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.\n"
          x-MXComponent: DecimalNumber
        initiating_party:
          $ref: "#/components/schemas/PartyIdentification307"
        payment_information:
          type: array
          description: |
            Set of characteristics that applies to the debit side of the payment transactions included in the credit transfer initiation.

            Rule: INCreditorAccountRulePayMethod: For each Payment Information, at least one occurrence of Creditor Account must be present when at least one occurrence of Credit Transfer [TRF] is present

            Rule: INCreditorAgentRulePayMethod: For each Payment Information, at least one occurrence of Creditor Agent must be present when at least one occurrence of Credit Transfer [TRF] is present
          items:
            $ref: "#/components/schemas/RestrictedJVINA1A2PaymentInstruction1"
      additionalProperties: false
      description: |
        Scope
        RestrictedJVINA1A2PaymentInitiationData1 ("API") is sent by the initiating party to the debtor agent. It is used to request movement of funds from the debtor account to a creditor.

        Usage
        RestrictedJVINA1A2PaymentInitiationData1 ("API") can contain one or more customer credit transfer instructions.
        The API is used to exchange:
        - One or more instances of a credit transfer initiation;
        - Payment transactions that result in book transfers at the debtor agent or payments to another financial institution;
        - Payment transactions that result in an electronic cash transfer to the creditor account or in the emission of a cheque.

        The API can be used in the following scenarios:
        - In a direct scenario, the API is sent directly to the debtor agent. The debtor agent is the account servicer of the debtor.
        - The API can also be used by an initiating party that has authority to send the API on behalf of the debtor. This caters for example for the scenario of a payments factory initiating all payments on behalf of a large corporate.
        - The API can be used in domestic and cross-border scenarios.
        - The API must not be used by the debtor agent to execute the credit transfer instruction(s). The FIToFICustomerCreditTransfer message or equivalent API must be used instead.
      x-MXComponent: PostRestrictedJVINA1A2PaymentInitiationData1
    RestrictedJVINA1A2CustomerPaymentStatusReportData1ReportReference:
      required:
      - report_reference
      type: object
      properties:
        report_reference:
          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: "Unique technical identification of the customer payment status report as defined by the customer's server. \n\nNote: The customerdoes not use this field when first submitting the customer payment status report. but it should be used when subsequently retrieving the customer payment status report.\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
      additionalProperties: false
      description: |
        Scope
        The RestrictedJVINA1A2CustomerPaymentStatusReportData1 ("API") is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.

        Usage
        The RestrictedJVINA1A2CustomerPaymentStatusReportData1 ("API") is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.
        The API can be used to provide information about the status (e.g. rejection, acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.
        The API refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.
        The API can be used in domestic and cross-border scenarios.
        The API may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (e.g. either the beneficiary is credited, or the transaction is rejected).
      example:
        report_reference: 91823d1b-3266-4a20-a3fd-bde174b9188e
      x-MXComponent: RestrictedJVINA1A2CustomerPaymentStatusReportData1ReportReference
    PostRestrictedJVINA1A2CustomerPaymentStatusReportData1:
      required:
      - creation_date_time
      - customer_payment_status_report_identification
      - original_batch_payment_initiation_identification
      - original_batch_reference
      - original_creation_date_time
      type: object
      properties:
        customer_payment_status_report_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the Customer Payment Status Report.
            Usage: The instructing party has to make sure that CustomerPaymentStatusReportIdentification is unique per instructed party for a pre-agreed period.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        initiating_party_name:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Name by which a party is known and which is usually used to identify that party.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        initiating_party_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.



            Based 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)".
          x-MXComponent: AnyBICDec2014Identifier
        initiating_party_lei:
          pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}$"
          type: string
          description: |
            Legal entity identification as an alternate identification for a party.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          x-MXComponent: LEIIdentifier
        initiating_party_other_identification:
          maxItems: 2
          type: array
          description: |+
            Unique identification of an organisation, as assigned by an institution, using an identification scheme.


          items:
            $ref: "#/components/schemas/GenericOrganisationIdentification5"
        original_batch_reference:
          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: "Original, unique technical identification of the batch payment initiation as originally defined by the bank's server. \n\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
        original_batch_payment_initiation_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the original instructing party, to unambiguously identify the original Batch Payment Initiation.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_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 original API was created.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        original_number_of_transactions:
          pattern: "^[0-9]{1,15}$"
          type: string
          description: |
            Number of individual transactions contained in the original API.

            CGI-MP_OriginalNumberOfTransactionsRule
            If supplied by originator in the initiation API, will be echoed back.

            Based on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.
          x-MXComponent: Max15NumericText
        original_control_sum:
          maxLength: 19
          type: string
          description: |
            Total of all individual amounts included in the original API, irrespective of currencies.

            CGI-MP_OriginalControlSumRule: If supplied by originator in the initiation API, will be echoed back.

            Based on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.
          x-MXComponent: DecimalNumber
        group_status:
          maxLength: 4
          minLength: 1
          type: string
          description: |
            Specifies the status of a group of transactions.

            CGI-MP_GroupStatusRule: Required if reporting on a group level or combined group and transaction levels. Not Used if reporting at a transaction level only.

            ACTC = Group only
            ACCP = Group only and/or Consolidated status
            ACSP = Group only and/or Consolidated status
            ACWC = Group only and/or Consolidated status
            PART = Group  only and/or Consolidated status
            PDNG = Group  only and/or Consolidated status
            RJCT = Group  only and/or Consolidated status
            ACSC = Accepted Settlement Completed
            RCVD = Received

            Rule: Refer to the ISO 20022 External Code List "ExternalPaymentGroupStatus1Code" for the complete list.

            Specifies the status of a group of payment instructions, as published in an external payment group status code set.
            External code sets can be downloaded from www.iso20022.org.
          x-MXComponent: ExternalPaymentGroupStatus1Code
        status_reason_information_code:
          type: array
          description: |
            Provides detailed information on the status reason.

            NG-RTGS: Repeats only once

            CGI-MP_CodeRule
            Code required from External Code List.  If a bank's status code is supported other than a code from the External Code List, then the bank status code is shown under <AddtlInf>.

            Rule: Refer to the ISO 20022 External Code List "ExternalStatusReason1Code" for the complete list.

            Specifies the status reason, as published in an external status reason code list.
            External code sets can be downloaded from www.iso20022.org.
          items:
            maxLength: 4
            minLength: 1
            type: string
            x-MXComponent: ExternalStatusReason1Code
        additional_information:
          type: array
          description: |
            Further details on the status reason.

            Usage: Additional information can be used for several purposes such as the reporting of repaired information.

            Based on datatype Max105Text: Specifies a character string with a maximum length of 105 characters.
          items:
            maxLength: 105
            minLength: 1
            type: string
            x-MXComponent: Max105Text
        number_of_transactions_per_status:
          type: array
          description: Detailed information on the number of transactions for each identical transaction status.
          items:
            $ref: "#/components/schemas/NumberOfTransactionsPerStatus5"
        original_payment_information_and_status:
          type: array
          description: "Information concerning the original payment information, to which the status report API refers."
          items:
            $ref: "#/components/schemas/RestrictedJVINA1A2OriginalPaymentInstruction27"
      additionalProperties: false
      description: |
        Scope
        The RestrictedJVINA1A2CustomerPaymentStatusReportData1 ("API") is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.

        Usage
        The RestrictedJVINA1A2CustomerPaymentStatusReportData1 ("API") is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.
        The API can be used to provide information about the status (e.g. rejection, acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.
        The API refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.
        The API can be used in domestic and cross-border scenarios.
        The API may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (e.g. either the beneficiary is credited, or the transaction is rejected).
      x-MXComponent: PostRestrictedJVINA1A2CustomerPaymentStatusReportData1
    AccountIdentification4Choice:
      type: object
      additionalProperties: true
      description: Specifies the unique identification of an account as assigned by the account servicer.
      x-MXComponent: AccountIdentification4Choice
      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.

              Based 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.
            x-MXComponent: IBAN2007Identifier
        additionalProperties: false
      - required:
        - other
        type: object
        properties:
          other:
            $ref: "#/components/schemas/GenericAccountIdentification1"
        additionalProperties: false
    AccountSchemeName1Choice:
      type: object
      additionalProperties: true
      description: Sets of elements to identify a name of the identification scheme.
      x-MXComponent: AccountSchemeName1Choice
      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.

              Specifies the external account identification scheme name 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.
              External code sets can be downloaded from www.iso20022.org.
            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.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    AddressType3Choice:
      type: object
      additionalProperties: true
      description: Choice of formats for the type of address.
      x-MXComponent: AddressType3Choice
      oneOf:
      - required:
        - code
        type: object
        properties:
          code:
            type: string
            description: |
              Type of address expressed as a code.

              Specifies the type of address.

              Code Name Definition:
              *`ADDR` - Postal - Address is the complete postal address.
              *`BIZZ` - Business - Address is the business address.
              *`DLVY` - DeliveryTo - Address is the address to which delivery is to take place.
              *`HOME` - Residential - Address is the home address.
              *`MLTO` - MailTo - Address is the address to which mail is sent.
              *`PBOX` - POBox - Address is a postal office (PO) box.
            x-MXComponent: AddressType2Code
            enum:
            - ADDR
            - BIZZ
            - DLVY
            - HOME
            - MLTO
            - PBOX
        additionalProperties: false
      - required:
        - proprietary
        type: object
        properties:
          proprietary:
            $ref: "#/components/schemas/GenericIdentification30"
        additionalProperties: false
    AdvanceImportGuaranteeData1:
      type: object
      properties:
        guarantee_number:
          maxLength: 16
          minLength: 1
          type: string
          description: |
            SBLC or BG Number

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        guarantee_issue_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: |
            SBLC or BG Issue Date

            Based 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.
          x-MXComponent: ISODate
        guarantee_amount:
          $ref: "#/components/schemas/AdvanceImportGuaranteeData1_guarantee_amount"
      additionalProperties: false
      description: "Details of Advance Import of Goods. \n\nFields related to Advance Imports may/may not be populated depending on the scenarios listed by the Reserve Bank of India (RBI). For more details refer 'Master Direction – Import of Goods and Services' document published on RBI's website https://www.rbi.org.in/\n"
      x-MXComponent: AdvanceImportGuaranteeData1
    AmountData1:
      type: object
      properties:
        amount:
          $ref: "#/components/schemas/AmountData1_amount"
        currency:
          pattern: "^[A-Z]{3,3}$"
          type: string
          description: |
            Currency.

            A 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".
          x-MXComponent: ActiveOrHistoricCurrencyCode
      additionalProperties: false
      description: Indicates credit or debit amount and currency.
      x-MXComponent: AmountData1
    AmountData4:
      type: object
      properties:
        debit_amount_details:
          $ref: "#/components/schemas/AmountData1"
        credit_amount_details:
          $ref: "#/components/schemas/AmountData1"
      additionalProperties: false
      description: Consists of Debit and Credit Amount Details.
      x-MXComponent: AmountData4
    AmountType4Choice:
      type: object
      additionalProperties: true
      description: "Specifies the 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."
      x-MXComponent: AmountType4Choice
      oneOf:
      - required:
        - instructed_amount
        type: object
        properties:
          instructed_amount:
            $ref: "#/components/schemas/AmountType4Choice_instructed_amount"
        additionalProperties: false
      - required:
        - equivalent_amount
        type: object
        properties:
          equivalent_amount:
            $ref: "#/components/schemas/EquivalentAmount2"
        additionalProperties: false
    Authorisation1Choice:
      type: object
      additionalProperties: true
      description: Provides the details on the user identification or any user key that allows to check if the initiating party is allowed to issue the transaction.
      x-MXComponent: Authorisation1Choice
      oneOf:
      - required:
        - code
        type: object
        properties:
          code:
            type: string
            description: |
              Specifies the authorisation, in a coded form.

              Specifies the level of approval depending on a number of factors, including payment type, threshold amount or local country or operations practice.

              Code Name Definition:
              *`AUTH` - PreAuthorisedFile - Indicates a file has been pre authorised or approved within the originating customer environment and no further approval is required.
              *`FDET` - FileLevelAuthorisationDetails - Indicates that a file requires additional file level approval, with the ability to view both the payment information block and supporting customer credit transaction detail.
              *`FSUM` - FileLevelAuthorisationSummary - Indicates that a file requires additional file level approval, with the ability to view only the payment information block level information.
              *`ILEV` - InstructionLevelAuthorisation - Indicates that a file requires all customer transactions to be authorised or approved.
            x-MXComponent: Authorisation1Code
            enum:
            - AUTH
            - FDET
            - FSUM
            - ILEV
        additionalProperties: false
      - required:
        - proprietary
        type: object
        properties:
          proprietary:
            maxLength: 128
            minLength: 1
            type: string
            description: |
              Specifies the authorisation, in a free text form.

              Based on datatype Max128Text: Specifies a character string with a maximum length of 128 characters.
            x-MXComponent: Max128Text
        additionalProperties: false
    BillOfEntryAndShipmentData1:
      type: object
      properties:
        bill_of_entry_number:
          maxLength: 34
          minLength: 1
          type: string
          description: |
            Bill Of Entry Number.

            Based on datatype Max34Text: Specifies a character string with a maximum length of 34 characters.
          x-MXComponent: Max34Text
        bill_of_entry_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: |
            Bill Of Entry Date.

            Based 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.
          x-MXComponent: ISODate
        boe_utilisation_amount:
          $ref: "#/components/schemas/BillOfEntryAndShipmentData1_boe_utilisation_amount"
        invoice_number:
          type: array
          description: |
            Multiple invoices can exist under a single BOE. Therefore, this is a repetitive field with in BillOfEntry&ShipmentDetails component.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          items:
            maxLength: 35
            minLength: 1
            type: string
            x-MXComponent: Max35Text
        port_code:
          maxLength: 10
          minLength: 1
          type: string
          description: |
            Port Code.

            Based on datatype Max10Text: Specifies a character string with a maximum length of 10 characters.
          x-MXComponent: Max10Text
        authorised_dealer_code:
          maxLength: 15
          minLength: 1
          type: string
          description: |
            AD Code.

            Currently maximum of 6 Alphanumeric characters are allowed by the RBI. However, the specifications are futuristic in nature and therefore the field supports max 15 characters.

            Based on datatype Max15Text: Specifies a character string with a maximum length of 15 characters.
          x-MXComponent: Max15Text
        import_export_code:
          pattern: "^[0-9]{1,10}$"
          type: string
          description: |
            Import Export Code.

            Based on datatype Max10NumericText: Specifies a numeric string with a maximum length of 10 digits.
          x-MXComponent: Max10NumericText
        shipment_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: |
            On Board Shipping Date.

            Based 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.
          x-MXComponent: ISODate
        country_of_origin:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Country Of Origin.

            Code 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).
          x-MXComponent: CountryCode
        port_of_loading:
          maxLength: 64
          minLength: 1
          type: string
          description: |
            Port Of Loading.

            Based on datatype Max64Text: Specifies a character string with a maximum length of 64 characters.
          x-MXComponent: Max64Text
        consignee:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            When consignee is other than the remitter.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        shipping_company:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Freight forwarder or shipping company.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        vessel_name:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Vessel Name.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        imo_code:
          pattern: "^[0-9]{1,7}$"
          type: string
          description: |
            International Maritime Organization Code.

            Based on datatype Max7NumericText: Specifies a numeric string with a maximum length of 7 digits.
          x-MXComponent: Max7NumericText
        payment_terms:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Payment Term as mentioned in Invoice.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        transhipment_port:
          maxLength: 65
          minLength: 1
          type: string
          description: |
            Transhipment Port.

            Based on datatype Max65Text: Specifies a character string with a maximum length of 65 characters.
          x-MXComponent: Max65Text
      additionalProperties: false
      description: When remittance purpose is - Post Shipment Import Of Goods and when Bill of Entry information is available.
      x-MXComponent: BillOfEntryAndShipmentData1
    BranchAndFinancialInstitutionIdentification11:
      required:
      - country
      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)".

            Based 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)".
          x-MXComponent: BICFIDec2014Identifier
        clearing_system_identification:
          maxLength: 5
          minLength: 1
          type: string
          description: |
            Identification of a clearing system Clearing System Identification Code
            INFSC = Indian Financial System Code
            MICR = MICR (Magnetic Ink Character Recognition) code
            Or using an external code ExternalClearingSystemIdentification1Code published on ISO 20022.org.

            USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS

            Based on datatype Max5Text: Specifies a character string with a maximum length of 5 characters.
          x-MXComponent: Max5Text
        clearing_system_member_identification:
          maxLength: 11
          minLength: 1
          type: string
          description: |
            Identification of a member of a clearing system.
            USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS

            For IFSC, 11-character code
            For MICR, 9-digit bank branch code

            Identification of a member of a clearing system.

            ECS/NECS: 22.2 Destination Sort Code
            9-digit MICR city-bank-branch code.

            NEFT: N06.5569 Beneficiary branch’s IFSC (Indian Financial System Code).
            Mandatory, 4!a4!c[3!c]

            NACH: 23.16 Destination Bank IFSC / MICR / IIN
            Mandatory, 11-character Destn Bank IFSC/MICR/IIN.

            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.

            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.

            Based on datatype Max11Text: Clearing System Member Identification.
          x-MXComponent: Max11Text
        lei:
          pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}$"
          type: string
          description: |
            Legal entity identifier of the financial institution.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          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.

            Beneficiary Bank Name for Foreign Remittances.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        town_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Name of a built-up area, with defined boundaries, and a local government.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Nation with its own government.


            Code 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).
          x-MXComponent: CountryCode
        other:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification of an agent, as assigned by an institution, using an identification scheme.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
      additionalProperties: false
      description: Unique and unambiguous identification of a financial institution or a branch of a financial institution.
      example:
        clearing_system_identification: INFSC
        clearing_system_member_identification: HDFC0999999
        town_name: Mumbai
        country: IN
      x-MXComponent: BranchAndFinancialInstitutionIdentification11
    BranchAndFinancialInstitutionIdentification13:
      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)".



            Based 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)".
          x-MXComponent: BICFIDec2014Identifier
        clearing_system_identification:
          maxLength: 5
          minLength: 1
          type: string
          description: |
            Identification of a clearing system Clearing System Identification Code
            INFSC = Indian Financial System Code
            MICR = MICR (Magnetic Ink Character Recognition) code
            Or using an external code ExternalClearingSystemIdentification1Code published on ISO 20022.org.

            USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS

            Based on datatype Max5Text: Specifies a character string with a maximum length of 5 characters.
          x-MXComponent: Max5Text
        clearing_system_member_identification:
          maxLength: 11
          minLength: 1
          type: string
          description: |
            Identification of a member of a clearing system.
            USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS

            For IFSC, 11-character code
            For MICR, 9-digit bank branch code

            Identification of a member of a clearing system.

            ECS/NECS: 22.2 Destination Sort Code
            9-digit MICR city-bank-branch code.

            NEFT: N06.5569 Beneficiary branch’s IFSC (Indian Financial System Code).
            Mandatory, 4!a4!c[3!c]

            NACH: 23.16 Destination Bank IFSC / MICR / IIN
            Mandatory, 11-character Destn Bank IFSC/MICR/IIN.

            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.

            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.

            Based on datatype Max11Text: Clearing System Member Identification.
          x-MXComponent: Max11Text
        lei:
          pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}$"
          type: string
          description: |
            Legal entity identifier of the financial institution.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          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.

            USAGE RULE: ONLY USED FOR INTERMEDIARY AGENTS

            Correspondent Bank Name (IntermediaryAgent1 or 2) for Foreign Remittances

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        other_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification of an agent, as assigned by an institution, using an identification scheme.

            USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
      additionalProperties: false
      description: Unique and unambiguous identification of a financial institution or a branch of a financial institution.
      x-MXComponent: BranchAndFinancialInstitutionIdentification13
    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)".

            Based 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)".
          x-MXComponent: BICFIDec2014Identifier
        clearing_system_identification:
          maxLength: 5
          minLength: 1
          type: string
          description: |
            Identification of a clearing system Clearing System Identification Code
            INFSC = Indian Financial System Code
            MICR = MICR (Magnetic Ink Character Recognition) code
            Or using an external code ExternalClearingSystemIdentification1Code published on ISO 20022.org.

            USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS

            Based on datatype Max5Text: Specifies a character string with a maximum length of 5 characters.
          x-MXComponent: Max5Text
        clearing_system_member_identification:
          maxLength: 11
          minLength: 1
          type: string
          description: |
            Identification of a member of a clearing system.
            USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS

            For IFSC, 11-character code
            For MICR, 9-digit bank branch code

            Identification of a member of a clearing system.

            ECS/NECS: 22.2 Destination Sort Code
            9-digit MICR city-bank-branch code.

            NEFT: N06.5569 Beneficiary branch’s IFSC (Indian Financial System Code).
            Mandatory, 4!a4!c[3!c]

            NACH: 23.16 Destination Bank IFSC / MICR / IIN
            Mandatory, 11-character Destn Bank IFSC/MICR/IIN.

            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.

            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.

            Based on datatype Max11Text: Clearing System Member Identification.
          x-MXComponent: Max11Text
        lei:
          pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}$"
          type: string
          description: |
            Legal entity identifier of the financial institution.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        department:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Identification of a division of a large organisation or building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        sub_department:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Identification of a sub-division of a large organisation or building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        street_name:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Name of a street or thoroughfare.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        building_number:
          maxLength: 16
          minLength: 1
          type: string
          description: |
            Number that identifies the position of a building on a street.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        building_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Name of the building or house.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        floor:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Floor or storey within a building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        room:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Building room number.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        town_location_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Specific location name within the town.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        district_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision within a country sub-division.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country_sub_division:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision of a country such as state, region, county.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Nation with its own government.


            Code 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).
          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.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          items:
            maxLength: 70
            minLength: 1
            type: string
            x-MXComponent: Max70Text
        other:
          $ref: "#/components/schemas/GenericFinancialIdentification1"
        branch_identification:
          $ref: "#/components/schemas/BranchData3"
      additionalProperties: false
      description: Unique and unambiguous identification of a financial institution or a branch of a financial institution.
      x-MXComponent: BranchAndFinancialInstitutionIdentification15
    BranchAndFinancialInstitutionIdentification16:
      required:
      - country
      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)".

            Based 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)".
          x-MXComponent: BICFIDec2014Identifier
        clearing_system_identification:
          maxLength: 5
          minLength: 1
          type: string
          description: |
            Identification of a clearing system Clearing System Identification Code
            INFSC = Indian Financial System Code
            MICR = MICR (Magnetic Ink Character Recognition) code
            Or using an external code ExternalClearingSystemIdentification1Code published on ISO 20022.org.

            USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS

            Based on datatype Max5Text: Specifies a character string with a maximum length of 5 characters.
          x-MXComponent: Max5Text
        clearing_system_member_identification:
          maxLength: 11
          minLength: 1
          type: string
          description: |
            Identification of a member of a clearing system.
            USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS

            For IFSC, 11-character code
            For MICR, 9-digit bank branch code

            Identification of a member of a clearing system.

            ECS/NECS: 22.2 Destination Sort Code
            9-digit MICR city-bank-branch code.

            NEFT: N06.5569 Beneficiary branch’s IFSC (Indian Financial System Code).
            Mandatory, 4!a4!c[3!c]

            NACH: 23.16 Destination Bank IFSC / MICR / IIN
            Mandatory, 11-character Destn Bank IFSC/MICR/IIN.

            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.

            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.

            Based on datatype Max11Text: Clearing System Member Identification.
          x-MXComponent: Max11Text
        lei:
          pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}$"
          type: string
          description: |
            Legal entity identifier of the financial institution.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          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.

            Beneficiary Bank Name for Foreign Remittances.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        building_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Name of the building or house.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        floor:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Floor or storey within a building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        room:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Building room number.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        town_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Name of a built-up area, with defined boundaries, and a local government.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        town_location_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Specific location name within the town.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        district_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision within a country sub-division.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Nation with its own government.
            Fixed value IN for India.

            Code 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).
          x-MXComponent: CountryCode
        other:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification of an agent, as assigned by an institution, using an identification scheme.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
      additionalProperties: false
      description: Unique and unambiguous identification of a financial institution or a branch of a financial institution.
      example:
        clearing_system_identification: INFSC
        clearing_system_member_identification: SBIN0005076
        country: IN
      x-MXComponent: BranchAndFinancialInstitutionIdentification16
    BranchData3:
      type: object
      properties:
        identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique and unambiguous identification of a branch of a financial institution.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        postal_address:
          $ref: "#/components/schemas/PostalAddress24"
      additionalProperties: false
      description: Information that locates and identifies a specific branch of a financial institution.
      x-MXComponent: BranchData3
    CashAccount214:
      required:
      - 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.

            USAGE RULE: IBAN used only for cross-border payments

            Based 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.
          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.

            NACH: 23.17 Beneficiary's Bank Account number
            Mandatory, 35-character description.

            NEFT: N061.6061 Beneficiary Customer Account Number
            Mandatory
            35x

            NG-RTGS: Creditor's Account number
            Mandatory
            Max34Text

            ECS/NECS: 11.5 Destination Account number
            15-character description.

            Required for Foreign Remittances as well


            Based on datatype Max34Text: Specifies a character string with a maximum length of 34 characters.
          x-MXComponent: Max34Text
        type:
          maxLength: 4
          minLength: 1
          type: string
          description: |
            Specifies the nature, or use of the account.

            NACH: 23.3 Destination Account Type
            Optional, 2-digit code as provided by Bank - Needs to be as per NECS(10/11/12/29/30/31) or blank.

            ECS/NECS: 11.3 Destination Account Type (S.B. account or Current account)
            2-digit code (10 / 11 / 12 / 29 / 30 / 31).

            NEFT: N06.6310 Beneficiary Customer Account Type
            Optional

            10 = SAVINGS BANK
            11 = CURRENT ACCOUNT
            12 = Overdraft
            13 = CASH CREDIT
            14 = LOAN ACCOUNT
            40 = NRE (Non-Resident (External) Rupee Account)
            50 = Remittance for Customer not having account in bank
            51 = Indo Nepal Remittance
            52 = Card to Card Payments

            NG-RTGS: To be used to accommodate NEFT Account type information. This is also useful to document NRE account type for the RTGS.

            Or ExternalCashAccountType1Code as published on www.iso20022.org .

            Based on datatype Max4Text: Specifies a character string with a maximum length of 4 characters.
          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.

            Usage: 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.



            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        proxy:
          $ref: "#/components/schemas/ProxyAccountIdentification1"
      additionalProperties: false
      description: Provides the details to identify an account.
      x-MXComponent: CashAccount214
    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.

            Usage: 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.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.
      x-MXComponent: CashAccountType2Choice
      oneOf:
      - required:
        - code
        type: object
        properties:
          code:
            maxLength: 4
            minLength: 1
            type: string
            description: |
              Account type, in a coded form.

              Specifies the nature, or use, of the cash account 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.
              External code sets can be downloaded from www.iso20022.org.
            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.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    ChargesAndTax:
      type: object
      properties:
        local_bank_charges:
          $ref: "#/components/schemas/ChargesAndTax_local_bank_charges"
        gst_amount:
          $ref: "#/components/schemas/ChargesAndTax_gst_amount"
        total_amount:
          $ref: "#/components/schemas/ChargesAndTax_total_amount"
      additionalProperties: false
      description: "Remittance Charges And Tax includes local bank charges, GST amount and total amount."
      x-MXComponent: ChargesAndTax
    Contact4:
      type: object
      properties:
        name_prefix:
          type: string
          description: |
            Specifies the terms used to formally address a person.

            Specifies the terms used to formally address a person.

            Code Name Definition:
            *`DOCT` - Doctor - Title of the person is Doctor or Dr.
            *`MADM` - Madam - Title of the person is Madam.
            *`MIKS` - GenderNeutral - Title of the person is gender neutral (Mx).
            *`MISS` - Miss - Title of the person is Miss.
            *`MIST` - Mister - Title of the person is Mister or Mr.
          x-MXComponent: NamePrefix2Code
          enum:
          - DOCT
          - MADM
          - MIKS
          - MISS
          - MIST
        name:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Name by which a party is known and which is usually used to identify that party.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          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.

            Based on datatype PhoneNumber: The collection of information which identifies a specific phone or FAX number as defined by telecom services.
            It 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).
          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.

            Based on datatype PhoneNumber: The collection of information which identifies a specific phone or FAX number as defined by telecom services.
            It 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).
          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.

            Based on datatype PhoneNumber: The collection of information which identifies a specific phone or FAX number as defined by telecom services.
            It 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).
          x-MXComponent: PhoneNumber
        email_address:
          maxLength: 2048
          minLength: 1
          type: string
          description: |
            Address for electronic mail (e-mail).

            Based on datatype Max2048Text: Specifies a character string with a maximum length of 2048 characters.
          x-MXComponent: Max2048Text
        email_purpose:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Purpose for which an email address may be used.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        job_title:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Title of the function.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        responsibility:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Role of a person in an organisation.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        department:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Identification of a division of a large organisation or building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Preferred method used to reach the individual contact within an organisation.

            Code Name Definition:
            *`CELL` - MobileOrCellPhone - Preferred method used to reach the contact is per mobile or cell phone.
            *`FAXX` - Fax - Preferred method used to reach the contact is per fax.
            *`LETT` - Letter - Preferred method used to reach the contact is per letter.
            *`MAIL` - Email - Preferred method used to reach the contact is per email.
            *`PHON` - Phone - Preferred method used to reach the contact is per phone.
          x-MXComponent: PreferredContactMethod1Code
          enum:
          - CELL
          - FAXX
          - LETT
          - MAIL
          - PHON
      additionalProperties: false
      description: Specifies the details of the contact person.
      x-MXComponent: Contact4
    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.

            CGI-MP_IssuerRule: Value of 'ISO' reserved for ISO 11649 international creditor's reference.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Usage: 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.

            If 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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.
      x-MXComponent: CreditorReferenceType1Choice
      oneOf:
      - required:
        - code
        type: object
        properties:
          code:
            type: string
            description: |
              Type of creditor reference, in a coded form.

              Specifies a type of financial or commercial document.

              Code Name Definition:
              *`DISP` - DispatchAdvice - Document is a dispatch advice.
              *`FXDR` - ForeignExchangeDealReference - Document is a pre-agreed or pre-arranged foreign exchange transaction to which the payment transaction refers.
              *`PUOR` - PurchaseOrder - Document is a purchase order.
              *`RADM` - RemittanceAdviceMessage - Document is a remittance advice sent separately from the current transaction.
              *`RPIN` - RelatedPaymentInstruction - Document is a linked payment instruction to which the current payment instruction is related, for example, in a cover scenario.
              *`SCOR` - StructuredCommunicationReference - Document is a structured communication reference provided by the creditor to identify the referred transaction.
            x-MXComponent: DocumentType3Code
            enum:
            - DISP
            - FXDR
            - PUOR
            - RADM
            - RPIN
            - SCOR
        additionalProperties: false
      - required:
        - proprietary
        type: object
        properties:
          proprietary:
            maxLength: 35
            minLength: 1
            type: string
            description: |
              Creditor reference type, in a proprietary form.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    DateAndDateTime2Choice:
      type: object
      additionalProperties: true
      description: Choice between a date or a date and time format.
      x-MXComponent: DateAndDateTime2Choice
      oneOf:
      - required:
        - date
        type: object
        properties:
          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: |
              Specified date.

              Based 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.
            x-MXComponent: ISODate
        additionalProperties: false
      - required:
        - date_time
        type: object
        properties:
          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: |
              Specified date and time.

              Based 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.
              Note on the time format:
              1) beginning / end of calendar day
              00:00:00 = the beginning of a calendar day
              24:00:00 = the end of a calendar day
              2) fractions of second in time format
              Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
            x-MXComponent: ISODateTime
        additionalProperties: false
    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.

            Based 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.
          x-MXComponent: ISODate
        province_of_birth:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Province where a person was born.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        city_of_birth:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            City where a person was born.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country_of_birth:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Country where a person was born.

            Code 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).
          x-MXComponent: CountryCode
      additionalProperties: false
      description: Date and place of birth of a person.
      x-MXComponent: DateAndPlaceOfBirth1
    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.

            Based 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.
          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.

            Based 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.
          x-MXComponent: ISODate
      additionalProperties: false
      description: Range of time defined by a start date and an end date.
      x-MXComponent: DatePeriod2
    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.
      x-MXComponent: DiscountAmountType1Choice
      oneOf:
      - required:
        - code
        type: object
        properties:
          code:
            maxLength: 4
            minLength: 1
            type: string
            description: |
              Specifies the amount type, in a coded form.

              Specifies the nature, or use, of the amount 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.
              External code sets can be downloaded from www.iso20022.org.
            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.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    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.

            Specifies if an operation is an increase or a decrease.

            Code Name Definition:
            *`CRDT` - Credit - Operation is an increase.
            *`DBIT` - Debit - Operation is a decrease.
            Synonyms
            Value: :22F::CRDB - Context: ISO 15022
          x-MXComponent: CreditDebitCode
          enum:
          - CRDT
          - DBIT
        reason:
          maxLength: 4
          minLength: 1
          type: string
          description: |
            Specifies the reason for the adjustment.

            Based on datatype Max4Text: Specifies a character string with a maximum length of 4 characters.
          x-MXComponent: Max4Text
        additional_information:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Provides further details on the document adjustment.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          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
    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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based 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.
          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.

            Based on datatype Max2048Text: Specifies a character string with a maximum length of 2048 characters.
          x-MXComponent: Max2048Text
        amount:
          $ref: "#/components/schemas/RemittanceAmount3"
      additionalProperties: false
      description: |
        Provides document line information.
      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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.
      x-MXComponent: DocumentLineType1Choice
      oneOf:
      - required:
        - code
        type: object
        properties:
          code:
            maxLength: 4
            minLength: 1
            type: string
            description: |
              Line identification type in a coded form.

              Specifies the document line type as published in an external document type code list.
            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.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    EquivalentAmount2:
      required:
      - amount
      - currency_of_transfer
      type: object
      properties:
        amount:
          $ref: "#/components/schemas/EquivalentAmount2_amount"
        currency_of_transfer:
          pattern: "^[A-Z]{3,3}$"
          type: string
          description: |
            Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.

            A 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".
          x-MXComponent: ActiveOrHistoricCurrencyCode
      additionalProperties: false
      description: "Amount of money to be moved between the debtor and creditor, expressed in the currency of the debtor's account, and the currency in which the amount is to be moved."
      x-MXComponent: EquivalentAmount2
    ExchangeRate1:
      type: object
      properties:
        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.

            A 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".
          x-MXComponent: ActiveOrHistoricCurrencyCode
        exchange_rate:
          maxLength: 12
          type: string
          description: |
            The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.

            Based on datatype BaseOneRate: Rate expressed as a decimal, for example, 0.7 is 7/10 and 70%.
          x-MXComponent: BaseOneRate
        rate_type:
          type: string
          description: |
            Specifies the type used to complete the currency exchange.

            Specifies a type of financial or commercial document.

            Code Name Definition:
            *`AGRD` - Agreed - Exchange rate applied is the rate agreed between the parties.
            *`SALE` - Sale - Exchange rate applied is the market rate at the time of the sale.
            *`SPOT` - Spot - Exchange rate applied is the spot rate.
          x-MXComponent: ExchangeRateType1Code
          enum:
          - AGRD
          - SALE
          - SPOT
        contract_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
      additionalProperties: false
      description: Further detailed information on the exchange rate that has been used in the payment transaction.
      x-MXComponent: ExchangeRate1
    FinancialIdentificationSchemeName1Choice:
      type: object
      additionalProperties: true
      description: Sets of elements to identify a name of the organisation identification scheme.
      x-MXComponent: FinancialIdentificationSchemeName1Choice
      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.

              Specifies the external financial institution identification scheme name 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.
              External code sets can be downloaded from www.iso20022.org.
            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.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    ForeignRemittance1:
      required:
      - foreign_remittance_purpose
      - invoice_data
      type: object
      properties:
        foreign_remittance_purpose:
          type: array
          description: |
            Purpose of Remittance can be:
            - Advance Imports of Goods or
            - Post Shipment Import of Goods or
            - Services (Non-import Remittances. i.e. A2)
            - Liberalised Remittance Scheme

            For A1/A2 in India

            Code Name Definition:
            *`AIMP` - AdvanceImportOfGoods - Advance Import Of Goods.
            *`LRSP` - LiberalisedRemittanceScheme - Liberalised Remittance Scheme.
            *`PIMP` - PostShipmentImportOfGoods - Post Shipment Import Of Goods.
            *`SERV` - NonImportRemittances - Services - A2.
          items:
            type: string
            x-MXComponent: ForeignRemittancePurpose1Code
            enum:
            - AIMP
            - LRSP
            - PIMP
            - SERV
        advance_import_guarantee_data:
          type: array
          description: |
            Data about Advance Import of Goods.

            Usage Rule:
            Fields related to Advance Imports may/may not be populated depending on the scenarios listed by the Reserve Bank of India (RBI). For more details refer 'Master Direction – Import of Goods and Services' document published on RBI's website https://www.rbi.org.in/
          items:
            $ref: "#/components/schemas/AdvanceImportGuaranteeData1"
        post_shipment_data:
          type: array
          description: "Post Shipment data regarding bill of entry, or transport documents and shipment data."
          items:
            $ref: "#/components/schemas/PostShipmentData1"
        goods_type:
          type: string
          description: |
            Goods Type can be raw material or capital goods.
            GoodsTypeRule
            Goods type to be mandatorily populated when the purpose of remittance is other than - Non-Import (Services) remittances or A2

            Type of goods.

            Code Name Definition:
            *`CAPG` - CapitalGoods - Capital Goods.
            *`RAWM` - RawMaterial - Raw Material.
          x-MXComponent: GoodsType1Code
          enum:
          - CAPG
          - RAWM
        additional_information_for_banks:
          type: array
          description: |
            Information from customer to its bank.

            This field can be used to indicate Delay reason etc.

            Also used to indicate the declaration for remittances. All the declarations must begin with a code. Codes to be enclosed within '/'.

            List of codes are: FEMA, BOED (BOE Declaration), DELD (Delayed payment declaration), NNLD (For NNL Declaration)

            E.g. /BOED/

            This field may also be used to indicate names of multiple files sent via FileAct. Follow the SWIFT IN File naming convention for naming information.

            Based on datatype Max1850Text: Specifies a character string with a maximum length of 1850 characters.
          items:
            maxLength: 1850
            minLength: 1
            type: string
            x-MXComponent: Max1850Text
        invoice_data:
          type: array
          description: PO or PI or Invoice Details
          items:
            $ref: "#/components/schemas/InvoiceData1"
        payment_information_data:
          type: array
          description: "Debit Authority, Exchange rate and Purpose code details"
          items:
            $ref: "#/components/schemas/PaymentInformationData1"
        summary_data:
          $ref: "#/components/schemas/SummaryData2"
        charges_and_tax:
          $ref: "#/components/schemas/ChargesAndTax"
        ultimate_debtor_nationality:
          $ref: "#/components/schemas/UltimateDebtorNationality1"
      additionalProperties: false
      description: Foreign Remittance Details for A1/A2 in India.
      x-MXComponent: ForeignRemittance1
    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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          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.

            Based 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.
          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.

            Based on datatype TrueFalseIndicator: A flag indicating a True or False value.
          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.

            Based on datatype TrueFalseIndicator: A flag indicating a True or False value.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.
      x-MXComponent: GarnishmentType1Choice
      oneOf:
      - required:
        - code
        type: object
        properties:
          code:
            maxLength: 4
            minLength: 1
            type: string
            description: |
              Garnishment type in a coded form.
              Would suggest this to be an External Code List to contain:
              GNCS    Garnishment from a third party payer for Child Support
              GNDP    Garnishment from a Direct Payer for Child Support
              GTPP     Garnishment from a third party payer to taxing agency.

              Specifies the garnishment type as published in an external document type code list.
            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.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    GenericAccountIdentification1:
      required:
      - identification
      type: object
      properties:
        identification:
          maxLength: 34
          minLength: 1
          type: string
          description: |
            Identification assigned by an institution.

            Based on datatype Max34Text: Specifies a character string with a maximum length of 34 characters.
          x-MXComponent: Max34Text
        scheme_name:
          $ref: "#/components/schemas/AccountSchemeName1Choice"
        issuer:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Entity that assigns the identification.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        scheme_name:
          $ref: "#/components/schemas/FinancialIdentificationSchemeName1Choice"
        issuer:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Entity that assigns the identification.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
      additionalProperties: false
      description: Information related to an identification of a financial institution.
      x-MXComponent: GenericFinancialIdentification1
    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.

            Based on datatype Exact4AlphaNumericText: Specifies an alphanumeric string with a length of 4 characters.
          x-MXComponent: Exact4AlphaNumericText
        issuer:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Entity that assigns the identification.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        scheme_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Short textual description of the scheme.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
      additionalProperties: false
      description: "Information related to an identification, for example, party identification or account identification."
      x-MXComponent: GenericIdentification30
    GenericOrganisationIdentification1:
      required:
      - identification
      type: object
      properties:
        identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identification assigned by an institution.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        scheme_name:
          $ref: "#/components/schemas/OrganisationIdentificationSchemeName1Choice"
        issuer:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Entity that assigns the identification.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
      additionalProperties: false
      description: Information related to an identification of an organisation.
      x-MXComponent: GenericOrganisationIdentification1
    GenericOrganisationIdentification5:
      type: object
      properties:
        identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identification assigned by an institution.


            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        scheme_name:
          type: string
          description: |
            Name of the identification scheme.


            Origanisation identification scheme codes used for JVIN

            Code Name Definition:
            *`BANK` - SenderOfStatus - Sender of Status.


            *`CIN` - CIN - CIN id for Foreign Remittance.
            *`CUST` - ReceiverOfStatus - Receiver of Status.
            *`GSTN` - GSTN - GSTN id for Foreign Remittance.
            *`PAN` - PAN - PAN id for Foreign Remittance.
          x-MXComponent: IndiaOrgIdScheme1Code
          enum:
          - BANK
          - CIN
          - CUST
          - GSTN
          - PAN
      additionalProperties: false
      description: Information related to an identification of an organisation.
      x-MXComponent: GenericOrganisationIdentification5
    GenericPersonIdentification1:
      required:
      - identification
      type: object
      properties:
        identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique and unambiguous identification of a person.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        scheme_name:
          $ref: "#/components/schemas/PersonIdentificationSchemeName1Choice"
        issuer:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Entity that assigns the identification.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
      additionalProperties: false
      description: Information related to an identification of a person.
      x-MXComponent: GenericPersonIdentification1
    GoodsAndServicesData1:
      required:
      - description_of_goods_services
      type: object
      properties:
        description_of_goods_services:
          type: array
          description: |
            This field can be used to describe details of Spares / Machine / Product name /Engineering / Professional / Technical Services etc.

            Applicable also for Non-Import Remittances (A2).

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          items:
            maxLength: 140
            minLength: 1
            type: string
            x-MXComponent: Max140Text
        harmonised_community_code:
          type: array
          description: |
            Harmonised Community Code issued by Customs dept.
            This is an external code.

            Based on datatype Max12Text: Specifies a character string with a maximum length of 12 characters.
          items:
            maxLength: 12
            minLength: 1
            type: string
            x-MXComponent: Max12Text
      additionalProperties: false
      description: Contains Description of Goods and Services and HS Code.
      x-MXComponent: GoodsAndServicesData1
    InstructionForCreditorAgent1:
      type: object
      properties:
        code:
          type: string
          description: |
            Coded information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor's agent.

            Specifies further instructions concerning the processing of a payment instruction, provided by the sending clearing agent to the next agent(s).

            Code Name Definition:
            *`CHQB` - PayCreditorByCheque - (Ultimate) creditor must be paid by cheque.
            *`HOLD` - HoldCashForCreditor - Amount of money must be held for the (ultimate) creditor, who will call. Pay on identification.
            *`PHOB` - PhoneBeneficiary - Please advise/contact (ultimate) creditor/claimant by phone.
            *`TELB` - Telecom - Please advise/contact (ultimate) creditor/claimant by the most efficient means of telecommunication.
          x-MXComponent: Instruction3Code
          enum:
          - CHQB
          - HOLD
          - PHOB
          - TELB
        instruction_information:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Further information complementing the coded instruction or instruction to the creditor's agent that is bilaterally agreed or specific to a user community.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
      additionalProperties: false
      description: "Further information related to the processing of the payment instruction that may need to be acted upon by the creditor's agent. The instruction may relate to a level of service, or may be an instruction that has to be executed by the creditor's agent, or may be information required by the creditor's agent."
      x-MXComponent: InstructionForCreditorAgent1
    InvoiceData1:
      required:
      - goods_and_services_data
      - invoice_amount
      - invoice_date
      - invoice_number
      - net_payable_amount
      type: object
      properties:
        invoice_number:
          maxLength: 34
          minLength: 1
          type: string
          description: |
            Invoice Number.

            Based on datatype Max34Text: Specifies a character string with a maximum length of 34 characters.
          x-MXComponent: Max34Text
        invoice_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: |
            Invoice Date.

            Based 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.
          x-MXComponent: ISODate
        invoice_amount:
          $ref: "#/components/schemas/InvoiceData1_invoice_amount"
        misc_charges:
          $ref: "#/components/schemas/InvoiceData1_misc_charges"
        net_payable_amount:
          $ref: "#/components/schemas/InvoiceData1_net_payable_amount"
        purchase_order_details:
          type: array
          description: "Indicates PO/PI Number, PO/PI Amount and PO/PI Date."
          items:
            $ref: "#/components/schemas/PurchaseOrderData1"
        goods_and_services_data:
          type: array
          description: Goods And Or Services details
          items:
            $ref: "#/components/schemas/GoodsAndServicesData1"
      additionalProperties: false
      description: PO or PI or Invoice Details.
      x-MXComponent: InvoiceData1
    NameAndAddress16:
      required:
      - address
      - 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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        address:
          $ref: "#/components/schemas/PostalAddress24"
      additionalProperties: false
      description: Information that locates and identifies a party.
      x-MXComponent: NameAndAddress16
    NameAndAddress20:
      required:
      - 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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        department:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Identification of a division of a large organisation or building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        sub_department:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Identification of a sub-division of a large organisation or building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        street_name:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Name of a street or thoroughfare.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        building_number:
          maxLength: 16
          minLength: 1
          type: string
          description: |
            Number that identifies the position of a building on a street.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        building_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Name of the building or house.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        floor:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Floor or storey within a building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        room:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Building room number.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        town_location_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Specific location name within the town.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        district_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision within a country sub-division.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country_sub_division:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision of a country such as state, region, county.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Nation with its own government.

            Code 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).
          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.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          items:
            maxLength: 70
            minLength: 1
            type: string
            x-MXComponent: Max70Text
      additionalProperties: false
      description: Information that locates and identifies a party.
      x-MXComponent: NameAndAddress20
    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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        department:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Identification of a division of a large organisation or building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        sub_department:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Identification of a sub-division of a large organisation or building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        street_name:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Name of a street or thoroughfare.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        building_number:
          maxLength: 16
          minLength: 1
          type: string
          description: |
            Number that identifies the position of a building on a street.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        building_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Name of the building or house.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        floor:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Floor or storey within a building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        room:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Building room number.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        town_location_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Specific location name within the town.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        district_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision within a country sub-division.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country_sub_division:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision of a country such as state, region, county.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Nation with its own government.

            Code 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).
          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.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          items:
            maxLength: 70
            minLength: 1
            type: string
            x-MXComponent: Max70Text
      additionalProperties: false
      description: Information that locates and identifies a party.
      x-MXComponent: NameAndAddress21
    NumberOfTransactionsPerStatus5:
      required:
      - detailed_number_of_transactions
      - detailed_status
      type: object
      properties:
        detailed_number_of_transactions:
          pattern: "^[0-9]{1,15}$"
          type: string
          description: |
            Number of individual transactions contained in the message, detailed per status.

            Based on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.
          x-MXComponent: Max15NumericText
        detailed_status:
          maxLength: 4
          minLength: 1
          type: string
          description: |
            Common transaction status for all individual transactions reported.

            Specifies the status of an individual payment instructions, as published in an external payment transaction status code set.
            External code sets can be downloaded from www.iso20022.org.
          x-MXComponent: ExternalPaymentTransactionStatus1Code
        detailed_control_sum:
          maxLength: 19
          type: string
          description: |
            Total of all individual amounts included in the message, irrespective of currencies, detailed per status.

            Based on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.
          x-MXComponent: DecimalNumber
      additionalProperties: false
      description: Set of elements used to provide detailed information on the number of transactions that are reported with a specific transaction status.
      x-MXComponent: NumberOfTransactionsPerStatus5
    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.

            Based 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)".
          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.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          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.



            Based 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)".
          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.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          x-MXComponent: LEIIdentifier
        other:
          type: array
          description: |+
            Unique identification of an organisation, as assigned by an institution, using an identification scheme.

            Repeat this block for PAN, CIN and GSTN Numbers for Foreign Remittances

          items:
            $ref: "#/components/schemas/GenericOrganisationIdentification5"
      additionalProperties: false
      description: Unique and unambiguous way to identify an organisation.
      x-MXComponent: OrganisationIdentification45
    OrganisationIdentificationSchemeName1Choice:
      type: object
      additionalProperties: true
      description: Sets of elements to identify a name of the organisation identification scheme.
      x-MXComponent: OrganisationIdentificationSchemeName1Choice
      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.

              Specifies the external organisation identification scheme name 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.
              External code sets can be downloaded from www.iso20022.org.
            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.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    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.

            Based on datatype Max4Text: Specifies a character string with a maximum length of 4 characters.
          x-MXComponent: Max4Text
        identification:
          maxLength: 128
          minLength: 1
          type: string
          description: |
            Communication value such as phone number or email address.

            Based on datatype Max128Text: Specifies a character string with a maximum length of 128 characters.
          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.
      x-MXComponent: Party38Choice
      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
    Party60Choice:
      type: object
      additionalProperties: true
      description: "Identification of a person, an organisation or a financial institution."
      x-MXComponent: Party60Choice
      oneOf:
      - required:
        - party
        type: object
        properties:
          party:
            $ref: "#/components/schemas/PartyIdentification304"
        additionalProperties: false
      - required:
        - agent
        type: object
        properties:
          agent:
            $ref: "#/components/schemas/BranchAndFinancialInstitutionIdentification15"
        additionalProperties: false
    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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          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.

            Code 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).
          x-MXComponent: CountryCode
        contact_details:
          $ref: "#/components/schemas/Contact4"
      additionalProperties: false
      description: Specifies the identification of a person or an organisation.
      x-MXComponent: PartyIdentification135
    PartyIdentification302:
      required:
      - country
      - name
      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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        town_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Name of a built-up area, with defined boundaries, and a local government.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Nation with its own government.
            Fixed value IN for India.

            Code 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).
          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.

            Rule if Local Instrument is "RTGS"
            : Debtor/PostalAddress/AddressLine
            4 * Max70Text

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          items:
            maxLength: 70
            minLength: 1
            type: string
            x-MXComponent: Max70Text
        identification:
          $ref: "#/components/schemas/OrganisationIdentification45"
        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.

            Code 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).
          x-MXComponent: CountryCode
        contact_details:
          $ref: "#/components/schemas/Contact4"
      additionalProperties: false
      description: Specifies the identification of a person or an organisation.
      x-MXComponent: PartyIdentification302
    PartyIdentification304:
      required:
      - name
      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.

            Creditor Name
            RTGS supports max140Text.
            Will be truncated for other clearing system:
            Wire - Max70 (MT013 / 202 - 50a Ordering Customer)
            NEFT - Max50Text
            ECS/NACH  - Max40Text

            Required for Foreign Remittances as well

            NEFT: N06.6081 Beneficiary Customer Account Name
            Receiving customer’s account name
            50x

            NG-RTGS: Creditor/Name
            Mandatory in view of Indian Context (Ref. Circular issued by RBI).
            Max140Text

            ECS/NECS: 22.6 Destination Account Holder's Name
            40-character description.

            NACH: 23.6 Beneficiary Account Holder's Name
            Mandatory, 40-character description.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        department:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Identification of a division of a large organisation or building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        sub_department:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Identification of a sub-division of a large organisation or building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        street_name:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Name of a street or thoroughfare.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        building_number:
          maxLength: 16
          minLength: 1
          type: string
          description: |
            Number that identifies the position of a building on a street.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        building_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Name of the building or house.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        floor:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Floor or storey within a building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        room:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Building room number.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        town_location_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Specific location name within the town.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        district_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision within a country sub-division.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country_sub_division:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision of a country such as state, region, county.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Nation with its own government.

            Usage Rule: mandatory for Debtor and Creditor in Payment Initiation.

            Code 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).
          x-MXComponent: CountryCode
        address_line:
          maxItems: 4
          type: array
          description: |
            Information that locates and identifies a specific address, as defined by postal services, presented in free format text.

            NEFT: N06.5565 Beneficiary Customer Address
            4 * 35x

            NG-RTGS: Creditor/PostalAddress/AddressLine
            4 * Max70Text

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Code 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).
          x-MXComponent: CountryCode
        contact_details:
          $ref: "#/components/schemas/Contact4"
      additionalProperties: false
      description: Specifies the identification of a person or an organisation.
      x-MXComponent: PartyIdentification304
    PartyIdentification307:
      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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        identification:
          $ref: "#/components/schemas/OrganisationIdentification45"
      additionalProperties: false
      description: Specifies the identification of a person or an organisation.
      x-MXComponent: PartyIdentification307
    PaymentInformationData1:
      required:
      - debtor_account
      type: object
      properties:
        debtor_account:
          maxLength: 34
          minLength: 1
          type: string
          description: |
            Debtor Account Number.

            Based on datatype Max34Text: Specifies a character string with a maximum length of 34 characters.
          x-MXComponent: Max34Text
        purpose_code:
          maxLength: 5
          minLength: 1
          type: string
          description: |
            Purpose Code as assigned by RBI.

            Usage rule: Although the field is optional, the corporate customer must make sure that this field is populated in case of A2 payments.

            Based on datatype Max5Text: Specifies a character string with a maximum length of 5 characters.
          x-MXComponent: Max5Text
        purpose_code_group_name:
          maxLength: 76
          minLength: 1
          type: string
          description: |
            Purpose Code Group Name as defined by RBI.

            Based on datatype Max76Text: Specifies a character string with a maximum length of 76 characters.
          x-MXComponent: Max76Text
        amount_details:
          $ref: "#/components/schemas/AmountData4"
        exchange_rate_information:
          $ref: "#/components/schemas/ExchangeRate1"
      additionalProperties: false
      description: "Debit Authority, Exchange rate and Purpose code details."
      x-MXComponent: PaymentInformationData1
    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.

            For APBS, 15-digit Aadhaar (India resident unique identification number) number allotted by UIDAI (Unique Identification Authority of India).

            NACH: 23.21 Beneficiary Aadhaar Number
            Mandatory for APBS. 15 digit number.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          items:
            maxLength: 35
            minLength: 1
            type: string
            x-MXComponent: Max35Text
        scheme_name:
          maxItems: 2
          type: array
          description: |
            Name of the identification scheme.

            Identification Scheme Name Code
            AADH = Aadhaar Number

            NACH: AADH = Aadhaar


            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.
      x-MXComponent: PersonIdentificationSchemeName1Choice
      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.

              Specifies the external person identification scheme name 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.
              External code sets can be downloaded from www.iso20022.org.
            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.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    PostShipmentData1:
      type: object
      additionalProperties: true
      description: |
        Post Shipment Choice. Can be -

        - BOE details
        - Transport Data information.
      x-MXComponent: PostShipmentData1
      oneOf:
      - required:
        - bill_of_entry_and_shipment_data
        type: object
        properties:
          bill_of_entry_and_shipment_data:
            $ref: "#/components/schemas/BillOfEntryAndShipmentData1"
        additionalProperties: false
      - required:
        - transport_document_and_shipment_data
        type: object
        properties:
          transport_document_and_shipment_data:
            $ref: "#/components/schemas/TransportDocumentAndShipmentData1"
        additionalProperties: false
    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.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        sub_department:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Identification of a sub-division of a large organisation or building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        street_name:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Name of a street or thoroughfare.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        building_number:
          maxLength: 16
          minLength: 1
          type: string
          description: |
            Number that identifies the position of a building on a street.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        building_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Name of the building or house.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        floor:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Floor or storey within a building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        room:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Building room number.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        town_location_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Specific location name within the town.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        district_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision within a country sub-division.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country_sub_division:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision of a country such as state, region, county.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Nation with its own government.

            Code 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).
          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.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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
    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.

            Based on datatype Max2048Text: Specifies a character string with a maximum length of 2048 characters.
          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.
      x-MXComponent: ProxyAccountType1Choice
      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.

              Specifies the external proxy account type code, as published in the proxy account type external code set.
              External code sets can be downloaded from www.iso20022.org.
            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.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    PurchaseOrderData1:
      required:
      - purchase_order_amount
      - purchase_order_date
      - purchase_order_number
      type: object
      properties:
        purchase_order_number:
          maxLength: 34
          minLength: 1
          type: string
          description: |
            PO or PI Number.

            Based on datatype Max34Text: Specifies a character string with a maximum length of 34 characters.
          x-MXComponent: Max34Text
        purchase_order_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: |
            PO or PI Date.

            Based 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.
          x-MXComponent: ISODate
        purchase_order_amount:
          $ref: "#/components/schemas/PurchaseOrderData1_purchase_order_amount"
      additionalProperties: false
      description: "This component is used to indicate PO/PI Number, PO/PI Amount and PO/PI Date."
      x-MXComponent: PurchaseOrderData1
    Purpose2Choice:
      type: object
      additionalProperties: true
      description: |
        Specifies the underlying reason for the payment transaction.
        Usage: 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.
      x-MXComponent: Purpose2Choice
      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.

              Specifies the external purpose 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.
              External code sets can be downloaded from www.iso20022.org.
            x-MXComponent: ExternalPurpose1Code
        additionalProperties: false
      - required:
        - proprietary
        type: object
        properties:
          proprietary:
            maxLength: 35
            minLength: 1
            type: string
            description: |
              Purpose, in a proprietary form.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based 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.
          x-MXComponent: ISODate
        line_details:
          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.
      x-MXComponent: ReferredDocumentType3Choice
      oneOf:
      - required:
        - code
        type: object
        properties:
          code:
            type: string
            description: |
              Document type in a coded form.

              Specifies a type of financial or commercial document.

              Code Name Definition:
              *`AROI` - AccountReceivableOpenItem - Document is a payment that applies to a specific source document.
              *`BOLD` - BillOfLading - Document is a shipping notice.
              *`CINV` - CommercialInvoice - Document is an invoice.
              *`CMCN` - CommercialContract - Document is an agreement between the parties, stipulating the terms and conditions of the delivery of goods or services.
              *`CNFA` - CreditNoteRelatedToFinancialAdjustment - Document is a credit note for the final amount settled for a commercial transaction.
              *`CREN` - CreditNote - Document is a credit note.
              *`DEBN` - DebitNote - Document is a debit note.
              *`DISP` - DispatchAdvice - Document is a dispatch advice.
              *`DNFA` - DebitNoteRelatedToFinancialAdjustment - Document is a debit note for the final amount settled for a commercial transaction.
              *`HIRI` - HireInvoice - Document is an invoice for the hiring of human resources or renting goods or equipment.
              *`MSIN` - MeteredServiceInvoice - Document is an invoice claiming payment for the supply of metered services, for example gas or electricity supplied to a fixed meter.
              *`PUOR` - PurchaseOrder - Document is a purchase order.
              *`SBIN` - SelfBilledInvoice - Document is an invoice issued by the debtor.
              *`SOAC` - StatementOfAccount - Document is a statement of the transactions posted to the debtor's account at the supplier.
              *`TSUT` - TradeServicesUtilityTransaction - Document is a transaction identifier as assigned by the Trade Services Utility.
              *`VCHR` - Voucher - Document is an electronic payment document.
            x-MXComponent: DocumentType6Code
            enum:
            - AROI
            - BOLD
            - CINV
            - CMCN
            - CNFA
            - CREN
            - DEBN
            - DISP
            - DNFA
            - HIRI
            - MSIN
            - PUOR
            - SBIN
            - SOAC
            - TSUT
            - VCHR
        additionalProperties: false
      - required:
        - proprietary
        type: object
        properties:
          proprietary:
            maxLength: 35
            minLength: 1
            type: string
            description: |
              Proprietary identification of the type of the remittance document.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
      additionalProperties: false
      description: Specifies the type of the document referred in the remittance information.
      x-MXComponent: ReferredDocumentType4
    RegulatoryAuthority2:
      type: object
      properties:
        name:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Name of the entity requiring the regulatory reporting information.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        country:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Country of the entity that requires the regulatory reporting information.

            Code 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).
          x-MXComponent: CountryCode
      additionalProperties: false
      description: Entity requiring the regulatory reporting information.
      x-MXComponent: RegulatoryAuthority2
    RegulatoryReporting9:
      type: object
      properties:
        debit_credit_reporting_indicator:
          type: string
          description: |
            Identifies whether the regulatory reporting information applies to the debit side, to the credit side or to both debit and credit sides of the transaction.

            Usage Rule: only Debit needs to be reported.

            Identifies whether the regulatory reporting information applies to the debit side, to the credit side or to both debit and credit sides of the transaction.

            Code Name Definition:
            *`DEBT` - Debit - Regulatory information applies to the debit side.
          x-MXComponent: RegulatoryReportingType2Code
          enum:
          - DEBT
        authority:
          $ref: "#/components/schemas/RegulatoryAuthority2"
        details:
          type: array
          description: Set of elements used to provide details on the regulatory reporting information.
          items:
            $ref: "#/components/schemas/StructuredRegulatoryReporting4"
      additionalProperties: false
      description: Information needed due to regulatory and/or statutory requirements.
      x-MXComponent: RegulatoryReporting9
    RemittanceAmount2:
      type: object
      properties:
        due_payable_amount:
          $ref: "#/components/schemas/RemittanceAmount2_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/RemittanceAmount2_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/DocumentAdjustment1"
        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: RemittanceAmount2
    RemittanceAmount3:
      type: object
      properties:
        due_payable_amount:
          $ref: "#/components/schemas/RemittanceAmount2_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
    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.

            NEFT: N02 / N03 / N06.7495 Remittance information
            Optional, 6*35x

            NG-RTGS: Remittance Information 140 characters up to 4 can be used Sender to Receiver Information

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          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."
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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
    RemittanceLocation7:
      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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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/RemittanceLocationData1"
      additionalProperties: false
      description: Provides information on the remittance advice.
      x-MXComponent: RemittanceLocation7
    RemittanceLocationData1:
      required:
      - method
      type: object
      properties:
        method:
          type: string
          description: |
            Method used to deliver the remittance advice information.

            Specifies the method used to deliver the remittance advice information.

            Code Name Definition:
            *`EDIC` - ElectronicDataInterchange - Remittance advice information must be sent through Electronic Data Interchange (EDI).
            *`EMAL` - EMail - Remittance advice information must be sent through e-mail.
            *`FAXI` - Fax - Remittance advice information must be faxed.
            *`POST` - Post - Remittance advice information must be sent through postal services.
            *`SMSM` - SMS - Remittance advice information must be sent through by phone as a short message service (SMS).
            *`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.
          x-MXComponent: RemittanceLocationMethod2Code
          enum:
          - EDIC
          - EMAL
          - FAXI
          - POST
          - SMSM
          - URID
        electronic_address:
          maxLength: 2048
          minLength: 1
          type: string
          description: |
            Electronic address to which an agent is to send the remittance information.

            Based on datatype Max2048Text: Specifies a character string with a maximum length of 2048 characters.
          x-MXComponent: Max2048Text
        postal_address:
          $ref: "#/components/schemas/NameAndAddress16"
      additionalProperties: false
      description: Provides additional details on the remittance advice.
      x-MXComponent: RemittanceLocationData1
    RemittanceLocationData4:
      required:
      - method
      type: object
      properties:
        method:
          type: string
          description: |
            Method used to deliver the remittance advice information.

            Specifies the method used to deliver the remittance advice information.

            Code Name Definition:
            *`EDIC` - ElectronicDataInterchange - Remittance advice information must be sent through Electronic Data Interchange (EDI).
            *`EMAL` - EMail - Remittance advice information must be sent through e-mail.
            *`FAXI` - Fax - Remittance advice information must be faxed.
            *`POST` - Post - Remittance advice information must be sent through postal services.
            *`SMSM` - SMS - Remittance advice information must be sent through by phone as a short message service (SMS).
            *`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.
          x-MXComponent: RemittanceLocationMethod2Code
          enum:
          - EDIC
          - EMAL
          - FAXI
          - POST
          - SMSM
          - URID
        electronic_address:
          maxLength: 2048
          minLength: 1
          type: string
          description: |
            Electronic address to which an agent is to send the remittance information.

            May be used to specify email address to advise payment (allows for up 10 occurrences)
            For multiple addreess (CC arrangement)  use "; " as a delimiter.

            Based on datatype Max2048Text: Specifies a character string with a maximum length of 2048 characters.
          x-MXComponent: Max2048Text
        postal_address:
          $ref: "#/components/schemas/NameAndAddress21"
      additionalProperties: false
      description: Provides additional details on the remittance advice.
      x-MXComponent: RemittanceLocationData4
    RestrictedJVINA1A2CreditTransferTransaction34:
      required:
      - creditor
      - end_to_end_identification
      - instructed_amount
      type: object
      properties:
        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.

            Usage: 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 APIs related to the instruction.

            NEFT: N06.2020 Transaction Reference Number
            Mandatory, 16x

            NG-RTGS: May be used for supplementary identification, such as the legacy transaction reference number (R41.2020).
            Max35Text

            CGI-MP_InstructionIdentificationRule
            If present, Id to be returned only to ordering party in account statement reporting

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        end_to_end_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: "Unique identification 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 APIs related to the transaction.\n\nEnd To End Identification  \nClient Reference (currently not handled by NG-RTGS, advocacy issue to be taken with up with RBI).\n\nECS/NECS: 22.10 User Credit Reference\n13-character user defined Reference Number such as Ledger Folio number, or Share / Debenture Certificate Number or any other unique identification number given by the User for the individual beneficiaries.\n\nNACH: 23.20 Transaction Reference\nMandatory, 30 character user defined Reference Number such as Ledger Folio number, or Share / Debenture Cert. No. or Job Card No. or any other unique identification number given by the User for the individual beneficiaries.\n\nNEFT: Aligned with NG-RTGS. Currently being utilised to support migration from SFMS to ISO 20022.\nFollows the 16 digits UTR pattern of the former RTGS system, identified with the 6 character codeword prefix “/XUTR/”.\n\nNG-RTGS: Currently being utilised to support migration from SFMS to ISO 20022.\nFollows the 16 digits UTR pattern of the former RTGS system, identified with the 6 character codeword prefix “/XUTR/”.\n\nCGI-MP_EndToEndIdentificationRule\nPayment Reference - goes with payment from debtor to creditor and travels through clearing system\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.

            Based on datatype UUIDv4Identifier: Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          x-MXComponent: UUIDv4Identifier
        instruction_priority:
          type: string
          description: "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.\n\nNG-RTGS: \nHIGH = Priority Level is high.\nNORM = Priority Level is normal\nDefault is HIGH.\n\nSpecifies the priority level of an event.\n\nCode Name Definition:\n*`HIGH` - High - Priority level is high.\n*`NORM` - Normal - Priority level is normal.\n"
          x-MXComponent: Priority2Code
          enum:
          - HIGH
          - NORM
        service_level:
          type: string
          description: |
            Agreement under which or rules under which the transaction should be processed.

            Value: ExternalServiceLevel1Code

            Rule: Mandatory only in case of credit transfer (payment method = TRF).
            Not used for Cheques (payment method = CHK)

            INTranSrvclvloptionalCHQ_L2
            Rule: For each Customer Credit Transfer Initiation API, if at least one occurrence of Credit Transfer [TRF] is (are) present, then Service Level must be present.

            Subset of service level codes as used in India.

            Code Name Definition:
            *`BKTR` - BookTransfer - Payment through internal book transfer.
            *`NURG` - NonUrgentPayment - Payment must be executed as a non-urgent transaction, which is typically identified as an ACH or low value transaction, such as NEFT / NACH / ECS / NECS.
            *`URGP` - UrgentPayment - Payment must be executed as an urgent transaction cleared through a real-time gross settlement system, which is typically identified as a wire or high value transaction, such as NG-RTGS.
          x-MXComponent: IndiaServiceLevel1Code
          enum:
          - BKTR
          - NURG
          - URGP
        local_instrument:
          maxLength: 4
          minLength: 3
          type: string
          description: |
            User community specific instrument.

            Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.

            INTranLclInstrm-mandatoryCHQ_L2
            Rule: If Payment Method is Cheque (CHK), then Local Instrument must be present.

            Local Instrument Code:
            ECS = ECS/NECS
            NEFT = NEFT
            NACH = NACH
            RTGS = NG-RTGS
            CII = Cheque Issuance

            Subset of local instrument codes as used in India.

            Code Name Definition:
            *`CII` - CII - Cheque Issuance.
            *`ECS` - ECS - Electronic Clearing System (ECS) or NECS National Electronic Clearing Service.
            *`NACH` - NACH - National Automated Clearing House.
            *`NEFT` - NEFT - National Electronic Funds Transfer.
            *`RTGS` - RTGS - Real Time Gross Settlement System.
          x-MXComponent: IndiaLocalInstrument1Code
          enum:
          - CII
          - ECS
          - NACH
          - NEFT
          - RTGS
        category_purpose:
          type: string
          description: "Specifies the high level purpose of the instruction based on a set of pre-defined categories.\nUsage: This is used by the initiating party to provide information concerning the processing of the payment. It is likely to trigger special processing by any of the agents involved in the payment chain.\n\nRule: Mandatory if Local Instrument is RTGS\n\n(Default 'CASH')\n\nCASH = CashManagementTransfer\n\nCORT = TradeSettlementPayment\n\nDIVI = Dividend\n\nGOVT = GovernmentPayment\n\nHEDG = Hedging\n\nINTC = IntraCompanyPayment\n\nINTE = Interest\n\nLOAN = Loan\n\nPENS = PensionPayment\n\nSALA = SalaryPayment\n\nSECU = Securities\n\nSSBE = SocialSecurityBenefit\n\nSUPP = SupplierPayment\n\nTAXS = TaxPayment\n\nTRAD = Trade\n\nTREA = TreasuryPayment\n\nVATX = ValueAddedTaxPayment\n\nWHLD = WithHolding Tax\n\nSubset of category purpose codes as used in India.\n\nCode Name Definition:\n*`CASH` - CashManagementTransfer - Transaction is a general cash management instruction.\n*`CORT` - TradeSettlementPayment - Transaction is related to settlement of a trade, eg a foreign exchange deal or a securities transaction.\n*`DIVI` - Dividend - Transaction is the payment of dividends. \n*`GOVT` - GovernmentPayment - Transaction is a payment to or from a government department.\n*`HEDG` - Hedging - Transaction is related to the payment of a hedging operation.\n*`INTC` - IntraCompanyPayment - Transaction is an intra-company payment, ie, a payment between two companies belonging to the same group.\n*`INTE` - Interest - Transaction is the payment of interest.\n*`LOAN` - Loan - Transaction is related to the transfer of a loan to a borrower.\n*`PENS` - PensionPayment - Transaction is the payment of pension.\n*`SALA` - SalaryPayment - Transaction is the payment of salaries.\n*`SECU` - Securities - Transaction is the payment of securities.\n*`SSBE` - SocialSecurityBenefit - Transaction is a social security benefit, ie payment made by a government to support individuals.\n*`SUPP` - SupplierPayment - Transaction is related to a payment to a supplier.\n*`TAXS` - TaxPayment - Transaction is the payment of taxes.\n*`TRAD` - Trade - Transaction is related to the payment of a trade finance transaction.\n*`TREA` - TreasuryPayment - Transaction is related to treasury operations.  E.g. financial contract settlement.\n*`VATX` - ValueAddedTaxPayment - Transaction is the payment of value added tax.\n*`WHLD` - WithHoldingTax - Transaction is the payment of withholding tax.\n"
          x-MXComponent: IndiaCategoryPurpose1Code
          enum:
          - CASH
          - CORT
          - DIVI
          - GOVT
          - HEDG
          - INTC
          - INTE
          - LOAN
          - PENS
          - SALA
          - SECU
          - SSBE
          - SUPP
          - TAXS
          - TRAD
          - TREA
          - VATX
          - WHLD
        instructed_amount:
          $ref: "#/components/schemas/RestrictedJVINA1A2CreditTransferTransaction34_instructed_amount"
        exchange_rate_information:
          $ref: "#/components/schemas/ExchangeRate1"
        charge_bearer:
          type: string
          description: |
            Specifies which party/parties will bear the charges associated with the processing of the payment transaction.

            Rule: If Local Instrument is RTGS, Charge Bearer is Mandatory.

            For each Customer Credit Transfer Initiation, Charge Bearer is mutually exclusive on Payment Information level or Transaction level and all may be absent.

            Specifies which party(ies) will pay charges due for processing of the instruction.

            Code Name Definition:
            *`CRED` - BorneByCreditor - All transaction charges are to be borne by the creditor.
            *`DEBT` - BorneByDebtor - All transaction charges are to be borne by the debtor.
            *`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.
            *`SLEV` - FollowingServiceLevel - Charges are to be applied following the rules agreed in the service level and/or scheme.
          x-MXComponent: ChargeBearerType1Code
          enum:
          - CRED
          - DEBT
          - SHAR
          - SLEV
        cheque_instruction:
          $ref: "#/components/schemas/RestrictedJVINCheque11"
        ultimate_debtor:
          $ref: "#/components/schemas/PartyIdentification304"
        intermediary_agent1:
          $ref: "#/components/schemas/BranchAndFinancialInstitutionIdentification13"
        intermediary_agent1_account:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unambiguous identification of the account of the intermediary agent 1 at its servicing agent in the payment chain.

            Correspondent Bank Account No. (IntermediaryAgent1 or 2) for Foreign Remittance

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        intermediary_agent2:
          $ref: "#/components/schemas/BranchAndFinancialInstitutionIdentification13"
        intermediary_agent2_account:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unambiguous identification of the account of the intermediary agent 2 at its servicing agent in the payment chain.

            Correspondent Bank Account No. (IntermediaryAgent1 or 2) for Foreign Remittance

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        creditor_agent:
          $ref: "#/components/schemas/BranchAndFinancialInstitutionIdentification16"
        creditor:
          $ref: "#/components/schemas/PartyIdentification304"
        creditor_account:
          $ref: "#/components/schemas/CashAccount214"
        ultimate_creditor:
          $ref: "#/components/schemas/PartyIdentification304"
        instruction_for_creditor_agent:
          maxItems: 2
          type: array
          description: |
            Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor agent.

            NG-RTGS: May be up to two occurrences.
          items:
            $ref: "#/components/schemas/InstructionForCreditorAgent1"
        instruction_for_debtor_agent:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Further information related to the processing of the payment instruction, that may need to be acted upon by the debtor agent, depending on agreement between debtor and the debtor agent.

            Rule: For an accompanying FileAct file, this is indicated with the codeword 'FACT/' followed by the file name. Together the FileAct codeword and file name must not exceed 65 characters and should be structured as:
            FACT/BIC/TransactionID/DocumentType/DocumentRefNo/Date.FileTypeExtension
            E.g.  FACT/IBKL/DSGGGH00099/A1/AABBCCD/20160502.PDF

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        purpose:
          $ref: "#/components/schemas/Purpose2Choice"
        regulatory_reporting:
          maxItems: 10
          type: array
          description: |
            Information needed due to regulatory and statutory requirements.

            Transactions involving foreign exchange are subject to FEMA (Foreign Exchange Management Act ) regulations and are required to be reported.
          items:
            $ref: "#/components/schemas/RegulatoryReporting9"
        tax:
          $ref: "#/components/schemas/TaxInformation8"
        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/RemittanceLocation7"
        remittance_information:
          $ref: "#/components/schemas/RemittanceInformation25"
        foreign_remittance_data:
          $ref: "#/components/schemas/ForeignRemittance1"
      additionalProperties: false
      description: Provides further details specific to the individual transaction(s) included in the API.
      x-MXComponent: RestrictedJVINA1A2CreditTransferTransaction34
    RestrictedJVINA1A2CustomerPaymentStatusReportData1:
      required:
      - creation_date_time
      - customer_payment_status_report_identification
      - original_batch_payment_initiation_identification
      - original_batch_reference
      - original_creation_date_time
      - report_reference
      type: object
      properties:
        report_reference:
          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: "Unique technical identification of the customer payment status report as defined by the customer's server. \n\nNote: The customerdoes not use this field when first submitting the customer payment status report. but it should be used when subsequently retrieving the customer payment status report.\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
        customer_payment_status_report_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the Customer Payment Status Report.
            Usage: The instructing party has to make sure that CustomerPaymentStatusReportIdentification is unique per instructed party for a pre-agreed period.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        initiating_party_name:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Name by which a party is known and which is usually used to identify that party.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        initiating_party_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.



            Based 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)".
          x-MXComponent: AnyBICDec2014Identifier
        initiating_party_lei:
          pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}$"
          type: string
          description: |
            Legal entity identification as an alternate identification for a party.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          x-MXComponent: LEIIdentifier
        initiating_party_other_identification:
          maxItems: 2
          type: array
          description: |+
            Unique identification of an organisation, as assigned by an institution, using an identification scheme.


          items:
            $ref: "#/components/schemas/GenericOrganisationIdentification5"
        original_batch_reference:
          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: "Original, unique technical identification of the batch payment initiation as originally defined by the bank's server. \n\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
        original_batch_payment_initiation_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the original instructing party, to unambiguously identify the original Batch Payment Initiation.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_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 original API was created.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        original_number_of_transactions:
          pattern: "^[0-9]{1,15}$"
          type: string
          description: |
            Number of individual transactions contained in the original API.

            CGI-MP_OriginalNumberOfTransactionsRule
            If supplied by originator in the initiation API, will be echoed back.

            Based on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.
          x-MXComponent: Max15NumericText
        original_control_sum:
          maxLength: 19
          type: string
          description: |
            Total of all individual amounts included in the original API, irrespective of currencies.

            CGI-MP_OriginalControlSumRule: If supplied by originator in the initiation API, will be echoed back.

            Based on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.
          x-MXComponent: DecimalNumber
        group_status:
          maxLength: 4
          minLength: 1
          type: string
          description: |
            Specifies the status of a group of transactions.

            CGI-MP_GroupStatusRule: Required if reporting on a group level or combined group and transaction levels. Not Used if reporting at a transaction level only.

            ACTC = Group only
            ACCP = Group only and/or Consolidated status
            ACSP = Group only and/or Consolidated status
            ACWC = Group only and/or Consolidated status
            PART = Group  only and/or Consolidated status
            PDNG = Group  only and/or Consolidated status
            RJCT = Group  only and/or Consolidated status
            ACSC = Accepted Settlement Completed
            RCVD = Received

            Rule: Refer to the ISO 20022 External Code List "ExternalPaymentGroupStatus1Code" for the complete list.

            Specifies the status of a group of payment instructions, as published in an external payment group status code set.
            External code sets can be downloaded from www.iso20022.org.
          x-MXComponent: ExternalPaymentGroupStatus1Code
        status_reason_information_code:
          type: array
          description: |
            Provides detailed information on the status reason.

            NG-RTGS: Repeats only once

            CGI-MP_CodeRule
            Code required from External Code List.  If a bank's status code is supported other than a code from the External Code List, then the bank status code is shown under <AddtlInf>.

            Rule: Refer to the ISO 20022 External Code List "ExternalStatusReason1Code" for the complete list.

            Specifies the status reason, as published in an external status reason code list.
            External code sets can be downloaded from www.iso20022.org.
          items:
            maxLength: 4
            minLength: 1
            type: string
            x-MXComponent: ExternalStatusReason1Code
        additional_information:
          type: array
          description: |
            Further details on the status reason.

            Usage: Additional information can be used for several purposes such as the reporting of repaired information.

            Based on datatype Max105Text: Specifies a character string with a maximum length of 105 characters.
          items:
            maxLength: 105
            minLength: 1
            type: string
            x-MXComponent: Max105Text
        number_of_transactions_per_status:
          type: array
          description: Detailed information on the number of transactions for each identical transaction status.
          items:
            $ref: "#/components/schemas/NumberOfTransactionsPerStatus5"
        original_payment_information_and_status:
          type: array
          description: "Information concerning the original payment information, to which the status report API refers."
          items:
            $ref: "#/components/schemas/RestrictedJVINA1A2OriginalPaymentInstruction27"
      additionalProperties: false
      description: |
        Scope
        The RestrictedJVINA1A2CustomerPaymentStatusReportData1 ("API") is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.

        Usage
        The RestrictedJVINA1A2CustomerPaymentStatusReportData1 ("API") is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.
        The API can be used to provide information about the status (e.g. rejection, acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.
        The API refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.
        The API can be used in domestic and cross-border scenarios.
        The API may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (e.g. either the beneficiary is credited, or the transaction is rejected).
      x-MXComponent: RestrictedJVINA1A2CustomerPaymentStatusReportData1
    RestrictedJVINA1A2OriginalPaymentInstruction27:
      required:
      - original_payment_information_identification
      type: object
      properties:
        original_payment_information_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by the original sending party, to unambiguously identify the original payment information group.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        payment_information_status:
          maxLength: 4
          minLength: 1
          type: string
          description: "Specifies the status of the payment information group.\n\nCGI-MP_PaymentInformationStatusRule\nRequired if reporting on a payment level or combined payment and transaction levels. Not Used if reporting at a transaction level only.\n\n\nACCP: Accepted technical, syntactical and profile; passed to back office\n\nACSP:  Accepted back office; passed to clearing\n\nACWC:  Accepted with change\n\nPART:  Partially accepted and rejected \nPDNG:  Pending further processing\n\nRJCT:  Rejection\n\nRule: Refer to the ISO 20022 External Code List \"ExternalPaymentGroupStatus1Code\" for the complete list.\n\nSpecifies the status of a group of payment instructions, as published in an external payment group status code set.\nExternal code sets can be downloaded from www.iso20022.org.\n"
          x-MXComponent: ExternalPaymentGroupStatus1Code
        status_reason_information_code:
          type: array
          description: |
            Provides detailed information on the status reason.

            CGI-MP_CodeRule
            Code required from External Code List.  If a bank's status reason code is supported other than a code from the External Code List, then the bank status code is shown under <AddtlInf>.

            Rule: Refer to the ISO 20022 External Code List "ExternalStatusReason1Code" for the complete list.

            Specifies the status reason, as published in an external status reason code list.
            External code sets can be downloaded from www.iso20022.org.
          items:
            maxLength: 4
            minLength: 1
            type: string
            x-MXComponent: ExternalStatusReason1Code
        additional_information:
          type: array
          description: |
            Further details on the status reason.

            Usage: Additional information can be used for several purposes such as the reporting of repaired information.

            Based on datatype Max105Text: Specifies a character string with a maximum length of 105 characters.
          items:
            maxLength: 105
            minLength: 1
            type: string
            x-MXComponent: Max105Text
        number_of_transactions_per_status:
          type: array
          description: Detailed information on the number of transactions for each identical transaction status.
          items:
            $ref: "#/components/schemas/NumberOfTransactionsPerStatus5"
        transaction_information_and_status:
          type: array
          description: |
            Provides information on the original transactions to which the status report API refers.

            CGI-MP_TransactionInformationAndStatusRule
            Required if reporting on at the transaction level, at the payment/transaction level, or the group/payment/transaction levels. Not Used if reporting at only a group or payment level.
          items:
            $ref: "#/components/schemas/RestrictedJVINA1A2PaymentTransaction92"
      additionalProperties: false
      description: "Provides details information on the original transactions, to which the status report message refers."
      x-MXComponent: RestrictedJVINA1A2OriginalPaymentInstruction27
    RestrictedJVINA1A2OriginalTransactionReference27:
      required:
      - amount
      - creditor
      - debtor
      - debtor_account
      - debtor_agent
      - requested_execution_date
      type: object
      properties:
        interbank_settlement_amount:
          $ref: "#/components/schemas/RestrictedJVINA1A2OriginalTransactionReference27_interbank_settlement_amount"
        amount:
          $ref: "#/components/schemas/AmountType4Choice"
        requested_execution_date:
          $ref: "#/components/schemas/DateAndDateTime2Choice"
        instruction_priority:
          type: string
          description: |
            Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.

            Specifies the priority level of an event.

            Code Name Definition:
            *`HIGH` - High - Priority level is high.
            *`NORM` - Normal - Priority level is normal.
          x-MXComponent: Priority2Code
          enum:
          - HIGH
          - NORM
        clearing_channel:
          type: string
          description: |
            Specifies the clearing channel to be used to process the payment instruction.

            Specifies the clearing channel for the routing of the transaction, as part of the payment type identification.

            Code Name Definition:
            *`BOOK` - BookTransfer - Payment through internal book transfer.
            *`MPNS` - MassPaymentNetSystem - Clearing channel is a mass payment net settlement system.
            *`RTGS` - RealTimeGrossSettlementSystem - Clearing channel is a real-time gross settlement system.
            *`RTNS` - RealTimeNetSettlementSystem - Clearing channel is a real-time net settlement system.
          x-MXComponent: ClearingChannel2Code
          enum:
          - BOOK
          - MPNS
          - RTGS
          - RTNS
        service_level:
          type: string
          description: |
            Agreement under which or rules under which the transaction should be processed.

            Subset of service level codes as used in India.

            Code Name Definition:
            *`BKTR` - BookTransfer - Payment through internal book transfer.
            *`NURG` - NonUrgentPayment - Payment must be executed as a non-urgent transaction, which is typically identified as an ACH or low value transaction, such as NEFT / NACH / ECS / NECS.
            *`URGP` - UrgentPayment - Payment must be executed as an urgent transaction cleared through a real-time gross settlement system, which is typically identified as a wire or high value transaction, such as NG-RTGS.
          x-MXComponent: IndiaServiceLevel1Code
          enum:
          - BKTR
          - NURG
          - URGP
        local_instrument:
          maxLength: 4
          minLength: 3
          type: string
          description: |
            User community specific instrument.

            Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.

            Local Instrument Code:
            ECS = ECS/NECS
            NEFT = NEFT
            NACH = NACH
            RTGS = NG-RTGS
            CII = Cheque Issuance

            Subset of local instrument codes as used in India.

            Code Name Definition:
            *`CII` - CII - Cheque Issuance.
            *`ECS` - ECS - Electronic Clearing System (ECS) or NECS National Electronic Clearing Service.
            *`NACH` - NACH - National Automated Clearing House.
            *`NEFT` - NEFT - National Electronic Funds Transfer.
            *`RTGS` - RTGS - Real Time Gross Settlement System.
          x-MXComponent: IndiaLocalInstrument1Code
          enum:
          - CII
          - ECS
          - NACH
          - NEFT
          - RTGS
        sequence_type:
          type: string
          description: |
            Identifies the direct debit sequence, such as first, recurrent, final or one-off.

            Specifies the type of the current transaction that belongs to a sequence of transactions.

            Code Name Definition:
            *`FNAL` - Final - Final collection of a series of direct debit instructions.
            *`FRST` - First - First collection of a series of direct debit instructions.
            *`OOFF` - OneOff - Direct debit instruction where the debtor's authorisation is used to initiate one single direct debit transaction.
            *`RCUR` - Recurring - Direct debit instruction where the debtor's authorisation is used for regular direct debit transactions initiated by the creditor.
            *`RPRE` - Represented - Collection used to re-present previously reversed or returned direct debit transactions.
          x-MXComponent: SequenceType3Code
          enum:
          - FNAL
          - FRST
          - OOFF
          - RCUR
          - RPRE
        category_purpose:
          type: string
          description: "Specifies the high level purpose of the instruction based on a set of pre-defined categories.\nUsage: This is used by the initiating party to provide information concerning the processing of the payment. It is likely to trigger special processing by any of the agents involved in the payment chain.\n\n(Default 'CASH')\nCASH = CashManagementTransfer\nCORT = TradeSettlementPayment\nDIVI = Dividend\nGOVT = GovernmentPayment\nHEDG = Hedging\nINTC = IntraCompanyPayment\nINTE = Interest\nLOAN = Loan\nPENS = PensionPayment\nSALA = SalaryPayment\nSECU = Securities\nSSBE = SocialSecurityBenefit\nSUPP = SupplierPayment\nTAXS = TaxPayment\nTRAD = Trade\nTREA = TreasuryPayment\nVATX = ValueAddedTaxPayment\nWHLD = WithHolding Tax\n\nSubset of category purpose codes as used in India.\n\nCode Name Definition:\n*`CASH` - CashManagementTransfer - Transaction is a general cash management instruction.\n*`CORT` - TradeSettlementPayment - Transaction is related to settlement of a trade, eg a foreign exchange deal or a securities transaction.\n*`DIVI` - Dividend - Transaction is the payment of dividends. \n*`GOVT` - GovernmentPayment - Transaction is a payment to or from a government department.\n*`HEDG` - Hedging - Transaction is related to the payment of a hedging operation.\n*`INTC` - IntraCompanyPayment - Transaction is an intra-company payment, ie, a payment between two companies belonging to the same group.\n*`INTE` - Interest - Transaction is the payment of interest.\n*`LOAN` - Loan - Transaction is related to the transfer of a loan to a borrower.\n*`PENS` - PensionPayment - Transaction is the payment of pension.\n*`SALA` - SalaryPayment - Transaction is the payment of salaries.\n*`SECU` - Securities - Transaction is the payment of securities.\n*`SSBE` - SocialSecurityBenefit - Transaction is a social security benefit, ie payment made by a government to support individuals.\n*`SUPP` - SupplierPayment - Transaction is related to a payment to a supplier.\n*`TAXS` - TaxPayment - Transaction is the payment of taxes.\n*`TRAD` - Trade - Transaction is related to the payment of a trade finance transaction.\n*`TREA` - TreasuryPayment - Transaction is related to treasury operations.  E.g. financial contract settlement.\n*`VATX` - ValueAddedTaxPayment - Transaction is the payment of value added tax.\n*`WHLD` - WithHoldingTax - Transaction is the payment of withholding tax.\n"
          x-MXComponent: IndiaCategoryPurpose1Code
          enum:
          - CASH
          - CORT
          - DIVI
          - GOVT
          - HEDG
          - INTC
          - INTE
          - LOAN
          - PENS
          - SALA
          - SECU
          - SSBE
          - SUPP
          - TAXS
          - TRAD
          - TREA
          - VATX
          - WHLD
        remittance_information:
          $ref: "#/components/schemas/RemittanceInformation25"
        debtor:
          $ref: "#/components/schemas/PartyIdentification304"
        debtor_account:
          maxLength: 34
          minLength: 1
          type: string
          description: |
            Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.

            Based on datatype Max34Text: Specifies a character string with a maximum length of 34 characters.
          x-MXComponent: Max34Text
        debtor_agent:
          $ref: "#/components/schemas/BranchAndFinancialInstitutionIdentification13"
        creditor_agent:
          $ref: "#/components/schemas/BranchAndFinancialInstitutionIdentification13"
        creditor:
          $ref: "#/components/schemas/Party60Choice"
        creditor_account:
          $ref: "#/components/schemas/CashAccount214"
        ultimate_creditor:
          $ref: "#/components/schemas/Party60Choice"
        purpose:
          $ref: "#/components/schemas/Purpose2Choice"
      additionalProperties: false
      description: Key elements used to refer the original transaction.
      x-MXComponent: RestrictedJVINA1A2OriginalTransactionReference27
    RestrictedJVINA1A2PaymentInitiationData1:
      required:
      - batch_payment_initiation_identification
      - batch_payment_reference
      - creation_date_time
      - initiating_party
      - number_of_transactions
      - payment_information
      type: object
      properties:
        batch_payment_reference:
          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: "Unique technical identification of the batch payment initiation as defined by the bank's server. \n\nNote: The corporate does not use this field when first submitting the batch payment initiation. but it should be used when subsequently retrieving the batch payment initiation.\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
        batch_payment_initiation_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the batch payment initiation.
            Usage: The instructing party has to make sure that BatchPaymentInitiationIdentification is unique per instructed party for a pre-agreed period.

            ECS/NECS: 11.4 User Credit Reference
            14-character user defined reference number for the entire transaction.

            NACH: 12.16 User Reference
            Mandatory, 18 character user defined reference number for the entire transaction (Alpha Numeric)

            NEFT: N06.2020 Transaction Reference Number
            Uniquely identifies the message.
            Mandatory, 16x

            NG-RTGS: 22-character number recommended:
            XXXX- Sender IFSC [4]
            YYYYMMDD - Creation Date Reverse [8]
            X – Channel [1]
            nnnnnnnnn- Sequence Number [9]

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            NEFT: N06.3535 Batch Time
            If specified it must be either 1030 or 1200 or 1600.
            Optional, 4!n

            NG-RTGS: ISODateTime. Time up to seconds only.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        authorisation:
          maxItems: 2
          type: array
          description: |
            User identification or any user key to be used to check whether the initiating party is allowed to initiate transactions from the account specified in the API.

            Usage: The content is not of a technical nature, but reflects the organisational structure at the initiating side.
            The authorisation element can typically be used in relay scenarios, payment initiations, payment returns or payment reversals that are initiated on behalf of a party different from the initiating party.
          items:
            $ref: "#/components/schemas/Authorisation1Choice"
        number_of_transactions:
          pattern: "^[0-9]{1,15}$"
          type: string
          description: |
            Number of individual transactions contained in the API.

            NEFT: N06.1106 Total number of loops in the message
            Number of transactions in message.
            Mandatory, 5n

            NG-RTGS: Number of individual transactions contained in the message.
            RTGS limited to 1 transaction.

            Based on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.
          x-MXComponent: Max15NumericText
        control_sum:
          maxLength: 19
          type: string
          description: "Total of all individual amounts included in the message, irrespective of currencies.\n\nSame as per clearing requirements.\nNEFT: N06.4063 Sum of Amounts\nMandatory, 19d\n\nNACH: 12.19 Total items in File\nMandatory, 9 numeric\n \nCGI-MP_ControlSumRule: It is a client's option to include. If included, value will be checked. The sum is the hash total of values in Instructed Amount or Equivalent Amount.\n\nBased on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.\n"
          x-MXComponent: DecimalNumber
        initiating_party:
          $ref: "#/components/schemas/PartyIdentification307"
        payment_information:
          type: array
          description: |
            Set of characteristics that applies to the debit side of the payment transactions included in the credit transfer initiation.

            Rule: INCreditorAccountRulePayMethod: For each Payment Information, at least one occurrence of Creditor Account must be present when at least one occurrence of Credit Transfer [TRF] is present

            Rule: INCreditorAgentRulePayMethod: For each Payment Information, at least one occurrence of Creditor Agent must be present when at least one occurrence of Credit Transfer [TRF] is present
          items:
            $ref: "#/components/schemas/RestrictedJVINA1A2PaymentInstruction1"
      additionalProperties: false
      description: |
        Scope
        RestrictedJVINA1A2PaymentInitiationData1 ("API") is sent by the initiating party to the debtor agent. It is used to request movement of funds from the debtor account to a creditor.

        Usage
        RestrictedJVINA1A2PaymentInitiationData1 ("API") can contain one or more customer credit transfer instructions.
        The API is used to exchange:
        - One or more instances of a credit transfer initiation;
        - Payment transactions that result in book transfers at the debtor agent or payments to another financial institution;
        - Payment transactions that result in an electronic cash transfer to the creditor account or in the emission of a cheque.

        The API can be used in the following scenarios:
        - In a direct scenario, the API is sent directly to the debtor agent. The debtor agent is the account servicer of the debtor.
        - The API can also be used by an initiating party that has authority to send the API on behalf of the debtor. This caters for example for the scenario of a payments factory initiating all payments on behalf of a large corporate.
        - The API can be used in domestic and cross-border scenarios.
        - The API must not be used by the debtor agent to execute the credit transfer instruction(s). The FIToFICustomerCreditTransfer message or equivalent API must be used instead.
      x-MXComponent: RestrictedJVINA1A2PaymentInitiationData1
    RestrictedJVINA1A2PaymentInstruction1:
      required:
      - credit_transfer_transaction_information
      - debtor
      - debtor_account
      - debtor_agent
      - payment_information_identification
      - payment_method
      - requested_execution_date
      type: object
      properties:
        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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        payment_method:
          type: string
          description: |
            Specifies the means of payment that will be used to move the amount of money.

            Rule: For each Customer Credit Transfer Initiation API, if at least one occurrence of the following element(s) Credit Transfer [TRF] is (are) present, then Service Level must be present.

            Specifies the transfer method that will be used to transfer the cash.

            Code Name Definition:
            *`CHK` - Cheque - Written order to a bank to pay a certain amount of money from one person to another person.
            *`TRF` - CreditTransfer - Transfer of an amount of money in the books of the account servicer.
          x-MXComponent: PaymentMethod7Code
          enum:
          - CHK
          - TRF
        batch_booking:
          type: boolean
          description: |
            Identifies whether a single entry per individual transaction or a batch entry for the sum of the amounts of all transactions within the group of a API is requested.
            Usage: Batch booking is used to request and not order a possible batch booking.

            Based on datatype BatchBookingIndicator: Identifies whether the sending party requests a single debit or credit entry per individual transaction or a batch entry for the sum of the amounts of all transactions.
          x-MXComponent: BatchBookingIndicator
        number_of_transactions:
          pattern: "^[0-9]{1,15}$"
          type: string
          description: |
            Number of individual transactions contained in the payment information group.

            Based on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.
          x-MXComponent: Max15NumericText
        control_sum:
          maxLength: 19
          type: string
          description: |
            Total of all individual amounts included in the group, irrespective of currencies.

            CGI-MP_ControlSumRule
            It is a client's option to include. If included, value will be checked. The sum is the hash total of values in Instructed Amount or Equivalent Amount.

            Based on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.
          x-MXComponent: DecimalNumber
        instruction_priority:
          type: string
          description: "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.\n\nNG-RTGS: \nHIGH = Priority Level is high.\nNORM = Priority Level is normal\nDefault is HIGH.\n\nSpecifies the priority level of an event.\n\nCode Name Definition:\n*`HIGH` - High - Priority level is high.\n*`NORM` - Normal - Priority level is normal.\n"
          x-MXComponent: Priority2Code
          enum:
          - HIGH
          - NORM
        service_level:
          type: string
          description: |
            Agreement under which or rules under which the transaction should be processed.

            Value: ExternalServiceLevel1Code

            Rule: Mandatory only in case of credit transfer (payment method = TRF).
            Not used for Cheques (payment method = CHK)

            INTranSrvclvloptionalCHQ_L1
            Rule: For each Customer Credit Transfer Initiation API, if at least one occurrence of Credit Transfer [TRF] is (are) present, then Service Level must be present.

            Subset of service level codes as used in India.

            Code Name Definition:
            *`BKTR` - BookTransfer - Payment through internal book transfer.
            *`NURG` - NonUrgentPayment - Payment must be executed as a non-urgent transaction, which is typically identified as an ACH or low value transaction, such as NEFT / NACH / ECS / NECS.
            *`URGP` - UrgentPayment - Payment must be executed as an urgent transaction cleared through a real-time gross settlement system, which is typically identified as a wire or high value transaction, such as NG-RTGS.
          x-MXComponent: IndiaServiceLevel1Code
          enum:
          - BKTR
          - NURG
          - URGP
        local_instrument:
          maxLength: 4
          minLength: 3
          type: string
          description: |
            User community specific instrument.

            Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.

            INTranLclInstrm-mandatoryCHQ_L1
            Rule: If Payment Method is Cheque (CHK), then Local Instrument must be present.

            Local Instrument Code:
            ECS = ECS/NECS
            NEFT = NEFT
            NACH = NACH
            RTGS = NG-RTGS
            CII = Cheque Issuance

            Subset of local instrument codes as used in India.

            Code Name Definition:
            *`CII` - CII - Cheque Issuance.
            *`ECS` - ECS - Electronic Clearing System (ECS) or NECS National Electronic Clearing Service.
            *`NACH` - NACH - National Automated Clearing House.
            *`NEFT` - NEFT - National Electronic Funds Transfer.
            *`RTGS` - RTGS - Real Time Gross Settlement System.
          x-MXComponent: IndiaLocalInstrument1Code
          enum:
          - CII
          - ECS
          - NACH
          - NEFT
          - RTGS
        category_purpose:
          type: string
          description: "Specifies the high level purpose of the instruction based on a set of pre-defined categories.\nUsage: This is used by the initiating party to provide information concerning the processing of the payment. It is likely to trigger special processing by any of the agents involved in the payment chain.\n\nRule: Mandatory if Local Instrument is RTGS\n\n(Default 'CASH')\n\nCASH = CashManagementTransfer\n\nCORT = TradeSettlementPayment\n\nDIVI = Dividend\n\nGOVT = GovernmentPayment\n\nHEDG = Hedging\n\nINTC = IntraCompanyPayment\n\nINTE = Interest\n\nLOAN = Loan\n\nPENS = PensionPayment\n\nSALA = SalaryPayment\n\nSECU = Securities\n\nSSBE = SocialSecurityBenefit\n\nSUPP = SupplierPayment\n\nTAXS = TaxPayment\n\nTRAD = Trade\n\nTREA = TreasuryPayment\n\nVATX = ValueAddedTaxPayment\n\nWHLD = WithHolding Tax\n\nSubset of category purpose codes as used in India.\n\nCode Name Definition:\n*`CASH` - CashManagementTransfer - Transaction is a general cash management instruction.\n*`CORT` - TradeSettlementPayment - Transaction is related to settlement of a trade, eg a foreign exchange deal or a securities transaction.\n*`DIVI` - Dividend - Transaction is the payment of dividends. \n*`GOVT` - GovernmentPayment - Transaction is a payment to or from a government department.\n*`HEDG` - Hedging - Transaction is related to the payment of a hedging operation.\n*`INTC` - IntraCompanyPayment - Transaction is an intra-company payment, ie, a payment between two companies belonging to the same group.\n*`INTE` - Interest - Transaction is the payment of interest.\n*`LOAN` - Loan - Transaction is related to the transfer of a loan to a borrower.\n*`PENS` - PensionPayment - Transaction is the payment of pension.\n*`SALA` - SalaryPayment - Transaction is the payment of salaries.\n*`SECU` - Securities - Transaction is the payment of securities.\n*`SSBE` - SocialSecurityBenefit - Transaction is a social security benefit, ie payment made by a government to support individuals.\n*`SUPP` - SupplierPayment - Transaction is related to a payment to a supplier.\n*`TAXS` - TaxPayment - Transaction is the payment of taxes.\n*`TRAD` - Trade - Transaction is related to the payment of a trade finance transaction.\n*`TREA` - TreasuryPayment - Transaction is related to treasury operations.  E.g. financial contract settlement.\n*`VATX` - ValueAddedTaxPayment - Transaction is the payment of value added tax.\n*`WHLD` - WithHoldingTax - Transaction is the payment of withholding tax.\n"
          x-MXComponent: IndiaCategoryPurpose1Code
          enum:
          - CASH
          - CORT
          - DIVI
          - GOVT
          - HEDG
          - INTC
          - INTE
          - LOAN
          - PENS
          - SALA
          - SECU
          - SSBE
          - SUPP
          - TAXS
          - TRAD
          - TREA
          - VATX
          - WHLD
        requested_execution_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 at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited. If payment by cheque, the date when the cheque must be generated by the bank.\n\nRule: If Local Instrument is ECS/NECS: : 11.11 Settlement date: 8-digit (DDMMYYYY) date on which settlement is sought to be effected\n\nNACH: : 12.11 Settlement date: 8-digit (DDMMYYYY) date on which settlement is sought to be effected\n\nNEFT: N06.3380 Value Date: Date on which settlement takes place. It can be only the current date.\nMandatory, 8!n\n\nNG-RTGS: InterbankSettlementDate\n\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
        debtor:
          $ref: "#/components/schemas/PartyIdentification304"
        debtor_account:
          $ref: "#/components/schemas/CashAccount214"
        debtor_agent:
          $ref: "#/components/schemas/RestrictedJVINBranchAndFinancialInstitutionIdentification6"
        instruction_for_debtor_agent:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Further information related to the processing of the payment instruction, that may need to be acted upon by the debtor agent, depending on agreement between debtor and the debtor agent.

            Usage: when present, then the instructions for the debtor agent apply for all credit transfer transaction information occurrences, present in the payment information.

            A note 'Refer PurpCdXchgRateInf under Supplementary Data for Debtor's Account information.' may be put in this field.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        ultimate_debtor:
          $ref: "#/components/schemas/PartyIdentification302"
        charges_account:
          $ref: "#/components/schemas/CashAccount38"
        credit_transfer_transaction_information:
          type: array
          description: |
            Provides information on the individual transaction(s) included in the API.

            PaymentTransaction
            May be batched.  Receiving bank would rearrange depending on clearing requirements (e.g. NG-RTGS processes payments individually).

            Extension: Foreign Remittance Details of type ForeignRemittanceDetails can be used as extension.
          items:
            $ref: "#/components/schemas/RestrictedJVINA1A2CreditTransferTransaction34"
      additionalProperties: false
      description: Payment Instruction data as required in India domestic payments.
      x-MXComponent: RestrictedJVINA1A2PaymentInstruction1
    RestrictedJVINA1A2PaymentTransaction92:
      required:
      - original_end_to_end_identification
      type: object
      properties:
        status_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the reported status.
            Usage: The instructing party is the party sending the status API and not the party that sent the original instruction that is being reported on.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_instruction_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by the original instructing party for the original instructed party, to unambiguously identify the original instruction.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_end_to_end_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by the original initiating party, to unambiguously identify the original transaction.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_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.

            Based on datatype UUIDv4Identifier: Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          x-MXComponent: UUIDv4Identifier
        transaction_status:
          maxLength: 4
          minLength: 1
          type: string
          description: |
            Specifies the status of a transaction, in a coded form.

            CGI-MP_TransactionStatusRule
            Required if reporting on a transaction level.  Not Used if reporting only at a group or payment level.


            ACCP: Accepted technical, syntactical and profile; passed to back office

            ACSP:  Accepted back office; passed to clearing
            ACWC:  Accepted with change

            PDNG:  Pending further processing

            RJCT:  Rejection

            Specifies the status of an individual payment instructions, as published in an external payment transaction status code set.
            External code sets can be downloaded from www.iso20022.org.
          x-MXComponent: ExternalPaymentTransactionStatus1Code
        status_reason_information_code:
          type: array
          description: |
            Provides detailed information on the status reason.

            CGI-MP_CodeRule
            Code required from External Code List.  If a bank's status reason code is supported other than a code from the External Code List, then the bank status code is shown under <AddtlInf>.

            Specifies the status reason, as published in an external status reason code list.
            External code sets can be downloaded from www.iso20022.org.
          items:
            maxLength: 4
            minLength: 1
            type: string
            x-MXComponent: ExternalStatusReason1Code
        additional_information:
          type: array
          description: "Further details on the status reason.\n\nUsage: Additional information can be used for several purposes such as the reporting of repaired information.\n\n- Use Codeword “/POSTED/”  to indicate settlement on the creditor's account has been completed.\n\n- (Related to A1_A2 in SWIFT IN) A copy of MT 103 may be sent by the bank to the corporate customer using FileAct.\nUse Codeword \"/FACT/\" followed by the FileAct file name. File name must not exceed 65 characters (Excluding the codeword - FILE).\nThe filename includes the reference of MT 103 sent by the bank.\n\nE.g.  FACT/REILINBIHDFCINBIpain001-ABC20190918001-CINV-20190918.PDF. \n\n- (Related to A1_A2 in SWIFT IN) Use code /BOEN/ followed by the Bill of Entry Reference Number, after Bill of Entry (BOE) related information is knocked off on IDPMS (Import Data Processing and Monitoring System).\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
        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.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        account_servicer_reference:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique reference, as assigned by the account servicing institution, to unambiguously identify the instruction.

            Bank to use this field to populate their unique reference of the (A1/A2) transaction processed.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.\n\nFor transactions sent for clearing through NG-RTGS, the Unique Transaction Reference (UTR) may be recorded here. \n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n"
          x-MXComponent: Max35Text
        original_transaction_reference:
          $ref: "#/components/schemas/RestrictedJVINA1A2OriginalTransactionReference27"
      additionalProperties: false
      description: "Provides further details on the original transactions, to which the status report message refers."
      x-MXComponent: RestrictedJVINA1A2PaymentTransaction92
    RestrictedJVINBranchAndFinancialInstitutionIdentification6:
      required:
      - country
      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)".



            Based 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)".
          x-MXComponent: BICFIDec2014Identifier
        clearing_system_identification:
          maxLength: 5
          minLength: 1
          type: string
          description: |
            Identification of a clearing system Clearing System Identification Code
            INFSC = Indian Financial System Code
            MICR = MICR (Magnetic Ink Character Recognition) code
            Or using an external code ExternalClearingSystemIdentification1Code published on ISO 20022.org.

            USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS

            Based on datatype Max5Text: Specifies a character string with a maximum length of 5 characters.
          x-MXComponent: Max5Text
        clearing_system_member_identification:
          maxLength: 11
          minLength: 1
          type: string
          description: |
            Identification of a member of a clearing system.
            USAGE RULE: NOT USED FOR INTERMEDIARY AGENTS

            For IFSC, 11-character code
            For MICR, 9-digit bank branch code

            Identification of a member of a clearing system.

            ECS/NECS: 22.2 Destination Sort Code
            9-digit MICR city-bank-branch code.

            NEFT: N06.5569 Beneficiary branch’s IFSC (Indian Financial System Code).
            Mandatory, 4!a4!c[3!c]

            NACH: 23.16 Destination Bank IFSC / MICR / IIN
            Mandatory, 11-character Destn Bank IFSC/MICR/IIN.

            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.

            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.

            Based on datatype Max11Text: Clearing System Member Identification.
          x-MXComponent: Max11Text
        lei:
          pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}$"
          type: string
          description: |
            Legal entity identifier of the financial institution.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          x-MXComponent: LEIIdentifier
        building_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Name of the building or house.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        floor:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Floor or storey within a building.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          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.

            Based on datatype Max16Text: Specifies a character string with a maximum length of 16 characters.
          x-MXComponent: Max16Text
        room:
          maxLength: 70
          minLength: 1
          type: string
          description: |
            Building room number.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          x-MXComponent: Max70Text
        town_location_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Specific location name within the town.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        district_name:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies a subdivision within a country sub-division.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        country:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Nation with its own government.
            Fixed value IN for India.

            Code 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).
          x-MXComponent: CountryCode
        other_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification of an agent, as assigned by an institution, using an identification scheme.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
      additionalProperties: false
      description: Unique and unambiguous identification of a financial institution or a branch of a financial institution.
      example:
        clearing_system_identification: INFSC
        clearing_system_member_identification: HDFC0999999
        country: IN
      x-MXComponent: RestrictedJVINBranchAndFinancialInstitutionIdentification6
    RestrictedJVINCheque11:
      type: object
      properties:
        cheque_type:
          type: string
          description: |
            Specifies the type of cheque to be issued.

            Specifies the type of cheque to be issued.

            Code Name Definition:
            *`BCHQ` - BankCheque - Cheque drawn on the account of the debtor's financial institution, which is debited on the debtor's account when the cheque is issued.These cheques are printed by the debtor's financial institution and payment is guaranteed by the financial institution. Synonym is 'cashier's cheque'.
            *`CCHQ` - CustomerCheque - Cheque drawn on the account of the debtor, and debited on the debtor's account when the cheque is cashed. Synonym is 'corporate cheque'.
            *`DRFT` - Draft - A guaranteed bank cheque with a future value date (do not pay before], which in commercial terms is a 'negotiatable instrument': the beneficiary can receive early payment from any bank under subtraction of a discount. The ordering customer's account is debited on value date.
          x-MXComponent: ChequeType5Code
          enum:
          - BCHQ
          - CCHQ
          - DRFT
        cheque_number:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique and unambiguous identifier for a cheque as assigned by the agent.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        cheque_from:
          $ref: "#/components/schemas/NameAndAddress20"
        delivery_method:
          type: string
          description: |
            Specifies the delivery method of the cheque by the debtor's agent.

            Specifies the method to be used in delivering a cheque to a party.

            Code Name Definition:
            *`CRCD` - CourierToCreditor - Cheque is to be sent through courier services to creditor.
            *`CRDB` - CourierToDebtor - Cheque is to be sent through courier services to debtor.
            *`CRFA` - CourierToFinalAgent - Cheque is to be sent through courier services to creditor agent.
            *`MLCD` - MailToCreditor - Cheque is to be sent through mail services to creditor.
            *`MLDB` - MailToDebtor - Cheque is to be sent through mail services to debtor.
            *`MLFA` - MailToFinalAgent - Cheque is to be sent through mail services to creditor agent.
            *`PUCD` - PickUpByCreditor - Cheque will be picked up by the creditor.
            *`PUDB` - PickUpByDebtor - Cheque will be picked up by the debtor.
            *`PUFA` - PickUpByFinalAgent - Cheque will be picked up by the creditor agent.
            *`RGCD` - RegisteredMailToCreditor - Cheque is to be sent through registered mail services to creditor.
            *`RGDB` - RegisteredMailToDebtor - Cheque is to be sent through registered mail services to debtor.
            *`RGFA` - RegisteredMailToFinalAgent - Cheque is to be sent through registered mail services to creditor agent.
          x-MXComponent: ChequeDelivery1Code
          enum:
          - CRCD
          - CRDB
          - CRFA
          - MLCD
          - MLDB
          - MLFA
          - PUCD
          - PUDB
          - PUFA
          - RGCD
          - RGDB
          - RGFA
        deliver_to:
          $ref: "#/components/schemas/NameAndAddress20"
        instruction_priority:
          type: string
          description: |
            Urgency or order of importance that the originator would like the recipient of the payment instruction to apply to the processing of the payment instruction.

            Specifies the priority level of an event.

            Code Name Definition:
            *`HIGH` - High - Priority level is high.
            *`NORM` - Normal - Priority level is normal.
          x-MXComponent: Priority2Code
          enum:
          - HIGH
          - NORM
        cheque_maturity_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 draft becomes payable and the debtor's account is debited.

            Based 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.
          x-MXComponent: ISODate
        forms_code:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identifies, in a coded form, the cheque layout, company logo and digitised signature to be used to print the cheque, as agreed between the initiating party and the debtor's agent.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        memo_field:
          maxItems: 2
          type: array
          description: |
            Information that needs to be printed on a cheque, used by the payer to add miscellaneous information.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          items:
            maxLength: 35
            minLength: 1
            type: string
            x-MXComponent: Max35Text
        regional_clearing_zone:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Regional area in which the cheque can be cleared, when a country has no nation-wide cheque clearing organisation.

            May be used to express 'Payable at'

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        print_location:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Specifies the print location of the cheque.

            May be used to express print branch or print site (client side)

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        signature:
          maxItems: 5
          type: array
          description: |
            Signature to be used by the cheque servicer on a specific cheque to be printed.

            Based on datatype Max70Text: Specifies a character string with a maximum length of 70characters.
          items:
            maxLength: 70
            minLength: 1
            type: string
            x-MXComponent: Max70Text
      additionalProperties: false
      description: "Characteristics of a cheque instruction, such as cheque type or cheque number."
      x-MXComponent: RestrictedJVINCheque11
    RestrictedJVINCreditTransferTransaction34:
      required:
      - creditor
      - end_to_end_identification
      - instructed_amount
      type: object
      properties:
        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.

            Usage: 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 APIs related to the instruction.

            NEFT: N06.2020 Transaction Reference Number
            Mandatory, 16x

            NG-RTGS: May be used for supplementary identification, such as the legacy transaction reference number (R41.2020).
            Max35Text

            CGI-MP_InstructionIdentificationRule
            If present, Id to be returned only to ordering party in account statement reporting

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        end_to_end_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: "Unique identification 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 APIs related to the transaction.\n\nEnd To End Identification  \nClient Reference (currently not handled by NG-RTGS, advocacy issue to be taken with up with RBI).\n\nECS/NECS: 22.10 User Credit Reference\n13-character user defined Reference Number such as Ledger Folio number, or Share / Debenture Certificate Number or any other unique identification number given by the User for the individual beneficiaries.\n\nNACH: 23.20 Transaction Reference\nMandatory, 30 character user defined Reference Number such as Ledger Folio number, or Share / Debenture Cert. No. or Job Card No. or any other unique identification number given by the User for the individual beneficiaries.\n\nNEFT: Aligned with NG-RTGS. Currently being utilised to support migration from SFMS to ISO 20022.\nFollows the 16 digits UTR pattern of the former RTGS system, identified with the 6 character codeword prefix “/XUTR/”.\n\nNG-RTGS: Currently being utilised to support migration from SFMS to ISO 20022.\nFollows the 16 digits UTR pattern of the former RTGS system, identified with the 6 character codeword prefix “/XUTR/”.\n\nCGI-MP_EndToEndIdentificationRule\nPayment Reference - goes with payment from debtor to creditor and travels through clearing system\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.

            Based on datatype UUIDv4Identifier: Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          x-MXComponent: UUIDv4Identifier
        instruction_priority:
          type: string
          description: "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.\n\nNG-RTGS: \nHIGH = Priority Level is high.\nNORM = Priority Level is normal\nDefault is HIGH.\n\nSpecifies the priority level of an event.\n\nCode Name Definition:\n*`HIGH` - High - Priority level is high.\n*`NORM` - Normal - Priority level is normal.\n"
          x-MXComponent: Priority2Code
          enum:
          - HIGH
          - NORM
        service_level:
          type: string
          description: |
            Agreement under which or rules under which the transaction should be processed.

            Value: ExternalServiceLevel1Code

            Rule: Mandatory only in case of credit transfer (payment method = TRF).
            Not used for Cheques (payment method = CHK)

            INTranSrvclvloptionalCHQ_L2
            Rule: For each Customer Credit Transfer Initiation API, if at least one occurrence of Credit Transfer [TRF] is (are) present, then Service Level must be present.

            Subset of service level codes as used in India.

            Code Name Definition:
            *`BKTR` - BookTransfer - Payment through internal book transfer.
            *`NURG` - NonUrgentPayment - Payment must be executed as a non-urgent transaction, which is typically identified as an ACH or low value transaction, such as NEFT / NACH / ECS / NECS.
            *`URGP` - UrgentPayment - Payment must be executed as an urgent transaction cleared through a real-time gross settlement system, which is typically identified as a wire or high value transaction, such as NG-RTGS.
          x-MXComponent: IndiaServiceLevel1Code
          enum:
          - BKTR
          - NURG
          - URGP
        local_instrument:
          maxLength: 4
          minLength: 3
          type: string
          description: |
            User community specific instrument.

            Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.

            INTranLclInstrm-mandatoryCHQ_L2
            Rule: If Payment Method is Cheque (CHK), then Local Instrument must be present.

            Local Instrument Code:
            ECS = ECS/NECS
            NEFT = NEFT
            NACH = NACH
            RTGS = NG-RTGS
            CII = Cheque Issuance

            Subset of local instrument codes as used in India.

            Code Name Definition:
            *`CII` - CII - Cheque Issuance.
            *`ECS` - ECS - Electronic Clearing System (ECS) or NECS National Electronic Clearing Service.
            *`NACH` - NACH - National Automated Clearing House.
            *`NEFT` - NEFT - National Electronic Funds Transfer.
            *`RTGS` - RTGS - Real Time Gross Settlement System.
          x-MXComponent: IndiaLocalInstrument1Code
          enum:
          - CII
          - ECS
          - NACH
          - NEFT
          - RTGS
        category_purpose:
          type: string
          description: "Specifies the high level purpose of the instruction based on a set of pre-defined categories.\nUsage: This is used by the initiating party to provide information concerning the processing of the payment. It is likely to trigger special processing by any of the agents involved in the payment chain.\n\nRule: Mandatory if Local Instrument is RTGS\n(Default 'CASH')\nCASH = CashManagementTransfer\nCORT = TradeSettlementPayment\nDIVI = Dividend\nGOVT = GovernmentPayment\nHEDG = Hedging\nINTC = IntraCompanyPayment\nINTE = Interest\nLOAN = Loan\nPENS = PensionPayment\nSALA = SalaryPayment\nSECU = Securities\nSSBE = SocialSecurityBenefit\nSUPP = SupplierPayment\nTAXS = TaxPayment\nTRAD = Trade\nTREA = TreasuryPayment\nVATX = ValueAddedTaxPayment\nWHLD = WithHolding Tax\n\nSubset of category purpose codes as used in India.\n\nCode Name Definition:\n*`CASH` - CashManagementTransfer - Transaction is a general cash management instruction.\n*`CORT` - TradeSettlementPayment - Transaction is related to settlement of a trade, eg a foreign exchange deal or a securities transaction.\n*`DIVI` - Dividend - Transaction is the payment of dividends. \n*`GOVT` - GovernmentPayment - Transaction is a payment to or from a government department.\n*`HEDG` - Hedging - Transaction is related to the payment of a hedging operation.\n*`INTC` - IntraCompanyPayment - Transaction is an intra-company payment, ie, a payment between two companies belonging to the same group.\n*`INTE` - Interest - Transaction is the payment of interest.\n*`LOAN` - Loan - Transaction is related to the transfer of a loan to a borrower.\n*`PENS` - PensionPayment - Transaction is the payment of pension.\n*`SALA` - SalaryPayment - Transaction is the payment of salaries.\n*`SECU` - Securities - Transaction is the payment of securities.\n*`SSBE` - SocialSecurityBenefit - Transaction is a social security benefit, ie payment made by a government to support individuals.\n*`SUPP` - SupplierPayment - Transaction is related to a payment to a supplier.\n*`TAXS` - TaxPayment - Transaction is the payment of taxes.\n*`TRAD` - Trade - Transaction is related to the payment of a trade finance transaction.\n*`TREA` - TreasuryPayment - Transaction is related to treasury operations.  E.g. financial contract settlement.\n*`VATX` - ValueAddedTaxPayment - Transaction is the payment of value added tax.\n*`WHLD` - WithHoldingTax - Transaction is the payment of withholding tax.\n"
          x-MXComponent: IndiaCategoryPurpose1Code
          enum:
          - CASH
          - CORT
          - DIVI
          - GOVT
          - HEDG
          - INTC
          - INTE
          - LOAN
          - PENS
          - SALA
          - SECU
          - SSBE
          - SUPP
          - TAXS
          - TRAD
          - TREA
          - VATX
          - WHLD
        instructed_amount:
          $ref: "#/components/schemas/RestrictedJVINCreditTransferTransaction34_instructed_amount"
        exchange_rate_information:
          $ref: "#/components/schemas/ExchangeRate1"
        charge_bearer:
          type: string
          description: |
            Specifies which party/parties will bear the charges associated with the processing of the payment transaction.

            Rule: If Local Instrument is RTGS, Charge Bearer is Mandatory.

            Specifies which party(ies) will pay charges due for processing of the instruction.

            Code Name Definition:
            *`CRED` - BorneByCreditor - All transaction charges are to be borne by the creditor.
            *`DEBT` - BorneByDebtor - All transaction charges are to be borne by the debtor.
            *`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.
            *`SLEV` - FollowingServiceLevel - Charges are to be applied following the rules agreed in the service level and/or scheme.
          x-MXComponent: ChargeBearerType1Code
          enum:
          - CRED
          - DEBT
          - SHAR
          - SLEV
        cheque_instruction:
          $ref: "#/components/schemas/RestrictedJVINCheque11"
        ultimate_debtor:
          $ref: "#/components/schemas/PartyIdentification304"
        intermediary_agent1:
          $ref: "#/components/schemas/BranchAndFinancialInstitutionIdentification13"
        creditor_agent:
          $ref: "#/components/schemas/BranchAndFinancialInstitutionIdentification11"
        creditor:
          $ref: "#/components/schemas/PartyIdentification304"
        creditor_account:
          $ref: "#/components/schemas/CashAccount214"
        ultimate_creditor:
          $ref: "#/components/schemas/PartyIdentification304"
        instruction_for_creditor_agent:
          maxItems: 2
          type: array
          description: |
            Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor agent.

            NG-RTGS: May be up to two occurrences.
          items:
            $ref: "#/components/schemas/InstructionForCreditorAgent1"
        instruction_for_debtor_agent:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Further information related to the processing of the payment instruction, that may need to be acted upon by the debtor agent, depending on agreement between debtor and the debtor agent.

            Rule: For an accompanying FileAct file, this is indicated with the codeword 'FACT/' followed by the file name. Together the FileAct codeword and file name must not exceed 65 characters and should be structured as:
            FACT/BIC/TransactionID/DocumentType/DocumentRefNo/Date.FileTypeExtension
            E.g.  FACT/IBKL/DSGGGH00099/A1/AABBCCD/20160502.PDF

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        purpose:
          $ref: "#/components/schemas/Purpose2Choice"
        regulatory_reporting:
          maxItems: 10
          type: array
          description: |
            Information needed due to regulatory and statutory requirements.

            Transactions involving foreign exchange are subject to FEMA (Foreign Exchange Management Act ) regulations and are required to be reported.
          items:
            $ref: "#/components/schemas/RegulatoryReporting9"
        tax:
          $ref: "#/components/schemas/TaxInformation8"
        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"
      additionalProperties: false
      description: Provide further details specific to the individual transaction(s) included in the API.
      x-MXComponent: RestrictedJVINCreditTransferTransaction34
    RestrictedJVINCustomerPaymentStatusReportData1:
      required:
      - creation_date_time
      - customer_payment_status_report_identification
      - original_batch_payment_initiation_identification
      - original_batch_payment_reference
      - original_creation_date_time
      - report_reference
      type: object
      properties:
        report_reference:
          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: "Unique technical identification of the customer payment status report as defined by the customer's server. \n\nNote: The customerdoes not use this field when first submitting the customer payment status report. but it should be used when subsequently retrieving the customer payment status report.\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
        customer_payment_status_report_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the Customer Payment Status Report.
            Usage: The instructing party has to make sure that CustomerPaymentStatusReportIdentification is unique per instructed party for a pre-agreed period.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Rule: NG-RTGS: ISODateTime Time up to seconds only.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        initiating_party_name:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Name by which a party is known and which is usually used to identify that party.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        initiating_party_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.



            Based 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)".
          x-MXComponent: AnyBICDec2014Identifier
        initiating_party_lei:
          pattern: "^[A-Z0-9]{18,18}[0-9]{2,2}$"
          type: string
          description: |
            Legal entity identification as an alternate identification for a party.

            Based on datatype LEIIdentifier: Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)".
          x-MXComponent: LEIIdentifier
        initiating_party_other_identification:
          maxItems: 2
          type: array
          description: |+
            Unique identification of an organisation, as assigned by an institution, using an identification scheme.

            Rule: INInitiatingPartyIdBICOrOthr
            For each Organisation Identification, at least one occurrence of Other Identification must be present when BIC is absent


          items:
            $ref: "#/components/schemas/GenericOrganisationIdentification5"
        original_batch_payment_reference:
          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: "Original, unique technical identification of the batch payment initiation as originally defined by the bank's server. \n\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
        original_batch_payment_initiation_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the original instructing party, to unambiguously identify the original Batch Payment Initiation.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_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 original API was created.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        original_number_of_transactions:
          pattern: "^[0-9]{1,15}$"
          type: string
          description: |
            Number of individual transactions contained in the original API.

            CGI-MP_OriginalNumberOfTransactionsRule
            If supplied by originator in the initiation API, will be echoed back.

            Based on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.
          x-MXComponent: Max15NumericText
        original_control_sum:
          maxLength: 19
          type: string
          description: |
            Total of all individual amounts included in the original API, irrespective of currencies.

            CGI-MP_OriginalControlSumRule
            If supplied by originator in the initiation API, will be echoed back.

            Based on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.
          x-MXComponent: DecimalNumber
        group_status:
          maxLength: 4
          minLength: 1
          type: string
          description: |
            Specifies the status of a group of transactions.

            CGI-MP_GroupStatusRule: Required if reporting on a group level or combined group and transaction levels. Not Used if reporting at a transaction level only.

            ACTC = Group only
            ACCP = Group only and/or Consolidated status
            ACSP = Group only and/or Consolidated status
            ACWC = Group only and/or Consolidated status
            PART = Group  only and/or Consolidated status
            PDNG = Group  only and/or Consolidated status
            RJCT = Group  only and/or Consolidated status
            ACSC = Accepted Settlement Completed

            Rule: Refer to the ISO 20022 External Code List "ExternalPaymentGroupStatus1Code" for the complete list.

            Specifies the status of a group of payment instructions, as published in an external payment group status code set.
            External code sets can be downloaded from www.iso20022.org.
          x-MXComponent: ExternalPaymentGroupStatus1Code
        status_reason_information_code:
          type: array
          description: |
            Provides detailed information on the status reason.

            NG-RTGS: Repeats only once

            CGI-MP_CodeRule
            Code required from External Code List.  If a bank's status code is supported other than a code from the External Code List, then the bank status code is shown under <AddtlInf>.

            Rule: Refer to the ISO 20022 External Code List "ExternalStatusReason1Code" for the complete list.

            Specifies the status reason, as published in an external status reason code list.
            External code sets can be downloaded from www.iso20022.org.
          items:
            maxLength: 4
            minLength: 1
            type: string
            x-MXComponent: ExternalStatusReason1Code
        additional_information:
          type: array
          description: |
            Further details on the status reason.

            Usage: Additional information can be used for several purposes such as the reporting of repaired information.

            Based on datatype Max105Text: Specifies a character string with a maximum length of 105 characters.
          items:
            maxLength: 105
            minLength: 1
            type: string
            x-MXComponent: Max105Text
        number_of_transactions_per_status:
          type: array
          description: Detailed information on the number of transactions for each identical transaction status.
          items:
            $ref: "#/components/schemas/NumberOfTransactionsPerStatus5"
        original_payment_information_and_status:
          type: array
          description: "Information concerning the original payment information, to which the status report API refers."
          items:
            $ref: "#/components/schemas/RestrictedJVINOriginalPaymentInstruction27"
      additionalProperties: false
      description: |
        Scope
        The RestrictedJVINCustomerPaymentStatusReportData1 ("API") is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.

        Usage
        The RestrictedJVINCustomerPaymentStatusReportData1 ("API") is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.
        The API can be used to provide information about the status (e.g. rejection, acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.
        The API refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.
        The API can be used in domestic and cross-border scenarios.
        The API may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (e.g. either the beneficiary is credited, or the transaction is rejected).
      x-MXComponent: RestrictedJVINCustomerPaymentStatusReportData1
    RestrictedJVINOriginalPaymentInstruction27:
      required:
      - original_payment_information_identification
      type: object
      properties:
        original_payment_information_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by the original sending party, to unambiguously identify the original payment information group.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        payment_information_status:
          maxLength: 4
          minLength: 1
          type: string
          description: "Specifies the status of the payment information group.\n\nCGI-MP_PaymentInformationStatusRule\nRequired if reporting on a payment level or combined payment and transaction levels. Not Used if reporting at a transaction level only.\n\n\nACCP: Accepted technical, syntactical and profile; passed to back office\n\nACSP:  Accepted back office; passed to clearing\n\nACWC:  Accepted with change\n\nPART:  Partially accepted and rejected \nPDNG:  Pending further processing\n\nRJCT:  Rejection\n\nRule: Refer to the ISO 20022 External Code List \"ExternalPaymentGroupStatus1Code\" for the complete list.\n\nSpecifies the status of a group of payment instructions, as published in an external payment group status code set.\nExternal code sets can be downloaded from www.iso20022.org.\n"
          x-MXComponent: ExternalPaymentGroupStatus1Code
        status_reason_information_code:
          type: array
          description: |
            Provides detailed information on the status reason.

            CGI-MP_CodeRule
            Code required from External Code List.  If a bank's status reason code is supported other than a code from the External Code List, then the bank status code is shown under <AddtlInf>.

            Rule: Refer to the ISO 20022 External Code List "ExternalStatusReason1Code" for the complete list.

            Specifies the status reason, as published in an external status reason code list.
            External code sets can be downloaded from www.iso20022.org.
          items:
            maxLength: 4
            minLength: 1
            type: string
            x-MXComponent: ExternalStatusReason1Code
        additional_information:
          type: array
          description: |
            Further details on the status reason.

            Usage: Additional information can be used for several purposes such as the reporting of repaired information.

            Based on datatype Max105Text: Specifies a character string with a maximum length of 105 characters.
          items:
            maxLength: 105
            minLength: 1
            type: string
            x-MXComponent: Max105Text
        number_of_transactions_per_status:
          type: array
          description: Detailed information on the number of transactions for each identical transaction status.
          items:
            $ref: "#/components/schemas/NumberOfTransactionsPerStatus5"
        transaction_information_and_status:
          type: array
          description: |+
            Provides information on the original transactions to which the status report API refers.

            NG-RTGS: Repeats only once

            CGI-MP_TransactionInformationAndStatusRule
            Required if reporting on at the transaction level, at the payment/transaction level, or the group/payment/transaction levels. Not Used if reporting at only a group or payment level.


          items:
            $ref: "#/components/schemas/RestrictedJVINPaymentTransaction92"
      additionalProperties: false
      description: "Provides details information on the original transactions, to which the status report refers."
      x-MXComponent: RestrictedJVINOriginalPaymentInstruction27
    RestrictedJVINOriginalTransactionReference27:
      required:
      - amount
      - creditor_name
      - debtor_account
      - debtor_agent
      - debtor_name
      - requested_execution_date
      type: object
      properties:
        interbank_settlement_amount:
          $ref: "#/components/schemas/RestrictedJVINA1A2OriginalTransactionReference27_interbank_settlement_amount"
        amount:
          $ref: "#/components/schemas/AmountType4Choice"
        requested_execution_date:
          $ref: "#/components/schemas/DateAndDateTime2Choice"
        instruction_priority:
          type: string
          description: "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.\n\nNG-RTGS: \nHIGH = Priority Level is high.\nNORM = Priority Level is normal\nDefault is HIGH.\n\nSpecifies the priority level of an event.\n\nCode Name Definition:\n*`HIGH` - High - Priority level is high.\n*`NORM` - Normal - Priority level is normal.\n"
          x-MXComponent: Priority2Code
          enum:
          - HIGH
          - NORM
        clearing_channel:
          type: string
          description: |
            Specifies the clearing channel to be used to process the payment instruction.

            Specifies the clearing channel for the routing of the transaction, as part of the payment type identification.

            Code Name Definition:
            *`BOOK` - BookTransfer - Payment through internal book transfer.
            *`MPNS` - MassPaymentNetSystem - Clearing channel is a mass payment net settlement system.
            *`RTGS` - RealTimeGrossSettlementSystem - Clearing channel is a real-time gross settlement system.
            *`RTNS` - RealTimeNetSettlementSystem - Clearing channel is a real-time net settlement system.
          x-MXComponent: ClearingChannel2Code
          enum:
          - BOOK
          - MPNS
          - RTGS
          - RTNS
        service_level:
          type: string
          description: |
            Agreement under which or rules under which the transaction should be processed.

            Value: ExternalServiceLevel1Code

            Rule: Mandatory only in case of credit transfer (payment method = TRF).
            Not used for Cheques (payment method = CHK)

            Rule: For each Customer Credit Transfer Initiation API, if at least one occurrence of the following element(s) Credit Transfer [TRF] is (are) present, then Service Level must be present.

            Subset of service level codes as used in India.

            Code Name Definition:
            *`BKTR` - BookTransfer - Payment through internal book transfer.
            *`NURG` - NonUrgentPayment - Payment must be executed as a non-urgent transaction, which is typically identified as an ACH or low value transaction, such as NEFT / NACH / ECS / NECS.
            *`URGP` - UrgentPayment - Payment must be executed as an urgent transaction cleared through a real-time gross settlement system, which is typically identified as a wire or high value transaction, such as NG-RTGS.
          x-MXComponent: IndiaServiceLevel1Code
          enum:
          - BKTR
          - NURG
          - URGP
        local_instrument:
          maxLength: 4
          minLength: 3
          type: string
          description: |
            User community specific instrument.

            Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.

            Rule: If Payment Method is Cheque (CHK), then Local Instrument must be present.

            Local Instrument Code:
            ECS = ECS/NECS
            NEFT = NEFT
            NACH = NACH
            RTGS = NG-RTGS
            CII = Cheque Issuance

            Subset of local instrument codes as used in India.

            Code Name Definition:
            *`CII` - CII - Cheque Issuance.
            *`ECS` - ECS - Electronic Clearing System (ECS) or NECS National Electronic Clearing Service.
            *`NACH` - NACH - National Automated Clearing House.
            *`NEFT` - NEFT - National Electronic Funds Transfer.
            *`RTGS` - RTGS - Real Time Gross Settlement System.
          x-MXComponent: IndiaLocalInstrument1Code
          enum:
          - CII
          - ECS
          - NACH
          - NEFT
          - RTGS
        sequence_type:
          type: string
          description: |
            Identifies the direct debit sequence, such as first, recurrent, final or one-off.

            Specifies the type of the current transaction that belongs to a sequence of transactions.

            Code Name Definition:
            *`FNAL` - Final - Final collection of a series of direct debit instructions.
            *`FRST` - First - First collection of a series of direct debit instructions.
            *`OOFF` - OneOff - Direct debit instruction where the debtor's authorisation is used to initiate one single direct debit transaction.
            *`RCUR` - Recurring - Direct debit instruction where the debtor's authorisation is used for regular direct debit transactions initiated by the creditor.
            *`RPRE` - Represented - Collection used to re-present previously reversed or returned direct debit transactions.
          x-MXComponent: SequenceType3Code
          enum:
          - FNAL
          - FRST
          - OOFF
          - RCUR
          - RPRE
        category_purpose:
          type: string
          description: "Specifies the high level purpose of the instruction based on a set of pre-defined categories.\nUsage: This is used by the initiating party to provide information concerning the processing of the payment. It is likely to trigger special processing by any of the agents involved in the payment chain.\n\nRule: Mandatory if Local Instrument is RTGS\n\n(Default 'CASH')\n\nCASH = CashManagementTransfer\n\nCORT = TradeSettlementPayment\n\nDIVI = Dividend\n\nGOVT = GovernmentPayment\n\nHEDG = Hedging\n\nINTC = IntraCompanyPayment\n\nINTE = Interest\n\nLOAN = Loan\n\nPENS = PensionPayment\n\nSALA = SalaryPayment\n\nSECU = Securities\n\nSSBE = SocialSecurityBenefit\n\nSUPP = SupplierPayment\n\nTAXS = TaxPayment\n\nTRAD = Trade\n\nTREA = TreasuryPayment\n\nVATX = ValueAddedTaxPayment\n\nWHLD = WithHolding Tax\n\nSubset of category purpose codes as used in India.\n\nCode Name Definition:\n*`CASH` - CashManagementTransfer - Transaction is a general cash management instruction.\n*`CORT` - TradeSettlementPayment - Transaction is related to settlement of a trade, eg a foreign exchange deal or a securities transaction.\n*`DIVI` - Dividend - Transaction is the payment of dividends. \n*`GOVT` - GovernmentPayment - Transaction is a payment to or from a government department.\n*`HEDG` - Hedging - Transaction is related to the payment of a hedging operation.\n*`INTC` - IntraCompanyPayment - Transaction is an intra-company payment, ie, a payment between two companies belonging to the same group.\n*`INTE` - Interest - Transaction is the payment of interest.\n*`LOAN` - Loan - Transaction is related to the transfer of a loan to a borrower.\n*`PENS` - PensionPayment - Transaction is the payment of pension.\n*`SALA` - SalaryPayment - Transaction is the payment of salaries.\n*`SECU` - Securities - Transaction is the payment of securities.\n*`SSBE` - SocialSecurityBenefit - Transaction is a social security benefit, ie payment made by a government to support individuals.\n*`SUPP` - SupplierPayment - Transaction is related to a payment to a supplier.\n*`TAXS` - TaxPayment - Transaction is the payment of taxes.\n*`TRAD` - Trade - Transaction is related to the payment of a trade finance transaction.\n*`TREA` - TreasuryPayment - Transaction is related to treasury operations.  E.g. financial contract settlement.\n*`VATX` - ValueAddedTaxPayment - Transaction is the payment of value added tax.\n*`WHLD` - WithHoldingTax - Transaction is the payment of withholding tax.\n"
          x-MXComponent: IndiaCategoryPurpose1Code
          enum:
          - CASH
          - CORT
          - DIVI
          - GOVT
          - HEDG
          - INTC
          - INTE
          - LOAN
          - PENS
          - SALA
          - SECU
          - SSBE
          - SUPP
          - TAXS
          - TRAD
          - TREA
          - VATX
          - WHLD
        debtor_agent:
          $ref: "#/components/schemas/BranchAndFinancialInstitutionIdentification13"
        debtor_name:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Party that owes an amount of money to the (ultimate) creditor.


            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        debtor_account:
          maxLength: 34
          minLength: 1
          type: string
          description: |
            Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.

            Based on datatype Max34Text: Specifies a character string with a maximum length of 34 characters.
          x-MXComponent: Max34Text
        creditor_agent:
          $ref: "#/components/schemas/BranchAndFinancialInstitutionIdentification13"
        creditor_name:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Party to which an amount of money is due.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        creditor_account:
          $ref: "#/components/schemas/CashAccount214"
        purpose:
          $ref: "#/components/schemas/Purpose2Choice"
      additionalProperties: false
      description: Key elements used to refer the original transaction.
      x-MXComponent: RestrictedJVINOriginalTransactionReference27
    RestrictedJVINPaymentInitiationData1:
      required:
      - batch_payment_initiation_identification
      - batch_payment_reference
      - creation_date_time
      - initiating_party
      - number_of_transactions
      - payment_information
      type: object
      properties:
        batch_payment_reference:
          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: "Unique technical identification of the batch payment initiation as defined by the bank's server. \n\nNote: The corporate does not use this field when first submitting the batch payment initiation. but it should be used when subsequently retrieving the batch payment initiation.\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
        batch_payment_initiation_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Point to point reference, as assigned by the instructing party, sent to the next party in the chain to unambiguously identify the batch payment initiation.
            Usage: The instructing party has to make sure that BatchPaymentInitiationIdentification is unique per instructed party for a pre-agreed period.

            ECS/NECS: 11.4 User Credit Reference
            14-character user defined reference number for the entire transaction.

            NACH: 12.16 User Reference
            Mandatory, 18 character user defined reference number for the entire transaction (Alpha Numeric)

            NEFT: N06.2020 Transaction Reference Number
            Uniquely identifies the message.
            Mandatory, 16x

            NG-RTGS: 22-character number recommended:
            XXXX- Sender IFSC [4]
            YYYYMMDD - Creation Date Reverse [8]
            X – Channel [1]
            nnnnnnnnn- Sequence Number [9]

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            NEFT: N06.3535 Batch Time
            If specified it must be either 1030 or 1200 or 1600.
            Optional, 4!n

            NG-RTGS: ISODateTime. Time up to seconds only.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        authorisation:
          maxItems: 2
          type: array
          description: |
            User identification or any user key to be used to check whether the initiating party is allowed to initiate transactions from the account specified in the API.

            Usage: The content is not of a technical nature, but reflects the organisational structure at the initiating side.
            The authorisation element can typically be used in relay scenarios, payment initiations, payment returns or payment reversals that are initiated on behalf of a party different from the initiating party.
          items:
            $ref: "#/components/schemas/Authorisation1Choice"
        control_sum:
          maxLength: 19
          type: string
          description: |
            Total of all individual amounts included in the message, irrespective of currencies.

            Same as per clearing requirements.
            NEFT: N06.4063 Sum of Amounts
            Mandatory, 19d

            NACH: 12.19 Total items in File
            Mandatory, 9 numeric

            CGI-MP_ControlSumRule
            It is a client's option to include. If included, value will be checked. The sum is the hash total of values in Instructed Amount or Equivalent Amount.

            Based on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.
          x-MXComponent: DecimalNumber
        initiating_party:
          $ref: "#/components/schemas/PartyIdentification307"
        number_of_transactions:
          pattern: "^[0-9]{1,15}$"
          type: string
          description: |
            Number of individual transactions contained in the API.
            NEFT: N06.1106 Total number of loops in the message
            Number of transactions in message.
            Mandatory, 5n

            NG-RTGS: Number of individual transactions contained in the message.
            RTGS limited to 1 transaction.

            Based on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.
          x-MXComponent: Max15NumericText
        payment_information:
          type: array
          description: |
            Set of characteristics that applies to the debit side of the payment transactions included in the credit transfer initiation.

            Rule: INCreditorAccountRulePayMethod: For each Payment Information, at least one occurrence of Creditor Account must be present when at least one occurrence of Credit Transfer [TRF] is present

            Rule: INCreditorAgentRulePayMethod: For each Payment Information, at least one occurrence of Creditor Agent must be present when at least one occurrence of Credit Transfer [TRF] is present
          items:
            $ref: "#/components/schemas/RestrictedJVINPaymentInstruction1"
      additionalProperties: false
      description: |
        Scope
        RestrictedJVINPaymentInitiationData1 ("API") is sent by the initiating party to the debtor agent. It is used to request movement of funds from the debtor account to a creditor.

        Usage
        RestrictedJVINPaymentInitiationData1 ("API") can contain one or more customer credit transfer instructions.
        The API is used to exchange:
        - One or more instances of a credit transfer initiation;
        - Payment transactions that result in book transfers at the debtor agent or payments to another financial institution;
        - Payment transactions that result in an electronic cash transfer to the creditor account or in the emission of a cheque.

        The API can be used in the following scenarios:
        - In a direct scenario, the API is sent directly to the debtor agent. The debtor agent is the account servicer of the debtor.
        - The API can also be used by an initiating party that has authority to send the message on behalf of the debtor. This caters for example for the scenario of a payments factory initiating all payments on behalf of a large corporate.
        - The API can be used in domestic and cross-border scenarios.
        - The API must not be used by the debtor agent to execute the credit transfer instruction(s). The FIToFICustomerCreditTransfer message or equivalent API must be used instead.

        Rule: ChargeBearerPayOrTranLevel
        For each Customer Credit Transfer Initiation, the following elements are mutually exclusive: Charge Bearer at Payment Information level and Charge Bearer at Transaction level and all may be absent

        Rule: INTranSrvclv-optionalCHQ_L1
        For each Customer Credit Transfer Initiation, if at least one occurrence of Credit Transfer [TRF] is (are) present, then for each Payment Type Information, at least one occurrence of Service Level must be present

        Rule: INTranSrvclvloptionalCHQ_L2
        For each Customer Credit Transfer Initiation, if at least one occurrence of Credit Transfer [TRF] is (are) present, then for each Payment Type Information, at least one occurrence of Service Level must be present

        Rule: INTranLclInstrm-mandatoryCHQ_L1
        For each Customer Credit Transfer Initiation, if at least one occurrence of Cheque [CHK] is (are) present, then for each Payment Type Information, at least one occurrence of Local Instrument must be present

        Rule: INTranLclInstrm-mandatoryCHQ_L2
        For each Customer Credit Transfer Initiation, if at least one occurrence of Cheque [CHK] is (are) present, then for each Payment Type Information, at least one occurrence of Local Instrument must be present
      x-MXComponent: RestrictedJVINPaymentInitiationData1
    RestrictedJVINPaymentInstruction1:
      required:
      - credit_transfer_transaction_information
      - debtor
      - debtor_account
      - debtor_agent
      - payment_information_identification
      - payment_method
      - requested_execution_date
      type: object
      properties:
        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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        payment_method:
          type: string
          description: |
            Specifies the means of payment that will be used to move the amount of money.

            Rule: INTranSrvclv-optionalCHQ_L1: If Payment Method is Credit Transfer [TRF], Service Level must be present.
            Rule: INTranLclInstrm-mandatoryCHQ_L1: If Payment Method is Cheque [CHK], then Local Instrument must be present.

            Specifies the transfer method that will be used to transfer the cash.

            Code Name Definition:
            *`CHK` - Cheque - Written order to a bank to pay a certain amount of money from one person to another person.
            *`TRF` - CreditTransfer - Transfer of an amount of money in the books of the account servicer.
          x-MXComponent: PaymentMethod7Code
          enum:
          - CHK
          - TRF
        batch_booking:
          type: boolean
          description: |
            Identifies whether a single entry per individual transaction or a batch entry for the sum of the amounts of all transactions within the group of a API is requested.
            Usage: Batch booking is used to request and not order a possible batch booking.

            Based on datatype BatchBookingIndicator: Identifies whether the sending party requests a single debit or credit entry per individual transaction or a batch entry for the sum of the amounts of all transactions.
          x-MXComponent: BatchBookingIndicator
        number_of_transactions:
          pattern: "^[0-9]{1,15}$"
          type: string
          description: |
            Number of individual transactions contained in the payment information group.

            Based on datatype Max15NumericText: Specifies a numeric string with a maximum length of 15 digits.
          x-MXComponent: Max15NumericText
        control_sum:
          maxLength: 19
          type: string
          description: |
            Total of all individual amounts included in the group, irrespective of currencies.

            CGI-MP_ControlSumRule: It is a client's option to include. If included, value will be checked. The sum is the hash total of values in Instructed Amount or Equivalent Amount.

            Based on datatype DecimalNumber: Number of objects represented as a decimal number, for example 0.75 or 45.6.
          x-MXComponent: DecimalNumber
        instruction_priority:
          type: string
          description: "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.\n\nNG-RTGS: \nHIGH = Priority Level is high.\nNORM = Priority Level is normal\nDefault is HIGH.\n\nSpecifies the priority level of an event.\n\nCode Name Definition:\n*`HIGH` - High - Priority level is high.\n*`NORM` - Normal - Priority level is normal.\n"
          x-MXComponent: Priority2Code
          enum:
          - HIGH
          - NORM
        service_level:
          type: string
          description: |
            Agreement under which or rules under which the transaction should be processed.

            Value: ExternalServiceLevel1Code

            Rule: If Payment Method is Credit Transfer [TRF], Service Level must be present.
            Not used for Cheques (payment method = CHK)

            INTranSrvclvloptionalCHQ_L1
            Rule: For each Customer Credit Transfer Initiation API, if at least one occurrence of Credit Transfer [TRF] is (are) present, then Service Level must be present.


            Subset of service level codes as used in India.

            Code Name Definition:
            *`BKTR` - BookTransfer - Payment through internal book transfer.
            *`NURG` - NonUrgentPayment - Payment must be executed as a non-urgent transaction, which is typically identified as an ACH or low value transaction, such as NEFT / NACH / ECS / NECS.
            *`URGP` - UrgentPayment - Payment must be executed as an urgent transaction cleared through a real-time gross settlement system, which is typically identified as a wire or high value transaction, such as NG-RTGS.
          x-MXComponent: IndiaServiceLevel1Code
          enum:
          - BKTR
          - NURG
          - URGP
        local_instrument:
          maxLength: 4
          minLength: 3
          type: string
          description: |
            User community specific instrument.

            Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.

            INTranLclInstrm-mandatoryCHQ_L1
            Rule: If Payment Method is Cheque (CHK), then Local Instrument must be present.

            Local Instrument Code:
            ECS = ECS/NECS
            NEFT = NEFT
            NACH = NACH
            RTGS = NG-RTGS
            CII = Cheque Issuance

            Subset of local instrument codes as used in India.

            Code Name Definition:
            *`CII` - CII - Cheque Issuance.
            *`ECS` - ECS - Electronic Clearing System (ECS) or NECS National Electronic Clearing Service.
            *`NACH` - NACH - National Automated Clearing House.
            *`NEFT` - NEFT - National Electronic Funds Transfer.
            *`RTGS` - RTGS - Real Time Gross Settlement System.
          x-MXComponent: IndiaLocalInstrument1Code
          enum:
          - CII
          - ECS
          - NACH
          - NEFT
          - RTGS
        category_purpose:
          type: string
          description: "Specifies the high level purpose of the instruction based on a set of pre-defined categories.\nUsage: This is used by the initiating party to provide information concerning the processing of the payment. It is likely to trigger special processing by any of the agents involved in the payment chain.\n\nRule: Mandatory if Local Instrument is RTGS\n(Default 'CASH')\nCASH = CashManagementTransfer\nCORT = TradeSettlementPayment\nDIVI = Dividend\nGOVT = GovernmentPayment\nHEDG = Hedging\nINTC = IntraCompanyPayment\nINTE = Interest\nLOAN = Loan\nPENS = PensionPayment\nSALA = SalaryPayment\nSECU = Securities\nSSBE = SocialSecurityBenefit\nSUPP = SupplierPayment\nTAXS = TaxPayment\nTRAD = Trade\nTREA = TreasuryPayment\nVATX = ValueAddedTaxPayment\nWHLD = WithHolding Tax\n\nSubset of category purpose codes as used in India.\n\nCode Name Definition:\n*`CASH` - CashManagementTransfer - Transaction is a general cash management instruction.\n*`CORT` - TradeSettlementPayment - Transaction is related to settlement of a trade, eg a foreign exchange deal or a securities transaction.\n*`DIVI` - Dividend - Transaction is the payment of dividends. \n*`GOVT` - GovernmentPayment - Transaction is a payment to or from a government department.\n*`HEDG` - Hedging - Transaction is related to the payment of a hedging operation.\n*`INTC` - IntraCompanyPayment - Transaction is an intra-company payment, ie, a payment between two companies belonging to the same group.\n*`INTE` - Interest - Transaction is the payment of interest.\n*`LOAN` - Loan - Transaction is related to the transfer of a loan to a borrower.\n*`PENS` - PensionPayment - Transaction is the payment of pension.\n*`SALA` - SalaryPayment - Transaction is the payment of salaries.\n*`SECU` - Securities - Transaction is the payment of securities.\n*`SSBE` - SocialSecurityBenefit - Transaction is a social security benefit, ie payment made by a government to support individuals.\n*`SUPP` - SupplierPayment - Transaction is related to a payment to a supplier.\n*`TAXS` - TaxPayment - Transaction is the payment of taxes.\n*`TRAD` - Trade - Transaction is related to the payment of a trade finance transaction.\n*`TREA` - TreasuryPayment - Transaction is related to treasury operations.  E.g. financial contract settlement.\n*`VATX` - ValueAddedTaxPayment - Transaction is the payment of value added tax.\n*`WHLD` - WithHoldingTax - Transaction is the payment of withholding tax.\n"
          x-MXComponent: IndiaCategoryPurpose1Code
          enum:
          - CASH
          - CORT
          - DIVI
          - GOVT
          - HEDG
          - INTC
          - INTE
          - LOAN
          - PENS
          - SALA
          - SECU
          - SSBE
          - SUPP
          - TAXS
          - TRAD
          - TREA
          - VATX
          - WHLD
        requested_execution_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 at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited. If payment by cheque, the date when the cheque must be generated by the bank.\n\nRule: If Local Instrument is:\n\nECS/NECS: : 11.11 Settlement date: 8-digit (DDMMYYYY) date on which settlement is sought to be effected\n\nNACH: : 12.11 Settlement date: 8-digit (DDMMYYYY) date on which settlement is sought to be effected\n\nNEFT: N06.3380 Value Date: Date on which settlement takes place. It can be only the current date.\nMandatory, 8!n\n\nNG-RTGS: InterbankSettlementDate\n\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
        debtor:
          $ref: "#/components/schemas/PartyIdentification304"
        debtor_account:
          $ref: "#/components/schemas/CashAccount214"
        debtor_agent:
          $ref: "#/components/schemas/BranchAndFinancialInstitutionIdentification11"
        instruction_for_debtor_agent:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Further information related to the processing of the payment instruction, that may need to be acted upon by the debtor agent, depending on agreement between debtor and the debtor agent.

            Usage: when present, then the instructions for the debtor agent apply for all credit transfer transaction information occurrences, present in the payment information.

            A note 'Refer PurpCdXchgRateInf under Supplementary Data for Debtor's Account information.' may be put in this field.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        ultimate_debtor:
          $ref: "#/components/schemas/PartyIdentification304"
        charge_bearer:
          type: string
          description: |
            Specifies which party/parties will bear the charges associated with the processing of the payment transaction.

            Rule: ChargeBearerPayOrTranLevel
            Charge Bearer at Payment Information level and Transaction level is mutually exclusive and all may be absent

            Specifies which party(ies) will pay charges due for processing of the instruction.

            Code Name Definition:
            *`CRED` - BorneByCreditor - All transaction charges are to be borne by the creditor.
            *`DEBT` - BorneByDebtor - All transaction charges are to be borne by the debtor.
            *`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.
            *`SLEV` - FollowingServiceLevel - Charges are to be applied following the rules agreed in the service level and/or scheme.
          x-MXComponent: ChargeBearerType1Code
          enum:
          - CRED
          - DEBT
          - SHAR
          - SLEV
        charges_account:
          $ref: "#/components/schemas/CashAccount38"
        credit_transfer_transaction_information:
          type: array
          description: |
            Provides information on the individual transaction(s) included in the API.

            PaymentTransaction
            May be batched.  Receiving bank would rearrange depending on clearing requirements (e.g. NG-RTGS processes payments individually).

            NEFT: Maximum 10 Transactions through clearing
            NG-RTGS: Maximum 1 Transaction through clearing
          items:
            $ref: "#/components/schemas/RestrictedJVINCreditTransferTransaction34"
      additionalProperties: false
      description: Payment Instruction data as required in India domestic payments.
      x-MXComponent: RestrictedJVINPaymentInstruction1
    RestrictedJVINPaymentTransaction92:
      required:
      - original_end_to_end_identification
      type: object
      properties:
        status_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the reported status.
            Usage: The instructing party is the party sending the status API and not the party that sent the original instruction that is being reported on.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_instruction_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by the original instructing party for the original instructed party, to unambiguously identify the original instruction.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_end_to_end_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by the original initiating party, to unambiguously identify the original transaction.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_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.

            Based on datatype UUIDv4Identifier: Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          x-MXComponent: UUIDv4Identifier
        transaction_status:
          maxLength: 4
          minLength: 1
          type: string
          description: |
            Specifies the status of a transaction, in a coded form.

            CGI-MP_TransactionStatusRule
            Required if reporting on a transaction level.  Not Used if reporting only at a group or payment level.


            ACCP: Accepted technical, syntactical and profile; passed to back office

            ACSP:  Accepted back office; passed to clearing
            ACWC:  Accepted with change

            PDNG:  Pending further processing

            RJCT:  Rejection
            ACCC: Accepted Settlement Completed Creditor Account

            Rule: Refer to the ISO 20022 External Code List "ExternalPaymentTransactionStatus1Code" for the complete list.

            Specifies the status of an individual payment instructions, as published in an external payment transaction status code set.
            External code sets can be downloaded from www.iso20022.org.
          x-MXComponent: ExternalPaymentTransactionStatus1Code
        status_reason_information_code:
          type: array
          description: |
            Provides detailed information on the status reason.

            CGI-MP_CodeRule
            Code required from External Code List.  If a bank's status reason code is supported other than a code from the External Code List, then the bank status code is shown under <AddtlInf>.

            Rule: Refer to the ISO 20022 External Code List "ExternalStatusReason1Code" for the complete list.

            Specifies the status reason, as published in an external status reason code list.
            External code sets can be downloaded from www.iso20022.org.
          items:
            maxLength: 4
            minLength: 1
            type: string
            x-MXComponent: ExternalStatusReason1Code
        additional_information:
          type: array
          description: |
            Further details on the status reason.

            Usage: Additional information can be used for several purposes such as the reporting of repaired information.

            - Use Codeword “/POSTED/”  to indicate settlement on the creditor's account has been completed.

            Based on datatype Max105Text: Specifies a character string with a maximum length of 105 characters.
          items:
            maxLength: 105
            minLength: 1
            type: string
            x-MXComponent: Max105Text
        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.

            Based 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.
            Note on the time format:
            1) beginning / end of calendar day
            00:00:00 = the beginning of a calendar day
            24:00:00 = the end of a calendar day
            2) fractions of second in time format
            Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.
          x-MXComponent: ISODateTime
        account_servicer_reference:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique reference, as assigned by the account servicing institution, to unambiguously identify the instruction.

            Bank to use this field to populate their unique reference of the (A1/A2) transaction processed.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.\n\nFor transactions sent for clearing through NG-RTGS, the Unique Transaction Reference (UTR) may be recorded here. \n\nBased on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.\n"
          x-MXComponent: Max35Text
        original_transaction_reference:
          $ref: "#/components/schemas/RestrictedJVINOriginalTransactionReference27"
      additionalProperties: false
      description: "Provides further details on the original transactions, to which the status report refers."
      x-MXComponent: RestrictedJVINPaymentTransaction92
    StructuredRegulatoryReporting4:
      type: object
      properties:
        type:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Specifies the type of the information supplied in the regulatory reporting details.

            FEMA = Foreign Exchange Management Act.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        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 related to the specified type of regulatory reporting details.

            Based 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.
          x-MXComponent: ISODate
        country:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Country related to the specified type of regulatory reporting details.

            Code 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).
          x-MXComponent: CountryCode
        code:
          maxLength: 5
          minLength: 1
          type: string
          description: |
            Specifies the nature, purpose, and reason for the transaction to be reported for regulatory and statutory requirements in a coded form.

            FEMA Purpose code, 5-Character code.

            Based on datatype Max5Text: Specifies a character string with a maximum length of 5 characters.
          x-MXComponent: Max5Text
        amount:
          $ref: "#/components/schemas/StructuredRegulatoryReporting4_amount"
        information:
          type: array
          description: |
            Additional details that cater for specific domestic regulatory requirements.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          items:
            maxLength: 35
            minLength: 1
            type: string
            x-MXComponent: Max35Text
      additionalProperties: false
      description: Information needed due to regulatory and statutory requirements.
      x-MXComponent: StructuredRegulatoryReporting4
    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/RemittanceAmount2"
        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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          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
    SummaryData2:
      required:
      - total_remittance_amount
      - value_date_of_remittance
      type: object
      properties:
        total_remittance_amount:
          $ref: "#/components/schemas/SummaryData2_total_remittance_amount"
        value_date_of_remittance:
          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: |
            Value Date.

            Based 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.
          x-MXComponent: ISODate
      additionalProperties: false
      description: |
        Foreign Remittance Info contains total remittance amount, charge bearer and value date of remittance.

        Conditional ChargeBearerMandatoryForForeignRmtInfo
        Charge Bearer is mandatory if Foreign Remittance info is present
        If
        CreditTransferTransactionInformation/ForeignRemittanceDetails/ForeignRemittanceInfo is present
        Then
        /Document/CstmrCdtTrfInitn/PmtInf/ChrgBr is mandatory
      x-MXComponent: SummaryData2
    TaxAmount2:
      type: object
      properties:
        rate:
          maxLength: 12
          type: string
          description: |
            Rate used to calculate the tax.

            Based 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%.
          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.
      x-MXComponent: TaxAmountType1Choice
      oneOf:
      - required:
        - code
        type: object
        properties:
          code:
            maxLength: 4
            minLength: 1
            type: string
            description: |
              Specifies the amount type, in a coded form.

              Specifies the nature, or use, of the amount 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.
              External code sets can be downloaded from www.iso20022.org.
            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.

              Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
            x-MXComponent: Max35Text
        additionalProperties: false
    TaxAuthorisation1:
      type: object
      properties:
        title:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Title or position of debtor or the debtor's authorised representative.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        name:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Name of the debtor or the debtor's authorised representative.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
      additionalProperties: false
      description: Details of the authorised tax paying party.
      x-MXComponent: TaxAuthorisation1
    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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        reference_number:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Tax reference information that is specific to a taxing agency.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        method:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Method used to indicate the underlying business or how the tax is paid.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based 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.
          x-MXComponent: ISODate
        sequence_number:
          maxLength: 19
          type: string
          description: |
            Sequential number of the tax report.

            Based on datatype Number: Number of objects represented as an integer.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        reference_number:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Tax reference information that is specific to a taxing agency.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        method:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Method used to indicate the underlying business or how the tax is paid.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based 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.
          x-MXComponent: ISODate
        sequence_number:
          maxLength: 19
          type: string
          description: |
            Sequential number of the tax report.

            Based on datatype Number: Number of objects represented as an integer.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        registration_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by an organisation, to unambiguously identify a party.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        tax_type:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Type of tax payer.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        registration_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by an organisation, to unambiguously identify a party.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        tax_type:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Type of tax payer.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based 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.
          x-MXComponent: ISODate
        type:
          type: string
          description: |
            Identification of the period related to the tax payment.

            Specifies the period related to the tax payment.

            Code Name Definition:
            *`HLF1` - FirstHalf - Tax is related to the first half of the period.
            *`HLF2` - SecondHalf - Tax is related to the second half of the period.
            *`MM01` - FirstMonth - Tax is related to the second month of the period.
            *`MM02` - SecondMonth - Tax is related to the first month of the period.
            *`MM03` - ThirdMonth - Tax is related to the third month of the period.
            *`MM04` - FourthMonth - Tax is related to the fourth month of the period.
            *`MM05` - FifthMonth - Tax is related to the fifth month of the period.
            *`MM06` - SixthMonth - Tax is related to the sixth month of the period.
            *`MM07` - SeventhMonth - Tax is related to the seventh month of the period.
            *`MM08` - EighthMonth - Tax is related to the eighth month of the period.
            *`MM09` - NinthMonth - Tax is related to the ninth month of the period.
            *`MM10` - TenthMonth - Tax is related to the tenth month of the period.
            *`MM11` - EleventhMonth - Tax is related to the eleventh month of the period.
            *`MM12` - TwelfthMonth - Tax is related to the twelfth month of the period.
            *`QTR1` - FirstQuarter - Tax is related to the first quarter of the period.
            *`QTR2` - SecondQuarter - Tax is related to the second quarter of the period.
            *`QTR3` - ThirdQuarter - Tax is related to the third quarter of the period.
            *`QTR4` - FourthQuarter - Tax is related to the forth quarter of the period.
          x-MXComponent: TaxRecordPeriod1Code
          enum:
          - HLF1
          - HLF2
          - MM01
          - MM02
          - MM03
          - MM04
          - MM05
          - MM06
          - MM07
          - MM08
          - MM09
          - MM10
          - MM11
          - MM12
          - QTR1
          - QTR2
          - QTR3
          - QTR4
        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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        category:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Specifies the tax code as published by the tax authority.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        category_details:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Provides further details of the category tax code.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        certificate_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Identification number of the tax report as assigned by the taxing authority.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          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.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          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
    TransportDocumentAndShipmentData1:
      type: object
      properties:
        transport_document_reference:
          maxLength: 50
          minLength: 1
          type: string
          description: |
            Transport Document Number.

            Based on datatype Max50Text: Specifies a character string with a maximum length of 50 characters.
          x-MXComponent: Max50Text
        transport_document_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: |
            Transport Document Date.

            Based 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.
          x-MXComponent: ISODate
        import_export_code:
          pattern: "^[0-9]{1,10}$"
          type: string
          description: |
            Import Export Code.

            Based on datatype Max10NumericText: Specifies a numeric string with a maximum length of 10 digits.
          x-MXComponent: Max10NumericText
        shipment_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: |
            On Board Shipping Date.

            Based 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.
          x-MXComponent: ISODate
        country_of_origin:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Country Of Origin.

            Code 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).
          x-MXComponent: CountryCode
        port_of_loading:
          maxLength: 64
          minLength: 1
          type: string
          description: |
            Port Of Loadng.

            Based on datatype Max64Text: Specifies a character string with a maximum length of 64 characters.
          x-MXComponent: Max64Text
        consignee:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            When consignee is other than the remitter.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        shipping_company:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Freight forwarder or shipping company.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        vessel_name:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Vessel Name.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        imo_code:
          pattern: "^[0-9]{1,7}$"
          type: string
          description: |
            International Maritime Organization Code.

            Based on datatype Max7NumericText: Specifies a numeric string with a maximum length of 7 digits.
          x-MXComponent: Max7NumericText
        payment_terms:
          maxLength: 140
          minLength: 1
          type: string
          description: |
            Payment Term as mentioned in Invoice.

            Based on datatype Max140Text: Specifies a character string with a maximum length of 140 characters.
          x-MXComponent: Max140Text
        transhipment_port:
          maxLength: 65
          minLength: 1
          type: string
          description: |
            Transhipment Port.

            Based on datatype Max65Text: Specifies a character string with a maximum length of 65 characters.
          x-MXComponent: Max65Text
      additionalProperties: false
      description: When remittance purpose is - Post Shipment Import Of Goods and when Transport document details are available.
      x-MXComponent: TransportDocumentAndShipmentData1
    UltimateDebtorNationality1:
      type: object
      properties:
        country_of_residence:
          type: string
          description: |
            Nationality of Ul.

            Nationality of Ul.

            Code Name Definition:
            *`FORN` - ForeignNational - When the nationality is other than Indian.
            *`PIOC` - PersonOfIndianOrigin - Person Of Indian Origin.
            *`RESI` - ResidentIndian - Resident is Indian National.
          x-MXComponent: CountryOfResidence1Code
          enum:
          - FORN
          - PIOC
          - RESI
        foreign_national_country_code:
          pattern: "^[A-Z]{2,2}$"
          type: string
          description: |
            Foreign National Country Code when the Nationality code is FORN.
            Conditional ForeignNationalCountryCodeRule
            Foreign National Country Code mandatory when the country of residence of Ultimate Debtor is - FORN (Foreign National)
            If
            When CreditTransferTransactionInformation/ForeignRemittanceDetails/UltimateDebtorNationality/CountryOfResidence = FORN
            Then
            CreditTransferTransactionInformation/ForeignRemittanceDetails/UltimateDebtorNationality/ForeignNationalCountryCode must be present.

            Code 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).
          x-MXComponent: CountryCode
      additionalProperties: false
      description: "Ultimate Debtor Nationality can be foreign, Indian resident or person of Indian origin."
      x-MXComponent: UltimateDebtorNationality1
    AdvanceImportGuaranteeData1_guarantee_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: |
        SBLC or BG Amount.

        Based 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.
    AmountData1_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.

        Based 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.
    AmountType4Choice_instructed_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.

        Usage: This amount has to be transported unchanged through the transaction chain.

        Based 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.
    BillOfEntryAndShipmentData1_boe_utilisation_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: |
        BOE Utilisation Amount is crucial to indicate the amount debited against each BOE. This amount may be paid in full/partial.

        Based 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.
    ChargesAndTax_local_bank_charges:
      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: |
        Local Bank Charges.

        Based 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.
    ChargesAndTax_gst_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: |
        GST Amount.

        Based 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.
    ChargesAndTax_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 to be debited

        Based 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.
    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.

        Based 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.
    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.

        Based 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.
    EquivalentAmount2_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 debtor and creditor, before deduction of charges, expressed in the currency of the debtor's account, and to be moved in a different currency.
        Usage: The first agent will convert the equivalent amount into the amount to be moved.

        Based 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.
    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.

        Based 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.
    InvoiceData1_invoice_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: |
        Invoice Amount.

        Based 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.
    InvoiceData1_misc_charges:
      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: |
        Charges.

        Based 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.
    InvoiceData1_net_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: |
        Net Payable Amount.

        Based 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.
    PurchaseOrderData1_purchase_order_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: |
        PO or PI Amount.

        Based 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.
    RemittanceAmount2_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.

        Based 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.
    RemittanceAmount2_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.

        Based 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.
    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.

        Based 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.
    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.

        Based 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.
    RestrictedJVINA1A2CreditTransferTransaction34_instructed_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.

        Usage: This amount has to be transported unchanged through the transaction chain.

        Rule: Currency is INR

        ECS/NECS: 22.11 Amount
        13-digit amount in paise (1 rupee = 100 paise).

        NACH: 23.11 Amount
        13-digit amount in paise (1 rupee = 100 paise).

        NEFT: N06.4038 Amount
        Ccy = "INR"

        NG-RTGS: <FIToFICstmrCdtTrf/CdtTrfTxInf/IntrBkSttlmAmt>
        Ccy="INR"

        Based 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.
    RestrictedJVINA1A2OriginalTransactionReference27_interbank_settlement_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 moved between the instructing agent and the instructed agent.

        Based 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.
    RestrictedJVINCreditTransferTransaction34_instructed_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.

        Usage: This amount has to be transported unchanged through the transaction chain.

        Rule: Currency is INR

        13-digit amount in paise (1 rupee = 100 paise).
        Ccy="INR"

        ECS/NECS: 22.11 Amount
        13-digit amount in paise (1 rupee = 100 paise).

        NACH: 23.11 Amount
        13-digit amount in paise (1 rupee = 100 paise).

        NEFT: N06.4038 Amount
        Ccy = "INR"

        NG-RTGS: <FIToFICstmrCdtTrf/CdtTrfTxInf/IntrBkSttlmAmt>
        Ccy="INR"

        Based 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.
    StructuredRegulatoryReporting4_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 reported for regulatory and statutory requirements.

        Based 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.
    SummaryData2_total_remittance_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 Remittance Amount

        Based 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.
    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.

        Based 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.
    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.

        Based 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.
    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.

        Based 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.
    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.

        Based 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.
    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.

        Based 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.
    ISONormalisedDateTime:
      type: string
      description: an ISODateTime whereby all timezoned dateTime values are UTC.
      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)$    
    CloudEventsEnvelope:
      type: object
      properties:
        id:
          description: "A unique identifier for the event. MUST be unique within the scope of the event producer. MUST be a non-empty string."
          type: string
        source:
          description: "Identifies the context in which the event happened. Event producers MUST ensure that source + id is unique for each distinct event. MUST be a non-empty URI reference (absolute URI recommended)."
          type: string
          format: uri-reference
        specversion:
          description: "The version of the CloudEvents specification which the event uses. MUST be a non-empty string wth the version denoted as major.minor (e.g. '1.0')"
          type: string
        type: 
          description: "Describes the type of event related to the originating occurrence. MUST be a non-empty string. SHOULD be prefixed with a reverse DNS name."
          type: string
        datacontenttype:
          description: "The content type of the 'data' value."
          type: string
        dataschema:
          description: "Identifies the schema that 'data' adheres to. If present MUST be a non-empty URI - NOTE: For Swift events, dataschema MUST be supplied even though it remains optional in the specification as per the CloudEvents specification."
          type: string
          format: uri-reference
        subject:
          description: "This describes the subject of the event in the context of the event producer (identified by 'source'). A subscriber will typically subscribe to events emitted by a source, but the source identifier alone might not be sufficient as a qualifier for any specific event if the source context has internal sub-structure."
          type: string
        time:
          # Timestamp of when the event occurrence happened
          $ref: "#/components/schemas/ISONormalisedDateTime"
      required:
        - id
        - source
        - type
        - specversion
        - dataschema
    JVINPaymentEventDetails1:
      type: object
      description: Notification from a Bank to the Customer that initiated the payment. The Notification informs the Customer of a change in status for the payment and provides the API request that may be used to retrieve the payment details.
      additionalProperties: false
      properties:
        batch_payment_reference: 
          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: "Unique technical identification of the batch payment initiation as defined by the bank's server. \n\nNote: The corporate does not use this field when first submitting the batch payment initiation. but it should be used when subsequently retrieving the batch payment initiation.\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  
        original_instruction_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by the original instructing party for the original instructed party, to unambiguously identify the original instruction.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_end_to_end_identification:
          maxLength: 35
          minLength: 1
          type: string
          description: |
            Unique identification, as assigned by the original initiating party, to unambiguously identify the original transaction.

            Based on datatype Max35Text: Specifies a character string with a maximum length of 35 characters.
          x-MXComponent: Max35Text
        original_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.

            Based on datatype UUIDv4Identifier: Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 "Universally Unique IDentifier (UUID) URN Namespace".
          x-MXComponent: UUIDv4Identifier
        transaction_status:
          maxLength: 4
          minLength: 1
          type: string
          description: |
            Specifies the status of a transaction, in a coded form.

            CGI-MP_TransactionStatusRule
            Required if reporting on a transaction level.  Not Used if reporting only at a group or payment level.


            ACCP: Accepted technical, syntactical and profile; passed to back office

            ACSP:  Accepted back office; passed to clearing
            ACWC:  Accepted with change

            PDNG:  Pending further processing

            RJCT:  Rejection

            Specifies the status of an individual payment instructions, as published in an external payment transaction status code set.
            External code sets can be downloaded from www.iso20022.org.
          x-MXComponent: ExternalPaymentTransactionStatus1Code
        transaction_url_address:
          x-MXComponent: Max256Text
          description: |
            Address for the Universal Resource Locator (URL), for example used over the www (HTTP) service.

            Specifies a character string with a maximum length of 256 characters.
          type: string
          minLength: 1
          maxLength: 256
  
    JVINPaymentEvent:
      type: object
      description: Notification from a Bank to the Customer that initiated the payment. The Notification informs the Customer of a change in status for the payment and provides the API request that may be used to retrieve the payment details.
      properties:
        data:
          $ref: "#/components/schemas/JVINPaymentEventDetails1"
      additionalProperties: false
    NotificationRequest:
      allOf:
        - $ref: "#/components/schemas/CloudEventsEnvelope"
        - $ref: "#/components/schemas/JVINPaymentEvent"  
  responses:
    "401-Unauthorized":
      description: |-
        Covers the following scenarios:
        * SwAP502 - Invalid Signing Certificate. The certificate cannot be used for doing the API transaction.
        * SwAP502 - Invalid OAuth access token.
        * SwAP508 - OAuth access token not provided.
        * SwAP509 - Customer number not defined.
      headers:
        Swift-Request-ID:
          $ref: "#/components/headers/Swift-Request-ID"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ErrorMessage"
          examples:
            "401-SwAP502-cert":
              $ref: "#/components/examples/401-SwAP502-cert"
            "401-SwAP502-token":
              $ref: "#/components/examples/401-SwAP502-token"
            "401-SwAP508":
              $ref: "#/components/examples/401-SwAP508"
            "401-SwAP509":
              $ref: "#/components/examples/401-SwAP509"
    "403-Forbidden":
      description: "Covers the following scenarios:\n- SwAP503 - OAuth access token has insufficient scope for the requested service. "
      headers:
        Swift-Request-ID:
          $ref: "#/components/headers/Swift-Request-ID"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ErrorMessage"
          examples:
            "403-SwAP503":
              $ref: "#/components/examples/403-SwAP503"
    "404-NotFound":
      description: |-
        Covers the following scenarios:
        - SwAP506 - Resource does not exist.
      headers:
        Swift-Request-ID:
          $ref: "#/components/headers/Swift-Request-ID"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ErrorMessage"
          examples:
            "404-SwAP506":
              $ref: "#/components/examples/404-SwAP506"
    "429-TooManyRequests":
      description: |-
        Covers the following scenarios:
        - SwAP507 - Request cannot be processed at this time. Please try again..
      headers:
        Swift-Request-ID:
          $ref: "#/components/headers/Swift-Request-ID"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ErrorMessage"
          examples:
            "429-SwAP507":
              $ref: "#/components/examples/429-SwAP507"
    "503-ServiceUnavailable":
      description: |-
        Covers the following scenarios:
        - SwAP590 - Service is temporarily unavailable.
      headers:
        Swift-Request-ID:
          $ref: "#/components/headers/Swift-Request-ID"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ErrorMessage"
          examples:
            "503-SwAP590":
              $ref: "#/components/examples/503-SwAP590"
    "504-GatewayTimeout":
      description: |-
        Covers the following scenarios:
        - SwAP591 - Service Provider time out.
      headers:
        Swift-Request-ID:
          $ref: "#/components/headers/Swift-Request-ID"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ErrorMessage"
          examples:
            "504-SwAP591":
              $ref: "#/components/examples/504-SwAP591"
  examples:
    "400-SwAP510":
      summary: "SwAP510: The API method does not support non-repudiation."
      value:
        severity: Fatal
        code: SwAP510
        text: The API method does not support non-repudiation.
    "400-SwAP509":
      summary: "SwAP509: Missing mandatory signature on the non-repudiation API transaction."
      value:
        severity: Fatal
        code: SwAP509
        text: Missing mandatory signature on the non-repudiation API transaction.
    "400-SwAP504-txt":
      summary: "SwAP504: Text is custom to the schema error"
      value:
        severity: Fatal
        code: SwAP504
        text: Text is custom to the schema error
    "400-SwAP504-bic":
      summary: "SwAP504: Invalid Bic."
      value:
        severity: Fatal
        code: SwAP504
        text: Invalid Bic.
    "400-SwAP504-svc":
      summary: "SwAP504: Invalid Service."
      value:
        severity: Fatal
        code: SwAP504
        text: Invalid Service.
    "400-SwAP522":
      summary: "SwAP522: The request cannot processed. The x-bic value provided is not valid."
      value:
        severity: Fatal
        code: SwAP522
        text: The request cannot processed. The x-bic value provided is not valid.
    "400-SwAP504":
      summary: "SwAP504: JSON request body does not conform to policy."
      value:
        severity: Fatal
        code: SwAP504
        text: JSON request body does not conform to policy.
    "400-SwAP505":
      summary: "SwAP505: XML request body does not conform to policy."
      value:
        severity: Fatal
        code: SwAP505
        text: XML request body does not conform to policy.
    "400-SwAP501":
      summary: "SwAP501: API request is malformed."
      value:
        severity: Fatal
        code: SwAP501
        text: API request is malformed.
    "401-SwAP502-cert":
      summary: "SwAP502: Invalid Signing Certificate. The certificate cannot be used for doing the API transaction."
      value:
        severity: Fatal
        code: SwAP502
        text: Invalid Signing Certificate. The certificate cannot be used for doing the API transaction.
    "401-SwAP502-token":
      summary: "SwAP502: Invalid OAuth access token."
      value:
        severity: Fatal
        code: SwAP502
        text: Invalid OAuth access token.
    "401-SwAP508":
      summary: "SwAP508: OAuth access token not provided."
      value:
        severity: Fatal
        code: SwAP508
        text: OAuth access token not provided.
    "401-SwAP509":
      summary: "SwAP509: Customer number not defined."
      value:
        severity: Fatal
        code: SwAP509
        text: Customer number not defined.
    "403-SwAP503":
      summary: "SwAP503: OAuth access token has insufficient scope for the requested service. "
      value:
        severity: Fatal
        code: SwAP503
        text: OAuth access token has insufficient scope for the requested service.
    "404-SwAP506":
      summary: "SwAP506: Resource does not exist."
      value:
        severity: Fatal
        code: SwAP506
        text: Resource does not exist.
    "429-SwAP507":
      summary: "SwAP507: Request cannot be processed at this time. Please try again.."
      value:
        severity: Transient
        code: SwAP507
        text: Request cannot be processed at this time. Please try again..
    "503-SwAP590":
      summary: "SwAP590: Service is temporarily unavailable."
      value:
        severity: Transient
        code: SwAP590
        text: Service is temporarily unavailable.
    "504-SwAP591":
      summary: "SwAP591: Service Provider time out."
      value:
        severity: Transient
        code: SwAP591
        text: Service Provider time out.
  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:
        XRequestIdResponseHeader:
          value: ce480d68-2612-4aef-867a-e91566a1e012
      description: |-
        A Universally Unique Identifier (UUID) generated by the API Gateway for tracking and support purposes.
        This Swift-Request-ID response header must always be returned to the API consumer, even when the response is an error message
  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.

        Please visit [SWIFT OAuth Token API](https://developer.swift.com/swift-oauth-token-api) for more information and examples.
      flows:
        clientCredentials:
          tokenUrl: /v1/oauth2/token
          scopes: {}

x-notifications:
  /payment-initiation:
    post:
      events:
        - type: payment-initiation.status
          schema:
            $ref: "#/components/schemas/NotificationRequest"