<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for WeeklyCompensatedRestingTimes StructType
 * @subpackage Structs
 */
class WeeklyCompensatedRestingTimes extends AbstractStructBase
{
    /**
     * The Compensated_Weekly_Rest
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\RemainingTimeItemMin
     */
    public $Compensated_Weekly_Rest;
    /**
     * The Weekly_Rest_Minus1
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\RemainingTimeItemMin
     */
    public $Weekly_Rest_Minus1;
    /**
     * The Weekly_Rest_Minus2
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\RemainingTimeItemMin
     */
    public $Weekly_Rest_Minus2;
    /**
     * The Weekly_Rest_Minus3
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\RemainingTimeItemMin
     */
    public $Weekly_Rest_Minus3;
    /**
     * Constructor method for WeeklyCompensatedRestingTimes
     * @uses WeeklyCompensatedRestingTimes::setCompensated_Weekly_Rest()
     * @uses WeeklyCompensatedRestingTimes::setWeekly_Rest_Minus1()
     * @uses WeeklyCompensatedRestingTimes::setWeekly_Rest_Minus2()
     * @uses WeeklyCompensatedRestingTimes::setWeekly_Rest_Minus3()
     * @param \StructType\RemainingTimeItemMin $compensated_Weekly_Rest
     * @param \StructType\RemainingTimeItemMin $weekly_Rest_Minus1
     * @param \StructType\RemainingTimeItemMin $weekly_Rest_Minus2
     * @param \StructType\RemainingTimeItemMin $weekly_Rest_Minus3
     */
    public function __construct(\StructType\RemainingTimeItemMin $compensated_Weekly_Rest = null, \StructType\RemainingTimeItemMin $weekly_Rest_Minus1 = null, \StructType\RemainingTimeItemMin $weekly_Rest_Minus2 = null, \StructType\RemainingTimeItemMin $weekly_Rest_Minus3 = null)
    {
        $this
            ->setCompensated_Weekly_Rest($compensated_Weekly_Rest)
            ->setWeekly_Rest_Minus1($weekly_Rest_Minus1)
            ->setWeekly_Rest_Minus2($weekly_Rest_Minus2)
            ->setWeekly_Rest_Minus3($weekly_Rest_Minus3);
    }
    /**
     * Get Compensated_Weekly_Rest value
     * @return \StructType\RemainingTimeItemMin|null
     */
    public function getCompensated_Weekly_Rest()
    {
        return $this->Compensated_Weekly_Rest;
    }
    /**
     * Set Compensated_Weekly_Rest value
     * @param \StructType\RemainingTimeItemMin $compensated_Weekly_Rest
     * @return \StructType\WeeklyCompensatedRestingTimes
     */
    public function setCompensated_Weekly_Rest(\StructType\RemainingTimeItemMin $compensated_Weekly_Rest = null)
    {
        $this->Compensated_Weekly_Rest = $compensated_Weekly_Rest;
        return $this;
    }
    /**
     * Get Weekly_Rest_Minus1 value
     * @return \StructType\RemainingTimeItemMin|null
     */
    public function getWeekly_Rest_Minus1()
    {
        return $this->Weekly_Rest_Minus1;
    }
    /**
     * Set Weekly_Rest_Minus1 value
     * @param \StructType\RemainingTimeItemMin $weekly_Rest_Minus1
     * @return \StructType\WeeklyCompensatedRestingTimes
     */
    public function setWeekly_Rest_Minus1(\StructType\RemainingTimeItemMin $weekly_Rest_Minus1 = null)
    {
        $this->Weekly_Rest_Minus1 = $weekly_Rest_Minus1;
        return $this;
    }
    /**
     * Get Weekly_Rest_Minus2 value
     * @return \StructType\RemainingTimeItemMin|null
     */
    public function getWeekly_Rest_Minus2()
    {
        return $this->Weekly_Rest_Minus2;
    }
    /**
     * Set Weekly_Rest_Minus2 value
     * @param \StructType\RemainingTimeItemMin $weekly_Rest_Minus2
     * @return \StructType\WeeklyCompensatedRestingTimes
     */
    public function setWeekly_Rest_Minus2(\StructType\RemainingTimeItemMin $weekly_Rest_Minus2 = null)
    {
        $this->Weekly_Rest_Minus2 = $weekly_Rest_Minus2;
        return $this;
    }
    /**
     * Get Weekly_Rest_Minus3 value
     * @return \StructType\RemainingTimeItemMin|null
     */
    public function getWeekly_Rest_Minus3()
    {
        return $this->Weekly_Rest_Minus3;
    }
    /**
     * Set Weekly_Rest_Minus3 value
     * @param \StructType\RemainingTimeItemMin $weekly_Rest_Minus3
     * @return \StructType\WeeklyCompensatedRestingTimes
     */
    public function setWeekly_Rest_Minus3(\StructType\RemainingTimeItemMin $weekly_Rest_Minus3 = null)
    {
        $this->Weekly_Rest_Minus3 = $weekly_Rest_Minus3;
        return $this;
    }
}
