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

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

export interface InvoiceDistributionMethod {
  /** If True then this distribution method is the default distribution method. */
  isPrimary?: boolean;
  /**
   * Frequency type unit Id & description
   * E.g.:
   * 1- Daily
   * 2-Weekly
   * 3-Monthly
   * 4-Invoicing
   * 6-Calendar quarter
   */
  frequencyType?: string | null;
  /**
   * Invoice Distribution Method (Id-Description)
   * E.g.:
   * 1-e-mail
   * 2-Fax
   * 3-Courier to Customer
   * 4-Courier to Client
   * 5-Print
   * 6-FTP
   * 7-SMS
   */
  distributionMethod?: string | null;
  /** Invoice output type (Id - Description) */
  outputType?: string | null;
}

export const invoiceDistributionMethodSchema: Schema<InvoiceDistributionMethod> = object(
  {
    isPrimary: ['IsPrimary', optional(boolean())],
    frequencyType: ['FrequencyType', optional(nullable(string()))],
    distributionMethod: ['DistributionMethod', optional(nullable(string()))],
    outputType: ['OutputType', optional(nullable(string()))],
  }
);
