<?php

namespace patest\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Security.TicketingTicketDistributionCompanyParameters
 * StructType
 * @subpackage Structs
 */
class Security_TicketingTicketDistributionCompanyParameters extends Security_CompanyParameterBase
{
    /**
     * The TicketDistributionDefaultPdfPrinter
     * Meta information extracted from the WSDL
     * - base: xs:string
     * - minOccurs: 0
     * - nillable: true
     * - pattern: [\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}
     * - type: tns:guid
     * @var string
     */
    public $TicketDistributionDefaultPdfPrinter;
    /**
     * The TicketDistributionEmailTemplate1Body
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketDistributionEmailTemplate1Body;
    /**
     * The TicketDistributionEmailTemplate1Subject
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketDistributionEmailTemplate1Subject;
    /**
     * The TicketDistributionEmailTemplate2aBody
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketDistributionEmailTemplate2aBody;
    /**
     * The TicketDistributionEmailTemplate2aSubject
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketDistributionEmailTemplate2aSubject;
    /**
     * The TicketDistributionEmailTemplate2Body
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketDistributionEmailTemplate2Body;
    /**
     * The TicketDistributionEmailTemplate2Subject
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketDistributionEmailTemplate2Subject;
    /**
     * The TicketDistributionEmailTemplate3Body
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketDistributionEmailTemplate3Body;
    /**
     * The TicketDistributionEmailTemplate3Subject
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketDistributionEmailTemplate3Subject;
    /**
     * The TicketDistributionEmailTemplate4Body
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketDistributionEmailTemplate4Body;
    /**
     * The TicketDistributionEmailTemplate4Subject
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TicketDistributionEmailTemplate4Subject;
    /**
     * The TicketDistributionMinutesBeforeEventStart
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $TicketDistributionMinutesBeforeEventStart;
    /**
     * The TicketDistributionRegularTicket
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $TicketDistributionRegularTicket;
    /**
     * The TicketDistributionRegularTicketWithHospitality
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $TicketDistributionRegularTicketWithHospitality;
    /**
     * The TicketDistributionSeriesGuids
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TicketDistributionSeriesGuids;
    /**
     * The TicketDistributionSubscriptionTicket
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $TicketDistributionSubscriptionTicket;
    /**
     * The TicketDistributionSubscriptionTicketWithHospitality
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $TicketDistributionSubscriptionTicketWithHospitality;
    /**
     * The TicketDistributionTicketPrintingTimeoutSec
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $TicketDistributionTicketPrintingTimeoutSec;
    /**
     * Constructor method for Security.TicketingTicketDistributionCompanyParameters
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionDefaultPdfPrinter()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionEmailTemplate1Body()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionEmailTemplate1Subject()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionEmailTemplate2aBody()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionEmailTemplate2aSubject()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionEmailTemplate2Body()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionEmailTemplate2Subject()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionEmailTemplate3Body()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionEmailTemplate3Subject()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionEmailTemplate4Body()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionEmailTemplate4Subject()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionMinutesBeforeEventStart()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionRegularTicket()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionRegularTicketWithHospitality()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionSeriesGuids()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionSubscriptionTicket()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionSubscriptionTicketWithHospitality()
     * @uses Security_TicketingTicketDistributionCompanyParameters::setTicketDistributionTicketPrintingTimeoutSec()
     * @param string $ticketDistributionDefaultPdfPrinter
     * @param \patest\StructType\GlobalString $ticketDistributionEmailTemplate1Body
     * @param \patest\StructType\GlobalString $ticketDistributionEmailTemplate1Subject
     * @param \patest\StructType\GlobalString $ticketDistributionEmailTemplate2aBody
     * @param \patest\StructType\GlobalString $ticketDistributionEmailTemplate2aSubject
     * @param \patest\StructType\GlobalString $ticketDistributionEmailTemplate2Body
     * @param \patest\StructType\GlobalString $ticketDistributionEmailTemplate2Subject
     * @param \patest\StructType\GlobalString $ticketDistributionEmailTemplate3Body
     * @param \patest\StructType\GlobalString $ticketDistributionEmailTemplate3Subject
     * @param \patest\StructType\GlobalString $ticketDistributionEmailTemplate4Body
     * @param \patest\StructType\GlobalString $ticketDistributionEmailTemplate4Subject
     * @param int $ticketDistributionMinutesBeforeEventStart
     * @param bool $ticketDistributionRegularTicket
     * @param bool $ticketDistributionRegularTicketWithHospitality
     * @param string $ticketDistributionSeriesGuids
     * @param bool $ticketDistributionSubscriptionTicket
     * @param bool $ticketDistributionSubscriptionTicketWithHospitality
     * @param int $ticketDistributionTicketPrintingTimeoutSec
     */
    public function __construct($ticketDistributionDefaultPdfPrinter = null, \patest\StructType\GlobalString $ticketDistributionEmailTemplate1Body = null, \patest\StructType\GlobalString $ticketDistributionEmailTemplate1Subject = null, \patest\StructType\GlobalString $ticketDistributionEmailTemplate2aBody = null, \patest\StructType\GlobalString $ticketDistributionEmailTemplate2aSubject = null, \patest\StructType\GlobalString $ticketDistributionEmailTemplate2Body = null, \patest\StructType\GlobalString $ticketDistributionEmailTemplate2Subject = null, \patest\StructType\GlobalString $ticketDistributionEmailTemplate3Body = null, \patest\StructType\GlobalString $ticketDistributionEmailTemplate3Subject = null, \patest\StructType\GlobalString $ticketDistributionEmailTemplate4Body = null, \patest\StructType\GlobalString $ticketDistributionEmailTemplate4Subject = null, $ticketDistributionMinutesBeforeEventStart = null, $ticketDistributionRegularTicket = null, $ticketDistributionRegularTicketWithHospitality = null, $ticketDistributionSeriesGuids = null, $ticketDistributionSubscriptionTicket = null, $ticketDistributionSubscriptionTicketWithHospitality = null, $ticketDistributionTicketPrintingTimeoutSec = null)
    {
        $this
            ->setTicketDistributionDefaultPdfPrinter($ticketDistributionDefaultPdfPrinter)
            ->setTicketDistributionEmailTemplate1Body($ticketDistributionEmailTemplate1Body)
            ->setTicketDistributionEmailTemplate1Subject($ticketDistributionEmailTemplate1Subject)
            ->setTicketDistributionEmailTemplate2aBody($ticketDistributionEmailTemplate2aBody)
            ->setTicketDistributionEmailTemplate2aSubject($ticketDistributionEmailTemplate2aSubject)
            ->setTicketDistributionEmailTemplate2Body($ticketDistributionEmailTemplate2Body)
            ->setTicketDistributionEmailTemplate2Subject($ticketDistributionEmailTemplate2Subject)
            ->setTicketDistributionEmailTemplate3Body($ticketDistributionEmailTemplate3Body)
            ->setTicketDistributionEmailTemplate3Subject($ticketDistributionEmailTemplate3Subject)
            ->setTicketDistributionEmailTemplate4Body($ticketDistributionEmailTemplate4Body)
            ->setTicketDistributionEmailTemplate4Subject($ticketDistributionEmailTemplate4Subject)
            ->setTicketDistributionMinutesBeforeEventStart($ticketDistributionMinutesBeforeEventStart)
            ->setTicketDistributionRegularTicket($ticketDistributionRegularTicket)
            ->setTicketDistributionRegularTicketWithHospitality($ticketDistributionRegularTicketWithHospitality)
            ->setTicketDistributionSeriesGuids($ticketDistributionSeriesGuids)
            ->setTicketDistributionSubscriptionTicket($ticketDistributionSubscriptionTicket)
            ->setTicketDistributionSubscriptionTicketWithHospitality($ticketDistributionSubscriptionTicketWithHospitality)
            ->setTicketDistributionTicketPrintingTimeoutSec($ticketDistributionTicketPrintingTimeoutSec);
    }
    /**
     * Get TicketDistributionDefaultPdfPrinter 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 getTicketDistributionDefaultPdfPrinter()
    {
        return isset($this->TicketDistributionDefaultPdfPrinter) ? $this->TicketDistributionDefaultPdfPrinter : null;
    }
    /**
     * Set TicketDistributionDefaultPdfPrinter 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 $ticketDistributionDefaultPdfPrinter
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionDefaultPdfPrinter($ticketDistributionDefaultPdfPrinter = null)
    {
        // validation for constraint: string
        if (!is_null($ticketDistributionDefaultPdfPrinter) && !is_string($ticketDistributionDefaultPdfPrinter)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($ticketDistributionDefaultPdfPrinter, true), gettype($ticketDistributionDefaultPdfPrinter)), __LINE__);
        }
        // validation for constraint: pattern([\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12})
        if (!is_null($ticketDistributionDefaultPdfPrinter) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $ticketDistributionDefaultPdfPrinter)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a literal that is among the set of character sequences denoted by the regular expression [\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}', var_export($ticketDistributionDefaultPdfPrinter, true)), __LINE__);
        }
        if (is_null($ticketDistributionDefaultPdfPrinter) || (is_array($ticketDistributionDefaultPdfPrinter) && empty($ticketDistributionDefaultPdfPrinter))) {
            unset($this->TicketDistributionDefaultPdfPrinter);
        } else {
            $this->TicketDistributionDefaultPdfPrinter = $ticketDistributionDefaultPdfPrinter;
        }
        return $this;
    }
    /**
     * Get TicketDistributionEmailTemplate1Body 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 \patest\StructType\GlobalString|null
     */
    public function getTicketDistributionEmailTemplate1Body()
    {
        return isset($this->TicketDistributionEmailTemplate1Body) ? $this->TicketDistributionEmailTemplate1Body : null;
    }
    /**
     * Set TicketDistributionEmailTemplate1Body 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 \patest\StructType\GlobalString $ticketDistributionEmailTemplate1Body
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionEmailTemplate1Body(\patest\StructType\GlobalString $ticketDistributionEmailTemplate1Body = null)
    {
        if (is_null($ticketDistributionEmailTemplate1Body) || (is_array($ticketDistributionEmailTemplate1Body) && empty($ticketDistributionEmailTemplate1Body))) {
            unset($this->TicketDistributionEmailTemplate1Body);
        } else {
            $this->TicketDistributionEmailTemplate1Body = $ticketDistributionEmailTemplate1Body;
        }
        return $this;
    }
    /**
     * Get TicketDistributionEmailTemplate1Subject 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 \patest\StructType\GlobalString|null
     */
    public function getTicketDistributionEmailTemplate1Subject()
    {
        return isset($this->TicketDistributionEmailTemplate1Subject) ? $this->TicketDistributionEmailTemplate1Subject : null;
    }
    /**
     * Set TicketDistributionEmailTemplate1Subject 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 \patest\StructType\GlobalString $ticketDistributionEmailTemplate1Subject
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionEmailTemplate1Subject(\patest\StructType\GlobalString $ticketDistributionEmailTemplate1Subject = null)
    {
        if (is_null($ticketDistributionEmailTemplate1Subject) || (is_array($ticketDistributionEmailTemplate1Subject) && empty($ticketDistributionEmailTemplate1Subject))) {
            unset($this->TicketDistributionEmailTemplate1Subject);
        } else {
            $this->TicketDistributionEmailTemplate1Subject = $ticketDistributionEmailTemplate1Subject;
        }
        return $this;
    }
    /**
     * Get TicketDistributionEmailTemplate2aBody 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 \patest\StructType\GlobalString|null
     */
    public function getTicketDistributionEmailTemplate2aBody()
    {
        return isset($this->TicketDistributionEmailTemplate2aBody) ? $this->TicketDistributionEmailTemplate2aBody : null;
    }
    /**
     * Set TicketDistributionEmailTemplate2aBody 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 \patest\StructType\GlobalString $ticketDistributionEmailTemplate2aBody
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionEmailTemplate2aBody(\patest\StructType\GlobalString $ticketDistributionEmailTemplate2aBody = null)
    {
        if (is_null($ticketDistributionEmailTemplate2aBody) || (is_array($ticketDistributionEmailTemplate2aBody) && empty($ticketDistributionEmailTemplate2aBody))) {
            unset($this->TicketDistributionEmailTemplate2aBody);
        } else {
            $this->TicketDistributionEmailTemplate2aBody = $ticketDistributionEmailTemplate2aBody;
        }
        return $this;
    }
    /**
     * Get TicketDistributionEmailTemplate2aSubject 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 \patest\StructType\GlobalString|null
     */
    public function getTicketDistributionEmailTemplate2aSubject()
    {
        return isset($this->TicketDistributionEmailTemplate2aSubject) ? $this->TicketDistributionEmailTemplate2aSubject : null;
    }
    /**
     * Set TicketDistributionEmailTemplate2aSubject 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 \patest\StructType\GlobalString $ticketDistributionEmailTemplate2aSubject
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionEmailTemplate2aSubject(\patest\StructType\GlobalString $ticketDistributionEmailTemplate2aSubject = null)
    {
        if (is_null($ticketDistributionEmailTemplate2aSubject) || (is_array($ticketDistributionEmailTemplate2aSubject) && empty($ticketDistributionEmailTemplate2aSubject))) {
            unset($this->TicketDistributionEmailTemplate2aSubject);
        } else {
            $this->TicketDistributionEmailTemplate2aSubject = $ticketDistributionEmailTemplate2aSubject;
        }
        return $this;
    }
    /**
     * Get TicketDistributionEmailTemplate2Body 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 \patest\StructType\GlobalString|null
     */
    public function getTicketDistributionEmailTemplate2Body()
    {
        return isset($this->TicketDistributionEmailTemplate2Body) ? $this->TicketDistributionEmailTemplate2Body : null;
    }
    /**
     * Set TicketDistributionEmailTemplate2Body 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 \patest\StructType\GlobalString $ticketDistributionEmailTemplate2Body
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionEmailTemplate2Body(\patest\StructType\GlobalString $ticketDistributionEmailTemplate2Body = null)
    {
        if (is_null($ticketDistributionEmailTemplate2Body) || (is_array($ticketDistributionEmailTemplate2Body) && empty($ticketDistributionEmailTemplate2Body))) {
            unset($this->TicketDistributionEmailTemplate2Body);
        } else {
            $this->TicketDistributionEmailTemplate2Body = $ticketDistributionEmailTemplate2Body;
        }
        return $this;
    }
    /**
     * Get TicketDistributionEmailTemplate2Subject 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 \patest\StructType\GlobalString|null
     */
    public function getTicketDistributionEmailTemplate2Subject()
    {
        return isset($this->TicketDistributionEmailTemplate2Subject) ? $this->TicketDistributionEmailTemplate2Subject : null;
    }
    /**
     * Set TicketDistributionEmailTemplate2Subject 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 \patest\StructType\GlobalString $ticketDistributionEmailTemplate2Subject
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionEmailTemplate2Subject(\patest\StructType\GlobalString $ticketDistributionEmailTemplate2Subject = null)
    {
        if (is_null($ticketDistributionEmailTemplate2Subject) || (is_array($ticketDistributionEmailTemplate2Subject) && empty($ticketDistributionEmailTemplate2Subject))) {
            unset($this->TicketDistributionEmailTemplate2Subject);
        } else {
            $this->TicketDistributionEmailTemplate2Subject = $ticketDistributionEmailTemplate2Subject;
        }
        return $this;
    }
    /**
     * Get TicketDistributionEmailTemplate3Body 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 \patest\StructType\GlobalString|null
     */
    public function getTicketDistributionEmailTemplate3Body()
    {
        return isset($this->TicketDistributionEmailTemplate3Body) ? $this->TicketDistributionEmailTemplate3Body : null;
    }
    /**
     * Set TicketDistributionEmailTemplate3Body 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 \patest\StructType\GlobalString $ticketDistributionEmailTemplate3Body
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionEmailTemplate3Body(\patest\StructType\GlobalString $ticketDistributionEmailTemplate3Body = null)
    {
        if (is_null($ticketDistributionEmailTemplate3Body) || (is_array($ticketDistributionEmailTemplate3Body) && empty($ticketDistributionEmailTemplate3Body))) {
            unset($this->TicketDistributionEmailTemplate3Body);
        } else {
            $this->TicketDistributionEmailTemplate3Body = $ticketDistributionEmailTemplate3Body;
        }
        return $this;
    }
    /**
     * Get TicketDistributionEmailTemplate3Subject 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 \patest\StructType\GlobalString|null
     */
    public function getTicketDistributionEmailTemplate3Subject()
    {
        return isset($this->TicketDistributionEmailTemplate3Subject) ? $this->TicketDistributionEmailTemplate3Subject : null;
    }
    /**
     * Set TicketDistributionEmailTemplate3Subject 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 \patest\StructType\GlobalString $ticketDistributionEmailTemplate3Subject
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionEmailTemplate3Subject(\patest\StructType\GlobalString $ticketDistributionEmailTemplate3Subject = null)
    {
        if (is_null($ticketDistributionEmailTemplate3Subject) || (is_array($ticketDistributionEmailTemplate3Subject) && empty($ticketDistributionEmailTemplate3Subject))) {
            unset($this->TicketDistributionEmailTemplate3Subject);
        } else {
            $this->TicketDistributionEmailTemplate3Subject = $ticketDistributionEmailTemplate3Subject;
        }
        return $this;
    }
    /**
     * Get TicketDistributionEmailTemplate4Body 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 \patest\StructType\GlobalString|null
     */
    public function getTicketDistributionEmailTemplate4Body()
    {
        return isset($this->TicketDistributionEmailTemplate4Body) ? $this->TicketDistributionEmailTemplate4Body : null;
    }
    /**
     * Set TicketDistributionEmailTemplate4Body 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 \patest\StructType\GlobalString $ticketDistributionEmailTemplate4Body
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionEmailTemplate4Body(\patest\StructType\GlobalString $ticketDistributionEmailTemplate4Body = null)
    {
        if (is_null($ticketDistributionEmailTemplate4Body) || (is_array($ticketDistributionEmailTemplate4Body) && empty($ticketDistributionEmailTemplate4Body))) {
            unset($this->TicketDistributionEmailTemplate4Body);
        } else {
            $this->TicketDistributionEmailTemplate4Body = $ticketDistributionEmailTemplate4Body;
        }
        return $this;
    }
    /**
     * Get TicketDistributionEmailTemplate4Subject 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 \patest\StructType\GlobalString|null
     */
    public function getTicketDistributionEmailTemplate4Subject()
    {
        return isset($this->TicketDistributionEmailTemplate4Subject) ? $this->TicketDistributionEmailTemplate4Subject : null;
    }
    /**
     * Set TicketDistributionEmailTemplate4Subject 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 \patest\StructType\GlobalString $ticketDistributionEmailTemplate4Subject
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionEmailTemplate4Subject(\patest\StructType\GlobalString $ticketDistributionEmailTemplate4Subject = null)
    {
        if (is_null($ticketDistributionEmailTemplate4Subject) || (is_array($ticketDistributionEmailTemplate4Subject) && empty($ticketDistributionEmailTemplate4Subject))) {
            unset($this->TicketDistributionEmailTemplate4Subject);
        } else {
            $this->TicketDistributionEmailTemplate4Subject = $ticketDistributionEmailTemplate4Subject;
        }
        return $this;
    }
    /**
     * Get TicketDistributionMinutesBeforeEventStart 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 getTicketDistributionMinutesBeforeEventStart()
    {
        return isset($this->TicketDistributionMinutesBeforeEventStart) ? $this->TicketDistributionMinutesBeforeEventStart : null;
    }
    /**
     * Set TicketDistributionMinutesBeforeEventStart 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 $ticketDistributionMinutesBeforeEventStart
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionMinutesBeforeEventStart($ticketDistributionMinutesBeforeEventStart = null)
    {
        // validation for constraint: int
        if (!is_null($ticketDistributionMinutesBeforeEventStart) && !(is_int($ticketDistributionMinutesBeforeEventStart) || ctype_digit($ticketDistributionMinutesBeforeEventStart))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($ticketDistributionMinutesBeforeEventStart, true), gettype($ticketDistributionMinutesBeforeEventStart)), __LINE__);
        }
        if (is_null($ticketDistributionMinutesBeforeEventStart) || (is_array($ticketDistributionMinutesBeforeEventStart) && empty($ticketDistributionMinutesBeforeEventStart))) {
            unset($this->TicketDistributionMinutesBeforeEventStart);
        } else {
            $this->TicketDistributionMinutesBeforeEventStart = $ticketDistributionMinutesBeforeEventStart;
        }
        return $this;
    }
    /**
     * Get TicketDistributionRegularTicket 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 getTicketDistributionRegularTicket()
    {
        return isset($this->TicketDistributionRegularTicket) ? $this->TicketDistributionRegularTicket : null;
    }
    /**
     * Set TicketDistributionRegularTicket 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 $ticketDistributionRegularTicket
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionRegularTicket($ticketDistributionRegularTicket = null)
    {
        // validation for constraint: boolean
        if (!is_null($ticketDistributionRegularTicket) && !is_bool($ticketDistributionRegularTicket)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($ticketDistributionRegularTicket, true), gettype($ticketDistributionRegularTicket)), __LINE__);
        }
        if (is_null($ticketDistributionRegularTicket) || (is_array($ticketDistributionRegularTicket) && empty($ticketDistributionRegularTicket))) {
            unset($this->TicketDistributionRegularTicket);
        } else {
            $this->TicketDistributionRegularTicket = $ticketDistributionRegularTicket;
        }
        return $this;
    }
    /**
     * Get TicketDistributionRegularTicketWithHospitality 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 getTicketDistributionRegularTicketWithHospitality()
    {
        return isset($this->TicketDistributionRegularTicketWithHospitality) ? $this->TicketDistributionRegularTicketWithHospitality : null;
    }
    /**
     * Set TicketDistributionRegularTicketWithHospitality 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 $ticketDistributionRegularTicketWithHospitality
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionRegularTicketWithHospitality($ticketDistributionRegularTicketWithHospitality = null)
    {
        // validation for constraint: boolean
        if (!is_null($ticketDistributionRegularTicketWithHospitality) && !is_bool($ticketDistributionRegularTicketWithHospitality)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($ticketDistributionRegularTicketWithHospitality, true), gettype($ticketDistributionRegularTicketWithHospitality)), __LINE__);
        }
        if (is_null($ticketDistributionRegularTicketWithHospitality) || (is_array($ticketDistributionRegularTicketWithHospitality) && empty($ticketDistributionRegularTicketWithHospitality))) {
            unset($this->TicketDistributionRegularTicketWithHospitality);
        } else {
            $this->TicketDistributionRegularTicketWithHospitality = $ticketDistributionRegularTicketWithHospitality;
        }
        return $this;
    }
    /**
     * Get TicketDistributionSeriesGuids 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 getTicketDistributionSeriesGuids()
    {
        return isset($this->TicketDistributionSeriesGuids) ? $this->TicketDistributionSeriesGuids : null;
    }
    /**
     * Set TicketDistributionSeriesGuids 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 $ticketDistributionSeriesGuids
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionSeriesGuids($ticketDistributionSeriesGuids = null)
    {
        // validation for constraint: string
        if (!is_null($ticketDistributionSeriesGuids) && !is_string($ticketDistributionSeriesGuids)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($ticketDistributionSeriesGuids, true), gettype($ticketDistributionSeriesGuids)), __LINE__);
        }
        if (is_null($ticketDistributionSeriesGuids) || (is_array($ticketDistributionSeriesGuids) && empty($ticketDistributionSeriesGuids))) {
            unset($this->TicketDistributionSeriesGuids);
        } else {
            $this->TicketDistributionSeriesGuids = $ticketDistributionSeriesGuids;
        }
        return $this;
    }
    /**
     * Get TicketDistributionSubscriptionTicket 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 getTicketDistributionSubscriptionTicket()
    {
        return isset($this->TicketDistributionSubscriptionTicket) ? $this->TicketDistributionSubscriptionTicket : null;
    }
    /**
     * Set TicketDistributionSubscriptionTicket 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 $ticketDistributionSubscriptionTicket
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionSubscriptionTicket($ticketDistributionSubscriptionTicket = null)
    {
        // validation for constraint: boolean
        if (!is_null($ticketDistributionSubscriptionTicket) && !is_bool($ticketDistributionSubscriptionTicket)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($ticketDistributionSubscriptionTicket, true), gettype($ticketDistributionSubscriptionTicket)), __LINE__);
        }
        if (is_null($ticketDistributionSubscriptionTicket) || (is_array($ticketDistributionSubscriptionTicket) && empty($ticketDistributionSubscriptionTicket))) {
            unset($this->TicketDistributionSubscriptionTicket);
        } else {
            $this->TicketDistributionSubscriptionTicket = $ticketDistributionSubscriptionTicket;
        }
        return $this;
    }
    /**
     * Get TicketDistributionSubscriptionTicketWithHospitality 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 getTicketDistributionSubscriptionTicketWithHospitality()
    {
        return isset($this->TicketDistributionSubscriptionTicketWithHospitality) ? $this->TicketDistributionSubscriptionTicketWithHospitality : null;
    }
    /**
     * Set TicketDistributionSubscriptionTicketWithHospitality 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 $ticketDistributionSubscriptionTicketWithHospitality
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionSubscriptionTicketWithHospitality($ticketDistributionSubscriptionTicketWithHospitality = null)
    {
        // validation for constraint: boolean
        if (!is_null($ticketDistributionSubscriptionTicketWithHospitality) && !is_bool($ticketDistributionSubscriptionTicketWithHospitality)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($ticketDistributionSubscriptionTicketWithHospitality, true), gettype($ticketDistributionSubscriptionTicketWithHospitality)), __LINE__);
        }
        if (is_null($ticketDistributionSubscriptionTicketWithHospitality) || (is_array($ticketDistributionSubscriptionTicketWithHospitality) && empty($ticketDistributionSubscriptionTicketWithHospitality))) {
            unset($this->TicketDistributionSubscriptionTicketWithHospitality);
        } else {
            $this->TicketDistributionSubscriptionTicketWithHospitality = $ticketDistributionSubscriptionTicketWithHospitality;
        }
        return $this;
    }
    /**
     * Get TicketDistributionTicketPrintingTimeoutSec 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 getTicketDistributionTicketPrintingTimeoutSec()
    {
        return isset($this->TicketDistributionTicketPrintingTimeoutSec) ? $this->TicketDistributionTicketPrintingTimeoutSec : null;
    }
    /**
     * Set TicketDistributionTicketPrintingTimeoutSec 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 $ticketDistributionTicketPrintingTimeoutSec
     * @return \patest\StructType\Security_TicketingTicketDistributionCompanyParameters
     */
    public function setTicketDistributionTicketPrintingTimeoutSec($ticketDistributionTicketPrintingTimeoutSec = null)
    {
        // validation for constraint: int
        if (!is_null($ticketDistributionTicketPrintingTimeoutSec) && !(is_int($ticketDistributionTicketPrintingTimeoutSec) || ctype_digit($ticketDistributionTicketPrintingTimeoutSec))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($ticketDistributionTicketPrintingTimeoutSec, true), gettype($ticketDistributionTicketPrintingTimeoutSec)), __LINE__);
        }
        if (is_null($ticketDistributionTicketPrintingTimeoutSec) || (is_array($ticketDistributionTicketPrintingTimeoutSec) && empty($ticketDistributionTicketPrintingTimeoutSec))) {
            unset($this->TicketDistributionTicketPrintingTimeoutSec);
        } else {
            $this->TicketDistributionTicketPrintingTimeoutSec = $ticketDistributionTicketPrintingTimeoutSec;
        }
        return $this;
    }
}
