blob: 23ac7d5eff4c40c49d516a3ef9a36fa8d8d70bac [file]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { ChargeOffReasonToGLAccountMapper } from './chargeOffReasonToGLAccountMapper';
import { StringEnumOptionData } from './stringEnumOptionData';
import { GLAccountData } from './gLAccountData';
import { TransactionProcessingStrategyData } from './transactionProcessingStrategyData';
import { CodeValueData } from './codeValueData';
import { LoanProductConfigurableAttributes } from './loanProductConfigurableAttributes';
import { AdvancedPaymentData } from './advancedPaymentData';
import { ClassificationToGLAccountData } from './classificationToGLAccountData';
import { FundData } from './fundData';
import { LoanProductGuaranteeData } from './loanProductGuaranteeData';
import { ChargeData } from './chargeData';
import { EnumOptionData } from './enumOptionData';
import { PaymentTypeData } from './paymentTypeData';
import { ChargeToGLAccountMapper } from './chargeToGLAccountMapper';
import { LoanProductBorrowerCycleVariationData } from './loanProductBorrowerCycleVariationData';
import { CurrencyData } from './currencyData';
import { DelinquencyBucketData } from './delinquencyBucketData';
import { RateData } from './rateData';
import { FloatingRateData } from './floatingRateData';
import { LoanProductInterestRecalculationData } from './loanProductInterestRecalculationData';
import { PaymentTypeToGLAccountMapper } from './paymentTypeToGLAccountMapper';
import { WriteOffReasonsToExpenseAccountMapper } from './writeOffReasonsToExpenseAccountMapper';
import { CreditAllocationData } from './creditAllocationData';
export interface LoanProductData {
accountMovesOutOfNPAOnlyOnArrearsCompletion?: boolean;
accountingMappingOptions?: { [key: string]: Array<GLAccountData>; };
accountingMappings?: { [key: string]: object; };
accountingRule?: EnumOptionData;
accountingRuleOptions?: Array<EnumOptionData>;
advancedPaymentAllocationFutureInstallmentAllocationRules?: Array<EnumOptionData>;
advancedPaymentAllocationTransactionTypes?: Array<EnumOptionData>;
advancedPaymentAllocationTypes?: Array<EnumOptionData>;
allowApprovedDisbursedAmountsOverApplied?: boolean;
allowAttributeOverrides?: LoanProductConfigurableAttributes;
allowPartialPeriodInterestCalculation?: boolean;
allowVariableInstallments?: boolean;
amortizationType?: EnumOptionData;
amortizationTypeOptions?: Array<EnumOptionData>;
annualInterestRate?: number;
buyDownFeeCalculationType?: StringEnumOptionData;
buyDownFeeCalculationTypeOptions?: Array<StringEnumOptionData>;
buyDownFeeIncomeType?: StringEnumOptionData;
buyDownFeeIncomeTypeOptions?: Array<StringEnumOptionData>;
buyDownFeeStrategy?: StringEnumOptionData;
buyDownFeeStrategyOptions?: Array<StringEnumOptionData>;
buydownFeeClassificationOptions?: Array<CodeValueData>;
buydownFeeClassificationToIncomeAccountMappings?: Array<ClassificationToGLAccountData>;
canDefineInstallmentAmount?: boolean;
canUseForTopup?: boolean;
capitalizedIncomeCalculationType?: StringEnumOptionData;
capitalizedIncomeCalculationTypeOptions?: Array<StringEnumOptionData>;
capitalizedIncomeClassificationOptions?: Array<CodeValueData>;
capitalizedIncomeClassificationToIncomeAccountMappings?: Array<ClassificationToGLAccountData>;
capitalizedIncomeStrategy?: StringEnumOptionData;
capitalizedIncomeStrategyOptions?: Array<StringEnumOptionData>;
capitalizedIncomeType?: StringEnumOptionData;
capitalizedIncomeTypeOptions?: Array<StringEnumOptionData>;
chargeOffBehaviour?: StringEnumOptionData;
chargeOffBehaviourOptions?: Array<StringEnumOptionData>;
chargeOffReasonOptions?: Array<CodeValueData>;
chargeOffReasonToExpenseAccountMappings?: Array<ChargeOffReasonToGLAccountMapper>;
chargeOptions?: Array<ChargeData>;
charges?: Array<ChargeData>;
closeDate?: string;
compoundingToBePostedAsTransaction?: boolean;
creditAllocation?: Array<CreditAllocationData>;
creditAllocationAllocationTypes?: Array<EnumOptionData>;
creditAllocationTransactionTypes?: Array<EnumOptionData>;
currency?: CurrencyData;
currencyOptions?: Array<CurrencyData>;
daysInMonthType?: EnumOptionData;
daysInMonthTypeOptions?: Array<EnumOptionData>;
daysInYearCustomStrategy?: StringEnumOptionData;
daysInYearCustomStrategyOptions?: Array<StringEnumOptionData>;
daysInYearType?: EnumOptionData;
daysInYearTypeOptions?: Array<EnumOptionData>;
defaultDifferentialLendingRate?: number;
delinquencyBucket?: DelinquencyBucketData;
delinquencyBucketOptions?: Array<DelinquencyBucketData>;
description?: string;
disallowExpectedDisbursements?: boolean;
disbursedAmountPercentageForDownPayment?: number;
dueDaysForRepaymentEvent?: number;
enableAccrualActivityPosting?: boolean;
enableAutoRepaymentForDownPayment?: boolean;
enableBuyDownFee?: boolean;
enableDownPayment?: boolean;
enableIncomeCapitalization?: boolean;
enableInstallmentLevelDelinquency?: boolean;
equalAmortization?: boolean;
externalId?: string;
feeToIncomeAccountMappings?: Array<ChargeToGLAccountMapper>;
fixedLength?: number;
fixedPrincipalPercentagePerInstallment?: number;
floatingInterestRateCalculationAllowed?: boolean;
floatingRateId?: number;
floatingRateName?: string;
floatingRateOptions?: Array<FloatingRateData>;
fundId?: number;
fundName?: string;
fundOptions?: Array<FundData>;
graceOnArrearsAgeing?: number;
graceOnInterestCharged?: number;
graceOnInterestPayment?: number;
graceOnPrincipalPayment?: number;
holdGuaranteeFunds?: boolean;
id?: number;
inArrearsTolerance?: number;
includeInBorrowerCycle?: boolean;
installmentAmountInMultiplesOf?: number;
interestCalculationPeriodType?: EnumOptionData;
interestCalculationPeriodTypeOptions?: Array<EnumOptionData>;
interestRateDifferential?: number;
interestRateFrequencyType?: EnumOptionData;
interestRateFrequencyTypeOptions?: Array<EnumOptionData>;
interestRatePerPeriod?: number;
interestRateVariationsForBorrowerCycle?: Array<LoanProductBorrowerCycleVariationData>;
interestRecalculationCompoundingTypeOptions?: Array<EnumOptionData>;
interestRecalculationData?: LoanProductInterestRecalculationData;
interestRecalculationDayOfWeekTypeOptions?: Array<EnumOptionData>;
interestRecalculationEnabled?: boolean;
interestRecalculationFrequencyTypeOptions?: Array<EnumOptionData>;
interestRecalculationNthDayTypeOptions?: Array<EnumOptionData>;
interestRecognitionOnDisbursementDate?: boolean;
interestType?: EnumOptionData;
interestTypeOptions?: Array<EnumOptionData>;
isAllowPartialPeriodInterestCalculation?: boolean;
isEqualAmortization?: boolean;
isFloatingInterestRateCalculationAllowed?: boolean;
isInterestRecalculationEnabled?: boolean;
isLinkedToFloatingInterestRates?: boolean;
isRatesEnabled?: boolean;
linkedToFloatingInterestRates?: boolean;
loanProductConfigurableAttributes?: LoanProductConfigurableAttributes;
loanScheduleProcessingType?: EnumOptionData;
loanScheduleProcessingTypeOptions?: Array<EnumOptionData>;
loanScheduleType?: EnumOptionData;
loanScheduleTypeOptions?: Array<EnumOptionData>;
maxDifferentialLendingRate?: number;
maxInterestRatePerPeriod?: number;
maxNumberOfRepayments?: number;
maxPrincipal?: number;
maxTrancheCount?: number;
maximumGap?: number;
merchantBuyDownFee?: boolean;
minDifferentialLendingRate?: number;
minInterestRatePerPeriod?: number;
minNumberOfRepayments?: number;
minPrincipal?: number;
minimumDaysBetweenDisbursalAndFirstRepayment?: number;
minimumGap?: number;
multiDisburseLoan?: boolean;
name?: string;
numberOfRepaymentVariationsForBorrowerCycle?: Array<LoanProductBorrowerCycleVariationData>;
numberOfRepayments?: number;
outstandingLoanBalance?: number;
overAppliedCalculationType?: string;
overAppliedNumber?: number;
overDueDaysForRepaymentEvent?: number;
overdueDaysForNPA?: number;
paymentAllocation?: Array<AdvancedPaymentData>;
paymentChannelToFundSourceMappings?: Array<PaymentTypeToGLAccountMapper>;
paymentTypeOptions?: Array<PaymentTypeData>;
penaltyOptions?: Array<ChargeData>;
penaltyToIncomeAccountMappings?: Array<ChargeToGLAccountMapper>;
preClosureInterestCalculationStrategyOptions?: Array<EnumOptionData>;
principal?: number;
principalThresholdForLastInstallment?: number;
principalVariationsForBorrowerCycle?: Array<LoanProductBorrowerCycleVariationData>;
productGuaranteeData?: LoanProductGuaranteeData;
rateOptions?: Array<RateData>;
rates?: Array<RateData>;
ratesEnabled?: boolean;
recurringMoratoriumOnPrincipalPeriods?: number;
repaymentEvery?: number;
repaymentFrequencyType?: EnumOptionData;
repaymentFrequencyTypeOptions?: Array<EnumOptionData>;
repaymentStartDateType?: EnumOptionData;
repaymentStartDateTypeOptions?: Array<EnumOptionData>;
rescheduleStrategyTypeOptions?: Array<EnumOptionData>;
shortName?: string;
startDate?: string;
status?: string;
supportedInterestRefundTypes?: Array<StringEnumOptionData>;
supportedInterestRefundTypesOptions?: Array<StringEnumOptionData>;
syncExpectedWithDisbursementDate?: boolean;
transactionProcessingStrategyCode?: string;
transactionProcessingStrategyName?: string;
transactionProcessingStrategyOptions?: Array<TransactionProcessingStrategyData>;
useBorrowerCycle?: boolean;
valueConditionTypeOptions?: Array<EnumOptionData>;
writeOffReasonOptions?: Array<CodeValueData>;
writeOffReasonsToExpenseMappings?: Array<WriteOffReasonsToExpenseAccountMapper>;
}