/** * 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 { CartTypeAccount, cartTypeAccountSchema } from './cartTypeAccount.js'; import { PurchaseCategories, purchaseCategoriesSchema, } from './purchaseCategories.js'; export interface CardTypeResponseCustomerCardTypesItems { /** Card Type Id in Cards Platform. */ cardTypeId?: number; /** Token type identifier. */ tokenTypeId?: number; /** Card Type Name. */ cardTypeName?: string; /** Token Type Name. */ tokenTypeName?: string; /** PAN Length. */ pANLength?: number; /** Default Expiry period. */ expiryPeriod?: number; /** True/False – Whether it is a National Card type or not. */ isNational?: boolean; /** True/False – Whether it is an International Card type or not. */ isInternational?: boolean; /** True/False – Wether it is a CRT Card type or not. */ isCRT?: boolean; /** True/False – Whether it is it a Fleet Card typeor not. */ isFleet?: boolean; /** True/False – Whether it is only allowed in Shell Stations or not. */ isShellSitesOnly?: boolean; /** True/False – Whether this card type is allowed in partner Stations. */ isPartnerSitesIncluded?: boolean; /** True/False – Whether the cards of this card type can have PIN. */ canHavePIN?: boolean; /** True/False - Whether it is a Virtual Card type or not. */ isVirtual?: boolean; /** Whether card type is active or not. */ isActive?: boolean; /** Whether card type is available for download. */ isCardAvailableForDownload?: boolean | null; /** ISO currency code of the country. */ colCoCurrencyCode?: string; /** Currency symbol of the country. */ colCoCurrencySymbol?: string; /** Is Europay, MasterCard, and Visa Contactless enabled or not. */ eMVContactless?: boolean | null; /** Whether the card type is enabled for RFID (Radio Frequency Identification) */ rFID?: boolean | null; /** PIN change supported or not. */ pINChangeSupported?: boolean | null; /** Whether a PIN is mandatory for the cards of this card type. */ requirePIN?: boolean | null; /** Whether offline PIN is enabled or not. */ offlinePIN?: boolean | null; /** Id of the medium type identifier.

Full list below -
1 - Fuel Card
2 - Fuel Card with EV
3 - EV only
4 - Fuel Card and Key Fob
5 - Key Fob
6 - Virtual Card
7 - NPII Token
8 – Smartpay Token */ mediumTypeID?: number; /** Name of the medium type identifier.

Full list below -
1 - Fuel Card
2 - Fuel Card with EV
3 - EV only
4 - Fuel Card and Key Fob
5 - Key Fob
6 - Virtual Card
7 - NPII Token
8 – Smartpay Token */ mediumType?: string; /** List of accounts. */ cartTypeAccounts?: CartTypeAccount[]; purchaseCategories?: PurchaseCategories[] | null; } export const cardTypeResponseCustomerCardTypesItemsSchema: Schema = lazy( () => object({ cardTypeId: ['CardTypeId', optional(number())], tokenTypeId: ['TokenTypeId', optional(number())], cardTypeName: ['CardTypeName', optional(string())], tokenTypeName: ['TokenTypeName', optional(string())], pANLength: ['PANLength', optional(number())], expiryPeriod: ['ExpiryPeriod', optional(number())], isNational: ['IsNational', optional(boolean())], isInternational: ['IsInternational', optional(boolean())], isCRT: ['IsCRT', optional(boolean())], isFleet: ['IsFleet', optional(boolean())], isShellSitesOnly: ['IsShellSitesOnly', optional(boolean())], isPartnerSitesIncluded: ['IsPartnerSitesIncluded', optional(boolean())], canHavePIN: ['CanHavePIN', optional(boolean())], isVirtual: ['IsVirtual', optional(boolean())], isActive: ['IsActive', optional(boolean())], isCardAvailableForDownload: [ 'IsCardAvailableForDownload', optional(nullable(boolean())), ], colCoCurrencyCode: ['ColCoCurrencyCode', optional(string())], colCoCurrencySymbol: ['ColCoCurrencySymbol', optional(string())], eMVContactless: ['EMVContactless', optional(nullable(boolean()))], rFID: ['RFID', optional(nullable(boolean()))], pINChangeSupported: ['PINChangeSupported', optional(nullable(boolean()))], requirePIN: ['RequirePIN', optional(nullable(boolean()))], offlinePIN: ['OfflinePIN', optional(nullable(boolean()))], mediumTypeID: ['MediumTypeID', optional(number())], mediumType: ['MediumType', optional(string())], cartTypeAccounts: [ 'CartTypeAccounts', optional(array(cartTypeAccountSchema)), ], purchaseCategories: [ 'PurchaseCategories', optional(nullable(array(purchaseCategoriesSchema))), ], }) );