Event Name
createAccount.accountCreated
Domain
holdings
Description

Indicates creation of a new account.

Properties
{
    "productName": {
        "type": "string",
        "description": "Product name of the bank for this account, proprietary definition."
    },
    "productLine": {
        "type": "string",
        "description": "The top level product line, which the product is ultimately attached to. May be a Temenos-defined product line such as ACCOUNTS, AGENT, BUNDLE, CONSENT, DEPOSITS, LENDING, REWARDS, etc. or one defined by the institution to manage external products."
    },
    "productGroup": {
        "type": "string",
        "description": "Indicates a group under which the products exists"
    },
    "originalContractDate": {
        "type": "string",
        "description": "Indicates the original contract date of the arrangement which was migrated from the legacy system."
    },
    "tenor": {
        "type": "string",
        "description": "Contains the term of the deposits or loans contract. Tenor denotes the period on which contract will be matured and does not rollover. For example, values can be in the format 1D, 6M, 1Y, etc"
    },
    "maturityDate": {
        "type": "string",
        "description": "Indicates maturity date of the contract"
    },
    "contractAmount": {
        "type": "string",
        "description": "Indicates the amount of the transaction in contract currency"
    },
    "baseDetails": {
        "type": "object",
        "description": "Indicates the identifier for base details in which system reference, base contract reference, event name, effective date and other related details are defined",
        "id": "urn:jsonschema:BaseDetails",
        "properties": {
            "contractReference": {
                "type": "string",
                "description": "Contains the contract reference"
            },
            "systemReference": {
                "type": "string",
                "description": "Contains the identifier for the system in which the event originated from. For ex, Hogan or TransactAccounts etc"
            },
            "companyReference": {
                "type": "string",
                "description": "Contains the identifier of the underlying Entity or Company or Branch"
            },
            "eventName": {
                "type": "string",
                "description": "The name that is displayed for the event"
            },
            "baseEventIdentifier": {
                "type": "string",
                "description": "Indicates the name of the event that is happening in the core system"
            },
            "effectiveDate": {
                "type": "string",
                "description": "Contains the identifier for the transaction date. Dates are expected in YYYYMMDD format"
            },
            "bookingDate": {
                "type": "string",
                "description": "Indicates the date on which this business activity is booked in the underlying system. The effective date and booking date could be different if systems allow forward/back dated business transactions. Dates are expected in YYYYMMDD format. If booking date is not passed, effective date would be assumed as booking date."
            },
            "contractCurrency": {
                "type": "string",
                "description": "Indicates the currency associated with the contract"
            },
            "channel": {
                "type": "string",
                "description": "Contains the channel in which the activity was performed. If pricing is not determined based on channel, then this is not significant"
            },
            "branch": {
                "type": "string",
                "description": "Contains the branch name/code in which the business activity was performed. If pricing is not determined based on branch, then this is not significant"
            },
            "lineOfBusiness": {
                "type": "string",
                "description": "Contains the line of business in which the activity was performed. If pricing is not determined based on line of business, then this is not significant"
            },
            "activityDateTimeStamp": {
                "type": "string",
                "description": "Contains the date and time of activity triggered."
            },
            "transactionReference": {
                "type": "string",
                "description": "Contains the identifier for the transaction in the core system"
            },
            "reversalIndicator": {
                "type": "boolean",
                "description": "Indicates whether the underlying transaction is reversed so that the details of the same could be removed from Enterprise product pricing system"
            },
            "originationReference": {
                "type": "string",
                "description": "Identifier of the account in source system, eg, a origination system."
            },
            "contractStatus": {
                "type": "string",
                "description": "Contains the status of the contract, e.g. open, matured or liquidated, unauthorised or authorised, closed."
            },
            "accountId": {
                "type": "string",
                "description": "Identifier of the account. Often referred to as the account number, yet for consistency this is always referred to as accountId. Accepts both IBAN & BBAN"
            },
            "overdue": {
                "type": "string",
                "description": "Indicates the aging status of the arrangement."
            },
            "eventCount": {
                "type": "number",
                "description": "Indicates the number of events emitted from Transact for an activity"
            },
            "quotationReference": {
                "type": "string",
                "description": "Contains the unique identifier for the requested pricing quotation. Pricing quotation can be requested for new account, account transaction, account closure, etc"
            },
            "feeDetails": {
                "type": "array",
                "description": "Indicates the identifier for fee details in which fee name, fee amount, adjsuted fee amount are defined",
                "items": {
                    "id": "urn:jsonschema:FeeDetails",
                    "properties": {
                        "feeName": {
                            "type": "string",
                            "description": "Indicates the description for type of fee which is applied for payment instruction"
                        },
                        "feeAmount": {
                            "type": "string",
                            "description": "Indicates the amount corresponding to the arrangement charge property."
                        },
                        "feeCurrency": {
                            "type": "string",
                            "description": "Indicates the fee currency in which fee amount is applied for the payment instruction"
                        },
                        "adjustFeeAmount": {
                            "type": "string",
                            "description": "Indicates the adjustment detail if the base fee is adjusted for some reason in the system. This is a signed number. Hence if any decrease in fee should be indicated with a negative sign."
                        },
                        "adjustFeeReason": {
                            "type": "string",
                            "description": "Indicates the reason for adjusting the base fee. System use adjust fee reason for analytics purpose."
                        }
                    }
                }
            },
            "balances": {
                "type": "array",
                "description": "The monetary value of each balance type for an account is itemised.",
                "items": {
                    "id": "urn:jsonschema:Balances",
                    "properties": {
                        "balanceName": {
                            "type": "string",
                            "description": "Balance name"
                        },
                        "closingBalance": {
                            "type": "string",
                            "description": "Closing balance of the arrangement"
                        },
                        "dateType": {
                            "type": "string",
                            "description": "Indicates the date type which qualifies the balance dates. Allowed options are TRADE or VALUE. If it is not passed, default option will be value"
                        },
                        "debitTotalAmount": {
                            "type": "string",
                            "description": "Indicates the total amount which is debited from the contract or account."
                        },
                        "creditTotalAmount": {
                            "type": "string",
                            "description": "Indicates the total amount which is credited to the contract or account"
                        },
                        "timeStamp": {
                            "type": "string",
                            "description": "Deprecated - Time Stamp"
                        },
                        "openingBalance": {
                            "type": "string",
                            "description": "Balance brought forward from the previous date/period."
                        }
                    }
                }
            },
            "alternateReferences": {
                "type": "array",
                "description": "If the new Account to be created is a shadow of another Account already exisitng in another system, then the Account reference of that system can be specified here. The value given in this field will be mapped to ALTERNATE.ID field in arrangement activity and ensure that this Account doesn't already exist in T24 with another reference (because ALTERNATE.ID would be configured to be unique across T24).",
                "items": {
                    "id": "urn:jsonschema:AlternateReferences",
                    "properties": {
                        "alternateIdType": {
                            "type": "string",
                            "description": "Contains the alternate account system identifier used for defining the alternate account Id"
                        },
                        "alternateId": {
                            "type": "string",
                            "description": "An Alternate Identification for the Deal. This can be used to retrieve the Deal for amendment."
                        }
                    }
                }
            },
            "extension": {
                "type": "array",
                "description": "Specifies extension data.",
                "items": {
                    "id": "urn:jsonschema:Extension",
                    "properties": {
                        "key": {
                            "type": "string",
                            "description": "Key to a specific extension"
                        },
                        "values": {
                            "type": "array",
                            "description": "Values associated to the key for extension",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        }
    },
    "accountsBaseDetails": {
        "type": "object",
        "description": "Contains the base details like overdraft status, dormancy status for an accounts contract",
        "id": "urn:jsonschema:AccountsBaseDetails",
        "properties": {
            "overdraftStatus": {
                "type": "string",
                "description": "Indicates the overdraft status of the accounts contract"
            },
            "dormancyStatus": {
                "type": "string",
                "description": "Indicates the Dormancy status"
            },
            "multiCurrencyAccountIds": {
                "type": "object",
                "description": "Indicates an arrangement reference which acts as a master for the sub arrangements being created in different currencies",
                "id": "urn:jsonschema:mcyAccountDetails",
                "properties": {
                    "multiCurrencyAccountId": {
                        "type": "string",
                        "description": "Indicates an arrangement reference which acts as a master for the sub arrangements being created in different currencies"
                    },
                    "currency": {
                        "type": "string",
                        "description": "Identifies the currency. E.g. USD, GBP etc"
                    },
                    "multiCurrencyAccountBalances": {
                        "type": "object",
                        "description": "Contains the balance value of the multicurrency account like balance name, date type, closing balance for each balance name.",
                        "id": "urn:jsonschema:MultiCurrencyAccountBalances",
                        "properties": {
                            "currency": {
                                "type": "string",
                                "description": "Identifies the currency. E.g. USD, GBP etc"
                            },
                            "balances": {
                                "type": "array",
                                "description": "The monetary value of each balance type for an account is itemised.",
                                "items": {
                                    "id": "urn:jsonschema:Balances",
                                    "properties": {
                                        "balanceName": {
                                            "type": "string",
                                            "description": "Balance name"
                                        },
                                        "closingBalance": {
                                            "type": "string",
                                            "description": "Closing balance of the arrangement"
                                        },
                                        "dateType": {
                                            "type": "string",
                                            "description": "Indicates the date type which qualifies the balance dates. Allowed options are TRADE or VALUE. If it is not passed, default option will be value"
                                        },
                                        "debitTotalAmount": {
                                            "type": "string",
                                            "description": "Indicates the total amount which is debited from the contract or account."
                                        },
                                        "creditTotalAmount": {
                                            "type": "string",
                                            "description": "Indicates the total amount which is credited to the contract or account"
                                        },
                                        "timeStamp": {
                                            "type": "string",
                                            "description": "Deprecated - Time Stamp"
                                        },
                                        "openingBalance": {
                                            "type": "string",
                                            "description": "Balance brought forward from the previous date/period."
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "alternateReferences": {
        "type": "array",
        "description": "If the new Account to be created is a shadow of another Account already exisitng in another system, then the Account reference of that system can be specified here. The value given in this field will be mapped to ALTERNATE.ID field in arrangement activity and ensure that this Account doesn't already exist in T24 with another reference (because ALTERNATE.ID would be configured to be unique across T24).",
        "items": {
            "id": "urn:jsonschema:AlternateReferences",
            "properties": {
                "alternateIdType": {
                    "type": "string",
                    "description": "Contains the alternate account system identifier used for defining the alternate account Id"
                },
                "alternateId": {
                    "type": "string",
                    "description": "An Alternate Identification for the Deal. This can be used to retrieve the Deal for amendment."
                }
            }
        }
    },
    "party": {
        "type": "array",
        "description": "Identifier of individuals in terms of Customers or Person or Entities with reference to the bank",
        "items": {
            "id": "urn:jsonschema:Party",
            "properties": {
                "partyReference": {
                    "type": "string",
                    "description": "Contains the identifier used for the party or customer"
                },
                "partyRole": {
                    "type": "string",
                    "description": "Contains the identifier used for the role played by the party or customer in the contract or account"
                }
            }
        }
    },
    "repaymentDetails": {
        "type": "array",
        "description": "Contains the repayment details like payment type, payment frequency, payment method defined in the transaction.",
        "items": {
            "id": "urn:jsonschema:Repayment",
            "properties": {
                "effectiveDate": {
                    "type": "string",
                    "description": "Contains the identifier for the transaction date. Dates are expected in YYYYMMDD format"
                },
                "schedules": {
                    "type": "array",
                    "description": "Indicates where this pool may be run either online or End of the day.",
                    "items": {
                        "id": "urn:jsonschema:Schedules",
                        "properties": {
                            "repaymentType": {
                                "type": "string",
                                "description": "Contains the repayment Type. Eg. INTEREST_ONLY, PRINCIPAL_AND_INTEREST"
                            },
                            "description": {
                                "type": "string",
                                "description": "Contains the description of purpose of the payment."
                            },
                            "paymentMethod": {
                                "type": "string",
                                "description": "Method chosen to make the payment"
                            },
                            "paymentFrequency": {
                                "type": "string",
                                "description": "The frequency at which a payment is required to be generated"
                            },
                            "paymentFrequencyDescription": {
                                "type": "string",
                                "description": "Contains the description of the given payment frequency like Monthly for M01, Weekly twice for W02, etc"
                            },
                            "payments": {
                                "type": "array",
                                "description": "Contains the details of the schedule like start date, end date, number of payment, calculated amount defined in the payment schedule conditions.",
                                "items": {
                                    "id": "urn:jsonschema:Payments",
                                    "properties": {
                                        "startDate": {
                                            "type": "string",
                                            "description": "Contains the date on which the transaction or payment gets initiated."
                                        },
                                        "endDate": {
                                            "type": "string",
                                            "description": "Indicates the date till which the transaction history requested. If 20120101 is the start date and 20120201 is the end date, all transactions that are booked between January 1 to February 1 2012 are returned"
                                        },
                                        "numberOfPayments": {
                                            "type": "string",
                                            "description": "Specifies the number of coupon or interest payments a year"
                                        },
                                        "calculatedPaymentAmount": {
                                            "type": "string",
                                            "description": "System calculated Payment amount."
                                        }
                                    }
                                }
                            },
                            "nextPaymentDate": {
                                "type": "string",
                                "description": "Indicates next payment date for the contract"
                            },
                            "scheduledProperties": {
                                "type": "array",
                                "description": "Indicates the properties with amounts to be paid",
                                "items": {
                                    "id": "urn:jsonschema:ScheduledProperties",
                                    "properties": {
                                        "scheduledProperty": {
                                            "type": "string",
                                            "description": "Indicates the properties with amounts to be paid"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "extension": {
                    "type": "array",
                    "description": "Specifies extension data.",
                    "items": {
                        "id": "urn:jsonschema:Extension",
                        "properties": {
                            "key": {
                                "type": "string",
                                "description": "Key to a specific extension"
                            },
                            "values": {
                                "type": "array",
                                "description": "Values associated to the key for extension",
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "limit": {
        "type": "object",
        "description": "Limit details for the customer",
        "id": "urn:jsonschema:Limit",
        "properties": {
            "limitKey": {
                "type": "string",
                "description": "The identifier of credit limit"
            },
            "limitReference": {
                "type": "string",
                "description": "Identifies the credit limit reference for the underlying account."
            },
            "limitSerial": {
                "type": "string",
                "description": "This can be set to either a valid limit reference serial number or NEW"
            },
            "secondaryLimits": {
                "type": "string",
                "description": "Monitors the availability and utilisation of secondary limits."
            },
            "extension": {
                "type": "array",
                "description": "Specifies extension data.",
                "items": {
                    "id": "urn:jsonschema:Extension",
                    "properties": {
                        "key": {
                            "type": "string",
                            "description": "Key to a specific extension"
                        },
                        "values": {
                            "type": "array",
                            "description": "Values associated to the key for extension",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        }
    },
    "interest": {
        "type": "array",
        "description": "Contains the interest details like rate type, tier type, effective date, margins defined in the interest conditions.",
        "items": {
            "id": "urn:jsonschema:Interest",
            "properties": {
                "rateName": {
                    "type": "string",
                    "description": "Specifies the name displayed for the interest rates"
                },
                "rateDescription": {
                    "type": "string",
                    "description": "Indicates the description of the rate name"
                },
                "interestConditions": {
                    "type": "array",
                    "description": "Indicates the interest condition information such as interest period, rate date and interest days since start",
                    "items": {
                        "id": "urn:jsonschema:InterestConditions",
                        "properties": {
                            "effectiveDate": {
                                "type": "string",
                                "description": "Contains the identifier for the transaction date. Dates are expected in YYYYMMDD format"
                            },
                            "rateTierType": {
                                "type": "string",
                                "description": "Different interest rates can be applied for tiers determined by monetary amounts.  Standard selection to choose from - Single, Level, Banded"
                            },
                            "tierDetails": {
                                "type": "array",
                                "description": "Indicates the identifier for the tier details in which tier rate, tier value and other details are defined.",
                                "items": {
                                    "id": "urn:jsonschema:InterestTierDetails",
                                    "properties": {
                                        "fixedRate": {
                                            "type": "string",
                                            "description": "Numeric value for the interest rate entered manually."
                                        },
                                        "floatingIndex": {
                                            "type": "string",
                                            "description": "Indicates the type of interest which is tied to a variable base rate"
                                        },
                                        "periodicDetails": {
                                            "type": "array",
                                            "description": "Contains the details about the periodic rate like period, method defined in the transaction. ",
                                            "items": {
                                                "id": "urn:jsonschema:PeriodicDetails",
                                                "properties": {
                                                    "periodicIndex": {
                                                        "type": "string",
                                                        "description": "Denotes an index which points to the right period of the securities or holdings."
                                                    },
                                                    "periodicType": {
                                                        "type": "string",
                                                        "description": "Indicates the period used to fetch interest rate from the Periodic Interest definition"
                                                    },
                                                    "periodicRate": {
                                                        "type": "string",
                                                        "description": "Specify the period which will be used to fetch the interest rate"
                                                    },
                                                    "periodicPeriod": {
                                                        "type": "string",
                                                        "description": "Define the period which has to be used to calculate the interest rate"
                                                    },
                                                    "periodicMethod": {
                                                        "type": "string",
                                                        "description": "Indicates the method used to calculate the interest rate for period interest setup"
                                                    },
                                                    "initialResetDate": {
                                                        "type": "string",
                                                        "description": "Specifies the initial date from which the interest rate has to be reset.  If specified along with a reset frequency, the initial reset date will be used for deriving the subsequent reset dates"
                                                    },
                                                    "periodicReset": {
                                                        "type": "string",
                                                        "description": "Indicates the reset period of the periodic index defined"
                                                    },
                                                    "nextResetDate": {
                                                        "type": "string",
                                                        "description": "Indicates the date when the periodic rate will be reset next."
                                                    }
                                                }
                                            }
                                        },
                                        "margins": {
                                            "type": "array",
                                            "description": "Defines whether there are single or multiple margins to be considered while arriving at the applicable interest rate Allowed values: null (default): multiple margins may be defined SINGLE: only a single margin is allowed",
                                            "items": {
                                                "id": "urn:jsonschema:Margins",
                                                "properties": {
                                                    "marginType": {
                                                        "type": "string",
                                                        "description": "Defines whether there are single or multiple margins to be considered while arriving at the applicable interest rate  Allowed values:  null (default): multiple margins may be defined SINGLE: only a single margin is allowed"
                                                    },
                                                    "marginOperand": {
                                                        "type": "string",
                                                        "description": "Indicates whether the margin is positive or negaitve, when margin percentage is applied on the market rate while calculating the fair value. Possible values include + or -"
                                                    },
                                                    "marginRate": {
                                                        "type": "string",
                                                        "description": "This is the rate applied over the default interest rate or commission rate to achieve the actual rate."
                                                    }
                                                }
                                            }
                                        },
                                        "tierAmount": {
                                            "type": "string",
                                            "description": "The monetary amount for the tier."
                                        },
                                        "tierPercent": {
                                            "type": "string",
                                            "description": "Applicable tier percentage (between 0 and 100) for interest calculations based on amount bands"
                                        },
                                        "effectiveRate": {
                                            "type": "string",
                                            "description": "Indicates the actual interest rate applied for the account after adjustment/tier calculation/based on basic or Periodic index value"
                                        },
                                        "linkedRateIndicator": {
                                            "type": "string",
                                            "description": "The interest rate for the tier can be linked to that of another account, YES/NO indicator"
                                        }
                                    }
                                }
                            },
                            "extension": {
                                "type": "array",
                                "description": "Specifies extension data.",
                                "items": {
                                    "id": "urn:jsonschema:Extension",
                                    "properties": {
                                        "key": {
                                            "type": "string",
                                            "description": "Key to a specific extension"
                                        },
                                        "values": {
                                            "type": "array",
                                            "description": "Values associated to the key for extension",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "settlementDetails": {
        "type": "array",
        "description": "Contains the settlement details like payin instructions, payout instructions defined in the transaction.",
        "items": {
            "id": "urn:jsonschema:Settlement",
            "properties": {
                "payinSettlement": {
                    "type": "array",
                    "description": "Flag to indicate whether Payin Settlement instruction is required or not.Valid input is Yes or No.Default value is Yes.",
                    "items": {
                        "id": "urn:jsonschema:PayinSettlement",
                        "properties": {
                            "payinPaymentTypes": {
                                "type": "array",
                                "description": "It denotes the payment type based on which the repayment settlement instruction will be processed",
                                "items": {
                                    "id": "urn:jsonschema:PayinPaymentTypes",
                                    "properties": {
                                        "payinPaymentType": {
                                            "type": "string",
                                            "description": "It denotes the payment type based on which the repayment settlement instruction will be processed"
                                        },
                                        "description": {
                                            "type": "string",
                                            "description": "Contains the description of purpose of the payment."
                                        }
                                    }
                                }
                            },
                            "payinDetails": {
                                "type": "array",
                                "description": "Contains the  payin instructions like payin account, payin beneficiary and payin payment order product defined in the transaction.",
                                "items": {
                                    "id": "urn:jsonschema:PayinDetails",
                                    "properties": {
                                        "payInPoProduct": {
                                            "type": "string",
                                            "description": "Contains the payment order product Id for which the payment is initiated"
                                        },
                                        "payInAccount": {
                                            "type": "string",
                                            "description": "Contains the account from which funds are to be debited against the payment type"
                                        },
                                        "payInBeneficiary": {
                                            "type": "string",
                                            "description": "Contains the beneficiary Id used for settlement of the bills due"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "payoutSettlement": {
                    "type": "array",
                    "description": "Flag to indicate whether Payout Settlement instruction is required or not.Valid input is Yes or No.Default value is Yes.",
                    "items": {
                        "id": "urn:jsonschema:PayoutSettlement",
                        "properties": {
                            "payoutDetails": {
                                "type": "array",
                                "description": "Contains the  payout instructions like payout account, payout beneficiary and payout payment order product defined in the transaction.",
                                "items": {
                                    "id": "urn:jsonschema:PayoutDetails",
                                    "properties": {
                                        "payoutAccount": {
                                            "type": "string",
                                            "description": "The account to which a settlement amount is transferred."
                                        },
                                        "payoutBeneficiary": {
                                            "type": "string",
                                            "description": "The beneficiary that payment should be made to ."
                                        },
                                        "payOutPoProduct": {
                                            "type": "string",
                                            "description": "Contains the payout payment order product for which payment is initiated"
                                        }
                                    }
                                }
                            },
                            "payOutPropertyClasses": {
                                "type": "array",
                                "description": "Contains the different payout options, for example charge, interest or principal on which the payout settlement instructions would be processed",
                                "items": {
                                    "id": "urn:jsonschema:PayOutPropertyClasses",
                                    "properties": {
                                        "propertyClassId": {
                                            "type": "string",
                                            "description": "The identifier of a condition that is used to build a product"
                                        },
                                        "propertyClassName": {
                                            "type": "string",
                                            "description": "The name of the condition that is used to build a product"
                                        }
                                    }
                                }
                            },
                            "payOutProperties": {
                                "type": "array",
                                "description": "Contains the different payout options, for example management charge, principal interest or commitment on which the payout settlement instructions would be processed",
                                "items": {
                                    "id": "urn:jsonschema:PayOutProperties",
                                    "properties": {
                                        "propertyId": {
                                            "type": "string",
                                            "description": "Contains the identifier of the product property"
                                        },
                                        "propertyName": {
                                            "type": "string",
                                            "description": "Indicates the  property description to which benefit has been applied"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "defaultSettlementAccounts": {
                    "type": "array",
                    "description": "Default settlement account to be used for all incoming payments and outgoing settlements when a specific settlement account is not provided for each payment type",
                    "items": {
                        "id": "urn:jsonschema:DefaultSettlementAccounts",
                        "properties": {
                            "defaultSettlementAccount": {
                                "type": "string",
                                "description": "Default settlement account to be used for all incoming payments and outgoing settlements when a specific settlement account is not provided for each payment type"
                            }
                        }
                    }
                },
                "extension": {
                    "type": "array",
                    "description": "Specifies extension data.",
                    "items": {
                        "id": "urn:jsonschema:Extension",
                        "properties": {
                            "key": {
                                "type": "string",
                                "description": "Key to a specific extension"
                            },
                            "values": {
                                "type": "array",
                                "description": "Values associated to the key for extension",
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "officerDetails": {
        "type": "object",
        "description": "Contains the details like primary officer, other officer, officer role defined in the transaction.",
        "id": "urn:jsonschema:Officers",
        "properties": {
            "primaryOfficer": {
                "type": "string",
                "description": "Specify the primary officer responsible for the arrangement"
            },
            "otherOfficers": {
                "type": "array",
                "description": "It specifies the notes related to the other officer entered by a user.",
                "items": {
                    "id": "urn:jsonschema:OtherOfficers",
                    "properties": {
                        "otherOfficer": {
                            "type": "string",
                            "description": "Specifies the additional officers who can assist with a product/arrangement"
                        },
                        "otherOfficerRole": {
                            "type": "string",
                            "description": "It specifies the role defined for each additional officer of the product or arrangement"
                        }
                    }
                }
            },
            "extension": {
                "type": "array",
                "description": "Specifies extension data.",
                "items": {
                    "id": "urn:jsonschema:Extension",
                    "properties": {
                        "key": {
                            "type": "string",
                            "description": "Key to a specific extension"
                        },
                        "values": {
                            "type": "array",
                            "description": "Values associated to the key for extension",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        }
    },
    "productCategoryId": {
        "type": "string",
        "description": "The identifier of the product category"
    },
    "shortTitles": {
        "type": "array",
        "description": "Contains the short title given to the name of an account or an arrangement",
        "items": {
            "id": "urn:jsonschema:ShortTitles",
            "properties": {
                "language": {
                    "type": "string",
                    "description": "The language that the contents of the field are displayed in."
                },
                "shortTitle": {
                    "type": "string",
                    "description": "Contains the short title given to the name of an account or an arrangement"
                }
            }
        }
    },
    "coolingOffDate": {
        "type": "string",
        "description": "Indicates cooling off period for an account until which pre-closure can be triggered without incurring any fees or charges."
    },
    "renewalDate": {
        "type": "string",
        "description": "Indicates the date on which the next renewal of the contract is going to happen"
    },
    "services": {
        "type": "array",
        "description": "It specifies the list of services related to the arrangement.",
        "items": {
            "id": "urn:jsonschema:Services",
            "properties": {
                "serviceName": {
                    "type": "string",
                    "description": "The service related to an arrangement"
                },
                "mandatoryService": {
                    "type": "boolean",
                    "description": "Indicate whether it is a mandatory service or not."
                },
                "subscribe": {
                    "type": "boolean",
                    "description": "Enables an alert service"
                },
                "extension": {
                    "type": "array",
                    "description": "Specifies extension data.",
                    "items": {
                        "id": "urn:jsonschema:Extension",
                        "properties": {
                            "key": {
                                "type": "string",
                                "description": "Key to a specific extension"
                            },
                            "values": {
                                "type": "array",
                                "description": "Values associated to the key for extension",
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "term": {
        "type": "array",
        "description": "Indicates the period to which the BID and OFFER rates apply",
        "items": {
            "id": "urn:jsonschema:TermDetails",
            "properties": {
                "tenor": {
                    "type": "string",
                    "description": "Contains the term of the deposits or loans contract. Tenor denotes the period on which contract will be matured and does not rollover. For example, values can be in the format 1D, 6M, 1Y, etc"
                },
                "maturityDate": {
                    "type": "string",
                    "description": "Indicates maturity date of the contract"
                },
                "coolingOffDate": {
                    "type": "string",
                    "description": "Indicates cooling off period for an account until which pre-closure can be triggered without incurring any fees or charges."
                },
                "renewalDate": {
                    "type": "string",
                    "description": "Indicates the date on which the next renewal of the contract is going to happen"
                },
                "increaseCommitmentAmount": {
                    "type": "string",
                    "description": "Indicates the increased commitment amount for the contract or account. This is an unsigned field. Either increase or decrease amount should be stated and not both."
                },
                "decreaseCommitmentAmount": {
                    "type": "string",
                    "description": "Indicates the decreased commitment amount for the contract or account. This is an unsigned field. Either increase or decrease amount should be stated and not both."
                },
                "extension": {
                    "type": "array",
                    "description": "Specifies extension data.",
                    "items": {
                        "id": "urn:jsonschema:Extension",
                        "properties": {
                            "key": {
                                "type": "string",
                                "description": "Key to a specific extension"
                            },
                            "values": {
                                "type": "array",
                                "description": "Values associated to the key for extension",
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "accountDetails": {
        "type": "array",
        "description": "It contains the account details.",
        "items": {
            "id": "urn:jsonschema:AccountPropertyDetails",
            "properties": {
                "productCategoryId": {
                    "type": "string",
                    "description": "The identifier of the product category"
                },
                "shortTitles": {
                    "type": "array",
                    "description": "Contains the short title given to the name of an account or an arrangement",
                    "items": {
                        "id": "urn:jsonschema:ShortTitles",
                        "properties": {
                            "language": {
                                "type": "string",
                                "description": "The language that the contents of the field are displayed in."
                            },
                            "shortTitle": {
                                "type": "string",
                                "description": "Contains the short title given to the name of an account or an arrangement"
                            }
                        }
                    }
                },
                "postingRestrictions": {
                    "type": "array",
                    "description": "Identifies any restrictions for posting entries that are to be imposed on the Account",
                    "items": {
                        "id": "urn:jsonschema:PostingRestrictions",
                        "properties": {
                            "postingRestrictId": {
                                "type": "string",
                                "description": "Identifies any restrictions for posting entries that are imposed on a Customer"
                            },
                            "postingRestrictName": {
                                "type": "string",
                                "description": "Contains the short name of the posting restrict identifier"
                            },
                            "restrictionReason": {
                                "type": "string",
                                "description": "Sets restrictions on the actions that can be performed on an account. Allowed values can be retrieved through method getEbLookup, virtualTableName BLOCK.REASON.CODES. "
                            },
                            "restrictionText": {
                                "type": "string",
                                "description": "Free text information to capture the reason for restriction applied on an account"
                            },
                            "unrestrictionReason": {
                                "type": "string",
                                "description": "Captures the code that removes the restriction set on an account.  Allowed values can be retrieved through method getEbLookup, virtualTableName UNBLOCK.REASON.CODES."
                            },
                            "unrestrictionText": {
                                "type": "string",
                                "description": "Reason for unblocking the restriction set on an account"
                            },
                            "restrictionStartDate": {
                                "type": "string",
                                "description": "Start date for applying the restriction on an account"
                            },
                            "restrictionExpiryDate": {
                                "type": "string",
                                "description": "Specifies the expirydate of the posting restriction on the account"
                            }
                        }
                    }
                },
                "alternateReferences": {
                    "type": "array",
                    "description": "If the new Account to be created is a shadow of another Account already exisitng in another system, then the Account reference of that system can be specified here. The value given in this field will be mapped to ALTERNATE.ID field in arrangement activity and ensure that this Account doesn't already exist in T24 with another reference (because ALTERNATE.ID would be configured to be unique across T24).",
                    "items": {
                        "id": "urn:jsonschema:AlternateReferences",
                        "properties": {
                            "alternateIdType": {
                                "type": "string",
                                "description": "Contains the alternate account system identifier used for defining the alternate account Id"
                            },
                            "alternateId": {
                                "type": "string",
                                "description": "An Alternate Identification for the Deal. This can be used to retrieve the Deal for amendment."
                            }
                        }
                    }
                },
                "extension": {
                    "type": "array",
                    "description": "Specifies extension data.",
                    "items": {
                        "id": "urn:jsonschema:Extension",
                        "properties": {
                            "key": {
                                "type": "string",
                                "description": "Key to a specific extension"
                            },
                            "values": {
                                "type": "array",
                                "description": "Values associated to the key for extension",
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "contractCustomerDetails": {
        "type": "array",
        "description": "Indicates the customer details of the contract or transaction",
        "items": {
            "id": "urn:jsonschema:CustomerDetails",
            "properties": {
                "party": {
                    "type": "array",
                    "description": "Identifier of individuals in terms of Customers or Person or Entities with reference to the bank",
                    "items": {
                        "id": "urn:jsonschema:Party",
                        "properties": {
                            "partyReference": {
                                "type": "string",
                                "description": "Contains the identifier used for the party or customer"
                            },
                            "partyRole": {
                                "type": "string",
                                "description": "Contains the identifier used for the role played by the party or customer in the contract or account"
                            }
                        }
                    }
                },
                "otherParties": {
                    "type": "array",
                    "description": "It specifies the other parties who are not legal owners of the arrangement",
                    "items": {
                        "id": "urn:jsonschema:OtherParties",
                        "properties": {
                            "otherParty": {
                                "type": "string",
                                "description": "It specifies the other parties who are not legal owners of the arrangement"
                            },
                            "otherPartyRole": {
                                "type": "string",
                                "description": "It specifies the description about the other parties mentioned"
                            }
                        }
                    }
                },
                "extension": {
                    "type": "array",
                    "description": "Specifies extension data.",
                    "items": {
                        "id": "urn:jsonschema:Extension",
                        "properties": {
                            "key": {
                                "type": "string",
                                "description": "Key to a specific extension"
                            },
                            "values": {
                                "type": "array",
                                "description": "Values associated to the key for extension",
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "previousState": {
        "type": "object",
        "description": "Contains the previous value of the attribute before the update",
        "id": "urn:jsonschema:AccountsPreviousStateDetails",
        "properties": {
            "repaymentDetails": {
                "type": "array",
                "description": "Contains the repayment details like payment type, payment frequency, payment method defined in the transaction.",
                "items": {
                    "id": "urn:jsonschema:Repayment",
                    "properties": {
                        "effectiveDate": {
                            "type": "string",
                            "description": "Contains the identifier for the transaction date. Dates are expected in YYYYMMDD format"
                        },
                        "schedules": {
                            "type": "array",
                            "description": "Indicates where this pool may be run either online or End of the day.",
                            "items": {
                                "id": "urn:jsonschema:Schedules",
                                "properties": {
                                    "repaymentType": {
                                        "type": "string",
                                        "description": "Contains the repayment Type. Eg. INTEREST_ONLY, PRINCIPAL_AND_INTEREST"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Contains the description of purpose of the payment."
                                    },
                                    "paymentMethod": {
                                        "type": "string",
                                        "description": "Method chosen to make the payment"
                                    },
                                    "paymentFrequency": {
                                        "type": "string",
                                        "description": "The frequency at which a payment is required to be generated"
                                    },
                                    "paymentFrequencyDescription": {
                                        "type": "string",
                                        "description": "Contains the description of the given payment frequency like Monthly for M01, Weekly twice for W02, etc"
                                    },
                                    "payments": {
                                        "type": "array",
                                        "description": "Contains the details of the schedule like start date, end date, number of payment, calculated amount defined in the payment schedule conditions.",
                                        "items": {
                                            "id": "urn:jsonschema:Payments",
                                            "properties": {
                                                "startDate": {
                                                    "type": "string",
                                                    "description": "Contains the date on which the transaction or payment gets initiated."
                                                },
                                                "endDate": {
                                                    "type": "string",
                                                    "description": "Indicates the date till which the transaction history requested. If 20120101 is the start date and 20120201 is the end date, all transactions that are booked between January 1 to February 1 2012 are returned"
                                                },
                                                "numberOfPayments": {
                                                    "type": "string",
                                                    "description": "Specifies the number of coupon or interest payments a year"
                                                },
                                                "calculatedPaymentAmount": {
                                                    "type": "string",
                                                    "description": "System calculated Payment amount."
                                                }
                                            }
                                        }
                                    },
                                    "nextPaymentDate": {
                                        "type": "string",
                                        "description": "Indicates next payment date for the contract"
                                    },
                                    "scheduledProperties": {
                                        "type": "array",
                                        "description": "Indicates the properties with amounts to be paid",
                                        "items": {
                                            "id": "urn:jsonschema:ScheduledProperties",
                                            "properties": {
                                                "scheduledProperty": {
                                                    "type": "string",
                                                    "description": "Indicates the properties with amounts to be paid"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "extension": {
                            "type": "array",
                            "description": "Specifies extension data.",
                            "items": {
                                "id": "urn:jsonschema:Extension",
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "Key to a specific extension"
                                    },
                                    "values": {
                                        "type": "array",
                                        "description": "Values associated to the key for extension",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "limit": {
                "type": "object",
                "description": "Limit details for the customer",
                "id": "urn:jsonschema:Limit",
                "properties": {
                    "limitKey": {
                        "type": "string",
                        "description": "The identifier of credit limit"
                    },
                    "limitReference": {
                        "type": "string",
                        "description": "Identifies the credit limit reference for the underlying account."
                    },
                    "limitSerial": {
                        "type": "string",
                        "description": "This can be set to either a valid limit reference serial number or NEW"
                    },
                    "secondaryLimits": {
                        "type": "string",
                        "description": "Monitors the availability and utilisation of secondary limits."
                    },
                    "extension": {
                        "type": "array",
                        "description": "Specifies extension data.",
                        "items": {
                            "id": "urn:jsonschema:Extension",
                            "properties": {
                                "key": {
                                    "type": "string",
                                    "description": "Key to a specific extension"
                                },
                                "values": {
                                    "type": "array",
                                    "description": "Values associated to the key for extension",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "interest": {
                "type": "array",
                "description": "Contains the interest details like rate type, tier type, effective date, margins defined in the interest conditions.",
                "items": {
                    "id": "urn:jsonschema:Interest",
                    "properties": {
                        "rateName": {
                            "type": "string",
                            "description": "Specifies the name displayed for the interest rates"
                        },
                        "rateDescription": {
                            "type": "string",
                            "description": "Indicates the description of the rate name"
                        },
                        "interestConditions": {
                            "type": "array",
                            "description": "Indicates the interest condition information such as interest period, rate date and interest days since start",
                            "items": {
                                "id": "urn:jsonschema:InterestConditions",
                                "properties": {
                                    "effectiveDate": {
                                        "type": "string",
                                        "description": "Contains the identifier for the transaction date. Dates are expected in YYYYMMDD format"
                                    },
                                    "rateTierType": {
                                        "type": "string",
                                        "description": "Different interest rates can be applied for tiers determined by monetary amounts.  Standard selection to choose from - Single, Level, Banded"
                                    },
                                    "tierDetails": {
                                        "type": "array",
                                        "description": "Indicates the identifier for the tier details in which tier rate, tier value and other details are defined.",
                                        "items": {
                                            "id": "urn:jsonschema:InterestTierDetails",
                                            "properties": {
                                                "fixedRate": {
                                                    "type": "string",
                                                    "description": "Numeric value for the interest rate entered manually."
                                                },
                                                "floatingIndex": {
                                                    "type": "string",
                                                    "description": "Indicates the type of interest which is tied to a variable base rate"
                                                },
                                                "periodicDetails": {
                                                    "type": "array",
                                                    "description": "Contains the details about the periodic rate like period, method defined in the transaction. ",
                                                    "items": {
                                                        "id": "urn:jsonschema:PeriodicDetails",
                                                        "properties": {
                                                            "periodicIndex": {
                                                                "type": "string",
                                                                "description": "Denotes an index which points to the right period of the securities or holdings."
                                                            },
                                                            "periodicType": {
                                                                "type": "string",
                                                                "description": "Indicates the period used to fetch interest rate from the Periodic Interest definition"
                                                            },
                                                            "periodicRate": {
                                                                "type": "string",
                                                                "description": "Specify the period which will be used to fetch the interest rate"
                                                            },
                                                            "periodicPeriod": {
                                                                "type": "string",
                                                                "description": "Define the period which has to be used to calculate the interest rate"
                                                            },
                                                            "periodicMethod": {
                                                                "type": "string",
                                                                "description": "Indicates the method used to calculate the interest rate for period interest setup"
                                                            },
                                                            "initialResetDate": {
                                                                "type": "string",
                                                                "description": "Specifies the initial date from which the interest rate has to be reset.  If specified along with a reset frequency, the initial reset date will be used for deriving the subsequent reset dates"
                                                            },
                                                            "periodicReset": {
                                                                "type": "string",
                                                                "description": "Indicates the reset period of the periodic index defined"
                                                            },
                                                            "nextResetDate": {
                                                                "type": "string",
                                                                "description": "Indicates the date when the periodic rate will be reset next."
                                                            }
                                                        }
                                                    }
                                                },
                                                "margins": {
                                                    "type": "array",
                                                    "description": "Defines whether there are single or multiple margins to be considered while arriving at the applicable interest rate Allowed values: null (default): multiple margins may be defined SINGLE: only a single margin is allowed",
                                                    "items": {
                                                        "id": "urn:jsonschema:Margins",
                                                        "properties": {
                                                            "marginType": {
                                                                "type": "string",
                                                                "description": "Defines whether there are single or multiple margins to be considered while arriving at the applicable interest rate  Allowed values:  null (default): multiple margins may be defined SINGLE: only a single margin is allowed"
                                                            },
                                                            "marginOperand": {
                                                                "type": "string",
                                                                "description": "Indicates whether the margin is positive or negaitve, when margin percentage is applied on the market rate while calculating the fair value. Possible values include + or -"
                                                            },
                                                            "marginRate": {
                                                                "type": "string",
                                                                "description": "This is the rate applied over the default interest rate or commission rate to achieve the actual rate."
                                                            }
                                                        }
                                                    }
                                                },
                                                "tierAmount": {
                                                    "type": "string",
                                                    "description": "The monetary amount for the tier."
                                                },
                                                "tierPercent": {
                                                    "type": "string",
                                                    "description": "Applicable tier percentage (between 0 and 100) for interest calculations based on amount bands"
                                                },
                                                "effectiveRate": {
                                                    "type": "string",
                                                    "description": "Indicates the actual interest rate applied for the account after adjustment/tier calculation/based on basic or Periodic index value"
                                                },
                                                "linkedRateIndicator": {
                                                    "type": "string",
                                                    "description": "The interest rate for the tier can be linked to that of another account, YES/NO indicator"
                                                }
                                            }
                                        }
                                    },
                                    "extension": {
                                        "type": "array",
                                        "description": "Specifies extension data.",
                                        "items": {
                                            "id": "urn:jsonschema:Extension",
                                            "properties": {
                                                "key": {
                                                    "type": "string",
                                                    "description": "Key to a specific extension"
                                                },
                                                "values": {
                                                    "type": "array",
                                                    "description": "Values associated to the key for extension",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "settlementDetails": {
                "type": "array",
                "description": "Contains the settlement details like payin instructions, payout instructions defined in the transaction.",
                "items": {
                    "id": "urn:jsonschema:Settlement",
                    "properties": {
                        "payinSettlement": {
                            "type": "array",
                            "description": "Flag to indicate whether Payin Settlement instruction is required or not.Valid input is Yes or No.Default value is Yes.",
                            "items": {
                                "id": "urn:jsonschema:PayinSettlement",
                                "properties": {
                                    "payinPaymentTypes": {
                                        "type": "array",
                                        "description": "It denotes the payment type based on which the repayment settlement instruction will be processed",
                                        "items": {
                                            "id": "urn:jsonschema:PayinPaymentTypes",
                                            "properties": {
                                                "payinPaymentType": {
                                                    "type": "string",
                                                    "description": "It denotes the payment type based on which the repayment settlement instruction will be processed"
                                                },
                                                "description": {
                                                    "type": "string",
                                                    "description": "Contains the description of purpose of the payment."
                                                }
                                            }
                                        }
                                    },
                                    "payinDetails": {
                                        "type": "array",
                                        "description": "Contains the  payin instructions like payin account, payin beneficiary and payin payment order product defined in the transaction.",
                                        "items": {
                                            "id": "urn:jsonschema:PayinDetails",
                                            "properties": {
                                                "payInPoProduct": {
                                                    "type": "string",
                                                    "description": "Contains the payment order product Id for which the payment is initiated"
                                                },
                                                "payInAccount": {
                                                    "type": "string",
                                                    "description": "Contains the account from which funds are to be debited against the payment type"
                                                },
                                                "payInBeneficiary": {
                                                    "type": "string",
                                                    "description": "Contains the beneficiary Id used for settlement of the bills due"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "payoutSettlement": {
                            "type": "array",
                            "description": "Flag to indicate whether Payout Settlement instruction is required or not.Valid input is Yes or No.Default value is Yes.",
                            "items": {
                                "id": "urn:jsonschema:PayoutSettlement",
                                "properties": {
                                    "payoutDetails": {
                                        "type": "array",
                                        "description": "Contains the  payout instructions like payout account, payout beneficiary and payout payment order product defined in the transaction.",
                                        "items": {
                                            "id": "urn:jsonschema:PayoutDetails",
                                            "properties": {
                                                "payoutAccount": {
                                                    "type": "string",
                                                    "description": "The account to which a settlement amount is transferred."
                                                },
                                                "payoutBeneficiary": {
                                                    "type": "string",
                                                    "description": "The beneficiary that payment should be made to ."
                                                },
                                                "payOutPoProduct": {
                                                    "type": "string",
                                                    "description": "Contains the payout payment order product for which payment is initiated"
                                                }
                                            }
                                        }
                                    },
                                    "payOutPropertyClasses": {
                                        "type": "array",
                                        "description": "Contains the different payout options, for example charge, interest or principal on which the payout settlement instructions would be processed",
                                        "items": {
                                            "id": "urn:jsonschema:PayOutPropertyClasses",
                                            "properties": {
                                                "propertyClassId": {
                                                    "type": "string",
                                                    "description": "The identifier of a condition that is used to build a product"
                                                },
                                                "propertyClassName": {
                                                    "type": "string",
                                                    "description": "The name of the condition that is used to build a product"
                                                }
                                            }
                                        }
                                    },
                                    "payOutProperties": {
                                        "type": "array",
                                        "description": "Contains the different payout options, for example management charge, principal interest or commitment on which the payout settlement instructions would be processed",
                                        "items": {
                                            "id": "urn:jsonschema:PayOutProperties",
                                            "properties": {
                                                "propertyId": {
                                                    "type": "string",
                                                    "description": "Contains the identifier of the product property"
                                                },
                                                "propertyName": {
                                                    "type": "string",
                                                    "description": "Indicates the  property description to which benefit has been applied"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "defaultSettlementAccounts": {
                            "type": "array",
                            "description": "Default settlement account to be used for all incoming payments and outgoing settlements when a specific settlement account is not provided for each payment type",
                            "items": {
                                "id": "urn:jsonschema:DefaultSettlementAccounts",
                                "properties": {
                                    "defaultSettlementAccount": {
                                        "type": "string",
                                        "description": "Default settlement account to be used for all incoming payments and outgoing settlements when a specific settlement account is not provided for each payment type"
                                    }
                                }
                            }
                        },
                        "extension": {
                            "type": "array",
                            "description": "Specifies extension data.",
                            "items": {
                                "id": "urn:jsonschema:Extension",
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "Key to a specific extension"
                                    },
                                    "values": {
                                        "type": "array",
                                        "description": "Values associated to the key for extension",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "officerDetails": {
                "type": "object",
                "description": "Contains the details like primary officer, other officer, officer role defined in the transaction.",
                "id": "urn:jsonschema:Officers",
                "properties": {
                    "primaryOfficer": {
                        "type": "string",
                        "description": "Specify the primary officer responsible for the arrangement"
                    },
                    "otherOfficers": {
                        "type": "array",
                        "description": "It specifies the notes related to the other officer entered by a user.",
                        "items": {
                            "id": "urn:jsonschema:OtherOfficers",
                            "properties": {
                                "otherOfficer": {
                                    "type": "string",
                                    "description": "Specifies the additional officers who can assist with a product/arrangement"
                                },
                                "otherOfficerRole": {
                                    "type": "string",
                                    "description": "It specifies the role defined for each additional officer of the product or arrangement"
                                }
                            }
                        }
                    },
                    "extension": {
                        "type": "array",
                        "description": "Specifies extension data.",
                        "items": {
                            "id": "urn:jsonschema:Extension",
                            "properties": {
                                "key": {
                                    "type": "string",
                                    "description": "Key to a specific extension"
                                },
                                "values": {
                                    "type": "array",
                                    "description": "Values associated to the key for extension",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "services": {
                "type": "array",
                "description": "It specifies the list of services related to the arrangement.",
                "items": {
                    "id": "urn:jsonschema:Services",
                    "properties": {
                        "serviceName": {
                            "type": "string",
                            "description": "The service related to an arrangement"
                        },
                        "mandatoryService": {
                            "type": "boolean",
                            "description": "Indicate whether it is a mandatory service or not."
                        },
                        "subscribe": {
                            "type": "boolean",
                            "description": "Enables an alert service"
                        },
                        "extension": {
                            "type": "array",
                            "description": "Specifies extension data.",
                            "items": {
                                "id": "urn:jsonschema:Extension",
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "Key to a specific extension"
                                    },
                                    "values": {
                                        "type": "array",
                                        "description": "Values associated to the key for extension",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "accountDetails": {
                "type": "array",
                "description": "It contains the account details.",
                "items": {
                    "id": "urn:jsonschema:AccountPropertyDetails",
                    "properties": {
                        "productCategoryId": {
                            "type": "string",
                            "description": "The identifier of the product category"
                        },
                        "shortTitles": {
                            "type": "array",
                            "description": "Contains the short title given to the name of an account or an arrangement",
                            "items": {
                                "id": "urn:jsonschema:ShortTitles",
                                "properties": {
                                    "language": {
                                        "type": "string",
                                        "description": "The language that the contents of the field are displayed in."
                                    },
                                    "shortTitle": {
                                        "type": "string",
                                        "description": "Contains the short title given to the name of an account or an arrangement"
                                    }
                                }
                            }
                        },
                        "postingRestrictions": {
                            "type": "array",
                            "description": "Identifies any restrictions for posting entries that are to be imposed on the Account",
                            "items": {
                                "id": "urn:jsonschema:PostingRestrictions",
                                "properties": {
                                    "postingRestrictId": {
                                        "type": "string",
                                        "description": "Identifies any restrictions for posting entries that are imposed on a Customer"
                                    },
                                    "postingRestrictName": {
                                        "type": "string",
                                        "description": "Contains the short name of the posting restrict identifier"
                                    },
                                    "restrictionReason": {
                                        "type": "string",
                                        "description": "Sets restrictions on the actions that can be performed on an account. Allowed values can be retrieved through method getEbLookup, virtualTableName BLOCK.REASON.CODES. "
                                    },
                                    "restrictionText": {
                                        "type": "string",
                                        "description": "Free text information to capture the reason for restriction applied on an account"
                                    },
                                    "unrestrictionReason": {
                                        "type": "string",
                                        "description": "Captures the code that removes the restriction set on an account.  Allowed values can be retrieved through method getEbLookup, virtualTableName UNBLOCK.REASON.CODES."
                                    },
                                    "unrestrictionText": {
                                        "type": "string",
                                        "description": "Reason for unblocking the restriction set on an account"
                                    },
                                    "restrictionStartDate": {
                                        "type": "string",
                                        "description": "Start date for applying the restriction on an account"
                                    },
                                    "restrictionExpiryDate": {
                                        "type": "string",
                                        "description": "Specifies the expirydate of the posting restriction on the account"
                                    }
                                }
                            }
                        },
                        "alternateReferences": {
                            "type": "array",
                            "description": "If the new Account to be created is a shadow of another Account already exisitng in another system, then the Account reference of that system can be specified here. The value given in this field will be mapped to ALTERNATE.ID field in arrangement activity and ensure that this Account doesn't already exist in T24 with another reference (because ALTERNATE.ID would be configured to be unique across T24).",
                            "items": {
                                "id": "urn:jsonschema:AlternateReferences",
                                "properties": {
                                    "alternateIdType": {
                                        "type": "string",
                                        "description": "Contains the alternate account system identifier used for defining the alternate account Id"
                                    },
                                    "alternateId": {
                                        "type": "string",
                                        "description": "An Alternate Identification for the Deal. This can be used to retrieve the Deal for amendment."
                                    }
                                }
                            }
                        },
                        "extension": {
                            "type": "array",
                            "description": "Specifies extension data.",
                            "items": {
                                "id": "urn:jsonschema:Extension",
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "Key to a specific extension"
                                    },
                                    "values": {
                                        "type": "array",
                                        "description": "Values associated to the key for extension",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "contractCustomerDetails": {
                "type": "array",
                "description": "Indicates the customer details of the contract or transaction",
                "items": {
                    "id": "urn:jsonschema:CustomerDetails",
                    "properties": {
                        "party": {
                            "type": "array",
                            "description": "Identifier of individuals in terms of Customers or Person or Entities with reference to the bank",
                            "items": {
                                "id": "urn:jsonschema:Party",
                                "properties": {
                                    "partyReference": {
                                        "type": "string",
                                        "description": "Contains the identifier used for the party or customer"
                                    },
                                    "partyRole": {
                                        "type": "string",
                                        "description": "Contains the identifier used for the role played by the party or customer in the contract or account"
                                    }
                                }
                            }
                        },
                        "otherParties": {
                            "type": "array",
                            "description": "It specifies the other parties who are not legal owners of the arrangement",
                            "items": {
                                "id": "urn:jsonschema:OtherParties",
                                "properties": {
                                    "otherParty": {
                                        "type": "string",
                                        "description": "It specifies the other parties who are not legal owners of the arrangement"
                                    },
                                    "otherPartyRole": {
                                        "type": "string",
                                        "description": "It specifies the description about the other parties mentioned"
                                    }
                                }
                            }
                        },
                        "extension": {
                            "type": "array",
                            "description": "Specifies extension data.",
                            "items": {
                                "id": "urn:jsonschema:Extension",
                                "properties": {
                                    "key": {
                                        "type": "string",
                                        "description": "Key to a specific extension"
                                    },
                                    "values": {
                                        "type": "array",
                                        "description": "Values associated to the key for extension",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "balanceAvailabilityDetails": {
                "type": "object",
                "description": "Contains the balance availability property details of the contract",
                "id": "urn:jsonschema:BalanceAvailabilityPropertyDetails",
                "properties": {
                    "overdraftGrace": {
                        "type": "string",
                        "description": "Specifies the number of working days within which the customer should clear the debit balance on the account, in order to waive the NSF charges. This is specified only if overdraft processing is enabled for the account."
                    }
                }
            }
        }
    },
    "balanceAvailabilityDetails": {
        "type": "object",
        "description": "Contains the balance availability property details of the contract",
        "id": "urn:jsonschema:BalanceAvailabilityPropertyDetails",
        "properties": {
            "overdraftGrace": {
                "type": "string",
                "description": "Specifies the number of working days within which the customer should clear the debit balance on the account, in order to waive the NSF charges. This is specified only if overdraft processing is enabled for the account."
            }
        }
    }
}