<?php

namespace patest\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Ticketing.Printing.Event StructType
 * @subpackage Structs
 */
class Ticketing_Printing_Event extends Printing_Item_ComplexProperty_Base
{
    /**
     * The BreakMinutes
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $BreakMinutes;
    /**
     * The BriefText
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $BriefText;
    /**
     * The Code
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $Code;
    /**
     * The DayOfWeek
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DayOfWeek;
    /**
     * The DetailText
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $DetailText;
    /**
     * The DisplayName
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DisplayName;
    /**
     * The EffectiveLargeImageUrl
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EffectiveLargeImageUrl;
    /**
     * The EffectiveMediumImageUrl
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EffectiveMediumImageUrl;
    /**
     * The EffectiveSmallImageUrl
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EffectiveSmallImageUrl;
    /**
     * The EventDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EventDate;
    /**
     * The EventTypeName
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $EventTypeName;
    /**
     * The ExtendedData1
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData1;
    /**
     * The ExtendedData10
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData10;
    /**
     * The ExtendedData11
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData11;
    /**
     * The ExtendedData12
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData12;
    /**
     * The ExtendedData13
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData13;
    /**
     * The ExtendedData14
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData14;
    /**
     * The ExtendedData15
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData15;
    /**
     * The ExtendedData2
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData2;
    /**
     * The ExtendedData3
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData3;
    /**
     * The ExtendedData4
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData4;
    /**
     * The ExtendedData5
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData5;
    /**
     * The ExtendedData6
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData6;
    /**
     * The ExtendedData7
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData7;
    /**
     * The ExtendedData8
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData8;
    /**
     * The ExtendedData9
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExtendedData9;
    /**
     * The ExternalReference
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ExternalReference;
    /**
     * The FormattedDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $FormattedDate;
    /**
     * The HallVersionId
     * 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 $HallVersionId;
    /**
     * The Message
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $Message;
    /**
     * The Name
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $Name;
    /**
     * The NameAndDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NameAndDate;
    /**
     * The Notes
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $Notes;
    /**
     * The OwnerId
     * 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 $OwnerId;
    /**
     * The OwnerSpecificCode
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $OwnerSpecificCode;
    /**
     * The Performers
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\RecordSetOfTicketing_Printing_PerformerEvent
     */
    public $Performers;
    /**
     * The ReviewUrl
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $ReviewUrl;
    /**
     * The ShowMinutes
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $ShowMinutes;
    /**
     * The TaxonomyName
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TaxonomyName;
    /**
     * The TicketNumberGlobalCounterId
     * 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 $TicketNumberGlobalCounterId;
    /**
     * The TrailerUrl
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\GlobalString
     */
    public $TrailerUrl;
    /**
     * Constructor method for Ticketing.Printing.Event
     * @uses Ticketing_Printing_Event::setBreakMinutes()
     * @uses Ticketing_Printing_Event::setBriefText()
     * @uses Ticketing_Printing_Event::setCode()
     * @uses Ticketing_Printing_Event::setDayOfWeek()
     * @uses Ticketing_Printing_Event::setDetailText()
     * @uses Ticketing_Printing_Event::setDisplayName()
     * @uses Ticketing_Printing_Event::setEffectiveLargeImageUrl()
     * @uses Ticketing_Printing_Event::setEffectiveMediumImageUrl()
     * @uses Ticketing_Printing_Event::setEffectiveSmallImageUrl()
     * @uses Ticketing_Printing_Event::setEventDate()
     * @uses Ticketing_Printing_Event::setEventTypeName()
     * @uses Ticketing_Printing_Event::setExtendedData1()
     * @uses Ticketing_Printing_Event::setExtendedData10()
     * @uses Ticketing_Printing_Event::setExtendedData11()
     * @uses Ticketing_Printing_Event::setExtendedData12()
     * @uses Ticketing_Printing_Event::setExtendedData13()
     * @uses Ticketing_Printing_Event::setExtendedData14()
     * @uses Ticketing_Printing_Event::setExtendedData15()
     * @uses Ticketing_Printing_Event::setExtendedData2()
     * @uses Ticketing_Printing_Event::setExtendedData3()
     * @uses Ticketing_Printing_Event::setExtendedData4()
     * @uses Ticketing_Printing_Event::setExtendedData5()
     * @uses Ticketing_Printing_Event::setExtendedData6()
     * @uses Ticketing_Printing_Event::setExtendedData7()
     * @uses Ticketing_Printing_Event::setExtendedData8()
     * @uses Ticketing_Printing_Event::setExtendedData9()
     * @uses Ticketing_Printing_Event::setExternalReference()
     * @uses Ticketing_Printing_Event::setFormattedDate()
     * @uses Ticketing_Printing_Event::setHallVersionId()
     * @uses Ticketing_Printing_Event::setMessage()
     * @uses Ticketing_Printing_Event::setName()
     * @uses Ticketing_Printing_Event::setNameAndDate()
     * @uses Ticketing_Printing_Event::setNotes()
     * @uses Ticketing_Printing_Event::setOwnerId()
     * @uses Ticketing_Printing_Event::setOwnerSpecificCode()
     * @uses Ticketing_Printing_Event::setPerformers()
     * @uses Ticketing_Printing_Event::setReviewUrl()
     * @uses Ticketing_Printing_Event::setShowMinutes()
     * @uses Ticketing_Printing_Event::setTaxonomyName()
     * @uses Ticketing_Printing_Event::setTicketNumberGlobalCounterId()
     * @uses Ticketing_Printing_Event::setTrailerUrl()
     * @param string $breakMinutes
     * @param \patest\StructType\GlobalString $briefText
     * @param int $code
     * @param string $dayOfWeek
     * @param \patest\StructType\GlobalString $detailText
     * @param string $displayName
     * @param string $effectiveLargeImageUrl
     * @param string $effectiveMediumImageUrl
     * @param string $effectiveSmallImageUrl
     * @param string $eventDate
     * @param \patest\StructType\GlobalString $eventTypeName
     * @param string $extendedData1
     * @param string $extendedData10
     * @param string $extendedData11
     * @param string $extendedData12
     * @param string $extendedData13
     * @param string $extendedData14
     * @param string $extendedData15
     * @param string $extendedData2
     * @param string $extendedData3
     * @param string $extendedData4
     * @param string $extendedData5
     * @param string $extendedData6
     * @param string $extendedData7
     * @param string $extendedData8
     * @param string $extendedData9
     * @param string $externalReference
     * @param string $formattedDate
     * @param string $hallVersionId
     * @param \patest\StructType\GlobalString $message
     * @param \patest\StructType\GlobalString $name
     * @param string $nameAndDate
     * @param \patest\StructType\GlobalString $notes
     * @param string $ownerId
     * @param string $ownerSpecificCode
     * @param \patest\StructType\RecordSetOfTicketing_Printing_PerformerEvent $performers
     * @param \patest\StructType\GlobalString $reviewUrl
     * @param int $showMinutes
     * @param string $taxonomyName
     * @param string $ticketNumberGlobalCounterId
     * @param \patest\StructType\GlobalString $trailerUrl
     */
    public function __construct($breakMinutes = null, \patest\StructType\GlobalString $briefText = null, $code = null, $dayOfWeek = null, \patest\StructType\GlobalString $detailText = null, $displayName = null, $effectiveLargeImageUrl = null, $effectiveMediumImageUrl = null, $effectiveSmallImageUrl = null, $eventDate = null, \patest\StructType\GlobalString $eventTypeName = null, $extendedData1 = null, $extendedData10 = null, $extendedData11 = null, $extendedData12 = null, $extendedData13 = null, $extendedData14 = null, $extendedData15 = null, $extendedData2 = null, $extendedData3 = null, $extendedData4 = null, $extendedData5 = null, $extendedData6 = null, $extendedData7 = null, $extendedData8 = null, $extendedData9 = null, $externalReference = null, $formattedDate = null, $hallVersionId = null, \patest\StructType\GlobalString $message = null, \patest\StructType\GlobalString $name = null, $nameAndDate = null, \patest\StructType\GlobalString $notes = null, $ownerId = null, $ownerSpecificCode = null, \patest\StructType\RecordSetOfTicketing_Printing_PerformerEvent $performers = null, \patest\StructType\GlobalString $reviewUrl = null, $showMinutes = null, $taxonomyName = null, $ticketNumberGlobalCounterId = null, \patest\StructType\GlobalString $trailerUrl = null)
    {
        $this
            ->setBreakMinutes($breakMinutes)
            ->setBriefText($briefText)
            ->setCode($code)
            ->setDayOfWeek($dayOfWeek)
            ->setDetailText($detailText)
            ->setDisplayName($displayName)
            ->setEffectiveLargeImageUrl($effectiveLargeImageUrl)
            ->setEffectiveMediumImageUrl($effectiveMediumImageUrl)
            ->setEffectiveSmallImageUrl($effectiveSmallImageUrl)
            ->setEventDate($eventDate)
            ->setEventTypeName($eventTypeName)
            ->setExtendedData1($extendedData1)
            ->setExtendedData10($extendedData10)
            ->setExtendedData11($extendedData11)
            ->setExtendedData12($extendedData12)
            ->setExtendedData13($extendedData13)
            ->setExtendedData14($extendedData14)
            ->setExtendedData15($extendedData15)
            ->setExtendedData2($extendedData2)
            ->setExtendedData3($extendedData3)
            ->setExtendedData4($extendedData4)
            ->setExtendedData5($extendedData5)
            ->setExtendedData6($extendedData6)
            ->setExtendedData7($extendedData7)
            ->setExtendedData8($extendedData8)
            ->setExtendedData9($extendedData9)
            ->setExternalReference($externalReference)
            ->setFormattedDate($formattedDate)
            ->setHallVersionId($hallVersionId)
            ->setMessage($message)
            ->setName($name)
            ->setNameAndDate($nameAndDate)
            ->setNotes($notes)
            ->setOwnerId($ownerId)
            ->setOwnerSpecificCode($ownerSpecificCode)
            ->setPerformers($performers)
            ->setReviewUrl($reviewUrl)
            ->setShowMinutes($showMinutes)
            ->setTaxonomyName($taxonomyName)
            ->setTicketNumberGlobalCounterId($ticketNumberGlobalCounterId)
            ->setTrailerUrl($trailerUrl);
    }
    /**
     * Get BreakMinutes 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 getBreakMinutes()
    {
        return isset($this->BreakMinutes) ? $this->BreakMinutes : null;
    }
    /**
     * Set BreakMinutes 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 $breakMinutes
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setBreakMinutes($breakMinutes = null)
    {
        // validation for constraint: string
        if (!is_null($breakMinutes) && !is_string($breakMinutes)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($breakMinutes, true), gettype($breakMinutes)), __LINE__);
        }
        if (is_null($breakMinutes) || (is_array($breakMinutes) && empty($breakMinutes))) {
            unset($this->BreakMinutes);
        } else {
            $this->BreakMinutes = $breakMinutes;
        }
        return $this;
    }
    /**
     * Get BriefText 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 getBriefText()
    {
        return isset($this->BriefText) ? $this->BriefText : null;
    }
    /**
     * Set BriefText 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 $briefText
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setBriefText(\patest\StructType\GlobalString $briefText = null)
    {
        if (is_null($briefText) || (is_array($briefText) && empty($briefText))) {
            unset($this->BriefText);
        } else {
            $this->BriefText = $briefText;
        }
        return $this;
    }
    /**
     * Get Code 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 getCode()
    {
        return isset($this->Code) ? $this->Code : null;
    }
    /**
     * Set Code 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 $code
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setCode($code = null)
    {
        // validation for constraint: int
        if (!is_null($code) && !(is_int($code) || ctype_digit($code))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($code, true), gettype($code)), __LINE__);
        }
        if (is_null($code) || (is_array($code) && empty($code))) {
            unset($this->Code);
        } else {
            $this->Code = $code;
        }
        return $this;
    }
    /**
     * Get DayOfWeek 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 getDayOfWeek()
    {
        return isset($this->DayOfWeek) ? $this->DayOfWeek : null;
    }
    /**
     * Set DayOfWeek 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 $dayOfWeek
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setDayOfWeek($dayOfWeek = null)
    {
        // validation for constraint: string
        if (!is_null($dayOfWeek) && !is_string($dayOfWeek)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($dayOfWeek, true), gettype($dayOfWeek)), __LINE__);
        }
        if (is_null($dayOfWeek) || (is_array($dayOfWeek) && empty($dayOfWeek))) {
            unset($this->DayOfWeek);
        } else {
            $this->DayOfWeek = $dayOfWeek;
        }
        return $this;
    }
    /**
     * Get DetailText 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 getDetailText()
    {
        return isset($this->DetailText) ? $this->DetailText : null;
    }
    /**
     * Set DetailText 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 $detailText
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setDetailText(\patest\StructType\GlobalString $detailText = null)
    {
        if (is_null($detailText) || (is_array($detailText) && empty($detailText))) {
            unset($this->DetailText);
        } else {
            $this->DetailText = $detailText;
        }
        return $this;
    }
    /**
     * Get DisplayName 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 getDisplayName()
    {
        return isset($this->DisplayName) ? $this->DisplayName : null;
    }
    /**
     * Set DisplayName 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 $displayName
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setDisplayName($displayName = null)
    {
        // validation for constraint: string
        if (!is_null($displayName) && !is_string($displayName)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($displayName, true), gettype($displayName)), __LINE__);
        }
        if (is_null($displayName) || (is_array($displayName) && empty($displayName))) {
            unset($this->DisplayName);
        } else {
            $this->DisplayName = $displayName;
        }
        return $this;
    }
    /**
     * Get EffectiveLargeImageUrl 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 getEffectiveLargeImageUrl()
    {
        return isset($this->EffectiveLargeImageUrl) ? $this->EffectiveLargeImageUrl : null;
    }
    /**
     * Set EffectiveLargeImageUrl 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 $effectiveLargeImageUrl
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setEffectiveLargeImageUrl($effectiveLargeImageUrl = null)
    {
        // validation for constraint: string
        if (!is_null($effectiveLargeImageUrl) && !is_string($effectiveLargeImageUrl)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($effectiveLargeImageUrl, true), gettype($effectiveLargeImageUrl)), __LINE__);
        }
        if (is_null($effectiveLargeImageUrl) || (is_array($effectiveLargeImageUrl) && empty($effectiveLargeImageUrl))) {
            unset($this->EffectiveLargeImageUrl);
        } else {
            $this->EffectiveLargeImageUrl = $effectiveLargeImageUrl;
        }
        return $this;
    }
    /**
     * Get EffectiveMediumImageUrl 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 getEffectiveMediumImageUrl()
    {
        return isset($this->EffectiveMediumImageUrl) ? $this->EffectiveMediumImageUrl : null;
    }
    /**
     * Set EffectiveMediumImageUrl 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 $effectiveMediumImageUrl
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setEffectiveMediumImageUrl($effectiveMediumImageUrl = null)
    {
        // validation for constraint: string
        if (!is_null($effectiveMediumImageUrl) && !is_string($effectiveMediumImageUrl)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($effectiveMediumImageUrl, true), gettype($effectiveMediumImageUrl)), __LINE__);
        }
        if (is_null($effectiveMediumImageUrl) || (is_array($effectiveMediumImageUrl) && empty($effectiveMediumImageUrl))) {
            unset($this->EffectiveMediumImageUrl);
        } else {
            $this->EffectiveMediumImageUrl = $effectiveMediumImageUrl;
        }
        return $this;
    }
    /**
     * Get EffectiveSmallImageUrl 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 getEffectiveSmallImageUrl()
    {
        return isset($this->EffectiveSmallImageUrl) ? $this->EffectiveSmallImageUrl : null;
    }
    /**
     * Set EffectiveSmallImageUrl 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 $effectiveSmallImageUrl
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setEffectiveSmallImageUrl($effectiveSmallImageUrl = null)
    {
        // validation for constraint: string
        if (!is_null($effectiveSmallImageUrl) && !is_string($effectiveSmallImageUrl)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($effectiveSmallImageUrl, true), gettype($effectiveSmallImageUrl)), __LINE__);
        }
        if (is_null($effectiveSmallImageUrl) || (is_array($effectiveSmallImageUrl) && empty($effectiveSmallImageUrl))) {
            unset($this->EffectiveSmallImageUrl);
        } else {
            $this->EffectiveSmallImageUrl = $effectiveSmallImageUrl;
        }
        return $this;
    }
    /**
     * Get EventDate 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 getEventDate()
    {
        return isset($this->EventDate) ? $this->EventDate : null;
    }
    /**
     * Set EventDate 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 $eventDate
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setEventDate($eventDate = null)
    {
        // validation for constraint: string
        if (!is_null($eventDate) && !is_string($eventDate)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($eventDate, true), gettype($eventDate)), __LINE__);
        }
        if (is_null($eventDate) || (is_array($eventDate) && empty($eventDate))) {
            unset($this->EventDate);
        } else {
            $this->EventDate = $eventDate;
        }
        return $this;
    }
    /**
     * Get EventTypeName 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 getEventTypeName()
    {
        return isset($this->EventTypeName) ? $this->EventTypeName : null;
    }
    /**
     * Set EventTypeName 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 $eventTypeName
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setEventTypeName(\patest\StructType\GlobalString $eventTypeName = null)
    {
        if (is_null($eventTypeName) || (is_array($eventTypeName) && empty($eventTypeName))) {
            unset($this->EventTypeName);
        } else {
            $this->EventTypeName = $eventTypeName;
        }
        return $this;
    }
    /**
     * Get ExtendedData1 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 getExtendedData1()
    {
        return isset($this->ExtendedData1) ? $this->ExtendedData1 : null;
    }
    /**
     * Set ExtendedData1 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 $extendedData1
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData1($extendedData1 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData1) && !is_string($extendedData1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData1, true), gettype($extendedData1)), __LINE__);
        }
        if (is_null($extendedData1) || (is_array($extendedData1) && empty($extendedData1))) {
            unset($this->ExtendedData1);
        } else {
            $this->ExtendedData1 = $extendedData1;
        }
        return $this;
    }
    /**
     * Get ExtendedData10 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 getExtendedData10()
    {
        return isset($this->ExtendedData10) ? $this->ExtendedData10 : null;
    }
    /**
     * Set ExtendedData10 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 $extendedData10
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData10($extendedData10 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData10) && !is_string($extendedData10)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData10, true), gettype($extendedData10)), __LINE__);
        }
        if (is_null($extendedData10) || (is_array($extendedData10) && empty($extendedData10))) {
            unset($this->ExtendedData10);
        } else {
            $this->ExtendedData10 = $extendedData10;
        }
        return $this;
    }
    /**
     * Get ExtendedData11 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 getExtendedData11()
    {
        return isset($this->ExtendedData11) ? $this->ExtendedData11 : null;
    }
    /**
     * Set ExtendedData11 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 $extendedData11
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData11($extendedData11 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData11) && !is_string($extendedData11)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData11, true), gettype($extendedData11)), __LINE__);
        }
        if (is_null($extendedData11) || (is_array($extendedData11) && empty($extendedData11))) {
            unset($this->ExtendedData11);
        } else {
            $this->ExtendedData11 = $extendedData11;
        }
        return $this;
    }
    /**
     * Get ExtendedData12 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 getExtendedData12()
    {
        return isset($this->ExtendedData12) ? $this->ExtendedData12 : null;
    }
    /**
     * Set ExtendedData12 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 $extendedData12
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData12($extendedData12 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData12) && !is_string($extendedData12)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData12, true), gettype($extendedData12)), __LINE__);
        }
        if (is_null($extendedData12) || (is_array($extendedData12) && empty($extendedData12))) {
            unset($this->ExtendedData12);
        } else {
            $this->ExtendedData12 = $extendedData12;
        }
        return $this;
    }
    /**
     * Get ExtendedData13 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 getExtendedData13()
    {
        return isset($this->ExtendedData13) ? $this->ExtendedData13 : null;
    }
    /**
     * Set ExtendedData13 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 $extendedData13
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData13($extendedData13 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData13) && !is_string($extendedData13)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData13, true), gettype($extendedData13)), __LINE__);
        }
        if (is_null($extendedData13) || (is_array($extendedData13) && empty($extendedData13))) {
            unset($this->ExtendedData13);
        } else {
            $this->ExtendedData13 = $extendedData13;
        }
        return $this;
    }
    /**
     * Get ExtendedData14 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 getExtendedData14()
    {
        return isset($this->ExtendedData14) ? $this->ExtendedData14 : null;
    }
    /**
     * Set ExtendedData14 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 $extendedData14
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData14($extendedData14 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData14) && !is_string($extendedData14)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData14, true), gettype($extendedData14)), __LINE__);
        }
        if (is_null($extendedData14) || (is_array($extendedData14) && empty($extendedData14))) {
            unset($this->ExtendedData14);
        } else {
            $this->ExtendedData14 = $extendedData14;
        }
        return $this;
    }
    /**
     * Get ExtendedData15 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 getExtendedData15()
    {
        return isset($this->ExtendedData15) ? $this->ExtendedData15 : null;
    }
    /**
     * Set ExtendedData15 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 $extendedData15
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData15($extendedData15 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData15) && !is_string($extendedData15)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData15, true), gettype($extendedData15)), __LINE__);
        }
        if (is_null($extendedData15) || (is_array($extendedData15) && empty($extendedData15))) {
            unset($this->ExtendedData15);
        } else {
            $this->ExtendedData15 = $extendedData15;
        }
        return $this;
    }
    /**
     * Get ExtendedData2 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 getExtendedData2()
    {
        return isset($this->ExtendedData2) ? $this->ExtendedData2 : null;
    }
    /**
     * Set ExtendedData2 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 $extendedData2
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData2($extendedData2 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData2) && !is_string($extendedData2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData2, true), gettype($extendedData2)), __LINE__);
        }
        if (is_null($extendedData2) || (is_array($extendedData2) && empty($extendedData2))) {
            unset($this->ExtendedData2);
        } else {
            $this->ExtendedData2 = $extendedData2;
        }
        return $this;
    }
    /**
     * Get ExtendedData3 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 getExtendedData3()
    {
        return isset($this->ExtendedData3) ? $this->ExtendedData3 : null;
    }
    /**
     * Set ExtendedData3 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 $extendedData3
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData3($extendedData3 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData3) && !is_string($extendedData3)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData3, true), gettype($extendedData3)), __LINE__);
        }
        if (is_null($extendedData3) || (is_array($extendedData3) && empty($extendedData3))) {
            unset($this->ExtendedData3);
        } else {
            $this->ExtendedData3 = $extendedData3;
        }
        return $this;
    }
    /**
     * Get ExtendedData4 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 getExtendedData4()
    {
        return isset($this->ExtendedData4) ? $this->ExtendedData4 : null;
    }
    /**
     * Set ExtendedData4 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 $extendedData4
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData4($extendedData4 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData4) && !is_string($extendedData4)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData4, true), gettype($extendedData4)), __LINE__);
        }
        if (is_null($extendedData4) || (is_array($extendedData4) && empty($extendedData4))) {
            unset($this->ExtendedData4);
        } else {
            $this->ExtendedData4 = $extendedData4;
        }
        return $this;
    }
    /**
     * Get ExtendedData5 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 getExtendedData5()
    {
        return isset($this->ExtendedData5) ? $this->ExtendedData5 : null;
    }
    /**
     * Set ExtendedData5 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 $extendedData5
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData5($extendedData5 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData5) && !is_string($extendedData5)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData5, true), gettype($extendedData5)), __LINE__);
        }
        if (is_null($extendedData5) || (is_array($extendedData5) && empty($extendedData5))) {
            unset($this->ExtendedData5);
        } else {
            $this->ExtendedData5 = $extendedData5;
        }
        return $this;
    }
    /**
     * Get ExtendedData6 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 getExtendedData6()
    {
        return isset($this->ExtendedData6) ? $this->ExtendedData6 : null;
    }
    /**
     * Set ExtendedData6 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 $extendedData6
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData6($extendedData6 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData6) && !is_string($extendedData6)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData6, true), gettype($extendedData6)), __LINE__);
        }
        if (is_null($extendedData6) || (is_array($extendedData6) && empty($extendedData6))) {
            unset($this->ExtendedData6);
        } else {
            $this->ExtendedData6 = $extendedData6;
        }
        return $this;
    }
    /**
     * Get ExtendedData7 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 getExtendedData7()
    {
        return isset($this->ExtendedData7) ? $this->ExtendedData7 : null;
    }
    /**
     * Set ExtendedData7 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 $extendedData7
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData7($extendedData7 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData7) && !is_string($extendedData7)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData7, true), gettype($extendedData7)), __LINE__);
        }
        if (is_null($extendedData7) || (is_array($extendedData7) && empty($extendedData7))) {
            unset($this->ExtendedData7);
        } else {
            $this->ExtendedData7 = $extendedData7;
        }
        return $this;
    }
    /**
     * Get ExtendedData8 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 getExtendedData8()
    {
        return isset($this->ExtendedData8) ? $this->ExtendedData8 : null;
    }
    /**
     * Set ExtendedData8 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 $extendedData8
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData8($extendedData8 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData8) && !is_string($extendedData8)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData8, true), gettype($extendedData8)), __LINE__);
        }
        if (is_null($extendedData8) || (is_array($extendedData8) && empty($extendedData8))) {
            unset($this->ExtendedData8);
        } else {
            $this->ExtendedData8 = $extendedData8;
        }
        return $this;
    }
    /**
     * Get ExtendedData9 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 getExtendedData9()
    {
        return isset($this->ExtendedData9) ? $this->ExtendedData9 : null;
    }
    /**
     * Set ExtendedData9 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 $extendedData9
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExtendedData9($extendedData9 = null)
    {
        // validation for constraint: string
        if (!is_null($extendedData9) && !is_string($extendedData9)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($extendedData9, true), gettype($extendedData9)), __LINE__);
        }
        if (is_null($extendedData9) || (is_array($extendedData9) && empty($extendedData9))) {
            unset($this->ExtendedData9);
        } else {
            $this->ExtendedData9 = $extendedData9;
        }
        return $this;
    }
    /**
     * Get ExternalReference 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 getExternalReference()
    {
        return isset($this->ExternalReference) ? $this->ExternalReference : null;
    }
    /**
     * Set ExternalReference 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 $externalReference
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setExternalReference($externalReference = null)
    {
        // validation for constraint: string
        if (!is_null($externalReference) && !is_string($externalReference)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($externalReference, true), gettype($externalReference)), __LINE__);
        }
        if (is_null($externalReference) || (is_array($externalReference) && empty($externalReference))) {
            unset($this->ExternalReference);
        } else {
            $this->ExternalReference = $externalReference;
        }
        return $this;
    }
    /**
     * Get FormattedDate 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 getFormattedDate()
    {
        return isset($this->FormattedDate) ? $this->FormattedDate : null;
    }
    /**
     * Set FormattedDate 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 $formattedDate
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setFormattedDate($formattedDate = null)
    {
        // validation for constraint: string
        if (!is_null($formattedDate) && !is_string($formattedDate)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($formattedDate, true), gettype($formattedDate)), __LINE__);
        }
        if (is_null($formattedDate) || (is_array($formattedDate) && empty($formattedDate))) {
            unset($this->FormattedDate);
        } else {
            $this->FormattedDate = $formattedDate;
        }
        return $this;
    }
    /**
     * Get HallVersionId 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 getHallVersionId()
    {
        return isset($this->HallVersionId) ? $this->HallVersionId : null;
    }
    /**
     * Set HallVersionId 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 $hallVersionId
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setHallVersionId($hallVersionId = null)
    {
        // validation for constraint: string
        if (!is_null($hallVersionId) && !is_string($hallVersionId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($hallVersionId, true), gettype($hallVersionId)), __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($hallVersionId) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $hallVersionId)) {
            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($hallVersionId, true)), __LINE__);
        }
        if (is_null($hallVersionId) || (is_array($hallVersionId) && empty($hallVersionId))) {
            unset($this->HallVersionId);
        } else {
            $this->HallVersionId = $hallVersionId;
        }
        return $this;
    }
    /**
     * Get Message 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 getMessage()
    {
        return isset($this->Message) ? $this->Message : null;
    }
    /**
     * Set Message 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 $message
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setMessage(\patest\StructType\GlobalString $message = null)
    {
        if (is_null($message) || (is_array($message) && empty($message))) {
            unset($this->Message);
        } else {
            $this->Message = $message;
        }
        return $this;
    }
    /**
     * Get Name 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 getName()
    {
        return isset($this->Name) ? $this->Name : null;
    }
    /**
     * Set Name 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 $name
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setName(\patest\StructType\GlobalString $name = null)
    {
        if (is_null($name) || (is_array($name) && empty($name))) {
            unset($this->Name);
        } else {
            $this->Name = $name;
        }
        return $this;
    }
    /**
     * Get NameAndDate 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 getNameAndDate()
    {
        return isset($this->NameAndDate) ? $this->NameAndDate : null;
    }
    /**
     * Set NameAndDate 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 $nameAndDate
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setNameAndDate($nameAndDate = null)
    {
        // validation for constraint: string
        if (!is_null($nameAndDate) && !is_string($nameAndDate)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($nameAndDate, true), gettype($nameAndDate)), __LINE__);
        }
        if (is_null($nameAndDate) || (is_array($nameAndDate) && empty($nameAndDate))) {
            unset($this->NameAndDate);
        } else {
            $this->NameAndDate = $nameAndDate;
        }
        return $this;
    }
    /**
     * Get Notes 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 getNotes()
    {
        return isset($this->Notes) ? $this->Notes : null;
    }
    /**
     * Set Notes 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 $notes
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setNotes(\patest\StructType\GlobalString $notes = null)
    {
        if (is_null($notes) || (is_array($notes) && empty($notes))) {
            unset($this->Notes);
        } else {
            $this->Notes = $notes;
        }
        return $this;
    }
    /**
     * Get OwnerId 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 getOwnerId()
    {
        return isset($this->OwnerId) ? $this->OwnerId : null;
    }
    /**
     * Set OwnerId 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 $ownerId
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setOwnerId($ownerId = null)
    {
        // validation for constraint: string
        if (!is_null($ownerId) && !is_string($ownerId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($ownerId, true), gettype($ownerId)), __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($ownerId) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $ownerId)) {
            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($ownerId, true)), __LINE__);
        }
        if (is_null($ownerId) || (is_array($ownerId) && empty($ownerId))) {
            unset($this->OwnerId);
        } else {
            $this->OwnerId = $ownerId;
        }
        return $this;
    }
    /**
     * Get OwnerSpecificCode 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 getOwnerSpecificCode()
    {
        return isset($this->OwnerSpecificCode) ? $this->OwnerSpecificCode : null;
    }
    /**
     * Set OwnerSpecificCode 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 $ownerSpecificCode
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setOwnerSpecificCode($ownerSpecificCode = null)
    {
        // validation for constraint: string
        if (!is_null($ownerSpecificCode) && !is_string($ownerSpecificCode)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($ownerSpecificCode, true), gettype($ownerSpecificCode)), __LINE__);
        }
        if (is_null($ownerSpecificCode) || (is_array($ownerSpecificCode) && empty($ownerSpecificCode))) {
            unset($this->OwnerSpecificCode);
        } else {
            $this->OwnerSpecificCode = $ownerSpecificCode;
        }
        return $this;
    }
    /**
     * Get Performers 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\RecordSetOfTicketing_Printing_PerformerEvent|null
     */
    public function getPerformers()
    {
        return isset($this->Performers) ? $this->Performers : null;
    }
    /**
     * Set Performers 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\RecordSetOfTicketing_Printing_PerformerEvent $performers
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setPerformers(\patest\StructType\RecordSetOfTicketing_Printing_PerformerEvent $performers = null)
    {
        if (is_null($performers) || (is_array($performers) && empty($performers))) {
            unset($this->Performers);
        } else {
            $this->Performers = $performers;
        }
        return $this;
    }
    /**
     * Get ReviewUrl 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 getReviewUrl()
    {
        return isset($this->ReviewUrl) ? $this->ReviewUrl : null;
    }
    /**
     * Set ReviewUrl 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 $reviewUrl
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setReviewUrl(\patest\StructType\GlobalString $reviewUrl = null)
    {
        if (is_null($reviewUrl) || (is_array($reviewUrl) && empty($reviewUrl))) {
            unset($this->ReviewUrl);
        } else {
            $this->ReviewUrl = $reviewUrl;
        }
        return $this;
    }
    /**
     * Get ShowMinutes 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 getShowMinutes()
    {
        return isset($this->ShowMinutes) ? $this->ShowMinutes : null;
    }
    /**
     * Set ShowMinutes 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 $showMinutes
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setShowMinutes($showMinutes = null)
    {
        // validation for constraint: int
        if (!is_null($showMinutes) && !(is_int($showMinutes) || ctype_digit($showMinutes))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($showMinutes, true), gettype($showMinutes)), __LINE__);
        }
        if (is_null($showMinutes) || (is_array($showMinutes) && empty($showMinutes))) {
            unset($this->ShowMinutes);
        } else {
            $this->ShowMinutes = $showMinutes;
        }
        return $this;
    }
    /**
     * Get TaxonomyName 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 getTaxonomyName()
    {
        return isset($this->TaxonomyName) ? $this->TaxonomyName : null;
    }
    /**
     * Set TaxonomyName 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 $taxonomyName
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setTaxonomyName($taxonomyName = null)
    {
        // validation for constraint: string
        if (!is_null($taxonomyName) && !is_string($taxonomyName)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($taxonomyName, true), gettype($taxonomyName)), __LINE__);
        }
        if (is_null($taxonomyName) || (is_array($taxonomyName) && empty($taxonomyName))) {
            unset($this->TaxonomyName);
        } else {
            $this->TaxonomyName = $taxonomyName;
        }
        return $this;
    }
    /**
     * Get TicketNumberGlobalCounterId 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 getTicketNumberGlobalCounterId()
    {
        return isset($this->TicketNumberGlobalCounterId) ? $this->TicketNumberGlobalCounterId : null;
    }
    /**
     * Set TicketNumberGlobalCounterId 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 $ticketNumberGlobalCounterId
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setTicketNumberGlobalCounterId($ticketNumberGlobalCounterId = null)
    {
        // validation for constraint: string
        if (!is_null($ticketNumberGlobalCounterId) && !is_string($ticketNumberGlobalCounterId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($ticketNumberGlobalCounterId, true), gettype($ticketNumberGlobalCounterId)), __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($ticketNumberGlobalCounterId) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $ticketNumberGlobalCounterId)) {
            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($ticketNumberGlobalCounterId, true)), __LINE__);
        }
        if (is_null($ticketNumberGlobalCounterId) || (is_array($ticketNumberGlobalCounterId) && empty($ticketNumberGlobalCounterId))) {
            unset($this->TicketNumberGlobalCounterId);
        } else {
            $this->TicketNumberGlobalCounterId = $ticketNumberGlobalCounterId;
        }
        return $this;
    }
    /**
     * Get TrailerUrl 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 getTrailerUrl()
    {
        return isset($this->TrailerUrl) ? $this->TrailerUrl : null;
    }
    /**
     * Set TrailerUrl 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 $trailerUrl
     * @return \patest\StructType\Ticketing_Printing_Event
     */
    public function setTrailerUrl(\patest\StructType\GlobalString $trailerUrl = null)
    {
        if (is_null($trailerUrl) || (is_array($trailerUrl) && empty($trailerUrl))) {
            unset($this->TrailerUrl);
        } else {
            $this->TrailerUrl = $trailerUrl;
        }
        return $this;
    }
}
