<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for InterfaceVehicleSelection_V3 StructType
 * @subpackage Structs
 */
class InterfaceVehicleSelection_V3 extends AbstractStructBase
{
    /**
     * The IncludePosition
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludePosition;
    /**
     * The IncludeActivity
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeActivity;
    /**
     * The IncludeDrivers
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeDrivers;
    /**
     * The IncludeObcInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeObcInfo;
    /**
     * The IncludeETAInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeETAInfo;
    /**
     * The IncludeTemperatureInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeTemperatureInfo;
    /**
     * The IncludeInfoFields
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeInfoFields;
    /**
     * The IncludeUpdateDates
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeUpdateDates;
    /**
     * The IncludeInactive
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeInactive;
    /**
     * The IncludeLastTextMessageInboxOutbox
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeLastTextMessageInboxOutbox;
    /**
     * The IncludeLastAlarmMessage
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeLastAlarmMessage;
    /**
     * The IncludeBlockedVehicleInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeBlockedVehicleInfo;
    /**
     * The IncludeCompanyCardInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeCompanyCardInfo;
    /**
     * The IncludeVehicleProfile
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeVehicleProfile;
    /**
     * The IncludeNextStopInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeNextStopInfo;
    /**
     * The IncludeRDDinfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeRDDinfo;
    /**
     * The IncludeRented
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeRented;
    /**
     * The Identifiers
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \ArrayType\ArrayOfIdentifierVehicle
     */
    public $Identifiers;
    /**
     * The DateTimeRange
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\DateTimeRangeSelection
     */
    public $DateTimeRange;
    /**
     * The SelectionFromToday
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\DateTimeSelection
     */
    public $SelectionFromToday;
    /**
     * The DiagnosticFilter
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \ArrayType\ArrayOfDiagnosticSearchItem
     */
    public $DiagnosticFilter;
    /**
     * Constructor method for InterfaceVehicleSelection_V3
     * @uses InterfaceVehicleSelection_V3::setIncludePosition()
     * @uses InterfaceVehicleSelection_V3::setIncludeActivity()
     * @uses InterfaceVehicleSelection_V3::setIncludeDrivers()
     * @uses InterfaceVehicleSelection_V3::setIncludeObcInfo()
     * @uses InterfaceVehicleSelection_V3::setIncludeETAInfo()
     * @uses InterfaceVehicleSelection_V3::setIncludeTemperatureInfo()
     * @uses InterfaceVehicleSelection_V3::setIncludeInfoFields()
     * @uses InterfaceVehicleSelection_V3::setIncludeUpdateDates()
     * @uses InterfaceVehicleSelection_V3::setIncludeInactive()
     * @uses InterfaceVehicleSelection_V3::setIncludeLastTextMessageInboxOutbox()
     * @uses InterfaceVehicleSelection_V3::setIncludeLastAlarmMessage()
     * @uses InterfaceVehicleSelection_V3::setIncludeBlockedVehicleInfo()
     * @uses InterfaceVehicleSelection_V3::setIncludeCompanyCardInfo()
     * @uses InterfaceVehicleSelection_V3::setIncludeVehicleProfile()
     * @uses InterfaceVehicleSelection_V3::setIncludeNextStopInfo()
     * @uses InterfaceVehicleSelection_V3::setIncludeRDDinfo()
     * @uses InterfaceVehicleSelection_V3::setIncludeRented()
     * @uses InterfaceVehicleSelection_V3::setIdentifiers()
     * @uses InterfaceVehicleSelection_V3::setDateTimeRange()
     * @uses InterfaceVehicleSelection_V3::setSelectionFromToday()
     * @uses InterfaceVehicleSelection_V3::setDiagnosticFilter()
     * @param bool $includePosition
     * @param bool $includeActivity
     * @param bool $includeDrivers
     * @param bool $includeObcInfo
     * @param bool $includeETAInfo
     * @param bool $includeTemperatureInfo
     * @param bool $includeInfoFields
     * @param bool $includeUpdateDates
     * @param bool $includeInactive
     * @param bool $includeLastTextMessageInboxOutbox
     * @param bool $includeLastAlarmMessage
     * @param bool $includeBlockedVehicleInfo
     * @param bool $includeCompanyCardInfo
     * @param bool $includeVehicleProfile
     * @param bool $includeNextStopInfo
     * @param bool $includeRDDinfo
     * @param bool $includeRented
     * @param \ArrayType\ArrayOfIdentifierVehicle $identifiers
     * @param \StructType\DateTimeRangeSelection $dateTimeRange
     * @param \StructType\DateTimeSelection $selectionFromToday
     * @param \ArrayType\ArrayOfDiagnosticSearchItem $diagnosticFilter
     */
    public function __construct($includePosition = null, $includeActivity = null, $includeDrivers = null, $includeObcInfo = null, $includeETAInfo = null, $includeTemperatureInfo = null, $includeInfoFields = null, $includeUpdateDates = null, $includeInactive = null, $includeLastTextMessageInboxOutbox = null, $includeLastAlarmMessage = null, $includeBlockedVehicleInfo = null, $includeCompanyCardInfo = null, $includeVehicleProfile = null, $includeNextStopInfo = null, $includeRDDinfo = null, $includeRented = null, \ArrayType\ArrayOfIdentifierVehicle $identifiers = null, \StructType\DateTimeRangeSelection $dateTimeRange = null, \StructType\DateTimeSelection $selectionFromToday = null, \ArrayType\ArrayOfDiagnosticSearchItem $diagnosticFilter = null)
    {
        $this
            ->setIncludePosition($includePosition)
            ->setIncludeActivity($includeActivity)
            ->setIncludeDrivers($includeDrivers)
            ->setIncludeObcInfo($includeObcInfo)
            ->setIncludeETAInfo($includeETAInfo)
            ->setIncludeTemperatureInfo($includeTemperatureInfo)
            ->setIncludeInfoFields($includeInfoFields)
            ->setIncludeUpdateDates($includeUpdateDates)
            ->setIncludeInactive($includeInactive)
            ->setIncludeLastTextMessageInboxOutbox($includeLastTextMessageInboxOutbox)
            ->setIncludeLastAlarmMessage($includeLastAlarmMessage)
            ->setIncludeBlockedVehicleInfo($includeBlockedVehicleInfo)
            ->setIncludeCompanyCardInfo($includeCompanyCardInfo)
            ->setIncludeVehicleProfile($includeVehicleProfile)
            ->setIncludeNextStopInfo($includeNextStopInfo)
            ->setIncludeRDDinfo($includeRDDinfo)
            ->setIncludeRented($includeRented)
            ->setIdentifiers($identifiers)
            ->setDateTimeRange($dateTimeRange)
            ->setSelectionFromToday($selectionFromToday)
            ->setDiagnosticFilter($diagnosticFilter);
    }
    /**
     * Get IncludePosition value
     * @return bool
     */
    public function getIncludePosition()
    {
        return $this->IncludePosition;
    }
    /**
     * Set IncludePosition value
     * @param bool $includePosition
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludePosition($includePosition = null)
    {
        // validation for constraint: boolean
        if (!is_null($includePosition) && !is_bool($includePosition)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includePosition, true), gettype($includePosition)), __LINE__);
        }
        $this->IncludePosition = $includePosition;
        return $this;
    }
    /**
     * Get IncludeActivity value
     * @return bool
     */
    public function getIncludeActivity()
    {
        return $this->IncludeActivity;
    }
    /**
     * Set IncludeActivity value
     * @param bool $includeActivity
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeActivity($includeActivity = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeActivity) && !is_bool($includeActivity)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeActivity, true), gettype($includeActivity)), __LINE__);
        }
        $this->IncludeActivity = $includeActivity;
        return $this;
    }
    /**
     * Get IncludeDrivers value
     * @return bool
     */
    public function getIncludeDrivers()
    {
        return $this->IncludeDrivers;
    }
    /**
     * Set IncludeDrivers value
     * @param bool $includeDrivers
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeDrivers($includeDrivers = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeDrivers) && !is_bool($includeDrivers)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeDrivers, true), gettype($includeDrivers)), __LINE__);
        }
        $this->IncludeDrivers = $includeDrivers;
        return $this;
    }
    /**
     * Get IncludeObcInfo value
     * @return bool
     */
    public function getIncludeObcInfo()
    {
        return $this->IncludeObcInfo;
    }
    /**
     * Set IncludeObcInfo value
     * @param bool $includeObcInfo
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeObcInfo($includeObcInfo = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeObcInfo) && !is_bool($includeObcInfo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeObcInfo, true), gettype($includeObcInfo)), __LINE__);
        }
        $this->IncludeObcInfo = $includeObcInfo;
        return $this;
    }
    /**
     * Get IncludeETAInfo value
     * @return bool
     */
    public function getIncludeETAInfo()
    {
        return $this->IncludeETAInfo;
    }
    /**
     * Set IncludeETAInfo value
     * @param bool $includeETAInfo
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeETAInfo($includeETAInfo = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeETAInfo) && !is_bool($includeETAInfo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeETAInfo, true), gettype($includeETAInfo)), __LINE__);
        }
        $this->IncludeETAInfo = $includeETAInfo;
        return $this;
    }
    /**
     * Get IncludeTemperatureInfo value
     * @return bool
     */
    public function getIncludeTemperatureInfo()
    {
        return $this->IncludeTemperatureInfo;
    }
    /**
     * Set IncludeTemperatureInfo value
     * @param bool $includeTemperatureInfo
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeTemperatureInfo($includeTemperatureInfo = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeTemperatureInfo) && !is_bool($includeTemperatureInfo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeTemperatureInfo, true), gettype($includeTemperatureInfo)), __LINE__);
        }
        $this->IncludeTemperatureInfo = $includeTemperatureInfo;
        return $this;
    }
    /**
     * Get IncludeInfoFields value
     * @return bool
     */
    public function getIncludeInfoFields()
    {
        return $this->IncludeInfoFields;
    }
    /**
     * Set IncludeInfoFields value
     * @param bool $includeInfoFields
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeInfoFields($includeInfoFields = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeInfoFields) && !is_bool($includeInfoFields)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeInfoFields, true), gettype($includeInfoFields)), __LINE__);
        }
        $this->IncludeInfoFields = $includeInfoFields;
        return $this;
    }
    /**
     * Get IncludeUpdateDates value
     * @return bool
     */
    public function getIncludeUpdateDates()
    {
        return $this->IncludeUpdateDates;
    }
    /**
     * Set IncludeUpdateDates value
     * @param bool $includeUpdateDates
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeUpdateDates($includeUpdateDates = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeUpdateDates) && !is_bool($includeUpdateDates)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeUpdateDates, true), gettype($includeUpdateDates)), __LINE__);
        }
        $this->IncludeUpdateDates = $includeUpdateDates;
        return $this;
    }
    /**
     * Get IncludeInactive value
     * @return bool
     */
    public function getIncludeInactive()
    {
        return $this->IncludeInactive;
    }
    /**
     * Set IncludeInactive value
     * @param bool $includeInactive
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeInactive($includeInactive = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeInactive) && !is_bool($includeInactive)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeInactive, true), gettype($includeInactive)), __LINE__);
        }
        $this->IncludeInactive = $includeInactive;
        return $this;
    }
    /**
     * Get IncludeLastTextMessageInboxOutbox value
     * @return bool
     */
    public function getIncludeLastTextMessageInboxOutbox()
    {
        return $this->IncludeLastTextMessageInboxOutbox;
    }
    /**
     * Set IncludeLastTextMessageInboxOutbox value
     * @param bool $includeLastTextMessageInboxOutbox
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeLastTextMessageInboxOutbox($includeLastTextMessageInboxOutbox = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeLastTextMessageInboxOutbox) && !is_bool($includeLastTextMessageInboxOutbox)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeLastTextMessageInboxOutbox, true), gettype($includeLastTextMessageInboxOutbox)), __LINE__);
        }
        $this->IncludeLastTextMessageInboxOutbox = $includeLastTextMessageInboxOutbox;
        return $this;
    }
    /**
     * Get IncludeLastAlarmMessage value
     * @return bool
     */
    public function getIncludeLastAlarmMessage()
    {
        return $this->IncludeLastAlarmMessage;
    }
    /**
     * Set IncludeLastAlarmMessage value
     * @param bool $includeLastAlarmMessage
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeLastAlarmMessage($includeLastAlarmMessage = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeLastAlarmMessage) && !is_bool($includeLastAlarmMessage)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeLastAlarmMessage, true), gettype($includeLastAlarmMessage)), __LINE__);
        }
        $this->IncludeLastAlarmMessage = $includeLastAlarmMessage;
        return $this;
    }
    /**
     * Get IncludeBlockedVehicleInfo value
     * @return bool
     */
    public function getIncludeBlockedVehicleInfo()
    {
        return $this->IncludeBlockedVehicleInfo;
    }
    /**
     * Set IncludeBlockedVehicleInfo value
     * @param bool $includeBlockedVehicleInfo
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeBlockedVehicleInfo($includeBlockedVehicleInfo = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeBlockedVehicleInfo) && !is_bool($includeBlockedVehicleInfo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeBlockedVehicleInfo, true), gettype($includeBlockedVehicleInfo)), __LINE__);
        }
        $this->IncludeBlockedVehicleInfo = $includeBlockedVehicleInfo;
        return $this;
    }
    /**
     * Get IncludeCompanyCardInfo value
     * @return bool
     */
    public function getIncludeCompanyCardInfo()
    {
        return $this->IncludeCompanyCardInfo;
    }
    /**
     * Set IncludeCompanyCardInfo value
     * @param bool $includeCompanyCardInfo
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeCompanyCardInfo($includeCompanyCardInfo = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeCompanyCardInfo) && !is_bool($includeCompanyCardInfo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeCompanyCardInfo, true), gettype($includeCompanyCardInfo)), __LINE__);
        }
        $this->IncludeCompanyCardInfo = $includeCompanyCardInfo;
        return $this;
    }
    /**
     * Get IncludeVehicleProfile value
     * @return bool
     */
    public function getIncludeVehicleProfile()
    {
        return $this->IncludeVehicleProfile;
    }
    /**
     * Set IncludeVehicleProfile value
     * @param bool $includeVehicleProfile
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeVehicleProfile($includeVehicleProfile = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeVehicleProfile) && !is_bool($includeVehicleProfile)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeVehicleProfile, true), gettype($includeVehicleProfile)), __LINE__);
        }
        $this->IncludeVehicleProfile = $includeVehicleProfile;
        return $this;
    }
    /**
     * Get IncludeNextStopInfo value
     * @return bool
     */
    public function getIncludeNextStopInfo()
    {
        return $this->IncludeNextStopInfo;
    }
    /**
     * Set IncludeNextStopInfo value
     * @param bool $includeNextStopInfo
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeNextStopInfo($includeNextStopInfo = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeNextStopInfo) && !is_bool($includeNextStopInfo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeNextStopInfo, true), gettype($includeNextStopInfo)), __LINE__);
        }
        $this->IncludeNextStopInfo = $includeNextStopInfo;
        return $this;
    }
    /**
     * Get IncludeRDDinfo value
     * @return bool
     */
    public function getIncludeRDDinfo()
    {
        return $this->IncludeRDDinfo;
    }
    /**
     * Set IncludeRDDinfo value
     * @param bool $includeRDDinfo
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeRDDinfo($includeRDDinfo = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeRDDinfo) && !is_bool($includeRDDinfo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeRDDinfo, true), gettype($includeRDDinfo)), __LINE__);
        }
        $this->IncludeRDDinfo = $includeRDDinfo;
        return $this;
    }
    /**
     * Get IncludeRented value
     * @return bool
     */
    public function getIncludeRented()
    {
        return $this->IncludeRented;
    }
    /**
     * Set IncludeRented value
     * @param bool $includeRented
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIncludeRented($includeRented = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeRented) && !is_bool($includeRented)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeRented, true), gettype($includeRented)), __LINE__);
        }
        $this->IncludeRented = $includeRented;
        return $this;
    }
    /**
     * Get Identifiers value
     * @return \ArrayType\ArrayOfIdentifierVehicle|null
     */
    public function getIdentifiers()
    {
        return $this->Identifiers;
    }
    /**
     * Set Identifiers value
     * @param \ArrayType\ArrayOfIdentifierVehicle $identifiers
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setIdentifiers(\ArrayType\ArrayOfIdentifierVehicle $identifiers = null)
    {
        $this->Identifiers = $identifiers;
        return $this;
    }
    /**
     * Get DateTimeRange value
     * @return \StructType\DateTimeRangeSelection|null
     */
    public function getDateTimeRange()
    {
        return $this->DateTimeRange;
    }
    /**
     * Set DateTimeRange value
     * @param \StructType\DateTimeRangeSelection $dateTimeRange
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setDateTimeRange(\StructType\DateTimeRangeSelection $dateTimeRange = null)
    {
        $this->DateTimeRange = $dateTimeRange;
        return $this;
    }
    /**
     * Get SelectionFromToday value
     * @return \StructType\DateTimeSelection|null
     */
    public function getSelectionFromToday()
    {
        return $this->SelectionFromToday;
    }
    /**
     * Set SelectionFromToday value
     * @param \StructType\DateTimeSelection $selectionFromToday
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setSelectionFromToday(\StructType\DateTimeSelection $selectionFromToday = null)
    {
        $this->SelectionFromToday = $selectionFromToday;
        return $this;
    }
    /**
     * Get DiagnosticFilter value
     * @return \ArrayType\ArrayOfDiagnosticSearchItem|null
     */
    public function getDiagnosticFilter()
    {
        return $this->DiagnosticFilter;
    }
    /**
     * Set DiagnosticFilter value
     * @param \ArrayType\ArrayOfDiagnosticSearchItem $diagnosticFilter
     * @return \StructType\InterfaceVehicleSelection_V3
     */
    public function setDiagnosticFilter(\ArrayType\ArrayOfDiagnosticSearchItem $diagnosticFilter = null)
    {
        $this->DiagnosticFilter = $diagnosticFilter;
        return $this;
    }
}
