<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for RemainingDrivingTimes StructType
 * @subpackage Structs
 */
class RemainingDrivingTimes extends AbstractStructBase
{
    /**
     * The Driving_Time_Below_Maximum
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\RemainingTimeItemMax
     */
    public $Driving_Time_Below_Maximum;
    /**
     * The Daily_Driving_Time
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\RemainingTimeItemMax
     */
    public $Daily_Driving_Time;
    /**
     * The Days_Of_Driving_Bigger_Than_9h
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\RemainingDateItem
     */
    public $Days_Of_Driving_Bigger_Than_9h;
    /**
     * The Weekly_Driving_Time
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\RemainingTimeItemMax
     */
    public $Weekly_Driving_Time;
    /**
     * The BIWeekly_Driving_Time
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\RemainingTimeItemMax
     */
    public $BIWeekly_Driving_Time;
    /**
     * The Days_Of_Consecutive_Driving
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\RemainingDateItem
     */
    public $Days_Of_Consecutive_Driving;
    /**
     * Constructor method for RemainingDrivingTimes
     * @uses RemainingDrivingTimes::setDriving_Time_Below_Maximum()
     * @uses RemainingDrivingTimes::setDaily_Driving_Time()
     * @uses RemainingDrivingTimes::setDays_Of_Driving_Bigger_Than_9h()
     * @uses RemainingDrivingTimes::setWeekly_Driving_Time()
     * @uses RemainingDrivingTimes::setBIWeekly_Driving_Time()
     * @uses RemainingDrivingTimes::setDays_Of_Consecutive_Driving()
     * @param \StructType\RemainingTimeItemMax $driving_Time_Below_Maximum
     * @param \StructType\RemainingTimeItemMax $daily_Driving_Time
     * @param \StructType\RemainingDateItem $days_Of_Driving_Bigger_Than_9h
     * @param \StructType\RemainingTimeItemMax $weekly_Driving_Time
     * @param \StructType\RemainingTimeItemMax $bIWeekly_Driving_Time
     * @param \StructType\RemainingDateItem $days_Of_Consecutive_Driving
     */
    public function __construct(\StructType\RemainingTimeItemMax $driving_Time_Below_Maximum = null, \StructType\RemainingTimeItemMax $daily_Driving_Time = null, \StructType\RemainingDateItem $days_Of_Driving_Bigger_Than_9h = null, \StructType\RemainingTimeItemMax $weekly_Driving_Time = null, \StructType\RemainingTimeItemMax $bIWeekly_Driving_Time = null, \StructType\RemainingDateItem $days_Of_Consecutive_Driving = null)
    {
        $this
            ->setDriving_Time_Below_Maximum($driving_Time_Below_Maximum)
            ->setDaily_Driving_Time($daily_Driving_Time)
            ->setDays_Of_Driving_Bigger_Than_9h($days_Of_Driving_Bigger_Than_9h)
            ->setWeekly_Driving_Time($weekly_Driving_Time)
            ->setBIWeekly_Driving_Time($bIWeekly_Driving_Time)
            ->setDays_Of_Consecutive_Driving($days_Of_Consecutive_Driving);
    }
    /**
     * Get Driving_Time_Below_Maximum value
     * @return \StructType\RemainingTimeItemMax|null
     */
    public function getDriving_Time_Below_Maximum()
    {
        return $this->Driving_Time_Below_Maximum;
    }
    /**
     * Set Driving_Time_Below_Maximum value
     * @param \StructType\RemainingTimeItemMax $driving_Time_Below_Maximum
     * @return \StructType\RemainingDrivingTimes
     */
    public function setDriving_Time_Below_Maximum(\StructType\RemainingTimeItemMax $driving_Time_Below_Maximum = null)
    {
        $this->Driving_Time_Below_Maximum = $driving_Time_Below_Maximum;
        return $this;
    }
    /**
     * Get Daily_Driving_Time value
     * @return \StructType\RemainingTimeItemMax|null
     */
    public function getDaily_Driving_Time()
    {
        return $this->Daily_Driving_Time;
    }
    /**
     * Set Daily_Driving_Time value
     * @param \StructType\RemainingTimeItemMax $daily_Driving_Time
     * @return \StructType\RemainingDrivingTimes
     */
    public function setDaily_Driving_Time(\StructType\RemainingTimeItemMax $daily_Driving_Time = null)
    {
        $this->Daily_Driving_Time = $daily_Driving_Time;
        return $this;
    }
    /**
     * Get days_Of_Driving_Bigger_Thanh value
     * @return days_Of_Driving_Bigger_Thanh
     */
    public function getDays_Of_Driving_Bigger_Than_9h()
    {
        return $this->Days_Of_Driving_Bigger_Than_9h;
    }
    /**
     * Set days_Of_Driving_Bigger_Thanh value
     * @param days_Of_Driving_Bigger_Thanh $days_Of_Driving_Bigger_Thanh
     * @return \StructType\RemainingDrivingTimes
     */
    public function setDays_Of_Driving_Bigger_Than_9h(\StructType\RemainingDateItem $days_Of_Driving_Bigger_Than_9h = null)
    {
        $this->Days_Of_Driving_Bigger_Than_9h = $days_Of_Driving_Bigger_Than_9h;
        return $this;
    }
    /**
     * Get Weekly_Driving_Time value
     * @return \StructType\RemainingTimeItemMax|null
     */
    public function getWeekly_Driving_Time()
    {
        return $this->Weekly_Driving_Time;
    }
    /**
     * Set Weekly_Driving_Time value
     * @param \StructType\RemainingTimeItemMax $weekly_Driving_Time
     * @return \StructType\RemainingDrivingTimes
     */
    public function setWeekly_Driving_Time(\StructType\RemainingTimeItemMax $weekly_Driving_Time = null)
    {
        $this->Weekly_Driving_Time = $weekly_Driving_Time;
        return $this;
    }
    /**
     * Get BIWeekly_Driving_Time value
     * @return \StructType\RemainingTimeItemMax|null
     */
    public function getBIWeekly_Driving_Time()
    {
        return $this->BIWeekly_Driving_Time;
    }
    /**
     * Set BIWeekly_Driving_Time value
     * @param \StructType\RemainingTimeItemMax $bIWeekly_Driving_Time
     * @return \StructType\RemainingDrivingTimes
     */
    public function setBIWeekly_Driving_Time(\StructType\RemainingTimeItemMax $bIWeekly_Driving_Time = null)
    {
        $this->BIWeekly_Driving_Time = $bIWeekly_Driving_Time;
        return $this;
    }
    /**
     * Get Days_Of_Consecutive_Driving value
     * @return \StructType\RemainingDateItem|null
     */
    public function getDays_Of_Consecutive_Driving()
    {
        return $this->Days_Of_Consecutive_Driving;
    }
    /**
     * Set Days_Of_Consecutive_Driving value
     * @param \StructType\RemainingDateItem $days_Of_Consecutive_Driving
     * @return \StructType\RemainingDrivingTimes
     */
    public function setDays_Of_Consecutive_Driving(\StructType\RemainingDateItem $days_Of_Consecutive_Driving = null)
    {
        $this->Days_Of_Consecutive_Driving = $days_Of_Consecutive_Driving;
        return $this;
    }
}
