<?php

namespace Mnm;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for CustomerWithoutServiceInformation StructType
 * @subpackage Structs
 */
class CustomerWithoutServiceInformation extends EntityUpdatedHistory
{
    /**
     * The TypeEnum
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $TypeEnum;
    /**
     * The OwnerTypeEnum
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $OwnerTypeEnum;
    /**
     * The ParentCustomer
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $ParentCustomer;
    /**
     * The Name
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Name;
    /**
     * The VkTckNo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $VkTckNo;
    /**
     * The RegisterNumber
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $RegisterNumber;
    /**
     * The MersisNo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $MersisNo;
    /**
     * The TaxOffice
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $TaxOffice;
    /**
     * The WebSite
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $WebSite;
    /**
     * The AddressCountry
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AddressCountry;
    /**
     * The AddressCity
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AddressCity;
    /**
     * The AddressSubDivisionName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AddressSubDivisionName;
    /**
     * The AddressStreetName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AddressStreetName;
    /**
     * The AddressStreetName2
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AddressStreetName2;
    /**
     * The AddressBuildingName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AddressBuildingName;
    /**
     * The AddressBuildingNumber
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AddressBuildingNumber;
    /**
     * The AddressRoom
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AddressRoom;
    /**
     * The AddressPostalZone
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AddressPostalZone;
    /**
     * The AddressRegion
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $AddressRegion;
    /**
     * The Surname
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Surname;
    /**
     * The MiddleName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $MiddleName;
    /**
     * The NameSuffix
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $NameSuffix;
    /**
     * The Title
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Title;
    /**
     * The ContactName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $ContactName;
    /**
     * The ContactPhone
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $ContactPhone;
    /**
     * The ContactEmail
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $ContactEmail;
    /**
     * Constructor method for CustomerWithoutServiceInformation
     * @uses CustomerWithoutServiceInformation::setTypeEnum()
     * @uses CustomerWithoutServiceInformation::setOwnerTypeEnum()
     * @uses CustomerWithoutServiceInformation::setParentCustomer()
     * @uses CustomerWithoutServiceInformation::setName()
     * @uses CustomerWithoutServiceInformation::setVkTckNo()
     * @uses CustomerWithoutServiceInformation::setRegisterNumber()
     * @uses CustomerWithoutServiceInformation::setMersisNo()
     * @uses CustomerWithoutServiceInformation::setTaxOffice()
     * @uses CustomerWithoutServiceInformation::setWebSite()
     * @uses CustomerWithoutServiceInformation::setAddressCountry()
     * @uses CustomerWithoutServiceInformation::setAddressCity()
     * @uses CustomerWithoutServiceInformation::setAddressSubDivisionName()
     * @uses CustomerWithoutServiceInformation::setAddressStreetName()
     * @uses CustomerWithoutServiceInformation::setAddressStreetName2()
     * @uses CustomerWithoutServiceInformation::setAddressBuildingName()
     * @uses CustomerWithoutServiceInformation::setAddressBuildingNumber()
     * @uses CustomerWithoutServiceInformation::setAddressRoom()
     * @uses CustomerWithoutServiceInformation::setAddressPostalZone()
     * @uses CustomerWithoutServiceInformation::setAddressRegion()
     * @uses CustomerWithoutServiceInformation::setSurname()
     * @uses CustomerWithoutServiceInformation::setMiddleName()
     * @uses CustomerWithoutServiceInformation::setNameSuffix()
     * @uses CustomerWithoutServiceInformation::setTitle()
     * @uses CustomerWithoutServiceInformation::setContactName()
     * @uses CustomerWithoutServiceInformation::setContactPhone()
     * @uses CustomerWithoutServiceInformation::setContactEmail()
     * @param string $typeEnum
     * @param string $ownerTypeEnum
     * @param int $parentCustomer
     * @param string $name
     * @param string $vkTckNo
     * @param string $registerNumber
     * @param string $mersisNo
     * @param string $taxOffice
     * @param string $webSite
     * @param string $addressCountry
     * @param string $addressCity
     * @param string $addressSubDivisionName
     * @param string $addressStreetName
     * @param string $addressStreetName2
     * @param string $addressBuildingName
     * @param string $addressBuildingNumber
     * @param string $addressRoom
     * @param string $addressPostalZone
     * @param string $addressRegion
     * @param string $surname
     * @param string $middleName
     * @param string $nameSuffix
     * @param string $title
     * @param string $contactName
     * @param string $contactPhone
     * @param string $contactEmail
     */
    public function __construct($typeEnum = null, $ownerTypeEnum = null, $parentCustomer = null, $name = null, $vkTckNo = null, $registerNumber = null, $mersisNo = null, $taxOffice = null, $webSite = null, $addressCountry = null, $addressCity = null, $addressSubDivisionName = null, $addressStreetName = null, $addressStreetName2 = null, $addressBuildingName = null, $addressBuildingNumber = null, $addressRoom = null, $addressPostalZone = null, $addressRegion = null, $surname = null, $middleName = null, $nameSuffix = null, $title = null, $contactName = null, $contactPhone = null, $contactEmail = null)
    {
        $this
            ->setTypeEnum($typeEnum)
            ->setOwnerTypeEnum($ownerTypeEnum)
            ->setParentCustomer($parentCustomer)
            ->setName($name)
            ->setVkTckNo($vkTckNo)
            ->setRegisterNumber($registerNumber)
            ->setMersisNo($mersisNo)
            ->setTaxOffice($taxOffice)
            ->setWebSite($webSite)
            ->setAddressCountry($addressCountry)
            ->setAddressCity($addressCity)
            ->setAddressSubDivisionName($addressSubDivisionName)
            ->setAddressStreetName($addressStreetName)
            ->setAddressStreetName2($addressStreetName2)
            ->setAddressBuildingName($addressBuildingName)
            ->setAddressBuildingNumber($addressBuildingNumber)
            ->setAddressRoom($addressRoom)
            ->setAddressPostalZone($addressPostalZone)
            ->setAddressRegion($addressRegion)
            ->setSurname($surname)
            ->setMiddleName($middleName)
            ->setNameSuffix($nameSuffix)
            ->setTitle($title)
            ->setContactName($contactName)
            ->setContactPhone($contactPhone)
            ->setContactEmail($contactEmail);
    }
    /**
     * Get TypeEnum value
     * @return string
     */
    public function getTypeEnum()
    {
        return $this->TypeEnum;
    }
    /**
     * Set TypeEnum value
     * @param string $typeEnum
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setTypeEnum($typeEnum = null)
    {
        $this->TypeEnum = $typeEnum;
        return $this;
    }
    /**
     * Get OwnerTypeEnum value
     * @return string
     */
    public function getOwnerTypeEnum()
    {
        return $this->OwnerTypeEnum;
    }
    /**
     * Set OwnerTypeEnum value
     * @param string $ownerTypeEnum
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setOwnerTypeEnum($ownerTypeEnum = null)
    {
        $this->OwnerTypeEnum = $ownerTypeEnum;
        return $this;
    }
    /**
     * Get ParentCustomer value
     * @return int
     */
    public function getParentCustomer()
    {
        return $this->ParentCustomer;
    }
    /**
     * Set ParentCustomer value
     * @param int $parentCustomer
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setParentCustomer($parentCustomer = null)
    {
        $this->ParentCustomer = $parentCustomer;
        return $this;
    }
    /**
     * Get Name value
     * @return string|null
     */
    public function getName()
    {
        return $this->Name;
    }
    /**
     * Set Name value
     * @param string $name
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setName($name = null)
    {
        $this->Name = $name;
        return $this;
    }
    /**
     * Get VkTckNo value
     * @return string|null
     */
    public function getVkTckNo()
    {
        return $this->VkTckNo;
    }
    /**
     * Set VkTckNo value
     * @param string $vkTckNo
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setVkTckNo($vkTckNo = null)
    {
        $this->VkTckNo = $vkTckNo;
        return $this;
    }
    /**
     * Get RegisterNumber value
     * @return string|null
     */
    public function getRegisterNumber()
    {
        return $this->RegisterNumber;
    }
    /**
     * Set RegisterNumber value
     * @param string $registerNumber
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setRegisterNumber($registerNumber = null)
    {
        $this->RegisterNumber = $registerNumber;
        return $this;
    }
    /**
     * Get MersisNo value
     * @return string|null
     */
    public function getMersisNo()
    {
        return $this->MersisNo;
    }
    /**
     * Set MersisNo value
     * @param string $mersisNo
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setMersisNo($mersisNo = null)
    {
        $this->MersisNo = $mersisNo;
        return $this;
    }
    /**
     * Get TaxOffice value
     * @return string|null
     */
    public function getTaxOffice()
    {
        return $this->TaxOffice;
    }
    /**
     * Set TaxOffice value
     * @param string $taxOffice
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setTaxOffice($taxOffice = null)
    {
        $this->TaxOffice = $taxOffice;
        return $this;
    }
    /**
     * Get WebSite value
     * @return string|null
     */
    public function getWebSite()
    {
        return $this->WebSite;
    }
    /**
     * Set WebSite value
     * @param string $webSite
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setWebSite($webSite = null)
    {
        $this->WebSite = $webSite;
        return $this;
    }
    /**
     * Get AddressCountry value
     * @return string|null
     */
    public function getAddressCountry()
    {
        return $this->AddressCountry;
    }
    /**
     * Set AddressCountry value
     * @param string $addressCountry
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setAddressCountry($addressCountry = null)
    {
        $this->AddressCountry = $addressCountry;
        return $this;
    }
    /**
     * Get AddressCity value
     * @return string|null
     */
    public function getAddressCity()
    {
        return $this->AddressCity;
    }
    /**
     * Set AddressCity value
     * @param string $addressCity
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setAddressCity($addressCity = null)
    {
        $this->AddressCity = $addressCity;
        return $this;
    }
    /**
     * Get AddressSubDivisionName value
     * @return string|null
     */
    public function getAddressSubDivisionName()
    {
        return $this->AddressSubDivisionName;
    }
    /**
     * Set AddressSubDivisionName value
     * @param string $addressSubDivisionName
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setAddressSubDivisionName($addressSubDivisionName = null)
    {
        $this->AddressSubDivisionName = $addressSubDivisionName;
        return $this;
    }
    /**
     * Get AddressStreetName value
     * @return string|null
     */
    public function getAddressStreetName()
    {
        return $this->AddressStreetName;
    }
    /**
     * Set AddressStreetName value
     * @param string $addressStreetName
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setAddressStreetName($addressStreetName = null)
    {
        $this->AddressStreetName = $addressStreetName;
        return $this;
    }
    /**
     * Get AddressStreetName2 value
     * @return string|null
     */
    public function getAddressStreetName2()
    {
        return $this->AddressStreetName2;
    }
    /**
     * Set AddressStreetName2 value
     * @param string $addressStreetName2
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setAddressStreetName2($addressStreetName2 = null)
    {
        $this->AddressStreetName2 = $addressStreetName2;
        return $this;
    }
    /**
     * Get AddressBuildingName value
     * @return string|null
     */
    public function getAddressBuildingName()
    {
        return $this->AddressBuildingName;
    }
    /**
     * Set AddressBuildingName value
     * @param string $addressBuildingName
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setAddressBuildingName($addressBuildingName = null)
    {
        $this->AddressBuildingName = $addressBuildingName;
        return $this;
    }
    /**
     * Get AddressBuildingNumber value
     * @return string|null
     */
    public function getAddressBuildingNumber()
    {
        return $this->AddressBuildingNumber;
    }
    /**
     * Set AddressBuildingNumber value
     * @param string $addressBuildingNumber
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setAddressBuildingNumber($addressBuildingNumber = null)
    {
        $this->AddressBuildingNumber = $addressBuildingNumber;
        return $this;
    }
    /**
     * Get AddressRoom value
     * @return string|null
     */
    public function getAddressRoom()
    {
        return $this->AddressRoom;
    }
    /**
     * Set AddressRoom value
     * @param string $addressRoom
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setAddressRoom($addressRoom = null)
    {
        $this->AddressRoom = $addressRoom;
        return $this;
    }
    /**
     * Get AddressPostalZone value
     * @return string|null
     */
    public function getAddressPostalZone()
    {
        return $this->AddressPostalZone;
    }
    /**
     * Set AddressPostalZone value
     * @param string $addressPostalZone
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setAddressPostalZone($addressPostalZone = null)
    {
        $this->AddressPostalZone = $addressPostalZone;
        return $this;
    }
    /**
     * Get AddressRegion value
     * @return string|null
     */
    public function getAddressRegion()
    {
        return $this->AddressRegion;
    }
    /**
     * Set AddressRegion value
     * @param string $addressRegion
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setAddressRegion($addressRegion = null)
    {
        $this->AddressRegion = $addressRegion;
        return $this;
    }
    /**
     * Get Surname value
     * @return string|null
     */
    public function getSurname()
    {
        return $this->Surname;
    }
    /**
     * Set Surname value
     * @param string $surname
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setSurname($surname = null)
    {
        $this->Surname = $surname;
        return $this;
    }
    /**
     * Get MiddleName value
     * @return string|null
     */
    public function getMiddleName()
    {
        return $this->MiddleName;
    }
    /**
     * Set MiddleName value
     * @param string $middleName
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setMiddleName($middleName = null)
    {
        $this->MiddleName = $middleName;
        return $this;
    }
    /**
     * Get NameSuffix value
     * @return string|null
     */
    public function getNameSuffix()
    {
        return $this->NameSuffix;
    }
    /**
     * Set NameSuffix value
     * @param string $nameSuffix
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setNameSuffix($nameSuffix = null)
    {
        $this->NameSuffix = $nameSuffix;
        return $this;
    }
    /**
     * Get Title value
     * @return string|null
     */
    public function getTitle()
    {
        return $this->Title;
    }
    /**
     * Set Title value
     * @param string $title
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setTitle($title = null)
    {
        $this->Title = $title;
        return $this;
    }
    /**
     * Get ContactName value
     * @return string|null
     */
    public function getContactName()
    {
        return $this->ContactName;
    }
    /**
     * Set ContactName value
     * @param string $contactName
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setContactName($contactName = null)
    {
        $this->ContactName = $contactName;
        return $this;
    }
    /**
     * Get ContactPhone value
     * @return string|null
     */
    public function getContactPhone()
    {
        return $this->ContactPhone;
    }
    /**
     * Set ContactPhone value
     * @param string $contactPhone
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setContactPhone($contactPhone = null)
    {
        $this->ContactPhone = $contactPhone;
        return $this;
    }
    /**
     * Get ContactEmail value
     * @return string|null
     */
    public function getContactEmail()
    {
        return $this->ContactEmail;
    }
    /**
     * Set ContactEmail value
     * @param string $contactEmail
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public function setContactEmail($contactEmail = null)
    {
        $this->ContactEmail = $contactEmail;
        return $this;
    }
    /**
     * Method called when an object has been exported with var_export() functions
     * It allows to return an object instantiated with the values
     * @see AbstractStructBase::__set_state()
     * @uses AbstractStructBase::__set_state()
     * @param array $array the exported values
     * @return \Mnm\CustomerWithoutServiceInformation
     */
    public static function __set_state(array $array)
    {
        return parent::__set_state($array);
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
