<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for PaymentOptionSearchBasic StructType
 * @subpackage Structs
 */
class PaymentOptionSearchBasic extends SearchRecordBasic
{
    /**
     * The internalId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $internalId;
    /**
     * The internalIdNumber
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchLongField
     */
    public $internalIdNumber;
    /**
     * The paymentInstrumentType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $paymentInstrumentType;
    /**
     * Constructor method for PaymentOptionSearchBasic
     * @uses PaymentOptionSearchBasic::setInternalId()
     * @uses PaymentOptionSearchBasic::setInternalIdNumber()
     * @uses PaymentOptionSearchBasic::setPaymentInstrumentType()
     * @param \StructType\SearchMultiSelectField $internalId
     * @param \StructType\SearchLongField $internalIdNumber
     * @param \StructType\SearchEnumMultiSelectField $paymentInstrumentType
     */
    public function __construct(\StructType\SearchMultiSelectField $internalId = null, \StructType\SearchLongField $internalIdNumber = null, \StructType\SearchEnumMultiSelectField $paymentInstrumentType = null)
    {
        $this
            ->setInternalId($internalId)
            ->setInternalIdNumber($internalIdNumber)
            ->setPaymentInstrumentType($paymentInstrumentType);
    }
    /**
     * Get internalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getInternalId()
    {
        return $this->internalId;
    }
    /**
     * Set internalId value
     * @param \StructType\SearchMultiSelectField $internalId
     * @return \StructType\PaymentOptionSearchBasic
     */
    public function setInternalId(\StructType\SearchMultiSelectField $internalId = null)
    {
        $this->internalId = $internalId;
        return $this;
    }
    /**
     * Get internalIdNumber value
     * @return \StructType\SearchLongField|null
     */
    public function getInternalIdNumber()
    {
        return $this->internalIdNumber;
    }
    /**
     * Set internalIdNumber value
     * @param \StructType\SearchLongField $internalIdNumber
     * @return \StructType\PaymentOptionSearchBasic
     */
    public function setInternalIdNumber(\StructType\SearchLongField $internalIdNumber = null)
    {
        $this->internalIdNumber = $internalIdNumber;
        return $this;
    }
    /**
     * Get paymentInstrumentType value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getPaymentInstrumentType()
    {
        return $this->paymentInstrumentType;
    }
    /**
     * Set paymentInstrumentType value
     * @param \StructType\SearchEnumMultiSelectField $paymentInstrumentType
     * @return \StructType\PaymentOptionSearchBasic
     */
    public function setPaymentInstrumentType(\StructType\SearchEnumMultiSelectField $paymentInstrumentType = null)
    {
        $this->paymentInstrumentType = $paymentInstrumentType;
        return $this;
    }
}
