<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for PricingSearchBasic StructType
 * @subpackage Structs
 */
class PricingSearchBasic extends SearchRecordBasic
{
    /**
     * The assignedPriceLevel
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchBooleanField
     */
    public $assignedPriceLevel;
    /**
     * The currency
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $currency;
    /**
     * The customer
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $customer;
    /**
     * 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 item
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $item;
    /**
     * The maximumQuantity
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $maximumQuantity;
    /**
     * The minimumQuantity
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $minimumQuantity;
    /**
     * The priceLevel
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $priceLevel;
    /**
     * The rate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $rate;
    /**
     * Constructor method for PricingSearchBasic
     * @uses PricingSearchBasic::setAssignedPriceLevel()
     * @uses PricingSearchBasic::setCurrency()
     * @uses PricingSearchBasic::setCustomer()
     * @uses PricingSearchBasic::setInternalId()
     * @uses PricingSearchBasic::setInternalIdNumber()
     * @uses PricingSearchBasic::setItem()
     * @uses PricingSearchBasic::setMaximumQuantity()
     * @uses PricingSearchBasic::setMinimumQuantity()
     * @uses PricingSearchBasic::setPriceLevel()
     * @uses PricingSearchBasic::setRate()
     * @param \StructType\SearchBooleanField $assignedPriceLevel
     * @param \StructType\SearchMultiSelectField $currency
     * @param \StructType\SearchMultiSelectField $customer
     * @param \StructType\SearchMultiSelectField $internalId
     * @param \StructType\SearchLongField $internalIdNumber
     * @param \StructType\SearchMultiSelectField $item
     * @param \StructType\SearchDoubleField $maximumQuantity
     * @param \StructType\SearchDoubleField $minimumQuantity
     * @param \StructType\SearchMultiSelectField $priceLevel
     * @param \StructType\SearchDoubleField $rate
     */
    public function __construct(\StructType\SearchBooleanField $assignedPriceLevel = null, \StructType\SearchMultiSelectField $currency = null, \StructType\SearchMultiSelectField $customer = null, \StructType\SearchMultiSelectField $internalId = null, \StructType\SearchLongField $internalIdNumber = null, \StructType\SearchMultiSelectField $item = null, \StructType\SearchDoubleField $maximumQuantity = null, \StructType\SearchDoubleField $minimumQuantity = null, \StructType\SearchMultiSelectField $priceLevel = null, \StructType\SearchDoubleField $rate = null)
    {
        $this
            ->setAssignedPriceLevel($assignedPriceLevel)
            ->setCurrency($currency)
            ->setCustomer($customer)
            ->setInternalId($internalId)
            ->setInternalIdNumber($internalIdNumber)
            ->setItem($item)
            ->setMaximumQuantity($maximumQuantity)
            ->setMinimumQuantity($minimumQuantity)
            ->setPriceLevel($priceLevel)
            ->setRate($rate);
    }
    /**
     * Get assignedPriceLevel value
     * @return \StructType\SearchBooleanField|null
     */
    public function getAssignedPriceLevel()
    {
        return $this->assignedPriceLevel;
    }
    /**
     * Set assignedPriceLevel value
     * @param \StructType\SearchBooleanField $assignedPriceLevel
     * @return \StructType\PricingSearchBasic
     */
    public function setAssignedPriceLevel(\StructType\SearchBooleanField $assignedPriceLevel = null)
    {
        $this->assignedPriceLevel = $assignedPriceLevel;
        return $this;
    }
    /**
     * Get currency value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getCurrency()
    {
        return $this->currency;
    }
    /**
     * Set currency value
     * @param \StructType\SearchMultiSelectField $currency
     * @return \StructType\PricingSearchBasic
     */
    public function setCurrency(\StructType\SearchMultiSelectField $currency = null)
    {
        $this->currency = $currency;
        return $this;
    }
    /**
     * Get customer value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getCustomer()
    {
        return $this->customer;
    }
    /**
     * Set customer value
     * @param \StructType\SearchMultiSelectField $customer
     * @return \StructType\PricingSearchBasic
     */
    public function setCustomer(\StructType\SearchMultiSelectField $customer = null)
    {
        $this->customer = $customer;
        return $this;
    }
    /**
     * Get internalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getInternalId()
    {
        return $this->internalId;
    }
    /**
     * Set internalId value
     * @param \StructType\SearchMultiSelectField $internalId
     * @return \StructType\PricingSearchBasic
     */
    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\PricingSearchBasic
     */
    public function setInternalIdNumber(\StructType\SearchLongField $internalIdNumber = null)
    {
        $this->internalIdNumber = $internalIdNumber;
        return $this;
    }
    /**
     * Get item value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getItem()
    {
        return $this->item;
    }
    /**
     * Set item value
     * @param \StructType\SearchMultiSelectField $item
     * @return \StructType\PricingSearchBasic
     */
    public function setItem(\StructType\SearchMultiSelectField $item = null)
    {
        $this->item = $item;
        return $this;
    }
    /**
     * Get maximumQuantity value
     * @return \StructType\SearchDoubleField|null
     */
    public function getMaximumQuantity()
    {
        return $this->maximumQuantity;
    }
    /**
     * Set maximumQuantity value
     * @param \StructType\SearchDoubleField $maximumQuantity
     * @return \StructType\PricingSearchBasic
     */
    public function setMaximumQuantity(\StructType\SearchDoubleField $maximumQuantity = null)
    {
        $this->maximumQuantity = $maximumQuantity;
        return $this;
    }
    /**
     * Get minimumQuantity value
     * @return \StructType\SearchDoubleField|null
     */
    public function getMinimumQuantity()
    {
        return $this->minimumQuantity;
    }
    /**
     * Set minimumQuantity value
     * @param \StructType\SearchDoubleField $minimumQuantity
     * @return \StructType\PricingSearchBasic
     */
    public function setMinimumQuantity(\StructType\SearchDoubleField $minimumQuantity = null)
    {
        $this->minimumQuantity = $minimumQuantity;
        return $this;
    }
    /**
     * Get priceLevel value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getPriceLevel()
    {
        return $this->priceLevel;
    }
    /**
     * Set priceLevel value
     * @param \StructType\SearchMultiSelectField $priceLevel
     * @return \StructType\PricingSearchBasic
     */
    public function setPriceLevel(\StructType\SearchMultiSelectField $priceLevel = null)
    {
        $this->priceLevel = $priceLevel;
        return $this;
    }
    /**
     * Get rate value
     * @return \StructType\SearchDoubleField|null
     */
    public function getRate()
    {
        return $this->rate;
    }
    /**
     * Set rate value
     * @param \StructType\SearchDoubleField $rate
     * @return \StructType\PricingSearchBasic
     */
    public function setRate(\StructType\SearchDoubleField $rate = null)
    {
        $this->rate = $rate;
        return $this;
    }
}
