<?php
use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for zamowKuriera StructType
 * @subpackage Structs
 */
class ZamowKuriera extends AbstractStructBase
{
    /**
     * The miejsceOdbioru
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var AdresType
     */
    public $miejsceOdbioru;
    /**
     * The oczekiwanaDataOdbioru
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $oczekiwanaDataOdbioru;
    /**
     * The oczekiwanaGodzinaOdbioru
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $oczekiwanaGodzinaOdbioru;
    /**
     * The szacowanaIloscPrzeslek
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $szacowanaIloscPrzeslek;
    /**
     * The szacowanaLacznaMasaPrzesylek
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $szacowanaLacznaMasaPrzesylek;
    /**
     * The nadawca
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var AdresType
     */
    public $nadawca;
    /**
     * The potwierdzenieZamowieniaEmail
     * Meta information extracted from the WSDL
     * - documentation: Adres email na który zostanie wysłane potwierdzenie zamówienia kuriera.
     * - base: xsd:string
     * - maxLength: 50
     * - maxOccurs: 1
     * - minLength: 6
     * - minOccurs: 0
     * @var string
     */
    public $potwierdzenieZamowieniaEmail;
    /**
     * Constructor method for zamowKuriera
     * @uses ZamowKuriera::setMiejsceOdbioru()
     * @uses ZamowKuriera::setOczekiwanaDataOdbioru()
     * @uses ZamowKuriera::setOczekiwanaGodzinaOdbioru()
     * @uses ZamowKuriera::setSzacowanaIloscPrzeslek()
     * @uses ZamowKuriera::setSzacowanaLacznaMasaPrzesylek()
     * @uses ZamowKuriera::setNadawca()
     * @uses ZamowKuriera::setPotwierdzenieZamowieniaEmail()
     * @param AdresType $miejsceOdbioru
     * @param string $oczekiwanaDataOdbioru
     * @param string $oczekiwanaGodzinaOdbioru
     * @param string $szacowanaIloscPrzeslek
     * @param string $szacowanaLacznaMasaPrzesylek
     * @param AdresType $nadawca
     * @param string $potwierdzenieZamowieniaEmail
     */
    public function __construct(AdresType $miejsceOdbioru = null, $oczekiwanaDataOdbioru = null, $oczekiwanaGodzinaOdbioru = null, $szacowanaIloscPrzeslek = null, $szacowanaLacznaMasaPrzesylek = null, AdresType $nadawca = null, $potwierdzenieZamowieniaEmail = null)
    {
        $this
            ->setMiejsceOdbioru($miejsceOdbioru)
            ->setOczekiwanaDataOdbioru($oczekiwanaDataOdbioru)
            ->setOczekiwanaGodzinaOdbioru($oczekiwanaGodzinaOdbioru)
            ->setSzacowanaIloscPrzeslek($szacowanaIloscPrzeslek)
            ->setSzacowanaLacznaMasaPrzesylek($szacowanaLacznaMasaPrzesylek)
            ->setNadawca($nadawca)
            ->setPotwierdzenieZamowieniaEmail($potwierdzenieZamowieniaEmail);
    }
    /**
     * Get miejsceOdbioru value
     * @return AdresType
     */
    public function getMiejsceOdbioru()
    {
        return $this->miejsceOdbioru;
    }
    /**
     * Set miejsceOdbioru value
     * @param AdresType $miejsceOdbioru
     * @return ZamowKuriera
     */
    public function setMiejsceOdbioru(AdresType $miejsceOdbioru = null)
    {
        $this->miejsceOdbioru = $miejsceOdbioru;
        return $this;
    }
    /**
     * Get oczekiwanaDataOdbioru value
     * @return string
     */
    public function getOczekiwanaDataOdbioru()
    {
        return $this->oczekiwanaDataOdbioru;
    }
    /**
     * Set oczekiwanaDataOdbioru value
     * @param string $oczekiwanaDataOdbioru
     * @return ZamowKuriera
     */
    public function setOczekiwanaDataOdbioru($oczekiwanaDataOdbioru = null)
    {
        $this->oczekiwanaDataOdbioru = $oczekiwanaDataOdbioru;
        return $this;
    }
    /**
     * Get oczekiwanaGodzinaOdbioru value
     * @return string
     */
    public function getOczekiwanaGodzinaOdbioru()
    {
        return $this->oczekiwanaGodzinaOdbioru;
    }
    /**
     * Set oczekiwanaGodzinaOdbioru value
     * @param string $oczekiwanaGodzinaOdbioru
     * @return ZamowKuriera
     */
    public function setOczekiwanaGodzinaOdbioru($oczekiwanaGodzinaOdbioru = null)
    {
        $this->oczekiwanaGodzinaOdbioru = $oczekiwanaGodzinaOdbioru;
        return $this;
    }
    /**
     * Get szacowanaIloscPrzeslek value
     * @return string
     */
    public function getSzacowanaIloscPrzeslek()
    {
        return $this->szacowanaIloscPrzeslek;
    }
    /**
     * Set szacowanaIloscPrzeslek value
     * @param string $szacowanaIloscPrzeslek
     * @return ZamowKuriera
     */
    public function setSzacowanaIloscPrzeslek($szacowanaIloscPrzeslek = null)
    {
        $this->szacowanaIloscPrzeslek = $szacowanaIloscPrzeslek;
        return $this;
    }
    /**
     * Get szacowanaLacznaMasaPrzesylek value
     * @return string
     */
    public function getSzacowanaLacznaMasaPrzesylek()
    {
        return $this->szacowanaLacznaMasaPrzesylek;
    }
    /**
     * Set szacowanaLacznaMasaPrzesylek value
     * @param string $szacowanaLacznaMasaPrzesylek
     * @return ZamowKuriera
     */
    public function setSzacowanaLacznaMasaPrzesylek($szacowanaLacznaMasaPrzesylek = null)
    {
        $this->szacowanaLacznaMasaPrzesylek = $szacowanaLacznaMasaPrzesylek;
        return $this;
    }
    /**
     * Get nadawca value
     * @return AdresType|null
     */
    public function getNadawca()
    {
        return $this->nadawca;
    }
    /**
     * Set nadawca value
     * @param AdresType $nadawca
     * @return ZamowKuriera
     */
    public function setNadawca(AdresType $nadawca = null)
    {
        $this->nadawca = $nadawca;
        return $this;
    }
    /**
     * Get potwierdzenieZamowieniaEmail value
     * @return string|null
     */
    public function getPotwierdzenieZamowieniaEmail()
    {
        return $this->potwierdzenieZamowieniaEmail;
    }
    /**
     * Set potwierdzenieZamowieniaEmail value
     * @param string $potwierdzenieZamowieniaEmail
     * @return ZamowKuriera
     */
    public function setPotwierdzenieZamowieniaEmail($potwierdzenieZamowieniaEmail = null)
    {
        $this->potwierdzenieZamowieniaEmail = $potwierdzenieZamowieniaEmail;
        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 ZamowKuriera
     */
    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__;
    }
}
