<?php

namespace GlsApi\Struct;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for cConsignExt Struct
 * @subpackage Structs
 */
class CConsignExt extends AbstractStructBase
{
    /**
     * The rname1
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $rname1;
    /**
     * The rcountry
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $rcountry;
    /**
     * The rzipcode
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $rzipcode;
    /**
     * The rcity
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $rcity;
    /**
     * The rstreet
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $rstreet;
    /**
     * The rname2
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $rname2;
    /**
     * The rname3
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $rname3;
    /**
     * The rphone
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $rphone;
    /**
     * The rcontact
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $rcontact;
    /**
     * The references
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $references;
    /**
     * The notes
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $notes;
    /**
     * The quantity
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var int
     */
    public $quantity;
    /**
     * The weight
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var float
     */
    public $weight;
    /**
     * The date
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $date;
    /**
     * The pfc
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $pfc;
    /**
     * The sendaddr
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \GlsApi\Struct\CSenderAddress
     */
    public $sendaddr;
    /**
     * The srv_ade
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $srv_ade;
    /**
     * The srv_bool
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \GlsApi\Struct\CServicesBool
     */
    public $srv_bool;
    /**
     * The srv_daw
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \GlsApi\Struct\CServiceDAW
     */
    public $srv_daw;
    /**
     * The srv_ident
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \GlsApi\Struct\CServiceIDENT
     */
    public $srv_ident;
    /**
     * The srv_ppe
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \GlsApi\Struct\CServicePPE
     */
    public $srv_ppe;
    /**
     * The srv_sds
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \GlsApi\Struct\CServiceSDS
     */
    public $srv_sds;
    /**
     * The parcels
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \GlsApi\Array\CParcelsArray
     */
    public $parcels;
    /**
     * The customs_dec
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \GlsApi\Struct\CCustomsDeclaration
     */
    public $customs_dec;
    /**
     * Constructor method for cConsignExt
     * @uses CConsignExt::setRname1()
     * @uses CConsignExt::setRcountry()
     * @uses CConsignExt::setRzipcode()
     * @uses CConsignExt::setRcity()
     * @uses CConsignExt::setRstreet()
     * @uses CConsignExt::setRname2()
     * @uses CConsignExt::setRname3()
     * @uses CConsignExt::setRphone()
     * @uses CConsignExt::setRcontact()
     * @uses CConsignExt::setReferences()
     * @uses CConsignExt::setNotes()
     * @uses CConsignExt::setQuantity()
     * @uses CConsignExt::setWeight()
     * @uses CConsignExt::setDate()
     * @uses CConsignExt::setPfc()
     * @uses CConsignExt::setSendaddr()
     * @uses CConsignExt::setSrv_ade()
     * @uses CConsignExt::setSrv_bool()
     * @uses CConsignExt::setSrv_daw()
     * @uses CConsignExt::setSrv_ident()
     * @uses CConsignExt::setSrv_ppe()
     * @uses CConsignExt::setSrv_sds()
     * @uses CConsignExt::setParcels()
     * @uses CConsignExt::setCustoms_dec()
     * @param string $rname1
     * @param string $rcountry
     * @param string $rzipcode
     * @param string $rcity
     * @param string $rstreet
     * @param string $rname2
     * @param string $rname3
     * @param string $rphone
     * @param string $rcontact
     * @param string $references
     * @param string $notes
     * @param int $quantity
     * @param float $weight
     * @param string $date
     * @param string $pfc
     * @param \GlsApi\Struct\CSenderAddress $sendaddr
     * @param string $srv_ade
     * @param \GlsApi\Struct\CServicesBool $srv_bool
     * @param \GlsApi\Struct\CServiceDAW $srv_daw
     * @param \GlsApi\Struct\CServiceIDENT $srv_ident
     * @param \GlsApi\Struct\CServicePPE $srv_ppe
     * @param \GlsApi\Struct\CServiceSDS $srv_sds
     * @param \GlsApi\Array\CParcelsArray $parcels
     * @param \GlsApi\Struct\CCustomsDeclaration $customs_dec
     */
    public function __construct($rname1 = null, $rcountry = null, $rzipcode = null, $rcity = null, $rstreet = null, $rname2 = null, $rname3 = null, $rphone = null, $rcontact = null, $references = null, $notes = null, $quantity = null, $weight = null, $date = null, $pfc = null, \GlsApi\Struct\CSenderAddress $sendaddr = null, $srv_ade = null, \GlsApi\Struct\CServicesBool $srv_bool = null, \GlsApi\Struct\CServiceDAW $srv_daw = null, \GlsApi\Struct\CServiceIDENT $srv_ident = null, \GlsApi\Struct\CServicePPE $srv_ppe = null, \GlsApi\Struct\CServiceSDS $srv_sds = null, \GlsApi\Array\CParcelsArray $parcels = null, \GlsApi\Struct\CCustomsDeclaration $customs_dec = null)
    {
        $this
            ->setRname1($rname1)
            ->setRcountry($rcountry)
            ->setRzipcode($rzipcode)
            ->setRcity($rcity)
            ->setRstreet($rstreet)
            ->setRname2($rname2)
            ->setRname3($rname3)
            ->setRphone($rphone)
            ->setRcontact($rcontact)
            ->setReferences($references)
            ->setNotes($notes)
            ->setQuantity($quantity)
            ->setWeight($weight)
            ->setDate($date)
            ->setPfc($pfc)
            ->setSendaddr($sendaddr)
            ->setSrv_ade($srv_ade)
            ->setSrv_bool($srv_bool)
            ->setSrv_daw($srv_daw)
            ->setSrv_ident($srv_ident)
            ->setSrv_ppe($srv_ppe)
            ->setSrv_sds($srv_sds)
            ->setParcels($parcels)
            ->setCustoms_dec($customs_dec);
    }
    /**
     * Get rname1 value
     * @return string
     */
    public function getRname1()
    {
        return $this->rname1;
    }
    /**
     * Set rname1 value
     * @param string $rname1
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setRname1($rname1 = null)
    {
        // validation for constraint: string
        if (!is_null($rname1) && !is_string($rname1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rname1, true), gettype($rname1)), __LINE__);
        }
        $this->rname1 = $rname1;
        return $this;
    }
    /**
     * Get rcountry value
     * @return string
     */
    public function getRcountry()
    {
        return $this->rcountry;
    }
    /**
     * Set rcountry value
     * @param string $rcountry
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setRcountry($rcountry = null)
    {
        // validation for constraint: string
        if (!is_null($rcountry) && !is_string($rcountry)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rcountry, true), gettype($rcountry)), __LINE__);
        }
        $this->rcountry = $rcountry;
        return $this;
    }
    /**
     * Get rzipcode value
     * @return string
     */
    public function getRzipcode()
    {
        return $this->rzipcode;
    }
    /**
     * Set rzipcode value
     * @param string $rzipcode
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setRzipcode($rzipcode = null)
    {
        // validation for constraint: string
        if (!is_null($rzipcode) && !is_string($rzipcode)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rzipcode, true), gettype($rzipcode)), __LINE__);
        }
        $this->rzipcode = $rzipcode;
        return $this;
    }
    /**
     * Get rcity value
     * @return string
     */
    public function getRcity()
    {
        return $this->rcity;
    }
    /**
     * Set rcity value
     * @param string $rcity
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setRcity($rcity = null)
    {
        // validation for constraint: string
        if (!is_null($rcity) && !is_string($rcity)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rcity, true), gettype($rcity)), __LINE__);
        }
        $this->rcity = $rcity;
        return $this;
    }
    /**
     * Get rstreet value
     * @return string
     */
    public function getRstreet()
    {
        return $this->rstreet;
    }
    /**
     * Set rstreet value
     * @param string $rstreet
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setRstreet($rstreet = null)
    {
        // validation for constraint: string
        if (!is_null($rstreet) && !is_string($rstreet)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rstreet, true), gettype($rstreet)), __LINE__);
        }
        $this->rstreet = $rstreet;
        return $this;
    }
    /**
     * Get rname2 value
     * @return string|null
     */
    public function getRname2()
    {
        return $this->rname2;
    }
    /**
     * Set rname2 value
     * @param string $rname2
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setRname2($rname2 = null)
    {
        // validation for constraint: string
        if (!is_null($rname2) && !is_string($rname2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rname2, true), gettype($rname2)), __LINE__);
        }
        $this->rname2 = $rname2;
        return $this;
    }
    /**
     * Get rname3 value
     * @return string|null
     */
    public function getRname3()
    {
        return $this->rname3;
    }
    /**
     * Set rname3 value
     * @param string $rname3
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setRname3($rname3 = null)
    {
        // validation for constraint: string
        if (!is_null($rname3) && !is_string($rname3)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rname3, true), gettype($rname3)), __LINE__);
        }
        $this->rname3 = $rname3;
        return $this;
    }
    /**
     * Get rphone value
     * @return string|null
     */
    public function getRphone()
    {
        return $this->rphone;
    }
    /**
     * Set rphone value
     * @param string $rphone
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setRphone($rphone = null)
    {
        // validation for constraint: string
        if (!is_null($rphone) && !is_string($rphone)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rphone, true), gettype($rphone)), __LINE__);
        }
        $this->rphone = $rphone;
        return $this;
    }
    /**
     * Get rcontact value
     * @return string|null
     */
    public function getRcontact()
    {
        return $this->rcontact;
    }
    /**
     * Set rcontact value
     * @param string $rcontact
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setRcontact($rcontact = null)
    {
        // validation for constraint: string
        if (!is_null($rcontact) && !is_string($rcontact)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rcontact, true), gettype($rcontact)), __LINE__);
        }
        $this->rcontact = $rcontact;
        return $this;
    }
    /**
     * Get references value
     * @return string|null
     */
    public function getReferences()
    {
        return $this->references;
    }
    /**
     * Set references value
     * @param string $references
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setReferences($references = null)
    {
        // validation for constraint: string
        if (!is_null($references) && !is_string($references)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($references, true), gettype($references)), __LINE__);
        }
        $this->references = $references;
        return $this;
    }
    /**
     * Get notes value
     * @return string|null
     */
    public function getNotes()
    {
        return $this->notes;
    }
    /**
     * Set notes value
     * @param string $notes
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setNotes($notes = null)
    {
        // validation for constraint: string
        if (!is_null($notes) && !is_string($notes)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($notes, true), gettype($notes)), __LINE__);
        }
        $this->notes = $notes;
        return $this;
    }
    /**
     * Get quantity value
     * @return int|null
     */
    public function getQuantity()
    {
        return $this->quantity;
    }
    /**
     * Set quantity value
     * @param int $quantity
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setQuantity($quantity = null)
    {
        // validation for constraint: int
        if (!is_null($quantity) && !(is_int($quantity) || ctype_digit($quantity))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($quantity, true), gettype($quantity)), __LINE__);
        }
        $this->quantity = $quantity;
        return $this;
    }
    /**
     * Get weight value
     * @return float|null
     */
    public function getWeight()
    {
        return $this->weight;
    }
    /**
     * Set weight value
     * @param float $weight
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setWeight($weight = null)
    {
        // validation for constraint: float
        if (!is_null($weight) && !(is_float($weight) || is_numeric($weight))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($weight, true), gettype($weight)), __LINE__);
        }
        $this->weight = $weight;
        return $this;
    }
    /**
     * Get date value
     * @return string|null
     */
    public function getDate()
    {
        return $this->date;
    }
    /**
     * Set date value
     * @param string $date
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setDate($date = null)
    {
        // validation for constraint: string
        if (!is_null($date) && !is_string($date)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($date, true), gettype($date)), __LINE__);
        }
        $this->date = $date;
        return $this;
    }
    /**
     * Get pfc value
     * @return string|null
     */
    public function getPfc()
    {
        return $this->pfc;
    }
    /**
     * Set pfc value
     * @param string $pfc
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setPfc($pfc = null)
    {
        // validation for constraint: string
        if (!is_null($pfc) && !is_string($pfc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($pfc, true), gettype($pfc)), __LINE__);
        }
        $this->pfc = $pfc;
        return $this;
    }
    /**
     * Get sendaddr value
     * @return \GlsApi\Struct\CSenderAddress|null
     */
    public function getSendaddr()
    {
        return $this->sendaddr;
    }
    /**
     * Set sendaddr value
     * @param \GlsApi\Struct\CSenderAddress $sendaddr
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setSendaddr(\GlsApi\Struct\CSenderAddress $sendaddr = null)
    {
        $this->sendaddr = $sendaddr;
        return $this;
    }
    /**
     * Get srv_ade value
     * @return string|null
     */
    public function getSrv_ade()
    {
        return $this->srv_ade;
    }
    /**
     * Set srv_ade value
     * @param string $srv_ade
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setSrv_ade($srv_ade = null)
    {
        // validation for constraint: string
        if (!is_null($srv_ade) && !is_string($srv_ade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($srv_ade, true), gettype($srv_ade)), __LINE__);
        }
        $this->srv_ade = $srv_ade;
        return $this;
    }
    /**
     * Get srv_bool value
     * @return \GlsApi\Struct\CServicesBool|null
     */
    public function getSrv_bool()
    {
        return $this->srv_bool;
    }
    /**
     * Set srv_bool value
     * @param \GlsApi\Struct\CServicesBool $srv_bool
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setSrv_bool(\GlsApi\Struct\CServicesBool $srv_bool = null)
    {
        $this->srv_bool = $srv_bool;
        return $this;
    }
    /**
     * Get srv_daw value
     * @return \GlsApi\Struct\CServiceDAW|null
     */
    public function getSrv_daw()
    {
        return $this->srv_daw;
    }
    /**
     * Set srv_daw value
     * @param \GlsApi\Struct\CServiceDAW $srv_daw
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setSrv_daw(\GlsApi\Struct\CServiceDAW $srv_daw = null)
    {
        $this->srv_daw = $srv_daw;
        return $this;
    }
    /**
     * Get srv_ident value
     * @return \GlsApi\Struct\CServiceIDENT|null
     */
    public function getSrv_ident()
    {
        return $this->srv_ident;
    }
    /**
     * Set srv_ident value
     * @param \GlsApi\Struct\CServiceIDENT $srv_ident
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setSrv_ident(\GlsApi\Struct\CServiceIDENT $srv_ident = null)
    {
        $this->srv_ident = $srv_ident;
        return $this;
    }
    /**
     * Get srv_ppe value
     * @return \GlsApi\Struct\CServicePPE|null
     */
    public function getSrv_ppe()
    {
        return $this->srv_ppe;
    }
    /**
     * Set srv_ppe value
     * @param \GlsApi\Struct\CServicePPE $srv_ppe
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setSrv_ppe(\GlsApi\Struct\CServicePPE $srv_ppe = null)
    {
        $this->srv_ppe = $srv_ppe;
        return $this;
    }
    /**
     * Get srv_sds value
     * @return \GlsApi\Struct\CServiceSDS|null
     */
    public function getSrv_sds()
    {
        return $this->srv_sds;
    }
    /**
     * Set srv_sds value
     * @param \GlsApi\Struct\CServiceSDS $srv_sds
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setSrv_sds(\GlsApi\Struct\CServiceSDS $srv_sds = null)
    {
        $this->srv_sds = $srv_sds;
        return $this;
    }
    /**
     * Get parcels value
     * @return \GlsApi\Array\CParcelsArray|null
     */
    public function getParcels()
    {
        return $this->parcels;
    }
    /**
     * Set parcels value
     * @param \GlsApi\Array\CParcelsArray $parcels
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setParcels(\GlsApi\Array\CParcelsArray $parcels = null)
    {
        $this->parcels = $parcels;
        return $this;
    }
    /**
     * Get customs_dec value
     * @return \GlsApi\Struct\CCustomsDeclaration|null
     */
    public function getCustoms_dec()
    {
        return $this->customs_dec;
    }
    /**
     * Set customs_dec value
     * @param \GlsApi\Struct\CCustomsDeclaration $customs_dec
     * @return \GlsApi\Struct\CConsignExt
     */
    public function setCustoms_dec(\GlsApi\Struct\CCustomsDeclaration $customs_dec = null)
    {
        $this->customs_dec = $customs_dec;
        return $this;
    }
}
