<?php

namespace \GlsApi\Tracking;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for GLSUnitRow StructType
 * @subpackage Structs
 */
class GLSUnitRow extends AbstractStructBase
{
    /**
     * The RefNo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $RefNo;
    /**
     * The InitialDateTime
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var \\GlsApi\Tracking\GLSDateTime
     */
    public $InitialDateTime;
    /**
     * The EvtCodeNo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $EvtCodeNo;
    /**
     * The EvtReasonNo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $EvtReasonNo;
    /**
     * The CountryCode
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $CountryCode;
    /**
     * The ZipCode
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $ZipCode;
    /**
     * The City
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $City;
    /**
     * The ConsigneeName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $ConsigneeName;
    /**
     * The ReferenceKey
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $ReferenceKey;
    /**
     * The CurrentStatus
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $CurrentStatus;
    /**
     * Constructor method for GLSUnitRow
     * @uses GLSUnitRow::setRefNo()
     * @uses GLSUnitRow::setInitialDateTime()
     * @uses GLSUnitRow::setEvtCodeNo()
     * @uses GLSUnitRow::setEvtReasonNo()
     * @uses GLSUnitRow::setCountryCode()
     * @uses GLSUnitRow::setZipCode()
     * @uses GLSUnitRow::setCity()
     * @uses GLSUnitRow::setConsigneeName()
     * @uses GLSUnitRow::setReferenceKey()
     * @uses GLSUnitRow::setCurrentStatus()
     * @param string $refNo
     * @param \\GlsApi\Tracking\GLSDateTime $initialDateTime
     * @param string $evtCodeNo
     * @param string $evtReasonNo
     * @param string $countryCode
     * @param string $zipCode
     * @param string $city
     * @param string $consigneeName
     * @param string $referenceKey
     * @param string $currentStatus
     */
    public function __construct($refNo = null, \\GlsApi\Tracking\GLSDateTime $initialDateTime = null, $evtCodeNo = null, $evtReasonNo = null, $countryCode = null, $zipCode = null, $city = null, $consigneeName = null, $referenceKey = null, $currentStatus = null)
    {
        $this
            ->setRefNo($refNo)
            ->setInitialDateTime($initialDateTime)
            ->setEvtCodeNo($evtCodeNo)
            ->setEvtReasonNo($evtReasonNo)
            ->setCountryCode($countryCode)
            ->setZipCode($zipCode)
            ->setCity($city)
            ->setConsigneeName($consigneeName)
            ->setReferenceKey($referenceKey)
            ->setCurrentStatus($currentStatus);
    }
    /**
     * Get RefNo value
     * @return string
     */
    public function getRefNo()
    {
        return $this->RefNo;
    }
    /**
     * Set RefNo value
     * @param string $refNo
     * @return \\GlsApi\Tracking\GLSUnitRow
     */
    public function setRefNo($refNo = null)
    {
        $this->RefNo = $refNo;
        return $this;
    }
    /**
     * Get InitialDateTime value
     * @return \\GlsApi\Tracking\GLSDateTime
     */
    public function getInitialDateTime()
    {
        return $this->InitialDateTime;
    }
    /**
     * Set InitialDateTime value
     * @param \\GlsApi\Tracking\GLSDateTime $initialDateTime
     * @return \\GlsApi\Tracking\GLSUnitRow
     */
    public function setInitialDateTime(\\GlsApi\Tracking\GLSDateTime $initialDateTime = null)
    {
        $this->InitialDateTime = $initialDateTime;
        return $this;
    }
    /**
     * Get EvtCodeNo value
     * @return string
     */
    public function getEvtCodeNo()
    {
        return $this->EvtCodeNo;
    }
    /**
     * Set EvtCodeNo value
     * @param string $evtCodeNo
     * @return \\GlsApi\Tracking\GLSUnitRow
     */
    public function setEvtCodeNo($evtCodeNo = null)
    {
        $this->EvtCodeNo = $evtCodeNo;
        return $this;
    }
    /**
     * Get EvtReasonNo value
     * @return string
     */
    public function getEvtReasonNo()
    {
        return $this->EvtReasonNo;
    }
    /**
     * Set EvtReasonNo value
     * @param string $evtReasonNo
     * @return \\GlsApi\Tracking\GLSUnitRow
     */
    public function setEvtReasonNo($evtReasonNo = null)
    {
        $this->EvtReasonNo = $evtReasonNo;
        return $this;
    }
    /**
     * Get CountryCode value
     * @return string
     */
    public function getCountryCode()
    {
        return $this->CountryCode;
    }
    /**
     * Set CountryCode value
     * @param string $countryCode
     * @return \\GlsApi\Tracking\GLSUnitRow
     */
    public function setCountryCode($countryCode = null)
    {
        $this->CountryCode = $countryCode;
        return $this;
    }
    /**
     * Get ZipCode value
     * @return string
     */
    public function getZipCode()
    {
        return $this->ZipCode;
    }
    /**
     * Set ZipCode value
     * @param string $zipCode
     * @return \\GlsApi\Tracking\GLSUnitRow
     */
    public function setZipCode($zipCode = null)
    {
        $this->ZipCode = $zipCode;
        return $this;
    }
    /**
     * Get City value
     * @return string
     */
    public function getCity()
    {
        return $this->City;
    }
    /**
     * Set City value
     * @param string $city
     * @return \\GlsApi\Tracking\GLSUnitRow
     */
    public function setCity($city = null)
    {
        $this->City = $city;
        return $this;
    }
    /**
     * Get ConsigneeName value
     * @return string
     */
    public function getConsigneeName()
    {
        return $this->ConsigneeName;
    }
    /**
     * Set ConsigneeName value
     * @param string $consigneeName
     * @return \\GlsApi\Tracking\GLSUnitRow
     */
    public function setConsigneeName($consigneeName = null)
    {
        $this->ConsigneeName = $consigneeName;
        return $this;
    }
    /**
     * Get ReferenceKey value
     * @return string
     */
    public function getReferenceKey()
    {
        return $this->ReferenceKey;
    }
    /**
     * Set ReferenceKey value
     * @param string $referenceKey
     * @return \\GlsApi\Tracking\GLSUnitRow
     */
    public function setReferenceKey($referenceKey = null)
    {
        $this->ReferenceKey = $referenceKey;
        return $this;
    }
    /**
     * Get CurrentStatus value
     * @return string
     */
    public function getCurrentStatus()
    {
        return $this->CurrentStatus;
    }
    /**
     * Set CurrentStatus value
     * @param string $currentStatus
     * @return \\GlsApi\Tracking\GLSUnitRow
     */
    public function setCurrentStatus($currentStatus = null)
    {
        $this->CurrentStatus = $currentStatus;
        return $this;
    }
}
