/**
 * Shell Card Management APIsLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

import { nullable, number, object, optional, Schema, string } from '../schema';

export interface AccountAccess {
  /** Collecting company id. */
  colcoId?: number | null;
  /** Collecting company code. */
  colcoCode?: number | null;
  /** Payer Id to which the user has access */
  payerId?: number | null;
  /** Payer Number to which the user has access */
  payerNumber?: string | null;
  /** Name of the Payer to which the user has access */
  payerName?: string | null;
  /** Account Id to which the user has access */
  accountId?: number | null;
  /** Account Number to which the user has access */
  accountNumber?: string;
  /** Name of the Account to which the user has access */
  accountName?: string | null;
}

export const accountAccessSchema: Schema<AccountAccess> = object({
  colcoId: ['ColcoId', optional(nullable(number()))],
  colcoCode: ['ColcoCode', optional(nullable(number()))],
  payerId: ['PayerId', optional(nullable(number()))],
  payerNumber: ['PayerNumber', optional(nullable(string()))],
  payerName: ['PayerName', optional(nullable(string()))],
  accountId: ['AccountId', optional(nullable(number()))],
  accountNumber: ['AccountNumber', optional(string())],
  accountName: ['AccountName', optional(nullable(string()))],
});
