/* tslint:disable */ /* eslint-disable */ /** * loans/transactions * 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 { CardTransaction } from './card-transaction'; // May contain unused imports in some cases // @ts-ignore import type { Currency } from './currency'; // May contain unused imports in some cases // @ts-ignore import type { CustomPaymentAmount } from './custom-payment-amount'; // May contain unused imports in some cases // @ts-ignore import type { Fee } from './fee'; // May contain unused imports in some cases // @ts-ignore import type { LoanAffectedAmounts } from './loan-affected-amounts'; // May contain unused imports in some cases // @ts-ignore import type { LoanTerms } from './loan-terms'; // May contain unused imports in some cases // @ts-ignore import type { Taxes } from './taxes'; // May contain unused imports in some cases // @ts-ignore import type { TransactionBalances } from './transaction-balances'; // May contain unused imports in some cases // @ts-ignore import type { TransactionDetails } from './transaction-details'; // May contain unused imports in some cases // @ts-ignore import type { TransferDetails } from './transfer-details'; /** * Represents the action performed on a loan account after which the account\'s amount changes its value. */ export interface LoanTransaction { accountBalances?: TransactionBalances; /** * The key of the loan transaction where the adjustment for the transaction was made (if any adjustment was involved). */ adjustmentTransactionKey?: string; affectedAmounts?: LoanAffectedAmounts; /** * The amount that was added or removed on the loan account. */ amount?: number; /** * The date when the corresponding journal entry is booked. */ bookingDate?: string; /** * The branch where the transaction was performed. */ branchKey?: string; cardTransaction?: CardTransaction; /** * The center where the transaction was performed. */ centreKey?: string; /** * The date when this loan transaction was created. */ creationDate?: string; currency?: Currency; /** * The list of custom amounts which the user has paid as part of this transaction. */ customPaymentAmounts?: Array; /** * The encoded key of the loan transaction, which is auto generated, and must be unique. */ encodedKey?: string; /** * The external ID of the loan transaction, it is customizable, and must be unique. */ externalId?: string; feeIncludedInPmt?: boolean; /** * The amounts that have been applied or paid as part of this transaction and involved predefined fees. */ fees?: Array; /** * The ID of the loan transaction, can be generated and customized, and must be unique. */ id?: string; /** * The specific installment encoded key associated to the loan transaction. */ installmentEncodedKey?: string; lateFeeIncludedInPmt?: boolean; /** * The late fees associated per installment for the loan transaction. */ lateFeePerInstallment?: { [key: string]: number }; /** * The specific principal overpayment transaction key associated to the loan transaction. */ linkedPrincipalOverpaymentTransactionKey?: string; /** * The migration event encoded key associated with the loan account. If the account was imported, track which \'migration event\' it came from. */ migrationEventKey?: string; /** * The notes or description for the loan transaction. */ notes?: string; /** * The amount that was posted in a foreign currency. This amount was converted using the exchange rate available at entry date and set into the amount field. */ originalAmount?: number; /** * The currency in which this transaction was posted. The amounts are stored in the base currency, but the user may enter it in a foreign currency. */ originalCurrencyCode?: string; /** * The encoded key of the transaction that was adjusted as part of this one. Available only for adjustment transactions. */ originalTransactionKey?: string; /** * The key of the parent loan account. */ parentAccountKey?: string; /** * The key of the parent loan transaction. */ parentLoanTransactionKey?: string; /** * The prepayment recalculation method types. */ prepaymentRecalculationMethod?: LoanTransactionPrepaymentRecalculationMethodEnum; taxes?: Taxes; terms?: LoanTerms; /** * The till key associated with the transaction. */ tillKey?: string; transactionDetails?: TransactionDetails; transferDetails?: TransferDetails; /** * The type of loan transaction. */ type?: LoanTransactionTypeEnum; /** * The user that performed the transaction. */ userKey?: string; /** * The date of the entry in the organization time format and timezone. */ valueDate?: string; } export const LoanTransactionPrepaymentRecalculationMethodEnum = { NoRecalculation: 'NO_RECALCULATION', RescheduleRemainingRepayments: 'RESCHEDULE_REMAINING_REPAYMENTS', RecalculateScheduleKeepSameNumberOfTerms: 'RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS', RecalculateScheduleKeepSamePrincipalAmount: 'RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT', RecalculateScheduleKeepSameTotalRepaymentAmount: 'RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT', ReduceAmountPerInstallment: 'REDUCE_AMOUNT_PER_INSTALLMENT', ReduceNumberOfInstallments: 'REDUCE_NUMBER_OF_INSTALLMENTS', ReduceNumberOfInstallmentsNew: 'REDUCE_NUMBER_OF_INSTALLMENTS_NEW', } as const; export type LoanTransactionPrepaymentRecalculationMethodEnum = (typeof LoanTransactionPrepaymentRecalculationMethodEnum)[keyof typeof LoanTransactionPrepaymentRecalculationMethodEnum]; export const LoanTransactionTypeEnum = { Import: 'IMPORT', Disbursement: 'DISBURSEMENT', DisbursementAdjustment: 'DISBURSEMENT_ADJUSTMENT', WriteOff: 'WRITE_OFF', WriteOffAdjustment: 'WRITE_OFF_ADJUSTMENT', Repayment: 'REPAYMENT', AdvanceRepayment: 'ADVANCE_REPAYMENT', PaymentMade: 'PAYMENT_MADE', WithdrawalRedraw: 'WITHDRAWAL_REDRAW', WithdrawalRedrawAdjustment: 'WITHDRAWAL_REDRAW_ADJUSTMENT', FeeApplied: 'FEE_APPLIED', FeeCharged: 'FEE_CHARGED', FeeCapitalised: 'FEE_CAPITALISED', ScheduleFixApplied: 'SCHEDULE_FIX_APPLIED', FeesDueReduced: 'FEES_DUE_REDUCED', FeeRefund: 'FEE_REFUND', FeeRefundAdjustment: 'FEE_REFUND_ADJUSTMENT', FeeAdjustment: 'FEE_ADJUSTMENT', PenaltyApplied: 'PENALTY_APPLIED', PenaltyAdjustment: 'PENALTY_ADJUSTMENT', PenaltiesDueReduced: 'PENALTIES_DUE_REDUCED', RepaymentAdjustment: 'REPAYMENT_ADJUSTMENT', AdvanceRepaymentAdjustment: 'ADVANCE_REPAYMENT_ADJUSTMENT', FeeCapitalisedAdjustment: 'FEE_CAPITALISED_ADJUSTMENT', PaymentMadeAdjustment: 'PAYMENT_MADE_ADJUSTMENT', InterestRateChanged: 'INTEREST_RATE_CHANGED', FeeRateChanged: 'FEE_RATE_CHANGED', TaxRateChanged: 'TAX_RATE_CHANGED', PenaltyRateChanged: 'PENALTY_RATE_CHANGED', InterestApplied: 'INTEREST_APPLIED', IbfInterestApplied: 'IBF_INTEREST_APPLIED', IbfInterestAppliedAdjustment: 'IBF_INTEREST_APPLIED_ADJUSTMENT', InterestAppliedAdjustment: 'INTEREST_APPLIED_ADJUSTMENT', InterestDueReduced: 'INTEREST_DUE_REDUCED', PenaltyReductionAdjustment: 'PENALTY_REDUCTION_ADJUSTMENT', FeeReductionAdjustment: 'FEE_REDUCTION_ADJUSTMENT', InterestReductionAdjustment: 'INTEREST_REDUCTION_ADJUSTMENT', DeferredInterestApplied: 'DEFERRED_INTEREST_APPLIED', DeferredInterestAppliedAdjustment: 'DEFERRED_INTEREST_APPLIED_ADJUSTMENT', DeferredInterestPaid: 'DEFERRED_INTEREST_PAID', DeferredInterestPaidAdjustment: 'DEFERRED_INTEREST_PAID_ADJUSTMENT', InterestLocked: 'INTEREST_LOCKED', FeeLocked: 'FEE_LOCKED', PenaltyLocked: 'PENALTY_LOCKED', InterestUnlocked: 'INTEREST_UNLOCKED', FeeUnlocked: 'FEE_UNLOCKED', PenaltyUnlocked: 'PENALTY_UNLOCKED', RedrawTransfer: 'REDRAW_TRANSFER', RedrawRepayment: 'REDRAW_REPAYMENT', RedrawTransferAdjustment: 'REDRAW_TRANSFER_ADJUSTMENT', RedrawRepaymentAdjustment: 'REDRAW_REPAYMENT_ADJUSTMENT', Transfer: 'TRANSFER', TransferAdjustment: 'TRANSFER_ADJUSTMENT', BranchChanged: 'BRANCH_CHANGED', TermsChanged: 'TERMS_CHANGED', CardTransactionReversal: 'CARD_TRANSACTION_REVERSAL', CardTransactionReversalAdjustment: 'CARD_TRANSACTION_REVERSAL_ADJUSTMENT', DueDateChanged: 'DUE_DATE_CHANGED', DueDateChangedAdjustment: 'DUE_DATE_CHANGED_ADJUSTMENT', AccountTerminated: 'ACCOUNT_TERMINATED', AccountTerminatedAdjustment: 'ACCOUNT_TERMINATED_ADJUSTMENT', Refund: 'REFUND', RefundAdjustment: 'REFUND_ADJUSTMENT', ReduceBalance: 'REDUCE_BALANCE', ReduceBalanceAdjustment: 'REDUCE_BALANCE_ADJUSTMENT', PrincipalOverpayment: 'PRINCIPAL_OVERPAYMENT', PrincipalOverpaymentAdjustment: 'PRINCIPAL_OVERPAYMENT_ADJUSTMENT', CreditBalanceDeposit: 'CREDIT_BALANCE_DEPOSIT', CreditBalanceDepositAdjustment: 'CREDIT_BALANCE_DEPOSIT_ADJUSTMENT', CreditBalanceWithdrawal: 'CREDIT_BALANCE_WITHDRAWAL', CreditBalanceWithdrawalAdjustment: 'CREDIT_BALANCE_WITHDRAWAL_ADJUSTMENT', PaymentHolidaysInterestCapitalised: 'PAYMENT_HOLIDAYS_INTEREST_CAPITALISED', PaymentHolidaysInterestCapitalisedAdjustment: 'PAYMENT_HOLIDAYS_INTEREST_CAPITALISED_ADJUSTMENT', } as const; export type LoanTransactionTypeEnum = (typeof LoanTransactionTypeEnum)[keyof typeof LoanTransactionTypeEnum];