/* tslint:disable */ /* eslint-disable */ /** * setup/general * 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 { DashboardConfiguration } from './dashboard-configuration'; // May contain unused imports in some cases // @ts-ignore import type { DuplicateFieldConstraint } from './duplicate-field-constraint'; /** * Represents the general setup for an organization. */ export interface GeneralSetup { /** * The accounting cut off time. */ accountingCutOffTime?: string; /** * `TRUE` if separate users are required for approval and disbursal, `FALSE` otherwise. */ approvalDisbursalTwoManRuleEnabled?: boolean; /** * The number of days that are required before an account can be written off. */ arrearsDaysBeforeWriteOff?: number; /** * The list of required assignments for clients and groups. */ assignmentConstraints?: Array; /** * The interval (number of days) between the execution of automated accounting closures. If this number is 0, automated closure is performed. */ automatedAccountingClosuresInterval?: number; /** * The pattern for generating individual client IDs. */ clientIdFormat?: string; /** * Configuration data */ configurationData?: { [key: string]: object }; /** * The dashboard configuration. */ dashboardConfigurations?: Set; /** * The date (dd-MM-yyyy) or date time (dd-MM-yyyy HH:mm:ss) formats. */ dateFormats?: { [key: string]: string }; /** * Response representation of the decimal separator */ decimalSeparator?: GeneralSetupDecimalSeparatorEnum; /** * The client role used as default. */ defaultClientRoleKey?: string; /** * The client default state. */ defaultClientState?: GeneralSetupDefaultClientStateEnum; /** * The group role used as default. */ defaultGroupRoleKey?: string; /** * Response representation of a Line of Credit */ defaultLineOfCreditState?: GeneralSetupDefaultLineOfCreditStateEnum; /** * The transaction channel that is used as the default. */ defaultTransactionChannelKey?: string; /** * The list of duplicate client constraints that are available in the administration and can be performed. */ duplicateClientChecks?: Array; /** * Represents the action to be taken when a duplicate field constraint failed */ duplicateClientConstraintAction?: GeneralSetupDuplicateClientConstraintActionEnum; /** * The list of all the enabled components for the current tenant. */ enabledComponents?: Array; /** * The encoded key of the general setup, which is auto generated, and unique. */ encodedKey?: string; /** * Response representation of the EOD processing settings whether is automatic, runs every midnight or manual */ eodProcessingMethod?: GeneralSetupEodProcessingMethodEnum; /** * The maximum exposure amount. */ exposureAmount?: number; /** * Response representation of the maximum exposure is a hard cap of how much a client can have in outstanding loans with the organization at any time */ exposureType?: GeneralSetupExposureTypeEnum; /** * The pattern for generating group client IDs. */ groupIdFormat?: string; /** * Response representation of group size limitation type */ groupSizeLimitType?: GeneralSetupGroupSizeLimitTypeEnum; /** * The key of the general ledger (GL) account which will be used for inter-branch transfers. */ interBranchTransferGLAccountKey?: string; /** * The unique pattern after which all the lines of credit IDs should be created. */ lineOfCreditIdFormat?: string; /** * The maximum allowed ID document attachments. */ maxAllowedIdDocumentAttachments?: number; /** * The maximum allowed journal entry attachments. */ maxAllowedJournalEntryDocumentAttachments?: number; /** * The maximum number of days users are allowed to undo of close obligations met for a loan account. */ maxAllowedUndoClosurePeriod?: number; /** * The maximum group size allowed. A null value means the limit is ignored. */ maxGroupSizeLimit?: number; /** * The minimum group size allowed. A null value means the limit is ignored. */ minGroupSizeLimit?: number; /** * Response representation on whether clients can belong to more than one group or not */ multipleGroupMemberships?: GeneralSetupMultipleGroupMembershipsEnum; /** * Response representation of whether multiple loans are allowed or not */ multipleLoans?: GeneralSetupMultipleLoansEnum; /** * `TRUE` if other ID documents are enabled, `FALSE` otherwise. */ otherIdDocumentsEnabled?: boolean; /** * The date used when computing overdraft interest for savings accounts. */ overdraftInterestEodBalanceDate?: string; /** * The unique pattern after which all the till IDs should be created. */ tillIdFormat?: string; } export const GeneralSetupAssignmentConstraintsEnum = { Branch: 'BRANCH', Centre: 'CENTRE', CreditOfficer: 'CREDIT_OFFICER', Group: 'GROUP', } as const; export type GeneralSetupAssignmentConstraintsEnum = (typeof GeneralSetupAssignmentConstraintsEnum)[keyof typeof GeneralSetupAssignmentConstraintsEnum]; export const GeneralSetupDecimalSeparatorEnum = { Comma: 'COMMA', Point: 'POINT', } as const; export type GeneralSetupDecimalSeparatorEnum = (typeof GeneralSetupDecimalSeparatorEnum)[keyof typeof GeneralSetupDecimalSeparatorEnum]; export const GeneralSetupDefaultClientStateEnum = { PendingApproval: 'PENDING_APPROVAL', Inactive: 'INACTIVE', Active: 'ACTIVE', Exited: 'EXITED', Blacklisted: 'BLACKLISTED', Rejected: 'REJECTED', } as const; export type GeneralSetupDefaultClientStateEnum = (typeof GeneralSetupDefaultClientStateEnum)[keyof typeof GeneralSetupDefaultClientStateEnum]; export const GeneralSetupDefaultLineOfCreditStateEnum = { PendingApproval: 'PENDING_APPROVAL', Approved: 'APPROVED', Active: 'ACTIVE', Closed: 'CLOSED', Withdrawn: 'WITHDRAWN', Rejected: 'REJECTED', } as const; export type GeneralSetupDefaultLineOfCreditStateEnum = (typeof GeneralSetupDefaultLineOfCreditStateEnum)[keyof typeof GeneralSetupDefaultLineOfCreditStateEnum]; export const GeneralSetupDuplicateClientConstraintActionEnum = { None: 'NONE', Warning: 'WARNING', Error: 'ERROR', } as const; export type GeneralSetupDuplicateClientConstraintActionEnum = (typeof GeneralSetupDuplicateClientConstraintActionEnum)[keyof typeof GeneralSetupDuplicateClientConstraintActionEnum]; export const GeneralSetupEnabledComponentsEnum = { Loans: 'LOANS', Deposits: 'DEPOSITS', Branches: 'BRANCHES', Centres: 'CENTRES', Clients: 'CLIENTS', Groups: 'GROUPS', Accounting: 'ACCOUNTING', CreditOfficers: 'CREDIT_OFFICERS', } as const; export type GeneralSetupEnabledComponentsEnum = (typeof GeneralSetupEnabledComponentsEnum)[keyof typeof GeneralSetupEnabledComponentsEnum]; export const GeneralSetupEodProcessingMethodEnum = { Automatic: 'AUTOMATIC', Manual: 'MANUAL', EarlyManual: 'EARLY_MANUAL', } as const; export type GeneralSetupEodProcessingMethodEnum = (typeof GeneralSetupEodProcessingMethodEnum)[keyof typeof GeneralSetupEodProcessingMethodEnum]; export const GeneralSetupExposureTypeEnum = { Unlimited: 'UNLIMITED', SumOfLoans: 'SUM_OF_LOANS', SumOfLoansMinusSavings: 'SUM_OF_LOANS_MINUS_SAVINGS', } as const; export type GeneralSetupExposureTypeEnum = (typeof GeneralSetupExposureTypeEnum)[keyof typeof GeneralSetupExposureTypeEnum]; export const GeneralSetupGroupSizeLimitTypeEnum = { Hard: 'HARD', Warning: 'WARNING', None: 'NONE', } as const; export type GeneralSetupGroupSizeLimitTypeEnum = (typeof GeneralSetupGroupSizeLimitTypeEnum)[keyof typeof GeneralSetupGroupSizeLimitTypeEnum]; export const GeneralSetupMultipleGroupMembershipsEnum = { Unlimited: 'UNLIMITED', OneGroup: 'ONE_GROUP', } as const; export type GeneralSetupMultipleGroupMembershipsEnum = (typeof GeneralSetupMultipleGroupMembershipsEnum)[keyof typeof GeneralSetupMultipleGroupMembershipsEnum]; export const GeneralSetupMultipleLoansEnum = { Unlimited: 'UNLIMITED', OneLoan: 'ONE_LOAN', } as const; export type GeneralSetupMultipleLoansEnum = (typeof GeneralSetupMultipleLoansEnum)[keyof typeof GeneralSetupMultipleLoansEnum];