<?php

namespace patest\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Ticketing.SeatingPlanCapacityCounters StructType
 * @subpackage Structs
 */
class Ticketing_SeatingPlanCapacityCounters extends AnyEntity
{
    /**
     * The AvailableForUserCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $AvailableForUserCount;
    /**
     * The Capacity
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $Capacity;
    /**
     * The ForResaleCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $ForResaleCount;
    /**
     * The FreeCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $FreeCount;
    /**
     * The HeldForSubscribersCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $HeldForSubscribersCount;
    /**
     * The LockedCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $LockedCount;
    /**
     * The NotOccupiedCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $NotOccupiedCount;
    /**
     * The OccupiedByPeersCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $OccupiedByPeersCount;
    /**
     * The OccupiedCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $OccupiedCount;
    /**
     * The PendingResaleMDCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $PendingResaleMDCount;
    /**
     * The PendingTransfersMDCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $PendingTransfersMDCount;
    /**
     * The ReservedCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $ReservedCount;
    /**
     * The ResoldMDCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $ResoldMDCount;
    /**
     * The SoldCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $SoldCount;
    /**
     * The TemporarilyHeldCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $TemporarilyHeldCount;
    /**
     * The TransferredMDCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $TransferredMDCount;
    /**
     * Constructor method for Ticketing.SeatingPlanCapacityCounters
     * @uses Ticketing_SeatingPlanCapacityCounters::setAvailableForUserCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setCapacity()
     * @uses Ticketing_SeatingPlanCapacityCounters::setForResaleCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setFreeCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setHeldForSubscribersCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setLockedCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setNotOccupiedCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setOccupiedByPeersCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setOccupiedCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setPendingResaleMDCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setPendingTransfersMDCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setReservedCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setResoldMDCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setSoldCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setTemporarilyHeldCount()
     * @uses Ticketing_SeatingPlanCapacityCounters::setTransferredMDCount()
     * @param int $availableForUserCount
     * @param int $capacity
     * @param int $forResaleCount
     * @param int $freeCount
     * @param int $heldForSubscribersCount
     * @param int $lockedCount
     * @param int $notOccupiedCount
     * @param int $occupiedByPeersCount
     * @param int $occupiedCount
     * @param int $pendingResaleMDCount
     * @param int $pendingTransfersMDCount
     * @param int $reservedCount
     * @param int $resoldMDCount
     * @param int $soldCount
     * @param int $temporarilyHeldCount
     * @param int $transferredMDCount
     */
    public function __construct($availableForUserCount = null, $capacity = null, $forResaleCount = null, $freeCount = null, $heldForSubscribersCount = null, $lockedCount = null, $notOccupiedCount = null, $occupiedByPeersCount = null, $occupiedCount = null, $pendingResaleMDCount = null, $pendingTransfersMDCount = null, $reservedCount = null, $resoldMDCount = null, $soldCount = null, $temporarilyHeldCount = null, $transferredMDCount = null)
    {
        $this
            ->setAvailableForUserCount($availableForUserCount)
            ->setCapacity($capacity)
            ->setForResaleCount($forResaleCount)
            ->setFreeCount($freeCount)
            ->setHeldForSubscribersCount($heldForSubscribersCount)
            ->setLockedCount($lockedCount)
            ->setNotOccupiedCount($notOccupiedCount)
            ->setOccupiedByPeersCount($occupiedByPeersCount)
            ->setOccupiedCount($occupiedCount)
            ->setPendingResaleMDCount($pendingResaleMDCount)
            ->setPendingTransfersMDCount($pendingTransfersMDCount)
            ->setReservedCount($reservedCount)
            ->setResoldMDCount($resoldMDCount)
            ->setSoldCount($soldCount)
            ->setTemporarilyHeldCount($temporarilyHeldCount)
            ->setTransferredMDCount($transferredMDCount);
    }
    /**
     * Get AvailableForUserCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getAvailableForUserCount()
    {
        return isset($this->AvailableForUserCount) ? $this->AvailableForUserCount : null;
    }
    /**
     * Set AvailableForUserCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $availableForUserCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setAvailableForUserCount($availableForUserCount = null)
    {
        // validation for constraint: int
        if (!is_null($availableForUserCount) && !(is_int($availableForUserCount) || ctype_digit($availableForUserCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($availableForUserCount, true), gettype($availableForUserCount)), __LINE__);
        }
        if (is_null($availableForUserCount) || (is_array($availableForUserCount) && empty($availableForUserCount))) {
            unset($this->AvailableForUserCount);
        } else {
            $this->AvailableForUserCount = $availableForUserCount;
        }
        return $this;
    }
    /**
     * Get Capacity value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getCapacity()
    {
        return isset($this->Capacity) ? $this->Capacity : null;
    }
    /**
     * Set Capacity value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $capacity
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setCapacity($capacity = null)
    {
        // validation for constraint: int
        if (!is_null($capacity) && !(is_int($capacity) || ctype_digit($capacity))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($capacity, true), gettype($capacity)), __LINE__);
        }
        if (is_null($capacity) || (is_array($capacity) && empty($capacity))) {
            unset($this->Capacity);
        } else {
            $this->Capacity = $capacity;
        }
        return $this;
    }
    /**
     * Get ForResaleCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getForResaleCount()
    {
        return isset($this->ForResaleCount) ? $this->ForResaleCount : null;
    }
    /**
     * Set ForResaleCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $forResaleCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setForResaleCount($forResaleCount = null)
    {
        // validation for constraint: int
        if (!is_null($forResaleCount) && !(is_int($forResaleCount) || ctype_digit($forResaleCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($forResaleCount, true), gettype($forResaleCount)), __LINE__);
        }
        if (is_null($forResaleCount) || (is_array($forResaleCount) && empty($forResaleCount))) {
            unset($this->ForResaleCount);
        } else {
            $this->ForResaleCount = $forResaleCount;
        }
        return $this;
    }
    /**
     * Get FreeCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getFreeCount()
    {
        return isset($this->FreeCount) ? $this->FreeCount : null;
    }
    /**
     * Set FreeCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $freeCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setFreeCount($freeCount = null)
    {
        // validation for constraint: int
        if (!is_null($freeCount) && !(is_int($freeCount) || ctype_digit($freeCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($freeCount, true), gettype($freeCount)), __LINE__);
        }
        if (is_null($freeCount) || (is_array($freeCount) && empty($freeCount))) {
            unset($this->FreeCount);
        } else {
            $this->FreeCount = $freeCount;
        }
        return $this;
    }
    /**
     * Get HeldForSubscribersCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getHeldForSubscribersCount()
    {
        return isset($this->HeldForSubscribersCount) ? $this->HeldForSubscribersCount : null;
    }
    /**
     * Set HeldForSubscribersCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $heldForSubscribersCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setHeldForSubscribersCount($heldForSubscribersCount = null)
    {
        // validation for constraint: int
        if (!is_null($heldForSubscribersCount) && !(is_int($heldForSubscribersCount) || ctype_digit($heldForSubscribersCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($heldForSubscribersCount, true), gettype($heldForSubscribersCount)), __LINE__);
        }
        if (is_null($heldForSubscribersCount) || (is_array($heldForSubscribersCount) && empty($heldForSubscribersCount))) {
            unset($this->HeldForSubscribersCount);
        } else {
            $this->HeldForSubscribersCount = $heldForSubscribersCount;
        }
        return $this;
    }
    /**
     * Get LockedCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getLockedCount()
    {
        return isset($this->LockedCount) ? $this->LockedCount : null;
    }
    /**
     * Set LockedCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $lockedCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setLockedCount($lockedCount = null)
    {
        // validation for constraint: int
        if (!is_null($lockedCount) && !(is_int($lockedCount) || ctype_digit($lockedCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($lockedCount, true), gettype($lockedCount)), __LINE__);
        }
        if (is_null($lockedCount) || (is_array($lockedCount) && empty($lockedCount))) {
            unset($this->LockedCount);
        } else {
            $this->LockedCount = $lockedCount;
        }
        return $this;
    }
    /**
     * Get NotOccupiedCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getNotOccupiedCount()
    {
        return isset($this->NotOccupiedCount) ? $this->NotOccupiedCount : null;
    }
    /**
     * Set NotOccupiedCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $notOccupiedCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setNotOccupiedCount($notOccupiedCount = null)
    {
        // validation for constraint: int
        if (!is_null($notOccupiedCount) && !(is_int($notOccupiedCount) || ctype_digit($notOccupiedCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($notOccupiedCount, true), gettype($notOccupiedCount)), __LINE__);
        }
        if (is_null($notOccupiedCount) || (is_array($notOccupiedCount) && empty($notOccupiedCount))) {
            unset($this->NotOccupiedCount);
        } else {
            $this->NotOccupiedCount = $notOccupiedCount;
        }
        return $this;
    }
    /**
     * Get OccupiedByPeersCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getOccupiedByPeersCount()
    {
        return isset($this->OccupiedByPeersCount) ? $this->OccupiedByPeersCount : null;
    }
    /**
     * Set OccupiedByPeersCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $occupiedByPeersCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setOccupiedByPeersCount($occupiedByPeersCount = null)
    {
        // validation for constraint: int
        if (!is_null($occupiedByPeersCount) && !(is_int($occupiedByPeersCount) || ctype_digit($occupiedByPeersCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($occupiedByPeersCount, true), gettype($occupiedByPeersCount)), __LINE__);
        }
        if (is_null($occupiedByPeersCount) || (is_array($occupiedByPeersCount) && empty($occupiedByPeersCount))) {
            unset($this->OccupiedByPeersCount);
        } else {
            $this->OccupiedByPeersCount = $occupiedByPeersCount;
        }
        return $this;
    }
    /**
     * Get OccupiedCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getOccupiedCount()
    {
        return isset($this->OccupiedCount) ? $this->OccupiedCount : null;
    }
    /**
     * Set OccupiedCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $occupiedCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setOccupiedCount($occupiedCount = null)
    {
        // validation for constraint: int
        if (!is_null($occupiedCount) && !(is_int($occupiedCount) || ctype_digit($occupiedCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($occupiedCount, true), gettype($occupiedCount)), __LINE__);
        }
        if (is_null($occupiedCount) || (is_array($occupiedCount) && empty($occupiedCount))) {
            unset($this->OccupiedCount);
        } else {
            $this->OccupiedCount = $occupiedCount;
        }
        return $this;
    }
    /**
     * Get PendingResaleMDCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getPendingResaleMDCount()
    {
        return isset($this->PendingResaleMDCount) ? $this->PendingResaleMDCount : null;
    }
    /**
     * Set PendingResaleMDCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $pendingResaleMDCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setPendingResaleMDCount($pendingResaleMDCount = null)
    {
        // validation for constraint: int
        if (!is_null($pendingResaleMDCount) && !(is_int($pendingResaleMDCount) || ctype_digit($pendingResaleMDCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($pendingResaleMDCount, true), gettype($pendingResaleMDCount)), __LINE__);
        }
        if (is_null($pendingResaleMDCount) || (is_array($pendingResaleMDCount) && empty($pendingResaleMDCount))) {
            unset($this->PendingResaleMDCount);
        } else {
            $this->PendingResaleMDCount = $pendingResaleMDCount;
        }
        return $this;
    }
    /**
     * Get PendingTransfersMDCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getPendingTransfersMDCount()
    {
        return isset($this->PendingTransfersMDCount) ? $this->PendingTransfersMDCount : null;
    }
    /**
     * Set PendingTransfersMDCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $pendingTransfersMDCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setPendingTransfersMDCount($pendingTransfersMDCount = null)
    {
        // validation for constraint: int
        if (!is_null($pendingTransfersMDCount) && !(is_int($pendingTransfersMDCount) || ctype_digit($pendingTransfersMDCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($pendingTransfersMDCount, true), gettype($pendingTransfersMDCount)), __LINE__);
        }
        if (is_null($pendingTransfersMDCount) || (is_array($pendingTransfersMDCount) && empty($pendingTransfersMDCount))) {
            unset($this->PendingTransfersMDCount);
        } else {
            $this->PendingTransfersMDCount = $pendingTransfersMDCount;
        }
        return $this;
    }
    /**
     * Get ReservedCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getReservedCount()
    {
        return isset($this->ReservedCount) ? $this->ReservedCount : null;
    }
    /**
     * Set ReservedCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $reservedCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setReservedCount($reservedCount = null)
    {
        // validation for constraint: int
        if (!is_null($reservedCount) && !(is_int($reservedCount) || ctype_digit($reservedCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($reservedCount, true), gettype($reservedCount)), __LINE__);
        }
        if (is_null($reservedCount) || (is_array($reservedCount) && empty($reservedCount))) {
            unset($this->ReservedCount);
        } else {
            $this->ReservedCount = $reservedCount;
        }
        return $this;
    }
    /**
     * Get ResoldMDCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getResoldMDCount()
    {
        return isset($this->ResoldMDCount) ? $this->ResoldMDCount : null;
    }
    /**
     * Set ResoldMDCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $resoldMDCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setResoldMDCount($resoldMDCount = null)
    {
        // validation for constraint: int
        if (!is_null($resoldMDCount) && !(is_int($resoldMDCount) || ctype_digit($resoldMDCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($resoldMDCount, true), gettype($resoldMDCount)), __LINE__);
        }
        if (is_null($resoldMDCount) || (is_array($resoldMDCount) && empty($resoldMDCount))) {
            unset($this->ResoldMDCount);
        } else {
            $this->ResoldMDCount = $resoldMDCount;
        }
        return $this;
    }
    /**
     * Get SoldCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getSoldCount()
    {
        return isset($this->SoldCount) ? $this->SoldCount : null;
    }
    /**
     * Set SoldCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $soldCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setSoldCount($soldCount = null)
    {
        // validation for constraint: int
        if (!is_null($soldCount) && !(is_int($soldCount) || ctype_digit($soldCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($soldCount, true), gettype($soldCount)), __LINE__);
        }
        if (is_null($soldCount) || (is_array($soldCount) && empty($soldCount))) {
            unset($this->SoldCount);
        } else {
            $this->SoldCount = $soldCount;
        }
        return $this;
    }
    /**
     * Get TemporarilyHeldCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getTemporarilyHeldCount()
    {
        return isset($this->TemporarilyHeldCount) ? $this->TemporarilyHeldCount : null;
    }
    /**
     * Set TemporarilyHeldCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $temporarilyHeldCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setTemporarilyHeldCount($temporarilyHeldCount = null)
    {
        // validation for constraint: int
        if (!is_null($temporarilyHeldCount) && !(is_int($temporarilyHeldCount) || ctype_digit($temporarilyHeldCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($temporarilyHeldCount, true), gettype($temporarilyHeldCount)), __LINE__);
        }
        if (is_null($temporarilyHeldCount) || (is_array($temporarilyHeldCount) && empty($temporarilyHeldCount))) {
            unset($this->TemporarilyHeldCount);
        } else {
            $this->TemporarilyHeldCount = $temporarilyHeldCount;
        }
        return $this;
    }
    /**
     * Get TransferredMDCount value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getTransferredMDCount()
    {
        return isset($this->TransferredMDCount) ? $this->TransferredMDCount : null;
    }
    /**
     * Set TransferredMDCount value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $transferredMDCount
     * @return \patest\StructType\Ticketing_SeatingPlanCapacityCounters
     */
    public function setTransferredMDCount($transferredMDCount = null)
    {
        // validation for constraint: int
        if (!is_null($transferredMDCount) && !(is_int($transferredMDCount) || ctype_digit($transferredMDCount))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($transferredMDCount, true), gettype($transferredMDCount)), __LINE__);
        }
        if (is_null($transferredMDCount) || (is_array($transferredMDCount) && empty($transferredMDCount))) {
            unset($this->TransferredMDCount);
        } else {
            $this->TransferredMDCount = $transferredMDCount;
        }
        return $this;
    }
}
