{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/assembly-payments/main/json-schema/assembly-payments-amend-agreement-details-request-schema.json",
  "title": "AmendAgreementDetailsRequest",
  "description": "Request to amend the details of an agreement.\n\n **Property descriptions**: \n - **priority** - Priority of the agreement amendment authorisation notification to be sent to the user for approval. Supported values:\n    - **Attended** - If the marketplace wants the debtor user to be notified about the agreement amendment authorisation action immediately, the priority should be set as Attended.\n    - **Unattended** - If the marketplace wants the debtor user to be notified about the agreement amendment authorisation at an appropriate time (not immediately), the priority should be set as Unattended.\n- **response_requested_by** - This field can be used to specify a custom expiry duration for the authorisation request pending debtor’s approval. Any duration which is less than the default & max duration of 5 days will be accepted. Example - If you want the debtor to approve the changes proposed on the agreement within 15 mins post creation, mention the duration in this field accordingly. However, post the duration (after 15 mins), you would need to invoke the Recall API to expire this authorisation request.\n\n- **unilateral_amendments** - Specifies fields for which amendments are effective immediately and do not require debtor authorisation.\n- **bilateral_amendments** - Specifies fields for which amendments are effective only post debtor authorisation.",
  "x-generated": "2026-10-22",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/assembly-payments-payto-api-openapi.yml#/components/schemas/AmendAgreementDetailsRequest",
  "required": [
    "priority"
  ],
  "type": "object",
  "properties": {
    "priority": {
      "title": "Priority",
      "type": "string",
      "description": "<p>Identifies the arrangement (attended or unattended).</p> \n\nPriority of the agreement amendment authorisation notification to be sent to the user for approval.<table><tr><td>Code</td><td>Description</td></tr><tr><td>ATTENDED</td><td>If the marketplace wants the debtor user to be notified about the agreement amendment authorisation action immediately, the priority should be set as Attended.</td></tr><tr><td>UNATTENDED</td><td>If the marketplace wants the debtor user to be notified about the agreement amendment authorisation at an appropriate time (not immediately), the priority should be set as Unattended.</td></tr></table>",
      "enum": [
        "ATTENDED",
        "UNATTENDED"
      ]
    },
    "response_requested_by": {
      "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]{1,3})?(?:Z)$",
      "type": "string",
      "description": "A date expressed in the YYYY-MM-DD'T'HH:mm:ss[.SSS][.SS][.S]'Z' format and in Australia timezone.\n\nThis field can be used to specify a custom expiry duration for the authorisation request pending debtor’s approval. Any duration which is less than the default & max duration of 5 days will be accepted. Example - If you want the debtor to approve the changes proposed on the agreement within 15 mins post creation, mention the duration in this field accordingly. However, post the duration (after 15 mins), you would need to invoke the Recall API to expire this authorisation request.",
      "format": "yyyy-MM-dd'T'HH:mm:ss[.SSS][.SS][.S]'Z'"
    },
    "unilateral_amendments": {
      "$ref": "#/$defs/UnilateralAmendments"
    },
    "bilateral_amendments": {
      "$ref": "#/$defs/BilateralAmendments"
    }
  },
  "$defs": {
    "AmendCreditorInformation": {
      "type": "object",
      "properties": {
        "ultimate_creditor_name": {
          "maxLength": 140,
          "minLength": 1,
          "type": "string",
          "description": "Specifies a character string with a maximum length of 140 ASCII printable characters.\n\nThis field can indicate trading the name or common name of the marketplace/platform which is receives the funds via Zai OR could be the actual seller user's name to which the funds will be transferred eventually."
        },
        "creditor_reference": {
          "maxLength": 35,
          "minLength": 1,
          "type": "string",
          "description": "Specifies a character string with a maximum length of 35 ASCII printable characters.\n\nReference relevant to the Creditor. Example - Invoice number."
        }
      },
      "description": "Information concerning the creditor party identified in the agreement. \n  \n**Property descriptions**: \n - **ultimate_creditor_name** - This field can indicate trading the name or common name of the marketplace/platform which is receives the funds via Zai OR could be the actual seller user's name to which the funds will be transferred eventually.\n - **creditor_reference** - Reference relevant to the Creditor. Example - Invoice number."
    },
    "AmendFirstPaymentInformation": {
      "type": "object",
      "properties": {
        "amount": {
          "maxLength": 19,
          "minLength": 1,
          "pattern": "^(?=.{1,19}$)[1-9]{1}[0-9]{0,18}$",
          "type": "string",
          "description": "Specifies an amount in cents.\n\n\n   - For FIXE type of agreements, as the amount to be debited is fixed, this indicates the amount to be debited per payment.\n   - For BALN type of agreements, as the amount to be debited is fixed for all payments (except the last/final payment which can be for a larger amount), this field indicates the amount to be debited for all payments except the final/last.\n   - For USGB/VARI type of agreements, this indicates the minimum amount that can be debited from the account per payment."
        },
        "currency": {
          "pattern": "^[A-Z]{3,3}$",
          "type": "string",
          "description": "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\".\n\nCurrency of the payment to debit the account.",
          "enum": [
            "{AUD}"
          ]
        },
        "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)$",
          "type": "string",
          "description": "A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format.\n\nIf the payment arrangement being established specifies the first date (until 23:59:59.999 Australia Sydney time, expressed in the YYYY-MM-DD format) on which payment is expected to be initiated, that date should be specified in this field. Setting this property to \"-\" indicates that the date is to be cleared on the agreement.",
          "format": "yyyy-MM-dd"
        }
      },
      "description": "If the payment arrangement is such that the initial payment amount differs from the expected \"regular\" or \"recurring\" payment, then the first payment info can be specified in this field. Examples: Establishment fees are part of the first payment only. \n \n **Property descriptions**: \n \n - **amount**\n   - For FIXE type of agreements, as the amount to be debited is fixed, this indicates the amount to be debited per payment.\n   - For BALN type of agreements, as the amount to be debited is fixed for all payments (except the last/final payment which can be for a larger amount), this field indicates the amount to be debited for all payments except the final/last.\n   - For USGB/VARI type of agreements, this indicates the minimum amount that can be debited from the account per payment.\n - **currency** - Currency of the payment to debit the account.\n - **date** - If the payment arrangement being established specifies the first date (until 23:59:59.999 Australia Sydney time, expressed in the YYYY-MM-DD format) on which payment is expected to be initiated, that date should be specified in this field. Setting this property to \"-\" indicates that the date is to be cleared on the agreement."
    },
    "AmendLastPaymentInformation": {
      "type": "object",
      "properties": {
        "amount": {
          "maxLength": 19,
          "minLength": 1,
          "pattern": "^(?=.{1,19}$)[1-9]{1}[0-9]{0,18}$",
          "type": "string",
          "description": "Specifies an amount in cents.\n\n\n   - For FIXE type of agreements, as the amount to be debited is fixed, this indicates the amount to be debited per payment.\n   - For BALN type of agreements, as the amount to be debited is fixed for all payments (except the last/final payment which can be for a larger amount), this field indicates the amount to be debited for all payments except the final/last.\n   - For USGB/VARI type of agreements, this indicates the minimum amount that can be debited from the account per payment."
        },
        "currency": {
          "pattern": "^[A-Z]{3,3}$",
          "type": "string",
          "description": "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\".\n\nCurrency of the payment to debit the account.",
          "enum": [
            "{AUD}"
          ]
        },
        "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)$",
          "type": "string",
          "description": "A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format.\n\nIf the payment arrangement being established specifies the date (until 23:59:59.999 Australia Sydney time, expressed in the YYYY-MM-DD format) on which payment is expected to be initiated, that date should be specified in this field. Setting this property to \"-\" indicates that the date is to be cleared on the agreement.",
          "format": "yyyy-MM-dd"
        }
      },
      "description": "If the payment arrangement is such that there is a known final payment amount that differs from the expected \"regular\" or \"recurring\" payment, then the last payment info can be specified in this field. \n\n **Property descriptions**: \n \n - **amount**\n   - For FIXE type of agreements, as the amount to be debited is fixed, this indicates the amount to be debited per payment.\n   - For BALN type of agreements, as the amount to be debited is fixed for all payments (except the last/final payment which can be for a larger amount), this field indicates the amount to be debited for all payments except the final/last.\n   - For USGB/VARI type of agreements, this indicates the minimum amount that can be debited from the account per payment.\n - **currency** - Currency of the payment to debit the account.\n - **date** - If the payment arrangement being established specifies the date (until 23:59:59.999 Australia Sydney time, expressed in the YYYY-MM-DD format) on which payment is expected to be initiated, that date should be specified in this field. Setting this property to \"-\" indicates that the date is to be cleared on the agreement."
    },
    "AmendMaximumAmountInformation": {
      "type": "object",
      "properties": {
        "amount": {
          "maxLength": 19,
          "minLength": 1,
          "pattern": "^(?=.{1,19}$)[1-9]{1}[0-9]{0,18}$",
          "type": "string",
          "description": "Specifies an amount in cents.\n\n\n   - For FIXE type of agreements, as the amount to be debited is fixed, this indicates the amount to be debited per payment.\n   - For BALN type of agreements, as the amount to be debited is fixed for all payments (except the last/final payment which can be for a larger amount), this field indicates the amount to be debited for all payments except the final/last.\n   - For USGB/VARI type of agreements, this indicates the minimum amount that can be debited from the account per payment."
        },
        "currency": {
          "pattern": "^[A-Z]{3,3}$",
          "type": "string",
          "description": "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\".\n\nCurrency of the payment to debit the account.",
          "enum": [
            "{AUD}"
          ]
        }
      },
      "description": "Represents the maximum amount that may be debited in any single payment initiation. \n\n **Property descriptions**: \n \n - **amount**\n   - For FIXE type of agreements, as the amount to be debited is fixed, this indicates the amount to be debited per payment.\n   - For BALN type of agreements, as the amount to be debited is fixed for all payments (except the last/final payment which can be for a larger amount), this field indicates the amount to be debited for all payments except the final/last.\n   - For USGB/VARI type of agreements, this indicates the minimum amount that can be debited from the account per payment.\n - **currency** - Currency of the payment to debit the account."
    },
    "AmendPaymentAmountInformation": {
      "type": "object",
      "properties": {
        "amount": {
          "maxLength": 19,
          "minLength": 1,
          "pattern": "^(?=.{1,19}$)[1-9]{1}[0-9]{0,18}$",
          "type": "string",
          "description": "Specifies an amount in cents.\n\n\n   - For FIXE type of agreements, as the amount to be debited is fixed, this indicates the amount to be debited per payment.\n   - For BALN type of agreements, as the amount to be debited is fixed for all payments (except the last/final payment which can be for a larger amount), this field indicates the amount to be debited for all payments except the final/last.\n   - For USGB/VARI type of agreements, this indicates the minimum amount that can be debited from the account per payment."
        },
        "currency": {
          "pattern": "^[A-Z]{3,3}$",
          "type": "string",
          "description": "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\".\n\nCurrency of the payment to debit the account.",
          "enum": [
            "{AUD}"
          ]
        },
        "type": {
          "title": "PaymentAmountType",
          "type": "string",
          "description": "<p>Specific type of payment amount.</p><p>Depending on the use-case for which the payment arrangement is being made, an appropriate amount type should be selected for the agreement as this defines the payments that can be initiated via the agreement.</p> <table><tr><td>Code</td><td>Name</td><td>Description</td></tr><tr><td>FIXE</td><td>Fixed</td><td>Payments should be initiated for fixed amounts i.e. amount specified in the payment instruction must match the “amount” stated in the agreement.</td></tr><tr><td>BALN</td><td>Balloon</td><td>Payments should be initiated for fixed amounts with large final payment amount i.e. for all the payments except the last, amount specified in the payment instruction must match the “amount” stated in the agreement. The last payment can be different and as per terms mentioned in the last payment amount fields (if specified).<br><i>Note - This type is currently not supported.</i></td></tr><tr><td>USGB</td><td>UsageBased</td><td>If the amount for the payment varies with usage (example - electricity bill), it is recommended to specify a max amount. If a value is specified in the “amount” field, this would be considered as base/min amount to be paid for each payment. Payments should be initiated as per agreement terms i.e. the amount specified in the payment instruction should be within the “amount” (min) and “maximum amount” stated in the agreement.</td></tr><tr><td>VARI</td><td>Variable</td><td>If the amount for the payment varies each time (example - grocery purchase billing), it is recommended to specify a max amount. If a value is specified in the “amount” field, this would be considered as base/min amount to be paid for each payment. Payments should be initiated as per agreement terms i.e. the amount specified in the payment instruction should be within the “amount” (min) and “maximum amount” stated in the agreement.</td></tr></table>",
          "enum": [
            "BALN",
            "FIXE",
            "USGB",
            "VARI"
          ]
        }
      },
      "description": "Specifies info around the amount type for the agreement (example: Fixed or Usage based amounts etc), amount that can be debited from the account depending on the type, and the currency in which the payments can be initiated. \n \n **Property descriptions**: \n \n - **amount**\n   - For FIXE type of agreements, as the amount to be debited is fixed, this indicates the amount to be debited per payment.\n   - For BALN type of agreements, as the amount to be debited is fixed for all payments (except the last/final payment which can be for a larger amount), this field indicates the amount to be debited for all payments except the final/last.\n   - For USGB/VARI type of agreements, this indicates the minimum amount that can be debited from the account per payment.\n - **currency** - Currency of the payment to debit the account.\n - **type** - Depending on the use-case for which the payment arrangement is being made, an appropriate amount type should be selected for the agreement as this defines the payments that can be initiated via the agreement.\n   Supported values: \n   - FIXE - Payments should be initiated for fixed amounts i.e. amount specified in the payment instruction must match the “amount” stated in the agreement.\n   - BALN - Payments should be initiated for fixed amounts with large final payment amount i.e. for all the payments except the last, amount specified in the payment instruction must match the “amount” stated in the agreement. The last payment can be different and as per terms mentioned in the last payment amount fields (if specified).<br>*Note - This type is currently not supported.*\n   - USGB - If the amount for the payment varies with usage (example - electricity bill), it is recommended to specify a max amount. If a value is specified in the “amount” field, this would be considered as base/min amount to be paid for each payment. Payments should be initiated as per agreement terms i.e. the amount specified in the payment instruction should be within the “amount” (min) and “maximum amount” stated in the agreement.\n   - VARI - If the amount for the payment varies each time (example - grocery purchase billing), it is recommended to specify a max amount. If a value is specified in the “amount” field, this would be considered as base/min amount to be paid for each payment. Payments should be initiated as per agreement terms i.e. the amount specified in the payment instruction should be within the “amount” (min) and “maximum amount” stated in the agreement."
    },
    "AmendPaymentInitiatorInformation": {
      "type": "object",
      "properties": {
        "initiator_id": {
          "maxLength": 35,
          "minLength": 1,
          "type": "string",
          "description": "Specifies a character string with a maximum length of 35 ASCII printable characters.\n\nUnique and unambiguous identification of the initiator."
        },
        "initiator_id_type_code": {
          "title": "PaymentInitiatorIdTypeCodeEnum",
          "type": "string",
          "description": "<p>Specifies an alphanumeric string with a length of 4 characters.</p>\n\nCode indicating the identification type of the initiator.For example in the case of a private individual; passport, driver licence, or 100 point check, or in the case of an organisation; LEI, ACN, ABN<table><tr><td>Code</td><td>Description</td></tr><tr><td>ARNU</td><td>Alien Registration Number</td></tr><tr><td>CCPT</td><td>Passport Number</td></tr><tr><td>CUST</td><td>Customer Identification Number</td></tr><tr><td>DRLC</td><td>Drivers License Number</td></tr><tr><td>EMPL</td><td>Employee Identification Number</td></tr><tr><td>NIDN</td><td>National Identity Number</td></tr><tr><td>SOSE</td><td>Social Security Number</td></tr><tr><td>TXID</td><td>Tax Identification Number</td></tr><tr><td>BANK</td><td>Bank Party Identification</td></tr><tr><td>CBID</td><td>Central Bank Identification Number</td></tr><tr><td>CHID</td><td>Clearing Identification Number</td></tr><tr><td>CINC</td><td>Certificate Of Incorporation Number</td></tr><tr><td>COID</td><td>Country Identification Code</td></tr><tr><td>DUNS</td><td>Data Universal Numbering System</td></tr><tr><td>GS1G</td><td>GS1GLN Identifier</td></tr><tr><td>SREN</td><td>SIREN</td></tr><tr><td>SRET</td><td>SIRET</td></tr><tr><td>AUBN</td><td>Australian Business Number (ABN)</td></tr><tr><td>AUCN</td><td>Australian Company Number (ACN)</td></tr><tr><td>LEIN</td><td>Legal Entity Identification (LEI)</td></tr></table>",
          "enum": [
            "AUBN",
            "CCPT",
            "CUST",
            "DRLC",
            "EMPL",
            "NIDN",
            "SOSE",
            "TXID",
            "BANK",
            "CBID",
            "CHID",
            "CINC",
            "COID",
            "DUNS",
            "GS1G",
            "SREN",
            "SRET",
            "AUBN",
            "AUCN",
            "LEIN"
          ]
        },
        "initiator_legal_name": {
          "maxLength": 140,
          "minLength": 1,
          "type": "string",
          "description": "Specifies a character string with a maximum length of 140 ASCII printable characters.\n\nName by which the initiator is legally known."
        },
        "initiator_name": {
          "maxLength": 140,
          "minLength": 1,
          "type": "string",
          "description": "Specifies a character string with a maximum length of 140 ASCII printable characters.\n\nName by which the initiator is known and which is usually used to identify them."
        }
      },
      "description": "Initiating party details. \n  \n**Property descriptions**: \n - **initiator_id** - Unique and unambiguous identification of the initiator.\n - **initiator_id_type_code** - Code indicating the identification type of the initiator.For example in the case of a private individual; passport, driver licence, or 100 point check, or in the case of an organisation; LEI, ACN, ABN\n - **initiator_legal_name** - Name by which the initiator is legally known.\n - **initiator_name** - Name by which the initiator is known and which is usually used to identify them."
    },
    "AmendPaymentTermsDetails": {
      "type": "object",
      "properties": {
        "payment_amount_info": {
          "$ref": "#/$defs/AmendPaymentAmountInformation"
        },
        "first_payment_info": {
          "$ref": "#/$defs/AmendFirstPaymentInformation"
        },
        "last_payment_info": {
          "$ref": "#/$defs/AmendLastPaymentInformation"
        },
        "maximum_amount_info": {
          "$ref": "#/$defs/AmendMaximumAmountInformation"
        },
        "payment_executed_not_before_time": {
          "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.[0-9]{1,3})?Z$",
          "type": "string",
          "description": "Specifies a time in the format HH:mm:ssZ.\n\nSpecifies the Australia Sydney time after which payments may be initiated on the execution day (according to the frequency and other payment terms). Example - Payroll scenario, where the employer requests to not initiate payrolls until a particular time to ensure funds are available for the payment to occur. Setting this property to \"-\" indicates that the time is to be cleared on the agreement. \n\n*Note - This parameter is currently not supported.*"
        },
        "point_in_time": {
          "pattern": "^[0-9]\\d?$",
          "type": "string",
          "description": "Specifies a number in string format up to two digit.\n\nQualifies the frequency in terms of an exact point in time or moment within the specified period. The granularity of point in time is a subdivision of frequency. Setting this property to \"-\" indicates that the point in time is to be cleared on the agreement.\n\nNote - Specifying a point_in_time for payments is applicable only for \"Monthly\" frequency.<table><tr><td>Frequency</td><td>Description</td></tr><tr><td>Adhoc</td><td>Point in time is not applicable</td></tr><tr><td>IntraDay</td><td>Point In Time = hour within day (1-24))</td></tr><tr><td>Daily</td><td>Point In Time = hour within day (1-24)</td></tr><tr><td>Weekly</td><td>Point In Time = day of week (1-7)</td></tr><tr><td>Fortnightly</td><td>Point In Time = day within fortnight (1-14)</td></tr><tr><td>Monthly</td><td>Point In Time = day of month (1-28)</td></tr><tr><td>Quarterly</td><td>Point In Time = day of month within the quarter of year (1-4)</td></tr><tr><td>HalfYearly</td><td>Point In Time = day of month within the half of the year (1-6)</td></tr><tr><td>Yearly</td><td>Point In Time = month within the year (1-12)</td></tr></table>"
        },
        "count_per_period": {
          "pattern": "^(?=.{1,19}$)[1-9]{1}[0-9]{0,18}$",
          "type": "string",
          "description": "Specifies a valid non decimal numeric value.\n\nDefines the number of authorised expected payments that are to be initiated according to the frequency. Example - With Frequency = Adhoc, Count Per Period can be used to specify a total number of allowed initiations. Setting this property to \"-\" indicates that the count per period is to be cleared on the agreement.\n\n"
        },
        "frequency": {
          "title": "PaymentFrequency",
          "type": "string",
          "description": "<p>Represents the typical expected frequency with which payments will be initiated against the debtor for this arrangement.</p>\n\n *Note - Intraday, Quarterly, Half Yearly and Yearly payment frequencies are currently not supported.*\n<table><tr><td>Code</td><td>Name</td><td>Description</td></tr><tr><td>ADHOC</td><td>Adhoc</td><td>Event takes place on request or as necessary.</td></tr><tr><td>INTRDY</td><td>IntraDay</td><td>Event takes place several times a day.</td></tr><tr><td>DAILY</td><td>Daily</td><td>Event takes place every day.</td></tr><tr><td>WEEKLY</td><td>Weekly</td><td>Event takes place once a week.</td></tr><tr><td>FRTNLY</td><td>Fortnightly</td><td>Event takes place every two weeks.</td></tr><tr><td>MNTHLY</td><td>Monthly</td><td>Event takes place every month or once a month.</td></tr><tr><td>QURTLY</td><td>Quarterly</td><td>Event takes place every three months or four times a year.</td></tr><tr><td>HFYRLY</td><td>HalfYearly</td><td>Event takes place every six months or two times a year.</td></tr><tr><td>YEARLY</td><td>Yearly</td><td>Event takes place every year or once a year.</td></tr></table>",
          "enum": [
            "ADHOC",
            "INTRDY",
            "DAILY",
            "WEEKLY",
            "FRTNLY",
            "MNTHLY",
            "QURTLY",
            "HFYRLY",
            "YEARLY"
          ]
        }
      },
      "description": "Specifies payment terms for the agreement i.e. amount that can be debited per payment, min/max amounts, first and last payment terms etc.\nAll the payments initiated should be as per agreement terms.\n\nIt is very important to ensure the payments initiated **DO NOT BREACH** the agreement terms and conditions - this could lead to:\nAgreement claims by debtor/payer for an amount greater than the actual payment amount\n\n **Property descriptions**: \n \n - **payment_amount_info** - Specifies info around the amount type for the agreement (example: Fixed or Usage based amounts etc), amount that can be debited from the account depending on the type, and the currency in which the payments can be initiated.\n - **first_payment_info** - If the payment arrangement is such that the initial payment amount differs from the expected \"regular\" or \"recurring\" payment, then the first payment info can be specified in this field. Examples: Establishment fees are part of the first payment only.\n - **last_payment_info** - If the payment arrangement is such that there is a known final payment amount that differs from the expected \"regular\" or \"recurring\" payment, then the last payment info can be specified in this field.\n - **maximum_amount** - Represents the maximum amount that may be debited in any single payment initiation.\n - **payment_executed_not_before_time** - Specifies the Australia Sydney time after which payments may be initiated on the execution day (according to the frequency and other payment terms).\n Example - Payroll scenario, where the employer requests to not initiate payrolls until a particular time to ensure funds are available for the payment to occur.\n Setting this property to \"-\" indicates that the time is to be cleared on the agreement.<br><br> *Note - This parameter is currently not supported.*\n - **point_in_time** - Qualifies the frequency in terms of an exact point in time or moment within the specified period. The granularity of point in time is a subdivision of frequency.<br><br>Note - Specifying a point_in_time for payments is applicable only for \"Monthly\" frequency. Setting this property to \"-\" indicates that the point in time is to be cleared on the agreement.\n   - Frequency = Adhoc -> point in time is not applicable\n   - Frequency = IntraDay -> Point In Time = hour within day (1-24)\n   - Frequency = Daily -> Point In Time = hour within day (1-24))\n   - Frequency = Weekly -> Point In Time = day of week (1-7)\n   - Frequency = Fortnightly -> Point In Time = day within fortnight (1-14)\n   - Frequency = Monthly -> Point In Time = day of month (1-28)\n   - Frequency = Quarterly -> Point In Time = which month within the quarter of year (1-4)\n   - Frequency = HalfYearly -> Point In Time = which month within the half of the year (1-6)\n   - Frequency = Yearly -> Point In Time = month within the year (1-12)\n - **count_per_period** - Defines the number of authorised expected payments that are to be initiated according to the frequency. \n Example - With Frequency = Adhoc, Count Per Period can be used to specify a total number of allowed initiations.\n Setting this property to \"-\" indicates that the count per period is to be cleared on the agreement.\n - **frequency** - Represents the typical expected frequency with which payments will be initiated against the debtor for this arrangement. \n <br><br>*Note - Intraday, Quarterly, Half Yearly and Yearly payment frequencies are currently not supported.*\n\n   Must be one of following: \n \n   - Adhoc (Event takes place on request or as necessary)\n   - Intraday (Event takes place several times a day)\n   - Daily (Event takes place every day)\n   - Weekly (Event takes place once a week)\n   - Fortnightly (Event takes place every two weeks)\n   - Half Yearly (Event takes place every six months or two times a year)\n   - Monthly (Event takes place every month)\n   - Quarterly (Event takes place every three months)\n   - Yearly (Event takes place every year or once a year)\n\n **The following rules apply to this structure:** \n \n - **AgreementFirstPaymentRule1:** Date provided in first_payment_info should be between validity_start_date and validity_end_date OR can be same as validity_start_date and validity_end_date.\n - **AgreementLastPaymentRule2:** Date provided in last_payment_info should be between validity_start_date and validity_end_date OR can be same as validity_start_date and validity_end_date.\n - **LastAndFirstPaymentDate:** Date provided in last_payment_info should be same OR after the date provided in first_payment_info.\n - **CurrencyAUD:** All currencies must be in AUD only.\n - **AmountRule:** All amounts should be less than or equal to Maximum amount.\n - **PaymentAmountTypeRule:** If payment_amount_type code is equal to value 'FIXE' then amount must be present.\n - **FrequencyCombinationRule:** The frequency, point_in_time and count_per_period combination must be valid.\n Refer frequency rules table below for valid combinations.\n - **PaymentAmountTypeCombinationRule:** The payment_amount_type, amount and maximum_amount combination must be valid.\n Refer payment amount type rules table below for valid combination. \n\n **Rules for frequency:** \n\n Valid values for frequency, point_in_time and count_per_period are given below.\n <table><tr><td><b>frequency</b></td><td><b>point_in_time</b></td><td><b>count_per_period</b></td></tr><tr><td>ADHOC</td><td>N/A</td><td>Valid non decimal numeric value, greater than zero</td></tr><tr><td>INTRDY</td><td>01 to 24</td><td>Not present</td></tr><tr><td>INTRDY</td><td>Not present</td><td>Valid non decimal numeric value, greater than zero</td></tr><tr><td>DAILY</td><td>01 to 24</td><td>Not present</td></tr><tr><td>DAILY</td><td>Not present</td><td>Valid non decimal numeric value, greater than zero</td></tr><tr><td>DAILY</td><td>N/A</td><td>Valid non decimal numeric value, greater than zero</td></tr><tr><td>WEEKLY</td><td>01 to 07</td><td>Not present</td></tr><tr><td>WEEKLY</td><td>Not present</td><td>Valid non decimal numeric value, greater than zero</td></tr><tr><td>WEEKLY</td><td>N/A</td><td>Valid non decimal numeric value, greater than zero</td></tr><tr><td>FRTNLY</td><td>01 to 14</td><td>Not present</td></tr><tr><td>FRTNLY</td><td>Not present</td><td>Valid non decimal numeric value, greater than zero</td></tr><tr><td>FRTNLY</td><td>N/A</td><td>Valid non decimal numeric value, greater than zero</td></tr><tr><td>MNTHLY</td><td>01 to 28</td><td>Not present</td></tr><tr><td>MNTHLY</td><td>Not present</td><td>Valid non decimal numeric value, greater than zero</td></tr><tr><td>QURTLY</td><td>01 to 03</td><td>Not present</td></tr><tr><td>QURTLY</td><td>Not present</td><td>Valid non decimal numeric value, greater than zero</td></tr><tr><td>HFYRLY</td><td>01 to 06</td><td>Not present</td></tr><tr><td>HFYRLY</td><td>Not present</td><td>Valid non decimal numeric value, greater than zero</td></tr><tr><td>YEARLY</td><td>01 to 12</td><td>Not present</td></tr><tr><td>YEARLY</td><td>Not present</td><td>Valid non decimal numeric value, greater than zero</td></tr></table>\n \n **Payment amount types rules:** \n <table><tr><td><b>Payment_amount_type</b></td><td><b>amount</b></td><td><b>max_ Amount</b></td><td><b>Remarks</b></td></tr><tr><td>BALN</td><td>Valid numeric value</td><td>NA</td><td>If Balloon, only amount should have values. Max amount should not be present</td></tr><tr><td>FIXE</td><td>Valid numeric value</td><td>NA</td><td>If Fixed, only amount should have values. Max amount should not be present</td></tr><tr><td>USGB</td><td>Valid numeric value</td><td>Valid numeric value</td><td>If Usage based, max amount is recommended.However, amount and max amount are optional and if present, amount should be less than max amount</td></tr><tr><td>VARI</td><td>Valid numeric value</td><td>Valid numeric value</td><td>If Variable, max amount is recommended.However, amount and max amount are optional and if present, amount should be less than max amount</td></tr></table>"
    },
    "BilateralAmendments": {
      "type": "object",
      "properties": {
        "automatic_renewal": {
          "type": "boolean",
          "description": "Indicates a \"Yes\" or \"No\" type of automatic renewal.\n\nAutomatic renewal of an agreement at the end of the defined period. An example of an automatically renewing agreement might be a gym membership that automatically rolls over, or a phone contract. If this property is omitted then the automatic renewal will not be modified as part of the amendment."
        },
        "validity_end_date": {
          "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$",
          "type": "string",
          "description": "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\nValidity end date of the agreement. If specified, the agreement is valid until 23:59:59.999 Australia Sydney time on this date. If this property is omitted then the validity end date will not be modified as part of the amendment. Set this property to \"-\" to indicate that the validity end date is to be cleared on the agreement. Note - Clearing validity end date requires to provide the auto-renewal property (automatic_renewal=true)",
          "format": "yyyy-MM-dd"
        },
        "transfer_arrangement": {
          "maxLength": 140,
          "minLength": 1,
          "type": "string",
          "description": "Specifies a character string with a maximum length of 140 characters.\n\nAdditional details about the agreement terms with consideration to the transfer of items/goods/services. Examples might include payment of shares, transfer of property, or fulfilment of a purchase order. If this property is omitted then the transfer arrangement will not be modified as part of the amendment. Set this property to \"-\" to indicate that the transfer arrangement is to be cleared on the agreement."
        },
        "payment_terms": {
          "$ref": "#/$defs/AmendPaymentTermsDetails"
        }
      },
      "description": "Specific characteristics about the bilateral fields.\n\nSpecifies fields for which amendments are effective only post debtor authorisation.\n\n **Property descriptions**: \n \n - **automatic_renewal** - Automatic renewal of an agreement at the end of the defined period. An example of an automatically renewing agreement might be a gym membership that automatically rolls over, or a phone contract. If this property is omitted then the automatic renewal will not be modified as part of the amendment.\n- **validity_end_date** - Validity end date of the agreement. If specified, the agreement is valid until 23:59:59.999 Australia Sydney time on this date. If this property is omitted then the validity end date will not be modified as part of the amendment. Set this property to \"-\" to indicate that the validity end date is to be cleared on the agreement. Note - Clearing validity end date requires to provide the auto-renewal property (automatic_renewal=true)\n- **transfer_arrangement** - Additional details about the agreement terms with consideration to the transfer of items/goods/services. Examples might include payment of shares, transfer of property, or fulfilment of a purchase order. If this property is omitted then the transfer arrangement will not be modified as part of the amendment. Set this property to \"-\" to indicate that the transfer arrangement is to be cleared on the agreement.\n- **payment_terms** - Set of characteristics detailing agreement payment information. Payment terms like payment_amount_info, first_payment_info, last_payment_info, maximum_amount_info and point_in_time can be amended at any point; however, frequency and count_per_period can be amended only if no payments have been requested for the agreement yet. If this property is omitted then the payment information will not be modified as part of the amendment.\n\n The following rules apply to this structure: \n- **ValidityEndDateRule:** validity_end_date should be greater than OR same as validity_start_date. \n\n - **AutomaticExtensionRule:** validity_end_date should not be provided if agreement should be auto-renewed."
    },
    "UnilateralAmendments": {
      "type": "object",
      "properties": {
        "description": {
          "maxLength": 140,
          "minLength": 1,
          "type": "string",
          "description": "Specifies a character string with a maximum length of 140 characters.\n\nDescribes what the agreement is being established for. Examples include a product, particular service offering, etc. If the description is less than 35 characters, then the Short Description should be used instead of the Description field. If this property is omitted then the description will not be modified as part of the amendment. Set this property to \"-\" to indicate that the description is to be cleared on the agreement."
        },
        "short_description": {
          "maxLength": 35,
          "minLength": 1,
          "type": "string",
          "description": "Specifies a character string with a maximum length of 35 characters.\n\nDescribes what the agreement is being established for. Examples include a product, particular service offering, etc. If the description is less than 35 characters, then the Short Description should be used instead of the Description field. If this property is omitted then the short description will not be modified as part of the amendment. Set this property to \"-\" to indicate that the short description is to be cleared on the agreement."
        },
        "creditor_info": {
          "$ref": "#/$defs/AmendCreditorInformation"
        },
        "payment_initiator_info": {
          "$ref": "#/$defs/AmendPaymentInitiatorInformation"
        }
      },
      "description": "Specific characteristics about the unilateral fields.\nSpecifies fields for which amendments are effective immediately and do not require debtor authorisation.\n\n **Property descriptions**: \n \n - **description** - Describes what the agreement is being established for. Examples include a product, particular service offering, etc. \n If the description is less than 35 characters, then the Short Description should be used instead of the Description field. If this property is omitted then the description will not be modified as part of the amendment. Set this property to \"-\" to indicate that the description is to be cleared on the agreement. \n - **short_description** - Describes what the agreement is being established for. Examples include a product, particular service offering, etc. If the description is less than 35 characters, then the Short Description should be used instead of the Description field. If this property is omitted then the short description will not be modified as part of the amendment. Set this property to \"-\" to indicate that the short description is to be cleared on the agreement.\n- **creditor_info** - Creditor Details. If this property is omitted then the creditor information will not be modified as part of the amendment.\n- **payment_initiator_info** - Initiating party details. If this property is omitted then the payment initiator information will not be modified as part of the amendment."
    }
  }
}