All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.shell.apitest.models.CardDetailsResponse Maven / Gradle / Ivy

/*
 * ShellCardManagementAPIsLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

package com.shell.apitest.models;

import com.fasterxml.jackson.annotation.JsonGetter;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.apimatic.core.types.OptionalNullable;
import java.util.List;

/**
 * This is a model class for CardDetailsResponse type.
 */
public class CardDetailsResponse {
    private OptionalNullable payerId;
    private OptionalNullable payerNumber;
    private OptionalNullable accountId;
    private OptionalNullable accountNumber;
    private OptionalNullable accountShortName;
    private OptionalNullable colCoCountryCode;
    private OptionalNullable localCurrencyCode;
    private OptionalNullable localCurrencySymbol;
    private Integer cardId;
    private OptionalNullable pAN;
    private CardDetailsResponseStatusIdEnum statusId;
    private String status;
    private Boolean odometerPrompt;
    private Boolean fleetIdPrompt;
    private CardDetailsResponsePINTypeEnum pINType;
    private Boolean hasPIN;
    private Boolean isSelfSelectedPIN;
    private Boolean temporaryBlockAllowed;
    private Boolean unblockAllowed;
    private Boolean permanentBlockAllowed;
    private Integer issueNumber;
    private Object reissueSetting;
    private CardDetailsResponseInternationalPOSLanguageIDEnum internationalPOSLanguageID;
    private CardDetailsResponseInternationalPOSLanguageCodeEnum internationalPOSLanguageCode;
    private CardDetailsResponseInternationalPOSLanguageIDEnum localPOSLanguageID;
    private CardDetailsResponseInternationalPOSLanguageCodeEnum localPOSLanguageCode;
    private OptionalNullable cardTypeCode;
    private OptionalNullable cardTypeId;
    private OptionalNullable cardTypeName;
    private OptionalNullable tokenTypeId;
    private OptionalNullable tokenTypeName;
    private Boolean isChipCard;
    private Boolean isMagStripCard;
    private Boolean isVirtualCard;
    private OptionalNullable purchaseCategoryCode;
    private Integer purchaseCategoryId;
    private OptionalNullable purchaseCategoryName;
    private Boolean isCRT;
    private Boolean isFleet;
    private Boolean isInternational;
    private Boolean isNational;
    private Boolean isPartnerSitesIncluded;
    private Boolean isShellSitesOnly;
    private List fuelSets;
    private List nonFuelSets;
    private OptionalNullable issuedDate;
    private String expiryDate;
    private OptionalNullable lastUsedDate;
    private OptionalNullable misuseDate;
    private OptionalNullable temperature;
    private String driverName;
    private String vRN;
    private String embossText;
    private OptionalNullable cardGroupId;
    private OptionalNullable cardGroupName;
    private OptionalNullable renewalDate;
    private OptionalNullable renewedCardId;
    private OptionalNullable renewedCardStatusId;
    private String renewedCardStatus;
    private String renewedCardExpiryDate;
    private OptionalNullable renewedCardIssueNumber;
    private CardDetailsResponseRenewedCardReissueSettingEnum renewedCardReissueSetting;
    private OptionalNullable creationDate;
    private OptionalNullable effectiveDate;
    private OptionalNullable lastModifiedDate;
    private OptionalNullable bundleId;
    private CardDeliveryAddress cardDeliveryAddress;
    private PINDeliveryAddress pINDeliveryAddress;
    private OptionalNullable> cardBlockSchedules;
    private ErrorStatus error;
    private String requestId;

    /**
     * Default constructor.
     */
    public CardDetailsResponse() {
    }

    /**
     * Initialization constructor.
     * @param  payerId  Integer value for payerId.
     * @param  payerNumber  String value for payerNumber.
     * @param  accountId  Integer value for accountId.
     * @param  accountNumber  String value for accountNumber.
     * @param  accountShortName  String value for accountShortName.
     * @param  colCoCountryCode  String value for colCoCountryCode.
     * @param  localCurrencyCode  String value for localCurrencyCode.
     * @param  localCurrencySymbol  String value for localCurrencySymbol.
     * @param  cardId  Integer value for cardId.
     * @param  pAN  String value for pAN.
     * @param  statusId  CardDetailsResponseStatusIdEnum value for statusId.
     * @param  status  String value for status.
     * @param  odometerPrompt  Boolean value for odometerPrompt.
     * @param  fleetIdPrompt  Boolean value for fleetIdPrompt.
     * @param  pINType  CardDetailsResponsePINTypeEnum value for pINType.
     * @param  hasPIN  Boolean value for hasPIN.
     * @param  isSelfSelectedPIN  Boolean value for isSelfSelectedPIN.
     * @param  temporaryBlockAllowed  Boolean value for temporaryBlockAllowed.
     * @param  unblockAllowed  Boolean value for unblockAllowed.
     * @param  permanentBlockAllowed  Boolean value for permanentBlockAllowed.
     * @param  issueNumber  Integer value for issueNumber.
     * @param  reissueSetting  Object value for reissueSetting.
     * @param  internationalPOSLanguageID  CardDetailsResponseInternationalPOSLanguageIDEnum value
     *         for internationalPOSLanguageID.
     * @param  internationalPOSLanguageCode  CardDetailsResponseInternationalPOSLanguageCodeEnum
     *         value for internationalPOSLanguageCode.
     * @param  localPOSLanguageID  CardDetailsResponseInternationalPOSLanguageIDEnum value for
     *         localPOSLanguageID.
     * @param  localPOSLanguageCode  CardDetailsResponseInternationalPOSLanguageCodeEnum value for
     *         localPOSLanguageCode.
     * @param  cardTypeCode  String value for cardTypeCode.
     * @param  cardTypeId  Integer value for cardTypeId.
     * @param  cardTypeName  String value for cardTypeName.
     * @param  tokenTypeId  Integer value for tokenTypeId.
     * @param  tokenTypeName  String value for tokenTypeName.
     * @param  isChipCard  Boolean value for isChipCard.
     * @param  isMagStripCard  Boolean value for isMagStripCard.
     * @param  isVirtualCard  Boolean value for isVirtualCard.
     * @param  purchaseCategoryCode  String value for purchaseCategoryCode.
     * @param  purchaseCategoryId  Integer value for purchaseCategoryId.
     * @param  purchaseCategoryName  String value for purchaseCategoryName.
     * @param  isCRT  Boolean value for isCRT.
     * @param  isFleet  Boolean value for isFleet.
     * @param  isInternational  Boolean value for isInternational.
     * @param  isNational  Boolean value for isNational.
     * @param  isPartnerSitesIncluded  Boolean value for isPartnerSitesIncluded.
     * @param  isShellSitesOnly  Boolean value for isShellSitesOnly.
     * @param  fuelSets  List of CardDetailsResponseFuelSetsItems value for fuelSets.
     * @param  nonFuelSets  List of CardDetailsResponseNonFuelSetsItems value for nonFuelSets.
     * @param  issuedDate  String value for issuedDate.
     * @param  expiryDate  String value for expiryDate.
     * @param  lastUsedDate  String value for lastUsedDate.
     * @param  misuseDate  String value for misuseDate.
     * @param  temperature  String value for temperature.
     * @param  driverName  String value for driverName.
     * @param  vRN  String value for vRN.
     * @param  embossText  String value for embossText.
     * @param  cardGroupId  Integer value for cardGroupId.
     * @param  cardGroupName  String value for cardGroupName.
     * @param  renewalDate  String value for renewalDate.
     * @param  renewedCardId  Integer value for renewedCardId.
     * @param  renewedCardStatusId  Integer value for renewedCardStatusId.
     * @param  renewedCardStatus  String value for renewedCardStatus.
     * @param  renewedCardExpiryDate  String value for renewedCardExpiryDate.
     * @param  renewedCardIssueNumber  Integer value for renewedCardIssueNumber.
     * @param  renewedCardReissueSetting  CardDetailsResponseRenewedCardReissueSettingEnum value for
     *         renewedCardReissueSetting.
     * @param  creationDate  String value for creationDate.
     * @param  effectiveDate  String value for effectiveDate.
     * @param  lastModifiedDate  String value for lastModifiedDate.
     * @param  bundleId  String value for bundleId.
     * @param  cardDeliveryAddress  CardDeliveryAddress value for cardDeliveryAddress.
     * @param  pINDeliveryAddress  PINDeliveryAddress value for pINDeliveryAddress.
     * @param  cardBlockSchedules  List of CardDetailsResponseCardBlockSchedulesItemsAllOf0 value
     *         for cardBlockSchedules.
     * @param  error  ErrorStatus value for error.
     * @param  requestId  String value for requestId.
     */
    public CardDetailsResponse(
            Integer payerId,
            String payerNumber,
            Integer accountId,
            String accountNumber,
            String accountShortName,
            String colCoCountryCode,
            String localCurrencyCode,
            String localCurrencySymbol,
            Integer cardId,
            String pAN,
            CardDetailsResponseStatusIdEnum statusId,
            String status,
            Boolean odometerPrompt,
            Boolean fleetIdPrompt,
            CardDetailsResponsePINTypeEnum pINType,
            Boolean hasPIN,
            Boolean isSelfSelectedPIN,
            Boolean temporaryBlockAllowed,
            Boolean unblockAllowed,
            Boolean permanentBlockAllowed,
            Integer issueNumber,
            Object reissueSetting,
            CardDetailsResponseInternationalPOSLanguageIDEnum internationalPOSLanguageID,
            CardDetailsResponseInternationalPOSLanguageCodeEnum internationalPOSLanguageCode,
            CardDetailsResponseInternationalPOSLanguageIDEnum localPOSLanguageID,
            CardDetailsResponseInternationalPOSLanguageCodeEnum localPOSLanguageCode,
            String cardTypeCode,
            Integer cardTypeId,
            String cardTypeName,
            Integer tokenTypeId,
            String tokenTypeName,
            Boolean isChipCard,
            Boolean isMagStripCard,
            Boolean isVirtualCard,
            String purchaseCategoryCode,
            Integer purchaseCategoryId,
            String purchaseCategoryName,
            Boolean isCRT,
            Boolean isFleet,
            Boolean isInternational,
            Boolean isNational,
            Boolean isPartnerSitesIncluded,
            Boolean isShellSitesOnly,
            List fuelSets,
            List nonFuelSets,
            String issuedDate,
            String expiryDate,
            String lastUsedDate,
            String misuseDate,
            String temperature,
            String driverName,
            String vRN,
            String embossText,
            Integer cardGroupId,
            String cardGroupName,
            String renewalDate,
            Integer renewedCardId,
            Integer renewedCardStatusId,
            String renewedCardStatus,
            String renewedCardExpiryDate,
            Integer renewedCardIssueNumber,
            CardDetailsResponseRenewedCardReissueSettingEnum renewedCardReissueSetting,
            String creationDate,
            String effectiveDate,
            String lastModifiedDate,
            String bundleId,
            CardDeliveryAddress cardDeliveryAddress,
            PINDeliveryAddress pINDeliveryAddress,
            List cardBlockSchedules,
            ErrorStatus error,
            String requestId) {
        this.payerId = OptionalNullable.of(payerId);
        this.payerNumber = OptionalNullable.of(payerNumber);
        this.accountId = OptionalNullable.of(accountId);
        this.accountNumber = OptionalNullable.of(accountNumber);
        this.accountShortName = OptionalNullable.of(accountShortName);
        this.colCoCountryCode = OptionalNullable.of(colCoCountryCode);
        this.localCurrencyCode = OptionalNullable.of(localCurrencyCode);
        this.localCurrencySymbol = OptionalNullable.of(localCurrencySymbol);
        this.cardId = cardId;
        this.pAN = OptionalNullable.of(pAN);
        this.statusId = statusId;
        this.status = status;
        this.odometerPrompt = odometerPrompt;
        this.fleetIdPrompt = fleetIdPrompt;
        this.pINType = pINType;
        this.hasPIN = hasPIN;
        this.isSelfSelectedPIN = isSelfSelectedPIN;
        this.temporaryBlockAllowed = temporaryBlockAllowed;
        this.unblockAllowed = unblockAllowed;
        this.permanentBlockAllowed = permanentBlockAllowed;
        this.issueNumber = issueNumber;
        this.reissueSetting = reissueSetting;
        this.internationalPOSLanguageID = internationalPOSLanguageID;
        this.internationalPOSLanguageCode = internationalPOSLanguageCode;
        this.localPOSLanguageID = localPOSLanguageID;
        this.localPOSLanguageCode = localPOSLanguageCode;
        this.cardTypeCode = OptionalNullable.of(cardTypeCode);
        this.cardTypeId = OptionalNullable.of(cardTypeId);
        this.cardTypeName = OptionalNullable.of(cardTypeName);
        this.tokenTypeId = OptionalNullable.of(tokenTypeId);
        this.tokenTypeName = OptionalNullable.of(tokenTypeName);
        this.isChipCard = isChipCard;
        this.isMagStripCard = isMagStripCard;
        this.isVirtualCard = isVirtualCard;
        this.purchaseCategoryCode = OptionalNullable.of(purchaseCategoryCode);
        this.purchaseCategoryId = purchaseCategoryId;
        this.purchaseCategoryName = OptionalNullable.of(purchaseCategoryName);
        this.isCRT = isCRT;
        this.isFleet = isFleet;
        this.isInternational = isInternational;
        this.isNational = isNational;
        this.isPartnerSitesIncluded = isPartnerSitesIncluded;
        this.isShellSitesOnly = isShellSitesOnly;
        this.fuelSets = fuelSets;
        this.nonFuelSets = nonFuelSets;
        this.issuedDate = OptionalNullable.of(issuedDate);
        this.expiryDate = expiryDate;
        this.lastUsedDate = OptionalNullable.of(lastUsedDate);
        this.misuseDate = OptionalNullable.of(misuseDate);
        this.temperature = OptionalNullable.of(temperature);
        this.driverName = driverName;
        this.vRN = vRN;
        this.embossText = embossText;
        this.cardGroupId = OptionalNullable.of(cardGroupId);
        this.cardGroupName = OptionalNullable.of(cardGroupName);
        this.renewalDate = OptionalNullable.of(renewalDate);
        this.renewedCardId = OptionalNullable.of(renewedCardId);
        this.renewedCardStatusId = OptionalNullable.of(renewedCardStatusId);
        this.renewedCardStatus = renewedCardStatus;
        this.renewedCardExpiryDate = renewedCardExpiryDate;
        this.renewedCardIssueNumber = OptionalNullable.of(renewedCardIssueNumber);
        this.renewedCardReissueSetting = renewedCardReissueSetting;
        this.creationDate = OptionalNullable.of(creationDate);
        this.effectiveDate = OptionalNullable.of(effectiveDate);
        this.lastModifiedDate = OptionalNullable.of(lastModifiedDate);
        this.bundleId = OptionalNullable.of(bundleId);
        this.cardDeliveryAddress = cardDeliveryAddress;
        this.pINDeliveryAddress = pINDeliveryAddress;
        this.cardBlockSchedules = OptionalNullable.of(cardBlockSchedules);
        this.error = error;
        this.requestId = requestId;
    }

    /**
     * Initialization constructor.
     * @param  payerId  Integer value for payerId.
     * @param  payerNumber  String value for payerNumber.
     * @param  accountId  Integer value for accountId.
     * @param  accountNumber  String value for accountNumber.
     * @param  accountShortName  String value for accountShortName.
     * @param  colCoCountryCode  String value for colCoCountryCode.
     * @param  localCurrencyCode  String value for localCurrencyCode.
     * @param  localCurrencySymbol  String value for localCurrencySymbol.
     * @param  cardId  Integer value for cardId.
     * @param  pAN  String value for pAN.
     * @param  statusId  CardDetailsResponseStatusIdEnum value for statusId.
     * @param  status  String value for status.
     * @param  odometerPrompt  Boolean value for odometerPrompt.
     * @param  fleetIdPrompt  Boolean value for fleetIdPrompt.
     * @param  pINType  CardDetailsResponsePINTypeEnum value for pINType.
     * @param  hasPIN  Boolean value for hasPIN.
     * @param  isSelfSelectedPIN  Boolean value for isSelfSelectedPIN.
     * @param  temporaryBlockAllowed  Boolean value for temporaryBlockAllowed.
     * @param  unblockAllowed  Boolean value for unblockAllowed.
     * @param  permanentBlockAllowed  Boolean value for permanentBlockAllowed.
     * @param  issueNumber  Integer value for issueNumber.
     * @param  reissueSetting  Object value for reissueSetting.
     * @param  internationalPOSLanguageID  CardDetailsResponseInternationalPOSLanguageIDEnum value
     *         for internationalPOSLanguageID.
     * @param  internationalPOSLanguageCode  CardDetailsResponseInternationalPOSLanguageCodeEnum
     *         value for internationalPOSLanguageCode.
     * @param  localPOSLanguageID  CardDetailsResponseInternationalPOSLanguageIDEnum value for
     *         localPOSLanguageID.
     * @param  localPOSLanguageCode  CardDetailsResponseInternationalPOSLanguageCodeEnum value for
     *         localPOSLanguageCode.
     * @param  cardTypeCode  String value for cardTypeCode.
     * @param  cardTypeId  Integer value for cardTypeId.
     * @param  cardTypeName  String value for cardTypeName.
     * @param  tokenTypeId  Integer value for tokenTypeId.
     * @param  tokenTypeName  String value for tokenTypeName.
     * @param  isChipCard  Boolean value for isChipCard.
     * @param  isMagStripCard  Boolean value for isMagStripCard.
     * @param  isVirtualCard  Boolean value for isVirtualCard.
     * @param  purchaseCategoryCode  String value for purchaseCategoryCode.
     * @param  purchaseCategoryId  Integer value for purchaseCategoryId.
     * @param  purchaseCategoryName  String value for purchaseCategoryName.
     * @param  isCRT  Boolean value for isCRT.
     * @param  isFleet  Boolean value for isFleet.
     * @param  isInternational  Boolean value for isInternational.
     * @param  isNational  Boolean value for isNational.
     * @param  isPartnerSitesIncluded  Boolean value for isPartnerSitesIncluded.
     * @param  isShellSitesOnly  Boolean value for isShellSitesOnly.
     * @param  fuelSets  List of CardDetailsResponseFuelSetsItems value for fuelSets.
     * @param  nonFuelSets  List of CardDetailsResponseNonFuelSetsItems value for nonFuelSets.
     * @param  issuedDate  String value for issuedDate.
     * @param  expiryDate  String value for expiryDate.
     * @param  lastUsedDate  String value for lastUsedDate.
     * @param  misuseDate  String value for misuseDate.
     * @param  temperature  String value for temperature.
     * @param  driverName  String value for driverName.
     * @param  vRN  String value for vRN.
     * @param  embossText  String value for embossText.
     * @param  cardGroupId  Integer value for cardGroupId.
     * @param  cardGroupName  String value for cardGroupName.
     * @param  renewalDate  String value for renewalDate.
     * @param  renewedCardId  Integer value for renewedCardId.
     * @param  renewedCardStatusId  Integer value for renewedCardStatusId.
     * @param  renewedCardStatus  String value for renewedCardStatus.
     * @param  renewedCardExpiryDate  String value for renewedCardExpiryDate.
     * @param  renewedCardIssueNumber  Integer value for renewedCardIssueNumber.
     * @param  renewedCardReissueSetting  CardDetailsResponseRenewedCardReissueSettingEnum value for
     *         renewedCardReissueSetting.
     * @param  creationDate  String value for creationDate.
     * @param  effectiveDate  String value for effectiveDate.
     * @param  lastModifiedDate  String value for lastModifiedDate.
     * @param  bundleId  String value for bundleId.
     * @param  cardDeliveryAddress  CardDeliveryAddress value for cardDeliveryAddress.
     * @param  pINDeliveryAddress  PINDeliveryAddress value for pINDeliveryAddress.
     * @param  cardBlockSchedules  List of CardDetailsResponseCardBlockSchedulesItemsAllOf0 value
     *         for cardBlockSchedules.
     * @param  error  ErrorStatus value for error.
     * @param  requestId  String value for requestId.
     */

    protected CardDetailsResponse(OptionalNullable payerId,
            OptionalNullable payerNumber, OptionalNullable accountId,
            OptionalNullable accountNumber, OptionalNullable accountShortName,
            OptionalNullable colCoCountryCode, OptionalNullable localCurrencyCode,
            OptionalNullable localCurrencySymbol, Integer cardId,
            OptionalNullable pAN, CardDetailsResponseStatusIdEnum statusId, String status,
            Boolean odometerPrompt, Boolean fleetIdPrompt, CardDetailsResponsePINTypeEnum pINType,
            Boolean hasPIN, Boolean isSelfSelectedPIN, Boolean temporaryBlockAllowed,
            Boolean unblockAllowed, Boolean permanentBlockAllowed, Integer issueNumber,
            Object reissueSetting,
            CardDetailsResponseInternationalPOSLanguageIDEnum internationalPOSLanguageID,
            CardDetailsResponseInternationalPOSLanguageCodeEnum internationalPOSLanguageCode,
            CardDetailsResponseInternationalPOSLanguageIDEnum localPOSLanguageID,
            CardDetailsResponseInternationalPOSLanguageCodeEnum localPOSLanguageCode,
            OptionalNullable cardTypeCode, OptionalNullable cardTypeId,
            OptionalNullable cardTypeName, OptionalNullable tokenTypeId,
            OptionalNullable tokenTypeName, Boolean isChipCard, Boolean isMagStripCard,
            Boolean isVirtualCard, OptionalNullable purchaseCategoryCode,
            Integer purchaseCategoryId, OptionalNullable purchaseCategoryName,
            Boolean isCRT, Boolean isFleet, Boolean isInternational, Boolean isNational,
            Boolean isPartnerSitesIncluded, Boolean isShellSitesOnly,
            List fuelSets,
            List nonFuelSets,
            OptionalNullable issuedDate, String expiryDate,
            OptionalNullable lastUsedDate, OptionalNullable misuseDate,
            OptionalNullable temperature, String driverName, String vRN, String embossText,
            OptionalNullable cardGroupId, OptionalNullable cardGroupName,
            OptionalNullable renewalDate, OptionalNullable renewedCardId,
            OptionalNullable renewedCardStatusId, String renewedCardStatus,
            String renewedCardExpiryDate, OptionalNullable renewedCardIssueNumber,
            CardDetailsResponseRenewedCardReissueSettingEnum renewedCardReissueSetting,
            OptionalNullable creationDate, OptionalNullable effectiveDate,
            OptionalNullable lastModifiedDate, OptionalNullable bundleId,
            CardDeliveryAddress cardDeliveryAddress, PINDeliveryAddress pINDeliveryAddress,
            OptionalNullable> cardBlockSchedules,
            ErrorStatus error, String requestId) {
        this.payerId = payerId;
        this.payerNumber = payerNumber;
        this.accountId = accountId;
        this.accountNumber = accountNumber;
        this.accountShortName = accountShortName;
        this.colCoCountryCode = colCoCountryCode;
        this.localCurrencyCode = localCurrencyCode;
        this.localCurrencySymbol = localCurrencySymbol;
        this.cardId = cardId;
        this.pAN = pAN;
        this.statusId = statusId;
        this.status = status;
        this.odometerPrompt = odometerPrompt;
        this.fleetIdPrompt = fleetIdPrompt;
        this.pINType = pINType;
        this.hasPIN = hasPIN;
        this.isSelfSelectedPIN = isSelfSelectedPIN;
        this.temporaryBlockAllowed = temporaryBlockAllowed;
        this.unblockAllowed = unblockAllowed;
        this.permanentBlockAllowed = permanentBlockAllowed;
        this.issueNumber = issueNumber;
        this.reissueSetting = reissueSetting;
        this.internationalPOSLanguageID = internationalPOSLanguageID;
        this.internationalPOSLanguageCode = internationalPOSLanguageCode;
        this.localPOSLanguageID = localPOSLanguageID;
        this.localPOSLanguageCode = localPOSLanguageCode;
        this.cardTypeCode = cardTypeCode;
        this.cardTypeId = cardTypeId;
        this.cardTypeName = cardTypeName;
        this.tokenTypeId = tokenTypeId;
        this.tokenTypeName = tokenTypeName;
        this.isChipCard = isChipCard;
        this.isMagStripCard = isMagStripCard;
        this.isVirtualCard = isVirtualCard;
        this.purchaseCategoryCode = purchaseCategoryCode;
        this.purchaseCategoryId = purchaseCategoryId;
        this.purchaseCategoryName = purchaseCategoryName;
        this.isCRT = isCRT;
        this.isFleet = isFleet;
        this.isInternational = isInternational;
        this.isNational = isNational;
        this.isPartnerSitesIncluded = isPartnerSitesIncluded;
        this.isShellSitesOnly = isShellSitesOnly;
        this.fuelSets = fuelSets;
        this.nonFuelSets = nonFuelSets;
        this.issuedDate = issuedDate;
        this.expiryDate = expiryDate;
        this.lastUsedDate = lastUsedDate;
        this.misuseDate = misuseDate;
        this.temperature = temperature;
        this.driverName = driverName;
        this.vRN = vRN;
        this.embossText = embossText;
        this.cardGroupId = cardGroupId;
        this.cardGroupName = cardGroupName;
        this.renewalDate = renewalDate;
        this.renewedCardId = renewedCardId;
        this.renewedCardStatusId = renewedCardStatusId;
        this.renewedCardStatus = renewedCardStatus;
        this.renewedCardExpiryDate = renewedCardExpiryDate;
        this.renewedCardIssueNumber = renewedCardIssueNumber;
        this.renewedCardReissueSetting = renewedCardReissueSetting;
        this.creationDate = creationDate;
        this.effectiveDate = effectiveDate;
        this.lastModifiedDate = lastModifiedDate;
        this.bundleId = bundleId;
        this.cardDeliveryAddress = cardDeliveryAddress;
        this.pINDeliveryAddress = pINDeliveryAddress;
        this.cardBlockSchedules = cardBlockSchedules;
        this.error = error;
        this.requestId = requestId;
    }

    /**
     * Internal Getter for PayerId.
     * Payer Id (i.e. Customer Id of the Payment Customer in the Shell Card Platform) of the
     * selected payer.
     * @return Returns the Internal Integer
     */
    @JsonGetter("PayerId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetPayerId() {
        return this.payerId;
    }

    /**
     * Getter for PayerId.
     * Payer Id (i.e. Customer Id of the Payment Customer in the Shell Card Platform) of the
     * selected payer.
     * @return Returns the Integer
     */
    public Integer getPayerId() {
        return OptionalNullable.getFrom(payerId);
    }

    /**
     * Setter for PayerId.
     * Payer Id (i.e. Customer Id of the Payment Customer in the Shell Card Platform) of the
     * selected payer.
     * @param payerId Value for Integer
     */
    @JsonSetter("PayerId")
    public void setPayerId(Integer payerId) {
        this.payerId = OptionalNullable.of(payerId);
    }

    /**
     * UnSetter for PayerId.
     * Payer Id (i.e. Customer Id of the Payment Customer in the Shell Card Platform) of the
     * selected payer.
     */
    public void unsetPayerId() {
        payerId = null;
    }

    /**
     * Internal Getter for PayerNumber.
     * Payer Number of the selected payer.
     * @return Returns the Internal String
     */
    @JsonGetter("PayerNumber")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetPayerNumber() {
        return this.payerNumber;
    }

    /**
     * Getter for PayerNumber.
     * Payer Number of the selected payer.
     * @return Returns the String
     */
    public String getPayerNumber() {
        return OptionalNullable.getFrom(payerNumber);
    }

    /**
     * Setter for PayerNumber.
     * Payer Number of the selected payer.
     * @param payerNumber Value for String
     */
    @JsonSetter("PayerNumber")
    public void setPayerNumber(String payerNumber) {
        this.payerNumber = OptionalNullable.of(payerNumber);
    }

    /**
     * UnSetter for PayerNumber.
     * Payer Number of the selected payer.
     */
    public void unsetPayerNumber() {
        payerNumber = null;
    }

    /**
     * Internal Getter for AccountId.
     * Account Id (i.e. Customer Id of the Customer in the Shell Card Platform) of the customer.
     * @return Returns the Internal Integer
     */
    @JsonGetter("AccountId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetAccountId() {
        return this.accountId;
    }

    /**
     * Getter for AccountId.
     * Account Id (i.e. Customer Id of the Customer in the Shell Card Platform) of the customer.
     * @return Returns the Integer
     */
    public Integer getAccountId() {
        return OptionalNullable.getFrom(accountId);
    }

    /**
     * Setter for AccountId.
     * Account Id (i.e. Customer Id of the Customer in the Shell Card Platform) of the customer.
     * @param accountId Value for Integer
     */
    @JsonSetter("AccountId")
    public void setAccountId(Integer accountId) {
        this.accountId = OptionalNullable.of(accountId);
    }

    /**
     * UnSetter for AccountId.
     * Account Id (i.e. Customer Id of the Customer in the Shell Card Platform) of the customer.
     */
    public void unsetAccountId() {
        accountId = null;
    }

    /**
     * Internal Getter for AccountNumber.
     * Account Number of the customer.
     * @return Returns the Internal String
     */
    @JsonGetter("AccountNumber")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetAccountNumber() {
        return this.accountNumber;
    }

    /**
     * Getter for AccountNumber.
     * Account Number of the customer.
     * @return Returns the String
     */
    public String getAccountNumber() {
        return OptionalNullable.getFrom(accountNumber);
    }

    /**
     * Setter for AccountNumber.
     * Account Number of the customer.
     * @param accountNumber Value for String
     */
    @JsonSetter("AccountNumber")
    public void setAccountNumber(String accountNumber) {
        this.accountNumber = OptionalNullable.of(accountNumber);
    }

    /**
     * UnSetter for AccountNumber.
     * Account Number of the customer.
     */
    public void unsetAccountNumber() {
        accountNumber = null;
    }

    /**
     * Internal Getter for AccountShortName.
     * Account short name.
     * @return Returns the Internal String
     */
    @JsonGetter("AccountShortName")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetAccountShortName() {
        return this.accountShortName;
    }

    /**
     * Getter for AccountShortName.
     * Account short name.
     * @return Returns the String
     */
    public String getAccountShortName() {
        return OptionalNullable.getFrom(accountShortName);
    }

    /**
     * Setter for AccountShortName.
     * Account short name.
     * @param accountShortName Value for String
     */
    @JsonSetter("AccountShortName")
    public void setAccountShortName(String accountShortName) {
        this.accountShortName = OptionalNullable.of(accountShortName);
    }

    /**
     * UnSetter for AccountShortName.
     * Account short name.
     */
    public void unsetAccountShortName() {
        accountShortName = null;
    }

    /**
     * Internal Getter for ColCoCountryCode.
     * ISO 3166 Alpha-2 Country Code for the customer and card owning country.
     * @return Returns the Internal String
     */
    @JsonGetter("ColCoCountryCode")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetColCoCountryCode() {
        return this.colCoCountryCode;
    }

    /**
     * Getter for ColCoCountryCode.
     * ISO 3166 Alpha-2 Country Code for the customer and card owning country.
     * @return Returns the String
     */
    public String getColCoCountryCode() {
        return OptionalNullable.getFrom(colCoCountryCode);
    }

    /**
     * Setter for ColCoCountryCode.
     * ISO 3166 Alpha-2 Country Code for the customer and card owning country.
     * @param colCoCountryCode Value for String
     */
    @JsonSetter("ColCoCountryCode")
    public void setColCoCountryCode(String colCoCountryCode) {
        this.colCoCountryCode = OptionalNullable.of(colCoCountryCode);
    }

    /**
     * UnSetter for ColCoCountryCode.
     * ISO 3166 Alpha-2 Country Code for the customer and card owning country.
     */
    public void unsetColCoCountryCode() {
        colCoCountryCode = null;
    }

    /**
     * Internal Getter for LocalCurrencyCode.
     * ISO 4217 Curreny Code of the local currency.
     * @return Returns the Internal String
     */
    @JsonGetter("LocalCurrencyCode")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetLocalCurrencyCode() {
        return this.localCurrencyCode;
    }

    /**
     * Getter for LocalCurrencyCode.
     * ISO 4217 Curreny Code of the local currency.
     * @return Returns the String
     */
    public String getLocalCurrencyCode() {
        return OptionalNullable.getFrom(localCurrencyCode);
    }

    /**
     * Setter for LocalCurrencyCode.
     * ISO 4217 Curreny Code of the local currency.
     * @param localCurrencyCode Value for String
     */
    @JsonSetter("LocalCurrencyCode")
    public void setLocalCurrencyCode(String localCurrencyCode) {
        this.localCurrencyCode = OptionalNullable.of(localCurrencyCode);
    }

    /**
     * UnSetter for LocalCurrencyCode.
     * ISO 4217 Curreny Code of the local currency.
     */
    public void unsetLocalCurrencyCode() {
        localCurrencyCode = null;
    }

    /**
     * Internal Getter for LocalCurrencySymbol.
     * Currency symbol of local currency.
     * @return Returns the Internal String
     */
    @JsonGetter("LocalCurrencySymbol")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetLocalCurrencySymbol() {
        return this.localCurrencySymbol;
    }

    /**
     * Getter for LocalCurrencySymbol.
     * Currency symbol of local currency.
     * @return Returns the String
     */
    public String getLocalCurrencySymbol() {
        return OptionalNullable.getFrom(localCurrencySymbol);
    }

    /**
     * Setter for LocalCurrencySymbol.
     * Currency symbol of local currency.
     * @param localCurrencySymbol Value for String
     */
    @JsonSetter("LocalCurrencySymbol")
    public void setLocalCurrencySymbol(String localCurrencySymbol) {
        this.localCurrencySymbol = OptionalNullable.of(localCurrencySymbol);
    }

    /**
     * UnSetter for LocalCurrencySymbol.
     * Currency symbol of local currency.
     */
    public void unsetLocalCurrencySymbol() {
        localCurrencySymbol = null;
    }

    /**
     * Getter for CardId.
     * Unique Card Id in Cards platform.
     * @return Returns the Integer
     */
    @JsonGetter("CardId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Integer getCardId() {
        return cardId;
    }

    /**
     * Setter for CardId.
     * Unique Card Id in Cards platform.
     * @param cardId Value for Integer
     */
    @JsonSetter("CardId")
    public void setCardId(Integer cardId) {
        this.cardId = cardId;
    }

    /**
     * Internal Getter for PAN.
     * Card PAN. In the response body the PAN will be masked if the option is enabled in the Shell
     * Card Platform.
     * @return Returns the Internal String
     */
    @JsonGetter("PAN")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetPAN() {
        return this.pAN;
    }

    /**
     * Getter for PAN.
     * Card PAN. In the response body the PAN will be masked if the option is enabled in the Shell
     * Card Platform.
     * @return Returns the String
     */
    public String getPAN() {
        return OptionalNullable.getFrom(pAN);
    }

    /**
     * Setter for PAN.
     * Card PAN. In the response body the PAN will be masked if the option is enabled in the Shell
     * Card Platform.
     * @param pAN Value for String
     */
    @JsonSetter("PAN")
    public void setPAN(String pAN) {
        this.pAN = OptionalNullable.of(pAN);
    }

    /**
     * UnSetter for PAN.
     * Card PAN. In the response body the PAN will be masked if the option is enabled in the Shell
     * Card Platform.
     */
    public void unsetPAN() {
        pAN = null;
    }

    /**
     * Getter for StatusId.
     * Possible Id’s and description: * 1 Active * 7 Blocked Card * 8 Expired * 9 Cancelled * 10 New
     * * 23 Pending Renewal * 31 Replaced * 41 Temporary Block (Customer) * 42 Temporary Block
     * (Shell) * 43 Fraud * 101 Active (Block in progress) * * 102 Blocked Card (Unblock in
     * progress) * * 103 Active (Cancel in progress) * * 104 Active (Marked as damaged) * * 105 New
     * (Cancel as damaged) * * 106 Active(Scheduled for block) ”# * 107 Blocked Card(Scheduled for
     * unblock)*# * 108 Blocked Card (Cancel in progress) * > Note: • Items marked with * are
     * intermediate statuses to indicate that there are pending requests in progress. , The response
     * can contain these intermediate statuses only if the IncludeIntermediateStatus flag is true. •
     * The placeholder “<Shell Card Platform Status>” in the items marked with # will be replaced
     * with the Shell Card Platform status description. E.g., “Active (Scheduled for block)”
     * @return Returns the CardDetailsResponseStatusIdEnum
     */
    @JsonGetter("StatusId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public CardDetailsResponseStatusIdEnum getStatusId() {
        return statusId;
    }

    /**
     * Setter for StatusId.
     * Possible Id’s and description: * 1 Active * 7 Blocked Card * 8 Expired * 9 Cancelled * 10 New
     * * 23 Pending Renewal * 31 Replaced * 41 Temporary Block (Customer) * 42 Temporary Block
     * (Shell) * 43 Fraud * 101 Active (Block in progress) * * 102 Blocked Card (Unblock in
     * progress) * * 103 Active (Cancel in progress) * * 104 Active (Marked as damaged) * * 105 New
     * (Cancel as damaged) * * 106 Active(Scheduled for block) ”# * 107 Blocked Card(Scheduled for
     * unblock)*# * 108 Blocked Card (Cancel in progress) * > Note: • Items marked with * are
     * intermediate statuses to indicate that there are pending requests in progress. , The response
     * can contain these intermediate statuses only if the IncludeIntermediateStatus flag is true. •
     * The placeholder “<Shell Card Platform Status>” in the items marked with # will be replaced
     * with the Shell Card Platform status description. E.g., “Active (Scheduled for block)”
     * @param statusId Value for CardDetailsResponseStatusIdEnum
     */
    @JsonSetter("StatusId")
    public void setStatusId(CardDetailsResponseStatusIdEnum statusId) {
        this.statusId = statusId;
    }

    /**
     * Getter for Status.
     * Possible Id’s and description: * 1 Active * 7 Blocked Card * 8 Expired * 9 Cancelled * 10 New
     * * 23 Pending Renewal * 31 Replaced * 41 Temporary Block (Customer) * 42 Temporary Block
     * (Shell) * 43 Fraud * 101 Active (Block in progress) * * 102 Blocked Card (Unblock in
     * progress) * * 103 Active (Cancel in progress) * * 104 Active (Marked as damaged) * * 105 New
     * (Cancel as damaged) * * 106 Active(Scheduled for block) ”# * 107 Blocked Card(Scheduled for
     * unblock) *# * 108 Blocked Card (Cancel in progress) * > Note: • Items marked with * are
     * intermediate statuses to indicate that there are pending requests in progress. , The response
     * can contain these intermediate statuses only if the IncludeIntermediateStatus flag is true. •
     * The placeholder “<Shell Card Platform Status>” in the items marked with # will be replaced
     * with the Shell Card Platform status description. E.g., “Active (Scheduled for block)”
     * @return Returns the String
     */
    @JsonGetter("Status")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getStatus() {
        return status;
    }

    /**
     * Setter for Status.
     * Possible Id’s and description: * 1 Active * 7 Blocked Card * 8 Expired * 9 Cancelled * 10 New
     * * 23 Pending Renewal * 31 Replaced * 41 Temporary Block (Customer) * 42 Temporary Block
     * (Shell) * 43 Fraud * 101 Active (Block in progress) * * 102 Blocked Card (Unblock in
     * progress) * * 103 Active (Cancel in progress) * * 104 Active (Marked as damaged) * * 105 New
     * (Cancel as damaged) * * 106 Active(Scheduled for block) ”# * 107 Blocked Card(Scheduled for
     * unblock) *# * 108 Blocked Card (Cancel in progress) * > Note: • Items marked with * are
     * intermediate statuses to indicate that there are pending requests in progress. , The response
     * can contain these intermediate statuses only if the IncludeIntermediateStatus flag is true. •
     * The placeholder “<Shell Card Platform Status>” in the items marked with # will be replaced
     * with the Shell Card Platform status description. E.g., “Active (Scheduled for block)”
     * @param status Value for String
     */
    @JsonSetter("Status")
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * Getter for OdometerPrompt.
     * True if odometer input is enabled on the card, else false
     * @return Returns the Boolean
     */
    @JsonGetter("OdometerPrompt")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getOdometerPrompt() {
        return odometerPrompt;
    }

    /**
     * Setter for OdometerPrompt.
     * True if odometer input is enabled on the card, else false
     * @param odometerPrompt Value for Boolean
     */
    @JsonSetter("OdometerPrompt")
    public void setOdometerPrompt(Boolean odometerPrompt) {
        this.odometerPrompt = odometerPrompt;
    }

    /**
     * Getter for FleetIdPrompt.
     * True if fleet id input is enabled, else false
     * @return Returns the Boolean
     */
    @JsonGetter("FleetIdPrompt")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getFleetIdPrompt() {
        return fleetIdPrompt;
    }

    /**
     * Setter for FleetIdPrompt.
     * True if fleet id input is enabled, else false
     * @param fleetIdPrompt Value for Boolean
     */
    @JsonSetter("FleetIdPrompt")
    public void setFleetIdPrompt(Boolean fleetIdPrompt) {
        this.fleetIdPrompt = fleetIdPrompt;
    }

    /**
     * Getter for PINType.
     * PIN type: * `Card` - Card PIN * `Fleet` - Fleet PIN
     * @return Returns the CardDetailsResponsePINTypeEnum
     */
    @JsonGetter("PINType")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public CardDetailsResponsePINTypeEnum getPINType() {
        return pINType;
    }

    /**
     * Setter for PINType.
     * PIN type: * `Card` - Card PIN * `Fleet` - Fleet PIN
     * @param pINType Value for CardDetailsResponsePINTypeEnum
     */
    @JsonSetter("PINType")
    public void setPINType(CardDetailsResponsePINTypeEnum pINType) {
        this.pINType = pINType;
    }

    /**
     * Getter for HasPIN.
     * True if card has PIN, else false
     * @return Returns the Boolean
     */
    @JsonGetter("HasPIN")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getHasPIN() {
        return hasPIN;
    }

    /**
     * Setter for HasPIN.
     * True if card has PIN, else false
     * @param hasPIN Value for Boolean
     */
    @JsonSetter("HasPIN")
    public void setHasPIN(Boolean hasPIN) {
        this.hasPIN = hasPIN;
    }

    /**
     * Getter for IsSelfSelectedPIN.
     * True if card has Self Selected PIN, else false
     * @return Returns the Boolean
     */
    @JsonGetter("IsSelfSelectedPIN")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getIsSelfSelectedPIN() {
        return isSelfSelectedPIN;
    }

    /**
     * Setter for IsSelfSelectedPIN.
     * True if card has Self Selected PIN, else false
     * @param isSelfSelectedPIN Value for Boolean
     */
    @JsonSetter("IsSelfSelectedPIN")
    public void setIsSelfSelectedPIN(Boolean isSelfSelectedPIN) {
        this.isSelfSelectedPIN = isSelfSelectedPIN;
    }

    /**
     * Getter for TemporaryBlockAllowed.
     * True if card can be blocked temporarily, else false
     * @return Returns the Boolean
     */
    @JsonGetter("TemporaryBlockAllowed")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getTemporaryBlockAllowed() {
        return temporaryBlockAllowed;
    }

    /**
     * Setter for TemporaryBlockAllowed.
     * True if card can be blocked temporarily, else false
     * @param temporaryBlockAllowed Value for Boolean
     */
    @JsonSetter("TemporaryBlockAllowed")
    public void setTemporaryBlockAllowed(Boolean temporaryBlockAllowed) {
        this.temporaryBlockAllowed = temporaryBlockAllowed;
    }

    /**
     * Getter for UnblockAllowed.
     * True/False True if card can be Unblocked, else false
     * @return Returns the Boolean
     */
    @JsonGetter("UnblockAllowed")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getUnblockAllowed() {
        return unblockAllowed;
    }

    /**
     * Setter for UnblockAllowed.
     * True/False True if card can be Unblocked, else false
     * @param unblockAllowed Value for Boolean
     */
    @JsonSetter("UnblockAllowed")
    public void setUnblockAllowed(Boolean unblockAllowed) {
        this.unblockAllowed = unblockAllowed;
    }

    /**
     * Getter for PermanentBlockAllowed.
     * True if card can be blocked permanently, else false
     * @return Returns the Boolean
     */
    @JsonGetter("PermanentBlockAllowed")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getPermanentBlockAllowed() {
        return permanentBlockAllowed;
    }

    /**
     * Setter for PermanentBlockAllowed.
     * True if card can be blocked permanently, else false
     * @param permanentBlockAllowed Value for Boolean
     */
    @JsonSetter("PermanentBlockAllowed")
    public void setPermanentBlockAllowed(Boolean permanentBlockAllowed) {
        this.permanentBlockAllowed = permanentBlockAllowed;
    }

    /**
     * Getter for IssueNumber.
     * Issue number of the card
     * @return Returns the Integer
     */
    @JsonGetter("IssueNumber")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Integer getIssueNumber() {
        return issueNumber;
    }

    /**
     * Setter for IssueNumber.
     * Issue number of the card
     * @param issueNumber Value for Integer
     */
    @JsonSetter("IssueNumber")
    public void setIssueNumber(Integer issueNumber) {
        this.issueNumber = issueNumber;
    }

    /**
     * Getter for ReissueSetting.
     * @return Returns the Object
     */
    @JsonGetter("ReissueSetting")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Object getReissueSetting() {
        return reissueSetting;
    }

    /**
     * Setter for ReissueSetting.
     * @param reissueSetting Value for Object
     */
    @JsonSetter("ReissueSetting")
    public void setReissueSetting(Object reissueSetting) {
        this.reissueSetting = reissueSetting;
    }

    /**
     * Getter for InternationalPOSLanguageID.
     * POS language identifier. Language Id: * `1` - German * `2` - French * `3` - Bulgarian * `4` -
     * Croatian * `5` - Czech * `6` - Danish * `7` - Finnish * `8` - English * `9` - Greek * `10` -
     * Chinese * `11` - Hungarian * `12` - Italian * `13` - Luxembourgish * `14` - Malay * `15` -
     * Dutch * `16` - Norwegian, Bokmal * `17` - Urdu * `18` - Polish * `19` - Portuguese * `20` -
     * Romanian * `21` - Russian * `22` - Slovak * `23` - Slovenian * `24` - Spanish * `25` -
     * Swedish * `26` - Turkish * `27` - Thai * `28` - Filipino * `29` - Estonian * `30` - Latvian *
     * `31` - Lithuanian
     * @return Returns the CardDetailsResponseInternationalPOSLanguageIDEnum
     */
    @JsonGetter("InternationalPOSLanguageID")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public CardDetailsResponseInternationalPOSLanguageIDEnum getInternationalPOSLanguageID() {
        return internationalPOSLanguageID;
    }

    /**
     * Setter for InternationalPOSLanguageID.
     * POS language identifier. Language Id: * `1` - German * `2` - French * `3` - Bulgarian * `4` -
     * Croatian * `5` - Czech * `6` - Danish * `7` - Finnish * `8` - English * `9` - Greek * `10` -
     * Chinese * `11` - Hungarian * `12` - Italian * `13` - Luxembourgish * `14` - Malay * `15` -
     * Dutch * `16` - Norwegian, Bokmal * `17` - Urdu * `18` - Polish * `19` - Portuguese * `20` -
     * Romanian * `21` - Russian * `22` - Slovak * `23` - Slovenian * `24` - Spanish * `25` -
     * Swedish * `26` - Turkish * `27` - Thai * `28` - Filipino * `29` - Estonian * `30` - Latvian *
     * `31` - Lithuanian
     * @param internationalPOSLanguageID Value for CardDetailsResponseInternationalPOSLanguageIDEnum
     */
    @JsonSetter("InternationalPOSLanguageID")
    public void setInternationalPOSLanguageID(CardDetailsResponseInternationalPOSLanguageIDEnum internationalPOSLanguageID) {
        this.internationalPOSLanguageID = internationalPOSLanguageID;
    }

    /**
     * Getter for InternationalPOSLanguageCode.
     * POS language code. Language code: * `deu` - German * `fra` - French * `bul` - Bulgarian *
     * `hrv` - Croatian * `ces` - Czech * `dan` - Danish * `fin` - Finnish * `eng` - English * `ell`
     * - Greek * `zho` - Chinese * `hun` - Hungarian * `ita` - Italian * `ltz` - Luxembourgish *
     * `msa` - Malay * `nld` - Dutch * `nob` - Norwegian, Bokmal * `urd` - Urdu * `pol` - Polish *
     * `por` - Portuguese * `ron` - Romanian * `rus` - Russian * `slk` - Slovak * `slv` - Slovenian
     * * `spa` - Spanish * `swe` - Swedish * `tur` - Turkish * `tha` - Thai * `fil` - Filipino *
     * `est` - Estonian * `lav` - Latvian * `lit` - Lithuanian
     * @return Returns the CardDetailsResponseInternationalPOSLanguageCodeEnum
     */
    @JsonGetter("InternationalPOSLanguageCode")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public CardDetailsResponseInternationalPOSLanguageCodeEnum getInternationalPOSLanguageCode() {
        return internationalPOSLanguageCode;
    }

    /**
     * Setter for InternationalPOSLanguageCode.
     * POS language code. Language code: * `deu` - German * `fra` - French * `bul` - Bulgarian *
     * `hrv` - Croatian * `ces` - Czech * `dan` - Danish * `fin` - Finnish * `eng` - English * `ell`
     * - Greek * `zho` - Chinese * `hun` - Hungarian * `ita` - Italian * `ltz` - Luxembourgish *
     * `msa` - Malay * `nld` - Dutch * `nob` - Norwegian, Bokmal * `urd` - Urdu * `pol` - Polish *
     * `por` - Portuguese * `ron` - Romanian * `rus` - Russian * `slk` - Slovak * `slv` - Slovenian
     * * `spa` - Spanish * `swe` - Swedish * `tur` - Turkish * `tha` - Thai * `fil` - Filipino *
     * `est` - Estonian * `lav` - Latvian * `lit` - Lithuanian
     * @param internationalPOSLanguageCode Value for CardDetailsResponseInternationalPOSLanguageCodeEnum
     */
    @JsonSetter("InternationalPOSLanguageCode")
    public void setInternationalPOSLanguageCode(CardDetailsResponseInternationalPOSLanguageCodeEnum internationalPOSLanguageCode) {
        this.internationalPOSLanguageCode = internationalPOSLanguageCode;
    }

    /**
     * Getter for LocalPOSLanguageID.
     * POS language identifier. Language Id: * `1` - German * `2` - French * `3` - Bulgarian * `4` -
     * Croatian * `5` - Czech * `6` - Danish * `7` - Finnish * `8` - English * `9` - Greek * `10` -
     * Chinese * `11` - Hungarian * `12` - Italian * `13` - Luxembourgish * `14` - Malay * `15` -
     * Dutch * `16` - Norwegian, Bokmal * `17` - Urdu * `18` - Polish * `19` - Portuguese * `20` -
     * Romanian * `21` - Russian * `22` - Slovak * `23` - Slovenian * `24` - Spanish * `25` -
     * Swedish * `26` - Turkish * `27` - Thai * `28` - Filipino * `29` - Estonian * `30` - Latvian *
     * `31` - Lithuanian
     * @return Returns the CardDetailsResponseInternationalPOSLanguageIDEnum
     */
    @JsonGetter("LocalPOSLanguageID")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public CardDetailsResponseInternationalPOSLanguageIDEnum getLocalPOSLanguageID() {
        return localPOSLanguageID;
    }

    /**
     * Setter for LocalPOSLanguageID.
     * POS language identifier. Language Id: * `1` - German * `2` - French * `3` - Bulgarian * `4` -
     * Croatian * `5` - Czech * `6` - Danish * `7` - Finnish * `8` - English * `9` - Greek * `10` -
     * Chinese * `11` - Hungarian * `12` - Italian * `13` - Luxembourgish * `14` - Malay * `15` -
     * Dutch * `16` - Norwegian, Bokmal * `17` - Urdu * `18` - Polish * `19` - Portuguese * `20` -
     * Romanian * `21` - Russian * `22` - Slovak * `23` - Slovenian * `24` - Spanish * `25` -
     * Swedish * `26` - Turkish * `27` - Thai * `28` - Filipino * `29` - Estonian * `30` - Latvian *
     * `31` - Lithuanian
     * @param localPOSLanguageID Value for CardDetailsResponseInternationalPOSLanguageIDEnum
     */
    @JsonSetter("LocalPOSLanguageID")
    public void setLocalPOSLanguageID(CardDetailsResponseInternationalPOSLanguageIDEnum localPOSLanguageID) {
        this.localPOSLanguageID = localPOSLanguageID;
    }

    /**
     * Getter for LocalPOSLanguageCode.
     * POS language code. Language code: * `deu` - German * `fra` - French * `bul` - Bulgarian *
     * `hrv` - Croatian * `ces` - Czech * `dan` - Danish * `fin` - Finnish * `eng` - English * `ell`
     * - Greek * `zho` - Chinese * `hun` - Hungarian * `ita` - Italian * `ltz` - Luxembourgish *
     * `msa` - Malay * `nld` - Dutch * `nob` - Norwegian, Bokmal * `urd` - Urdu * `pol` - Polish *
     * `por` - Portuguese * `ron` - Romanian * `rus` - Russian * `slk` - Slovak * `slv` - Slovenian
     * * `spa` - Spanish * `swe` - Swedish * `tur` - Turkish * `tha` - Thai * `fil` - Filipino *
     * `est` - Estonian * `lav` - Latvian * `lit` - Lithuanian
     * @return Returns the CardDetailsResponseInternationalPOSLanguageCodeEnum
     */
    @JsonGetter("LocalPOSLanguageCode")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public CardDetailsResponseInternationalPOSLanguageCodeEnum getLocalPOSLanguageCode() {
        return localPOSLanguageCode;
    }

    /**
     * Setter for LocalPOSLanguageCode.
     * POS language code. Language code: * `deu` - German * `fra` - French * `bul` - Bulgarian *
     * `hrv` - Croatian * `ces` - Czech * `dan` - Danish * `fin` - Finnish * `eng` - English * `ell`
     * - Greek * `zho` - Chinese * `hun` - Hungarian * `ita` - Italian * `ltz` - Luxembourgish *
     * `msa` - Malay * `nld` - Dutch * `nob` - Norwegian, Bokmal * `urd` - Urdu * `pol` - Polish *
     * `por` - Portuguese * `ron` - Romanian * `rus` - Russian * `slk` - Slovak * `slv` - Slovenian
     * * `spa` - Spanish * `swe` - Swedish * `tur` - Turkish * `tha` - Thai * `fil` - Filipino *
     * `est` - Estonian * `lav` - Latvian * `lit` - Lithuanian
     * @param localPOSLanguageCode Value for CardDetailsResponseInternationalPOSLanguageCodeEnum
     */
    @JsonSetter("LocalPOSLanguageCode")
    public void setLocalPOSLanguageCode(CardDetailsResponseInternationalPOSLanguageCodeEnum localPOSLanguageCode) {
        this.localPOSLanguageCode = localPOSLanguageCode;
    }

    /**
     * Internal Getter for CardTypeCode.
     * ISO code of the card i.e. first 7 digits of the PAN.
     * @return Returns the Internal String
     */
    @JsonGetter("CardTypeCode")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetCardTypeCode() {
        return this.cardTypeCode;
    }

    /**
     * Getter for CardTypeCode.
     * ISO code of the card i.e. first 7 digits of the PAN.
     * @return Returns the String
     */
    public String getCardTypeCode() {
        return OptionalNullable.getFrom(cardTypeCode);
    }

    /**
     * Setter for CardTypeCode.
     * ISO code of the card i.e. first 7 digits of the PAN.
     * @param cardTypeCode Value for String
     */
    @JsonSetter("CardTypeCode")
    public void setCardTypeCode(String cardTypeCode) {
        this.cardTypeCode = OptionalNullable.of(cardTypeCode);
    }

    /**
     * UnSetter for CardTypeCode.
     * ISO code of the card i.e. first 7 digits of the PAN.
     */
    public void unsetCardTypeCode() {
        cardTypeCode = null;
    }

    /**
     * Internal Getter for CardTypeId.
     * Card Type ID
     * @return Returns the Internal Integer
     */
    @JsonGetter("CardTypeId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetCardTypeId() {
        return this.cardTypeId;
    }

    /**
     * Getter for CardTypeId.
     * Card Type ID
     * @return Returns the Integer
     */
    public Integer getCardTypeId() {
        return OptionalNullable.getFrom(cardTypeId);
    }

    /**
     * Setter for CardTypeId.
     * Card Type ID
     * @param cardTypeId Value for Integer
     */
    @JsonSetter("CardTypeId")
    public void setCardTypeId(Integer cardTypeId) {
        this.cardTypeId = OptionalNullable.of(cardTypeId);
    }

    /**
     * UnSetter for CardTypeId.
     * Card Type ID
     */
    public void unsetCardTypeId() {
        cardTypeId = null;
    }

    /**
     * Internal Getter for CardTypeName.
     * Card Type Name
     * @return Returns the Internal String
     */
    @JsonGetter("CardTypeName")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetCardTypeName() {
        return this.cardTypeName;
    }

    /**
     * Getter for CardTypeName.
     * Card Type Name
     * @return Returns the String
     */
    public String getCardTypeName() {
        return OptionalNullable.getFrom(cardTypeName);
    }

    /**
     * Setter for CardTypeName.
     * Card Type Name
     * @param cardTypeName Value for String
     */
    @JsonSetter("CardTypeName")
    public void setCardTypeName(String cardTypeName) {
        this.cardTypeName = OptionalNullable.of(cardTypeName);
    }

    /**
     * UnSetter for CardTypeName.
     * Card Type Name
     */
    public void unsetCardTypeName() {
        cardTypeName = null;
    }

    /**
     * Internal Getter for TokenTypeId.
     * Token Type ID configured for the Card
     * @return Returns the Internal Integer
     */
    @JsonGetter("TokenTypeId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetTokenTypeId() {
        return this.tokenTypeId;
    }

    /**
     * Getter for TokenTypeId.
     * Token Type ID configured for the Card
     * @return Returns the Integer
     */
    public Integer getTokenTypeId() {
        return OptionalNullable.getFrom(tokenTypeId);
    }

    /**
     * Setter for TokenTypeId.
     * Token Type ID configured for the Card
     * @param tokenTypeId Value for Integer
     */
    @JsonSetter("TokenTypeId")
    public void setTokenTypeId(Integer tokenTypeId) {
        this.tokenTypeId = OptionalNullable.of(tokenTypeId);
    }

    /**
     * UnSetter for TokenTypeId.
     * Token Type ID configured for the Card
     */
    public void unsetTokenTypeId() {
        tokenTypeId = null;
    }

    /**
     * Internal Getter for TokenTypeName.
     * Token Type Name configured for the Card
     * @return Returns the Internal String
     */
    @JsonGetter("TokenTypeName")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetTokenTypeName() {
        return this.tokenTypeName;
    }

    /**
     * Getter for TokenTypeName.
     * Token Type Name configured for the Card
     * @return Returns the String
     */
    public String getTokenTypeName() {
        return OptionalNullable.getFrom(tokenTypeName);
    }

    /**
     * Setter for TokenTypeName.
     * Token Type Name configured for the Card
     * @param tokenTypeName Value for String
     */
    @JsonSetter("TokenTypeName")
    public void setTokenTypeName(String tokenTypeName) {
        this.tokenTypeName = OptionalNullable.of(tokenTypeName);
    }

    /**
     * UnSetter for TokenTypeName.
     * Token Type Name configured for the Card
     */
    public void unsetTokenTypeName() {
        tokenTypeName = null;
    }

    /**
     * Getter for IsChipCard.
     * True if a chip card, else false
     * @return Returns the Boolean
     */
    @JsonGetter("IsChipCard")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getIsChipCard() {
        return isChipCard;
    }

    /**
     * Setter for IsChipCard.
     * True if a chip card, else false
     * @param isChipCard Value for Boolean
     */
    @JsonSetter("IsChipCard")
    public void setIsChipCard(Boolean isChipCard) {
        this.isChipCard = isChipCard;
    }

    /**
     * Getter for IsMagStripCard.
     * True if it is a magnetic stripe card, else false
     * @return Returns the Boolean
     */
    @JsonGetter("IsMagStripCard")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getIsMagStripCard() {
        return isMagStripCard;
    }

    /**
     * Setter for IsMagStripCard.
     * True if it is a magnetic stripe card, else false
     * @param isMagStripCard Value for Boolean
     */
    @JsonSetter("IsMagStripCard")
    public void setIsMagStripCard(Boolean isMagStripCard) {
        this.isMagStripCard = isMagStripCard;
    }

    /**
     * Getter for IsVirtualCard.
     * True if it is a virtual card, else false
     * @return Returns the Boolean
     */
    @JsonGetter("IsVirtualCard")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getIsVirtualCard() {
        return isVirtualCard;
    }

    /**
     * Setter for IsVirtualCard.
     * True if it is a virtual card, else false
     * @param isVirtualCard Value for Boolean
     */
    @JsonSetter("IsVirtualCard")
    public void setIsVirtualCard(Boolean isVirtualCard) {
        this.isVirtualCard = isVirtualCard;
    }

    /**
     * Internal Getter for PurchaseCategoryCode.
     * Purchase category code of the card.
     * @return Returns the Internal String
     */
    @JsonGetter("PurchaseCategoryCode")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetPurchaseCategoryCode() {
        return this.purchaseCategoryCode;
    }

    /**
     * Getter for PurchaseCategoryCode.
     * Purchase category code of the card.
     * @return Returns the String
     */
    public String getPurchaseCategoryCode() {
        return OptionalNullable.getFrom(purchaseCategoryCode);
    }

    /**
     * Setter for PurchaseCategoryCode.
     * Purchase category code of the card.
     * @param purchaseCategoryCode Value for String
     */
    @JsonSetter("PurchaseCategoryCode")
    public void setPurchaseCategoryCode(String purchaseCategoryCode) {
        this.purchaseCategoryCode = OptionalNullable.of(purchaseCategoryCode);
    }

    /**
     * UnSetter for PurchaseCategoryCode.
     * Purchase category code of the card.
     */
    public void unsetPurchaseCategoryCode() {
        purchaseCategoryCode = null;
    }

    /**
     * Getter for PurchaseCategoryId.
     * Purchase category identifier in the Shell Card Platform.
     * @return Returns the Integer
     */
    @JsonGetter("PurchaseCategoryId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Integer getPurchaseCategoryId() {
        return purchaseCategoryId;
    }

    /**
     * Setter for PurchaseCategoryId.
     * Purchase category identifier in the Shell Card Platform.
     * @param purchaseCategoryId Value for Integer
     */
    @JsonSetter("PurchaseCategoryId")
    public void setPurchaseCategoryId(Integer purchaseCategoryId) {
        this.purchaseCategoryId = purchaseCategoryId;
    }

    /**
     * Internal Getter for PurchaseCategoryName.
     * Purchase category name
     * @return Returns the Internal String
     */
    @JsonGetter("PurchaseCategoryName")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetPurchaseCategoryName() {
        return this.purchaseCategoryName;
    }

    /**
     * Getter for PurchaseCategoryName.
     * Purchase category name
     * @return Returns the String
     */
    public String getPurchaseCategoryName() {
        return OptionalNullable.getFrom(purchaseCategoryName);
    }

    /**
     * Setter for PurchaseCategoryName.
     * Purchase category name
     * @param purchaseCategoryName Value for String
     */
    @JsonSetter("PurchaseCategoryName")
    public void setPurchaseCategoryName(String purchaseCategoryName) {
        this.purchaseCategoryName = OptionalNullable.of(purchaseCategoryName);
    }

    /**
     * UnSetter for PurchaseCategoryName.
     * Purchase category name
     */
    public void unsetPurchaseCategoryName() {
        purchaseCategoryName = null;
    }

    /**
     * Getter for IsCRT.
     * True if it is a Commercial Road Transport (CRT) card, else false
     * @return Returns the Boolean
     */
    @JsonGetter("IsCRT")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getIsCRT() {
        return isCRT;
    }

    /**
     * Setter for IsCRT.
     * True if it is a Commercial Road Transport (CRT) card, else false
     * @param isCRT Value for Boolean
     */
    @JsonSetter("IsCRT")
    public void setIsCRT(Boolean isCRT) {
        this.isCRT = isCRT;
    }

    /**
     * Getter for IsFleet.
     * True if it is a Fleet card, else false
     * @return Returns the Boolean
     */
    @JsonGetter("IsFleet")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getIsFleet() {
        return isFleet;
    }

    /**
     * Setter for IsFleet.
     * True if it is a Fleet card, else false
     * @param isFleet Value for Boolean
     */
    @JsonSetter("IsFleet")
    public void setIsFleet(Boolean isFleet) {
        this.isFleet = isFleet;
    }

    /**
     * Getter for IsInternational.
     * True if it is an international card, else false
     * @return Returns the Boolean
     */
    @JsonGetter("IsInternational")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getIsInternational() {
        return isInternational;
    }

    /**
     * Setter for IsInternational.
     * True if it is an international card, else false
     * @param isInternational Value for Boolean
     */
    @JsonSetter("IsInternational")
    public void setIsInternational(Boolean isInternational) {
        this.isInternational = isInternational;
    }

    /**
     * Getter for IsNational.
     * True if it is a national card, else false
     * @return Returns the Boolean
     */
    @JsonGetter("IsNational")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getIsNational() {
        return isNational;
    }

    /**
     * Setter for IsNational.
     * True if it is a national card, else false
     * @param isNational Value for Boolean
     */
    @JsonSetter("IsNational")
    public void setIsNational(Boolean isNational) {
        this.isNational = isNational;
    }

    /**
     * Getter for IsPartnerSitesIncluded.
     * True if it is allowed at all partner sites, else false
     * @return Returns the Boolean
     */
    @JsonGetter("IsPartnerSitesIncluded")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getIsPartnerSitesIncluded() {
        return isPartnerSitesIncluded;
    }

    /**
     * Setter for IsPartnerSitesIncluded.
     * True if it is allowed at all partner sites, else false
     * @param isPartnerSitesIncluded Value for Boolean
     */
    @JsonSetter("IsPartnerSitesIncluded")
    public void setIsPartnerSitesIncluded(Boolean isPartnerSitesIncluded) {
        this.isPartnerSitesIncluded = isPartnerSitesIncluded;
    }

    /**
     * Getter for IsShellSitesOnly.
     * True if it is only allowed at Shell sites, else false
     * @return Returns the Boolean
     */
    @JsonGetter("IsShellSitesOnly")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Boolean getIsShellSitesOnly() {
        return isShellSitesOnly;
    }

    /**
     * Setter for IsShellSitesOnly.
     * True if it is only allowed at Shell sites, else false
     * @param isShellSitesOnly Value for Boolean
     */
    @JsonSetter("IsShellSitesOnly")
    public void setIsShellSitesOnly(Boolean isShellSitesOnly) {
        this.isShellSitesOnly = isShellSitesOnly;
    }

    /**
     * Getter for FuelSets.
     * List of active fuel type product restrictions applied on the card.
     * @return Returns the List of CardDetailsResponseFuelSetsItems
     */
    @JsonGetter("FuelSets")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public List getFuelSets() {
        return fuelSets;
    }

    /**
     * Setter for FuelSets.
     * List of active fuel type product restrictions applied on the card.
     * @param fuelSets Value for List of CardDetailsResponseFuelSetsItems
     */
    @JsonSetter("FuelSets")
    public void setFuelSets(List fuelSets) {
        this.fuelSets = fuelSets;
    }

    /**
     * Getter for NonFuelSets.
     * List of active non-fuel type product restrictions applied on the card.
     * @return Returns the List of CardDetailsResponseNonFuelSetsItems
     */
    @JsonGetter("NonFuelSets")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public List getNonFuelSets() {
        return nonFuelSets;
    }

    /**
     * Setter for NonFuelSets.
     * List of active non-fuel type product restrictions applied on the card.
     * @param nonFuelSets Value for List of CardDetailsResponseNonFuelSetsItems
     */
    @JsonSetter("NonFuelSets")
    public void setNonFuelSets(List nonFuelSets) {
        this.nonFuelSets = nonFuelSets;
    }

    /**
     * Internal Getter for IssuedDate.
     * Card issue date.
     * @return Returns the Internal String
     */
    @JsonGetter("IssuedDate")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetIssuedDate() {
        return this.issuedDate;
    }

    /**
     * Getter for IssuedDate.
     * Card issue date.
     * @return Returns the String
     */
    public String getIssuedDate() {
        return OptionalNullable.getFrom(issuedDate);
    }

    /**
     * Setter for IssuedDate.
     * Card issue date.
     * @param issuedDate Value for String
     */
    @JsonSetter("IssuedDate")
    public void setIssuedDate(String issuedDate) {
        this.issuedDate = OptionalNullable.of(issuedDate);
    }

    /**
     * UnSetter for IssuedDate.
     * Card issue date.
     */
    public void unsetIssuedDate() {
        issuedDate = null;
    }

    /**
     * Getter for ExpiryDate.
     * Expiry date of the card.
     * @return Returns the String
     */
    @JsonGetter("ExpiryDate")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getExpiryDate() {
        return expiryDate;
    }

    /**
     * Setter for ExpiryDate.
     * Expiry date of the card.
     * @param expiryDate Value for String
     */
    @JsonSetter("ExpiryDate")
    public void setExpiryDate(String expiryDate) {
        this.expiryDate = expiryDate;
    }

    /**
     * Internal Getter for LastUsedDate.
     * Card last used date.
     * @return Returns the Internal String
     */
    @JsonGetter("LastUsedDate")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetLastUsedDate() {
        return this.lastUsedDate;
    }

    /**
     * Getter for LastUsedDate.
     * Card last used date.
     * @return Returns the String
     */
    public String getLastUsedDate() {
        return OptionalNullable.getFrom(lastUsedDate);
    }

    /**
     * Setter for LastUsedDate.
     * Card last used date.
     * @param lastUsedDate Value for String
     */
    @JsonSetter("LastUsedDate")
    public void setLastUsedDate(String lastUsedDate) {
        this.lastUsedDate = OptionalNullable.of(lastUsedDate);
    }

    /**
     * UnSetter for LastUsedDate.
     * Card last used date.
     */
    public void unsetLastUsedDate() {
        lastUsedDate = null;
    }

    /**
     * Internal Getter for MisuseDate.
     * Last misused date of the card.
     * @return Returns the Internal String
     */
    @JsonGetter("MisuseDate")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetMisuseDate() {
        return this.misuseDate;
    }

    /**
     * Getter for MisuseDate.
     * Last misused date of the card.
     * @return Returns the String
     */
    public String getMisuseDate() {
        return OptionalNullable.getFrom(misuseDate);
    }

    /**
     * Setter for MisuseDate.
     * Last misused date of the card.
     * @param misuseDate Value for String
     */
    @JsonSetter("MisuseDate")
    public void setMisuseDate(String misuseDate) {
        this.misuseDate = OptionalNullable.of(misuseDate);
    }

    /**
     * UnSetter for MisuseDate.
     * Last misused date of the card.
     */
    public void unsetMisuseDate() {
        misuseDate = null;
    }

    /**
     * Internal Getter for Temperature.
     * Hot-list status
     * @return Returns the Internal String
     */
    @JsonGetter("Temperature")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetTemperature() {
        return this.temperature;
    }

    /**
     * Getter for Temperature.
     * Hot-list status
     * @return Returns the String
     */
    public String getTemperature() {
        return OptionalNullable.getFrom(temperature);
    }

    /**
     * Setter for Temperature.
     * Hot-list status
     * @param temperature Value for String
     */
    @JsonSetter("Temperature")
    public void setTemperature(String temperature) {
        this.temperature = OptionalNullable.of(temperature);
    }

    /**
     * UnSetter for Temperature.
     * Hot-list status
     */
    public void unsetTemperature() {
        temperature = null;
    }

    /**
     * Getter for DriverName.
     * Driver name of the card. Note- While ordering card, optional when VRN is passed else
     * mandatory.
     * @return Returns the String
     */
    @JsonGetter("DriverName")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getDriverName() {
        return driverName;
    }

    /**
     * Setter for DriverName.
     * Driver name of the card. Note- While ordering card, optional when VRN is passed else
     * mandatory.
     * @param driverName Value for String
     */
    @JsonSetter("DriverName")
    public void setDriverName(String driverName) {
        this.driverName = driverName;
    }

    /**
     * Getter for VRN.
     * Vehicle registration number of the card. Note- While ordering card, optional when DriverName
     * is passed else mandatory.
     * @return Returns the String
     */
    @JsonGetter("VRN")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getVRN() {
        return vRN;
    }

    /**
     * Setter for VRN.
     * Vehicle registration number of the card. Note- While ordering card, optional when DriverName
     * is passed else mandatory.
     * @param vRN Value for String
     */
    @JsonSetter("VRN")
    public void setVRN(String vRN) {
        this.vRN = vRN;
    }

    /**
     * Getter for EmbossText.
     * Text printed on the card as account name.
     * @return Returns the String
     */
    @JsonGetter("EmbossText")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getEmbossText() {
        return embossText;
    }

    /**
     * Setter for EmbossText.
     * Text printed on the card as account name.
     * @param embossText Value for String
     */
    @JsonSetter("EmbossText")
    public void setEmbossText(String embossText) {
        this.embossText = embossText;
    }

    /**
     * Internal Getter for CardGroupId.
     * Existing Card Group ID, under which the replacement card is to be created. Pass “-1” if the
     * replacement card should not be assigned to any card group. Optional. If not provided, the
     * replacement card will be created under the same card group as the current card. Example- 156
     * @return Returns the Internal Integer
     */
    @JsonGetter("CardGroupId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetCardGroupId() {
        return this.cardGroupId;
    }

    /**
     * Getter for CardGroupId.
     * Existing Card Group ID, under which the replacement card is to be created. Pass “-1” if the
     * replacement card should not be assigned to any card group. Optional. If not provided, the
     * replacement card will be created under the same card group as the current card. Example- 156
     * @return Returns the Integer
     */
    public Integer getCardGroupId() {
        return OptionalNullable.getFrom(cardGroupId);
    }

    /**
     * Setter for CardGroupId.
     * Existing Card Group ID, under which the replacement card is to be created. Pass “-1” if the
     * replacement card should not be assigned to any card group. Optional. If not provided, the
     * replacement card will be created under the same card group as the current card. Example- 156
     * @param cardGroupId Value for Integer
     */
    @JsonSetter("CardGroupId")
    public void setCardGroupId(Integer cardGroupId) {
        this.cardGroupId = OptionalNullable.of(cardGroupId);
    }

    /**
     * UnSetter for CardGroupId.
     * Existing Card Group ID, under which the replacement card is to be created. Pass “-1” if the
     * replacement card should not be assigned to any card group. Optional. If not provided, the
     * replacement card will be created under the same card group as the current card. Example- 156
     */
    public void unsetCardGroupId() {
        cardGroupId = null;
    }

    /**
     * Internal Getter for CardGroupName.
     * Card group name. Note- 1. While ordering card this field is mandatory when IsNewCardGroup is
     * true.
     * @return Returns the Internal String
     */
    @JsonGetter("CardGroupName")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetCardGroupName() {
        return this.cardGroupName;
    }

    /**
     * Getter for CardGroupName.
     * Card group name. Note- 1. While ordering card this field is mandatory when IsNewCardGroup is
     * true.
     * @return Returns the String
     */
    public String getCardGroupName() {
        return OptionalNullable.getFrom(cardGroupName);
    }

    /**
     * Setter for CardGroupName.
     * Card group name. Note- 1. While ordering card this field is mandatory when IsNewCardGroup is
     * true.
     * @param cardGroupName Value for String
     */
    @JsonSetter("CardGroupName")
    public void setCardGroupName(String cardGroupName) {
        this.cardGroupName = OptionalNullable.of(cardGroupName);
    }

    /**
     * UnSetter for CardGroupName.
     * Card group name. Note- 1. While ordering card this field is mandatory when IsNewCardGroup is
     * true.
     */
    public void unsetCardGroupName() {
        cardGroupName = null;
    }

    /**
     * Internal Getter for RenewalDate.
     * Renewal date of the card. Applicable if ReissueSetting is set to True.
     * @return Returns the Internal String
     */
    @JsonGetter("RenewalDate")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetRenewalDate() {
        return this.renewalDate;
    }

    /**
     * Getter for RenewalDate.
     * Renewal date of the card. Applicable if ReissueSetting is set to True.
     * @return Returns the String
     */
    public String getRenewalDate() {
        return OptionalNullable.getFrom(renewalDate);
    }

    /**
     * Setter for RenewalDate.
     * Renewal date of the card. Applicable if ReissueSetting is set to True.
     * @param renewalDate Value for String
     */
    @JsonSetter("RenewalDate")
    public void setRenewalDate(String renewalDate) {
        this.renewalDate = OptionalNullable.of(renewalDate);
    }

    /**
     * UnSetter for RenewalDate.
     * Renewal date of the card. Applicable if ReissueSetting is set to True.
     */
    public void unsetRenewalDate() {
        renewalDate = null;
    }

    /**
     * Internal Getter for RenewedCardId.
     * Renewed card id.
     * @return Returns the Internal Integer
     */
    @JsonGetter("RenewedCardId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetRenewedCardId() {
        return this.renewedCardId;
    }

    /**
     * Getter for RenewedCardId.
     * Renewed card id.
     * @return Returns the Integer
     */
    public Integer getRenewedCardId() {
        return OptionalNullable.getFrom(renewedCardId);
    }

    /**
     * Setter for RenewedCardId.
     * Renewed card id.
     * @param renewedCardId Value for Integer
     */
    @JsonSetter("RenewedCardId")
    public void setRenewedCardId(Integer renewedCardId) {
        this.renewedCardId = OptionalNullable.of(renewedCardId);
    }

    /**
     * UnSetter for RenewedCardId.
     * Renewed card id.
     */
    public void unsetRenewedCardId() {
        renewedCardId = null;
    }

    /**
     * Internal Getter for RenewedCardStatusId.
     * Renewed card status id.
     * @return Returns the Internal Integer
     */
    @JsonGetter("RenewedCardStatusId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetRenewedCardStatusId() {
        return this.renewedCardStatusId;
    }

    /**
     * Getter for RenewedCardStatusId.
     * Renewed card status id.
     * @return Returns the Integer
     */
    public Integer getRenewedCardStatusId() {
        return OptionalNullable.getFrom(renewedCardStatusId);
    }

    /**
     * Setter for RenewedCardStatusId.
     * Renewed card status id.
     * @param renewedCardStatusId Value for Integer
     */
    @JsonSetter("RenewedCardStatusId")
    public void setRenewedCardStatusId(Integer renewedCardStatusId) {
        this.renewedCardStatusId = OptionalNullable.of(renewedCardStatusId);
    }

    /**
     * UnSetter for RenewedCardStatusId.
     * Renewed card status id.
     */
    public void unsetRenewedCardStatusId() {
        renewedCardStatusId = null;
    }

    /**
     * Getter for RenewedCardStatus.
     * Renewed card status description.
     * @return Returns the String
     */
    @JsonGetter("RenewedCardStatus")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getRenewedCardStatus() {
        return renewedCardStatus;
    }

    /**
     * Setter for RenewedCardStatus.
     * Renewed card status description.
     * @param renewedCardStatus Value for String
     */
    @JsonSetter("RenewedCardStatus")
    public void setRenewedCardStatus(String renewedCardStatus) {
        this.renewedCardStatus = renewedCardStatus;
    }

    /**
     * Getter for RenewedCardExpiryDate.
     * Renewed card expiry date.
     * @return Returns the String
     */
    @JsonGetter("RenewedCardExpiryDate")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getRenewedCardExpiryDate() {
        return renewedCardExpiryDate;
    }

    /**
     * Setter for RenewedCardExpiryDate.
     * Renewed card expiry date.
     * @param renewedCardExpiryDate Value for String
     */
    @JsonSetter("RenewedCardExpiryDate")
    public void setRenewedCardExpiryDate(String renewedCardExpiryDate) {
        this.renewedCardExpiryDate = renewedCardExpiryDate;
    }

    /**
     * Internal Getter for RenewedCardIssueNumber.
     * Renewed card issue number.
     * @return Returns the Internal Integer
     */
    @JsonGetter("RenewedCardIssueNumber")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetRenewedCardIssueNumber() {
        return this.renewedCardIssueNumber;
    }

    /**
     * Getter for RenewedCardIssueNumber.
     * Renewed card issue number.
     * @return Returns the Integer
     */
    public Integer getRenewedCardIssueNumber() {
        return OptionalNullable.getFrom(renewedCardIssueNumber);
    }

    /**
     * Setter for RenewedCardIssueNumber.
     * Renewed card issue number.
     * @param renewedCardIssueNumber Value for Integer
     */
    @JsonSetter("RenewedCardIssueNumber")
    public void setRenewedCardIssueNumber(Integer renewedCardIssueNumber) {
        this.renewedCardIssueNumber = OptionalNullable.of(renewedCardIssueNumber);
    }

    /**
     * UnSetter for RenewedCardIssueNumber.
     * Renewed card issue number.
     */
    public void unsetRenewedCardIssueNumber() {
        renewedCardIssueNumber = null;
    }

    /**
     * Getter for RenewedCardReissueSetting.
     * Reissue setting of the renewed new card. Reissue Setting: * `True` - Card will be sent to
     * production * `False` - Parent Card is Dormant or the Card is not to be produced
     * @return Returns the CardDetailsResponseRenewedCardReissueSettingEnum
     */
    @JsonGetter("RenewedCardReissueSetting")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public CardDetailsResponseRenewedCardReissueSettingEnum getRenewedCardReissueSetting() {
        return renewedCardReissueSetting;
    }

    /**
     * Setter for RenewedCardReissueSetting.
     * Reissue setting of the renewed new card. Reissue Setting: * `True` - Card will be sent to
     * production * `False` - Parent Card is Dormant or the Card is not to be produced
     * @param renewedCardReissueSetting Value for CardDetailsResponseRenewedCardReissueSettingEnum
     */
    @JsonSetter("RenewedCardReissueSetting")
    public void setRenewedCardReissueSetting(CardDetailsResponseRenewedCardReissueSettingEnum renewedCardReissueSetting) {
        this.renewedCardReissueSetting = renewedCardReissueSetting;
    }

    /**
     * Internal Getter for CreationDate.
     * Card Creation Date time
     * @return Returns the Internal String
     */
    @JsonGetter("CreationDate")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetCreationDate() {
        return this.creationDate;
    }

    /**
     * Getter for CreationDate.
     * Card Creation Date time
     * @return Returns the String
     */
    public String getCreationDate() {
        return OptionalNullable.getFrom(creationDate);
    }

    /**
     * Setter for CreationDate.
     * Card Creation Date time
     * @param creationDate Value for String
     */
    @JsonSetter("CreationDate")
    public void setCreationDate(String creationDate) {
        this.creationDate = OptionalNullable.of(creationDate);
    }

    /**
     * UnSetter for CreationDate.
     * Card Creation Date time
     */
    public void unsetCreationDate() {
        creationDate = null;
    }

    /**
     * Internal Getter for EffectiveDate.
     * Effective date for the Card
     * @return Returns the Internal String
     */
    @JsonGetter("EffectiveDate")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetEffectiveDate() {
        return this.effectiveDate;
    }

    /**
     * Getter for EffectiveDate.
     * Effective date for the Card
     * @return Returns the String
     */
    public String getEffectiveDate() {
        return OptionalNullable.getFrom(effectiveDate);
    }

    /**
     * Setter for EffectiveDate.
     * Effective date for the Card
     * @param effectiveDate Value for String
     */
    @JsonSetter("EffectiveDate")
    public void setEffectiveDate(String effectiveDate) {
        this.effectiveDate = OptionalNullable.of(effectiveDate);
    }

    /**
     * UnSetter for EffectiveDate.
     * Effective date for the Card
     */
    public void unsetEffectiveDate() {
        effectiveDate = null;
    }

    /**
     * Internal Getter for LastModifiedDate.
     * Card last modified date
     * @return Returns the Internal String
     */
    @JsonGetter("LastModifiedDate")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetLastModifiedDate() {
        return this.lastModifiedDate;
    }

    /**
     * Getter for LastModifiedDate.
     * Card last modified date
     * @return Returns the String
     */
    public String getLastModifiedDate() {
        return OptionalNullable.getFrom(lastModifiedDate);
    }

    /**
     * Setter for LastModifiedDate.
     * Card last modified date
     * @param lastModifiedDate Value for String
     */
    @JsonSetter("LastModifiedDate")
    public void setLastModifiedDate(String lastModifiedDate) {
        this.lastModifiedDate = OptionalNullable.of(lastModifiedDate);
    }

    /**
     * UnSetter for LastModifiedDate.
     * Card last modified date
     */
    public void unsetLastModifiedDate() {
        lastModifiedDate = null;
    }

    /**
     * Internal Getter for BundleId.
     * Bundle Id associated with card in the Gateway. This field will have a null value if the card
     * is not associated with any bundle in Gateway or the value of IncludeBundleDetails in request
     * is false.
     * @return Returns the Internal String
     */
    @JsonGetter("BundleId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetBundleId() {
        return this.bundleId;
    }

    /**
     * Getter for BundleId.
     * Bundle Id associated with card in the Gateway. This field will have a null value if the card
     * is not associated with any bundle in Gateway or the value of IncludeBundleDetails in request
     * is false.
     * @return Returns the String
     */
    public String getBundleId() {
        return OptionalNullable.getFrom(bundleId);
    }

    /**
     * Setter for BundleId.
     * Bundle Id associated with card in the Gateway. This field will have a null value if the card
     * is not associated with any bundle in Gateway or the value of IncludeBundleDetails in request
     * is false.
     * @param bundleId Value for String
     */
    @JsonSetter("BundleId")
    public void setBundleId(String bundleId) {
        this.bundleId = OptionalNullable.of(bundleId);
    }

    /**
     * UnSetter for BundleId.
     * Bundle Id associated with card in the Gateway. This field will have a null value if the card
     * is not associated with any bundle in Gateway or the value of IncludeBundleDetails in request
     * is false.
     */
    public void unsetBundleId() {
        bundleId = null;
    }

    /**
     * Getter for CardDeliveryAddress.
     * @return Returns the CardDeliveryAddress
     */
    @JsonGetter("CardDeliveryAddress")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public CardDeliveryAddress getCardDeliveryAddress() {
        return cardDeliveryAddress;
    }

    /**
     * Setter for CardDeliveryAddress.
     * @param cardDeliveryAddress Value for CardDeliveryAddress
     */
    @JsonSetter("CardDeliveryAddress")
    public void setCardDeliveryAddress(CardDeliveryAddress cardDeliveryAddress) {
        this.cardDeliveryAddress = cardDeliveryAddress;
    }

    /**
     * Getter for PINDeliveryAddress.
     * @return Returns the PINDeliveryAddress
     */
    @JsonGetter("PINDeliveryAddress")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public PINDeliveryAddress getPINDeliveryAddress() {
        return pINDeliveryAddress;
    }

    /**
     * Setter for PINDeliveryAddress.
     * @param pINDeliveryAddress Value for PINDeliveryAddress
     */
    @JsonSetter("PINDeliveryAddress")
    public void setPINDeliveryAddress(PINDeliveryAddress pINDeliveryAddress) {
        this.pINDeliveryAddress = pINDeliveryAddress;
    }

    /**
     * Internal Getter for CardBlockSchedules.
     * @return Returns the Internal List of CardDetailsResponseCardBlockSchedulesItemsAllOf0
     */
    @JsonGetter("CardBlockSchedules")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable> internalGetCardBlockSchedules() {
        return this.cardBlockSchedules;
    }

    /**
     * Getter for CardBlockSchedules.
     * @return Returns the List of CardDetailsResponseCardBlockSchedulesItemsAllOf0
     */
    public List getCardBlockSchedules() {
        return OptionalNullable.getFrom(cardBlockSchedules);
    }

    /**
     * Setter for CardBlockSchedules.
     * @param cardBlockSchedules Value for List of CardDetailsResponseCardBlockSchedulesItemsAllOf0
     */
    @JsonSetter("CardBlockSchedules")
    public void setCardBlockSchedules(List cardBlockSchedules) {
        this.cardBlockSchedules = OptionalNullable.of(cardBlockSchedules);
    }

    /**
     * UnSetter for CardBlockSchedules.
     */
    public void unsetCardBlockSchedules() {
        cardBlockSchedules = null;
    }

    /**
     * Getter for Error.
     * @return Returns the ErrorStatus
     */
    @JsonGetter("Error")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public ErrorStatus getError() {
        return error;
    }

    /**
     * Setter for Error.
     * @param error Value for ErrorStatus
     */
    @JsonSetter("Error")
    public void setError(ErrorStatus error) {
        this.error = error;
    }

    /**
     * Getter for RequestId.
     * API Request
     * @return Returns the String
     */
    @JsonGetter("RequestId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getRequestId() {
        return requestId;
    }

    /**
     * Setter for RequestId.
     * API Request
     * @param requestId Value for String
     */
    @JsonSetter("RequestId")
    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    /**
     * Converts this CardDetailsResponse into string format.
     * @return String representation of this class
     */
    @Override
    public String toString() {
        return "CardDetailsResponse [" + "payerId=" + payerId + ", payerNumber=" + payerNumber
                + ", accountId=" + accountId + ", accountNumber=" + accountNumber
                + ", accountShortName=" + accountShortName + ", colCoCountryCode="
                + colCoCountryCode + ", localCurrencyCode=" + localCurrencyCode
                + ", localCurrencySymbol=" + localCurrencySymbol + ", cardId=" + cardId + ", pAN="
                + pAN + ", statusId=" + statusId + ", status=" + status + ", odometerPrompt="
                + odometerPrompt + ", fleetIdPrompt=" + fleetIdPrompt + ", pINType=" + pINType
                + ", hasPIN=" + hasPIN + ", isSelfSelectedPIN=" + isSelfSelectedPIN
                + ", temporaryBlockAllowed=" + temporaryBlockAllowed + ", unblockAllowed="
                + unblockAllowed + ", permanentBlockAllowed=" + permanentBlockAllowed
                + ", issueNumber=" + issueNumber + ", reissueSetting=" + reissueSetting
                + ", internationalPOSLanguageID=" + internationalPOSLanguageID
                + ", internationalPOSLanguageCode=" + internationalPOSLanguageCode
                + ", localPOSLanguageID=" + localPOSLanguageID + ", localPOSLanguageCode="
                + localPOSLanguageCode + ", cardTypeCode=" + cardTypeCode + ", cardTypeId="
                + cardTypeId + ", cardTypeName=" + cardTypeName + ", tokenTypeId=" + tokenTypeId
                + ", tokenTypeName=" + tokenTypeName + ", isChipCard=" + isChipCard
                + ", isMagStripCard=" + isMagStripCard + ", isVirtualCard=" + isVirtualCard
                + ", purchaseCategoryCode=" + purchaseCategoryCode + ", purchaseCategoryId="
                + purchaseCategoryId + ", purchaseCategoryName=" + purchaseCategoryName + ", isCRT="
                + isCRT + ", isFleet=" + isFleet + ", isInternational=" + isInternational
                + ", isNational=" + isNational + ", isPartnerSitesIncluded="
                + isPartnerSitesIncluded + ", isShellSitesOnly=" + isShellSitesOnly + ", fuelSets="
                + fuelSets + ", nonFuelSets=" + nonFuelSets + ", issuedDate=" + issuedDate
                + ", expiryDate=" + expiryDate + ", lastUsedDate=" + lastUsedDate + ", misuseDate="
                + misuseDate + ", temperature=" + temperature + ", driverName=" + driverName
                + ", vRN=" + vRN + ", embossText=" + embossText + ", cardGroupId=" + cardGroupId
                + ", cardGroupName=" + cardGroupName + ", renewalDate=" + renewalDate
                + ", renewedCardId=" + renewedCardId + ", renewedCardStatusId="
                + renewedCardStatusId + ", renewedCardStatus=" + renewedCardStatus
                + ", renewedCardExpiryDate=" + renewedCardExpiryDate + ", renewedCardIssueNumber="
                + renewedCardIssueNumber + ", renewedCardReissueSetting="
                + renewedCardReissueSetting + ", creationDate=" + creationDate + ", effectiveDate="
                + effectiveDate + ", lastModifiedDate=" + lastModifiedDate + ", bundleId="
                + bundleId + ", cardDeliveryAddress=" + cardDeliveryAddress
                + ", pINDeliveryAddress=" + pINDeliveryAddress + ", cardBlockSchedules="
                + cardBlockSchedules + ", error=" + error + ", requestId=" + requestId + "]";
    }

    /**
     * Builds a new {@link CardDetailsResponse.Builder} object.
     * Creates the instance with the state of the current model.
     * @return a new {@link CardDetailsResponse.Builder} object
     */
    public Builder toBuilder() {
        Builder builder = new Builder()
                .cardId(getCardId())
                .statusId(getStatusId())
                .status(getStatus())
                .odometerPrompt(getOdometerPrompt())
                .fleetIdPrompt(getFleetIdPrompt())
                .pINType(getPINType())
                .hasPIN(getHasPIN())
                .isSelfSelectedPIN(getIsSelfSelectedPIN())
                .temporaryBlockAllowed(getTemporaryBlockAllowed())
                .unblockAllowed(getUnblockAllowed())
                .permanentBlockAllowed(getPermanentBlockAllowed())
                .issueNumber(getIssueNumber())
                .reissueSetting(getReissueSetting())
                .internationalPOSLanguageID(getInternationalPOSLanguageID())
                .internationalPOSLanguageCode(getInternationalPOSLanguageCode())
                .localPOSLanguageID(getLocalPOSLanguageID())
                .localPOSLanguageCode(getLocalPOSLanguageCode())
                .isChipCard(getIsChipCard())
                .isMagStripCard(getIsMagStripCard())
                .isVirtualCard(getIsVirtualCard())
                .purchaseCategoryId(getPurchaseCategoryId())
                .isCRT(getIsCRT())
                .isFleet(getIsFleet())
                .isInternational(getIsInternational())
                .isNational(getIsNational())
                .isPartnerSitesIncluded(getIsPartnerSitesIncluded())
                .isShellSitesOnly(getIsShellSitesOnly())
                .fuelSets(getFuelSets())
                .nonFuelSets(getNonFuelSets())
                .expiryDate(getExpiryDate())
                .driverName(getDriverName())
                .vRN(getVRN())
                .embossText(getEmbossText())
                .renewedCardStatus(getRenewedCardStatus())
                .renewedCardExpiryDate(getRenewedCardExpiryDate())
                .renewedCardReissueSetting(getRenewedCardReissueSetting())
                .cardDeliveryAddress(getCardDeliveryAddress())
                .pINDeliveryAddress(getPINDeliveryAddress())
                .error(getError())
                .requestId(getRequestId());
        builder.payerId = internalGetPayerId();
        builder.payerNumber = internalGetPayerNumber();
        builder.accountId = internalGetAccountId();
        builder.accountNumber = internalGetAccountNumber();
        builder.accountShortName = internalGetAccountShortName();
        builder.colCoCountryCode = internalGetColCoCountryCode();
        builder.localCurrencyCode = internalGetLocalCurrencyCode();
        builder.localCurrencySymbol = internalGetLocalCurrencySymbol();
        builder.pAN = internalGetPAN();
        builder.cardTypeCode = internalGetCardTypeCode();
        builder.cardTypeId = internalGetCardTypeId();
        builder.cardTypeName = internalGetCardTypeName();
        builder.tokenTypeId = internalGetTokenTypeId();
        builder.tokenTypeName = internalGetTokenTypeName();
        builder.purchaseCategoryCode = internalGetPurchaseCategoryCode();
        builder.purchaseCategoryName = internalGetPurchaseCategoryName();
        builder.issuedDate = internalGetIssuedDate();
        builder.lastUsedDate = internalGetLastUsedDate();
        builder.misuseDate = internalGetMisuseDate();
        builder.temperature = internalGetTemperature();
        builder.cardGroupId = internalGetCardGroupId();
        builder.cardGroupName = internalGetCardGroupName();
        builder.renewalDate = internalGetRenewalDate();
        builder.renewedCardId = internalGetRenewedCardId();
        builder.renewedCardStatusId = internalGetRenewedCardStatusId();
        builder.renewedCardIssueNumber = internalGetRenewedCardIssueNumber();
        builder.creationDate = internalGetCreationDate();
        builder.effectiveDate = internalGetEffectiveDate();
        builder.lastModifiedDate = internalGetLastModifiedDate();
        builder.bundleId = internalGetBundleId();
        builder.cardBlockSchedules = internalGetCardBlockSchedules();
        return builder;
    }

    /**
     * Class to build instances of {@link CardDetailsResponse}.
     */
    public static class Builder {
        private OptionalNullable payerId;
        private OptionalNullable payerNumber;
        private OptionalNullable accountId;
        private OptionalNullable accountNumber;
        private OptionalNullable accountShortName;
        private OptionalNullable colCoCountryCode;
        private OptionalNullable localCurrencyCode;
        private OptionalNullable localCurrencySymbol;
        private Integer cardId;
        private OptionalNullable pAN;
        private CardDetailsResponseStatusIdEnum statusId;
        private String status;
        private Boolean odometerPrompt;
        private Boolean fleetIdPrompt;
        private CardDetailsResponsePINTypeEnum pINType;
        private Boolean hasPIN;
        private Boolean isSelfSelectedPIN;
        private Boolean temporaryBlockAllowed;
        private Boolean unblockAllowed;
        private Boolean permanentBlockAllowed;
        private Integer issueNumber;
        private Object reissueSetting;
        private CardDetailsResponseInternationalPOSLanguageIDEnum internationalPOSLanguageID;
        private CardDetailsResponseInternationalPOSLanguageCodeEnum internationalPOSLanguageCode;
        private CardDetailsResponseInternationalPOSLanguageIDEnum localPOSLanguageID;
        private CardDetailsResponseInternationalPOSLanguageCodeEnum localPOSLanguageCode;
        private OptionalNullable cardTypeCode;
        private OptionalNullable cardTypeId;
        private OptionalNullable cardTypeName;
        private OptionalNullable tokenTypeId;
        private OptionalNullable tokenTypeName;
        private Boolean isChipCard;
        private Boolean isMagStripCard;
        private Boolean isVirtualCard;
        private OptionalNullable purchaseCategoryCode;
        private Integer purchaseCategoryId;
        private OptionalNullable purchaseCategoryName;
        private Boolean isCRT;
        private Boolean isFleet;
        private Boolean isInternational;
        private Boolean isNational;
        private Boolean isPartnerSitesIncluded;
        private Boolean isShellSitesOnly;
        private List fuelSets;
        private List nonFuelSets;
        private OptionalNullable issuedDate;
        private String expiryDate;
        private OptionalNullable lastUsedDate;
        private OptionalNullable misuseDate;
        private OptionalNullable temperature;
        private String driverName;
        private String vRN;
        private String embossText;
        private OptionalNullable cardGroupId;
        private OptionalNullable cardGroupName;
        private OptionalNullable renewalDate;
        private OptionalNullable renewedCardId;
        private OptionalNullable renewedCardStatusId;
        private String renewedCardStatus;
        private String renewedCardExpiryDate;
        private OptionalNullable renewedCardIssueNumber;
        private CardDetailsResponseRenewedCardReissueSettingEnum renewedCardReissueSetting;
        private OptionalNullable creationDate;
        private OptionalNullable effectiveDate;
        private OptionalNullable lastModifiedDate;
        private OptionalNullable bundleId;
        private CardDeliveryAddress cardDeliveryAddress;
        private PINDeliveryAddress pINDeliveryAddress;
        private OptionalNullable> cardBlockSchedules;
        private ErrorStatus error;
        private String requestId;



        /**
         * Setter for payerId.
         * @param  payerId  Integer value for payerId.
         * @return Builder
         */
        public Builder payerId(Integer payerId) {
            this.payerId = OptionalNullable.of(payerId);
            return this;
        }

        /**
         * UnSetter for payerId.
         * @return Builder
         */
        public Builder unsetPayerId() {
            payerId = null;
            return this;
        }

        /**
         * Setter for payerNumber.
         * @param  payerNumber  String value for payerNumber.
         * @return Builder
         */
        public Builder payerNumber(String payerNumber) {
            this.payerNumber = OptionalNullable.of(payerNumber);
            return this;
        }

        /**
         * UnSetter for payerNumber.
         * @return Builder
         */
        public Builder unsetPayerNumber() {
            payerNumber = null;
            return this;
        }

        /**
         * Setter for accountId.
         * @param  accountId  Integer value for accountId.
         * @return Builder
         */
        public Builder accountId(Integer accountId) {
            this.accountId = OptionalNullable.of(accountId);
            return this;
        }

        /**
         * UnSetter for accountId.
         * @return Builder
         */
        public Builder unsetAccountId() {
            accountId = null;
            return this;
        }

        /**
         * Setter for accountNumber.
         * @param  accountNumber  String value for accountNumber.
         * @return Builder
         */
        public Builder accountNumber(String accountNumber) {
            this.accountNumber = OptionalNullable.of(accountNumber);
            return this;
        }

        /**
         * UnSetter for accountNumber.
         * @return Builder
         */
        public Builder unsetAccountNumber() {
            accountNumber = null;
            return this;
        }

        /**
         * Setter for accountShortName.
         * @param  accountShortName  String value for accountShortName.
         * @return Builder
         */
        public Builder accountShortName(String accountShortName) {
            this.accountShortName = OptionalNullable.of(accountShortName);
            return this;
        }

        /**
         * UnSetter for accountShortName.
         * @return Builder
         */
        public Builder unsetAccountShortName() {
            accountShortName = null;
            return this;
        }

        /**
         * Setter for colCoCountryCode.
         * @param  colCoCountryCode  String value for colCoCountryCode.
         * @return Builder
         */
        public Builder colCoCountryCode(String colCoCountryCode) {
            this.colCoCountryCode = OptionalNullable.of(colCoCountryCode);
            return this;
        }

        /**
         * UnSetter for colCoCountryCode.
         * @return Builder
         */
        public Builder unsetColCoCountryCode() {
            colCoCountryCode = null;
            return this;
        }

        /**
         * Setter for localCurrencyCode.
         * @param  localCurrencyCode  String value for localCurrencyCode.
         * @return Builder
         */
        public Builder localCurrencyCode(String localCurrencyCode) {
            this.localCurrencyCode = OptionalNullable.of(localCurrencyCode);
            return this;
        }

        /**
         * UnSetter for localCurrencyCode.
         * @return Builder
         */
        public Builder unsetLocalCurrencyCode() {
            localCurrencyCode = null;
            return this;
        }

        /**
         * Setter for localCurrencySymbol.
         * @param  localCurrencySymbol  String value for localCurrencySymbol.
         * @return Builder
         */
        public Builder localCurrencySymbol(String localCurrencySymbol) {
            this.localCurrencySymbol = OptionalNullable.of(localCurrencySymbol);
            return this;
        }

        /**
         * UnSetter for localCurrencySymbol.
         * @return Builder
         */
        public Builder unsetLocalCurrencySymbol() {
            localCurrencySymbol = null;
            return this;
        }

        /**
         * Setter for cardId.
         * @param  cardId  Integer value for cardId.
         * @return Builder
         */
        public Builder cardId(Integer cardId) {
            this.cardId = cardId;
            return this;
        }

        /**
         * Setter for pAN.
         * @param  pAN  String value for pAN.
         * @return Builder
         */
        public Builder pAN(String pAN) {
            this.pAN = OptionalNullable.of(pAN);
            return this;
        }

        /**
         * UnSetter for pAN.
         * @return Builder
         */
        public Builder unsetPAN() {
            pAN = null;
            return this;
        }

        /**
         * Setter for statusId.
         * @param  statusId  CardDetailsResponseStatusIdEnum value for statusId.
         * @return Builder
         */
        public Builder statusId(CardDetailsResponseStatusIdEnum statusId) {
            this.statusId = statusId;
            return this;
        }

        /**
         * Setter for status.
         * @param  status  String value for status.
         * @return Builder
         */
        public Builder status(String status) {
            this.status = status;
            return this;
        }

        /**
         * Setter for odometerPrompt.
         * @param  odometerPrompt  Boolean value for odometerPrompt.
         * @return Builder
         */
        public Builder odometerPrompt(Boolean odometerPrompt) {
            this.odometerPrompt = odometerPrompt;
            return this;
        }

        /**
         * Setter for fleetIdPrompt.
         * @param  fleetIdPrompt  Boolean value for fleetIdPrompt.
         * @return Builder
         */
        public Builder fleetIdPrompt(Boolean fleetIdPrompt) {
            this.fleetIdPrompt = fleetIdPrompt;
            return this;
        }

        /**
         * Setter for pINType.
         * @param  pINType  CardDetailsResponsePINTypeEnum value for pINType.
         * @return Builder
         */
        public Builder pINType(CardDetailsResponsePINTypeEnum pINType) {
            this.pINType = pINType;
            return this;
        }

        /**
         * Setter for hasPIN.
         * @param  hasPIN  Boolean value for hasPIN.
         * @return Builder
         */
        public Builder hasPIN(Boolean hasPIN) {
            this.hasPIN = hasPIN;
            return this;
        }

        /**
         * Setter for isSelfSelectedPIN.
         * @param  isSelfSelectedPIN  Boolean value for isSelfSelectedPIN.
         * @return Builder
         */
        public Builder isSelfSelectedPIN(Boolean isSelfSelectedPIN) {
            this.isSelfSelectedPIN = isSelfSelectedPIN;
            return this;
        }

        /**
         * Setter for temporaryBlockAllowed.
         * @param  temporaryBlockAllowed  Boolean value for temporaryBlockAllowed.
         * @return Builder
         */
        public Builder temporaryBlockAllowed(Boolean temporaryBlockAllowed) {
            this.temporaryBlockAllowed = temporaryBlockAllowed;
            return this;
        }

        /**
         * Setter for unblockAllowed.
         * @param  unblockAllowed  Boolean value for unblockAllowed.
         * @return Builder
         */
        public Builder unblockAllowed(Boolean unblockAllowed) {
            this.unblockAllowed = unblockAllowed;
            return this;
        }

        /**
         * Setter for permanentBlockAllowed.
         * @param  permanentBlockAllowed  Boolean value for permanentBlockAllowed.
         * @return Builder
         */
        public Builder permanentBlockAllowed(Boolean permanentBlockAllowed) {
            this.permanentBlockAllowed = permanentBlockAllowed;
            return this;
        }

        /**
         * Setter for issueNumber.
         * @param  issueNumber  Integer value for issueNumber.
         * @return Builder
         */
        public Builder issueNumber(Integer issueNumber) {
            this.issueNumber = issueNumber;
            return this;
        }

        /**
         * Setter for reissueSetting.
         * @param  reissueSetting  Object value for reissueSetting.
         * @return Builder
         */
        public Builder reissueSetting(Object reissueSetting) {
            this.reissueSetting = reissueSetting;
            return this;
        }

        /**
         * Setter for internationalPOSLanguageID.
         * @param  internationalPOSLanguageID  CardDetailsResponseInternationalPOSLanguageIDEnum
         *         value for internationalPOSLanguageID.
         * @return Builder
         */
        public Builder internationalPOSLanguageID(
                CardDetailsResponseInternationalPOSLanguageIDEnum internationalPOSLanguageID) {
            this.internationalPOSLanguageID = internationalPOSLanguageID;
            return this;
        }

        /**
         * Setter for internationalPOSLanguageCode.
         * @param  internationalPOSLanguageCode  CardDetailsResponseInternationalPOSLanguageCodeEnum
         *         value for internationalPOSLanguageCode.
         * @return Builder
         */
        public Builder internationalPOSLanguageCode(
                CardDetailsResponseInternationalPOSLanguageCodeEnum internationalPOSLanguageCode) {
            this.internationalPOSLanguageCode = internationalPOSLanguageCode;
            return this;
        }

        /**
         * Setter for localPOSLanguageID.
         * @param  localPOSLanguageID  CardDetailsResponseInternationalPOSLanguageIDEnum value for
         *         localPOSLanguageID.
         * @return Builder
         */
        public Builder localPOSLanguageID(
                CardDetailsResponseInternationalPOSLanguageIDEnum localPOSLanguageID) {
            this.localPOSLanguageID = localPOSLanguageID;
            return this;
        }

        /**
         * Setter for localPOSLanguageCode.
         * @param  localPOSLanguageCode  CardDetailsResponseInternationalPOSLanguageCodeEnum value
         *         for localPOSLanguageCode.
         * @return Builder
         */
        public Builder localPOSLanguageCode(
                CardDetailsResponseInternationalPOSLanguageCodeEnum localPOSLanguageCode) {
            this.localPOSLanguageCode = localPOSLanguageCode;
            return this;
        }

        /**
         * Setter for cardTypeCode.
         * @param  cardTypeCode  String value for cardTypeCode.
         * @return Builder
         */
        public Builder cardTypeCode(String cardTypeCode) {
            this.cardTypeCode = OptionalNullable.of(cardTypeCode);
            return this;
        }

        /**
         * UnSetter for cardTypeCode.
         * @return Builder
         */
        public Builder unsetCardTypeCode() {
            cardTypeCode = null;
            return this;
        }

        /**
         * Setter for cardTypeId.
         * @param  cardTypeId  Integer value for cardTypeId.
         * @return Builder
         */
        public Builder cardTypeId(Integer cardTypeId) {
            this.cardTypeId = OptionalNullable.of(cardTypeId);
            return this;
        }

        /**
         * UnSetter for cardTypeId.
         * @return Builder
         */
        public Builder unsetCardTypeId() {
            cardTypeId = null;
            return this;
        }

        /**
         * Setter for cardTypeName.
         * @param  cardTypeName  String value for cardTypeName.
         * @return Builder
         */
        public Builder cardTypeName(String cardTypeName) {
            this.cardTypeName = OptionalNullable.of(cardTypeName);
            return this;
        }

        /**
         * UnSetter for cardTypeName.
         * @return Builder
         */
        public Builder unsetCardTypeName() {
            cardTypeName = null;
            return this;
        }

        /**
         * Setter for tokenTypeId.
         * @param  tokenTypeId  Integer value for tokenTypeId.
         * @return Builder
         */
        public Builder tokenTypeId(Integer tokenTypeId) {
            this.tokenTypeId = OptionalNullable.of(tokenTypeId);
            return this;
        }

        /**
         * UnSetter for tokenTypeId.
         * @return Builder
         */
        public Builder unsetTokenTypeId() {
            tokenTypeId = null;
            return this;
        }

        /**
         * Setter for tokenTypeName.
         * @param  tokenTypeName  String value for tokenTypeName.
         * @return Builder
         */
        public Builder tokenTypeName(String tokenTypeName) {
            this.tokenTypeName = OptionalNullable.of(tokenTypeName);
            return this;
        }

        /**
         * UnSetter for tokenTypeName.
         * @return Builder
         */
        public Builder unsetTokenTypeName() {
            tokenTypeName = null;
            return this;
        }

        /**
         * Setter for isChipCard.
         * @param  isChipCard  Boolean value for isChipCard.
         * @return Builder
         */
        public Builder isChipCard(Boolean isChipCard) {
            this.isChipCard = isChipCard;
            return this;
        }

        /**
         * Setter for isMagStripCard.
         * @param  isMagStripCard  Boolean value for isMagStripCard.
         * @return Builder
         */
        public Builder isMagStripCard(Boolean isMagStripCard) {
            this.isMagStripCard = isMagStripCard;
            return this;
        }

        /**
         * Setter for isVirtualCard.
         * @param  isVirtualCard  Boolean value for isVirtualCard.
         * @return Builder
         */
        public Builder isVirtualCard(Boolean isVirtualCard) {
            this.isVirtualCard = isVirtualCard;
            return this;
        }

        /**
         * Setter for purchaseCategoryCode.
         * @param  purchaseCategoryCode  String value for purchaseCategoryCode.
         * @return Builder
         */
        public Builder purchaseCategoryCode(String purchaseCategoryCode) {
            this.purchaseCategoryCode = OptionalNullable.of(purchaseCategoryCode);
            return this;
        }

        /**
         * UnSetter for purchaseCategoryCode.
         * @return Builder
         */
        public Builder unsetPurchaseCategoryCode() {
            purchaseCategoryCode = null;
            return this;
        }

        /**
         * Setter for purchaseCategoryId.
         * @param  purchaseCategoryId  Integer value for purchaseCategoryId.
         * @return Builder
         */
        public Builder purchaseCategoryId(Integer purchaseCategoryId) {
            this.purchaseCategoryId = purchaseCategoryId;
            return this;
        }

        /**
         * Setter for purchaseCategoryName.
         * @param  purchaseCategoryName  String value for purchaseCategoryName.
         * @return Builder
         */
        public Builder purchaseCategoryName(String purchaseCategoryName) {
            this.purchaseCategoryName = OptionalNullable.of(purchaseCategoryName);
            return this;
        }

        /**
         * UnSetter for purchaseCategoryName.
         * @return Builder
         */
        public Builder unsetPurchaseCategoryName() {
            purchaseCategoryName = null;
            return this;
        }

        /**
         * Setter for isCRT.
         * @param  isCRT  Boolean value for isCRT.
         * @return Builder
         */
        public Builder isCRT(Boolean isCRT) {
            this.isCRT = isCRT;
            return this;
        }

        /**
         * Setter for isFleet.
         * @param  isFleet  Boolean value for isFleet.
         * @return Builder
         */
        public Builder isFleet(Boolean isFleet) {
            this.isFleet = isFleet;
            return this;
        }

        /**
         * Setter for isInternational.
         * @param  isInternational  Boolean value for isInternational.
         * @return Builder
         */
        public Builder isInternational(Boolean isInternational) {
            this.isInternational = isInternational;
            return this;
        }

        /**
         * Setter for isNational.
         * @param  isNational  Boolean value for isNational.
         * @return Builder
         */
        public Builder isNational(Boolean isNational) {
            this.isNational = isNational;
            return this;
        }

        /**
         * Setter for isPartnerSitesIncluded.
         * @param  isPartnerSitesIncluded  Boolean value for isPartnerSitesIncluded.
         * @return Builder
         */
        public Builder isPartnerSitesIncluded(Boolean isPartnerSitesIncluded) {
            this.isPartnerSitesIncluded = isPartnerSitesIncluded;
            return this;
        }

        /**
         * Setter for isShellSitesOnly.
         * @param  isShellSitesOnly  Boolean value for isShellSitesOnly.
         * @return Builder
         */
        public Builder isShellSitesOnly(Boolean isShellSitesOnly) {
            this.isShellSitesOnly = isShellSitesOnly;
            return this;
        }

        /**
         * Setter for fuelSets.
         * @param  fuelSets  List of CardDetailsResponseFuelSetsItems value for fuelSets.
         * @return Builder
         */
        public Builder fuelSets(List fuelSets) {
            this.fuelSets = fuelSets;
            return this;
        }

        /**
         * Setter for nonFuelSets.
         * @param  nonFuelSets  List of CardDetailsResponseNonFuelSetsItems value for nonFuelSets.
         * @return Builder
         */
        public Builder nonFuelSets(List nonFuelSets) {
            this.nonFuelSets = nonFuelSets;
            return this;
        }

        /**
         * Setter for issuedDate.
         * @param  issuedDate  String value for issuedDate.
         * @return Builder
         */
        public Builder issuedDate(String issuedDate) {
            this.issuedDate = OptionalNullable.of(issuedDate);
            return this;
        }

        /**
         * UnSetter for issuedDate.
         * @return Builder
         */
        public Builder unsetIssuedDate() {
            issuedDate = null;
            return this;
        }

        /**
         * Setter for expiryDate.
         * @param  expiryDate  String value for expiryDate.
         * @return Builder
         */
        public Builder expiryDate(String expiryDate) {
            this.expiryDate = expiryDate;
            return this;
        }

        /**
         * Setter for lastUsedDate.
         * @param  lastUsedDate  String value for lastUsedDate.
         * @return Builder
         */
        public Builder lastUsedDate(String lastUsedDate) {
            this.lastUsedDate = OptionalNullable.of(lastUsedDate);
            return this;
        }

        /**
         * UnSetter for lastUsedDate.
         * @return Builder
         */
        public Builder unsetLastUsedDate() {
            lastUsedDate = null;
            return this;
        }

        /**
         * Setter for misuseDate.
         * @param  misuseDate  String value for misuseDate.
         * @return Builder
         */
        public Builder misuseDate(String misuseDate) {
            this.misuseDate = OptionalNullable.of(misuseDate);
            return this;
        }

        /**
         * UnSetter for misuseDate.
         * @return Builder
         */
        public Builder unsetMisuseDate() {
            misuseDate = null;
            return this;
        }

        /**
         * Setter for temperature.
         * @param  temperature  String value for temperature.
         * @return Builder
         */
        public Builder temperature(String temperature) {
            this.temperature = OptionalNullable.of(temperature);
            return this;
        }

        /**
         * UnSetter for temperature.
         * @return Builder
         */
        public Builder unsetTemperature() {
            temperature = null;
            return this;
        }

        /**
         * Setter for driverName.
         * @param  driverName  String value for driverName.
         * @return Builder
         */
        public Builder driverName(String driverName) {
            this.driverName = driverName;
            return this;
        }

        /**
         * Setter for vRN.
         * @param  vRN  String value for vRN.
         * @return Builder
         */
        public Builder vRN(String vRN) {
            this.vRN = vRN;
            return this;
        }

        /**
         * Setter for embossText.
         * @param  embossText  String value for embossText.
         * @return Builder
         */
        public Builder embossText(String embossText) {
            this.embossText = embossText;
            return this;
        }

        /**
         * Setter for cardGroupId.
         * @param  cardGroupId  Integer value for cardGroupId.
         * @return Builder
         */
        public Builder cardGroupId(Integer cardGroupId) {
            this.cardGroupId = OptionalNullable.of(cardGroupId);
            return this;
        }

        /**
         * UnSetter for cardGroupId.
         * @return Builder
         */
        public Builder unsetCardGroupId() {
            cardGroupId = null;
            return this;
        }

        /**
         * Setter for cardGroupName.
         * @param  cardGroupName  String value for cardGroupName.
         * @return Builder
         */
        public Builder cardGroupName(String cardGroupName) {
            this.cardGroupName = OptionalNullable.of(cardGroupName);
            return this;
        }

        /**
         * UnSetter for cardGroupName.
         * @return Builder
         */
        public Builder unsetCardGroupName() {
            cardGroupName = null;
            return this;
        }

        /**
         * Setter for renewalDate.
         * @param  renewalDate  String value for renewalDate.
         * @return Builder
         */
        public Builder renewalDate(String renewalDate) {
            this.renewalDate = OptionalNullable.of(renewalDate);
            return this;
        }

        /**
         * UnSetter for renewalDate.
         * @return Builder
         */
        public Builder unsetRenewalDate() {
            renewalDate = null;
            return this;
        }

        /**
         * Setter for renewedCardId.
         * @param  renewedCardId  Integer value for renewedCardId.
         * @return Builder
         */
        public Builder renewedCardId(Integer renewedCardId) {
            this.renewedCardId = OptionalNullable.of(renewedCardId);
            return this;
        }

        /**
         * UnSetter for renewedCardId.
         * @return Builder
         */
        public Builder unsetRenewedCardId() {
            renewedCardId = null;
            return this;
        }

        /**
         * Setter for renewedCardStatusId.
         * @param  renewedCardStatusId  Integer value for renewedCardStatusId.
         * @return Builder
         */
        public Builder renewedCardStatusId(Integer renewedCardStatusId) {
            this.renewedCardStatusId = OptionalNullable.of(renewedCardStatusId);
            return this;
        }

        /**
         * UnSetter for renewedCardStatusId.
         * @return Builder
         */
        public Builder unsetRenewedCardStatusId() {
            renewedCardStatusId = null;
            return this;
        }

        /**
         * Setter for renewedCardStatus.
         * @param  renewedCardStatus  String value for renewedCardStatus.
         * @return Builder
         */
        public Builder renewedCardStatus(String renewedCardStatus) {
            this.renewedCardStatus = renewedCardStatus;
            return this;
        }

        /**
         * Setter for renewedCardExpiryDate.
         * @param  renewedCardExpiryDate  String value for renewedCardExpiryDate.
         * @return Builder
         */
        public Builder renewedCardExpiryDate(String renewedCardExpiryDate) {
            this.renewedCardExpiryDate = renewedCardExpiryDate;
            return this;
        }

        /**
         * Setter for renewedCardIssueNumber.
         * @param  renewedCardIssueNumber  Integer value for renewedCardIssueNumber.
         * @return Builder
         */
        public Builder renewedCardIssueNumber(Integer renewedCardIssueNumber) {
            this.renewedCardIssueNumber = OptionalNullable.of(renewedCardIssueNumber);
            return this;
        }

        /**
         * UnSetter for renewedCardIssueNumber.
         * @return Builder
         */
        public Builder unsetRenewedCardIssueNumber() {
            renewedCardIssueNumber = null;
            return this;
        }

        /**
         * Setter for renewedCardReissueSetting.
         * @param  renewedCardReissueSetting  CardDetailsResponseRenewedCardReissueSettingEnum value
         *         for renewedCardReissueSetting.
         * @return Builder
         */
        public Builder renewedCardReissueSetting(
                CardDetailsResponseRenewedCardReissueSettingEnum renewedCardReissueSetting) {
            this.renewedCardReissueSetting = renewedCardReissueSetting;
            return this;
        }

        /**
         * Setter for creationDate.
         * @param  creationDate  String value for creationDate.
         * @return Builder
         */
        public Builder creationDate(String creationDate) {
            this.creationDate = OptionalNullable.of(creationDate);
            return this;
        }

        /**
         * UnSetter for creationDate.
         * @return Builder
         */
        public Builder unsetCreationDate() {
            creationDate = null;
            return this;
        }

        /**
         * Setter for effectiveDate.
         * @param  effectiveDate  String value for effectiveDate.
         * @return Builder
         */
        public Builder effectiveDate(String effectiveDate) {
            this.effectiveDate = OptionalNullable.of(effectiveDate);
            return this;
        }

        /**
         * UnSetter for effectiveDate.
         * @return Builder
         */
        public Builder unsetEffectiveDate() {
            effectiveDate = null;
            return this;
        }

        /**
         * Setter for lastModifiedDate.
         * @param  lastModifiedDate  String value for lastModifiedDate.
         * @return Builder
         */
        public Builder lastModifiedDate(String lastModifiedDate) {
            this.lastModifiedDate = OptionalNullable.of(lastModifiedDate);
            return this;
        }

        /**
         * UnSetter for lastModifiedDate.
         * @return Builder
         */
        public Builder unsetLastModifiedDate() {
            lastModifiedDate = null;
            return this;
        }

        /**
         * Setter for bundleId.
         * @param  bundleId  String value for bundleId.
         * @return Builder
         */
        public Builder bundleId(String bundleId) {
            this.bundleId = OptionalNullable.of(bundleId);
            return this;
        }

        /**
         * UnSetter for bundleId.
         * @return Builder
         */
        public Builder unsetBundleId() {
            bundleId = null;
            return this;
        }

        /**
         * Setter for cardDeliveryAddress.
         * @param  cardDeliveryAddress  CardDeliveryAddress value for cardDeliveryAddress.
         * @return Builder
         */
        public Builder cardDeliveryAddress(CardDeliveryAddress cardDeliveryAddress) {
            this.cardDeliveryAddress = cardDeliveryAddress;
            return this;
        }

        /**
         * Setter for pINDeliveryAddress.
         * @param  pINDeliveryAddress  PINDeliveryAddress value for pINDeliveryAddress.
         * @return Builder
         */
        public Builder pINDeliveryAddress(PINDeliveryAddress pINDeliveryAddress) {
            this.pINDeliveryAddress = pINDeliveryAddress;
            return this;
        }

        /**
         * Setter for cardBlockSchedules.
         * @param  cardBlockSchedules  List of CardDetailsResponseCardBlockSchedulesItemsAllOf0
         *         value for cardBlockSchedules.
         * @return Builder
         */
        public Builder cardBlockSchedules(
                List cardBlockSchedules) {
            this.cardBlockSchedules = OptionalNullable.of(cardBlockSchedules);
            return this;
        }

        /**
         * UnSetter for cardBlockSchedules.
         * @return Builder
         */
        public Builder unsetCardBlockSchedules() {
            cardBlockSchedules = null;
            return this;
        }

        /**
         * Setter for error.
         * @param  error  ErrorStatus value for error.
         * @return Builder
         */
        public Builder error(ErrorStatus error) {
            this.error = error;
            return this;
        }

        /**
         * Setter for requestId.
         * @param  requestId  String value for requestId.
         * @return Builder
         */
        public Builder requestId(String requestId) {
            this.requestId = requestId;
            return this;
        }

        /**
         * Builds a new {@link CardDetailsResponse} object using the set fields.
         * @return {@link CardDetailsResponse}
         */
        public CardDetailsResponse build() {
            return new CardDetailsResponse(payerId, payerNumber, accountId, accountNumber,
                    accountShortName, colCoCountryCode, localCurrencyCode, localCurrencySymbol,
                    cardId, pAN, statusId, status, odometerPrompt, fleetIdPrompt, pINType, hasPIN,
                    isSelfSelectedPIN, temporaryBlockAllowed, unblockAllowed, permanentBlockAllowed,
                    issueNumber, reissueSetting, internationalPOSLanguageID,
                    internationalPOSLanguageCode, localPOSLanguageID, localPOSLanguageCode,
                    cardTypeCode, cardTypeId, cardTypeName, tokenTypeId, tokenTypeName, isChipCard,
                    isMagStripCard, isVirtualCard, purchaseCategoryCode, purchaseCategoryId,
                    purchaseCategoryName, isCRT, isFleet, isInternational, isNational,
                    isPartnerSitesIncluded, isShellSitesOnly, fuelSets, nonFuelSets, issuedDate,
                    expiryDate, lastUsedDate, misuseDate, temperature, driverName, vRN, embossText,
                    cardGroupId, cardGroupName, renewalDate, renewedCardId, renewedCardStatusId,
                    renewedCardStatus, renewedCardExpiryDate, renewedCardIssueNumber,
                    renewedCardReissueSetting, creationDate, effectiveDate, lastModifiedDate,
                    bundleId, cardDeliveryAddress, pINDeliveryAddress, cardBlockSchedules, error,
                    requestId);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy