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

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

/** List of Delivery address update entity. The fields of this entity are described below. */
export interface DeliveryAddressUpdateReferences {
  /** CardId */
  cardId?: number;
  /** PAN of the card. */
  cardPAN?: string;
  /** AccountId */
  accountId?: number;
  /** Account number */
  accountNumber?: string;
  /** Individual delivery address update reference number for the delivery address update request. */
  referenceId?: number;
  /** Individual error information for the delivery address update request. */
  errorInfo?: string;
}

export const deliveryAddressUpdateReferencesSchema: Schema<DeliveryAddressUpdateReferences> = object(
  {
    cardId: ['CardId', optional(number())],
    cardPAN: ['CardPAN', optional(string())],
    accountId: ['AccountId', optional(number())],
    accountNumber: ['AccountNumber', optional(string())],
    referenceId: ['ReferenceId', optional(number())],
    errorInfo: ['ErrorInfo', optional(string())],
  }
);
