UNPKG

@crediblex.io/fineract-api-client

Version:
195 lines 5.91 kB
/** * Interface for the loan repayment schedule calculation request payload. * Used with the getRepaymentSchedule method in FineractLoansAccountsApi. */ export interface CalculateLoanRepaymentScheduleRequest { productId: number; loanOfficerId?: string; loanPurposeId?: string; fundId?: string; submittedOnDate: string; expectedDisbursementDate: string; externalId?: string; linkAccountId?: string; createStandingInstructionAtDisbursement?: boolean; loanTermFrequency: number; loanTermFrequencyType: number; numberOfRepayments: number; repaymentEvery: number; repaymentFrequencyType: number; repaymentFrequencyNthDayType?: string; repaymentFrequencyDayOfWeekType?: string; repaymentsStartingFromDate?: string | null; interestChargedFromDate?: string | null; interestType: number; isEqualAmortization?: boolean; amortizationType: number; interestCalculationPeriodType: number; loanIdToClose?: string; isTopup?: string; transactionProcessingStrategyCode: string; interestRateFrequencyType?: number; interestRatePerPeriod: number; charges?: any[]; collateral?: any[]; dateFormat: string; locale: string; clientId: number; loanType: string; principal?: number; allowPartialPeriodInterestCalcualtion?: boolean; } /** * Interface for the loan repayment schedule calculation response. * Returned by the getRepaymentSchedule method in FineractLoansAccountsApi. */ export interface CalculateLoanRepaymentScheduleResponse { currency: { code: string; name: string; decimalPlaces: number; inMultiplesOf: number; displaySymbol: string; nameCode: string; displayLabel: string; }; loanTermInDays: number; totalPrincipalDisbursed: number; totalPrincipalExpected: number; totalPrincipalPaid: number; totalInterestCharged: number; totalFeeChargesCharged: number; totalPenaltyChargesCharged: number; totalRepaymentExpected: number; totalOutstanding: number; totalCredits: number; periods: LoanRepaymentPeriod[]; } /** * Interface for individual loan repayment periods in the schedule. */ export interface LoanRepaymentPeriod { period?: number; fromDate?: [number, number, number]; dueDate: [number, number, number]; daysInPeriod?: number; principalOriginalDue?: number; principalDue?: number; principalOutstanding?: number; principalDisbursed?: number; principalLoanBalanceOutstanding: number; interestOriginalDue?: number; interestDue?: number; interestOutstanding?: number; feeChargesDue: number; feeChargesOutstanding: number; penaltyChargesDue?: number; penaltyChargesOutstanding?: number; totalOriginalDueForPeriod: number; totalDueForPeriod: number; totalOutstandingForPeriod: number; totalOverdue?: number; totalActualCostOfLoanForPeriod: number; totalInstallmentAmountForPeriod?: number; downPaymentPeriod: boolean; } /** * Interface for creating a new loan account in Fineract. */ export interface CreateLoanAccountRequest { productId: number; loanOfficerId?: string; loanPurposeId?: string; fundId?: string; submittedOnDate: string; expectedDisbursementDate: string; externalId?: string; linkAccountId?: string; createStandingInstructionAtDisbursement?: boolean; loanTermFrequency: number; loanTermFrequencyType: number; numberOfRepayments: number; repaymentEvery: number; repaymentFrequencyType: number; repaymentFrequencyNthDayType?: string; repaymentFrequencyDayOfWeekType?: string; repaymentsStartingFromDate?: string | null; interestChargedFromDate?: string | null; interestType: number; isEqualAmortization?: boolean; amortizationType: number; interestCalculationPeriodType: number; loanIdToClose?: string; isTopup?: string; transactionProcessingStrategyCode: string; interestRateFrequencyType?: number; interestRatePerPeriod: number; charges?: any[]; collateral?: any[]; dateFormat: string; locale: string; clientId: number; loanType: string; principal: number | string; allowPartialPeriodInterestCalcualtion?: boolean; datatables?: { registeredTableName: string; data: { locale: string; remitter_name: string; dp_name: string; }; }[]; } /** * Interface for the response when creating a new loan account in Fineract. */ export interface CreateLoanAccountResponse { officeId: number; clientId: number; loanId: number; resourceId: number; } /** * Interface for approving a loan account in Fineract. */ export interface ApproveLoanAccountRequest { approvedOnDate: string; expectedDisbursementDate: string; approvedLoanAmount: number; note?: string; dateFormat: string; locale: string; } /** * Interface for the response when approving a loan account in Fineract. */ export interface ApproveLoanAccountResponse { officeId: number; clientId: number; loanId: number; resourceId: number; changes: { principal: number; expectedDisbursementDate: [number, number, number]; dateFormat: string; approvedOnDate: string; netDisbursalAmount: number; locale: string; approvedLoanAmount: number; status: { id: number; code: string; value: string; pendingApproval: boolean; waitingForDisbursal: boolean; active: boolean; closedObligationsMet: boolean; closedWrittenOff: boolean; closedRescheduled: boolean; closed: boolean; overpaid: boolean; }; }; } //# sourceMappingURL=loansaccounts.d.ts.map