<?php

namespace patest\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for bSRO.Sales.OnGoingBasket StructType
 * @subpackage Structs
 */
class BSRO_Sales_OnGoingBasket extends AnyEntity
{
    /**
     * The Area
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Area;
    /**
     * The Bonus
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $Bonus;
    /**
     * The Comm
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Comm;
    /**
     * The Complimentary
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $Complimentary;
    /**
     * The Details
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Details;
    /**
     * The Disc
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Disc;
    /**
     * The Hall
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Hall;
    /**
     * The InCommission
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $InCommission;
    /**
     * The Insurance
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Insurance;
    /**
     * The Item
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Item;
    /**
     * The Price
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Price;
    /**
     * The PType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $PType;
    /**
     * The Qty
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Qty;
    /**
     * The RegularPrice
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $RegularPrice;
    /**
     * The Reservation
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $Reservation;
    /**
     * The RowName
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $RowName;
    /**
     * The Seat
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Seat;
    /**
     * The SeatInformation
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SeatInformation;
    /**
     * The SeatLocksAndAllocations
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SeatLocksAndAllocations;
    /**
     * The Sector
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Sector;
    /**
     * The SubsidizingOrganization
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SubsidizingOrganization;
    /**
     * The Subsidy
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Subsidy;
    /**
     * The Tax
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Tax;
    /**
     * The TicketIsPartOfSubscription
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $TicketIsPartOfSubscription;
    /**
     * The ToPay
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $ToPay;
    /**
     * The Total
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Total;
    /**
     * The Type
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Type;
    /**
     * Constructor method for bSRO.Sales.OnGoingBasket
     * @uses BSRO_Sales_OnGoingBasket::setArea()
     * @uses BSRO_Sales_OnGoingBasket::setBonus()
     * @uses BSRO_Sales_OnGoingBasket::setComm()
     * @uses BSRO_Sales_OnGoingBasket::setComplimentary()
     * @uses BSRO_Sales_OnGoingBasket::setDetails()
     * @uses BSRO_Sales_OnGoingBasket::setDisc()
     * @uses BSRO_Sales_OnGoingBasket::setHall()
     * @uses BSRO_Sales_OnGoingBasket::setInCommission()
     * @uses BSRO_Sales_OnGoingBasket::setInsurance()
     * @uses BSRO_Sales_OnGoingBasket::setItem()
     * @uses BSRO_Sales_OnGoingBasket::setPrice()
     * @uses BSRO_Sales_OnGoingBasket::setPType()
     * @uses BSRO_Sales_OnGoingBasket::setQty()
     * @uses BSRO_Sales_OnGoingBasket::setRegularPrice()
     * @uses BSRO_Sales_OnGoingBasket::setReservation()
     * @uses BSRO_Sales_OnGoingBasket::setRowName()
     * @uses BSRO_Sales_OnGoingBasket::setSeat()
     * @uses BSRO_Sales_OnGoingBasket::setSeatInformation()
     * @uses BSRO_Sales_OnGoingBasket::setSeatLocksAndAllocations()
     * @uses BSRO_Sales_OnGoingBasket::setSector()
     * @uses BSRO_Sales_OnGoingBasket::setSubsidizingOrganization()
     * @uses BSRO_Sales_OnGoingBasket::setSubsidy()
     * @uses BSRO_Sales_OnGoingBasket::setTax()
     * @uses BSRO_Sales_OnGoingBasket::setTicketIsPartOfSubscription()
     * @uses BSRO_Sales_OnGoingBasket::setToPay()
     * @uses BSRO_Sales_OnGoingBasket::setTotal()
     * @uses BSRO_Sales_OnGoingBasket::setType()
     * @param string $area
     * @param bool $bonus
     * @param float $comm
     * @param bool $complimentary
     * @param string $details
     * @param float $disc
     * @param string $hall
     * @param float $inCommission
     * @param float $insurance
     * @param string $item
     * @param float $price
     * @param float $pType
     * @param float $qty
     * @param float $regularPrice
     * @param bool $reservation
     * @param string $rowName
     * @param string $seat
     * @param string $seatInformation
     * @param string $seatLocksAndAllocations
     * @param string $sector
     * @param string $subsidizingOrganization
     * @param float $subsidy
     * @param float $tax
     * @param bool $ticketIsPartOfSubscription
     * @param float $toPay
     * @param float $total
     * @param string $type
     */
    public function __construct($area = null, $bonus = null, $comm = null, $complimentary = null, $details = null, $disc = null, $hall = null, $inCommission = null, $insurance = null, $item = null, $price = null, $pType = null, $qty = null, $regularPrice = null, $reservation = null, $rowName = null, $seat = null, $seatInformation = null, $seatLocksAndAllocations = null, $sector = null, $subsidizingOrganization = null, $subsidy = null, $tax = null, $ticketIsPartOfSubscription = null, $toPay = null, $total = null, $type = null)
    {
        $this
            ->setArea($area)
            ->setBonus($bonus)
            ->setComm($comm)
            ->setComplimentary($complimentary)
            ->setDetails($details)
            ->setDisc($disc)
            ->setHall($hall)
            ->setInCommission($inCommission)
            ->setInsurance($insurance)
            ->setItem($item)
            ->setPrice($price)
            ->setPType($pType)
            ->setQty($qty)
            ->setRegularPrice($regularPrice)
            ->setReservation($reservation)
            ->setRowName($rowName)
            ->setSeat($seat)
            ->setSeatInformation($seatInformation)
            ->setSeatLocksAndAllocations($seatLocksAndAllocations)
            ->setSector($sector)
            ->setSubsidizingOrganization($subsidizingOrganization)
            ->setSubsidy($subsidy)
            ->setTax($tax)
            ->setTicketIsPartOfSubscription($ticketIsPartOfSubscription)
            ->setToPay($toPay)
            ->setTotal($total)
            ->setType($type);
    }
    /**
     * Get Area 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 string|null
     */
    public function getArea()
    {
        return isset($this->Area) ? $this->Area : null;
    }
    /**
     * Set Area 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 string $area
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setArea($area = null)
    {
        // validation for constraint: string
        if (!is_null($area) && !is_string($area)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($area, true), gettype($area)), __LINE__);
        }
        if (is_null($area) || (is_array($area) && empty($area))) {
            unset($this->Area);
        } else {
            $this->Area = $area;
        }
        return $this;
    }
    /**
     * Get Bonus 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 bool|null
     */
    public function getBonus()
    {
        return isset($this->Bonus) ? $this->Bonus : null;
    }
    /**
     * Set Bonus 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 bool $bonus
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setBonus($bonus = null)
    {
        // validation for constraint: boolean
        if (!is_null($bonus) && !is_bool($bonus)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($bonus, true), gettype($bonus)), __LINE__);
        }
        if (is_null($bonus) || (is_array($bonus) && empty($bonus))) {
            unset($this->Bonus);
        } else {
            $this->Bonus = $bonus;
        }
        return $this;
    }
    /**
     * Get Comm 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 float|null
     */
    public function getComm()
    {
        return isset($this->Comm) ? $this->Comm : null;
    }
    /**
     * Set Comm 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 float $comm
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setComm($comm = null)
    {
        // validation for constraint: float
        if (!is_null($comm) && !(is_float($comm) || is_numeric($comm))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($comm, true), gettype($comm)), __LINE__);
        }
        if (is_null($comm) || (is_array($comm) && empty($comm))) {
            unset($this->Comm);
        } else {
            $this->Comm = $comm;
        }
        return $this;
    }
    /**
     * Get Complimentary 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 bool|null
     */
    public function getComplimentary()
    {
        return isset($this->Complimentary) ? $this->Complimentary : null;
    }
    /**
     * Set Complimentary 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 bool $complimentary
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setComplimentary($complimentary = null)
    {
        // validation for constraint: boolean
        if (!is_null($complimentary) && !is_bool($complimentary)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($complimentary, true), gettype($complimentary)), __LINE__);
        }
        if (is_null($complimentary) || (is_array($complimentary) && empty($complimentary))) {
            unset($this->Complimentary);
        } else {
            $this->Complimentary = $complimentary;
        }
        return $this;
    }
    /**
     * Get Details 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 string|null
     */
    public function getDetails()
    {
        return isset($this->Details) ? $this->Details : null;
    }
    /**
     * Set Details 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 string $details
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setDetails($details = null)
    {
        // validation for constraint: string
        if (!is_null($details) && !is_string($details)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($details, true), gettype($details)), __LINE__);
        }
        if (is_null($details) || (is_array($details) && empty($details))) {
            unset($this->Details);
        } else {
            $this->Details = $details;
        }
        return $this;
    }
    /**
     * Get Disc 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 float|null
     */
    public function getDisc()
    {
        return isset($this->Disc) ? $this->Disc : null;
    }
    /**
     * Set Disc 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 float $disc
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setDisc($disc = null)
    {
        // validation for constraint: float
        if (!is_null($disc) && !(is_float($disc) || is_numeric($disc))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($disc, true), gettype($disc)), __LINE__);
        }
        if (is_null($disc) || (is_array($disc) && empty($disc))) {
            unset($this->Disc);
        } else {
            $this->Disc = $disc;
        }
        return $this;
    }
    /**
     * Get Hall 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 string|null
     */
    public function getHall()
    {
        return isset($this->Hall) ? $this->Hall : null;
    }
    /**
     * Set Hall 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 string $hall
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setHall($hall = null)
    {
        // validation for constraint: string
        if (!is_null($hall) && !is_string($hall)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($hall, true), gettype($hall)), __LINE__);
        }
        if (is_null($hall) || (is_array($hall) && empty($hall))) {
            unset($this->Hall);
        } else {
            $this->Hall = $hall;
        }
        return $this;
    }
    /**
     * Get InCommission 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 float|null
     */
    public function getInCommission()
    {
        return isset($this->InCommission) ? $this->InCommission : null;
    }
    /**
     * Set InCommission 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 float $inCommission
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setInCommission($inCommission = null)
    {
        // validation for constraint: float
        if (!is_null($inCommission) && !(is_float($inCommission) || is_numeric($inCommission))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($inCommission, true), gettype($inCommission)), __LINE__);
        }
        if (is_null($inCommission) || (is_array($inCommission) && empty($inCommission))) {
            unset($this->InCommission);
        } else {
            $this->InCommission = $inCommission;
        }
        return $this;
    }
    /**
     * Get Insurance 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 float|null
     */
    public function getInsurance()
    {
        return isset($this->Insurance) ? $this->Insurance : null;
    }
    /**
     * Set Insurance 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 float $insurance
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setInsurance($insurance = null)
    {
        // validation for constraint: float
        if (!is_null($insurance) && !(is_float($insurance) || is_numeric($insurance))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($insurance, true), gettype($insurance)), __LINE__);
        }
        if (is_null($insurance) || (is_array($insurance) && empty($insurance))) {
            unset($this->Insurance);
        } else {
            $this->Insurance = $insurance;
        }
        return $this;
    }
    /**
     * Get Item 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 string|null
     */
    public function getItem()
    {
        return isset($this->Item) ? $this->Item : null;
    }
    /**
     * Set Item 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 string $item
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setItem($item = null)
    {
        // validation for constraint: string
        if (!is_null($item) && !is_string($item)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($item, true), gettype($item)), __LINE__);
        }
        if (is_null($item) || (is_array($item) && empty($item))) {
            unset($this->Item);
        } else {
            $this->Item = $item;
        }
        return $this;
    }
    /**
     * Get Price 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 float|null
     */
    public function getPrice()
    {
        return isset($this->Price) ? $this->Price : null;
    }
    /**
     * Set Price 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 float $price
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setPrice($price = null)
    {
        // validation for constraint: float
        if (!is_null($price) && !(is_float($price) || is_numeric($price))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($price, true), gettype($price)), __LINE__);
        }
        if (is_null($price) || (is_array($price) && empty($price))) {
            unset($this->Price);
        } else {
            $this->Price = $price;
        }
        return $this;
    }
    /**
     * Get PType 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 float|null
     */
    public function getPType()
    {
        return isset($this->PType) ? $this->PType : null;
    }
    /**
     * Set PType 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 float $pType
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setPType($pType = null)
    {
        // validation for constraint: float
        if (!is_null($pType) && !(is_float($pType) || is_numeric($pType))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($pType, true), gettype($pType)), __LINE__);
        }
        if (is_null($pType) || (is_array($pType) && empty($pType))) {
            unset($this->PType);
        } else {
            $this->PType = $pType;
        }
        return $this;
    }
    /**
     * Get Qty 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 float|null
     */
    public function getQty()
    {
        return isset($this->Qty) ? $this->Qty : null;
    }
    /**
     * Set Qty 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 float $qty
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setQty($qty = null)
    {
        // validation for constraint: float
        if (!is_null($qty) && !(is_float($qty) || is_numeric($qty))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($qty, true), gettype($qty)), __LINE__);
        }
        if (is_null($qty) || (is_array($qty) && empty($qty))) {
            unset($this->Qty);
        } else {
            $this->Qty = $qty;
        }
        return $this;
    }
    /**
     * Get RegularPrice 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 float|null
     */
    public function getRegularPrice()
    {
        return isset($this->RegularPrice) ? $this->RegularPrice : null;
    }
    /**
     * Set RegularPrice 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 float $regularPrice
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setRegularPrice($regularPrice = null)
    {
        // validation for constraint: float
        if (!is_null($regularPrice) && !(is_float($regularPrice) || is_numeric($regularPrice))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($regularPrice, true), gettype($regularPrice)), __LINE__);
        }
        if (is_null($regularPrice) || (is_array($regularPrice) && empty($regularPrice))) {
            unset($this->RegularPrice);
        } else {
            $this->RegularPrice = $regularPrice;
        }
        return $this;
    }
    /**
     * Get Reservation 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 bool|null
     */
    public function getReservation()
    {
        return isset($this->Reservation) ? $this->Reservation : null;
    }
    /**
     * Set Reservation 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 bool $reservation
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setReservation($reservation = null)
    {
        // validation for constraint: boolean
        if (!is_null($reservation) && !is_bool($reservation)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($reservation, true), gettype($reservation)), __LINE__);
        }
        if (is_null($reservation) || (is_array($reservation) && empty($reservation))) {
            unset($this->Reservation);
        } else {
            $this->Reservation = $reservation;
        }
        return $this;
    }
    /**
     * Get RowName 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 string|null
     */
    public function getRowName()
    {
        return isset($this->RowName) ? $this->RowName : null;
    }
    /**
     * Set RowName 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 string $rowName
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setRowName($rowName = null)
    {
        // validation for constraint: string
        if (!is_null($rowName) && !is_string($rowName)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rowName, true), gettype($rowName)), __LINE__);
        }
        if (is_null($rowName) || (is_array($rowName) && empty($rowName))) {
            unset($this->RowName);
        } else {
            $this->RowName = $rowName;
        }
        return $this;
    }
    /**
     * Get Seat 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 string|null
     */
    public function getSeat()
    {
        return isset($this->Seat) ? $this->Seat : null;
    }
    /**
     * Set Seat 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 string $seat
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setSeat($seat = null)
    {
        // validation for constraint: string
        if (!is_null($seat) && !is_string($seat)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($seat, true), gettype($seat)), __LINE__);
        }
        if (is_null($seat) || (is_array($seat) && empty($seat))) {
            unset($this->Seat);
        } else {
            $this->Seat = $seat;
        }
        return $this;
    }
    /**
     * Get SeatInformation 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 string|null
     */
    public function getSeatInformation()
    {
        return isset($this->SeatInformation) ? $this->SeatInformation : null;
    }
    /**
     * Set SeatInformation 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 string $seatInformation
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setSeatInformation($seatInformation = null)
    {
        // validation for constraint: string
        if (!is_null($seatInformation) && !is_string($seatInformation)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($seatInformation, true), gettype($seatInformation)), __LINE__);
        }
        if (is_null($seatInformation) || (is_array($seatInformation) && empty($seatInformation))) {
            unset($this->SeatInformation);
        } else {
            $this->SeatInformation = $seatInformation;
        }
        return $this;
    }
    /**
     * Get SeatLocksAndAllocations 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 string|null
     */
    public function getSeatLocksAndAllocations()
    {
        return isset($this->SeatLocksAndAllocations) ? $this->SeatLocksAndAllocations : null;
    }
    /**
     * Set SeatLocksAndAllocations 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 string $seatLocksAndAllocations
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setSeatLocksAndAllocations($seatLocksAndAllocations = null)
    {
        // validation for constraint: string
        if (!is_null($seatLocksAndAllocations) && !is_string($seatLocksAndAllocations)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($seatLocksAndAllocations, true), gettype($seatLocksAndAllocations)), __LINE__);
        }
        if (is_null($seatLocksAndAllocations) || (is_array($seatLocksAndAllocations) && empty($seatLocksAndAllocations))) {
            unset($this->SeatLocksAndAllocations);
        } else {
            $this->SeatLocksAndAllocations = $seatLocksAndAllocations;
        }
        return $this;
    }
    /**
     * Get Sector 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 string|null
     */
    public function getSector()
    {
        return isset($this->Sector) ? $this->Sector : null;
    }
    /**
     * Set Sector 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 string $sector
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setSector($sector = null)
    {
        // validation for constraint: string
        if (!is_null($sector) && !is_string($sector)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($sector, true), gettype($sector)), __LINE__);
        }
        if (is_null($sector) || (is_array($sector) && empty($sector))) {
            unset($this->Sector);
        } else {
            $this->Sector = $sector;
        }
        return $this;
    }
    /**
     * Get SubsidizingOrganization 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 string|null
     */
    public function getSubsidizingOrganization()
    {
        return isset($this->SubsidizingOrganization) ? $this->SubsidizingOrganization : null;
    }
    /**
     * Set SubsidizingOrganization 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 string $subsidizingOrganization
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setSubsidizingOrganization($subsidizingOrganization = null)
    {
        // validation for constraint: string
        if (!is_null($subsidizingOrganization) && !is_string($subsidizingOrganization)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($subsidizingOrganization, true), gettype($subsidizingOrganization)), __LINE__);
        }
        if (is_null($subsidizingOrganization) || (is_array($subsidizingOrganization) && empty($subsidizingOrganization))) {
            unset($this->SubsidizingOrganization);
        } else {
            $this->SubsidizingOrganization = $subsidizingOrganization;
        }
        return $this;
    }
    /**
     * Get Subsidy 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 float|null
     */
    public function getSubsidy()
    {
        return isset($this->Subsidy) ? $this->Subsidy : null;
    }
    /**
     * Set Subsidy 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 float $subsidy
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setSubsidy($subsidy = null)
    {
        // validation for constraint: float
        if (!is_null($subsidy) && !(is_float($subsidy) || is_numeric($subsidy))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($subsidy, true), gettype($subsidy)), __LINE__);
        }
        if (is_null($subsidy) || (is_array($subsidy) && empty($subsidy))) {
            unset($this->Subsidy);
        } else {
            $this->Subsidy = $subsidy;
        }
        return $this;
    }
    /**
     * Get Tax 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 float|null
     */
    public function getTax()
    {
        return isset($this->Tax) ? $this->Tax : null;
    }
    /**
     * Set Tax 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 float $tax
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setTax($tax = null)
    {
        // validation for constraint: float
        if (!is_null($tax) && !(is_float($tax) || is_numeric($tax))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($tax, true), gettype($tax)), __LINE__);
        }
        if (is_null($tax) || (is_array($tax) && empty($tax))) {
            unset($this->Tax);
        } else {
            $this->Tax = $tax;
        }
        return $this;
    }
    /**
     * Get TicketIsPartOfSubscription 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 bool|null
     */
    public function getTicketIsPartOfSubscription()
    {
        return isset($this->TicketIsPartOfSubscription) ? $this->TicketIsPartOfSubscription : null;
    }
    /**
     * Set TicketIsPartOfSubscription 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 bool $ticketIsPartOfSubscription
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setTicketIsPartOfSubscription($ticketIsPartOfSubscription = null)
    {
        // validation for constraint: boolean
        if (!is_null($ticketIsPartOfSubscription) && !is_bool($ticketIsPartOfSubscription)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($ticketIsPartOfSubscription, true), gettype($ticketIsPartOfSubscription)), __LINE__);
        }
        if (is_null($ticketIsPartOfSubscription) || (is_array($ticketIsPartOfSubscription) && empty($ticketIsPartOfSubscription))) {
            unset($this->TicketIsPartOfSubscription);
        } else {
            $this->TicketIsPartOfSubscription = $ticketIsPartOfSubscription;
        }
        return $this;
    }
    /**
     * Get ToPay 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 float|null
     */
    public function getToPay()
    {
        return isset($this->ToPay) ? $this->ToPay : null;
    }
    /**
     * Set ToPay 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 float $toPay
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setToPay($toPay = null)
    {
        // validation for constraint: float
        if (!is_null($toPay) && !(is_float($toPay) || is_numeric($toPay))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($toPay, true), gettype($toPay)), __LINE__);
        }
        if (is_null($toPay) || (is_array($toPay) && empty($toPay))) {
            unset($this->ToPay);
        } else {
            $this->ToPay = $toPay;
        }
        return $this;
    }
    /**
     * Get Total 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 float|null
     */
    public function getTotal()
    {
        return isset($this->Total) ? $this->Total : null;
    }
    /**
     * Set Total 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 float $total
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setTotal($total = null)
    {
        // validation for constraint: float
        if (!is_null($total) && !(is_float($total) || is_numeric($total))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($total, true), gettype($total)), __LINE__);
        }
        if (is_null($total) || (is_array($total) && empty($total))) {
            unset($this->Total);
        } else {
            $this->Total = $total;
        }
        return $this;
    }
    /**
     * Get Type 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 string|null
     */
    public function getType()
    {
        return isset($this->Type) ? $this->Type : null;
    }
    /**
     * Set Type 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 string $type
     * @return \patest\StructType\BSRO_Sales_OnGoingBasket
     */
    public function setType($type = null)
    {
        // validation for constraint: string
        if (!is_null($type) && !is_string($type)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($type, true), gettype($type)), __LINE__);
        }
        if (is_null($type) || (is_array($type) && empty($type))) {
            unset($this->Type);
        } else {
            $this->Type = $type;
        }
        return $this;
    }
}
