PUT api/loan/{id}/schedule

Edit the loan schedule. User can shift only the repayment dates. Repayment amounts will not be changed as loan will not be recalculated.Loans/Repayments which are satisfying the following constraints only can be edited using this method. 1.Use schedule interest enabled loans. 2.Issued loans. 3.Unpaid repayments.

Requires Authorisation

The api request must supply authenticated token in a custom variable in the request header. The custom variable name is configured in web.config. The default name of the custom variable is “X-Fern-Token”.

Requires Api License and User Access

The api requires license and user permission for API ID, PUTapi/loan/{id}/schedule. The user permission can be defined on User Settings screen in Abacus. For license, please contact Fern manager.

Request Information

URI Parameters

NameDescriptionTypeAdditional information
id

Customer's loan account id.

integer

Required

Body Parameters

Loan schedule change data.

LoanScheduleEditDto
NameDescriptionTypeAdditional information
MoveSubsequentDates

Determines whether next repayment dates should be shifted or not.

boolean Optional.By default it is true.
RecalculateLoanDues

Determines whether schedule repayment amounts should be recalculated or not.

boolean Optional.By default it is false.
ApplySubsequentTotalRepayments

Determines whether next repayment dates should be shifted or not.

boolean Optional.By default it is true.
ApplySubsequentLoanRepayments

Determines whether next repayment dates should be shifted or not.

boolean Optional.By default it is true.
NumberOfRepayments

Determines whether next repayment dates should be shifted or not.

integer Optional.By default it is true.
InterestPaymentsOnly

Determines whether next repayment dates should be shifted or not.

boolean Optional.By default it is true.
GracePeriod

Determines whether next repayment dates should be shifted or not.

boolean Optional.By default it is true.
AdjustLaterPayments

Determines whether next repayment dates should be shifted or not.

boolean Optional.By default it is true.
ChangeLastPayment

Determines whether next repayment dates should be shifted or not.

boolean Optional.By default it is true.
TotalChanged

Determines whether next repayment dates should be shifted or not.

boolean Optional.By default it is true.
DateChanged

Determines whether next repayment dates should be shifted or not.

boolean Optional.By default it is true.
LoanSchedule

Collection of LoanScheduleDto
LoanChanged

boolean
Edit

boolean
CUAccountID

Unique identifier of an account.

integer Required.
ScheduleID

Unique identifier of loan repayment details.

integer
CULoanPartID

Unique identifier of loan part.

integer
Period

Schedule Repayment Period . Starts from 1.

integer Required.
RepaymentDate

Schedule Repayment Date.

string Edit schedule can be done using Period only for now.
TotalRepayment

Total repayment amount- Principle + Interest + Fee + Savings

decimal number
FeeRepayment

Fee repayment amount for this repayment period.

decimal number
FeeAmtPaid

Fee amount paid in this repayment period.

decimal number
UDSFeeRepayment

UDSFee repayment amount.

decimal number
UDSFeePaid

UDSFee repayment amount paid.

decimal number
InterestRepayment

Interest Repayment amount for this repayment period.

decimal number
InterestAmtPaid

Interest amount paid in this repayment period.

decimal number
CompIntRepayment

Complementary interest amount.

decimal number
CompIntAmtPaid

Complementary interest amount paid.

decimal number
LoanRepayment

principle repayment for this period.

decimal number
LoanRepaymentPaid

principle repayment paid in this period.

decimal number
Balance

Schedule balance(loan balance) after this repayment made.

decimal number
SavingsPayment

Linked savings payment.

decimal number
SavingsPaymentPaid

Linked savings payment paid.

decimal number
AllPaid

Denotes whether all repayments(interest,principal) for this repayment period is paid or not.

boolean

Request Formats

application/json, text/json

Sample:
{
  "moveSubsequentDates": true,
  "recalculateLoanDues": true,
  "applySubsequentTotalRepayments": true,
  "applySubsequentLoanRepayments": true,
  "numberOfRepayments": 1,
  "interestPaymentsOnly": true,
  "gracePeriod": true,
  "adjustLaterPayments": true,
  "changeLastPayment": true,
  "totalChanged": true,
  "dateChanged": true,
  "loanSchedule": [
    {
      "cuAccountID": 1,
      "scheduleID": 1,
      "cuLoanPartID": 1,
      "period": 1,
      "repaymentDate": "sample string 1",
      "totalRepayment": 1.0,
      "feeRepayment": 1.0,
      "feeAmtPaid": 1.0,
      "udsFeeRepayment": 1.0,
      "udsFeePaid": 1.0,
      "interestRepayment": 1.0,
      "interestAmtPaid": 1.0,
      "compIntRepayment": 1.0,
      "compIntAmtPaid": 1.0,
      "loanRepayment": 1.0,
      "loanRepaymentPaid": 1.0,
      "balance": 1.0,
      "savingsPayment": 1.0,
      "savingsPaymentPaid": 1.0,
      "allPaid": true
    },
    {
      "cuAccountID": 1,
      "scheduleID": 1,
      "cuLoanPartID": 1,
      "period": 1,
      "repaymentDate": "sample string 1",
      "totalRepayment": 1.0,
      "feeRepayment": 1.0,
      "feeAmtPaid": 1.0,
      "udsFeeRepayment": 1.0,
      "udsFeePaid": 1.0,
      "interestRepayment": 1.0,
      "interestAmtPaid": 1.0,
      "compIntRepayment": 1.0,
      "compIntAmtPaid": 1.0,
      "loanRepayment": 1.0,
      "loanRepaymentPaid": 1.0,
      "balance": 1.0,
      "savingsPayment": 1.0,
      "savingsPaymentPaid": 1.0,
      "allPaid": true
    }
  ],
  "loanChanged": true,
  "edit": true,
  "cuAccountID": 1,
  "scheduleID": 1,
  "cuLoanPartID": 1,
  "period": 1,
  "repaymentDate": "sample string 1",
  "totalRepayment": 1.0,
  "feeRepayment": 1.0,
  "feeAmtPaid": 1.0,
  "udsFeeRepayment": 1.0,
  "udsFeePaid": 1.0,
  "interestRepayment": 1.0,
  "interestAmtPaid": 1.0,
  "compIntRepayment": 1.0,
  "compIntAmtPaid": 1.0,
  "loanRepayment": 1.0,
  "loanRepaymentPaid": 1.0,
  "balance": 1.0,
  "savingsPayment": 1.0,
  "savingsPaymentPaid": 1.0,
  "allPaid": true
}

application/xml, text/xml

Sample:
<LoanScheduleEditDto xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto">
  <AllPaid xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">true</AllPaid>
  <Balance xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</Balance>
  <CUAccountID xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</CUAccountID>
  <CULoanPartID xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</CULoanPartID>
  <CompIntAmtPaid xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</CompIntAmtPaid>
  <CompIntRepayment xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</CompIntRepayment>
  <FeeAmtPaid xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</FeeAmtPaid>
  <FeeRepayment xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</FeeRepayment>
  <InterestAmtPaid xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</InterestAmtPaid>
  <InterestRepayment xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</InterestRepayment>
  <LoanRepayment xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</LoanRepayment>
  <LoanRepaymentPaid xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</LoanRepaymentPaid>
  <Period xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</Period>
  <RepaymentDate xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">sample string 1</RepaymentDate>
  <SavingsPayment xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</SavingsPayment>
  <SavingsPaymentPaid xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</SavingsPaymentPaid>
  <ScheduleID xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</ScheduleID>
  <TotalRepayment xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</TotalRepayment>
  <UDSFeePaid xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</UDSFeePaid>
  <UDSFeeRepayment xmlns="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">1</UDSFeeRepayment>
  <AdjustLaterPayments>true</AdjustLaterPayments>
  <ApplySubsequentLoanRepayments>true</ApplySubsequentLoanRepayments>
  <ApplySubsequentTotalRepayments>true</ApplySubsequentTotalRepayments>
  <ChangeLastPayment>true</ChangeLastPayment>
  <DateChanged>true</DateChanged>
  <Edit>true</Edit>
  <GracePeriod>true</GracePeriod>
  <InterestPaymentsOnly>true</InterestPaymentsOnly>
  <LoanChanged>true</LoanChanged>
  <LoanSchedule xmlns:d2p1="http://schemas.datacontract.org/2004/07/Fern.Abacus.ObjectModel.Dto.CU">
    <d2p1:LoanScheduleDto>
      <d2p1:AllPaid>true</d2p1:AllPaid>
      <d2p1:Balance>1</d2p1:Balance>
      <d2p1:CUAccountID>1</d2p1:CUAccountID>
      <d2p1:CULoanPartID>1</d2p1:CULoanPartID>
      <d2p1:CompIntAmtPaid>1</d2p1:CompIntAmtPaid>
      <d2p1:CompIntRepayment>1</d2p1:CompIntRepayment>
      <d2p1:FeeAmtPaid>1</d2p1:FeeAmtPaid>
      <d2p1:FeeRepayment>1</d2p1:FeeRepayment>
      <d2p1:InterestAmtPaid>1</d2p1:InterestAmtPaid>
      <d2p1:InterestRepayment>1</d2p1:InterestRepayment>
      <d2p1:LoanRepayment>1</d2p1:LoanRepayment>
      <d2p1:LoanRepaymentPaid>1</d2p1:LoanRepaymentPaid>
      <d2p1:Period>1</d2p1:Period>
      <d2p1:RepaymentDate>sample string 1</d2p1:RepaymentDate>
      <d2p1:SavingsPayment>1</d2p1:SavingsPayment>
      <d2p1:SavingsPaymentPaid>1</d2p1:SavingsPaymentPaid>
      <d2p1:ScheduleID>1</d2p1:ScheduleID>
      <d2p1:TotalRepayment>1</d2p1:TotalRepayment>
      <d2p1:UDSFeePaid>1</d2p1:UDSFeePaid>
      <d2p1:UDSFeeRepayment>1</d2p1:UDSFeeRepayment>
    </d2p1:LoanScheduleDto>
    <d2p1:LoanScheduleDto>
      <d2p1:AllPaid>true</d2p1:AllPaid>
      <d2p1:Balance>1</d2p1:Balance>
      <d2p1:CUAccountID>1</d2p1:CUAccountID>
      <d2p1:CULoanPartID>1</d2p1:CULoanPartID>
      <d2p1:CompIntAmtPaid>1</d2p1:CompIntAmtPaid>
      <d2p1:CompIntRepayment>1</d2p1:CompIntRepayment>
      <d2p1:FeeAmtPaid>1</d2p1:FeeAmtPaid>
      <d2p1:FeeRepayment>1</d2p1:FeeRepayment>
      <d2p1:InterestAmtPaid>1</d2p1:InterestAmtPaid>
      <d2p1:InterestRepayment>1</d2p1:InterestRepayment>
      <d2p1:LoanRepayment>1</d2p1:LoanRepayment>
      <d2p1:LoanRepaymentPaid>1</d2p1:LoanRepaymentPaid>
      <d2p1:Period>1</d2p1:Period>
      <d2p1:RepaymentDate>sample string 1</d2p1:RepaymentDate>
      <d2p1:SavingsPayment>1</d2p1:SavingsPayment>
      <d2p1:SavingsPaymentPaid>1</d2p1:SavingsPaymentPaid>
      <d2p1:ScheduleID>1</d2p1:ScheduleID>
      <d2p1:TotalRepayment>1</d2p1:TotalRepayment>
      <d2p1:UDSFeePaid>1</d2p1:UDSFeePaid>
      <d2p1:UDSFeeRepayment>1</d2p1:UDSFeeRepayment>
    </d2p1:LoanScheduleDto>
  </LoanSchedule>
  <MoveSubsequentDates>true</MoveSubsequentDates>
  <NumberOfRepayments>1</NumberOfRepayments>
  <RecalculateLoanDues>true</RecalculateLoanDues>
  <TotalChanged>true</TotalChanged>
</LoanScheduleEditDto>

application/x-www-form-urlencoded

Sample:

Sample not available.

Response Information

Response Codes

Success Status:

  • NoContent (204), the response does not have any content.

Failed Status(es):

Resource Description

None.