119 lines
3.9 KiB
TypeScript
119 lines
3.9 KiB
TypeScript
import { Currency } from 'app/shared/models/general.model';
|
|
|
|
export interface DelinquencyRange {
|
|
id: number;
|
|
classification: string;
|
|
minimumAgeDays: number;
|
|
}
|
|
|
|
export interface DelinquentData {
|
|
availableDisbursementAmount: number;
|
|
pastDueDays: number;
|
|
nextPaymentDueDate: number[];
|
|
delinquentDays: number;
|
|
delinquentDate: number[];
|
|
delinquentAmount: number;
|
|
lastPaymentAmount: number;
|
|
lastRepaymentAmount: number;
|
|
delinquencyCalculationPaused: boolean;
|
|
installmentLevelDelinquency?: InstallmentLevelDelinquency[];
|
|
}
|
|
|
|
export interface InstallmentLevelDelinquency {
|
|
rangeId: number;
|
|
classification: string;
|
|
minimumAgeDays: number;
|
|
delinquentAmount: number;
|
|
}
|
|
|
|
export interface LoanDelinquencyTags {
|
|
id: number;
|
|
loanId: number;
|
|
delinquencyRange: DelinquencyRange;
|
|
addedOnDate: number[];
|
|
liftedOnDate: number[];
|
|
}
|
|
|
|
export interface LoanDelinquencyAction {
|
|
id: number;
|
|
action: string;
|
|
startDate: number[];
|
|
endDate: number[];
|
|
createdById: number;
|
|
createdOn: Date;
|
|
updatedById: number;
|
|
lastModifiedOn: Date;
|
|
}
|
|
|
|
export interface DelinquencyPausePeriod {
|
|
active: boolean;
|
|
pausePeriodStart: number[];
|
|
pausePeriodEnd: number[];
|
|
}
|
|
|
|
|
|
export interface RepaymentSchedule {
|
|
currency: Currency;
|
|
loanTermInDays: number;
|
|
totalPrincipalDisbursed: number;
|
|
totalPrincipalExpected: number;
|
|
totalPrincipalPaid: number;
|
|
totalInterestCharged: number;
|
|
totalFeeChargesCharged: number;
|
|
totalPenaltyChargesCharged: number;
|
|
totalWaived: number;
|
|
totalWrittenOff: number;
|
|
totalRepaymentExpected: number;
|
|
totalRepayment: number;
|
|
totalPaidInAdvance: number;
|
|
totalPaidLate: number;
|
|
totalOutstanding: number;
|
|
totalCredits: number;
|
|
periods: RepaymentSchedulePeriod[];
|
|
}
|
|
|
|
export interface RepaymentSchedulePeriod {
|
|
dueDate: number[];
|
|
principalDisbursed?: number;
|
|
principalLoanBalanceOutstanding: number;
|
|
feeChargesDue: number;
|
|
feeChargesPaid: number;
|
|
feeChargesOutstanding: number;
|
|
totalOriginalDueForPeriod: number;
|
|
totalDueForPeriod: number;
|
|
totalPaidForPeriod: number;
|
|
totalOutstandingForPeriod: number;
|
|
totalOverdue?: number;
|
|
totalActualCostOfLoanForPeriod: number;
|
|
totalCredits: number;
|
|
period?: number;
|
|
fromDate?: number[];
|
|
complete?: boolean;
|
|
isAdditional?: boolean;
|
|
downPaymentPeriod?: boolean;
|
|
daysInPeriod?: number;
|
|
principalOriginalDue?: number;
|
|
principalDue?: number;
|
|
principalPaid?: number;
|
|
principalWrittenOff?: number;
|
|
principalOutstanding?: number;
|
|
interestOriginalDue?: number;
|
|
interestDue?: number;
|
|
interestPaid?: number;
|
|
interestWaived?: number;
|
|
interestWrittenOff?: number;
|
|
interestOutstanding?: number;
|
|
feeChargesWaived?: number;
|
|
feeChargesWrittenOff?: number;
|
|
penaltyChargesDue?: number;
|
|
penaltyChargesPaid?: number;
|
|
penaltyChargesWaived?: number;
|
|
penaltyChargesWrittenOff?: number;
|
|
penaltyChargesOutstanding?: number;
|
|
totalPaidInAdvanceForPeriod?: number;
|
|
totalPaidLateForPeriod?: number;
|
|
totalWaivedForPeriod?: number;
|
|
totalWrittenOffForPeriod?: number;
|
|
totalInstallmentAmountForPeriod?: number;
|
|
}
|