/** * Shell Data & Reporting APIsLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { array, boolean, lazy, nullable, number, object, optional, Schema, string, } from '../schema.js'; import { Accounts, accountsSchema } from './accounts.js'; export interface StatementOfAccountRequestFilters { /** * Collecting Company Code (Shell Code) of the selected payer. * Optional If ColCo Id is passed else Mandatory. */ colCoCode?: number | null; /** * Payer Id of the selected payer. * Optional if PayerNumber is passed else Mandatory. */ payerId?: number | null; /** * Payer Number of the selected payer. * Optional if PayerId is passed else Mandatory. */ payerNumber?: string | null; /** * True/False. * Optional. Default is False. * True if the past 13 monthly invoice trend to be included as part of the response. Else false. */ includeMonthlyInvoiceTrend?: boolean | null; /** * True/False. * Optional. Default is False. * True if the past X SOA documents are to be included as part of the response. Else false. */ includePastStatementOfAccounts?: boolean | null; /** * True/False * Optional Default is False. * If true PastStatementOfAccounts entity on this API output should contain the SOA documents that are due or overdue only. */ dueOrOverDueSOADocumentsOnly?: boolean | null; /** This parameter is only applicable when “IncludePastStatementOfAccounts” parameter is set to True. */ numberOfSOADocuments?: number | null; /** * True/False * Optional. * Default value is false. * When true InvoicesSummaries list will be returned in the API output. */ includeAccountInvoicesSummary?: boolean | null; /** * Collecting Company Id of the selected payer. * Optional If ColCo Code is passed else Mandatory. */ colCoId?: number | null; accounts?: Accounts[]; } export const statementOfAccountRequestFiltersSchema: Schema = lazy( () => object({ colCoCode: ['ColCoCode', optional(nullable(number()))], payerId: ['PayerId', optional(nullable(number()))], payerNumber: ['PayerNumber', optional(nullable(string()))], includeMonthlyInvoiceTrend: [ 'IncludeMonthlyInvoiceTrend', optional(nullable(boolean())), ], includePastStatementOfAccounts: [ 'IncludePastStatementOfAccounts', optional(nullable(boolean())), ], dueOrOverDueSOADocumentsOnly: [ 'DueOrOverDueSOADocumentsOnly', optional(nullable(boolean())), ], numberOfSOADocuments: [ 'NumberOfSOADocuments', optional(nullable(number())), ], includeAccountInvoicesSummary: [ 'IncludeAccountInvoicesSummary', optional(nullable(boolean())), ], colCoId: ['ColCoId', optional(nullable(number()))], accounts: ['Accounts', optional(array(accountsSchema))], }) );