/* tslint:disable */ /* eslint-disable */ /** * loanproducts * 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 { PrincipalPaymentProductSettings } from './principal-payment-product-settings'; // May contain unused imports in some cases // @ts-ignore import type { ProductPrepaymentSettings } from './product-prepayment-settings'; /** * Defines the payment settings for the loan product and for loans crated based on this product. */ export interface PaymentSettings { /** * Payments Method used by loan accounts for repayments schedule generation. */ amortizationMethod?: PaymentSettingsAmortizationMethodEnum; /** * The late payment recalculation method. Is used by loan accounts to have the schedule recalculated when late payments are posted on accounts.. */ latePaymentsRecalculationMethod: PaymentSettingsLatePaymentsRecalculationMethodEnum; /** * The payment allocation method used by the loans defining how the payments get performed. */ paymentMethod: PaymentSettingsPaymentMethodEnum; prepaymentSettings?: ProductPrepaymentSettings; principalPaymentSettings?: PrincipalPaymentProductSettings; /** * A list of basic repayment allocation elements such as the principal, interest & fees. */ repaymentAllocationOrder: Array; } export const PaymentSettingsAmortizationMethodEnum = { StandardPayments: 'STANDARD_PAYMENTS', BalloonPayments: 'BALLOON_PAYMENTS', OptimizedPayments: 'OPTIMIZED_PAYMENTS', PaymentPlan: 'PAYMENT_PLAN', } as const; export type PaymentSettingsAmortizationMethodEnum = (typeof PaymentSettingsAmortizationMethodEnum)[keyof typeof PaymentSettingsAmortizationMethodEnum]; export const PaymentSettingsLatePaymentsRecalculationMethodEnum = { OverdueInstallmentsIncrease: 'OVERDUE_INSTALLMENTS_INCREASE', LastInstallmentIncrease: 'LAST_INSTALLMENT_INCREASE', NoRecalculation: 'NO_RECALCULATION', } as const; export type PaymentSettingsLatePaymentsRecalculationMethodEnum = (typeof PaymentSettingsLatePaymentsRecalculationMethodEnum)[keyof typeof PaymentSettingsLatePaymentsRecalculationMethodEnum]; export const PaymentSettingsPaymentMethodEnum = { Horizontal: 'HORIZONTAL', Vertical: 'VERTICAL', } as const; export type PaymentSettingsPaymentMethodEnum = (typeof PaymentSettingsPaymentMethodEnum)[keyof typeof PaymentSettingsPaymentMethodEnum]; export const PaymentSettingsRepaymentAllocationOrderEnum = { Principal: 'PRINCIPAL', Interest: 'INTEREST', Fee: 'FEE', Penalty: 'PENALTY', } as const; export type PaymentSettingsRepaymentAllocationOrderEnum = (typeof PaymentSettingsRepaymentAllocationOrderEnum)[keyof typeof PaymentSettingsRepaymentAllocationOrderEnum];