/* tslint:disable */ /* eslint-disable */ /** * loans * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: v2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ // May contain unused imports in some cases // @ts-ignore import type { AccountInterestRateSettings } from './account-interest-rate-settings'; // May contain unused imports in some cases // @ts-ignore import type { PMTAdjustmentThreshold } from './pmtadjustment-threshold'; /** * The interest settings, holds all the properties regarding interests for the loan account. */ export interface InterestSettings { /** * Adjustable interest rates settings for loan account */ accountInterestRateSettings?: Array; /** * The accrue interest after maturity. If the product support this option, specify if the interest should be accrued after the account maturity date. */ accrueInterestAfterMaturity?: boolean; /** * Indicates whether late interest is accrued for this loan account */ accrueLateInterest?: boolean; /** * The effective interest rate. Represents the interest rate for the loan accounts with semi-annually compounding product. */ effectiveInterestRate?: number; /** * The interest application method for a loan account. It shows the method used by the loans defining how the interest gets applied. */ interestApplicationMethod?: InterestSettingsInterestApplicationMethodEnum; /** * The interest balance calculation method for a loan account. Shows the possible methods for obtaining the balance based on which the interest will be calculated for loan repayment. */ interestBalanceCalculationMethod?: InterestSettingsInterestBalanceCalculationMethodEnum; /** * The interest calculation method for a loan account. Shows the different interest calculation methods. */ interestCalculationMethod?: InterestSettingsInterestCalculationMethodEnum; /** * The interest change frequency method for a loan account. Shows the possible methods for obtaining the balance based on which the interest will be calculated for loan repayment. */ interestChargeFrequency?: InterestSettingsInterestChargeFrequencyEnum; /** * The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount. */ interestRate?: number; /** * Interest rate update frequency unit count. */ interestRateReviewCount?: number; /** * The interest rate review unit values. Shows how often is index interest rate reviewed. */ interestRateReviewUnit?: InterestSettingsInterestRateReviewUnitEnum; /** * The interest rate review unit values. Shows how often is index interest rate reviewed. */ interestRateSource?: InterestSettingsInterestRateSourceEnum; /** * Interest to be added to active organization index interest rate in order to find out actual interest rate */ interestSpread?: number; /** * The possible values for how we compute and apply the interest */ interestType?: InterestSettingsInterestTypeEnum; pmtAdjustmentThreshold?: PMTAdjustmentThreshold; } export const InterestSettingsInterestApplicationMethodEnum = { AfterDisbursement: 'AFTER_DISBURSEMENT', RepaymentDueDate: 'REPAYMENT_DUE_DATE', FixedDaysOfMonth: 'FIXED_DAYS_OF_MONTH', } as const; export type InterestSettingsInterestApplicationMethodEnum = (typeof InterestSettingsInterestApplicationMethodEnum)[keyof typeof InterestSettingsInterestApplicationMethodEnum]; export const InterestSettingsInterestBalanceCalculationMethodEnum = { OnlyPrincipal: 'ONLY_PRINCIPAL', PrincipalAndInterest: 'PRINCIPAL_AND_INTEREST', PrincipalAndFee: 'PRINCIPAL_AND_FEE', PrincipalInterestAndFee: 'PRINCIPAL_INTEREST_AND_FEE', } as const; export type InterestSettingsInterestBalanceCalculationMethodEnum = (typeof InterestSettingsInterestBalanceCalculationMethodEnum)[keyof typeof InterestSettingsInterestBalanceCalculationMethodEnum]; export const InterestSettingsInterestCalculationMethodEnum = { Flat: 'FLAT', DecliningBalance: 'DECLINING_BALANCE', DecliningBalanceDiscounted: 'DECLINING_BALANCE_DISCOUNTED', EqualInstallments: 'EQUAL_INSTALLMENTS', } as const; export type InterestSettingsInterestCalculationMethodEnum = (typeof InterestSettingsInterestCalculationMethodEnum)[keyof typeof InterestSettingsInterestCalculationMethodEnum]; export const InterestSettingsInterestChargeFrequencyEnum = { Annualized: 'ANNUALIZED', EveryMonth: 'EVERY_MONTH', EveryFourWeeks: 'EVERY_FOUR_WEEKS', EveryWeek: 'EVERY_WEEK', EveryDay: 'EVERY_DAY', EveryXDays: 'EVERY_X_DAYS', } as const; export type InterestSettingsInterestChargeFrequencyEnum = (typeof InterestSettingsInterestChargeFrequencyEnum)[keyof typeof InterestSettingsInterestChargeFrequencyEnum]; export const InterestSettingsInterestRateReviewUnitEnum = { Days: 'DAYS', Weeks: 'WEEKS', Months: 'MONTHS', } as const; export type InterestSettingsInterestRateReviewUnitEnum = (typeof InterestSettingsInterestRateReviewUnitEnum)[keyof typeof InterestSettingsInterestRateReviewUnitEnum]; export const InterestSettingsInterestRateSourceEnum = { FixedInterestRate: 'FIXED_INTEREST_RATE', IndexInterestRate: 'INDEX_INTEREST_RATE', } as const; export type InterestSettingsInterestRateSourceEnum = (typeof InterestSettingsInterestRateSourceEnum)[keyof typeof InterestSettingsInterestRateSourceEnum]; export const InterestSettingsInterestTypeEnum = { SimpleInterest: 'SIMPLE_INTEREST', CapitalizedInterest: 'CAPITALIZED_INTEREST', CompoundingInterest: 'COMPOUNDING_INTEREST', } as const; export type InterestSettingsInterestTypeEnum = (typeof InterestSettingsInterestTypeEnum)[keyof typeof InterestSettingsInterestTypeEnum];