diff --git a/api-docs/apiLive.htm b/api-docs/apiLive.htm index 8c3076e07..811f5dfed 100644 --- a/api-docs/apiLive.htm +++ b/api-docs/apiLive.htm @@ -560,6 +560,206 @@ + + Fixed Deposit Accounts + fixeddepositaccounts + Submit new fixed deposit application + List fixed deposit application/accounts + + + + + + fixeddepositaccounts/{accountId} + + Retrieve a fixed deposit application/account + Modify a fixed deposit application + Delete a fixed deposit application + + + + fixeddepositaccounts/{accountId}?command=approve + Approve a fixed deposit application + + + + + + + fixeddepositaccounts/{accountId}?command=undoApproval + Undo fixed deposit application approval + + + + + + + fixeddepositaccounts/{accountId}?command=reject + Reject a fixed deposit application + + + + + + + fixeddepositaccounts/{accountId}?command=withdraw + Withdraw fixed deposit application + + + + + + + fixeddepositaccounts/{accountId}?command=activate + Activate a fixed deposit account + + + + + + + fixeddepositaccounts/{accountId}?command=close + Close a fixed deposit account + + + + + + + fixeddepositaccounts/{accountId}?command=prematureClose + Premature Close a fixed deposit account + + + + + + + fixeddepositaccounts/{accountId}?command=calculatePrematureAmount + Calculate Premature amount on a fixed deposit account + + + + + + + fixeddepositaccounts/{accountId}?command=calculateInterest + Calculate interest on a fixed deposit account + + + + + + + fixeddepositaccounts/{accountId}?command=postInterest + Post interest on a fixed deposit account + + + + + + Recurring Deposit Accounts + recurringdepositaccounts + Submit new recurring deposit application + List recurring deposit application/accounts + + + + + + recurringdepositaccounts/{accountId} + + Retrieve a recurring deposit application/account + Modify a recurring deposit application + Delete a recurring deposit application + + + + recurringdepositaccounts/{accountId}?command=approve + Approve a recurring deposit application + + + + + + + recurringdepositaccounts/{accountId}?command=undoApproval + Undo recurring deposit application approval + + + + + + + recurringdepositaccounts/{accountId}?command=reject + Reject a recurring deposit application + + + + + + + recurringdepositaccounts/{accountId}?command=withdraw + Withdraw recurring deposit application + + + + + + + recurringdepositaccounts/{accountId}?command=activate + Activate a recurring deposit account + + + + + + + recurringdepositaccounts/{accountId}?command=close + Close a recurring deposit account + + + + + + + recurringdepositaccounts/{accountId}?command=prematureClose + Premature Close a recurring deposit account + + + + + + + recurringdepositaccounts/{accountId}?command=calculatePrematureAmount + Calculate Premature amount on a recurring deposit account + + + + + + + recurringdepositaccounts/{accountId}?command=calculateInterest + Calculate interest on a recurring deposit account + + + + + + + recurringdepositaccounts/{accountId}?command=calculateInterest + Calculate interest on a recurring deposit account + + + + + + + recurringdepositaccounts/{accountId}?command=postInterest + Post interest on a recurring deposit account + + + + @@ -1128,6 +1328,38 @@ Update a savings product Delete a savings product + + Fixed Deposit Product + fixeddepositproducts + Create a Fixed Deposit product + List Fixed Deposit products + + + + + + fixeddepositproducts/{productId} + + Retrieve a Fixed Deposit product + Update a Fixed Deposit product + Delete a Fixed Deposit product + + + Recurring Deposit Product + recurringdepositproducts + Create a Recurring Deposit product + List Recurring Deposit products + + + + + + recurringdepositproducts/{productId} + + Retrieve a Recurring Deposit product + Update a Recurring Deposit product + Delete a Recurring Deposit product + Currency currencies @@ -1250,6 +1482,38 @@ Update a UGD Delete a UGD + + Interest Rate Charts + charts + Create a Chart + List Charts + + + + + + interestratecharts/{chartId} + + Retrieve a Chart + Update a Chart + Delete a Chart + + + Interest Rate Slabs + slabs + Create a Slab + List Slabs + + + + + + interestrateslabs/{slabId} + + Retrieve a Slab + Update a Slab + Delete a Slab + @@ -14685,6 +14949,1015 @@ Content-Type: application/json + +   +
+
+

Fixed Deposit Product:

+

This is one of the advanced term deposit product offered by MFI's. The Fixed Deposit Products (aka FD) product offerings are modeled using this API.

+

The FD products are deposit accounts which are held for a fixed term – like 1 year, 2 years etc.

+

When creating fixed deposit accounts, the details from the fixed deposit product are used to auto fill details of the fixed deposit account application process.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Descriptions
name
The name of the product offering.
shortName
Shortname associated with a fixed deposit product.
+ An abbreviated version of the name, used in reports or menus where space is limited. +
description
A description of the product offering.
currencyCode
Three letter ISO code representing currency.
digitsAfterDecimal
Override the currency default value for digitsAfterDecimal.
inMultiplesOf
Override the default value for rounding currency to multiples of provided value.
interestCompoundingPeriodType
The period at which interest rate is compounded. 1=Daily, 4=Monthly (at end of month)
interestPostingPeriodType
The period at which interest rate is posted or credited to fixed deposit account. 4=Monthly (at end of month), 5=Quarterly (at end of quarter, 31st Mar, 30th Jun, 30th Sep, 31st Dec)
interestCalculationType
The interest calculation method used: 1=Daily Balance or 2=Average Daily Balance
interestCalculationDaysInYearType
The setting for number of days in year to use: 360=360 Days, 365=365 Days
lockinPeriodFrequency
Optional: If provided, used along with lockinPeriodFrequencyType to indicate the length of time that the fixed deposit account is 'locked in' and premature closure is not allowed. e.g. 2 Months
lockinPeriodFrequencyType
Optional: If provided, used along with lockinPeriodFrequency to indicate the length of time that the fixed deposit account is 'locked in' and premature closure is not allowed. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 2 Months
minDepositTerm
This is used along with minDepositTermTypeId to define allowed minimum deposit term for creating a fixed deposit account using this product. e.g. 6 Months
minDepositTermTypeId
Used along with minDepositTerm to define allowed minimum deposit term for creating a fixed deposit account using this product. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 6 Months +
maxDepositTerm
Optional: If provided, used along with maxDepositTermTypeId to define allowed maximum deposit term for creating a fixed deposit account using this product. e.g. 3 Years
maxDepositTermTypeId
Optional: If provided, used along with maxDepositTerm to define allowed maximum deposit term for creating a fixed deposit account using this product. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 3 Years +
inMultiplesOfDepositTerm
Optional: If provided, used along with inMultiplesOfDepositTermTypeId to indicate the allowed deposit periods after minimum deposit period. e.g. If inMultiplesOfDepositTerm is 3 Months then the next allowed deposit period after minimum deposit of 6 Months should be 9 Months.
inMultiplesOfDepositTermTypeId
Optional: If provided, used along with inMultiplesOfDepositTerm to indicate the allowed deposit periods after minimum deposit period. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. If inMultiplesOfDepositTerm is 3 Months then the next allowed deposit period after minimum deposit of 6 Months should be 9 Months. +
preClosurePenalApplicable
Optional: expects boolean value true/false, If provided as true then must provide preClosurePenalInterest and preClosurePenalInterestOnTypeId.
preClosurePenalInterest
Optional: Must provide when preClosurePenalApplicable is true. Used along with preClosurePenalInterestOnTypeId to apply a penalalty on top of applicable interest rate for Pre-mature closure of accounts. e.g. “1%” means 1% less than the interest rate applicable.
preClosurePenalInterestOnTypeId
Optional: Must provide when preClosurePenalApplicable is true. Used along with preClosurePenalInterest to decide what should be the applicable interest rate to which penalalty can be applied on Pre-mature closure of accounts. 1=Whole Term, 2=Till Premature withdrawal e.g. “1%” means 1% less than the interest rate applicable till premature withdrawal.
accountingRule
Specifies if accounting is enabled for the particular + product and the type of the accounting rule to be used + Example Values:1=NONE,2=CASH_BASED
+
+
+ +   +
+
+

Create a Fixed Deposit Product

+ + + + + +
Mandatory Fields
name, shortName, description, currencyCode, digitsAfterDecimal,inMultiplesOf, + interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, minDepositTerm, minDepositTermTypeId, accountingRule
+
+ + + + + +
Mandatory Fields for Cash based accounting (accountingRule = 2)
savingsReferenceAccountId, savingsControlAccountId, interestOnSavingsAccountId, incomeFromFeeAccountId, transfersInSuspenseAccountId, incomeFromPenaltyAccountId
+
+ + + +
Optional Fields
lockinPeriodFrequency, lockinPeriodFrequencyType, maxDepositTerm, maxDepositTermTypeId, inMultiplesOfDepositTerm, inMultiplesOfDepositTermTypeId, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, charges, charts
+
+
+ POST https://Domain Name/api/v1/fixeddepositproducts + POST fixeddepositproducts +Content-Type: application/json +Request Body: +{ + "name": "Fixed deposit product", + "shortName": "FD01", + "description": "Daily compounding using Daily Balance, 5% per year, 365 days in year", + "currencyCode": "USD", + "digitsAfterDecimal": 2, + "inMultiplesOf": 0, + "locale": "en", + "interestCompoundingPeriodType": 1, + "interestPostingPeriodType":4, + "interestCalculationType": 1, + "interestCalculationDaysInYearType": "365", + "accountingRule":"1", + "preClosurePenalApplicable":"true", + "preClosurePenalInterest":"1.75", + "preClosurePenalInterestOnTypeId":1, + "minDepositTerm":1, + "minDepositTermTypeId":1, + "maxDepositTerm":5, + "maxDepositTermTypeId":3, + "charts":[ + { + "fromDate": "01 Jan 2014", + "locale":"en", + "dateFormat":"dd MMMM yyyy", + "dateFormat":"dd MMMM yyyy", + "chartSlabs":[ + { + "description":"from 0 to 90 days", + "periodType":"1", + "fromPeriod":"0", + "toPeriod":"90", + "annualInterestRate":"4.5" + } + ] + } + ] +} + + +{ + "resourceId": 1 +} + +
+
+ +   +
+
+

Retrieve a Fixed Deposit Product

+

Example Requests:

+
fixeddepositproducts/1
+

+
fixeddepositproducts/1?template=true
+

+
fixeddepositproducts/1?fields=name,description
+
+
+ GET https://Domain Name/api/v1/fixeddepositproducts/1 + +{ + "id": 1, + "name": "Fixed deposit product", + "shortName": "FD01", + "description": "Daily compounding using Daily Balance, 5% per year, 365 days in year", + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "interestCompoundingPeriodType": { + "id": 1, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.daily", + "value": "Daily" + }, + "interestPostingPeriodType": { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestCalculationType": { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + "interestCalculationDaysInYearType": { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + }, + "accountingMappings": { + "savingsReferenceAccount": { + "id": 12, + "name": "savings ref", + "glCode": "20" + }, + "incomeFromFeeAccount": { + "id": 16, + "name": "income from savings fee", + "glCode": "24" + }, + "incomeFromPenaltyAccount": { + "id": 17, + "name": "income from sav penalites", + "glCode": "25" + }, + "interestOnSavingsAccount": { + "id": 15, + "name": "interest on savings", + "glCode": "23" + }, + "savingsControlAccount": { + "id": 13, + "name": "savings ref tool kit", + "glCode": "21" + }, + "transfersInSuspenseAccount": { + "id": 14, + "name": "saving transfers", + "glCode": "22" + } + }, + "feeToIncomeAccountMappings": [ + { + "charge": { + "id": 11, + "name": "sav charge", + "active": false, + "penalty": false + }, + "incomeAccount": { + "id": 16, + "name": "income from savings fee", + "glCode": "24" + } + } + ], + "penaltyToIncomeAccountMappings": [ + { + "charge": { + "id": 12, + "name": "sav 2", + "active": false, + "penalty": true + }, + "incomeAccount": { + "id": 17, + "name": "income from sav penalites", + "glCode": "25" + } + } + ], + "preClosurePenalApplicable":"true", + "preClosurePenalInterest":"1.75", + "preClosurePenalInterestOnType": { + "id": 1, + "code": "preClosurePenalInterestOnType.wholeTerm", + "value": "Whole term" + }, + "minDepositTerm":1, + "minDepositTermType": { + "id": 1, + "code": "deposit.term.savingsPeriodFrequencyType.weeks", + "value": "Weeks" + }, + "maxDepositTerm":5, + "maxDepositTermType": { + "id": 3, + "code": "deposit.term.savingsPeriodFrequencyType.years", + "value": "Years" + }, + "activeChart": { + "id": 8, + "fromDate": [ + 2014, + 1, + 1 + ], + "savingsProductId": 8, + "savingsProductName": "Fixed deposit product", + "chartSlabs": [ + { + "id": 18, + "description": "from 0 to 90 days", + "periodType": { + "id": 1, + "code": "interestChartPeriodType.weeks", + "value": "Weeks" + }, + "fromPeriod": 0, + "toPeriod": 90, + "annualInterestRate": 4.5, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } + } + ], + "periodTypes": [ + { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + { + "id": 1, + "code": "interestChartPeriodType.weeks", + "value": "Weeks" + }, + { + "id": 2, + "code": "interestChartPeriodType.months", + "value": "Months" + }, + { + "id": 3, + "code": "interestChartPeriodType.years", + "value": "Years" + } + ] + } +} + +
+
+ +   +
+
+

Update a Fixed Deposit Product

+
+
+ PUT https://Domain Name/api/v1/fixeddepositproducts/{productId} + POST fixeddepositproducts/1 +Content-Type: application/json +Request Body: +{ + "description": "Fixed deposit product new offerings", + "locale": "en", + "minDepositTerm":5, + "minDepositTermTypeId":1, +} + + +{ + "resourceId": 1, + "changes": { + "description": "Fixed deposit product new offerings", + "minDepositTerm": 5 + } +} + +
+
+ +   +
+
+

Delete a Fixed Deposit Product

+
+
+ +DELETE https://Domain Name/api/v1/fixeddepositdproducts/{productId} + + +DELETE fixeddepositdproducts/1 +Content-Type: application/json + + +{ + "resourceId": 1 +} + +
+
+ +   +
+
+

List Fixed Deposit Products

+

Example Requests:

+
fixeddepositproducts
+

+
fixeddepositproducts?fields=name
+
+
+ GET https://Domain Name/api/v1/fixeddepositproducts + +[ + { + "id": 3, + "name": "FD01", + "shortName": "FD01", + "description": "FD01", + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "preClosurePenalApplicable": false, + "minDepositTerm": 3, + "maxDepositTerm": 4, + "minDepositTermType": { + "id": 2, + "code": "deposit.term.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "maxDepositTermType": { + "id": 3, + "code": "deposit.term.savingsPeriodFrequencyType.years", + "value": "Years" + }, + "nominalAnnualInterestRate": 0, + "interestCompoundingPeriodType": { + "id": 4, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestPostingPeriodType": { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestCalculationType": { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + "interestCalculationDaysInYearType": { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + }, + "accountingRule": { + "id": 1, + "code": "accountingRuleType.none", + "value": "NONE" + } + } +] +
+
+ + + +   +
+
+

Recurring Deposit Product:

+

Recurring Deposits are a special kind of Term Deposits offered by MFI's. The Recurring Deposit Products (aka RD) product offerings are modeled using this API.

+

Recurring Deposits help people with regular incomes to deposit a fixed amount every month (specified recurring frequency) into their Recurring Deposit account.

+

When creating recurring deposit accounts, the details from the recurring deposit product are used to auto fill details of the recurring deposit account application process.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Descriptions
name
The name of the product offering.
shortName
Shortname associated with a recurring deposit product.
+ An abbreviated version of the name, used in reports or menus where space is limited. +
description
A description of the product offering.
currencyCode
Three letter ISO code representing currency.
digitsAfterDecimal
Override the currency default value for digitsAfterDecimal.
inMultiplesOf
Override the default value for rounding currency to multiples of provided value.
interestCompoundingPeriodType
The period at which interest rate is compounded. 1=Daily, 4=Monthly (at end of month)
interestPostingPeriodType
The period at which interest rate is posted or credited to recurring deposit account. 4=Monthly (at end of month), 5=Quarterly (at end of quarter, 31st Mar, 30th Jun, 30th Sep, 31st Dec)
interestCalculationType
The interest calculation method used: 1=Daily Balance or 2=Average Daily Balance
interestCalculationDaysInYearType
The setting for number of days in year to use: 360=360 Days, 365=365 Days
lockinPeriodFrequency
Optional: If provided, used along with lockinPeriodFrequencyType to indicate the length of time that the recurring deposit account is 'locked in' and premature closure is not allowed. e.g. 2 Months
lockinPeriodFrequencyType
Optional: If provided, used along with lockinPeriodFrequency to indicate the length of time that the recurring deposit account is 'locked in' and premature closure is not allowed. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 2 Months
recurringDepositFrequency
The frequency for depositing a fixed amount to recurring deposit account.
recurringDepositFrequencyTypeId
Used along with recurringDepositFrequency to define frequency for depositing a fixed amount to recurring deposit account. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. deposit every 1 Months +
minDepositTerm
This is used along with minDepositTermTypeId to define allowed minimum deposit term for creating a recurring deposit account using this product. e.g. 6 Months
minDepositTermTypeId
Used along with minDepositTerm to define allowed minimum deposit term for creating a recurring deposit account using this product. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 6 Months +
maxDepositTerm
Optional: If provided, used along with maxDepositTermTypeId to define allowed maximum deposit term for creating a recurring deposit account using this product. e.g. 3 Years
maxDepositTermTypeId
Optional: If provided, used along with maxDepositTerm to define allowed maximum deposit term for creating a recurring deposit account using this product. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 3 Years +
inMultiplesOfDepositTerm
Optional: If provided, used along with inMultiplesOfDepositTermTypeId to indicate the allowed deposit periods after minimum deposit period. e.g. If inMultiplesOfDepositTerm is 3 Months then the next allowed deposit period after minimum deposit of 6 Months should be 9 Months.
inMultiplesOfDepositTermTypeId
Optional: If provided, used along with inMultiplesOfDepositTerm to indicate the allowed deposit periods after minimum deposit period. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. If inMultiplesOfDepositTerm is 3 Months then the next allowed deposit period after minimum deposit of 6 Months should be 9 Months. +
preClosurePenalApplicable
Optional: expects boolean value true/false, If provided as true then must provide preClosurePenalInterest and preClosurePenalInterestOnTypeId.
preClosurePenalInterest
Optional: Must provide when preClosurePenalApplicable is true. Used along with preClosurePenalInterestOnTypeId to apply a penalalty on top of applicable interest rate for Pre-mature closure of accounts. e.g. “1%” means 1% less than the interest rate applicable.
preClosurePenalInterestOnTypeId
Optional: Must provide when preClosurePenalApplicable is true. Used along with preClosurePenalInterest to decide what should be the applicable interest rate to which penalalty can be applied on Pre-mature closure of accounts. 1=Whole Term, 2=Till Premature withdrawal e.g. “1%” means 1% less than the interest rate applicable till premature withdrawal.
accountingRule
Specifies if accounting is enabled for the particular + product and the type of the accounting rule to be used + Example Values:1=NONE,2=CASH_BASED
+
+
+ +   +
+
+

Create a Recurring Deposit Product

+ + + + + +
Mandatory Fields
name, shortName, description, currencyCode, digitsAfterDecimal,inMultiplesOf, + interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, minDepositTerm, minDepositTermTypeId, recurringDepositFrequency, recurringDepositFrequencyTypeId, accountingRule
+
+ + + + + +
Mandatory Fields for Cash based accounting (accountingRule = 2)
savingsReferenceAccountId, savingsControlAccountId, interestOnSavingsAccountId, incomeFromFeeAccountId, transfersInSuspenseAccountId, incomeFromPenaltyAccountId
+
+ + + +
Optional Fields
lockinPeriodFrequency, lockinPeriodFrequencyType, maxDepositTerm, maxDepositTermTypeId, inMultiplesOfDepositTerm, inMultiplesOfDepositTermTypeId, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, charges, charts
+
+
+ POST https://Domain Name/api/v1/recurringdepositproducts + POST recurringdepositproducts +Content-Type: application/json +Request Body: +{ + "name": "Recurring deposit product", + "shortName": "RD01", + "description": "Daily compounding using Daily Balance, 5% per year, 365 days in year", + "currencyCode": "USD", + "digitsAfterDecimal": 2, + "inMultiplesOf": 0, + "locale": "en", + "interestCompoundingPeriodType": 1, + "interestPostingPeriodType":4, + "interestCalculationType": 1, + "interestCalculationDaysInYearType": "365", + "accountingRule":"1", + "recurringDepositFrequency":1, + "recurringDepositFrequencyTypeId":2, + "preClosurePenalApplicable":"true", + "preClosurePenalInterest":"1.75", + "preClosurePenalInterestOnTypeId":1, + "minDepositTerm":1, + "minDepositTermTypeId":1, + "maxDepositTerm":5, + "maxDepositTermTypeId":3, + "charts":[ + { + "fromDate": "01 Jan 2014", + "locale":"en", + "dateFormat":"dd MMMM yyyy", + "dateFormat":"dd MMMM yyyy", + "chartSlabs":[ + { + "description":"from 0 to 90 days", + "periodType":"1", + "fromPeriod":"0", + "toPeriod":"90", + "annualInterestRate":"4.5" + } + ] + } + ] +} + + +{ + "resourceId": 1 +} + +
+
+ +   +
+
+

Retrieve a Recurring Deposit Product

+

Example Requests:

+
recurringdepositproducts/1
+

+
recurringdepositproducts/1?template=true
+

+
recurringdepositproducts/1?fields=name,description
+
+
+ GET https://Domain Name/api/v1/recurringdepositproducts/1 + +{ + "id": 1, + "name": "Recurring deposit product", + "shortName": "RD01", + "description": "Daily compounding using Daily Balance, 5% per year, 365 days in year", + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "interestCompoundingPeriodType": { + "id": 1, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.daily", + "value": "Daily" + }, + "interestPostingPeriodType": { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestCalculationType": { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + "interestCalculationDaysInYearType": { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + }, + "accountingMappings": { + "savingsReferenceAccount": { + "id": 12, + "name": "savings ref", + "glCode": "20" + }, + "incomeFromFeeAccount": { + "id": 16, + "name": "income from savings fee", + "glCode": "24" + }, + "incomeFromPenaltyAccount": { + "id": 17, + "name": "income from sav penalites", + "glCode": "25" + }, + "interestOnSavingsAccount": { + "id": 15, + "name": "interest on savings", + "glCode": "23" + }, + "savingsControlAccount": { + "id": 13, + "name": "savings ref tool kit", + "glCode": "21" + }, + "transfersInSuspenseAccount": { + "id": 14, + "name": "saving transfers", + "glCode": "22" + } + }, + "feeToIncomeAccountMappings": [ + { + "charge": { + "id": 11, + "name": "sav charge", + "active": false, + "penalty": false + }, + "incomeAccount": { + "id": 16, + "name": "income from savings fee", + "glCode": "24" + } + } + ], + "penaltyToIncomeAccountMappings": [ + { + "charge": { + "id": 12, + "name": "sav 2", + "active": false, + "penalty": true + }, + "incomeAccount": { + "id": 17, + "name": "income from sav penalites", + "glCode": "25" + } + } + ], + "recurringDepositFrequency":1, + "recurringDepositFrequencyType": { + "id": 2, + "code": "recurring.deposit.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "preClosurePenalApplicable":"true", + "preClosurePenalInterest":"1.75", + "preClosurePenalInterestOnType": { + "id": 1, + "code": "preClosurePenalInterestOnType.wholeTerm", + "value": "Whole term" + }, + "minDepositTerm":1, + "minDepositTermType": { + "id": 1, + "code": "deposit.term.savingsPeriodFrequencyType.weeks", + "value": "Weeks" + }, + "maxDepositTerm":5, + "maxDepositTermType": { + "id": 3, + "code": "deposit.term.savingsPeriodFrequencyType.years", + "value": "Years" + }, + "activeChart": { + "id": 8, + "fromDate": [ + 2014, + 1, + 1 + ], + "savingsProductId": 8, + "savingsProductName": "Fixed deposit product", + "chartSlabs": [ + { + "id": 18, + "description": "from 0 to 90 days", + "periodType": { + "id": 1, + "code": "interestChartPeriodType.weeks", + "value": "Weeks" + }, + "fromPeriod": 0, + "toPeriod": 90, + "annualInterestRate": 4.5, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } + } + ], + "periodTypes": [ + { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + { + "id": 1, + "code": "interestChartPeriodType.weeks", + "value": "Weeks" + }, + { + "id": 2, + "code": "interestChartPeriodType.months", + "value": "Months" + }, + { + "id": 3, + "code": "interestChartPeriodType.years", + "value": "Years" + } + ] + } +} + +
+
+ +   +
+
+

Update a Recurring Deposit Product

+
+
+ PUT https://Domain Name/api/v1/recurringdepositproducts/{productId} + POST recurringdepositproducts/1 +Content-Type: application/json +Request Body: +{ + "description": "Recurring deposit product new offerings", + "locale": "en", + "minDepositTerm":5, + "minDepositTermTypeId":1, +} + + +{ + "resourceId": 1, + "changes": { + "description": "Recurring deposit product new offerings", + "minDepositTerm": 5 + } +} + +
+
+ +   +
+
+

Delete a Recurring Deposit Product

+
+
+ +DELETE https://Domain Name/api/v1/recurringdepositdproducts/{productId} + + +DELETE recurringdepositdproducts/1 +Content-Type: application/json + + +{ + "resourceId": 1 +} + +
+
+ +   +
+
+

List Recuring Deposit Products

+

Example Requests:

+
recurringdepositproducts
+

+
recurringdepositproducts?fields=name
+
+
+ GET https://Domain Name/api/v1/recurringdepositproducts + +[ + { + "id": 3, + "name": "RD01", + "shortName": "RD01", + "description": "RD01", + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "recurringDepositFrequency":1, + "recurringDepositFrequencyType": { + "id": 2, + "code": "recurring.deposit.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "preClosurePenalApplicable": false, + "minDepositTerm": 3, + "maxDepositTerm": 4, + "minDepositTermType": { + "id": 2, + "code": "deposit.term.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "maxDepositTermType": { + "id": 3, + "code": "deposit.term.savingsPeriodFrequencyType.years", + "value": "Years" + }, + "interestCompoundingPeriodType": { + "id": 4, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestPostingPeriodType": { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestCalculationType": { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + "interestCalculationDaysInYearType": { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + }, + "accountingRule": { + "id": 1, + "code": "accountingRuleType.none", + "value": "NONE" + } + } +] +
+
+ +  
@@ -16654,6 +17927,3026 @@ No Request Body:
+ + +   +
+
+

Fixed Deposit Account:

+

Fixed Deposit accounts are instances of a praticular fixed deposit product created. An application process around the creation of accounts is also supported.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Starting StateActionResultant State
-SubmitSubmitted and pending approval
Submitted and pending approvalRejectClosed - Rejected
Submitted and pending approvalWithdrawn by ApplicantClosed - Withdrawn by Applicant
Submitted and pending approvalApproveApproved
ApprovedUndo ApprovalSubmitted and pending approval
ApprovedActivateActive
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Descriptions
clientId
The client you are creating the fixed deposit account for. Either clientId or groupId must be provided.
groupId
The group you are creating the fixed deposit account for. Either clientId or groupId must be provided.
productId
The id of the product used for this fixed deposit account. The fixed deposit account inherits the selected currency of the product and possibly other details if not overridden in the fixed deposit account creation request.
accountNo
The account no. associated with this fixed deposit. Is auto generated if not provided at creation time.
externalId
A place to put an external reference for this fixed deposit account useful in migrations e.g. The ID another system uses. If provided, it must be unique.
submittedOnDate
submittedOnDate must be provided when initially creating fixed deposit account application. locale and dateFormat parameters must be provided with this.
interestCompoundingPeriodType
The period at which interest rate is compounded. 1=Daily, 4=Monthly (at end of month)
interestPostingPeriodType
The period at which interest rate is posted or credited to fixed deposit account. The actual crediting or posting transaction is date as occurring on the day after the end of the period. 4=Monthly (at end of month), 5=Quarterly (at end of quarter, 31st Mar, 30th Jun, 30th Sep, 31st Dec), 7=Annually (at end of calendar year 31st Dec)
interestCalculationType
The interest calculation method used: 1=Daily Balance or 2=Average Daily Balance
interestCalculationDaysInYearType
The setting for number of days in year to use: 360=360 Days, 365=365 Days
lockinPeriodFrequency
Optional: If provided, used along with lockinPeriodFrequencyType to indicate the length of time that the fixed deposit account is 'locked in' and withdrawals are not allowed. e.g. 6 Months
lockinPeriodFrequencyType
Optional: If provided, used along with lockinPeriodFrequency to indicate the length of time that the fixed deposit account is 'locked in' and withdrawals are not allowed. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 6 Months
depositAmount
The fixed deposit amount for which interest is provided on maturity.
depositPeriod
Used along with depositPeriodFrequencyId to define term for which amount is deposited in fixed deposit. e.g. 6 Months
depositPeriodFrequencyId
Used along with depositPeriod to define term for which amount is deposited in fixed deposit. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 6 Months +
minDepositTerm
This is used along with minDepositTermTypeId to define allowed minimum deposit term for creating a fixed deposit account using this product. e.g. 6 Months
minDepositTermTypeId
Used along with minDepositTerm to define allowed minimum deposit term for creating a fixed deposit account using this product. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 6 Months +
maxDepositTerm
Optional: If provided, used along with maxDepositTermTypeId to define allowed maximum deposit term for creating a fixed deposit account using this product. e.g. 3 Years
maxDepositTermTypeId
Optional: If provided, used along with maxDepositTerm to define allowed maximum deposit term for creating a fixed deposit account using this product. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 3 Years +
inMultiplesOfDepositTerm
Optional: If provided, used along with inMultiplesOfDepositTermTypeId to indicate the allowed deposit periods after minimum deposit period. e.g. If inMultiplesOfDepositTerm is 3 Months then the next allowed deposit period after minimum deposit of 6 Months should be 9 Months.
inMultiplesOfDepositTermTypeId
Optional: If provided, used along with inMultiplesOfDepositTerm to indicate the allowed deposit periods after minimum deposit period. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. If inMultiplesOfDepositTerm is 3 Months then the next allowed deposit period after minimum deposit of 6 Months should be 9 Months. +
preClosurePenalApplicable
Optional: expects boolean value true/false, If provided as true then must provide preClosurePenalInterest and preClosurePenalInterestOnTypeId.
preClosurePenalInterest
Optional: Must provide when preClosurePenalApplicable is true. Used along with preClosurePenalInterestOnTypeId to apply a penalalty on top of applicable interest rate for Pre-mature closure of accounts. e.g. “1%” means 1% less than the interest rate applicable.
preClosurePenalInterestOnTypeId
Optional: Must provide when preClosurePenalApplicable is true. Used along with preClosurePenalInterest to decide what should be the applicable interest rate to which penalalty can be applied on Pre-mature closure of accounts. 1=Whole Term, 2=Till Premature withdrawal e.g. “1%” means 1% less than the interest rate applicable till premature withdrawal.
+
+
+ +   +
+
+

Retrieve Fixed Deposit Account Template:

+

This is a convenience resource. It can be useful when building maintenance user interface screens for fixed deposit applications. The template data returned consists of any or all of: +

+

+

Arguments

+
+
clientId
+
Integer mandatory
+
productId
+
Integer optional
+
If entered, productId, productName and selectedProduct fields are returned.
+
+

Example Requests:

+
fixeddepositaccounts/template?clientId=1
+

+
fixeddepositaccounts/template?clientId=1&productId=1
+
+
+ GET https://Domain Name/api/v1/fixeddepositaccounts/template?clientId={clientId} + +{ + "clientId": 1, + "clientName": "small business", + "productOptions": [ + { + "id": 1, + "name": "Passbook Savings" + } + ] +} + +
+ +
+ GET https://Domain Name/api/v1/fixeddepositaccounts/template?clientId={clientId}&productId={productId} + +{ + "clientId": 1, + "clientName": "small business", + "savingsProductId": 1, + "savingsProductName": "Passbook Savings", + "timeline": {}, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "nominalAnnualInterestRate": 5, + "interestCompoundingPeriodType": { + "id": 1, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.daily", + "value": "Daily" + }, + "interestPostingPeriodType": { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestCalculationType": { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + "interestCalculationDaysInYearType": { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + }, + "productOptions": [ + { + "id": 1, + "name": "Passbook Savings" + } + ], + "fieldOfficerOptions": [ + { + "id": 3, + "firstname": "Mrs.", + "lastname": "loanofficerB1", + "displayName": "loanofficerB1, Mrs.", + "officeId": 2, + "officeName": "branch 1", + "isLoanOfficer": true + }, + { + "id": 1, + "firstname": "Mr.", + "lastname": "loanofficerHO", + "displayName": "loanofficerHO, Mr.", + "officeId": 1, + "officeName": "branch 1", + "isLoanOfficer": true + } + ], + "interestCompoundingPeriodTypeOptions": [ + { + "id": 1, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.daily", + "value": "Daily" + }, + { + "id": 4, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.monthly", + "value": "Monthly" + } + ], + "interestPostingPeriodTypeOptions": [ + { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + { + "id": 5, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.quarterly", + "value": "Quarterly" + }, + { + "id": 7, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.annual", + "value": "Annually" + } + ], + "interestCalculationTypeOptions": [ + { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + { + "id": 2, + "code": "savingsInterestCalculationType.averagedailybalance", + "value": "Average Daily Balance" + } + ], + "interestCalculationDaysInYearTypeOptions": [ + { + "id": 360, + "code": "savingsInterestCalculationDaysInYearType.days360", + "value": "360 Days" + }, + { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + } + ], + "lockinPeriodFrequencyTypeOptions": [ + { + "id": 0, + "code": "savings.lockin.savingsPeriodFrequencyType.days", + "value": "Days" + }, + { + "id": 1, + "code": "savings.lockin.savingsPeriodFrequencyType.weeks", + "value": "Weeks" + }, + { + "id": 2, + "code": "savings.lockin.savingsPeriodFrequencyType.months", + "value": "Months" + }, + { + "id": 3, + "code": "savings.lockin.savingsPeriodFrequencyType.years", + "value": "Years" + } + ], + "withdrawalFeeTypeOptions": [ + { + "id": 1, + "code": "savingsWithdrawalFeesType.flat", + "value": "Flat" + }, + { + "id": 2, + "code": "savingsWithdrawalFeesType.percent.of.amount", + "value": "% of Amount" + } + ], + "chargeOptions": [ + { + "id": 4, + "name": "Savings charge 1", + "active": true, + "penalty": false, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "amount": 200, + "chargeTimeType": { + "id": 2, + "code": "chargeTimeType.specifiedDueDate", + "value": "Specified due date" + }, + "chargeAppliesTo": { + "id": 2, + "code": "chargeAppliesTo.savings", + "value": "Savings" + }, + "chargeCalculationType": { + "id": 1, + "code": "chargeCalculationType.flat", + "value": "Flat" + }, + "chargePaymentMode": { + "id": 0, + "code": "chargepaymentmode.regular", + "value": "chargepaymentmode.regular" + } + }, + { + "id": 5, + "name": "Savings charge 2", + "active": true, + "penalty": false, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "amount": 300, + "chargeTimeType": { + "id": 2, + "code": "chargeTimeType.specifiedDueDate", + "value": "Specified due date" + }, + "chargeAppliesTo": { + "id": 2, + "code": "chargeAppliesTo.savings", + "value": "Savings" + }, + "chargeCalculationType": { + "id": 1, + "code": "chargeCalculationType.flat", + "value": "Flat" + }, + "chargePaymentMode": { + "id": 0, + "code": "chargepaymentmode.regular", + "value": "chargepaymentmode.regular" + } + }, + { + "id": 6, + "name": "Annual fee", + "active": true, + "penalty": false, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "amount": 50, + "chargeTimeType": { + "id": 6, + "code": "chargeTimeType.annualFee", + "value": "Annual Fee" + }, + "chargeAppliesTo": { + "id": 2, + "code": "chargeAppliesTo.savings", + "value": "Savings" + }, + "chargeCalculationType": { + "id": 1, + "code": "chargeCalculationType.flat", + "value": "Flat" + }, + "chargePaymentMode": { + "id": 0, + "code": "chargepaymentmode.regular", + "value": "Regular" + } + }, + { + "id": 7, + "name": "Quarterly fee", + "active": true, + "penalty": false, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "amount": 5, + "chargeTimeType": { + "id": 7, + "code": "chargeTimeType.monthlyFee", + "value": "Monthly Fee" + }, + "chargeAppliesTo": { + "id": 2, + "code": "chargeAppliesTo.savings", + "value": "Savings" + }, + "chargeCalculationType": { + "id": 1, + "code": "chargeCalculationType.flat", + "value": "Flat" + }, + "chargePaymentMode": { + "id": 0, + "code": "chargepaymentmode.regular", + "value": "Regular" + }, + "feeOnMonthDay": [ + 10, + 5 + ], + "feeInterval": 4 + } + ] +} + +
+
+ +   +
+
+

Submit new fixed deposit application

+
+ + + +
Mandatory Fields
clientId or groupId, productId, submittedOnDate, depositAmount, depositPeriod, depositPeriodFrequencyId
+
+ + + +
Optional Fields
accountNo, externalId, fieldOfficerId
+
+ + + + +
Inherited from Product (if not provided)
interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, lockinPeriodFrequency, lockinPeriodFrequencyType, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, charts
+
+
+

Minimal request: accountNo auto generated, remaining details inherited from fixed deposit product.

+ POST https://Domain Name/api/v1/fixeddepositaccounts + POST fixeddepositaccount +Content-Type: application/json +Request Body: +{ + "clientId": 1, + "productId": 1, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "submittedOnDate": "01 March 2014", + "depositAmount":"5000", + "depositPeriod":"6", + "depositPeriodFrequencyId":"2" +} + +

Minimal request: accountNo provided (must be unique), remaining details inherited from fixed deposit product.

+ POST fixeddepositaccount +Content-Type: application/json +Request Body: +{ + "clientId": 1, + "productId": 1, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "submittedOnDate": "01 March 2014", + "depositAmount":"5000", + "depositPeriod":"6", + "depositPeriodFrequencyId":"2", + "accountNo": "FD000023", + "externalId": "FD-23" +} + +

Full request: accountNo provided (must be unique), remaining details override details from fixed deposit product (except currency).

+ POST savingsaccount +Content-Type: application/json +Request Body: +{ + "clientId": 1, + "productId": 1, + "fieldOfficerId": 1, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "submittedOnDate": "01 March 2014", + "accountNo": "FD000024", + "externalId": "FD-24", + "interestCompoundingPeriodType": 1, + "interestPostingPeriodType": 4, + "interestCalculationType": 1, + "interestCalculationDaysInYearType": 365, + "depositAmount":"5000", + "depositPeriod":"6", + "depositPeriodFrequencyId":"2", + "lockinPeriodFrequency": 6, + "lockinPeriodFrequencyType": 2, + "charges":[{"id":"1"}] +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1 +} + +
+
+ +   +
+
+

Approve fixed deposit application

+

Approves fixed deposit application so long as its in 'Submitted and pending approval' state.

+
+
+ POST https://Domain Name/api/v1/fixeddepositaccounts/{accountId}?command=approve + POST fixeddepositaccounts/1?command=approve +Content-Type: application/json +Request Body: +{ + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "approvedOnDate": "01 March 2013" +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 200, + "code": "savingsAccountStatusType.approved", + "value": "Approved", + "submittedAndPendingApproval": false, + "approved": true, + "rejected": false, + "withdrawnByApplicant": false, + "active": false, + "closed": false + }, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "approvedOnDate": "01 March 2013" + } +} + +
+
+ +   +
+
+

Undo approval fixed deposit application

+

Will move 'approved' fixed deposit application back to 'Submitted and pending approval' state.

+
+
+ POST https://Domain Name/api/v1/fixeddepositaccounts/{accountId}?command=undoApproval + POST fixeddepositaccounts/1?command=undoApproval +Content-Type: application/json +Request Body: +{ +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 100, + "code": "savingsAccountStatusType.submitted.and.pending.approval", + "value": "Submitted and pending approval", + "submittedAndPendingApproval": true, + "approved": false, + "rejected": false, + "withdrawnByApplicant": false, + "active": false, + "closed": false + }, + "approvedOnDate": "" + } +} + +
+
+ +   +
+
+

Reject fixed deposit application

+

Rejects fixed deposit application so long as its in 'Submitted and pending approval' state.

+
+
+ POST https://Domain Name/api/v1/fixeddepositaccounts/{accountId}?command=reject + POST fixeddepositaccounts/1?command=reject +Content-Type: application/json +Request Body: +{ + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "rejectedOnDate": "03 March 2013" +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 500, + "code": "savingsAccountStatusType.rejected", + "value": "Rejected", + "submittedAndPendingApproval": false, + "approved": false, + "rejected": true, + "withdrawnByApplicant": false, + "active": false, + "closed": true + }, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "rejectedOnDate": "03 March 2013", + "closedOnDate": "03 March 2013" + } +} + +
+
+ +   +
+
+

Withdraw fixed deposit application

+

Used when an applicant withdraws from the fixed deposit application. It must be in 'Submitted and pending approval' state.

+
+
+ POST https://Domain Name/api/v1/fixeddepositaccounts/{savingsId}?command=withdrawnByApplicant + POST savingsaccount/1?command=withdrawnByApplicant +Content-Type: application/json +Request Body: +{ + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "withdrawnOnDate": "03 March 2013" +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 400, + "code": "savingsAccountStatusType.withdrawn.by.applicant", + "value": "Withdrawn by applicant", + "submittedAndPendingApproval": false, + "approved": false, + "rejected": false, + "withdrawnByApplicant": true, + "active": false, + "closed": true + }, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "withdrawnOnDate": "03 March 2013", + "closedOnDate": "03 March 2013" + } +} + +
+
+ +   +
+
+

Activate a fixed deposit account

+

Results in an approved fixed deposit application being converted into an 'active' fixed deposit account.

+
+
+ POST https://Domain Name/api/v1/fixeddepositaccounts/{accountId}?command=activate + POST savingsaccount/1?command=activate +Content-Type: application/json +Request Body: +{ + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "activatedOnDate": "01 March 2013" +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 300, + "code": "savingsAccountStatusType.active", + "value": "Active", + "submittedAndPendingApproval": false, + "approved": false, + "rejected": false, + "withdrawnByApplicant": false, + "active": true, + "closed": false + }, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "activatedOnDate": "01 March 2013" + } +} + +
+
+ +   +
+
+

Close a fixed deposit account

+

Results in a Matured fixed deposit account being converted into a 'closed' fixed deposit account.

On account close allowed actions are.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Action on CloseResult
Withdraw Deposit                     Matured amount withdrawn and paid to client
Transfer to SavingsMatured amount transfered to specified savings account.
                     
Re-InvestCreate new Fixed deposit application with matured amount as deposit amount.
+
+
+ POST https://Domain Name/api/v1/fixeddepositaccounts/{accountId}?command=close + POST fixeddepositaccounts/1?command=close +Content-Type: application/json +Request Body: + { + "dateFormat":"dd MMMM yyyy", + "locale":"en", + "closedOnDate":"19 April 2014", + "note":"Closing and transfering amount to savings", + "onAccountClosureId":"2", + "toSavingsAccountId":1, + "transferDescription":"Transfered matured amount to savings account" + } + + +{ +"officeId":1, +"clientId":1, +"savingsId":5, +"resourceId":5, +"changes":{ + "status":{ + "id":600, + "code":"savingsAccountStatusType.closed", + "value":"Closed", + "submittedAndPendingApproval":false, + "approved":false, + "rejected":false, + "withdrawnByApplicant":false, + "active":false, + "closed":true + }, + "locale":"en", + "dateFormat":"dd MMMM yyyy", + "closedOnDate":"19 April 2014", + "note":"Closing and transfering amount to savings" + } +} + +
+
+ +   +
+
+

Premature Close a fixed deposit account

+

Results in an Active fixed deposit account being converted into a 'Premature Closed' fixed deposit account with options to withdraw prematured amount. (premature amount is calculated using interest rate chart applicable along with penal interest if any.)

On account premature closure allowed actions are.

+ + + + + + + + + + + + + + + + + +
Action on Premature CloseResult
Withdraw Deposit                     Matured amount withdrawn and paid to client
Transfer to SavingsMatured amount transfered to specified savings account.
+
+
+ POST https://Domain Name/api/v1/fixeddepositaccounts/{accountId}?command=prematureClose + POST fixeddepositaccounts/1?command=prematureClose +Content-Type: application/json +Request Body: + { + "dateFormat":"dd MMMM yyyy", + "locale":"en", + "closedOnDate":"19 April 2014", + "note":"Close and transfer amount to savings", + "onAccountClosureId":"2", + "toSavingsAccountId":1, + "transferDescription":"Transfered matured amount to savings account" + } + + +{ + "officeId": 1, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 700, + "code": "savingsAccountStatusType.pre.mature.closure", + "value": "Premature Closed", + "submittedAndPendingApproval": false, + "approved": false, + "rejected": false, + "withdrawnByApplicant": false, + "active": false, + "closed": false, + "prematureClosed": true, + "transferInProgress": false, + "transferOnHold": false + }, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "closedOnDate": "19 April 2014", + "note": "Close and transfer amount to savings" + } +} + +
+
+ +   +
+
+

Calculate Premature amount on Fixed deposit account

+

Calculate premature amount on fixed deposit account till premature close date. Premature amount is calculated based on interest chart and penal interest applicable.

+
+
+ POST https://Domain Name/api/v1/fixeddepositaccounts/{accountId}?command=calculatePrematureAmount + POST fixeddepositaccounts/1?command=calculatePrematureAmount +Content-Type: application/json +Request Body: + { + "dateFormat":"dd MMMM yyyy", + "locale":"en", + "closedOnDate":"19 April 2014" + } + + +{ + "maturityAmount": 100.65, + "savingsAccounts": [ + { + "id": 1, + "accountNo": "000000001", + "clientId": 1, + "clientName": "Sangamesh N", + "savingsProductId": 1, + "savingsProductName": "FD-0001" + } + ], + "onAccountClosureOptions": [ + { + "id": 100, + "code": "depositAccountClosureType.withdrawDeposit", + "value": "Withdra Deposit" + }, + { + "id": 200, + "code": "depositAccountClosureType.transferToSavings", + "value": "Transfer to Savings" + }, + { + "id": 300, + "code": "depositAccountClosureType.reinvest", + "value": "Re-Invest" + } + ], + "paymentTypeOptions": [], + "id": 12, + "depositType": { + "id": 300, + "code": "depositAccountType.recurringDeposit", + "value": "Recurring Deposit" + } +} + +
+
+ +   +
+
+

Calculate Interest on Fixed Deposit Account

+

+ Calculates interest earned on a fixed deposit account based on todays date. It does not attempt to post or credit the interest on the account. That is responsibility of the Post Interest API that will likely be called by overnight process. +

+
+
+ POST https://Domain Name/api/v1/fixeddepositaccounts/{accountId}?command=calculateInterest + POST fixeddepositaccount/1?command=calculateInterest +Content-Type: application/json +Request Body: +{ +} + + +{ + "officeId": 1, + "clientId": 1, + "savingsId": 1, + "resourceId": 1 +} + +
+
+ +   +
+
+

Post Interest on Fixed Deposit Account

+

+ Calculates and Posts interest earned on a fixed deposit account based on todays date and whether an interest posting or crediting event is due. +

+
+
+ POST https://Domain Name/api/v1/fixeddepositaccounts/{accountId}?command=postInterest + POST fixeddepositaccount/1?command=postInterest +Content-Type: application/json +Request Body: +{ +} + + +{ + "officeId": 1, + "clientId": 1, + "savingsId": 1, + "resourceId": 1 +} + +
+
+ +   +
+
+

List Fixed deposit applications/accounts

+

Example Requests:

+
fixeddepositaccounts
+

+
fixeddepositaccounts?fields=name
+
+
+ GET https://Domain Name/api/v1/fixeddepositaccounts + +[ + { + "id": 1, + "accountNo": "000000001", + "clientId": 1, + "clientName": "Sangamesh N", + "savingsProductId": 3, + "savingsProductName": "FD01", + "fieldOfficerId": 0, + "status": { + "id": 100, + "code": "savingsAccountStatusType.submitted.and.pending.approval", + "value": "Submitted and pending approval", + "submittedAndPendingApproval": true, + "approved": false, + "rejected": false, + "withdrawnByApplicant": false, + "active": false, + "closed": false, + "prematureClosed": false, + "transferInProgress": false, + "transferOnHold": false + }, + "timeline": { + "submittedOnDate": [ + 2014, + 3, + 1 + ], + "submittedByUsername": "mifos", + "submittedByFirstname": "App", + "submittedByLastname": "Administrator" + }, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "interestCompoundingPeriodType": { + "id": 4, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestPostingPeriodType": { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestCalculationType": { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + "interestCalculationDaysInYearType": { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + }, + "summary": { + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "accountBalance": 0 + }, + "interestFreePeriodApplicable": false, + "preClosurePenalApplicable": false, + "minDepositTerm": 3, + "maxDepositTerm": 4, + "minDepositTermType": { + "id": 2, + "code": "deposit.term.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "maxDepositTermType": { + "id": 3, + "code": "deposit.term.savingsPeriodFrequencyType.years", + "value": "Years" + }, + "depositAmount": 5000, + "maturityAmount": 5140.25, + "maturityDate": [ + 2014, + 9, + 1 + ], + "depositPeriod": 6, + "depositPeriodFrequency": { + "id": 2, + "code": "deposit.period.savingsPeriodFrequencyType.months", + "value": "Months" + } + } +] + + +
+
+ +   +
+
+

Retrieve a fixed deposit application/account:

+

Arguments

+
+
associations
+
optional, Either 'all' or a comma separated list of fixed deposit 'associations' (itemized below).
+

Associations are just extra pieces of data that you might or might not want to retrieve.

+
'all': Gets data related to all associations e.g. ?associations=all.
+
'transactions': Gets data related to transactions on the account e.g. ?associations=transactions
+
'charges':fixed deposit Account charges data.
+
+

Example Requests :

+
fixeddepositaccounts/1
+

+
fixeddepositaccounts/1?associations=all
+
+
+ GET https://DomainName/api/v1/fixeddepositaccounts/{accountId} + +{ + "id": 1, + "accountNo": "FD000023", + "externalId": "FD-23", + "clientId": 1, + "clientName": "Sangamesh N", + "savingsProductId": 3, + "savingsProductName": "FD01", + "fieldOfficerId": 0, + "status": { + "id": 100, + "code": "savingsAccountStatusType.submitted.and.pending.approval", + "value": "Submitted and pending approval", + "submittedAndPendingApproval": true, + "approved": false, + "rejected": false, + "withdrawnByApplicant": false, + "active": false, + "closed": false, + "prematureClosed": false, + "transferInProgress": false, + "transferOnHold": false + }, + "timeline": { + "submittedOnDate": [ + 2014, + 3, + 1 + ], + "submittedByUsername": "mifos", + "submittedByFirstname": "App", + "submittedByLastname": "Administrator" + }, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "interestCompoundingPeriodType": { + "id": 4, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestPostingPeriodType": { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestCalculationType": { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + "interestCalculationDaysInYearType": { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + }, + "interestFreePeriodApplicable": false, + "preClosurePenalApplicable": false, + "minDepositTerm": 3, + "maxDepositTerm": 4, + "minDepositTermType": { + "id": 2, + "code": "deposit.term.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "maxDepositTermType": { + "id": 3, + "code": "deposit.term.savingsPeriodFrequencyType.years", + "value": "Years" + }, + "depositAmount": 5000, + "maturityAmount": 5140.25, + "maturityDate": [ + 2014, + 9, + 1 + ], + "depositPeriod": 6, + "depositPeriodFrequency": { + "id": 2, + "code": "deposit.period.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "summary": { + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "accountBalance": 0 + }, + "accountChart": { + "id": 4, + "fromDate": [ + 2013, + 10, + 2 + ], + "accountId": 5, + "accountNumber": "FD000023", + "chartSlabs": [ + { + "id": 13, + "periodType": { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + "fromPeriod": 181, + "toPeriod": 365, + "annualInterestRate": 5.5, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } + }, + { + "id": 12, + "periodType": { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + "fromPeriod": 1, + "toPeriod": 180, + "annualInterestRate": 5, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } + }, + { + "id": 11, + "periodType": { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + "fromPeriod": 366, + "annualInterestRate": 6, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } + } + ], + "periodTypes": [ + { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + { + "id": 1, + "code": "interestChartPeriodType.weeks", + "value": "Weeks" + }, + { + "id": 2, + "code": "interestChartPeriodType.months", + "value": "Months" + }, + { + "id": 3, + "code": "interestChartPeriodType.years", + "value": "Years" + } + ] + } +} + +
+
+ +   +
+
+

Modify a fixed deposit application

+

Fixed deposit application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc

+
+
+ PUT https://Domain Name/api/v1/fixeddepositaccounts/{accountId} + PUT fixeddepositaccounts/1 +Content-Type: application/json +No Request Body: +{ + "locale": "en", + "depositAmount": 6000 +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "depositAmount": 6000, + "locale": "en" + } +} + +
+
+ +   +
+
+

Delete a fixed deposit application

+

At present we support hard delete of fixed deposit application so long as its in 'Submitted and pending approval' state. One the application is moves past this state, it is not possible to do a 'hard' delete of the application or the account. An API endpoint will be added to close/de-activate the fixed deposit account.

+
+
+ DELETE https://Domain Name/api/v1/fixeddepositaccounts/{accountsId} + DELETE fixeddepositaccounts/1 +Content-Type: application/json +No Request Body: + + +{ + "officeId": 1, + "clientId": 1, + "resourceId": 1 +} + +
+
+ + + + +   +
+
+

Recurring Deposit Account:

+

Recurring Deposit accounts are instances of a praticular recurring deposit product created. An application process around the creation of accounts is also supported.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Starting StateActionResultant State
-SubmitSubmitted and pending approval
Submitted and pending approvalRejectClosed - Rejected
Submitted and pending approvalWithdrawn by ApplicantClosed - Withdrawn by Applicant
Submitted and pending approvalApproveApproved
ApprovedUndo ApprovalSubmitted and pending approval
ApprovedActivateActive
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Descriptions
clientId
The client you are creating the recurring deposit account for. Either clientId or groupId must be provided.
groupId
The group you are creating the recurring deposit account for. Either clientId or groupId must be provided.
productId
The id of the product used for this recurring deposit account. The recurring deposit account inherits the selected currency of the product and possibly other details if not overridden in the recurring deposit account creation request.
accountNo
The account no. associated with this recurring deposit. Is auto generated if not provided at creation time.
externalId
A place to put an external reference for this recurring deposit account useful in migrations e.g. The ID another system uses. If provided, it must be unique.
submittedOnDate
submittedOnDate must be provided when initially creating recurring deposit account application. locale and dateFormat parameters must be provided with this.
interestCompoundingPeriodType
The period at which interest rate is compounded. 1=Daily, 4=Monthly (at end of month)
interestPostingPeriodType
The period at which interest rate is posted or credited to recurring deposit account. The actual crediting or posting transaction is date as occurring on the day after the end of the period. 4=Monthly (at end of month), 5=Quarterly (at end of quarter, 31st Mar, 30th Jun, 30th Sep, 31st Dec), 7=Annually (at end of calendar year 31st Dec)
interestCalculationType
The interest calculation method used: 1=Daily Balance or 2=Average Daily Balance
interestCalculationDaysInYearType
The setting for number of days in year to use: 360=360 Days, 365=365 Days
lockinPeriodFrequency
Optional: If provided, used along with lockinPeriodFrequencyType to indicate the length of time that the recurring deposit account is 'locked in' and withdrawals are not allowed. e.g. 6 Months
lockinPeriodFrequencyType
Optional: If provided, used along with lockinPeriodFrequency to indicate the length of time that the recurring deposit account is 'locked in' and withdrawals are not allowed. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 6 Months
recurringDepositAmount
The recurring deposit amount to be deposited regularly on a specified by deposit frequency.
recurringDepositFrequency
Used along with recurringDepositFrequencyTypeId to define the frequency at which recurringDepositAmount to be deposited into RD account. e.g. 6 Months
recurringDepositFrequencyTypeId
Used along with recurringDepositFrequency to define the frequency at which recurringDepositAmount to be deposited into RD account. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 6 Months +
depositPeriod
Used along with depositPeriodFrequencyId to define term for which amount is deposited in recurring deposit. e.g. 6 Months
depositPeriodFrequencyId
Used along with depositPeriod to define term for which amount is deposited in recurring deposit. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 6 Months +
minDepositTerm
This is used along with minDepositTermTypeId to define allowed minimum deposit term for creating a recurring deposit account using this product. e.g. 6 Months
minDepositTermTypeId
Used along with minDepositTerm to define allowed minimum deposit term for creating a recurring deposit account using this product. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 6 Months +
maxDepositTerm
Optional: If provided, used along with maxDepositTermTypeId to define allowed maximum deposit term for creating a recurring deposit account using this product. e.g. 3 Years
maxDepositTermTypeId
Optional: If provided, used along with maxDepositTerm to define allowed maximum deposit term for creating a recurring deposit account using this product. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. 3 Years +
inMultiplesOfDepositTerm
Optional: If provided, used along with inMultiplesOfDepositTermTypeId to indicate the allowed deposit periods after minimum deposit period. e.g. If inMultiplesOfDepositTerm is 3 Months then the next allowed deposit period after minimum deposit of 6 Months should be 9 Months.
inMultiplesOfDepositTermTypeId
Optional: If provided, used along with inMultiplesOfDepositTerm to indicate the allowed deposit periods after minimum deposit period. 0=Days, 1=Weeks, 2=Months, 3=Years + e.g. If inMultiplesOfDepositTerm is 3 Months then the next allowed deposit period after minimum deposit of 6 Months should be 9 Months. +
preClosurePenalApplicable
Optional: expects boolean value true/false, If provided as true then must provide preClosurePenalInterest and preClosurePenalInterestOnTypeId.
preClosurePenalInterest
Optional: Must provide when preClosurePenalApplicable is true. Used along with preClosurePenalInterestOnTypeId to apply a penalalty on top of applicable interest rate for Pre-mature closure of accounts. e.g. “1%” means 1% less than the interest rate applicable.
preClosurePenalInterestOnTypeId
Optional: Must provide when preClosurePenalApplicable is true. Used along with preClosurePenalInterest to decide what should be the applicable interest rate to which penalalty can be applied on Pre-mature closure of accounts. 1=Whole Term, 2=Till Premature withdrawal e.g. “1%” means 1% less than the interest rate applicable till premature withdrawal.
+
+
+ +   +
+
+

Retrieve recurring Deposit Account Template:

+

This is a convenience resource. It can be useful when building maintenance user interface screens for recurring deposit applications. The template data returned consists of any or all of: +

+

+

Arguments

+
+
clientId
+
Integer mandatory
+
productId
+
Integer optional
+
If entered, productId, productName and selectedProduct fields are returned.
+
+

Example Requests:

+
fixeddepositaccounts/template?clientId=1
+

+
fixeddepositaccounts/template?clientId=1&productId=1
+
+
+ GET https://Domain Name/api/v1/fixeddepositaccounts/template?clientId={clientId} + +{ + "clientId": 1, + "clientName": "small business", + "productOptions": [ + { + "id": 1, + "name": "Passbook Savings" + } + ] +} + +
+ +
+ GET https://Domain Name/api/v1/fixeddepositaccounts/template?clientId={clientId}&productId={productId} + +{ + "clientId": 1, + "clientName": "small business", + "savingsProductId": 1, + "savingsProductName": "Passbook Savings", + "timeline": {}, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "nominalAnnualInterestRate": 5, + "interestCompoundingPeriodType": { + "id": 1, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.daily", + "value": "Daily" + }, + "interestPostingPeriodType": { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestCalculationType": { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + "interestCalculationDaysInYearType": { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + }, + "productOptions": [ + { + "id": 1, + "name": "Passbook Savings" + } + ], + "fieldOfficerOptions": [ + { + "id": 3, + "firstname": "Mrs.", + "lastname": "loanofficerB1", + "displayName": "loanofficerB1, Mrs.", + "officeId": 2, + "officeName": "branch 1", + "isLoanOfficer": true + }, + { + "id": 1, + "firstname": "Mr.", + "lastname": "loanofficerHO", + "displayName": "loanofficerHO, Mr.", + "officeId": 1, + "officeName": "branch 1", + "isLoanOfficer": true + } + ], + "interestCompoundingPeriodTypeOptions": [ + { + "id": 1, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.daily", + "value": "Daily" + }, + { + "id": 4, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.monthly", + "value": "Monthly" + } + ], + "interestPostingPeriodTypeOptions": [ + { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + { + "id": 5, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.quarterly", + "value": "Quarterly" + }, + { + "id": 7, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.annual", + "value": "Annually" + } + ], + "interestCalculationTypeOptions": [ + { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + { + "id": 2, + "code": "savingsInterestCalculationType.averagedailybalance", + "value": "Average Daily Balance" + } + ], + "interestCalculationDaysInYearTypeOptions": [ + { + "id": 360, + "code": "savingsInterestCalculationDaysInYearType.days360", + "value": "360 Days" + }, + { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + } + ], + "lockinPeriodFrequencyTypeOptions": [ + { + "id": 0, + "code": "savings.lockin.savingsPeriodFrequencyType.days", + "value": "Days" + }, + { + "id": 1, + "code": "savings.lockin.savingsPeriodFrequencyType.weeks", + "value": "Weeks" + }, + { + "id": 2, + "code": "savings.lockin.savingsPeriodFrequencyType.months", + "value": "Months" + }, + { + "id": 3, + "code": "savings.lockin.savingsPeriodFrequencyType.years", + "value": "Years" + } + ], + "withdrawalFeeTypeOptions": [ + { + "id": 1, + "code": "savingsWithdrawalFeesType.flat", + "value": "Flat" + }, + { + "id": 2, + "code": "savingsWithdrawalFeesType.percent.of.amount", + "value": "% of Amount" + } + ], + "chargeOptions": [ + { + "id": 4, + "name": "Savings charge 1", + "active": true, + "penalty": false, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "amount": 200, + "chargeTimeType": { + "id": 2, + "code": "chargeTimeType.specifiedDueDate", + "value": "Specified due date" + }, + "chargeAppliesTo": { + "id": 2, + "code": "chargeAppliesTo.savings", + "value": "Savings" + }, + "chargeCalculationType": { + "id": 1, + "code": "chargeCalculationType.flat", + "value": "Flat" + }, + "chargePaymentMode": { + "id": 0, + "code": "chargepaymentmode.regular", + "value": "chargepaymentmode.regular" + } + }, + { + "id": 5, + "name": "Savings charge 2", + "active": true, + "penalty": false, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "amount": 300, + "chargeTimeType": { + "id": 2, + "code": "chargeTimeType.specifiedDueDate", + "value": "Specified due date" + }, + "chargeAppliesTo": { + "id": 2, + "code": "chargeAppliesTo.savings", + "value": "Savings" + }, + "chargeCalculationType": { + "id": 1, + "code": "chargeCalculationType.flat", + "value": "Flat" + }, + "chargePaymentMode": { + "id": 0, + "code": "chargepaymentmode.regular", + "value": "chargepaymentmode.regular" + } + }, + { + "id": 6, + "name": "Annual fee", + "active": true, + "penalty": false, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "amount": 50, + "chargeTimeType": { + "id": 6, + "code": "chargeTimeType.annualFee", + "value": "Annual Fee" + }, + "chargeAppliesTo": { + "id": 2, + "code": "chargeAppliesTo.savings", + "value": "Savings" + }, + "chargeCalculationType": { + "id": 1, + "code": "chargeCalculationType.flat", + "value": "Flat" + }, + "chargePaymentMode": { + "id": 0, + "code": "chargepaymentmode.regular", + "value": "Regular" + } + }, + { + "id": 7, + "name": "Quarterly fee", + "active": true, + "penalty": false, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "amount": 5, + "chargeTimeType": { + "id": 7, + "code": "chargeTimeType.monthlyFee", + "value": "Monthly Fee" + }, + "chargeAppliesTo": { + "id": 2, + "code": "chargeAppliesTo.savings", + "value": "Savings" + }, + "chargeCalculationType": { + "id": 1, + "code": "chargeCalculationType.flat", + "value": "Flat" + }, + "chargePaymentMode": { + "id": 0, + "code": "chargepaymentmode.regular", + "value": "Regular" + }, + "feeOnMonthDay": [ + 10, + 5 + ], + "feeInterval": 4 + } + ] +} + +
+
+ +   +
+
+

Submit new recurring deposit application

+
+ + + +
Mandatory Fields
clientId or groupId, productId, submittedOnDate, recurringDepositAmount, depositPeriod, depositPeriodFrequencyId, recurringDepositFrequency, recurringDepositFrequencyTypeId
+
+ + + +
Optional Fields
accountNo, externalId, fieldOfficerId
+
+ + + + +
Inherited from Product (if not provided)
interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, lockinPeriodFrequency, lockinPeriodFrequencyType, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, charts
+
+
+

Minimal request: accountNo auto generated, remaining details inherited from recurring deposit product.

+ POST https://Domain Name/api/v1/recurringdepositaccounts + POST recurringdepositaccounts +Content-Type: application/json +Request Body: +{ + "clientId": 1, + "productId": 1, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "submittedOnDate": "01 March 2014", + "recurringDepositAmount":"100", + "recurringDepositFrequency":"1", + "recurringDepositFrequencyTypeId":"2", + "depositPeriod":"1", + "depositPeriodFrequencyId":"3" +} + +

Minimal request: accountNo provided (must be unique), remaining details inherited from recurring deposit product.

+ POST recurringdepositaccounts +Content-Type: application/json +Request Body: +{ + "clientId": 1, + "productId": 1, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "submittedOnDate": "01 March 2014", + "recurringDepositAmount":"100", + "recurringDepositFrequency":"1", + "recurringDepositFrequencyTypeId":"2", + "depositPeriod":"6", + "depositPeriodFrequencyId":"2", + "accountNo": "RD000023", + "externalId": "RD-23" +} + +

Full request: accountNo provided (must be unique), remaining details override details from recurring deposit product (except currency).

+ POST recurringdepositaccounts +Content-Type: application/json +Request Body: +{ + "clientId": 1, + "productId": 1, + "fieldOfficerId": 1, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "submittedOnDate": "01 March 2014", + "accountNo": "RD000024", + "externalId": "RD-24", + "interestCompoundingPeriodType": 1, + "interestPostingPeriodType": 4, + "interestCalculationType": 1, + "interestCalculationDaysInYearType": 365, + "recurringDepositAmount":"100", + "recurringDepositFrequency":"1", + "recurringDepositFrequencyTypeId":"2", + "depositPeriod":"6", + "depositPeriodFrequencyId":"2", + "lockinPeriodFrequency": 6, + "lockinPeriodFrequencyType": 2, + "charges":[{"id":"1"}] +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1 +} + +
+
+ +   +
+
+

Approve recurring deposit application

+

Approves recurring deposit application so long as its in 'Submitted and pending approval' state.

+
+
+ POST https://Domain Name/api/v1/recurringdepositaccounts/{accountId}?command=approve + POST recurringdepositaccounts/1?command=approve +Content-Type: application/json +Request Body: +{ + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "approvedOnDate": "01 March 2014" +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 200, + "code": "savingsAccountStatusType.approved", + "value": "Approved", + "submittedAndPendingApproval": false, + "approved": true, + "rejected": false, + "withdrawnByApplicant": false, + "active": false, + "closed": false + }, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "approvedOnDate": "01 March 2014" + } +} + +
+
+ +   +
+
+

Undo approval recurring deposit application

+

Will move 'approved' recurring deposit application back to 'Submitted and pending approval' state.

+
+
+ POST https://Domain Name/api/v1/recurringdepositaccounts/{accountId}?command=undoApproval + POST recurringdepositaccounts/1?command=undoApproval +Content-Type: application/json +Request Body: +{ +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 100, + "code": "savingsAccountStatusType.submitted.and.pending.approval", + "value": "Submitted and pending approval", + "submittedAndPendingApproval": true, + "approved": false, + "rejected": false, + "withdrawnByApplicant": false, + "active": false, + "closed": false + }, + "approvedOnDate": "" + } +} + +
+
+ +   +
+
+

Reject recurring deposit application

+

Rejects recurring deposit application so long as its in 'Submitted and pending approval' state.

+
+
+ POST https://Domain Name/api/v1/recurringdepositaccounts/{accountId}?command=reject + POST recurringdepositaccounts/1?command=reject +Content-Type: application/json +Request Body: +{ + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "rejectedOnDate": "03 March 2014" +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 500, + "code": "savingsAccountStatusType.rejected", + "value": "Rejected", + "submittedAndPendingApproval": false, + "approved": false, + "rejected": true, + "withdrawnByApplicant": false, + "active": false, + "closed": true + }, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "rejectedOnDate": "03 March 2014", + "closedOnDate": "03 March 2014" + } +} + +
+
+ +   +
+
+

Withdraw recurring deposit application

+

Used when an applicant withdraws from the recurring deposit application. It must be in 'Submitted and pending approval' state.

+
+
+ POST https://Domain Name/api/v1/recurringdepositaccounts/{savingsId}?command=withdrawnByApplicant + POST recurringdepositaccounts/1?command=withdrawnByApplicant +Content-Type: application/json +Request Body: +{ + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "withdrawnOnDate": "03 March 2014" +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 400, + "code": "savingsAccountStatusType.withdrawn.by.applicant", + "value": "Withdrawn by applicant", + "submittedAndPendingApproval": false, + "approved": false, + "rejected": false, + "withdrawnByApplicant": true, + "active": false, + "closed": true + }, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "withdrawnOnDate": "03 March 2014", + "closedOnDate": "03 March 2014" + } +} + +
+
+ +   +
+
+

Activate a recurring deposit account

+

Results in an approved recurring deposit application being converted into an 'active' recurring deposit account.

+
+
+ POST https://Domain Name/api/v1/recurringdepositaccounts/{accountId}?command=activate + POST recurringdepositaccounts/1?command=activate +Content-Type: application/json +Request Body: +{ + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "activatedOnDate": "01 March 2013" +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 300, + "code": "savingsAccountStatusType.active", + "value": "Active", + "submittedAndPendingApproval": false, + "approved": false, + "rejected": false, + "withdrawnByApplicant": false, + "active": true, + "closed": false + }, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "activatedOnDate": "01 March 2013" + } +} + +
+
+ +   +
+
+

Close a recurring deposit account

+

Results in a Matured recurring deposit account being converted into a 'closed' recurring deposit account.

On account close allowed actions are.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Action on CloseResult
Withdraw Deposit                     Matured amount withdrawn and paid to client
Transfer to SavingsMatured amount transfered to specified savings account.
                     
Re-InvestCreate new Fixed deposit application with matured amount as deposit amount.
+
+
+ POST https://Domain Name/api/v1/recurringdepositaccounts/{accountId}?command=close + POST recurringdepositaccounts/1?command=close +Content-Type: application/json +Request Body: + { + "dateFormat":"dd MMMM yyyy", + "locale":"en", + "closedOnDate":"19 April 2014", + "note":"Closing and transfering amount to savings", + "onAccountClosureId":"2", + "toSavingsAccountId":1, + "transferDescription":"Transfered matured amount to savings account" + } + + +{ +"officeId":1, +"clientId":1, +"savingsId":5, +"resourceId":5, +"changes":{ + "status":{ + "id":600, + "code":"savingsAccountStatusType.closed", + "value":"Closed", + "submittedAndPendingApproval":false, + "approved":false, + "rejected":false, + "withdrawnByApplicant":false, + "active":false, + "closed":true + }, + "locale":"en", + "dateFormat":"dd MMMM yyyy", + "closedOnDate":"19 April 2014", + "note":"Closing and transfering amount to savings" + } +} + +
+
+ +   +
+
+

Premature Close a recurring deposit account

+

Results in an Active recurring deposit account being converted into a 'Premature Closed' recurring deposit account with options to withdraw prematured amount. (premature amount is calculated using interest rate chart applicable along with penal interest if any.)

On account premature closure allowed actions are.

+ + + + + + + + + + + + + + + + + +
Action on Premature CloseResult
Withdraw Deposit                     Matured amount withdrawn and paid to client
Transfer to SavingsMatured amount transfered to a savings account.
+
+
+ POST https://Domain Name/api/v1/recurringdepositaccounts/{accountId}?command=prematureClose + POST recurringdepositaccounts/1?command=prematureClose +Content-Type: application/json +Request Body: + { + "dateFormat":"dd MMMM yyyy", + "locale":"en", + "closedOnDate":"19 April 2014", + "note":"Close and transfer amount to savings", + "onAccountClosureId":"2", + "toSavingsAccountId":1, + "transferDescription":"Transfered matured amount to savings account" + } + + +{ + "officeId": 1, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "status": { + "id": 700, + "code": "savingsAccountStatusType.pre.mature.closure", + "value": "Premature Closed", + "submittedAndPendingApproval": false, + "approved": false, + "rejected": false, + "withdrawnByApplicant": false, + "active": false, + "closed": false, + "prematureClosed": true, + "transferInProgress": false, + "transferOnHold": false + }, + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "closedOnDate": "19 April 2014", + "note": "Close and transfer amount to savings" + } +} + +
+
+ +   +
+
+

Calculate Premature amount on Recurring deposit account

+

Calculate premature amount on recurring deposit till premature close date. Premature amount is calculated based on interest chart and penal interest applicable if any.

+
+
+ POST https://Domain Name/api/v1/recurringdepositaccounts/{accountId}?command=calculatePrematureAmount + POST recurringdepositaccounts/1?command=calculatePrematureAmount +Content-Type: application/json +Request Body: + { + "dateFormat":"dd MMMM yyyy", + "locale":"en", + "closedOnDate":"19 April 2014" + } + + +{ + "maturityAmount": 100.65, + "savingsAccounts": [ + { + "id": 1, + "accountNo": "000000001", + "clientId": 1, + "clientName": "Sangamesh N", + "savingsProductId": 1, + "savingsProductName": "sa", + "fieldOfficerId": 0, + "status": { + "id": 300, + "code": "savingsAccountStatusType.active", + "value": "Active", + "submittedAndPendingApproval": false, + "approved": false, + "rejected": false, + "withdrawnByApplicant": false, + "active": true, + "closed": false, + "prematureClosed": false, + "transferInProgress": false, + "transferOnHold": false + }, + "timeline": { + "submittedOnDate": [ + 2014, + 1, + 1 + ], + "submittedByUsername": "mifos", + "submittedByFirstname": "App", + "submittedByLastname": "Administrator", + "approvedOnDate": [ + 2014, + 1, + 1 + ], + "approvedByUsername": "mifos", + "approvedByFirstname": "App", + "approvedByLastname": "Administrator", + "activatedOnDate": [ + 2014, + 1, + 1 + ] + }, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "nominalAnnualInterestRate": 5, + "interestCompoundingPeriodType": { + "id": 4, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestPostingPeriodType": { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestCalculationType": { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + "interestCalculationDaysInYearType": { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + }, + "minRequiredOpeningBalance": 5000, + "withdrawalFeeForTransfers": false, + "allowOverdraft": false, + "summary": { + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "totalDeposits": 13353.41, + "totalInterestEarned": 107.79, + "totalInterestPosted": 76.74, + "accountBalance": 13430.15 + } + } + ], + "onAccountClosureOptions": [ + { + "id": 100, + "code": "depositAccountClosureType.withdrawDeposit", + "value": "Withdra Deposit" + }, + { + "id": 200, + "code": "depositAccountClosureType.transferToSavings", + "value": "Transfer to Savings" + }, + { + "id": 300, + "code": "depositAccountClosureType.reinvest", + "value": "Re-Invest" + } + ], + "paymentTypeOptions": [], + "id": 12, + "depositType": { + "id": 300, + "code": "depositAccountType.recurringDeposit", + "value": "Recurring Deposit" + } +} + +
+
+ +   +
+
+

Calculate Interest on recurring Deposit Account

+

+ Calculates interest earned on a recurring deposit account based on todays date. It does not attempt to post or credit the interest on the account. That is responsibility of the Post Interest API that will likely be called by overnight process. +

+
+
+ POST https://Domain Name/api/v1/recurringdepositaccounts/{accountId}?command=calculateInterest + POST recurringdepositaccounts/1?command=calculateInterest +Content-Type: application/json +Request Body: +{ +} + + +{ + "officeId": 1, + "clientId": 1, + "savingsId": 1, + "resourceId": 1 +} + +
+
+ +   +
+
+

Post Interest on recurring Deposit Account

+

+ Calculates and Posts interest earned on a recurring deposit account based on todays date and whether an interest posting or crediting event is due. +

+
+
+ POST https://Domain Name/api/v1/recurringdepositaccounts/{accountId}?command=postInterest + POST recurringdepositaccounts/1?command=postInterest +Content-Type: application/json +Request Body: +{ +} + + +{ + "officeId": 1, + "clientId": 1, + "savingsId": 1, + "resourceId": 1 +} + +
+
+ +   +
+
+

List Fixed deposit applications/accounts

+

Example Requests:

+
recurringdepositaccounts
+

+
recurringdepositaccounts?fields=name
+
+
+ GET https://Domain Name/api/v1/recurringdepositaccounts + +[ + { + "id": 1, + "accountNo": "000000001", + "clientId": 1, + "clientName": "Sangamesh N", + "savingsProductId": 3, + "savingsProductName": "RD01", + "fieldOfficerId": 0, + "status": { + "id": 100, + "code": "savingsAccountStatusType.submitted.and.pending.approval", + "value": "Submitted and pending approval", + "submittedAndPendingApproval": true, + "approved": false, + "rejected": false, + "withdrawnByApplicant": false, + "active": false, + "closed": false, + "prematureClosed": false, + "transferInProgress": false, + "transferOnHold": false + }, + "timeline": { + "submittedOnDate": [ + 2014, + 3, + 1 + ], + "submittedByUsername": "mifos", + "submittedByFirstname": "App", + "submittedByLastname": "Administrator" + }, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "interestCompoundingPeriodType": { + "id": 4, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestPostingPeriodType": { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestCalculationType": { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + "interestCalculationDaysInYearType": { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + }, + "summary": { + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "accountBalance": 0 + }, + "depositAmount": 1150, + "maturityAmount": 252.59, + "maturityDate": [ + 2014, + 4, + 3 + ], + "recurringDepositAmount": 100, + "recurringDepositFrequency": 1, + "recurringDepositFrequencyType": { + "id": 2, + "code": "recurring.deposit.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "preClosurePenalApplicable": false, + "minDepositTerm": 3, + "maxDepositTerm": 4, + "minDepositTermType": { + "id": 2, + "code": "deposit.term.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "maxDepositTermType": { + "id": 3, + "code": "deposit.term.savingsPeriodFrequencyType.years", + "value": "Years" + }, + "depositAmount": 5000, + "maturityAmount": 5140.25, + "maturityDate": [ + 2014, + 9, + 1 + ], + "depositPeriod": 6, + "depositPeriodFrequency": { + "id": 2, + "code": "deposit.period.savingsPeriodFrequencyType.months", + "value": "Months" + } + } +] + + +
+
+ +   +
+
+

Retrieve a recurring deposit application/account:

+

Arguments

+
+
associations
+
optional, Either 'all' or a comma separated list of recurring deposit 'associations' (itemized below).
+

Associations are just extra pieces of data that you might or might not want to retrieve.

+
'all': Gets data related to all associations e.g. ?associations=all.
+
'transactions': Gets data related to transactions on the account e.g. ?associations=transactions
+
'charges':recurring deposit Account charges data.
+
+

Example Requests :

+
recurringdepositaccounts/1
+

+
recurringdepositaccounts/1?associations=all
+
+
+ GET https://DomainName/api/v1/recurringdepositaccounts/{accountId} + +{ + "id": 1, + "accountNo": "RD000023", + "externalId": "RD-23", + "clientId": 1, + "clientName": "Sangamesh N", + "savingsProductId": 3, + "savingsProductName": "RD01", + "fieldOfficerId": 0, + "status": { + "id": 100, + "code": "savingsAccountStatusType.submitted.and.pending.approval", + "value": "Submitted and pending approval", + "submittedAndPendingApproval": true, + "approved": false, + "rejected": false, + "withdrawnByApplicant": false, + "active": false, + "closed": false, + "prematureClosed": false, + "transferInProgress": false, + "transferOnHold": false + }, + "timeline": { + "submittedOnDate": [ + 2014, + 3, + 1 + ], + "submittedByUsername": "mifos", + "submittedByFirstname": "App", + "submittedByLastname": "Administrator" + }, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "interestCompoundingPeriodType": { + "id": 4, + "code": "savings.interest.period.savingsCompoundingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestPostingPeriodType": { + "id": 4, + "code": "savings.interest.posting.period.savingsPostingInterestPeriodType.monthly", + "value": "Monthly" + }, + "interestCalculationType": { + "id": 1, + "code": "savingsInterestCalculationType.dailybalance", + "value": "Daily Balance" + }, + "interestCalculationDaysInYearType": { + "id": 365, + "code": "savingsInterestCalculationDaysInYearType.days365", + "value": "365 Days" + }, + "preClosurePenalApplicable": false, + "minDepositTerm": 3, + "maxDepositTerm": 4, + "minDepositTermType": { + "id": 2, + "code": "deposit.term.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "maxDepositTermType": { + "id": 3, + "code": "deposit.term.savingsPeriodFrequencyType.years", + "value": "Years" + }, + "recurringDepositAmount": 100, + "recurringDepositFrequency": 1, + "recurringDepositFrequencyType": { + "id": 2, + "code": "recurring.deposit.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "depositPeriod": 6, + "depositPeriodFrequency": { + "id": 2, + "code": "deposit.period.savingsPeriodFrequencyType.months", + "value": "Months" + }, + "summary": { + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "inMultiplesOf": 1, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + }, + "accountBalance": 0 + }, + "accountChart": { + "id": 4, + "fromDate": [ + 2013, + 10, + 2 + ], + "accountId": 5, + "accountNumber": "RD000023", + "chartSlabs": [ + { + "id": 13, + "periodType": { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + "fromPeriod": 181, + "toPeriod": 365, + "annualInterestRate": 5.5, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } + }, + { + "id": 12, + "periodType": { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + "fromPeriod": 1, + "toPeriod": 180, + "annualInterestRate": 5, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } + }, + { + "id": 11, + "periodType": { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + "fromPeriod": 366, + "annualInterestRate": 6, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } + } + ], + "periodTypes": [ + { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + { + "id": 1, + "code": "interestChartPeriodType.weeks", + "value": "Weeks" + }, + { + "id": 2, + "code": "interestChartPeriodType.months", + "value": "Months" + }, + { + "id": 3, + "code": "interestChartPeriodType.years", + "value": "Years" + } + ] + } +} + +
+
+ +   +
+
+

Modify a recurring deposit application

+

Recurring deposit application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc

+
+
+ PUT https://Domain Name/api/v1/recurringdepositaccounts/{accountId} + PUT recurringdepositaccounts/1 +Content-Type: application/json +No Request Body: +{ + "locale": "en", + "depositAmount": 6000 +} + + +{ + "officeId": 2, + "clientId": 1, + "savingsId": 1, + "resourceId": 1, + "changes": { + "depositAmount": 6000, + "locale": "en" + } +} + +
+
+ +   +
+
+

Delete a recurring deposit application

+

At present we support hard delete of recurring deposit application so long as its in 'Submitted and pending approval' state. One the application is moves past this state, it is not possible to do a 'hard' delete of the application or the account. An API endpoint will be added to close/de-activate the recurring deposit account.

+
+
+ DELETE https://Domain Name/api/v1/recurringdepositaccounts/{accountsId} + DELETE recurringdepositaccounts/1 +Content-Type: application/json +No Request Body: + + +{ + "officeId": 1, + "clientId": 1, + "resourceId": 1 +} + +
+
+ +  
@@ -23375,6 +27668,552 @@ Content-Type: application/json Request Body:
+ +   +
+
+

Interest Rate Chart

+

This defines an interest rate scheme that can be associated to a term deposit product. This will have a slab (band or range) of deposit periods and the associated interest rates applicable along with incentives for each band.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Descriptions
name
Name of the interest rate chart. +
description
+ Description of Interest rate chart. +
fromDate
+ Date from when the chart is valid. The fromDate is mandatory and used to find out applicable interest rate chart for Accounts creation (FD & RD accounts). There should not be any overlapping of fromDate and endDate of charts for a product. +
endDate
+ Validity end date of the chart. This is optional, if not provided means it is the current chart applicable. +
+
+
+ +   +
+
+

Create a Chart

+

Creats a new chart which can be attached to a term deposit products (FD or RD).

+ + + + + + + +
Mandatory Fields
fromDate
+ + + + + + + +
Optional Fields
name, description and endDate
+ +
+
+ +POST https://DomainName/api/v1/interestratecharts + + +POST interestratecharts +Content-Type: application/json +Request Body: +{ + "name": "Chart - 2014", + "description": "This chart is applicable for year 2014", + "type": "Document", + "locale": "en", + "dateFormat": "dd MMMM yyyy", + "fromDate": "01 Jan 2014" +} + + +{ + "resourceId": 1 +} + +
+
+ +   +
+
+

Retrieve all Charts

+

Retrieve list of charts associated with a term deposit product(FD or RD).

+
Arguments
+
+
productId
+
+ Integer mandatory +
+
Retrieves Interest rate charts to a deposit product.
+
+

Example Requests:

+
interestratecharts?productId=1
+
+
+
+ +GET https://DomainName/api/v1/interestratecharts?productId={productId) + + +[ + { + "id": 1, + "fromDate": [ + 2014, + 1, + 1 + ], + "savingsProductId": 1, + "savingsProductName": "Fixed Deposit Product 001", + "chartSlabs": [ + { + "id": 1, + "periodType": { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + "fromPeriod": 1, + "annualInterestRate": 6, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } + } + ] + } +] + +
+
+ +   +
+
+

Retrieve a Chart

+ +

Example Requests:

+
interestratecharts/1
+
+
+ +GET https://DomainName/api/v1/interestratecharts/{chartId} + + +{ + "id": 1, + "fromDate": [ + 2014, + 1, + 1 + ], + "savingsProductId": 1, + "savingsProductName": "Fixed Deposit Product 001", + "chartSlabs": [ + { + "id": 1, + "periodType": { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + "fromPeriod": 1, + "annualInterestRate": 6, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } + } + ] +} + +
+
+ +   +
+
+

Update a Chart

+

+

+
+ +PUT https://DomainName/api/v1/interestratecharts/{chartId} + + +PUT interestratecharts/1 +Content-Type: application/json +Request Body: +{ + "name": "Interest rate chart for 2014", + "description": "Interest rate chart for 2014", +} + + +{ + "resourceId": 1 +} + +
+
+ +   +
+
+

Delete a Chart

+
+
+ +DELETE https://DomainName/api/v1/interestratecharts/{chartId} + + +DELETE interestratecharts/1 +Content-Type: application/json +No Request Body: + + +{ + "resourceId": 1 +} + +
+
+ +   +
+
+

Retrieve Chart Details Template

+

This is a convenience resource. It can be useful when + building maintenance user interface screens for creating a chart. + The template data returned consists of any or all + of: +

+

+ +

Example Request:

+
interestratecharts/template
+
+
+ +GET https://DomainName/api/v1/interestratecharts/template + + +{ + "periodTypes": [ + { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + { + "id": 1, + "code": "interestChartPeriodType.weeks", + "value": "Weeks" + }, + { + "id": 2, + "code": "interestChartPeriodType.months", + "value": "Months" + }, + { + "id": 3, + "code": "interestChartPeriodType.years", + "value": "Years" + } + ] +} + +
+
+ + + + +   +
+
+

Interest Rate Slab (A.K.A interest bands)

+

The slabs a.k.a interest bands are associated with Interest Rate Chart. These bands allow to define different interest rates for different deposit term periods.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Descriptions
periodType
The period type is used to define the different deposit term intervals. 0=Daily, 1=Weekly, 2=Monthly, 3=Yearly +
fromPeriod
Start of the period for defining deposit term interval. +
e.g. for 1 day to 180 days applicable interest rate is 5% +
then startPeriod=1, endPeriod=180 and periodType=0 +
toPeriod
End of the period for defining deposit term interval. +
e.g. for 1 day to 180 days applicable interest rate is 5% +
annualInterestRate
The applicable annual interest rate for defined term interval +
description
+ provide a description about the slab. +
+
+
+ +   +
+
+

Create a Slab

+

Creats a new interest rate slab for an interest rate chart.

+ + + + + + + +
Mandatory Fields
periodType, fromPeriod, annualInterestRate
+ + + + + + + +
Optional Fields
toPeriod and description
+

Example Requests:

+
interestratecharts/1/chartslabs
+
+
+ +POST https://DomainName/api/v1/interestratecharts/{chartId}/chartslabs + + +POST interestratecharts/{chartId}/chartslabs +Content-Type: application/json +Request Body: +{ + "periodType": "0", + "fromPeriod": "1", + "toPeriod": "180", + "annualInterestRate": "5", + "description": "5% interest from 1 day till 180 days of deposit", + "locale":"en" +} + + +{ + "resourceId": 1 +} + +
+
+ +   +
+
+

Retrieve all Slabs

+

Retrieve list of slabs associated with a chart

+ +

Example Requests:

+
interestratecharts/1/chartslabs
+
+
+
+ +GET https://DomainName/api/v1/interestratecharts/{chartId}/chartslabs + + +[ + { + "id": 1, + "description": "5% interest from 1 day till 180 days of deposit", + "periodType": { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + "fromPeriod": 1, + "toPeriod": 180, + "annualInterestRate": 5, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } + } +] + +
+
+ +   +
+
+

Retrieve a Slab

+

Retrieve a slab associated with an Interest rate chart

+ +

Example Requests:

+
interestratecharts/1/chartslabs/1
+
+
+ +GET https://DomainName/api/v1/interestratecharts/{chartId}/chartslabs/{slabId} + + +{ + "id": 1, + "description": "changed to 6% interest ", + "periodType": { + "id": 0, + "code": "interestChartPeriodType.days", + "value": "Days" + }, + "fromPeriod": 1, + "toPeriod": 180, + "annualInterestRate": 6, + "currency": { + "code": "USD", + "name": "US Dollar", + "decimalPlaces": 2, + "displaySymbol": "$", + "nameCode": "currency.USD", + "displayLabel": "US Dollar ($)" + } +} + +
+
+ +   +
+
+

Update a Slab

+
+
+ +PUT https://DomainName/api/v1/interestratecharts/{chartId}/chartslabs/{slabId} + + +PUT interestratecharts/1/chartslabs/1 +Content-Type: application/json +Request Body: +{ + "annualInterestRate": "6", + "description": "Interest rate changed to 6%", +} + + +{ + "resourceId": 1, + "changes": { + "description": "Interest rate changed to 6%", + "annualInterestRate": 6 + } +} + +
+
+ +   +
+
+

Delete a Slab

+

Delete a Slab from a chart

+
+
+ +DELETE https://DomainName/api/v1/interestratecharts/{chartId}/chartslabs/{slabId} + + +DELETE interestratecharts/1/chartslabs/1 +Content-Type: application/json +No Request Body: + + +{ + "resourceId": 1 +} + +
+
+ +