<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for GetPlanningItemSelectionResult_v2 StructType
 * @subpackage Structs
 */
class GetPlanningItemSelectionResult_v2 extends AbstractStructBase
{
    /**
     * The Trips
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \ArrayType\ArrayOfTripItemResult_v2
     */
    public $Trips;
    /**
     * The Places
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \ArrayType\ArrayOfPlaceItemResult
     */
    public $Places;
    /**
     * The Jobs
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \ArrayType\ArrayOfJobItemResult
     */
    public $Jobs;
    /**
     * The Products
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \ArrayType\ArrayOfProductItemResult
     */
    public $Products;
    /**
     * Constructor method for GetPlanningItemSelectionResult_v2
     * @uses GetPlanningItemSelectionResult_v2::setTrips()
     * @uses GetPlanningItemSelectionResult_v2::setPlaces()
     * @uses GetPlanningItemSelectionResult_v2::setJobs()
     * @uses GetPlanningItemSelectionResult_v2::setProducts()
     * @param \ArrayType\ArrayOfTripItemResult_v2 $trips
     * @param \ArrayType\ArrayOfPlaceItemResult $places
     * @param \ArrayType\ArrayOfJobItemResult $jobs
     * @param \ArrayType\ArrayOfProductItemResult $products
     */
    public function __construct(\ArrayType\ArrayOfTripItemResult_v2 $trips = null, \ArrayType\ArrayOfPlaceItemResult $places = null, \ArrayType\ArrayOfJobItemResult $jobs = null, \ArrayType\ArrayOfProductItemResult $products = null)
    {
        $this
            ->setTrips($trips)
            ->setPlaces($places)
            ->setJobs($jobs)
            ->setProducts($products);
    }
    /**
     * Get Trips value
     * @return \ArrayType\ArrayOfTripItemResult_v2|null
     */
    public function getTrips()
    {
        return $this->Trips;
    }
    /**
     * Set Trips value
     * @param \ArrayType\ArrayOfTripItemResult_v2 $trips
     * @return \StructType\GetPlanningItemSelectionResult_v2
     */
    public function setTrips(\ArrayType\ArrayOfTripItemResult_v2 $trips = null)
    {
        $this->Trips = $trips;
        return $this;
    }
    /**
     * Get Places value
     * @return \ArrayType\ArrayOfPlaceItemResult|null
     */
    public function getPlaces()
    {
        return $this->Places;
    }
    /**
     * Set Places value
     * @param \ArrayType\ArrayOfPlaceItemResult $places
     * @return \StructType\GetPlanningItemSelectionResult_v2
     */
    public function setPlaces(\ArrayType\ArrayOfPlaceItemResult $places = null)
    {
        $this->Places = $places;
        return $this;
    }
    /**
     * Get Jobs value
     * @return \ArrayType\ArrayOfJobItemResult|null
     */
    public function getJobs()
    {
        return $this->Jobs;
    }
    /**
     * Set Jobs value
     * @param \ArrayType\ArrayOfJobItemResult $jobs
     * @return \StructType\GetPlanningItemSelectionResult_v2
     */
    public function setJobs(\ArrayType\ArrayOfJobItemResult $jobs = null)
    {
        $this->Jobs = $jobs;
        return $this;
    }
    /**
     * Get Products value
     * @return \ArrayType\ArrayOfProductItemResult|null
     */
    public function getProducts()
    {
        return $this->Products;
    }
    /**
     * Set Products value
     * @param \ArrayType\ArrayOfProductItemResult $products
     * @return \StructType\GetPlanningItemSelectionResult_v2
     */
    public function setProducts(\ArrayType\ArrayOfProductItemResult $products = null)
    {
        $this->Products = $products;
        return $this;
    }
}
