<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for CalendarEventSearchBasic StructType
 * @subpackage Structs
 */
class CalendarEventSearchBasic extends SearchRecordBasic
{
    /**
     * The accessLevel
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $accessLevel;
    /**
     * The attendee
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $attendee;
    /**
     * The calendar
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $calendar;
    /**
     * The completedDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDateField
     */
    public $completedDate;
    /**
     * The createdDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDateField
     */
    public $createdDate;
    /**
     * The externalId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $externalId;
    /**
     * The externalIdString
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $externalIdString;
    /**
     * The instanceStart
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDateField
     */
    public $instanceStart;
    /**
     * The internalId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $internalId;
    /**
     * The internalIdNumber
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchLongField
     */
    public $internalIdNumber;
    /**
     * The isUpcomingEvent
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchBooleanField
     */
    public $isUpcomingEvent;
    /**
     * The lastModifiedDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDateField
     */
    public $lastModifiedDate;
    /**
     * The location
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $location;
    /**
     * The message
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $message;
    /**
     * The organizer
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $organizer;
    /**
     * The owner
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $owner;
    /**
     * The resource
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $resource;
    /**
     * The response
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $response;
    /**
     * The startDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDateField
     */
    public $startDate;
    /**
     * The status
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $status;
    /**
     * The title
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $title;
    /**
     * The customFieldList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchCustomFieldList
     */
    public $customFieldList;
    /**
     * Constructor method for CalendarEventSearchBasic
     * @uses CalendarEventSearchBasic::setAccessLevel()
     * @uses CalendarEventSearchBasic::setAttendee()
     * @uses CalendarEventSearchBasic::setCalendar()
     * @uses CalendarEventSearchBasic::setCompletedDate()
     * @uses CalendarEventSearchBasic::setCreatedDate()
     * @uses CalendarEventSearchBasic::setExternalId()
     * @uses CalendarEventSearchBasic::setExternalIdString()
     * @uses CalendarEventSearchBasic::setInstanceStart()
     * @uses CalendarEventSearchBasic::setInternalId()
     * @uses CalendarEventSearchBasic::setInternalIdNumber()
     * @uses CalendarEventSearchBasic::setIsUpcomingEvent()
     * @uses CalendarEventSearchBasic::setLastModifiedDate()
     * @uses CalendarEventSearchBasic::setLocation()
     * @uses CalendarEventSearchBasic::setMessage()
     * @uses CalendarEventSearchBasic::setOrganizer()
     * @uses CalendarEventSearchBasic::setOwner()
     * @uses CalendarEventSearchBasic::setResource()
     * @uses CalendarEventSearchBasic::setResponse()
     * @uses CalendarEventSearchBasic::setStartDate()
     * @uses CalendarEventSearchBasic::setStatus()
     * @uses CalendarEventSearchBasic::setTitle()
     * @uses CalendarEventSearchBasic::setCustomFieldList()
     * @param \StructType\SearchEnumMultiSelectField $accessLevel
     * @param \StructType\SearchMultiSelectField $attendee
     * @param \StructType\SearchMultiSelectField $calendar
     * @param \StructType\SearchDateField $completedDate
     * @param \StructType\SearchDateField $createdDate
     * @param \StructType\SearchMultiSelectField $externalId
     * @param \StructType\SearchStringField $externalIdString
     * @param \StructType\SearchDateField $instanceStart
     * @param \StructType\SearchMultiSelectField $internalId
     * @param \StructType\SearchLongField $internalIdNumber
     * @param \StructType\SearchBooleanField $isUpcomingEvent
     * @param \StructType\SearchDateField $lastModifiedDate
     * @param \StructType\SearchStringField $location
     * @param \StructType\SearchStringField $message
     * @param \StructType\SearchMultiSelectField $organizer
     * @param \StructType\SearchMultiSelectField $owner
     * @param \StructType\SearchMultiSelectField $resource
     * @param \StructType\SearchEnumMultiSelectField $response
     * @param \StructType\SearchDateField $startDate
     * @param \StructType\SearchEnumMultiSelectField $status
     * @param \StructType\SearchStringField $title
     * @param \StructType\SearchCustomFieldList $customFieldList
     */
    public function __construct(\StructType\SearchEnumMultiSelectField $accessLevel = null, \StructType\SearchMultiSelectField $attendee = null, \StructType\SearchMultiSelectField $calendar = null, \StructType\SearchDateField $completedDate = null, \StructType\SearchDateField $createdDate = null, \StructType\SearchMultiSelectField $externalId = null, \StructType\SearchStringField $externalIdString = null, \StructType\SearchDateField $instanceStart = null, \StructType\SearchMultiSelectField $internalId = null, \StructType\SearchLongField $internalIdNumber = null, \StructType\SearchBooleanField $isUpcomingEvent = null, \StructType\SearchDateField $lastModifiedDate = null, \StructType\SearchStringField $location = null, \StructType\SearchStringField $message = null, \StructType\SearchMultiSelectField $organizer = null, \StructType\SearchMultiSelectField $owner = null, \StructType\SearchMultiSelectField $resource = null, \StructType\SearchEnumMultiSelectField $response = null, \StructType\SearchDateField $startDate = null, \StructType\SearchEnumMultiSelectField $status = null, \StructType\SearchStringField $title = null, \StructType\SearchCustomFieldList $customFieldList = null)
    {
        $this
            ->setAccessLevel($accessLevel)
            ->setAttendee($attendee)
            ->setCalendar($calendar)
            ->setCompletedDate($completedDate)
            ->setCreatedDate($createdDate)
            ->setExternalId($externalId)
            ->setExternalIdString($externalIdString)
            ->setInstanceStart($instanceStart)
            ->setInternalId($internalId)
            ->setInternalIdNumber($internalIdNumber)
            ->setIsUpcomingEvent($isUpcomingEvent)
            ->setLastModifiedDate($lastModifiedDate)
            ->setLocation($location)
            ->setMessage($message)
            ->setOrganizer($organizer)
            ->setOwner($owner)
            ->setResource($resource)
            ->setResponse($response)
            ->setStartDate($startDate)
            ->setStatus($status)
            ->setTitle($title)
            ->setCustomFieldList($customFieldList);
    }
    /**
     * Get accessLevel value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getAccessLevel()
    {
        return $this->accessLevel;
    }
    /**
     * Set accessLevel value
     * @param \StructType\SearchEnumMultiSelectField $accessLevel
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setAccessLevel(\StructType\SearchEnumMultiSelectField $accessLevel = null)
    {
        $this->accessLevel = $accessLevel;
        return $this;
    }
    /**
     * Get attendee value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getAttendee()
    {
        return $this->attendee;
    }
    /**
     * Set attendee value
     * @param \StructType\SearchMultiSelectField $attendee
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setAttendee(\StructType\SearchMultiSelectField $attendee = null)
    {
        $this->attendee = $attendee;
        return $this;
    }
    /**
     * Get calendar value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getCalendar()
    {
        return $this->calendar;
    }
    /**
     * Set calendar value
     * @param \StructType\SearchMultiSelectField $calendar
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setCalendar(\StructType\SearchMultiSelectField $calendar = null)
    {
        $this->calendar = $calendar;
        return $this;
    }
    /**
     * Get completedDate value
     * @return \StructType\SearchDateField|null
     */
    public function getCompletedDate()
    {
        return $this->completedDate;
    }
    /**
     * Set completedDate value
     * @param \StructType\SearchDateField $completedDate
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setCompletedDate(\StructType\SearchDateField $completedDate = null)
    {
        $this->completedDate = $completedDate;
        return $this;
    }
    /**
     * Get createdDate value
     * @return \StructType\SearchDateField|null
     */
    public function getCreatedDate()
    {
        return $this->createdDate;
    }
    /**
     * Set createdDate value
     * @param \StructType\SearchDateField $createdDate
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setCreatedDate(\StructType\SearchDateField $createdDate = null)
    {
        $this->createdDate = $createdDate;
        return $this;
    }
    /**
     * Get externalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getExternalId()
    {
        return $this->externalId;
    }
    /**
     * Set externalId value
     * @param \StructType\SearchMultiSelectField $externalId
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setExternalId(\StructType\SearchMultiSelectField $externalId = null)
    {
        $this->externalId = $externalId;
        return $this;
    }
    /**
     * Get externalIdString value
     * @return \StructType\SearchStringField|null
     */
    public function getExternalIdString()
    {
        return $this->externalIdString;
    }
    /**
     * Set externalIdString value
     * @param \StructType\SearchStringField $externalIdString
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setExternalIdString(\StructType\SearchStringField $externalIdString = null)
    {
        $this->externalIdString = $externalIdString;
        return $this;
    }
    /**
     * Get instanceStart value
     * @return \StructType\SearchDateField|null
     */
    public function getInstanceStart()
    {
        return $this->instanceStart;
    }
    /**
     * Set instanceStart value
     * @param \StructType\SearchDateField $instanceStart
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setInstanceStart(\StructType\SearchDateField $instanceStart = null)
    {
        $this->instanceStart = $instanceStart;
        return $this;
    }
    /**
     * Get internalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getInternalId()
    {
        return $this->internalId;
    }
    /**
     * Set internalId value
     * @param \StructType\SearchMultiSelectField $internalId
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setInternalId(\StructType\SearchMultiSelectField $internalId = null)
    {
        $this->internalId = $internalId;
        return $this;
    }
    /**
     * Get internalIdNumber value
     * @return \StructType\SearchLongField|null
     */
    public function getInternalIdNumber()
    {
        return $this->internalIdNumber;
    }
    /**
     * Set internalIdNumber value
     * @param \StructType\SearchLongField $internalIdNumber
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setInternalIdNumber(\StructType\SearchLongField $internalIdNumber = null)
    {
        $this->internalIdNumber = $internalIdNumber;
        return $this;
    }
    /**
     * Get isUpcomingEvent value
     * @return \StructType\SearchBooleanField|null
     */
    public function getIsUpcomingEvent()
    {
        return $this->isUpcomingEvent;
    }
    /**
     * Set isUpcomingEvent value
     * @param \StructType\SearchBooleanField $isUpcomingEvent
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setIsUpcomingEvent(\StructType\SearchBooleanField $isUpcomingEvent = null)
    {
        $this->isUpcomingEvent = $isUpcomingEvent;
        return $this;
    }
    /**
     * Get lastModifiedDate value
     * @return \StructType\SearchDateField|null
     */
    public function getLastModifiedDate()
    {
        return $this->lastModifiedDate;
    }
    /**
     * Set lastModifiedDate value
     * @param \StructType\SearchDateField $lastModifiedDate
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setLastModifiedDate(\StructType\SearchDateField $lastModifiedDate = null)
    {
        $this->lastModifiedDate = $lastModifiedDate;
        return $this;
    }
    /**
     * Get location value
     * @return \StructType\SearchStringField|null
     */
    public function getLocation()
    {
        return $this->location;
    }
    /**
     * Set location value
     * @param \StructType\SearchStringField $location
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setLocation(\StructType\SearchStringField $location = null)
    {
        $this->location = $location;
        return $this;
    }
    /**
     * Get message value
     * @return \StructType\SearchStringField|null
     */
    public function getMessage()
    {
        return $this->message;
    }
    /**
     * Set message value
     * @param \StructType\SearchStringField $message
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setMessage(\StructType\SearchStringField $message = null)
    {
        $this->message = $message;
        return $this;
    }
    /**
     * Get organizer value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getOrganizer()
    {
        return $this->organizer;
    }
    /**
     * Set organizer value
     * @param \StructType\SearchMultiSelectField $organizer
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setOrganizer(\StructType\SearchMultiSelectField $organizer = null)
    {
        $this->organizer = $organizer;
        return $this;
    }
    /**
     * Get owner value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getOwner()
    {
        return $this->owner;
    }
    /**
     * Set owner value
     * @param \StructType\SearchMultiSelectField $owner
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setOwner(\StructType\SearchMultiSelectField $owner = null)
    {
        $this->owner = $owner;
        return $this;
    }
    /**
     * Get resource value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getResource()
    {
        return $this->resource;
    }
    /**
     * Set resource value
     * @param \StructType\SearchMultiSelectField $resource
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setResource(\StructType\SearchMultiSelectField $resource = null)
    {
        $this->resource = $resource;
        return $this;
    }
    /**
     * Get response value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getResponse()
    {
        return $this->response;
    }
    /**
     * Set response value
     * @param \StructType\SearchEnumMultiSelectField $response
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setResponse(\StructType\SearchEnumMultiSelectField $response = null)
    {
        $this->response = $response;
        return $this;
    }
    /**
     * Get startDate value
     * @return \StructType\SearchDateField|null
     */
    public function getStartDate()
    {
        return $this->startDate;
    }
    /**
     * Set startDate value
     * @param \StructType\SearchDateField $startDate
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setStartDate(\StructType\SearchDateField $startDate = null)
    {
        $this->startDate = $startDate;
        return $this;
    }
    /**
     * Get status value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getStatus()
    {
        return $this->status;
    }
    /**
     * Set status value
     * @param \StructType\SearchEnumMultiSelectField $status
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setStatus(\StructType\SearchEnumMultiSelectField $status = null)
    {
        $this->status = $status;
        return $this;
    }
    /**
     * Get title value
     * @return \StructType\SearchStringField|null
     */
    public function getTitle()
    {
        return $this->title;
    }
    /**
     * Set title value
     * @param \StructType\SearchStringField $title
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setTitle(\StructType\SearchStringField $title = null)
    {
        $this->title = $title;
        return $this;
    }
    /**
     * Get customFieldList value
     * @return \StructType\SearchCustomFieldList|null
     */
    public function getCustomFieldList()
    {
        return $this->customFieldList;
    }
    /**
     * Set customFieldList value
     * @param \StructType\SearchCustomFieldList $customFieldList
     * @return \StructType\CalendarEventSearchBasic
     */
    public function setCustomFieldList(\StructType\SearchCustomFieldList $customFieldList = null)
    {
        $this->customFieldList = $customFieldList;
        return $this;
    }
}
