blob: c68853e9f28af1d486bd51ef747ed3edb2c707a1 [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 { PostLoansDataTable } from './postLoansDataTable';
import { StringEnumOptionData } from './stringEnumOptionData';
import { PostLoansRequestChargeData } from './postLoansRequestChargeData';
import { PostLoansOriginatorData } from './postLoansOriginatorData';
import { PostLoansDisbursementData } from './postLoansDisbursementData';
import { PostLoansRequestCollateralData } from './postLoansRequestCollateralData';
/**
* PostLoansRequest
*/
export interface PostLoansRequest {
/**
* Allow full term length for each tranche disbursement
*/
allowFullTermForTranche?: boolean;
amortizationType?: number;
buyDownFeeCalculationType?: PostLoansRequest.BuyDownFeeCalculationTypeEnum;
buyDownFeeIncomeType?: PostLoansRequest.BuyDownFeeIncomeTypeEnum;
buyDownFeeStrategy?: PostLoansRequest.BuyDownFeeStrategyEnum;
/**
* Meeting calendar to attach the loan to; required for jlg loans
*/
calendarId?: number;
capitalizedIncomeCalculationType?: PostLoansRequest.CapitalizedIncomeCalculationTypeEnum;
capitalizedIncomeStrategy?: PostLoansRequest.CapitalizedIncomeStrategyEnum;
capitalizedIncomeType?: StringEnumOptionData;
charges?: Array<PostLoansRequestChargeData>;
clientId?: number;
collateral?: Array<PostLoansRequestCollateralData>;
/**
* Requires linkAccountId when true
*/
createStandingInstructionAtDisbursement?: boolean;
datatables?: Array<PostLoansDataTable>;
dateFormat?: string;
daysInYearCustomStrategy?: PostLoansRequest.DaysInYearCustomStrategyEnum;
daysInYearType?: number;
disbursedAmountPercentageForDownPayment?: number;
/**
* List of PostLoansDisbursementData
*/
disbursementData?: Array<PostLoansDisbursementData>;
enableAutoRepaymentForDownPayment?: boolean;
enableBuyDownFee?: boolean;
enableDownPayment?: boolean;
enableIncomeCapitalization?: boolean;
enableInstallmentLevelDelinquency?: boolean;
expectedDisbursementDate?: string;
externalId?: string;
fixedEmiAmount?: number;
fixedLength?: number;
fixedPrincipalPercentagePerInstallment?: number;
graceOnArrearsAgeing?: number;
graceOnInterestCharged?: number;
graceOnInterestPayment?: number;
graceOnPrincipalPayment?: number;
/**
* Mandatory for group and GLIM loans
*/
groupId?: number;
inArrearsTolerance?: number;
interestCalculationPeriodType?: number;
interestChargedFromDate?: string;
/**
* Added to the floating rate when isFloatingInterestRate is true
*/
interestRateDifferential?: number;
interestRateFrequencyType?: number;
interestRatePerPeriod?: number;
interestRecognitionOnDisbursementDate?: boolean;
interestType?: number;
/**
* Take the rate from the product\'s floating rate instead of interestRatePerPeriod
*/
isFloatingInterestRate?: boolean;
/**
* GLIM loans only: marks this application as the GLIM parent account
*/
isParentAccount?: boolean;
linkAccountId?: number;
loanScheduleProcessingType?: string;
loanTermFrequency?: number;
loanTermFrequencyType?: number;
loanType?: string;
locale?: string;
/**
* Maximum allowed outstanding balance
*/
maxOutstandingLoanBalance?: number;
numberOfRepayments?: number;
/**
* Optional array of originators to associate with this loan. Each entry can reference an existing originator by \'id\' or \'externalId\'. If the global config \'enable_originator_creation_during_loan_application\' is enabled, non-existing originators will be auto-created using the provided details (name, typeId, channelTypeId).
*/
originators?: Array<PostLoansOriginatorData>;
principal?: number;
productId?: number;
repaymentEvery?: number;
repaymentFrequencyType?: number;
repaymentStartDateType?: number;
repaymentsStartingFromDate?: string;
submittedOnDate?: string;
/**
* Sync the disbursement date with the attached meeting
*/
syncDisbursementWithMeeting?: boolean;
/**
* GLIM loans only: the total principal of the parent GLIM account
*/
totalLoan?: number;
transactionProcessingStrategyCode?: string;
}
export namespace PostLoansRequest {
export const BuyDownFeeCalculationTypeEnum = {
Flat: 'FLAT'
} as const;
export type BuyDownFeeCalculationTypeEnum = typeof BuyDownFeeCalculationTypeEnum[keyof typeof BuyDownFeeCalculationTypeEnum];
export const BuyDownFeeIncomeTypeEnum = {
Fee: 'FEE',
Interest: 'INTEREST'
} as const;
export type BuyDownFeeIncomeTypeEnum = typeof BuyDownFeeIncomeTypeEnum[keyof typeof BuyDownFeeIncomeTypeEnum];
export const BuyDownFeeStrategyEnum = {
EqualAmortization: 'EQUAL_AMORTIZATION'
} as const;
export type BuyDownFeeStrategyEnum = typeof BuyDownFeeStrategyEnum[keyof typeof BuyDownFeeStrategyEnum];
export const CapitalizedIncomeCalculationTypeEnum = {
Flat: 'FLAT'
} as const;
export type CapitalizedIncomeCalculationTypeEnum = typeof CapitalizedIncomeCalculationTypeEnum[keyof typeof CapitalizedIncomeCalculationTypeEnum];
export const CapitalizedIncomeStrategyEnum = {
EqualAmortization: 'EQUAL_AMORTIZATION'
} as const;
export type CapitalizedIncomeStrategyEnum = typeof CapitalizedIncomeStrategyEnum[keyof typeof CapitalizedIncomeStrategyEnum];
export const DaysInYearCustomStrategyEnum = {
FullLeapYearFeb29PeriodOnly: 'FULL_LEAP_YEAR, FEB_29_PERIOD_ONLY'
} as const;
export type DaysInYearCustomStrategyEnum = typeof DaysInYearCustomStrategyEnum[keyof typeof DaysInYearCustomStrategyEnum];
}