<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for InterfacePersonInsert_V3 StructType
 * @subpackage Structs
 */
class InterfacePersonInsert_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\InterfaceTachoCardInfoInsert
     */
    public $TachoCardInfo;
    /**
     * The MyTransicsLink
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\MyTransicsInfo
     */
    public $MyTransicsLink;
    /**
     * Constructor method for InterfacePersonInsert_V3
     * @uses InterfacePersonInsert_V3::setSite()
     * @uses InterfacePersonInsert_V3::setResponsible()
     * @uses InterfacePersonInsert_V3::setTachoCardInfo()
     * @uses InterfacePersonInsert_V3::setMyTransicsLink()
     * @param \StructType\IdentifierSite $site
     * @param \StructType\Identifier $responsible
     * @param \StructType\InterfaceTachoCardInfoInsert $tachoCardInfo
     * @param \StructType\MyTransicsInfo $myTransicsLink
     */
    public function __construct(\StructType\IdentifierSite $site = null, \StructType\Identifier $responsible = null, \StructType\InterfaceTachoCardInfoInsert $tachoCardInfo = null, \StructType\MyTransicsInfo $myTransicsLink = null)
    {
        $this
            ->setSite($site)
            ->setResponsible($responsible)
            ->setTachoCardInfo($tachoCardInfo)
            ->setMyTransicsLink($myTransicsLink);
    }
    /**
     * Get Site value
     * @return \StructType\IdentifierSite|null
     */
    public function getSite()
    {
        return $this->Site;
    }
    /**
     * Set Site value
     * @param \StructType\IdentifierSite $site
     * @return \StructType\InterfacePersonInsert_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\InterfacePersonInsert_V3
     */
    public function setResponsible(\StructType\Identifier $responsible = null)
    {
        $this->Responsible = $responsible;
        return $this;
    }
    /**
     * Get TachoCardInfo value
     * @return \StructType\InterfaceTachoCardInfoInsert|null
     */
    public function getTachoCardInfo()
    {
        return $this->TachoCardInfo;
    }
    /**
     * Set TachoCardInfo value
     * @param \StructType\InterfaceTachoCardInfoInsert $tachoCardInfo
     * @return \StructType\InterfacePersonInsert_V3
     */
    public function setTachoCardInfo(\StructType\InterfaceTachoCardInfoInsert $tachoCardInfo = null)
    {
        $this->TachoCardInfo = $tachoCardInfo;
        return $this;
    }
    /**
     * Get MyTransicsLink value
     * @return \StructType\MyTransicsInfo|null
     */
    public function getMyTransicsLink()
    {
        return $this->MyTransicsLink;
    }
    /**
     * Set MyTransicsLink value
     * @param \StructType\MyTransicsInfo $myTransicsLink
     * @return \StructType\InterfacePersonInsert_V3
     */
    public function setMyTransicsLink(\StructType\MyTransicsInfo $myTransicsLink = null)
    {
        $this->MyTransicsLink = $myTransicsLink;
        return $this;
    }
}
