<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for InterfacePersonUpdate_V3 StructType
 * @subpackage Structs
 */
class InterfacePersonUpdate_V3 extends Person_V3
{
    /**
     * The Site
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\IdentifierSite
     */
    public $Site;
    /**
     * The Responsible
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\Identifier
     */
    public $Responsible;
    /**
     * The TachoCardInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\InterfaceTachoCardInfoUpdate
     */
    public $TachoCardInfo;
    /**
     * The DriverToUpdate
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\Identifier
     */
    public $DriverToUpdate;
    /**
     * The MyTransicsLink
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\MyTransicsUpdateInfo
     */
    public $MyTransicsLink;
    /**
     * Constructor method for InterfacePersonUpdate_V3
     * @uses InterfacePersonUpdate_V3::setSite()
     * @uses InterfacePersonUpdate_V3::setResponsible()
     * @uses InterfacePersonUpdate_V3::setTachoCardInfo()
     * @uses InterfacePersonUpdate_V3::setDriverToUpdate()
     * @uses InterfacePersonUpdate_V3::setMyTransicsLink()
     * @param \StructType\IdentifierSite $site
     * @param \StructType\Identifier $responsible
     * @param \StructType\InterfaceTachoCardInfoUpdate $tachoCardInfo
     * @param \StructType\Identifier $driverToUpdate
     * @param \StructType\MyTransicsUpdateInfo $myTransicsLink
     */
    public function __construct(\StructType\IdentifierSite $site = null, \StructType\Identifier $responsible = null, \StructType\InterfaceTachoCardInfoUpdate $tachoCardInfo = null, \StructType\Identifier $driverToUpdate = null, \StructType\MyTransicsUpdateInfo $myTransicsLink = null)
    {
        $this
            ->setSite($site)
            ->setResponsible($responsible)
            ->setTachoCardInfo($tachoCardInfo)
            ->setDriverToUpdate($driverToUpdate)
            ->setMyTransicsLink($myTransicsLink);
    }
    /**
     * Get Site value
     * @return \StructType\IdentifierSite|null
     */
    public function getSite()
    {
        return $this->Site;
    }
    /**
     * Set Site value
     * @param \StructType\IdentifierSite $site
     * @return \StructType\InterfacePersonUpdate_V3
     */
    public function setSite(\StructType\IdentifierSite $site = null)
    {
        $this->Site = $site;
        return $this;
    }
    /**
     * Get Responsible value
     * @return \StructType\Identifier|null
     */
    public function getResponsible()
    {
        return $this->Responsible;
    }
    /**
     * Set Responsible value
     * @param \StructType\Identifier $responsible
     * @return \StructType\InterfacePersonUpdate_V3
     */
    public function setResponsible(\StructType\Identifier $responsible = null)
    {
        $this->Responsible = $responsible;
        return $this;
    }
    /**
     * Get TachoCardInfo value
     * @return \StructType\InterfaceTachoCardInfoUpdate|null
     */
    public function getTachoCardInfo()
    {
        return $this->TachoCardInfo;
    }
    /**
     * Set TachoCardInfo value
     * @param \StructType\InterfaceTachoCardInfoUpdate $tachoCardInfo
     * @return \StructType\InterfacePersonUpdate_V3
     */
    public function setTachoCardInfo(\StructType\InterfaceTachoCardInfoUpdate $tachoCardInfo = null)
    {
        $this->TachoCardInfo = $tachoCardInfo;
        return $this;
    }
    /**
     * Get DriverToUpdate value
     * @return \StructType\Identifier|null
     */
    public function getDriverToUpdate()
    {
        return $this->DriverToUpdate;
    }
    /**
     * Set DriverToUpdate value
     * @param \StructType\Identifier $driverToUpdate
     * @return \StructType\InterfacePersonUpdate_V3
     */
    public function setDriverToUpdate(\StructType\Identifier $driverToUpdate = null)
    {
        $this->DriverToUpdate = $driverToUpdate;
        return $this;
    }
    /**
     * Get MyTransicsLink value
     * @return \StructType\MyTransicsUpdateInfo|null
     */
    public function getMyTransicsLink()
    {
        return $this->MyTransicsLink;
    }
    /**
     * Set MyTransicsLink value
     * @param \StructType\MyTransicsUpdateInfo $myTransicsLink
     * @return \StructType\InterfacePersonUpdate_V3
     */
    public function setMyTransicsLink(\StructType\MyTransicsUpdateInfo $myTransicsLink = null)
    {
        $this->MyTransicsLink = $myTransicsLink;
        return $this;
    }
}
