<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

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