/* 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 { BillingCycleDays } from './billing-cycle-days'; // May contain unused imports in some cases // @ts-ignore import type { PeriodicPayment } from './periodic-payment'; // May contain unused imports in some cases // @ts-ignore import type { RevolvingAccountSettings } from './revolving-account-settings'; /** * The schedule settings, holds all schedule properties. */ export interface ScheduleSettings { /** * The PMT is calculated as the loan would have [amortizationPeriod] installments. */ amortizationPeriod?: number; billingCycle?: BillingCycleDays; /** * The default first repayment due date offset, indicates how many days the first repayment due date should be extended(all other due dates from the schedule are relative to first repayment due date - they will also be affected by the offset) */ defaultFirstRepaymentDueDateOffset?: number; /** * Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH. */ fixedDaysOfMonth?: Array; /** * The grace period. Represents the grace period for loan repayment - in number of installments. */ gracePeriod: number; /** * The grace period type for a loan account. */ gracePeriodType?: ScheduleSettingsGracePeriodTypeEnum; /** * Flag used when the repayments schedule for the current account was determined by the user, by editing the due dates or the principal due */ hasCustomSchedule?: boolean; /** * A list of periodic payments for the current loan account. */ paymentPlan?: Array; /** * The periodic payment amount for the accounts which have balloon payments or Reduce Number of Installments and Optimized Payments */ periodicPayment?: number; previewSchedule?: RevolvingAccountSettings; /** * The principal repayment interval. Indicates the interval of repayments that the principal has to be paid. */ principalRepaymentInterval?: number; /** * The repayment installments. Represents how many installments are required to pay back the loan. */ repaymentInstallments?: number; /** * The repayment period count. Represents how often the loan is to be repaid: stored based on the type repayment option. */ repaymentPeriodCount?: number; /** * The frequency of the loan repayment. */ repaymentPeriodUnit?: ScheduleSettingsRepaymentPeriodUnitEnum; /** * The method used by the loans to compute the repayment schedule. */ repaymentScheduleMethod?: ScheduleSettingsRepaymentScheduleMethodEnum; /** * The schedule due dates method. Used by the loan accounts to determine the due dates of the repayments. */ scheduleDueDatesMethod?: ScheduleSettingsScheduleDueDatesMethodEnum; /** * The short month handling method type for a loan account. */ shortMonthHandlingMethod?: ScheduleSettingsShortMonthHandlingMethodEnum; } export const ScheduleSettingsGracePeriodTypeEnum = { None: 'NONE', PayInterestOnly: 'PAY_INTEREST_ONLY', InterestForgiveness: 'INTEREST_FORGIVENESS', } as const; export type ScheduleSettingsGracePeriodTypeEnum = (typeof ScheduleSettingsGracePeriodTypeEnum)[keyof typeof ScheduleSettingsGracePeriodTypeEnum]; export const ScheduleSettingsRepaymentPeriodUnitEnum = { Days: 'DAYS', Weeks: 'WEEKS', Months: 'MONTHS', Years: 'YEARS', } as const; export type ScheduleSettingsRepaymentPeriodUnitEnum = (typeof ScheduleSettingsRepaymentPeriodUnitEnum)[keyof typeof ScheduleSettingsRepaymentPeriodUnitEnum]; export const ScheduleSettingsRepaymentScheduleMethodEnum = { None: 'NONE', Fixed: 'FIXED', Dynamic: 'DYNAMIC', } as const; export type ScheduleSettingsRepaymentScheduleMethodEnum = (typeof ScheduleSettingsRepaymentScheduleMethodEnum)[keyof typeof ScheduleSettingsRepaymentScheduleMethodEnum]; export const ScheduleSettingsScheduleDueDatesMethodEnum = { Interval: 'INTERVAL', FixedDaysOfMonth: 'FIXED_DAYS_OF_MONTH', } as const; export type ScheduleSettingsScheduleDueDatesMethodEnum = (typeof ScheduleSettingsScheduleDueDatesMethodEnum)[keyof typeof ScheduleSettingsScheduleDueDatesMethodEnum]; export const ScheduleSettingsShortMonthHandlingMethodEnum = { LastDayInMonth: 'LAST_DAY_IN_MONTH', FirstDayOfNextMonth: 'FIRST_DAY_OF_NEXT_MONTH', } as const; export type ScheduleSettingsShortMonthHandlingMethodEnum = (typeof ScheduleSettingsShortMonthHandlingMethodEnum)[keyof typeof ScheduleSettingsShortMonthHandlingMethodEnum];