<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for InventoryNumberBinSearchBasic StructType
 * @subpackage Structs
 */
class InventoryNumberBinSearchBasic extends SearchRecordBasic
{
    /**
     * The binNumber
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $binNumber;
    /**
     * The inventoryNumber
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $inventoryNumber;
    /**
     * The location
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $location;
    /**
     * The quantityAvailable
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $quantityAvailable;
    /**
     * The quantityOnHand
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDoubleField
     */
    public $quantityOnHand;
    /**
     * Constructor method for InventoryNumberBinSearchBasic
     * @uses InventoryNumberBinSearchBasic::setBinNumber()
     * @uses InventoryNumberBinSearchBasic::setInventoryNumber()
     * @uses InventoryNumberBinSearchBasic::setLocation()
     * @uses InventoryNumberBinSearchBasic::setQuantityAvailable()
     * @uses InventoryNumberBinSearchBasic::setQuantityOnHand()
     * @param \StructType\SearchMultiSelectField $binNumber
     * @param \StructType\SearchStringField $inventoryNumber
     * @param \StructType\SearchMultiSelectField $location
     * @param \StructType\SearchDoubleField $quantityAvailable
     * @param \StructType\SearchDoubleField $quantityOnHand
     */
    public function __construct(\StructType\SearchMultiSelectField $binNumber = null, \StructType\SearchStringField $inventoryNumber = null, \StructType\SearchMultiSelectField $location = null, \StructType\SearchDoubleField $quantityAvailable = null, \StructType\SearchDoubleField $quantityOnHand = null)
    {
        $this
            ->setBinNumber($binNumber)
            ->setInventoryNumber($inventoryNumber)
            ->setLocation($location)
            ->setQuantityAvailable($quantityAvailable)
            ->setQuantityOnHand($quantityOnHand);
    }
    /**
     * Get binNumber value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getBinNumber()
    {
        return $this->binNumber;
    }
    /**
     * Set binNumber value
     * @param \StructType\SearchMultiSelectField $binNumber
     * @return \StructType\InventoryNumberBinSearchBasic
     */
    public function setBinNumber(\StructType\SearchMultiSelectField $binNumber = null)
    {
        $this->binNumber = $binNumber;
        return $this;
    }
    /**
     * Get inventoryNumber value
     * @return \StructType\SearchStringField|null
     */
    public function getInventoryNumber()
    {
        return $this->inventoryNumber;
    }
    /**
     * Set inventoryNumber value
     * @param \StructType\SearchStringField $inventoryNumber
     * @return \StructType\InventoryNumberBinSearchBasic
     */
    public function setInventoryNumber(\StructType\SearchStringField $inventoryNumber = null)
    {
        $this->inventoryNumber = $inventoryNumber;
        return $this;
    }
    /**
     * Get location value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getLocation()
    {
        return $this->location;
    }
    /**
     * Set location value
     * @param \StructType\SearchMultiSelectField $location
     * @return \StructType\InventoryNumberBinSearchBasic
     */
    public function setLocation(\StructType\SearchMultiSelectField $location = null)
    {
        $this->location = $location;
        return $this;
    }
    /**
     * Get quantityAvailable value
     * @return \StructType\SearchDoubleField|null
     */
    public function getQuantityAvailable()
    {
        return $this->quantityAvailable;
    }
    /**
     * Set quantityAvailable value
     * @param \StructType\SearchDoubleField $quantityAvailable
     * @return \StructType\InventoryNumberBinSearchBasic
     */
    public function setQuantityAvailable(\StructType\SearchDoubleField $quantityAvailable = null)
    {
        $this->quantityAvailable = $quantityAvailable;
        return $this;
    }
    /**
     * Get quantityOnHand value
     * @return \StructType\SearchDoubleField|null
     */
    public function getQuantityOnHand()
    {
        return $this->quantityOnHand;
    }
    /**
     * Set quantityOnHand value
     * @param \StructType\SearchDoubleField $quantityOnHand
     * @return \StructType\InventoryNumberBinSearchBasic
     */
    public function setQuantityOnHand(\StructType\SearchDoubleField $quantityOnHand = null)
    {
        $this->quantityOnHand = $quantityOnHand;
        return $this;
    }
}
