<?php

namespace Speedex\SpeedexStruct;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for BOL SpeedexStruct
 * @package Speedex
 * @subpackage Structs
 */
class SpeedexBOL extends AbstractStructBase
{
    /**
     * The _cust_Flag
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $_cust_Flag;
    /**
     * The Items
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $Items;
    /**
     * The PayCode_Flag
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $PayCode_Flag;
    /**
     * The Pod_Amount_Cash
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var float
     */
    public $Pod_Amount_Cash;
    /**
     * The Saturday_Delivery
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $Saturday_Delivery;
    /**
     * The Security_Value
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var int
     */
    public $Security_Value;
    /**
     * The Voucher_Weight
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var float
     */
    public $Voucher_Weight;
    /**
     * The MasterId
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $MasterId;
    /**
     * The Members
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \Speedex\SpeedexArray\SpeedexArrayOfMember
     */
    public $Members;
    /**
     * The Shipping_Agent
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Shipping_Agent;
    /**
     * The No
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $No;
    /**
     * The BranchBankCode
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $BranchBankCode;
    /**
     * The Comments_2853_1
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Comments_2853_1;
    /**
     * The Comments_2853_2
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Comments_2853_2;
    /**
     * The Comments_2853_3
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Comments_2853_3;
    /**
     * The Paratiriseis_2853_1
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Paratiriseis_2853_1;
    /**
     * The Paratiriseis_2853_2
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Paratiriseis_2853_2;
    /**
     * The Paratiriseis_2853_3
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Paratiriseis_2853_3;
    /**
     * The Pod_Amount_Description
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Pod_Amount_Description;
    /**
     * The RCV_Addr1
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $RCV_Addr1;
    /**
     * The RCV_Country
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $RCV_Country;
    /**
     * The RCV_Name
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $RCV_Name;
    /**
     * The RCV_Tel1
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $RCV_Tel1;
    /**
     * The RCV_Zip_Code
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $RCV_Zip_Code;
    /**
     * The Snd_agreement_id
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Snd_agreement_id;
    /**
     * The SND_Customer_Id
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $SND_Customer_Id;
    /**
     * The Time_Limit
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Time_Limit;
    /**
     * The voucher_code
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $voucher_code;
    /**
     * Constructor method for BOL
     * @uses SpeedexBOL::set_cust_Flag()
     * @uses SpeedexBOL::setItems()
     * @uses SpeedexBOL::setPayCode_Flag()
     * @uses SpeedexBOL::setPod_Amount_Cash()
     * @uses SpeedexBOL::setSaturday_Delivery()
     * @uses SpeedexBOL::setSecurity_Value()
     * @uses SpeedexBOL::setVoucher_Weight()
     * @uses SpeedexBOL::setMasterId()
     * @uses SpeedexBOL::setMembers()
     * @uses SpeedexBOL::setShipping_Agent()
     * @uses SpeedexBOL::setNo()
     * @uses SpeedexBOL::setBranchBankCode()
     * @uses SpeedexBOL::setComments_2853_1()
     * @uses SpeedexBOL::setComments_2853_2()
     * @uses SpeedexBOL::setComments_2853_3()
     * @uses SpeedexBOL::setParatiriseis_2853_1()
     * @uses SpeedexBOL::setParatiriseis_2853_2()
     * @uses SpeedexBOL::setParatiriseis_2853_3()
     * @uses SpeedexBOL::setPod_Amount_Description()
     * @uses SpeedexBOL::setRCV_Addr1()
     * @uses SpeedexBOL::setRCV_Country()
     * @uses SpeedexBOL::setRCV_Name()
     * @uses SpeedexBOL::setRCV_Tel1()
     * @uses SpeedexBOL::setRCV_Zip_Code()
     * @uses SpeedexBOL::setSnd_agreement_id()
     * @uses SpeedexBOL::setSND_Customer_Id()
     * @uses SpeedexBOL::setTime_Limit()
     * @uses SpeedexBOL::setVoucher_code()
     * @param int $_cust_Flag
     * @param int $items
     * @param int $payCode_Flag
     * @param float $pod_Amount_Cash
     * @param int $saturday_Delivery
     * @param int $security_Value
     * @param float $voucher_Weight
     * @param string $masterId
     * @param \Speedex\SpeedexArray\SpeedexArrayOfMember $members
     * @param string $shipping_Agent
     * @param string $no
     * @param string $branchBankCode
     * @param string $comments_2853_1
     * @param string $comments_2853_2
     * @param string $comments_2853_3
     * @param string $paratiriseis_2853_1
     * @param string $paratiriseis_2853_2
     * @param string $paratiriseis_2853_3
     * @param string $pod_Amount_Description
     * @param string $rCV_Addr1
     * @param string $rCV_Country
     * @param string $rCV_Name
     * @param string $rCV_Tel1
     * @param string $rCV_Zip_Code
     * @param string $snd_agreement_id
     * @param string $sND_Customer_Id
     * @param string $time_Limit
     * @param string $voucher_code
     */
    public function __construct($_cust_Flag = null, $items = null, $payCode_Flag = null, $pod_Amount_Cash = null, $saturday_Delivery = null, $security_Value = null, $voucher_Weight = null, $masterId = null, \Speedex\SpeedexArray\SpeedexArrayOfMember $members = null, $shipping_Agent = null, $no = null, $branchBankCode = null, $comments_2853_1 = null, $comments_2853_2 = null, $comments_2853_3 = null, $paratiriseis_2853_1 = null, $paratiriseis_2853_2 = null, $paratiriseis_2853_3 = null, $pod_Amount_Description = null, $rCV_Addr1 = null, $rCV_Country = null, $rCV_Name = null, $rCV_Tel1 = null, $rCV_Zip_Code = null, $snd_agreement_id = null, $sND_Customer_Id = null, $time_Limit = null, $voucher_code = null)
    {
        $this
            ->set_cust_Flag($_cust_Flag)
            ->setItems($items)
            ->setPayCode_Flag($payCode_Flag)
            ->setPod_Amount_Cash($pod_Amount_Cash)
            ->setSaturday_Delivery($saturday_Delivery)
            ->setSecurity_Value($security_Value)
            ->setVoucher_Weight($voucher_Weight)
            ->setMasterId($masterId)
            ->setMembers($members)
            ->setShipping_Agent($shipping_Agent)
            ->setNo($no)
            ->setBranchBankCode($branchBankCode)
            ->setComments_2853_1($comments_2853_1)
            ->setComments_2853_2($comments_2853_2)
            ->setComments_2853_3($comments_2853_3)
            ->setParatiriseis_2853_1($paratiriseis_2853_1)
            ->setParatiriseis_2853_2($paratiriseis_2853_2)
            ->setParatiriseis_2853_3($paratiriseis_2853_3)
            ->setPod_Amount_Description($pod_Amount_Description)
            ->setRCV_Addr1($rCV_Addr1)
            ->setRCV_Country($rCV_Country)
            ->setRCV_Name($rCV_Name)
            ->setRCV_Tel1($rCV_Tel1)
            ->setRCV_Zip_Code($rCV_Zip_Code)
            ->setSnd_agreement_id($snd_agreement_id)
            ->setSND_Customer_Id($sND_Customer_Id)
            ->setTime_Limit($time_Limit)
            ->setVoucher_code($voucher_code);
    }
    /**
     * Get _cust_Flag value
     * @return int
     */
    public function get_cust_Flag()
    {
        return $this->_cust_Flag;
    }
    /**
     * Set _cust_Flag value
     * @param int $_cust_Flag
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function set_cust_Flag($_cust_Flag = null)
    {
        // validation for constraint: int
        if (!is_null($_cust_Flag) && !(is_int($_cust_Flag) || ctype_digit($_cust_Flag))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($_cust_Flag, true), gettype($_cust_Flag)), __LINE__);
        }
        $this->_cust_Flag = $_cust_Flag;
        return $this;
    }
    /**
     * Get Items value
     * @return int
     */
    public function getItems()
    {
        return $this->Items;
    }
    /**
     * Set Items value
     * @param int $items
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setItems($items = null)
    {
        // validation for constraint: int
        if (!is_null($items) && !(is_int($items) || ctype_digit($items))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($items, true), gettype($items)), __LINE__);
        }
        $this->Items = $items;
        return $this;
    }
    /**
     * Get PayCode_Flag value
     * @return int
     */
    public function getPayCode_Flag()
    {
        return $this->PayCode_Flag;
    }
    /**
     * Set PayCode_Flag value
     * @param int $payCode_Flag
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setPayCode_Flag($payCode_Flag = null)
    {
        // validation for constraint: int
        if (!is_null($payCode_Flag) && !(is_int($payCode_Flag) || ctype_digit($payCode_Flag))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($payCode_Flag, true), gettype($payCode_Flag)), __LINE__);
        }
        $this->PayCode_Flag = $payCode_Flag;
        return $this;
    }
    /**
     * Get Pod_Amount_Cash value
     * @return float
     */
    public function getPod_Amount_Cash()
    {
        return $this->Pod_Amount_Cash;
    }
    /**
     * Set Pod_Amount_Cash value
     * @param float $pod_Amount_Cash
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setPod_Amount_Cash($pod_Amount_Cash = null)
    {
        // validation for constraint: float
        if (!is_null($pod_Amount_Cash) && !(is_float($pod_Amount_Cash) || is_numeric($pod_Amount_Cash))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($pod_Amount_Cash, true), gettype($pod_Amount_Cash)), __LINE__);
        }
        $this->Pod_Amount_Cash = $pod_Amount_Cash;
        return $this;
    }
    /**
     * Get Saturday_Delivery value
     * @return int
     */
    public function getSaturday_Delivery()
    {
        return $this->Saturday_Delivery;
    }
    /**
     * Set Saturday_Delivery value
     * @param int $saturday_Delivery
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setSaturday_Delivery($saturday_Delivery = null)
    {
        // validation for constraint: int
        if (!is_null($saturday_Delivery) && !(is_int($saturday_Delivery) || ctype_digit($saturday_Delivery))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($saturday_Delivery, true), gettype($saturday_Delivery)), __LINE__);
        }
        $this->Saturday_Delivery = $saturday_Delivery;
        return $this;
    }
    /**
     * Get Security_Value value
     * @return int
     */
    public function getSecurity_Value()
    {
        return $this->Security_Value;
    }
    /**
     * Set Security_Value value
     * @param int $security_Value
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setSecurity_Value($security_Value = null)
    {
        // validation for constraint: int
        if (!is_null($security_Value) && !(is_int($security_Value) || ctype_digit($security_Value))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide an integer value, %s given', var_export($security_Value, true), gettype($security_Value)), __LINE__);
        }
        $this->Security_Value = $security_Value;
        return $this;
    }
    /**
     * Get Voucher_Weight value
     * @return float
     */
    public function getVoucher_Weight()
    {
        return $this->Voucher_Weight;
    }
    /**
     * Set Voucher_Weight value
     * @param float $voucher_Weight
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setVoucher_Weight($voucher_Weight = null)
    {
        // validation for constraint: float
        if (!is_null($voucher_Weight) && !(is_float($voucher_Weight) || is_numeric($voucher_Weight))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($voucher_Weight, true), gettype($voucher_Weight)), __LINE__);
        }
        $this->Voucher_Weight = $voucher_Weight;
        return $this;
    }
    /**
     * Get MasterId value
     * @return string|null
     */
    public function getMasterId()
    {
        return $this->MasterId;
    }
    /**
     * Set MasterId value
     * @param string $masterId
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setMasterId($masterId = null)
    {
        // validation for constraint: string
        if (!is_null($masterId) && !is_string($masterId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($masterId, true), gettype($masterId)), __LINE__);
        }
        $this->MasterId = $masterId;
        return $this;
    }
    /**
     * Get Members value
     * @return \Speedex\SpeedexArray\SpeedexArrayOfMember|null
     */
    public function getMembers()
    {
        return $this->Members;
    }
    /**
     * Set Members value
     * @param \Speedex\SpeedexArray\SpeedexArrayOfMember $members
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setMembers(\Speedex\SpeedexArray\SpeedexArrayOfMember $members = null)
    {
        $this->Members = $members;
        return $this;
    }
    /**
     * Get Shipping_Agent value
     * @return string|null
     */
    public function getShipping_Agent()
    {
        return $this->Shipping_Agent;
    }
    /**
     * Set Shipping_Agent value
     * @param string $shipping_Agent
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setShipping_Agent($shipping_Agent = null)
    {
        // validation for constraint: string
        if (!is_null($shipping_Agent) && !is_string($shipping_Agent)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($shipping_Agent, true), gettype($shipping_Agent)), __LINE__);
        }
        $this->Shipping_Agent = $shipping_Agent;
        return $this;
    }
    /**
     * Get No value
     * @return string|null
     */
    public function getNo()
    {
        return $this->No;
    }
    /**
     * Set No value
     * @param string $no
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setNo($no = null)
    {
        // validation for constraint: string
        if (!is_null($no) && !is_string($no)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($no, true), gettype($no)), __LINE__);
        }
        $this->No = $no;
        return $this;
    }
    /**
     * Get BranchBankCode value
     * @return string|null
     */
    public function getBranchBankCode()
    {
        return $this->BranchBankCode;
    }
    /**
     * Set BranchBankCode value
     * @param string $branchBankCode
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setBranchBankCode($branchBankCode = null)
    {
        // validation for constraint: string
        if (!is_null($branchBankCode) && !is_string($branchBankCode)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($branchBankCode, true), gettype($branchBankCode)), __LINE__);
        }
        $this->BranchBankCode = $branchBankCode;
        return $this;
    }
    /**
     * Get comments value
     * @return comments
     */
    public function getComments_2853_1()
    {
        return $this->Comments_2853_1;
    }
    /**
     * Set comments value
     * @param comments $comments
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setComments_2853_1($comments_2853_1 = null)
    {
        // validation for constraint: string
        if (!is_null($comments_2853_1) && !is_string($comments_2853_1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($comments_2853_1, true), gettype($comments_2853_1)), __LINE__);
        }
        $this->Comments_2853_1 = $comments_2853_1;
        return $this;
    }
    /**
     * Get comments value
     * @return comments
     */
    public function getComments_2853_2()
    {
        return $this->Comments_2853_2;
    }
    /**
     * Set comments value
     * @param comments $comments
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setComments_2853_2($comments_2853_2 = null)
    {
        // validation for constraint: string
        if (!is_null($comments_2853_2) && !is_string($comments_2853_2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($comments_2853_2, true), gettype($comments_2853_2)), __LINE__);
        }
        $this->Comments_2853_2 = $comments_2853_2;
        return $this;
    }
    /**
     * Get comments value
     * @return comments
     */
    public function getComments_2853_3()
    {
        return $this->Comments_2853_3;
    }
    /**
     * Set comments value
     * @param comments $comments
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setComments_2853_3($comments_2853_3 = null)
    {
        // validation for constraint: string
        if (!is_null($comments_2853_3) && !is_string($comments_2853_3)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($comments_2853_3, true), gettype($comments_2853_3)), __LINE__);
        }
        $this->Comments_2853_3 = $comments_2853_3;
        return $this;
    }
    /**
     * Get paratiriseis value
     * @return paratiriseis
     */
    public function getParatiriseis_2853_1()
    {
        return $this->Paratiriseis_2853_1;
    }
    /**
     * Set paratiriseis value
     * @param paratiriseis $paratiriseis
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setParatiriseis_2853_1($paratiriseis_2853_1 = null)
    {
        // validation for constraint: string
        if (!is_null($paratiriseis_2853_1) && !is_string($paratiriseis_2853_1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($paratiriseis_2853_1, true), gettype($paratiriseis_2853_1)), __LINE__);
        }
        $this->Paratiriseis_2853_1 = $paratiriseis_2853_1;
        return $this;
    }
    /**
     * Get paratiriseis value
     * @return paratiriseis
     */
    public function getParatiriseis_2853_2()
    {
        return $this->Paratiriseis_2853_2;
    }
    /**
     * Set paratiriseis value
     * @param paratiriseis $paratiriseis
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setParatiriseis_2853_2($paratiriseis_2853_2 = null)
    {
        // validation for constraint: string
        if (!is_null($paratiriseis_2853_2) && !is_string($paratiriseis_2853_2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($paratiriseis_2853_2, true), gettype($paratiriseis_2853_2)), __LINE__);
        }
        $this->Paratiriseis_2853_2 = $paratiriseis_2853_2;
        return $this;
    }
    /**
     * Get paratiriseis value
     * @return paratiriseis
     */
    public function getParatiriseis_2853_3()
    {
        return $this->Paratiriseis_2853_3;
    }
    /**
     * Set paratiriseis value
     * @param paratiriseis $paratiriseis
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setParatiriseis_2853_3($paratiriseis_2853_3 = null)
    {
        // validation for constraint: string
        if (!is_null($paratiriseis_2853_3) && !is_string($paratiriseis_2853_3)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($paratiriseis_2853_3, true), gettype($paratiriseis_2853_3)), __LINE__);
        }
        $this->Paratiriseis_2853_3 = $paratiriseis_2853_3;
        return $this;
    }
    /**
     * Get Pod_Amount_Description value
     * @return string|null
     */
    public function getPod_Amount_Description()
    {
        return $this->Pod_Amount_Description;
    }
    /**
     * Set Pod_Amount_Description value
     * @param string $pod_Amount_Description
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setPod_Amount_Description($pod_Amount_Description = null)
    {
        // validation for constraint: string
        if (!is_null($pod_Amount_Description) && !is_string($pod_Amount_Description)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($pod_Amount_Description, true), gettype($pod_Amount_Description)), __LINE__);
        }
        $this->Pod_Amount_Description = $pod_Amount_Description;
        return $this;
    }
    /**
     * Get RCV_Addr1 value
     * @return string|null
     */
    public function getRCV_Addr1()
    {
        return $this->RCV_Addr1;
    }
    /**
     * Set RCV_Addr1 value
     * @param string $rCV_Addr1
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setRCV_Addr1($rCV_Addr1 = null)
    {
        // validation for constraint: string
        if (!is_null($rCV_Addr1) && !is_string($rCV_Addr1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rCV_Addr1, true), gettype($rCV_Addr1)), __LINE__);
        }
        $this->RCV_Addr1 = $rCV_Addr1;
        return $this;
    }
    /**
     * Get RCV_Country value
     * @return string|null
     */
    public function getRCV_Country()
    {
        return $this->RCV_Country;
    }
    /**
     * Set RCV_Country value
     * @param string $rCV_Country
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setRCV_Country($rCV_Country = null)
    {
        // validation for constraint: string
        if (!is_null($rCV_Country) && !is_string($rCV_Country)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rCV_Country, true), gettype($rCV_Country)), __LINE__);
        }
        $this->RCV_Country = $rCV_Country;
        return $this;
    }
    /**
     * Get RCV_Name value
     * @return string|null
     */
    public function getRCV_Name()
    {
        return $this->RCV_Name;
    }
    /**
     * Set RCV_Name value
     * @param string $rCV_Name
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setRCV_Name($rCV_Name = null)
    {
        // validation for constraint: string
        if (!is_null($rCV_Name) && !is_string($rCV_Name)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rCV_Name, true), gettype($rCV_Name)), __LINE__);
        }
        $this->RCV_Name = $rCV_Name;
        return $this;
    }
    /**
     * Get RCV_Tel1 value
     * @return string|null
     */
    public function getRCV_Tel1()
    {
        return $this->RCV_Tel1;
    }
    /**
     * Set RCV_Tel1 value
     * @param string $rCV_Tel1
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setRCV_Tel1($rCV_Tel1 = null)
    {
        // validation for constraint: string
        if (!is_null($rCV_Tel1) && !is_string($rCV_Tel1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rCV_Tel1, true), gettype($rCV_Tel1)), __LINE__);
        }
        $this->RCV_Tel1 = $rCV_Tel1;
        return $this;
    }
    /**
     * Get RCV_Zip_Code value
     * @return string|null
     */
    public function getRCV_Zip_Code()
    {
        return $this->RCV_Zip_Code;
    }
    /**
     * Set RCV_Zip_Code value
     * @param string $rCV_Zip_Code
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setRCV_Zip_Code($rCV_Zip_Code = null)
    {
        // validation for constraint: string
        if (!is_null($rCV_Zip_Code) && !is_string($rCV_Zip_Code)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($rCV_Zip_Code, true), gettype($rCV_Zip_Code)), __LINE__);
        }
        $this->RCV_Zip_Code = $rCV_Zip_Code;
        return $this;
    }
    /**
     * Get Snd_agreement_id value
     * @return string|null
     */
    public function getSnd_agreement_id()
    {
        return $this->Snd_agreement_id;
    }
    /**
     * Set Snd_agreement_id value
     * @param string $snd_agreement_id
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setSnd_agreement_id($snd_agreement_id = null)
    {
        // validation for constraint: string
        if (!is_null($snd_agreement_id) && !is_string($snd_agreement_id)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($snd_agreement_id, true), gettype($snd_agreement_id)), __LINE__);
        }
        $this->Snd_agreement_id = $snd_agreement_id;
        return $this;
    }
    /**
     * Get SND_Customer_Id value
     * @return string|null
     */
    public function getSND_Customer_Id()
    {
        return $this->SND_Customer_Id;
    }
    /**
     * Set SND_Customer_Id value
     * @param string $sND_Customer_Id
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setSND_Customer_Id($sND_Customer_Id = null)
    {
        // validation for constraint: string
        if (!is_null($sND_Customer_Id) && !is_string($sND_Customer_Id)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($sND_Customer_Id, true), gettype($sND_Customer_Id)), __LINE__);
        }
        $this->SND_Customer_Id = $sND_Customer_Id;
        return $this;
    }
    /**
     * Get Time_Limit value
     * @return string|null
     */
    public function getTime_Limit()
    {
        return $this->Time_Limit;
    }
    /**
     * Set Time_Limit value
     * @param string $time_Limit
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setTime_Limit($time_Limit = null)
    {
        // validation for constraint: string
        if (!is_null($time_Limit) && !is_string($time_Limit)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($time_Limit, true), gettype($time_Limit)), __LINE__);
        }
        $this->Time_Limit = $time_Limit;
        return $this;
    }
    /**
     * Get voucher_code value
     * @return string|null
     */
    public function getVoucher_code()
    {
        return $this->voucher_code;
    }
    /**
     * Set voucher_code value
     * @param string $voucher_code
     * @return \Speedex\SpeedexStruct\SpeedexBOL
     */
    public function setVoucher_code($voucher_code = null)
    {
        // validation for constraint: string
        if (!is_null($voucher_code) && !is_string($voucher_code)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($voucher_code, true), gettype($voucher_code)), __LINE__);
        }
        $this->voucher_code = $voucher_code;
        return $this;
    }
}
