/**
 * 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.js';

export interface Payers {
  /** Collecting Company Id of the payer */
  colCoId?: number | null;
  /**
   * Collecting Company Code (Shell Code) of the selected payer.
   * Mandatory for serviced OUs such as Romania, Latvia, Lithuania, Estonia, Ukraine etc. It is optional for other countries if ColCoID is provided.
   */
  colCoCode?: number | null;
  /** Payer id of the customer. */
  payerId?: number | null;
  /** Payer Number of the customer. */
  payerNumber?: string | null;
  /** Payer Name of the customer. */
  payerName?: string | null;
  /** Payer Group identifier of the customer */
  payerGroupId?: number | null;
}

export const payersSchema: Schema<Payers> = 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()))],
  payerGroupId: ['PayerGroupId', optional(nullable(number()))],
});
