summaryrefslogtreecommitdiffstats
path: root/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration
diff options
context:
space:
mode:
authorroot2019-02-19 18:53:50 +0100
committerroot2019-02-19 18:53:50 +0100
commit0ad4c0f8196b61699754762aacbaab0223478ab9 (patch)
treede434c4aea8d07ecd01cd3badd48d057d62c2d1b /modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration
parent[usb-lock-off] Edit rule cleanup and fix of the dropdown boxes. (diff)
parent[statistics] Fix RAM change warning to handle increase too (diff)
downloadslx-admin-usb-lock-off.tar.gz
slx-admin-usb-lock-off.tar.xz
slx-admin-usb-lock-off.zip
Merge branch 'master' into usb-lock-offusb-lock-off
Diffstat (limited to 'modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration')
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AddInStateType.php84
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AffectedTaskOccurrencesType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AggregateType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AppointmentState.php63
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AvailabilityProxyRequestType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/BodyTypeResponseType.php50
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/BodyTypeType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemCreateOrDeleteOperationType.php46
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemTypeType.php52
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemUpdateOperationType.php67
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarPermissionLevelType.php33
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarPermissionReadAccessType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ClientAccessTokenTypeType.php76
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConferenceType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConflictResolutionType.php44
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConnectionFailureCauseType.php61
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConnectionStatusType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContactSourceType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContainmentComparisonType.php92
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContainmentModeType.php64
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationActionTypeType.php96
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationNodeSortOrder.php52
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationQueryTraversalType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CreateActionType.php53
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DateTimePrecisionType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DayOfWeekIndexType.php61
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DayOfWeekType.php106
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DaysOfWeekType.php21
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DefaultShapeNamesType.php45
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DelegateFolderPermissionLevelType.php61
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DeliverMeetingRequestsType.php57
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DictionaryURIType.php106
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DisableReasonType.php52
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DisposalType.php44
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedFolderIdNameType.php394
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedPropertySetType.php106
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedUserType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ElcFolderType.php187
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/EmailAddressKeyType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExceptionPropertyURIType.php97
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExchangeVersionType.php98
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExternalAudience.php47
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FileAsMappingType.php178
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FlagStatusType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FlaggedForActionType.php116
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FolderQueryTraversalType.php46
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FreeBusyViewType.php98
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/HoldActionType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/HoldStatusType.php61
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/IdFormatType.php76
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ImAddressKeyType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ImportanceChoicesType.php44
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/IndexBasePointType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/InvalidRecipientResponseCodeType.php65
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ItemClassType.php291
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ItemQueryTraversalType.php47
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/LegacyFreeBusyType.php71
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/LocationSourceType.php71
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailTipTypes.php107
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailboxSearchLocationType.php45
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailboxTypeType.php79
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MapiPropertyTypeType.php273
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MeetingAttendeeType.php61
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MeetingRequestTypeType.php84
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MemberStatusType.php44
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageDispositionType.php66
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingDeliveryStatusType.php63
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingEventDescriptionType.php254
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingReportTemplateType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MonthNamesType.php124
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/NotificationEventTypeType.php79
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/Occurrence.php96
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/OofState.php44
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionActionType.php47
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionLevelType.php116
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionReadAccessType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhoneCallStateType.php88
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhoneNumberKeyType.php187
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhysicalAddressIndexType.php52
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhysicalAddressKeyType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PreviewItemBaseShapeType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ReminderActionType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ReminderGroup.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResolveNamesSearchScopeType.php55
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseClassType.php63
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseCodeType.php4866
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseTypeType.php70
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RetentionActionType.php79
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RoutingType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RuleFieldURIType.php826
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RuleValidationErrorCodeType.php233
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/Scope.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchFolderTraversalType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchItemKindType.php124
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchPageDirectionType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchResultType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SensitivityChoicesType.php52
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ServiceConfigurationType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SharingDataType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SortDirectionType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/StandardGroupByType.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SubscriptionStatusType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SuggestionQuality.php53
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SyncFolderItemsScopeType.php37
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TaskDelegateStateType.php76
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TaskStatusType.php61
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TransitionTargetKindType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UnindexedFieldURIType.php2941
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserConfigurationDictionaryObjectTypesType.php106
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserConfigurationPropertyType.php62
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserPhotoSizeType.php115
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserPhotoTypeType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ViewFilterType.php106
113 files changed, 16641 insertions, 0 deletions
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AddInStateType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AddInStateType.php
new file mode 100644
index 00000000..d95cdadd
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AddInStateType.php
@@ -0,0 +1,84 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\AddInStateType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Undocumented.
+ *
+ * @package php-ews\Enumeration
+ *
+ * @todo Update once documentation exists.
+ */
+class AddInStateType extends Enumeration
+{
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ const FLAGGED = 'Flagged';
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ const OK = 'OK';
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ const REMOVED = 'Removed';
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ const UNDEFINED = 'Undefined';
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ const WITHDRAWING_SOON = 'WithdrawingSoon';
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ const WITHDRAWN = 'Withdrawn';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AffectedTaskOccurrencesType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AffectedTaskOccurrencesType.php
new file mode 100644
index 00000000..402253d5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AffectedTaskOccurrencesType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\AffectedTaskOccurrencesType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines whether a task instance or a task master is deleted by a DeleteItem
+ * operation.
+ *
+ * @package php-ews\Enumeration
+ */
+class AffectedTaskOccurrencesType extends Enumeration
+{
+ /**
+ * A delete item request deletes the master task, and therefore all
+ * recurring tasks that are associated with the master task.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ALL = 'AllOccurrences';
+
+ /**
+ * A delete item request deletes only specific occurrences of a task.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SPECIFIED = 'SpecifiedOccurrenceOnly';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AggregateType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AggregateType.php
new file mode 100644
index 00000000..ff4a73cd
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AggregateType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\AggregateType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Indicates the maximum or minimum value of a property that is used for
+ * ordering groups of items.
+ *
+ * @package php-ews\Enumeration
+ */
+class AggregateType extends Enumeration
+{
+ /**
+ * Indicates that a maximum aggregation should be used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MAXIMUM = 'Maximum';
+
+ /**
+ * Indicates that a minimum aggregation should be used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MINIMUM = 'Minimum';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AppointmentState.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AppointmentState.php
new file mode 100644
index 00000000..0321142f
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AppointmentState.php
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\AppointmentState.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Specifies the status of the appointment.
+ *
+ * @package php-ews\Enumeration
+ */
+class AppointmentState extends Enumeration
+{
+ /**
+ * This appointment has been canceled.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANCELED = 4;
+
+ /**
+ * This appointment was forwarded.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FORWARD = 8;
+
+ /**
+ * This appointment is a meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MEETING = 1;
+
+ /**
+ * No flags have been set.
+ *
+ * This is only used for an appointment that does not include attendees.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NONE = 0;
+
+ /**
+ * This appointment has been received.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RECEIVED = 2;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AvailabilityProxyRequestType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AvailabilityProxyRequestType.php
new file mode 100644
index 00000000..bc3754d3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/AvailabilityProxyRequestType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\AvailabilityProxyRequestType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines whether a proxy request is a cross-site or a cross-forest request.
+ *
+ * @package php-ews\Enumeration
+ */
+class AvailabilityProxyRequestType extends Enumeration
+{
+ /**
+ * Indicates that this request is cross-forest.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CROSS_FOREST = 'CrossForest';
+
+ /**
+ * Indicates that this request is cross-site.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CROSS_SITE = 'CrossSite';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/BodyTypeResponseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/BodyTypeResponseType.php
new file mode 100644
index 00000000..50548348
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/BodyTypeResponseType.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\BodyTypeResponseType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines how the body text is formatted in the response.
+ *
+ * @package php-ews\Enumeration
+ */
+class BodyTypeResponseType extends Enumeration
+{
+ /**
+ * The response will return the richest available content of body text.
+ *
+ * This is useful if it is unknown whether the content is text or HTML. The
+ * returned body will be text if the stored body is plain text. Otherwise,
+ * the response will return HTML if the stored body is in either HTML or RTF
+ * format.
+ *
+ * This is the default value.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BEST = 'Best';
+
+ /**
+ * The response will return an item body as HTML.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const HTML = 'HTML';
+
+ /**
+ * The response will return an item body as plain text.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TEXT = 'Text';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/BodyTypeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/BodyTypeType.php
new file mode 100644
index 00000000..0aa92b38
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/BodyTypeType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\BodyTypeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Specifies the type of an item body.
+ *
+ * @package php-ews\Enumeration
+ */
+class BodyTypeType extends Enumeration
+{
+ /**
+ * Indicates that the body is in HTML.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const HTML = 'HTML';
+
+ /**
+ * Indicates that the body is in text.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TEXT = 'Text';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemCreateOrDeleteOperationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemCreateOrDeleteOperationType.php
new file mode 100644
index 00000000..cc0c3099
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemCreateOrDeleteOperationType.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\CalendarItemCreateOrDeleteOperationType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Describes how meeting requests are handled after they are created.
+ *
+ * @package php-ews\Enumeration
+ */
+class CalendarItemCreateOrDeleteOperationType extends Enumeration
+{
+ /**
+ * The meeting request is sent to all attendees but is not saved in the Sent
+ * Items folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_ONLY_TO_ALL = 'SendOnlyToAll';
+
+ /**
+ * The meeting request is sent to all attendees and a copy is saved in the
+ * folder that is identified by the SavedItemFolderId element.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_TO_ALL_AND_SAVE_COPY = 'SendToAllAndSaveCopy';
+
+ /**
+ * If the item is a meeting request, it is saved as a calendar item but not
+ * sent.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_TO_NONE = 'SendToNone';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemTypeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemTypeType.php
new file mode 100644
index 00000000..99f4c7b2
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemTypeType.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\CalendarItemTypeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of a calendar item.
+ *
+ * @package php-ews\Enumeration
+ */
+class CalendarItemTypeType extends Enumeration
+{
+ /**
+ * The item is an exception to a recurring calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const EXCEPTION = 'Exception';
+
+ /**
+ * The item is an occurrence of a recurring calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OCCURRENCE = 'Occurrence';
+
+ /**
+ * The item is master for a set of recurring calendar items.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RECURRING_MASTER = 'RecurringMaster';
+
+ /**
+ * The item is not associated with a recurring calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SINGLE = 'Single';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemUpdateOperationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemUpdateOperationType.php
new file mode 100644
index 00000000..60689f51
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarItemUpdateOperationType.php
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\CalendarItemUpdateOperationType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines how meeting updates are communicated after a calendar item is
+ * updated.
+ *
+ * @package php-ews\Enumeration
+ */
+class CalendarItemUpdateOperationType extends Enumeration
+{
+ /**
+ * The calendar item is updated and the meeting update is sent to all
+ * attendees but is not saved in the Sent Items folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_ONLY_TO_ALL = 'SendOnlyToAll';
+
+ /**
+ * The calendar item is updated and the meeting update is sent only to
+ * attendees that are affected by the change in the meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_ONLY_TO_CHANGED = 'SendOnlyToChanged';
+
+ /**
+ * The calendar item is updated, the meeting update is sent to all
+ * attendees, and a copy is saved in the Sent Items folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_TO_ALL_AND_SAVE_COPY = 'SendToAllAndSaveCopy';
+
+ /**
+ * The calendar item is updated, the meeting update is sent to all attendees
+ * that are affected by the change in the meeting, and a copy is saved in
+ * the Sent Items folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_TO_CHANGED_AND_SAVE_COPY = 'SendToChangedAndSaveCopy';
+
+ /**
+ * The calendar item is updated but updates are not sent to attendees.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_TO_NONE = 'SendToNone';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarPermissionLevelType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarPermissionLevelType.php
new file mode 100644
index 00000000..8331e546
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarPermissionLevelType.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\CalendarPermissionLevelType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the permission level that a user has on a Calendar folder.
+ *
+ * @package php-ews\Enumeration
+ */
+class CalendarPermissionLevelType extends PermissionLevelType
+{
+ /**
+ * Indicates that the user can view only free/busy time within the calendar.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const FREE_BUSY_ONLY = 'FreeBusyTimeOnly';
+
+ /**
+ * Indicates that the user can view free/busy time within the calendar and
+ * the subject and location of appointments.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const FREE_BUSY_SUBJECT_AND_LOCATION = 'FreeBusyTimeAndSubjectAndLocation';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarPermissionReadAccessType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarPermissionReadAccessType.php
new file mode 100644
index 00000000..4d6317e6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CalendarPermissionReadAccessType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\CalendarPermissionReadAccessType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Indicates whether a user has permission to read items within a Calendar
+ * folder.
+ *
+ * @package php-ews\Enumeration
+ */
+class CalendarPermissionReadAccessType extends PermissionReadAccessType
+{
+ /**
+ * Indicates that the user has permission to view only free/busy time in the\
+ * calendar.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const TIME_ONLY = 'TimeOnly';
+
+ /**
+ * Indicates that the user has permission to view free/busy time in the
+ * calendar and the subject and location of appointments.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const TIME_SUBJECT_AND_LOCATION = 'TimeAndSubjectAndLocation';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ClientAccessTokenTypeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ClientAccessTokenTypeType.php
new file mode 100644
index 00000000..a802580d
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ClientAccessTokenTypeType.php
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ClientAccessTokenTypeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of a client access token.
+ *
+ * @package php-ews\Enumeration
+ */
+class ClientAccessTokenTypeType extends Enumeration
+{
+ /**
+ * A caller identity client access token.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CALLER_IDENTITY = 'CallerIdentity';
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ const CONNECTORS = 'Connectors';
+
+ /**
+ * An extension callback client access token.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const EXTENSION_CALLBACK = 'ExtensionCallback';
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ const EXTENSION_REST_API_CALLBACK = 'ExtensionRestApiCallback';
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ const LOKI = 'Loki';
+
+ /**
+ * Indicates that the client access token is a scoped token.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const SCOPED_TOKEN = 'ScopedToken';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConferenceType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConferenceType.php
new file mode 100644
index 00000000..42c129c7
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConferenceType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ConferenceType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of conferencing that is performed with a calendar item.
+ *
+ * @package php-ews\Enumeration
+ */
+class ConferenceType extends Enumeration
+{
+ /**
+ * The meeting is offline.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ const CHAT = 2;
+
+ /**
+ * The meeting is an Internet meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ const NET_MEETING = 0;
+
+ /**
+ * The meeting is an Internet show (such as a webinar).
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ const NET_SHOW = 1;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConflictResolutionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConflictResolutionType.php
new file mode 100644
index 00000000..f792ab62
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConflictResolutionType.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ConflictResolutionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of conflict resolution to try during an update.
+ *
+ * @package php-ews\Enumeration
+ */
+class ConflictResolutionType extends Enumeration
+{
+ /**
+ * If there is a conflict, the update operation will overwrite information.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ALWAYS_OVERWRITE = 'AlwaysOverwrite';
+
+ /**
+ * The update operation automatically resolves any conflict.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const AUTO_RESOLVE = 'AutoResolve';
+
+ /**
+ * If there is a conflict, the update operation fails and an error is
+ * returned.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NEVER_OVERWRITE = 'NeverOverwrite';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConnectionFailureCauseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConnectionFailureCauseType.php
new file mode 100644
index 00000000..e2e8d537
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConnectionFailureCauseType.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\EnumerationConnectionFailureCauseType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Specifies the reason for a disconnection from a telephone call.
+ *
+ * @package php-ews\Enumeration
+ */
+class ConnectionFailureCauseType extends Enumeration
+{
+ /**
+ * The called party did not answer.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NO_ANSWER = 'NoAnswer';
+
+ /**
+ * Call state is not disconnected or the disconnect reason is not known.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NONE = 'None';
+
+ /**
+ * Catch-all for other disconnect reasons.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const OTHER = 'Other';
+
+ /**
+ * The called party number was not available.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNAVAILABLE = 'Unavailable';
+
+ /**
+ * The called party line was busy.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const USER_BUSY = 'UserBusy';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConnectionStatusType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConnectionStatusType.php
new file mode 100644
index 00000000..e1f536eb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConnectionStatusType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ConnectionStatusType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Provides a text description of the status of a streaming subscription.
+ *
+ * @package php-ews\Enumeration
+ */
+class ConnectionStatusType extends Enumeration
+{
+ /**
+ * Specifies that the connection has been closed.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CLOSED = 'Closed';
+
+ /**
+ * Specifies that the connection is open.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const OK = 'OK';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContactSourceType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContactSourceType.php
new file mode 100644
index 00000000..45aa6b20
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContactSourceType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ContactSourceType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Describes whether the contact is located in the Exchange store or Active
+ * Directory Domain Services (AD DS).
+ *
+ * @package php-ews\Enumeration
+ */
+class ContactSourceType extends Enumeration
+{
+ /**
+ * Indicates that the contact is stored in Active Directory.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ACTIVE_DIRECTORY = 'ActiveDirectory';
+
+ /**
+ * Indicates that the contact is stored in the Exchange Store.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const EXCHANGE_STORE = 'Store';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContainmentComparisonType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContainmentComparisonType.php
new file mode 100644
index 00000000..45e485c0
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContainmentComparisonType.php
@@ -0,0 +1,92 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ContainmentComparisonType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Determines whether a search ignores cases and spaces.
+ *
+ * @package php-ews\Enumeration
+ */
+class ContainmentComparisonType extends Enumeration
+{
+ /**
+ * The comparison must be exact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const EXACT = 'Exact';
+
+ /**
+ * The comparison ignores casing.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IGNORE_CASE = 'IgnoreCase';
+
+ /**
+ * The comparison ignores non-spacing characters.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IGNORE_CASE_AND_NON_SPACING_CHARS = 'IgnoreCaseAndNonSpacingCharacters';
+
+ /**
+ * The comparison ignores casing and non-spacing characters.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IGNORE_NON_SPACING_CHARS = 'IgnoreNonSpacingCharacters';
+
+ /**
+ * To be removed.
+ *
+ * @since Exchange 2007
+ * @deprecated Exchange 2007
+ *
+ * @var string
+ */
+ const LOOSE = 'Loose';
+
+ /**
+ * To be removed.
+ *
+ * @since Exchange 2007
+ * @deprecated Exchange 2007
+ *
+ * @var string
+ */
+ const LOOSE_AND_IGNORE_CASE = 'LooseAndIgnoreCase';
+
+ /**
+ * To be removed.
+ *
+ * @since Exchange 2007
+ * @deprecated Exchange 2007
+ *
+ * @var string
+ */
+ const LOOSE_AND_IGNORE_CASE_AND_IGNORE_NON_SPACING_CARS = 'LooseAndIgnoreCaseAndIgnoreNonSpace';
+
+ /**
+ * To be removed.
+ *
+ * @since Exchange 2007
+ * @deprecated Exchange 2007
+ *
+ * @var string
+ */
+ const LOOSE_AND_IGNORE_NON_SPACING_CHARS = 'LooseAndIgnoreNonSpace';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContainmentModeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContainmentModeType.php
new file mode 100644
index 00000000..d67b612f
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ContainmentModeType.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ContainmentModeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Identifies the boundaries of a search.
+ *
+ * @package php-ews\Enumeration
+ */
+class ContainmentModeType extends Enumeration
+{
+ /**
+ * The comparison is between an exact phrase in the string and the constant.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const EXACT_PHRASE = 'ExactPhrase';
+
+ /**
+ * The comparison is between the full string and the constant.
+ *
+ * The property value and the supplied constant are precisely the same.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FULL_STRING = 'FullString';
+
+ /**
+ * The comparison is between a prefix on individual words in the string and
+ * the constant.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PREFIX_ON_WORDS = 'PrefixOnWords';
+
+ /**
+ * The comparison is between the string prefix and the constant.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PREFIXED = 'Prefixed';
+
+ /**
+ * The comparison is between a substring of the string and the constant.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SUBSTRING = 'Substring';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationActionTypeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationActionTypeType.php
new file mode 100644
index 00000000..9dc9eb90
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationActionTypeType.php
@@ -0,0 +1,96 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ConversationActionTypeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Contains the action to perform on a conversation specified by a
+ * ConversationId.
+ *
+ * @package php-ews\Enumeration
+ */
+class ConversationActionTypeType extends Enumeration
+{
+ /**
+ * The current items and new items in the conversation will automatically be
+ * set with the categories identified by the Categories property.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const ALWAYS_CATEGORIZE = 'AlwaysCategorize';
+
+ /**
+ * The current items and new items in the conversation will automatically be
+ * deleted.
+ *
+ * The deletion mode is set by the DeleteType property.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const ALWAYS_DELETE = 'AlwaysDelete';
+
+ /**
+ * The current items and new items in the conversation will automatically be
+ * moved to the folder identified by the DestinationFolderId property.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const ALWAYS_MOVE = 'AlwaysMove';
+
+ /**
+ * The current items in the conversation will be copied to the folder
+ * identified by the DestinationFolderId property.
+ *
+ * Subsequent items in the conversation will not be copied.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const COPY = 'Copy';
+
+ /**
+ * The current items in the conversation will be deleted.
+ *
+ * Subsequent items in the conversation will not be deleted. The deletion
+ * mode is set by the DeleteType property.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const DELETE = 'Delete';
+
+ /**
+ * The current items in the conversation will be moved to the folder
+ * identified by the DestinationFolderId property.
+ *
+ * Subsequent items in the conversation will not be moved.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const MOVE = 'Move';
+
+ /**
+ * The current items in the conversation will have their read state set.
+ *
+ * The read state is set by the IsRead property.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const SET_READ_STATE = 'SetReadState';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationNodeSortOrder.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationNodeSortOrder.php
new file mode 100644
index 00000000..3b7320f8
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationNodeSortOrder.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ConversationNodeSortOrder.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the sort order used for the result of a GetConversationItems request.
+ *
+ * @package php-ews\Enumeration
+ */
+class ConversationNodeSortOrder extends Enumeration
+{
+ /**
+ * Order the conversations by their date in ascending order.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DATE_ORDER_ASC = 'DateOrderAscending';
+
+ /**
+ * Order the conversations by their date in descending order.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DATE_ORDER_DESC = 'DateOrderDescending';
+
+ /**
+ * Returns the conversations according to the tree in ascending order.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TREE_ORDER_ASC = 'TreeOrderAscending';
+
+ /**
+ * Returns the conversations according to the tree in descending order.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TREE_ORDER_DESC = 'TreeOrderDescending';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationQueryTraversalType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationQueryTraversalType.php
new file mode 100644
index 00000000..634c2fcc
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ConversationQueryTraversalType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ConversationQueryTraversalType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of traversal to use for a folder.
+ *
+ * @package php-ews\Enumeration
+ */
+class ConversationQueryTraversalType extends Enumeration
+{
+ /**
+ * Consider both direct children as well as all children contained within
+ * those children as well as the children's children, etc.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DEEP = 'Deep';
+
+ /**
+ * Consider only direct children of the parent in question.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const SHALLOW = 'Shallow';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CreateActionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CreateActionType.php
new file mode 100644
index 00000000..29dd5d0c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/CreateActionType.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\CreateActionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the action for uploading an item into a mailbox.
+ *
+ * @package php-ews\Enumeration
+ */
+class CreateActionType extends Enumeration
+{
+ /**
+ * Indicates that a new copy of the original item is uploaded to the
+ * mailbox.
+ *
+ * The ItemId element must not be present if the CreateNew value is used.
+ * The new item identifier is returned in the response.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const CREATE = 'CreateNew';
+
+ /**
+ * Specifies that the item indicated by the ItemId element will be updated.
+ *
+ * An error is returned if the ItemId element is not present or if the item
+ * does not exist in the folder identified by the ParentFolderId element.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const UPDATE = 'Update';
+
+ /**
+ * Indicates that an attempt is first made to update the item.
+ *
+ * If the item does not exist in the folder specified by the ParentFolderId
+ * element, a new item is created.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const UPDATE_OR_CREATE = 'UpdateOrCreate';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DateTimePrecisionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DateTimePrecisionType.php
new file mode 100644
index 00000000..b5f6924a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DateTimePrecisionType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DateTimePrecisionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Specifies the precision for returned date/time values.
+ *
+ * @package php-ews\Enumeration
+ */
+class DateTimePrecisionType extends Enumeration
+{
+ /**
+ * Indicates that date/time values should be precise to the millisecond.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const MILLISECONDS = 'Milliseconds';
+
+ /**
+ * Indicates that date/time values should be precise to the second.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const SECONDS = 'Seconds';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DayOfWeekIndexType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DayOfWeekIndexType.php
new file mode 100644
index 00000000..911ccb2a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DayOfWeekIndexType.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DayOfWeekIndexType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of a calendar item.
+ *
+ * @package php-ews\Enumeration
+ */
+class DayOfWeekIndexType extends Enumeration
+{
+ /**
+ * Represents the first day of a week.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FIRST = 'First';
+
+ /**
+ * Represents the fourth day of a week.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOURTH = 'Fourth';
+
+ /**
+ * Represents the last day of a week.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LAST = 'Last';
+
+ /**
+ * Represents the second day of a week.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SECOND = 'Second';
+
+ /**
+ * Represents the Third day of a week.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const THIRD = 'Third';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DayOfWeekType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DayOfWeekType.php
new file mode 100644
index 00000000..a40c78f7
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DayOfWeekType.php
@@ -0,0 +1,106 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DayOfWeekType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents a day of the week.
+ *
+ * @package php-ews\Enumeration
+ */
+class DayOfWeekType extends Enumeration
+{
+ /**
+ * Represents a day of the week.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DAY = 'Day';
+
+ /**
+ * Represents Friday.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FRIDAY = 'Friday';
+
+ /**
+ * Represents Monday.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MONDAY = 'Monday';
+
+ /**
+ * Represents Saturday.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SATURDAY = 'Saturday';
+
+ /**
+ * Represents Sunday.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SUNDAY = 'Sunday';
+
+ /**
+ * Represents Thursday.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const THURSDAY = 'Thursday';
+
+ /**
+ * Represents Tuesday.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TUESDAY = 'Tuesday';
+
+ /**
+ * Represents Wednesday.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const WEDNESDAY = 'Wednesday';
+
+ /**
+ * Represents a weekday.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const WEEKDAY = 'Weekday';
+
+ /**
+ * Represents a weekend day.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const WEEKEND_DAY = 'WeekendDay';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DaysOfWeekType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DaysOfWeekType.php
new file mode 100644
index 00000000..bb81fe25
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DaysOfWeekType.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DaysOfWeekType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents days of the week that are used in item recurrence patterns.
+ *
+ * @package php-ews\Enumeration
+ *
+ * @todo Make this an array type that separates values by space in the
+ * __toString() method.
+ */
+class DaysOfWeekType extends DayOfWeekType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DefaultShapeNamesType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DefaultShapeNamesType.php
new file mode 100644
index 00000000..b36fb6b0
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DefaultShapeNamesType.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DefaultShapeNamesType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the set of properties to return in an item or folder response.
+ *
+ * @package php-ews\Enumeration
+ */
+class DefaultShapeNamesType extends Enumeration
+{
+ /**
+ * Returns all the properties used by the Exchange Business Logic layer to
+ * construct a folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ALL_PROPERTIES = 'AllProperties';
+
+ /**
+ * Returns a set of properties that are defined as the default for the item
+ * or folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DEFAULT_PROPERTIES = 'Default';
+
+ /**
+ * Returns only the item or folder ID.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ID_ONLY = 'IdOnly';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DelegateFolderPermissionLevelType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DelegateFolderPermissionLevelType.php
new file mode 100644
index 00000000..b98d23ca
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DelegateFolderPermissionLevelType.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DelegateFolderPermissionLevelType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Contains the permissions for a default folder.
+ *
+ * @package php-ews\Enumeration
+ */
+class DelegateFolderPermissionLevelType extends Enumeration
+{
+ /**
+ * The delegate user can read and create items in the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const AUTHOR = 'Author';
+
+ /**
+ * The delegate user has custom access permissions to the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const CUSTOM = 'Custom';
+
+ /**
+ * The delegate user can read, create, and modify items in the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const EDITOR = 'Editor';
+
+ /**
+ * The delegate user has no access permissions to the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const NONE = 'None';
+
+ /**
+ * The delegate user can read items in the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const REVIEWER = 'Reviewer';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DeliverMeetingRequestsType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DeliverMeetingRequestsType.php
new file mode 100644
index 00000000..cf7649bf
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DeliverMeetingRequestsType.php
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DeliverMeetingRequestsType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines how meeting requests are handled between the delegate and the
+ * principal.
+ *
+ * @package php-ews\Enumeration
+ */
+class DeliverMeetingRequestsType extends Enumeration
+{
+ /**
+ * Meeting requests are forwarded to the delegate and remain in the Inbox
+ * folder in the principal's mailbox.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const DELEGATES_AND_ME = 'DelegatesAndMe';
+
+ /**
+ * Meeting requests are forwarded to the delegate and remain in the Inbox
+ * folder in the principal's mailbox, but the Accept, Tentative, and Decline
+ * buttons do not appear in the Microsoft Office Outlook reading pane.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const DELEGATES_AND_SEND_INFO_TO_ME = 'DelegatesAndSendInformationToMe';
+
+ /**
+ * Meeting requests are forwarded to the delegate and moved to the Deleted
+ * Items folder in the principal's mailbox.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const DELEGATES_ONLY = 'DelegatesOnly';
+
+ /**
+ * Meeting requests are not forwarded to the delegate.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NO_FORWARD = 'NoForward';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DictionaryURIType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DictionaryURIType.php
new file mode 100644
index 00000000..15dafbf9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DictionaryURIType.php
@@ -0,0 +1,106 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DictionaryURIType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Identifies the dictionary that contains the member to return.
+ *
+ * @package php-ews\Enumeration
+ */
+class DictionaryURIType extends Enumeration
+{
+ /**
+ * Represents the e-mail address of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_EMAIL_ADDRESS = 'contacts:EmailAddress';
+
+ /**
+ * Represents the instant messaging address of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_IM_ADDRESS = 'contacts:ImAddress';
+
+ /**
+ * Represents the phone number of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_PHONE_NUMBER = 'contacts:PhoneNumber';
+
+ /**
+ * Represents the city of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_PHYSICAL_ADDRESS_CITY = 'contacts:PhysicalAddress:City';
+
+ /**
+ * Represents the country of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_PHYSICAL_ADDRESS_COUNTRY = 'contacts:PhysicalAddress:Country';
+
+ /**
+ * Represents the postal code of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_PHYSICAL_ADDRESS_POSTAL_CODE = 'contacts:PhysicalAddress:PostalCode';
+
+ /**
+ * Represents the state of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_PHYSICAL_ADDRESS_STATE = 'contacts:PhysicalAddress:State';
+
+ /**
+ * Represents the street address of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_PHYSICAL_ADDRESS_STREET = 'contacts:PhysicalAddress:Street';
+
+ /**
+ * Represents a member of a distribution list.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DISTRIBUTION_LIST_MEMBERS_MEMBER = 'distributionlist:Members:Member';
+
+ /**
+ * Represents the message header of an item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_INTERNET_MESSAGE_HEADER = 'item:InternetMessageHeader';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DisableReasonType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DisableReasonType.php
new file mode 100644
index 00000000..d399c877
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DisableReasonType.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DisableReasonType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Specifies the reason for disabling an app.
+ *
+ * @package php-ews\Enumeration
+ */
+class DisableReasonType extends Enumeration
+{
+ /**
+ * To improve mobile client performance.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MOBILE_CLIENT_PERFORMANCE = 'MobileClientPerformance';
+
+ /**
+ * No reason given.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const NO_REASON = 'NoReason';
+
+ /**
+ * To improve email client performance.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const OUTLOOK_CLIENT_PERFORMANCE = 'OutlookClientPerformance';
+
+ /**
+ * To improve Web app client performance.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const OWA_CLIENT_PERFORMANCE = 'OWAClientPerformance';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DisposalType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DisposalType.php
new file mode 100644
index 00000000..87297890
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DisposalType.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DisposalType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Indicates how items are deleted.
+ *
+ * @package php-ews\Enumeration
+ */
+class DisposalType extends Enumeration
+{
+ /**
+ * Indicates that items are permanently removed from the database.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const HARD_DELETE = 'HardDelete';
+
+ /**
+ * Indicates that items are moved to the Deleted Items folder.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const MOVE_TO_DELETED_ITEMS = 'MoveToDeletedItems';
+
+ /**
+ * Indicates that items are moved to the dumpster if the dumpster is
+ * enabled.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const SOFT_DELETE = 'SoftDelete';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedFolderIdNameType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedFolderIdNameType.php
new file mode 100644
index 00000000..1c458e56
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedFolderIdNameType.php
@@ -0,0 +1,394 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DistinguishedFolderIdNameType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents default calendar ids.
+ *
+ * @package php-ews\Enumeration
+ */
+class DistinguishedFolderIdNameType extends Enumeration
+{
+ /**
+ * Represents the admin audit logs folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ADMIN_AUDIT_LOGS = 'adminauditlogs';
+
+ /**
+ * Represents the archive deleted items folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ARCHIVE_DELETED = 'archivedeleteditems';
+
+ /**
+ * Represents the archive Inbox folder.
+ *
+ * @since Exchange 2013 CU5
+ *
+ * @var string
+ */
+ const ARCHIVE_INBOX = 'archiveinbox';
+
+ /**
+ * Represents the root archive message folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ARCHIVE_MESSAGE_ROOT = 'archivemsgfolderroot';
+
+ /**
+ * Represents the archive recoverable items deletions folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ARCHIVE_RECOVERABLE_DELETIONS = 'Archiverecoverableitemsdeletions';
+
+ /**
+ * Represents the archive recoverable items purges folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ARCHIVE_RECOVERABLE_PURGES = 'Archiverecoverableitemspurges';
+
+ /**
+ * Represents the archive recoverable items root folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ARCHIVE_RECOVERABLE_ROOT = 'archiverecoverableitemsroot';
+
+ /**
+ * Represents the archive recoverable items versions folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ARCHIVE_RECOVERABLE_VERSIONS = 'Archiverecoverableitemsversions';
+
+ /**
+ * Represents the root archive folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ARCHIVE_ROOT = 'archiveroot';
+
+ /**
+ * Represents the Calendar folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR = 'calendar';
+
+ /**
+ * Represents the conflicts folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONFLICTS = 'conflicts';
+
+ /**
+ * Represents the Contacts folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS = 'contacts';
+
+ /**
+ * Represents the conversation history folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONVERSATION_HISTORY = 'conversationhistory';
+
+ /**
+ * Represents the Deleted Items folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DELETED = 'deleteditems';
+
+ /**
+ * Represents the directory folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DIRECTORY = 'directory';
+
+ /**
+ * Represents the Drafts folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DRAFTS = 'drafts';
+
+ /**
+ * Represents the Favorites folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const FAVORITES = 'favorites';
+
+ /**
+ * Represents the IM contact list folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const IM_CONTACT_LIST = 'imcontactlist';
+
+ /**
+ * Represents the Inbox folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INBOX = 'inbox';
+
+ /**
+ * Represents the Journal folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const JOURNAL = 'journal';
+
+ /**
+ * Represents the Junk E-mail folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const JUNK = 'junkemail';
+
+ /**
+ * Represents the local failures folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const LOCAL_FAILURES = 'localfailures';
+
+ /**
+ * Represents the message folder root.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_ROOT = 'msgfolderroot';
+
+ /**
+ * Represents the My Contacts folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MY_CONTACTS = 'mycontacts';
+
+ /**
+ * Represents the Notes folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOTES = 'notes';
+
+ /**
+ * Represents the Outbox folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OUTBOX = 'outbox';
+
+ /**
+ * Represents the people connect folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PEOPLE_CONNECT = 'peopleconnect';
+
+ /**
+ * Indicates the URL of the public folders root folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PUBLIC_FOLDERS_ROOT = 'publicfoldersroot';
+
+ /**
+ * Represents the quick contacts folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const QUICK_CONTACTS = 'quickcontacts';
+
+ /**
+ * Represents the recipient cache folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const RECIPIENT_CACHE = 'recipientcache';
+
+ /**
+ * Represents the dumpster deletions folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RECOVERABLE_DELETIONS = 'recoverableitemsdeletions';
+
+ /**
+ * Represents the dumpster purges folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RECOVERABLE_PURGES = 'recoverableitemspurges';
+
+ /**
+ * Represents the dumpster root folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RECOVERABLE_ROOT = 'recoverableitemsroot';
+
+ /**
+ * Represents the dumpster versions folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RECOVERABLE_VERSIONS = 'recoverableitemsversions';
+
+ /**
+ * Represents the root of the mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ROOT = 'root';
+
+ /**
+ * Represents the Search Folders folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEARCH = 'searchfolders';
+
+ /**
+ * Represents the Sent Items folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SENT = 'sentitems';
+
+ /**
+ * Represents the server failures folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const SERVER_FAILURES = 'serverfailures';
+
+ /**
+ * Represents the sync issues folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const SYNC_ISSUES = 'syncissues';
+
+ /**
+ * Represents the Tasks folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASKS = 'tasks';
+
+ /**
+ * Represents the todo search folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TODO_SEARCH = 'todosearch';
+
+ /**
+ * Represents the Voice Mail folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const VOICE_MAIL = 'voicemail';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedPropertySetType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedPropertySetType.php
new file mode 100644
index 00000000..ea69cfe9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedPropertySetType.php
@@ -0,0 +1,106 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DistinguishedPropertySetType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the well-known property set IDs for extended MAPI properties.
+ *
+ * @package php-ews\Enumeration
+ */
+class DistinguishedPropertySetType extends Enumeration
+{
+ /**
+ * Identifies the address property set ID by name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ADDRESS = 'Address';
+
+ /**
+ * Identifies the appointment property set ID by name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const APPOINTMENT = 'Appointment';
+
+ /**
+ * Identifies the calendar assistant property set ID by name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_ASSISTANT = 'CalendarAssistant';
+
+ /**
+ * Identifies the common property set ID by name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const COMMON = 'Common';
+
+ /**
+ * Identifies the Internet headers property set ID by name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INTERNET_HEADERS = 'InternetHeaders';
+
+ /**
+ * Identifies the meeting property set ID by name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MEETING = 'Meeting';
+
+ /**
+ * Identifies the public strings property set ID by name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PUBLIC_STRINGS = 'PublicStrings';
+
+ /**
+ * Identifies the sharing property set ID by name.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ */
+ const SHARING = 'Sharing';
+
+ /**
+ * Indicates a task.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const TASK = 'Task';
+
+ /**
+ * Identifies the unified messaging property set ID by name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNIFIED_MESSAGING = 'UnifiedMessaging';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedUserType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedUserType.php
new file mode 100644
index 00000000..b4a0fbdb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/DistinguishedUserType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\DistinguishedUserType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Identifies Anonymous and Default user accounts for delegate access.
+ *
+ * @package php-ews\Enumeration
+ */
+class DistinguishedUserType extends Enumeration
+{
+ /**
+ * Describes the delegate access settings that anonymous users have on the
+ * principal's mailbox.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const ANONYMOUS = 'Anonymous';
+
+ /**
+ * Describes the default setting for delegate users who are added to the
+ * principal's mailbox.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const DEFAULT_USER = 'Default';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ElcFolderType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ElcFolderType.php
new file mode 100644
index 00000000..ba657e22
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ElcFolderType.php
@@ -0,0 +1,187 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ElcFolderType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of folder used in a retention policy.
+ *
+ * @package php-ews\Enumeration
+ */
+class ElcFolderType extends Enumeration
+{
+ /**
+ * Indicates that the folder is an all folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ALL = 'All';
+
+ /**
+ * Indicates that the folder is a calendar folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CALENDAR = 'Calendar';
+
+ /**
+ * Indicates that the folder is a contacts folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONTACTS = 'Contacts';
+
+ /**
+ * Indicates that the folder is a conversation history folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONVERSATION_HISTORY = 'ConversationHistory';
+
+ /**
+ * Indicates that the folder is a deleted items folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DELETED_ITEMS = 'DeletedItems';
+
+ /**
+ * Indicates that the folder is a drafts folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DRAFTS = 'Drafts';
+
+ /**
+ * Indicates that the folder is an inbox folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INBOX = 'Inbox';
+
+ /**
+ * Indicates that the folder is a journal folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const JOURNAL = 'Journal';
+
+ /**
+ * Indicates that the folder is a junk email folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const JUNK_EMAIL = 'JunkEmail';
+
+ /**
+ * Indicates that the folder is a managed custom folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MANAGED_CUSTOM_FOLDER = 'ManagedCustomFolder';
+
+ /**
+ * Indicates that the folder is a non implemented root folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const NON_IMPLEMENTED_ROOT = 'NonIpmRoot';
+
+ /**
+ * Indicates that the folder is a notes folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const NOTES = 'Notes';
+
+ /**
+ * Indicates that the folder is a outbox folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const OUTBOX = 'Outbox';
+
+ /**
+ * Indicates that the folder is a personal folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONAL = 'Personal';
+
+ /**
+ * Indicates that the folder is a recoverable items folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const RECOVERABLE_ITEMS = 'RecoverableItems';
+
+ /**
+ * Indicates that the folder is an RSS subscription folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const RSS_SUBSCRIPTION = 'RssSubscriptions';
+
+ /**
+ * Indicates that the folder is a sent items folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const SENT_ITEMS = 'SentItems';
+
+ /**
+ * Indicates that the folder is a sync issues folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const SYNC_ISSUES = 'SyncIssues';
+
+ /**
+ * Indicates that the folder is a tasks folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TASKS = 'Tasks';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/EmailAddressKeyType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/EmailAddressKeyType.php
new file mode 100644
index 00000000..66b32fd9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/EmailAddressKeyType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\EmailAddressKeyType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the key for an email address.
+ *
+ * @package php-ews\Enumeration
+ */
+class EmailAddressKeyType extends Enumeration
+{
+ /**
+ * Key for a contacts first email address.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const EMAIL_ADDRESS_1 = 'EmailAddress1';
+
+ /**
+ * Key for a contacts second email address.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const EMAIL_ADDRESS_2 = 'EmailAddress2';
+
+ /**
+ * Key for a contacts third email address.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const EMAIL_ADDRESS_3 = 'EmailAddress3';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExceptionPropertyURIType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExceptionPropertyURIType.php
new file mode 100644
index 00000000..491e7198
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExceptionPropertyURIType.php
@@ -0,0 +1,97 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ExceptionPropertyURIType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines a property of an occurrence of a recurring item.
+ *
+ * @package php-ews\Enumeration
+ */
+class ExceptionPropertyURIType extends Enumeration
+{
+ /**
+ * Identifies the content as containing an error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ATTACHMENT_CONTENT = 'attachment:Content';
+
+ /**
+ * Identifies the content type as containing an error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ATTACHMENT_CONTENT_TYPE = 'attachment:ContentType';
+
+ /**
+ * Identifies the attachment name as containing an error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ATTACHMENT_NAME = 'attachment:Name';
+
+ /**
+ * Identifies the DayOfMonth as containing an error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RECURRENCE_DAY_OF_MONTH = 'recurrence:DayOfMonth';
+
+ /**
+ * Identifies the day of week index as containing an error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RECURRENCE_DAY_OF_WEEK_INDEX = 'recurrence:DayOfWeekIndex';
+
+ /**
+ * Identifies the DaysOfWeek property as containing an error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RECURRENCE_DAYS_OF_WEEK = 'recurrence:DaysOfWeek';
+
+ /**
+ * Identifies the interval as containing an error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RECURRENCE_INTERVAL = 'recurrence:Interval';
+
+ /**
+ * Identifies the month field as containing an error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RECURRENCE_MONTH = 'recurrence:Month';
+
+ /**
+ * Identifies the number of occurrences as containing an error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RECURRENCE_NUMBER_OF_OCCURRENCES = 'recurrence:NumberOfOccurrences';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExchangeVersionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExchangeVersionType.php
new file mode 100644
index 00000000..28fa614c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExchangeVersionType.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ExchangeVersionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the versioning information that identifies the schema version to
+ * target for a request.
+ *
+ * @package php-ews\Enumeration
+ */
+class ExchangeVersionType extends Enumeration
+{
+ /**
+ * Target the schema files for the initial release version of Exchange 2007.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const EXCHANGE_2007 = 'Exchange2007';
+
+ /**
+ * Target the schema files for Exchange 2007 Service Pack 1 (SP1), Exchange
+ * 2007 Service Pack 2 (SP2), and Exchange 2007 Service Pack 3 (SP3).
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const EXCHANGE_2007_SP1 = 'Exchange2007_SP1';
+
+ /**
+ * Microsoft Exchange 2007 SP2
+ *
+ * @var string
+ */
+ const VERSION_2009 = 'Exchange2009';
+
+ /**
+ * Target the schema files for Exchange 2010.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCHANGE_2010 = 'Exchange2010';
+
+ /**
+ * Target the schema files for Exchange 2010 Service Pack 1 (SP1).
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const EXCHANGE_2010_SP1 = 'Exchange2010_SP1';
+
+ /**
+ * Target the schema files for Exchange 2010 Service Pack 2 (SP2) and
+ * Exchange 2010 Service Pack 3 (SP3).
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const EXCHANGE_2010_SP2 = 'Exchange2010_SP2';
+
+ /**
+ * Target the schema files for Exchange 2013.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const EXCHANGE_2013 = 'Exchange2013';
+
+ /**
+ * Target the schema files for Exchange 2013 Service Pack 1 (SP1).
+ *
+ * @since Exchange 2013 SP1
+ *
+ * @var string
+ */
+ const EXCHANGE_2013_SP1 = 'Exchange2013_SP1';
+
+ /**
+ * Target the schema files for Exchange 2016.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ */
+ const VERSION_2016 = 'Exchange2016';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExternalAudience.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExternalAudience.php
new file mode 100644
index 00000000..196235d0
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ExternalAudience.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ExternalAudience.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Identifies to whom external Out of Office (OOF) messages are sent..
+ *
+ * @package php-ews\Enumeration
+ */
+class ExternalAudience extends Enumeration
+{
+ /**
+ * E-mail senders outside the mailbox user's organization who send messages
+ * to the user will receive an external OOF message response..
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ALL = 'All';
+
+ /**
+ * E-mail senders outside the mailbox user's organization who send messages
+ * to the user will only receive an external OOF message response if the
+ * sender is in the user's Exchange store contact list.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const KNOWN = 'Known';
+
+ /**
+ * E-mail senders outside the mailbox user's organization who send messages
+ * to the user will not receive an external OOF message response.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NONE = 'None';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FileAsMappingType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FileAsMappingType.php
new file mode 100644
index 00000000..f062c305
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FileAsMappingType.php
@@ -0,0 +1,178 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\FileAsMappingType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines how to construct what is displayed for a contact.
+ *
+ * @package php-ews\Enumeration
+ */
+class FileAsMappingType extends Enumeration
+{
+ /**
+ * File as mapping for "company".
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const COMPANY = 'Company';
+
+ /**
+ * File as mapping for "last name, first name".
+ *
+ * @since Exchange 2007
+ *
+ * @var
+ */
+ const COMPANY_LAST_COMMA_FIRST = 'CompanyLastCommaFirst';
+
+ /**
+ * File as mapping for "company last name first name".
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const COMPANY_LAST_FIRST = 'CompanyLastFirst';
+
+ /**
+ * File as mapping for "company last name first name".
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const COMPANY_LAST_SPACE_FIRST = 'CompanyLastSpaceFirst';
+
+ /**
+ * File as mapping for "display name".
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DISPLAY_NAME = 'DisplayName';
+
+ /**
+ * File as mapping to use when no mapping is defined.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EMPTY_MAPPING = 'Empty';
+
+ /**
+ * File as mapping for "first name".
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FIRST_NAME = 'FirstName';
+
+ /**
+ * File as mapping for "first name last name".
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FIRST_SPACE_LAST = 'FirstSpaceLast';
+
+ /**
+ * File as mapping for "last name, first name".
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LAST_COMMA_FIRST = 'LastCommaFirst';
+
+ /**
+ * File as mapping for "last name, first name company".
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LAST_COMMA_FIRST_COMPANY = 'LastCommaFirstCompany';
+
+ /**
+ * File as mapping for "last name first name".
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LAST_FIRST = 'LastFirst';
+
+ /**
+ * File as mapping for "last name first name company".
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LAST_FIRST_COMPANY = 'LastFirstCompany';
+
+ /**
+ * File as mapping for "last name first name middle name suffix".
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const LAST_FIRST_MIDDLE_SUFFIX = 'LastFirstMiddleSuffix';
+
+ /**
+ * File as mapping for "last name first name suffix".
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LAST_FIRST_SUFFIX = 'LastFirstSuffix';
+
+ /**
+ * File as mapping for "last name".
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const LAST_NAME = 'LastName';
+
+ /**
+ * File as mapping for "last name first name".
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LAST_SPACE_FIRST = 'LastSpaceFirst';
+
+ /**
+ * File as mapping for "last name first name company".
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LAST_SPACE_FIRST_COMPANY = 'LastSpaceFirstCompany';
+
+ /**
+ * File as mapping to use when no mapping is desired.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NONE = 'None';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FlagStatusType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FlagStatusType.php
new file mode 100644
index 00000000..f9c99a75
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FlagStatusType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\FlagStatusType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the flagged status of an item.
+ *
+ * @package php-ews\Enumeration
+ */
+class FlagStatusType extends Enumeration
+{
+ /**
+ * Indicates the complete flag status.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const COMPLETE = 'Complete';
+
+ /**
+ * Indicates the flagged status.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const FLAGGED = 'Flagged';
+
+ /**
+ * Indicates the not-flagged status.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ const NOT_FLAGGED = 'NotFlagged';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FlaggedForActionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FlaggedForActionType.php
new file mode 100644
index 00000000..e3599810
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FlaggedForActionType.php
@@ -0,0 +1,116 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\FlaggedForActionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Specifies the flag for action value that must appear on incoming messages in
+ * order for the condition or exception to apply.
+ *
+ * @package php-ews\Enumeration
+ */
+class FlaggedForActionType extends Enumeration
+{
+ /**
+ * Indicates that the message may contain any flag.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ANY = 'Any';
+
+ /**
+ * Indicates that the message has been flagged for a call.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CALL = 'Call';
+
+ /**
+ * Indicates that the message is not to be forwarded.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DO_NOT_FORWARD = 'DoNotForward';
+
+ /**
+ * Indicates that the message has been flagged for a follow up.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FOLLOW_UP = 'FollowUp';
+
+ /**
+ * Indicates that the message is to be forwarded.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FORWARD = 'Forward';
+
+ /**
+ * Indicates that the message has been flagged as FYI.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FYI = 'FYI';
+
+ /**
+ * Indicates that the message does not require a response.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NO_RESPONSE_NECESSARY = 'NoResponseNecessary';
+
+ /**
+ * Indicates that the message is to be read.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const READ = 'Read';
+
+ /**
+ * Indicates that the message needs a reply.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const REPLY = 'Reply';
+
+ /**
+ * Indicates that the message needs a reply to all recipients.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const REPLY_TO_ALL = 'ReplyToAll';
+
+ /**
+ * Indicates that the message has been flagged for review.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const REVIEW = 'Review';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FolderQueryTraversalType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FolderQueryTraversalType.php
new file mode 100644
index 00000000..5cb80a62
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FolderQueryTraversalType.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\FolderQueryTraversalType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of sub-tree traversal for an operation.
+ *
+ * @package php-ews\Enumeration
+ */
+class FolderQueryTraversalType extends Enumeration
+{
+ /**
+ * Consider both direct children as well as all subfolders contained within
+ * those children as well as the children's children, etc.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DEEP = 'Deep';
+
+ /**
+ * Consider only folders that are direct children of the parent folder(s) in
+ * question.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SHALLOW = 'Shallow';
+
+ /**
+ * Consider only those items that are soft deleted from the parent folders
+ * specified.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SOFT_DELETED = 'SoftDeleted';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FreeBusyViewType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FreeBusyViewType.php
new file mode 100644
index 00000000..c45b72ed
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/FreeBusyViewType.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\FreeBusyViewType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the type of free/busy information returned in the response.
+ *
+ * @package php-ews\Enumeration
+ */
+class FreeBusyViewType extends Enumeration
+{
+ /**
+ * Represents the legacy status information: free, busy, tentative, and OOF;
+ * the start/end times of the appointments; and various properties of the
+ * appointment such as subject, location, and importance.
+ *
+ * This requested view will return the maximum amount of information for
+ * which the requesting user is privileged. If merged free/busy information
+ * only is available, as with requesting information for users in a
+ * Microsoft Exchange Server 2003 forest, MergedOnly will be returned.
+ * Otherwise, FreeBusy or Detailed will be returned.
+ *
+ * If Detailed is specified for a distribution list, the free/busy
+ * information for the members of the list is merged, and MergedOnly is
+ * returned.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DETAILED = 'Detailed';
+
+ /**
+ * Represents all the properties in Detailed with a stream of merged
+ * free/busy availability information.
+ *
+ * If only merged free/busy information is available, for example if the
+ * mailbox exists on a computer running Exchange 2003, MergedOnly will be
+ * returned. Otherwise, FreeBusyMerged or DetailedMerged will be returned.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DETAILED_MERGED = 'DetailedMerged';
+
+ /**
+ * Represents the legacy status information: free, busy, tentative, and OOF.
+ *
+ * This also includes the start/end times of the appointments. This view is
+ * richer than the legacy free/busy view because individual meeting start
+ * and end times are provided instead of an aggregated free/busy stream.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FREE_BUSY = 'FreeBusy';
+
+ /**
+ * Represents all the properties in FreeBusy with a stream of merged
+ * free/busy availability information.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FREE_BUSY_MERGED = 'FreeBusyMerged';
+
+ /**
+ * Represents an aggregated free/busy stream.
+ *
+ * In cross-forest scenarios in which the target user in one forest does not
+ * have an Availability service configured, the Availability service of the
+ * requester retrieves the target user’s free/busy information from the
+ * free/busy public folder. Because public folders only store free/busy
+ * information in merged form, MergedOnly is the only available information.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MERGED_ONLY = 'MergedOnly';
+
+ /**
+ * This value is not valid for requests but is valid for responses.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NONE = 'None';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/HoldActionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/HoldActionType.php
new file mode 100644
index 00000000..788da5ab
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/HoldActionType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\HoldActionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of action for a mailbox hold.
+ *
+ * @package php-ews\Enumeration
+ */
+class HoldActionType extends Enumeration
+{
+ /**
+ * Indicates that a mailbox hold will be created.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CREATE = 'Create';
+
+ /**
+ * Indicates that a mailbox hold will be removed.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const REMOVE = 'Remove';
+
+ /**
+ * Indicates that a mailbox hold will be updated.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const UPDATE = 'Update';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/HoldStatusType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/HoldStatusType.php
new file mode 100644
index 00000000..b1ec1285
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/HoldStatusType.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\HoldStatusType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the hold status for a mailbox.
+ *
+ * @package php-ews\Enumeration
+ */
+class HoldStatusType extends Enumeration
+{
+ /**
+ * Indicates that the hold on a mailbox has failed.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const FAILED = 'Failed';
+
+ /**
+ * Indicates that the mailbox is not on hold.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const NOT_ON_HOLD = 'NotOnHold';
+
+ /**
+ * Indicates that the mailbox is on hold.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ON_HOLD = 'OnHold';
+
+ /**
+ * Indicates that the mailbox is on a partial hold.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PARTIAL_HOLD = 'PartialHold';
+
+ /**
+ * Indicates that a hold on the mailbox is pending.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PENDING = 'Pending';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/IdFormatType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/IdFormatType.php
new file mode 100644
index 00000000..401b18ec
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/IdFormatType.php
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\IdFormatType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Specifies the source format of the Id to be converted or the format of the Id
+ * after conversion.
+ *
+ * @package php-ews\Enumeration
+ */
+class IdFormatType extends Enumeration
+{
+ /**
+ * Describes MAPI identifiers, as in the PR_ENTRYID property.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const ENTRY_ID = 'EntryId';
+
+ /**
+ * Describes identifiers that are produced by Exchange Web Services starting
+ * with Exchange 2007 SP1.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const EWS_ID = 'EwsId';
+
+ /**
+ * Describes identifiers that are produced by Exchange Web Services in the
+ * initial release version of Exchange 2007.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const EWS_LEGACY_ID = 'EwsLegacyId';
+
+ /**
+ * Describes a hexadecimal-encoded representation of the PR_ENTRYID
+ * property.
+ *
+ * This is the format of availability calendar event identifiers.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const HEX_ENTRY_ID = 'HexEntryId';
+
+ /**
+ * Describes a Microsoft Office Outlook Web Access identifier.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const OWA_ID = 'OwaId';
+
+ /**
+ * Describes Exchange store identifiers.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const STORE_ID = 'StoreId';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ImAddressKeyType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ImAddressKeyType.php
new file mode 100644
index 00000000..00da9005
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ImAddressKeyType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ImAddressKeyType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the key for an instant messenger address.
+ *
+ * @package php-ews\Enumeration
+ */
+class ImAddressKeyType extends Enumeration
+{
+ /**
+ * Instant messenger key for instant messenger address one.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IM_ADDRESS_1 = 'ImAddress1';
+
+ /**
+ * Instant messenger key for instant messenger address two.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IM_ADDRESS_2 = 'ImAddress2';
+
+ /**
+ * Instant messenger key for instant messenger address three.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IM_ADDRESS_3 = 'ImAddress3';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ImportanceChoicesType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ImportanceChoicesType.php
new file mode 100644
index 00000000..03ffdd89
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ImportanceChoicesType.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ImportanceChoicesType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Describes the importance of an item or the aggregated importance of all items
+ * in a conversation in the current folder.
+ *
+ * @package php-ews\Enumeration
+ */
+class ImportanceChoicesType extends Enumeration
+{
+ /**
+ * High importance level.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const HIGH = 'High';
+
+ /**
+ * Low importance level.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LOW = 'Low';
+
+ /**
+ * Normal importance level.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NORMAL = 'Normal';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/IndexBasePointType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/IndexBasePointType.php
new file mode 100644
index 00000000..47f24132
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/IndexBasePointType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\IndexBasePointType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines whether a page of items or conversations will start from the
+ * beginning or the end of a set.
+ *
+ * @package php-ews\Enumeration
+ */
+class IndexBasePointType extends Enumeration
+{
+ /**
+ * The paged view starts at the beginning of the found conversation or item
+ * set.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BEGINNING = 'Beginning';
+
+ /**
+ * The paged view starts at the end of the found conversation or item set.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const END = 'End';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/InvalidRecipientResponseCodeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/InvalidRecipientResponseCodeType.php
new file mode 100644
index 00000000..81e26b1c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/InvalidRecipientResponseCodeType.php
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\InvalidRecipientResponseCodeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Provides information about why a recipient is invalid.
+ *
+ * @package php-ews\Enumeration
+ */
+class InvalidRecipientResponseCodeType extends Enumeration
+{
+ /**
+ * Indicates that there was a problem obtaining a security token from the
+ * token server.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CANNOT_OBTAIN_TOKEN_FROM_STS = 'CannotObtainTokenFromSTS';
+
+ /**
+ * Indicates that the error is not specified by another error response code.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const OTHER = 'OtherError';
+
+ /**
+ * Indicates that the secure token service that is used by the specified
+ * recipient is unknown.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RECIPIENT_ORG_FEDERATED_UNKNOWN_TOKEN_ISSUER = 'RecipientOrganizationFederatedWithUnknownTokenIssuer';
+
+ /**
+ * Indicates that a sharing relationship is not available with the
+ * organization specified in the recipient's SMTP e-mail address.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RECIPIENT_ORG_NOT_FEDERATED = 'RecipientOrganizationNotFederated';
+
+ /**
+ * Indicates that the system administrator has set a system policy that
+ * blocks sharing with the specified recipient.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SYSTEM_POLICY_BLOCKS_SHARING_WITH_RECIPIENT = 'SystemPolicyBlocksSharingWithThisRecipient';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ItemClassType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ItemClassType.php
new file mode 100644
index 00000000..675ae6eb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ItemClassType.php
@@ -0,0 +1,291 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ItemClassType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the message class of an item.
+ *
+ * @package php-ews\Enumeration
+ */
+class ItemClassType extends Enumeration
+{
+ /**
+ * Class used to identify a form for journal entries.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ACTIVITY = 'IPM.Activity';
+
+ /**
+ * Class used to identify a form for appointments.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const APPOINTMENT = 'IPM.Appointment';
+
+ /**
+ * Class used to identify a form for contacts.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACT = 'IPM.Contact';
+
+ /**
+ * Class used to identify a form for distribution lists.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DISTRIBUTION_LIST = 'IPM.DistList';
+
+ /**
+ * Class used to identify a form for documents.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DOCUMENT = 'IPM.Document';
+
+ /**
+ * Class used to identify a form for items for which the specified form
+ * can not be found.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IPM = 'IPM';
+
+ /**
+ * Class used to identify a form for e-mail messages.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOTE = 'IPM.Note';
+
+ /**
+ * Class used to identify a form for reports from the Internet Mail Connect
+ * (the Exchange Server gateway to the Internet).
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOTE_IMC_NOTIFICATION = 'IPM.Note.IMC.Notification';
+
+ /**
+ * Class used to identify a form for out-of-office templates.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOTE_RULES_OOF_TEMPLATE_MICROSOFT = 'IPM.Note.Rules.Oof.Template.Microsoft';
+
+ /**
+ * Class used to identify a form for editing rule reply templates.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOTE_RULES_REPLY_TEMPLATE_MICROSOFT = 'IPM.Note.Rules.ReplyTemplate.Microsoft';
+
+ /**
+ * Class used to identify a form for encrypted notes to other people.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOTE_SECURE = 'IPM.Note.Secure';
+
+ /**
+ * Class used to identify a form for digitally signed notes to other people.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOTE_SECURE_SIGN = 'IPM.Note.Secure.Sign';
+
+ /**
+ * Class used to identify a form for the exception item of a recurrence
+ * series.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OLE_CLASS = 'IPM.OLE.Class';
+
+ /**
+ * Class used to identify a form for recalling sent messages from recipient
+ * Inboxes.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OUTLOOK_RECALL = 'IPM.Outlook.Recall';
+
+ /**
+ * Class used to identify a form for posting notes in a folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const POST = 'IPM.Post';
+
+ /**
+ * Class used to identify a form for message recall reports.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RECALL_REPORT = 'IPM.Recall.Report';
+
+ /**
+ * Class used to identify a form for remote Mail message headers.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const REMOTE = 'IPM.Remote';
+
+ /**
+ * Class used to identify a form for reporting item status.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const REPORT = 'IPM.Report';
+
+ /**
+ * Class used to identify a form for resending a failed message.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RESEND = 'IPM.Resend';
+
+ /**
+ * Class used to identify a form for meeting cancellations.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SCHEDULE_MEETING_CANCELED = 'IPM.Schedule.Meeting.Canceled';
+
+ /**
+ * Class used to identify a form for meeting requests.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SCHEDULE_MEETING_REQUEST = 'IPM.Schedule.Meeting.Request';
+
+ /**
+ * Class used to identify a form for responses to decline meeting requests.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SCHEDULE_MEETING_RESP_NEG = 'IPM.Schedule.Meeting.Resp.Neg';
+
+ /**
+ * Class used to identify a form for responses to accept meeting requests.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SCHEDULE_MEETING_RESP_POS = 'IPM.Schedule.Meeting.Resp.Pos';
+
+ /**
+ * Class used to identify a form for responses to tentatively accept meeting
+ * requests.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SCHEDULE_MEETING_RESP_TENT = 'IPM.Schedule.Meeting.Resp.Tent';
+
+ /**
+ * Class used to identify a form for creating notes.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const STICKY_NOTE = 'IPM.StickyNote';
+
+ /**
+ * Class used to identify a form for tasks.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK = 'IPM.Task';
+
+ /**
+ * Class used to identify a form for task requests.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_REQUEST = 'IPM.TaskRequest';
+
+ /**
+ * Class used to identify a form for responses to accept task requests.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_REQUEST_ACCEPT = 'IPM.TaskRequest.Accept';
+
+ /**
+ * Class used to identify a form for responses to decline task requests.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_REQUEST_DECLINE = 'IPM.TaskRequest.Decline';
+
+ /**
+ * Class used to identify a form for updates to requested tasks.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_REQUEST_UPDATE = 'IPM.TaskRequest.Update';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ItemQueryTraversalType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ItemQueryTraversalType.php
new file mode 100644
index 00000000..db05066d
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ItemQueryTraversalType.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ItemQueryTraversalType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Types of sub-tree traversal for deletion and enumeration.
+ *
+ * @package php-ews\Enumeration
+ */
+class ItemQueryTraversalType extends Enumeration
+{
+ /**
+ * Returns only the identities of associated items in the folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ASSOCIATED = 'Associated';
+
+ /**
+ * Returns only the identities of items in the folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SHALLOW = 'Shallow';
+
+ /**
+ * Returns only the identities of items that are in a folder's dumpster.
+ *
+ * Note that a soft-deleted traversal combined with a search restriction
+ * will result in zero items returned even if there are items that match the
+ * search criteria.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SOFT_DELETED = 'SoftDeleted';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/LegacyFreeBusyType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/LegacyFreeBusyType.php
new file mode 100644
index 00000000..e13df976
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/LegacyFreeBusyType.php
@@ -0,0 +1,71 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\LegacyFreeBusyType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the intended status for a calendar item that is associated with a
+ * meeting request.
+ *
+ * @package php-ews\Enumeration
+ */
+class LegacyFreeBusyType extends Enumeration
+{
+ /**
+ * The calendar item represents busy time.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BUSY = 'Busy';
+
+ /**
+ * The calendar item represents free time.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FREE = 'Free';
+
+ /**
+ * The calendar item's status is not defined.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_DATA = 'NoData';
+
+ /**
+ * The calendar item represents time out of the office.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OUT_OF_OFFICE = 'OOF';
+
+ /**
+ * The calendar item represents tentatively busy time.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TENTATIVE = 'Tentative';
+
+ /**
+ * The calendar item represents time working off site.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const WORKING_ELSEWHERE = 'WorkingElsewhere';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/LocationSourceType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/LocationSourceType.php
new file mode 100644
index 00000000..77cc4d5a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/LocationSourceType.php
@@ -0,0 +1,71 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\LocationSourceType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Specifies information about the origin of an associated postal address, for
+ * example, a contact or a telephone book.
+ *
+ * @package php-ews\Enumeration
+ */
+class LocationSourceType extends Enumeration
+{
+ /**
+ * The information was obtained from a contact.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONTACT = 'Contact';
+
+ /**
+ * The information was obtained from the device.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DEVICE = 'Device';
+
+ /**
+ * The information was obtained from location services.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const LOCATION_SERVICES = 'LocationServices';
+
+ /**
+ * There is no location source.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const NONE = 'None';
+
+ /**
+ * The information was obtained from phonebook services.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PHONEBOOK_SERVICES = 'PhonebookServices';
+
+ /**
+ * The information was obtained from a resource.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const RESOURCE = 'Resource';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailTipTypes.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailTipTypes.php
new file mode 100644
index 00000000..2be635d2
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailTipTypes.php
@@ -0,0 +1,107 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MailTipTypes.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the types of mail tips requested from the service.
+ *
+ * @package php-ews\Enumeration
+ */
+class MailTipTypes extends Enumeration
+{
+ /**
+ * Represents all available mail tips.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ALL = 'All';
+
+ /**
+ * Represents a custom mail tip.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CUSTOM_MAIL_TIP = 'CustomMailTip';
+
+ /**
+ * Indicates whether delivery restrictions will prevent the sender's message
+ * from reaching the recipient.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DELIVERY_RESTRICTION = 'DeliveryRestriction';
+
+ /**
+ * Represents the count of external members.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXTERNAL_MEMBER_COUNT = 'ExternalMemberCount';
+
+ /**
+ * Indicates whether the recipient is invalid.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_RECIPIENT = 'InvalidRecipient';
+
+ /**
+ * Represents the status for a mailbox that is full.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MAILBOX_FULL_STATUS = 'MailboxFullStatus';
+
+ /**
+ * Represents the maximum message size a recipient can accept.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MAX_MESSAGE_SIZE = 'MaxMessageSize';
+
+ /**
+ * Indicates whether the sender's message will be reviewed by a moderator.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MODERATION_STATUS = 'ModerationStatus';
+
+ /**
+ * Represents the Out of Office (OOF) message.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const OUT_OF_OFFICE_MESSAGE = 'OutOfOfficeMessage';
+
+ /**
+ * Represents the count of all members.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const TOTAL_MEMBER_COUNT = 'TotalMemberCount';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailboxSearchLocationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailboxSearchLocationType.php
new file mode 100644
index 00000000..3429a841
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailboxSearchLocationType.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MailboxSearchLocationType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines whether a search or fetch for a conversation should span either the
+ * primary mailbox, archive mailbox, or both the primary and archive mailbox.
+ *
+ * @package php-ews\Enumeration
+ */
+class MailboxSearchLocationType extends Enumeration
+{
+ /**
+ * Indicates a scope that targets both the primary mailbox and archive
+ * mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ALL = 'All';
+
+ /**
+ * Indicates a scope that targets the archive mailbox for a user.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ARCHIVE = 'ArchiveOnly';
+
+ /**
+ * Indicates a scope that targets the primary mailbox for a user.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PRIMARY = 'PrimaryOnly';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailboxTypeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailboxTypeType.php
new file mode 100644
index 00000000..e2a080c4
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MailboxTypeType.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MailboxTypeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the type of mailbox that is represented by an e-mail address.
+ *
+ * @package php-ews\Enumeration
+ */
+class MailboxTypeType extends Enumeration
+{
+ /**
+ * Represents a contact in a user's mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACT = 'Contact';
+
+ /**
+ * Represents a mail-enabled Active Directory object.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MAILBOX = 'Mailbox';
+
+ /**
+ * Represents a one-off member of a personal distribution list.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ONE_OFF = 'OneOff';
+
+ /**
+ * Represents a private distribution list in a user's mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PRIVATE_DISTRIBUTION_LIST = 'PrivateDL';
+
+ /**
+ * Represents a public distribution list.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PUBLIC_DISTRIBUTION_LIST = 'PublicDL';
+
+ /**
+ * Represents a public folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const PUBLIC_FOLDER = 'PublicFolder';
+
+ /**
+ * Represents an unknown type of mailbox.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNKNOWN = 'Unknown';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MapiPropertyTypeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MapiPropertyTypeType.php
new file mode 100644
index 00000000..27850f8a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MapiPropertyTypeType.php
@@ -0,0 +1,273 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MapiPropertyTypeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the property type of a property tag.
+ *
+ * @package php-ews\Enumeration
+ */
+class MapiPropertyTypeType extends Enumeration
+{
+ /**
+ * A double value that is interpreted as a date and time. The integer part
+ * is the date and the fraction part is the time.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const APPLICATION_TIME = 'ApplicationTime';
+
+ /**
+ * An array of double values that are interpreted as a date and time.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const APPLICATION_TIME_ARRAY = 'ApplicationTimeArray';
+
+ /**
+ * A Base64-encoded binary value.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BINARY = 'Binary';
+
+ /**
+ * An array of Base64-encoded binary values.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BINARY_ARRAY = 'BinaryArray';
+
+ /**
+ * A Boolean true or false.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BOOLEAN = 'Boolean';
+
+ /**
+ * A GUID string.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CLSID = 'CLSID';
+
+ /**
+ * An array of GUID strings.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CLSID_ARRAY = 'CLSIDArray';
+
+ /**
+ * A 64-bit integer that is interpreted as the number of cents.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CURRENCY = 'Currency';
+
+ /**
+ * An array of 64-bit integers that are interpreted as the number of cents.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CURRENCY_ARRAY = 'CurrencyArray';
+
+ /**
+ * A 64-bit floating-point value.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DOUBLE = 'Double';
+
+ /**
+ * An array of 64-bit floating-point values.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DOUBLE_ARRAY = 'DoubleArray';
+
+ /**
+ * SCODE value; 32-bit unsigned integer.
+ *
+ * Not used for restrictions or for getting/setting values. This exists only
+ * for reporting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ERROR = 'Error';
+
+ /**
+ * A 32-bit floating-point value.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FLOAT = 'Float';
+
+ /**
+ * An array of 32-bit floating-point values.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FLOAT_ARRAY = 'FloatArray';
+
+ /**
+ * A signed 32-bit (Int32) integer.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INTEGER = 'Integer';
+
+ /**
+ * An array of signed 32-bit (Int32) integers.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INTEGER_ARRAY = 'IntegerArray';
+
+ /**
+ * A signed or unsigned 64-bit (Int64) integer.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LONG = 'Long';
+
+ /**
+ * An array of signed or unsigned 64-bit (Int64) integers.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LONG_ARRAY = 'LongArray';
+
+ /**
+ * Indicates no property value.
+ *
+ * Not used for restrictions or for getting/setting values. This exists only
+ * for reporting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NULL_TYPE = 'Null';
+
+ /**
+ * A pointer to an object that implements the IUnknown interface.
+ *
+ * Not used for restrictions or for getting/setting values. This exists only
+ * for reporting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OBJECT = 'Object';
+
+ /**
+ * An array of pointers to objects that implement the IUnknown interface.
+ *
+ * Not used for restrictions or for getting/setting values. This exists only
+ * for reporting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OBJECT_ARRAY = 'ObjectArray';
+
+ /**
+ * A signed 16-bit integer.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SHORT = 'Short';
+
+ /**
+ * An array of signed 16-bit integers.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SHORT_ARRAY = 'ShortArray';
+
+ /**
+ * A 64-bit integer data and time value in the form of a FILETIME structure.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SYSTEM_TIME = 'SystemTime';
+
+ /**
+ * An array of 64-bit integer data and time values in the form of a FILETIME
+ * structure.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SYSTEM_TIME_ARRAY = 'SystemTimeArray';
+
+ /**
+ * A Unicode string.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const STRING = 'String';
+
+ /**
+ * An array of Unicode strings.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const STRING_ARRAY = 'StringArray';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MeetingAttendeeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MeetingAttendeeType.php
new file mode 100644
index 00000000..27deee34
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MeetingAttendeeType.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MeetingAttendeeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the type of attendee that is identified in the Email element.
+ *
+ * @package php-ews\Enumeration
+ */
+class MeetingAttendeeType extends Enumeration
+{
+ /**
+ * A mailbox user who is an optional attendee to the meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OPTIONAL = 'Optional';
+
+ /**
+ * The mailbox user and attendee who created the calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ORGANIZER = 'Organizer';
+
+ /**
+ * A mailbox user who is a required attendee to the meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const REQUIRED = 'Required';
+
+ /**
+ * A resource such as a TV or projector that is scheduled for use in the meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RESOURCE = 'Resource';
+
+ /**
+ * A mailbox entity that represents a room resource used for the meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ROOM = 'Room';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MeetingRequestTypeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MeetingRequestTypeType.php
new file mode 100644
index 00000000..11ee46d6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MeetingRequestTypeType.php
@@ -0,0 +1,84 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MeetingRequestTypeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Describes the type of a meeting request.
+ *
+ * @package php-ews\Enumeration
+ */
+class MeetingRequestTypeType extends Enumeration
+{
+ /**
+ * Identifies the meeting request as a full update to an existing request.
+ *
+ * A full update has updated time and informational content.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FULL_UPDATE = 'FullUpdate';
+
+ /**
+ * Identifies the meeting request as only containing updated informational
+ * content.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INFORMATIONAL_UPDATE = 'InformationalUpdate';
+
+ /**
+ * Identifies the meeting request as a new meeting request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NEW_MEETING_REQUEST = 'NewMeetingRequest';
+
+ /**
+ * Indicates that the meeting request type is not defined.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NONE = 'None';
+
+ /**
+ * Identifies the meeting request as outdated.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OUTDATED = 'Outdated';
+
+ /**
+ * Indicates that the meeting request belongs to a principal who has
+ * forwarded meeting messages to a delegate and has his copies marked as
+ * informational.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PRINCIPAL_WANTS_COPY = 'PrincipalWantsCopy';
+
+ /**
+ * Identifies the meeting request as a silent update to an existing meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SILENT_UPDATE = 'SilentUpdate';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MemberStatusType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MemberStatusType.php
new file mode 100644
index 00000000..7a5d0cd7
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MemberStatusType.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MemberStatusType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the status of a distribution list member on the server.
+ *
+ * @package php-ews\Enumeration
+ */
+class MemberStatusType extends Enumeration
+{
+ /**
+ * Referenced object is not available.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DEMOTED = 'Demoted';
+
+ /**
+ * Member information in a distribution list is in sync with the referenced
+ * object.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NORMAL = 'Normal';
+
+ /**
+ * Member information is invalid or unrecognized.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNRECOGNIZED = 'Unrecognized';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageDispositionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageDispositionType.php
new file mode 100644
index 00000000..56a40477
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageDispositionType.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MessageDispositionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Describes how an e-mail message will be handled after it is created.
+ *
+ * @package php-ews\Enumeration
+ */
+class MessageDispositionType extends Enumeration
+{
+ /**
+ * The message item is saved in the folder that is specified by the
+ * SavedItemFolderId element.
+ *
+ * Messages can be sent later by using the SendItem operation. An item
+ * identifier is returned in the response. Item identifiers are not returned
+ * for any item types except for message items. This includes response
+ * objects.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SAVE_ONLY = 'SaveOnly';
+
+ /**
+ * The item is sent and a copy is saved in the folder that is identified by
+ * the SavedItemFolderId element.
+ *
+ * An item identifier is not returned in the response.
+ *
+ * Meeting requests are not saved to the folder that is identified by the
+ * SavedItemFolderId property. For calendaring, only the save location for
+ * calendar items can be specified by the SavedItemFolderId property. You
+ * cannot control where a meeting request item is saved. Only the associated
+ * calendar items are copied and saved into the folder that is identified by
+ * the SavedItemFolderId property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_AND_SAVE_COPY = 'SendAndSaveCopy';
+
+ /**
+ * The item is sent but no copy is saved in the Sent Items folder.
+ *
+ * An item identifier is not returned in the response.
+ *
+ * CreateItem does not support delegate access when the SendOnly option is
+ * used because a destination folder cannot be specified with this option.
+ * The workaround is to create the item, get the item identifier, and then
+ * use the SendItem operation to send the item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_ONLY = 'SendOnly';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingDeliveryStatusType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingDeliveryStatusType.php
new file mode 100644
index 00000000..5965e5cf
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingDeliveryStatusType.php
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MessageTrackingDeliveryStatusType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the status for a message.
+ *
+ * @package php-ews\Enumeration
+ */
+class MessageTrackingDeliveryStatusType extends Enumeration
+{
+ /**
+ * Specifies that the message was delivered to all of the specified
+ * recipients.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DELIVERED = 'Delivered';
+
+ /**
+ * Specifies that the message is waiting for approval from a moderator.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const PENDING = 'Pending';
+
+ /**
+ * Specifies that the message was delivered and read by the recipients.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const READ = 'Read';
+
+ /**
+ * Specifies that the message was transferred to a server outside the search
+ * scope.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const TRANSFERRED = 'Transferred';
+
+ /**
+ * Specifies that a message was not delivered.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNSUCCESSFUL = 'Unsuccessful';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingEventDescriptionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingEventDescriptionType.php
new file mode 100644
index 00000000..5ed814bb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingEventDescriptionType.php
@@ -0,0 +1,254 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MessageTrackingEventDescriptionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Class description...
+ *
+ * @package php-ews\Enumeration
+ */
+class MessageTrackingEventDescriptionType extends Enumeration
+{
+ /**
+ * Indicates the event is for a message that has been approved.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const APPROVED_MODERATION = 'ApprovedModeration';
+
+ /**
+ * Indicates the event is for a message that has been delayed after
+ * transferring to a partner organization.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DELAYED_AFTER_TRANSFER_TO_PARTNER_ORG = 'DelayedAfterTransferToPartnerOrg';
+
+ /**
+ * Indicates the event is for a delivered message.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DELIVERED = 'Delivered';
+
+ /**
+ * Indicates the event is for an expanded message.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXPANDED = 'Expanded';
+
+ /**
+ * Indicates the event is for a message that failed with a general error.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FAILED_GENERAL = 'FailedGeneral';
+
+ /**
+ * Indicates the event is for a message that failed moderation.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FAILED_MODERATION = 'FailedModeration';
+
+ /**
+ * Indicates the event is for a message that failed transport rules.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FAILED_TRANSPORT_RULES = 'FailedTransportRules';
+
+ /**
+ * Indicates the event is for a forwarded message.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FORWARDED = 'Forwarded';
+
+ /**
+ * Indicates the event is for a message that was deferred.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MESSAGE_DEFER = 'MessageDefer';
+
+ /**
+ * Indicates the event is for a message that was moved by an inbox rule.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MOVED_TO_FOLDER_BY_INBOX_RULE = 'MovedToFolderByInboxRule';
+
+ /**
+ * Indicates the event is for a not read message.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NOT_READ = 'NotRead';
+
+ /**
+ * Indicates the event is for a pending message.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const PENDING = 'Pending';
+
+ /**
+ * Indicates the event is for a message pending moderation.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const PENDING_MODERATION = 'PendingModeration';
+
+ /**
+ * Indicates the event is for a message that was queued to be retried.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const QUEUE_RETRY = 'QueueRetry';
+
+ /**
+ * Indicates the event is for a queued to be retried without a time.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const QUEUE_RETRY_NO_RETRY_TIME = 'QueueRetryNoRetryTime';
+
+ /**
+ * Indicates the event is for a read message.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const READ = 'Read';
+
+ /**
+ * Indicates the event is for a resolved message.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RESOLVED = 'Resolved';
+
+ /**
+ * Indicates the event is for a message that was CCed by a rule.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RULES_CC = 'RulesCc';
+
+ /**
+ * Indicates the event is for a message that was received via SMTP.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SMTP_RECEIVE = 'SmtpReceive';
+
+ /**
+ * Indicates the event is for a message that was sent via SMTP.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SMTP_SEND = 'SmtpSend';
+
+ /**
+ * Indicates the event is for a message that was sent cross forest via SMTP.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SMTP_SEND_CROSS_FOREST = 'SmtpSendCrossForest';
+
+ /**
+ * Indicates the event is for a message that was sent cross site via SMTP.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SMTP_SEND_CROSS_SITE = 'SmtpSendCrossSite';
+
+ /**
+ * Indicates the event is for a submitted message.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SUBMITTED = 'Submitted';
+
+ /**
+ * Indicates the event is for a message that was transferred to a foreign
+ * organization.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const TRANSFERRED_TO_FOREIGN_ORG = 'TransferredToForeignOrg';
+
+ /**
+ * Indicates the event is for a message that was transferred to a legacy
+ * exchange server.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const TRANSFERRED_TO_LEGACY_EXCHANGE_SERVER = 'TransferredToLegacyExchangeServer';
+
+ /**
+ * Indicates the event is for a message that was transferred to a partner
+ * organization.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const TRANSFERRED_TO_PARTNER_ORG = 'TransferredToPartnerOrg';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingReportTemplateType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingReportTemplateType.php
new file mode 100644
index 00000000..9cd1391b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MessageTrackingReportTemplateType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MessageTrackingReportTemplateType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the type of report to get.
+ *
+ * @package php-ews\Enumeration
+ */
+class MessageTrackingReportTemplateType extends Enumeration
+{
+ /**
+ * Specifies that for a single recipient, the report will display a full
+ * history of the events that occurred.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RECIPIENT_PATH = 'RecipientPath';
+
+ /**
+ * Specifies that the report will display all the recipients of the message
+ * and the delivery status of the message to each recipient.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SUMMARY = 'Summary';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MonthNamesType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MonthNamesType.php
new file mode 100644
index 00000000..e6d6e985
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/MonthNamesType.php
@@ -0,0 +1,124 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\MonthNamesType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Describes the month when a yearly recurring item occurs.
+ *
+ * @package php-ews\Enumeration
+ */
+class MonthNamesType extends Enumeration
+{
+ /**
+ * Text value for the month of April.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const APRIL = 'April';
+
+ /**
+ * Text value for the month of August.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const AUGUST = 'August';
+
+ /**
+ * Text value for the month of February.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FEBRUARY = 'February';
+
+ /**
+ * Text value for the month of December.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DECEMBER = 'December';
+
+ /**
+ * Text value for the month of January.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const JANUARY = 'January';
+
+ /**
+ * Text value for the month of July.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const JULY = 'July';
+
+ /**
+ * Text value for the month of June.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const JUNE = 'June';
+
+ /**
+ * Text value for the month of March.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MARCH = 'March';
+
+ /**
+ * Text value for the month of May.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MAY = 'May';
+
+ /**
+ * Text value for the month of November.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOVEMBER = 'November';
+
+ /**
+ * Text value for the month of October.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OCTOBER = 'October';
+
+ /**
+ * Text value for the month of September.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEPTEMBER = 'September';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/NotificationEventTypeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/NotificationEventTypeType.php
new file mode 100644
index 00000000..5c9d7185
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/NotificationEventTypeType.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\NotificationEventTypeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of event a notification is for.
+ *
+ * @package php-ews\Enumeration
+ */
+class NotificationEventTypeType extends Enumeration
+{
+ /**
+ * Indicates the notification is for an item copied event.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const COPIED_EVENT = 'CopiedEvent';
+
+ /**
+ * Indicates the notification is for an item created event.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CREATED_EVENT = 'CreatedEvent';
+
+ /**
+ * Indicates the notification is for an item deleted event.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DELETED_EVENT = 'DeletedEvent';
+
+ /**
+ * Indicates the notification is for a free or busy change event.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FREE_BUSY_CHANGED_EVENT = 'FreeBusyChangedEvent';
+
+ /**
+ * Indicates the notification is for an item modified event.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MODIFIED_EVENT = 'ModifiedEvent';
+
+ /**
+ * Indicates the notification is for an item moved event.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MOVED_EVENT = 'MovedEvent';
+
+ /**
+ * Indicates the notification is for a new mail event.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NEW_MAIL_EVENT = 'NewMailEvent';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/Occurrence.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/Occurrence.php
new file mode 100644
index 00000000..712c2657
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/Occurrence.php
@@ -0,0 +1,96 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\Occurrence.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the occurrence of the day of the week in a month.
+ *
+ * @package php-ews\Enumeration
+ */
+class Occurrence extends Enumeration
+{
+ /**
+ * The first occurrence of the specified day of the week from the beginning
+ * of the month.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ const FIRST_FROM_BEGINNING = 1;
+
+ /**
+ * The first occurrence of the specified day of the week from the end of the
+ * month.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ const FIRST_FROM_END = -1;
+
+ /**
+ * The fourth occurrence of the specified day of the week from the beginning
+ * of the month.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ const FOURTH_FROM_BEGINNING = 4;
+
+ /**
+ * The fourth occurrence of the specified day of the week from the end of the
+ * month.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ const FOURTH_FROM_END = -4;
+
+ /**
+ * The second occurrence of the specified day of the week from the beginning
+ * of the month.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ const SECOND_FROM_BEGINNING = 2;
+
+ /**
+ * The second occurrence of the specified day of the week from the end of
+ * the month.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ const SECOND_FROM_END = -2;
+
+ /**
+ * The third occurrence of the specified day of the week from the beginning
+ * of the month.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ const THIRD_FROM_BEGINNING = 3;
+
+ /**
+ * The third occurrence of the specified day of the week from the end of the
+ * month.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ const THIRD_FROM_END = -3;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/OofState.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/OofState.php
new file mode 100644
index 00000000..d038fda9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/OofState.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\OofState.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents a user's Out of Office (OOF) state.
+ *
+ * @package php-ews\Enumeration
+ */
+class OofState extends Enumeration
+{
+ /**
+ * The user's OOF setting is currently disabled.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DISABLED = 'Disabled';
+
+ /**
+ * The user's OOF setting is currently enabled.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ENABLED = 'Enabled';
+
+ /**
+ * The user's OOF setting is scheduled to start at a specific date and end
+ * at another specific date.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SCHEDULED = 'Scheduled';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionActionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionActionType.php
new file mode 100644
index 00000000..8afebf4c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionActionType.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\PermissionActionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Indicates which items in a folder a user has permission to perform an action
+ * on.
+ *
+ * @package php-ews\Enumeration
+ */
+class PermissionActionType extends Enumeration
+{
+ /**
+ * Indicates that the user has permission to perform the action on all items
+ * in the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const ALL = 'All';
+
+ /**
+ * Indicates that the user does not have permission to perform the action on
+ * items in the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const NONE = 'None';
+
+ /**
+ * Indicates that the user has permission to perform the action on the items
+ * that the user owns in the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const OWNED = 'Owned';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionLevelType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionLevelType.php
new file mode 100644
index 00000000..3b17c190
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionLevelType.php
@@ -0,0 +1,116 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\PermissionLevelType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the permission level that a user has on a folder.
+ *
+ * @package php-ews\Enumeration
+ */
+class PermissionLevelType extends Enumeration
+{
+ /**
+ * Indicates that the user can create and read all items in the folder, and
+ * edit and delete only items that the user creates.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const AUTHOR = 'Author';
+
+ /**
+ * Indicates that the user can create items in the folder.
+ *
+ * The contents of the folder do not appear.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const CONTRIBUTOR = 'Contributor';
+
+ /**
+ * Indicates that the user has custom access permissions on the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const CUSTOM = 'Custom';
+
+ /**
+ * Indicates that the user can create, read, edit, and delete all items in
+ * the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const EDITOR = 'Editor';
+
+ /**
+ * Indicates that the user can create and read all items in the folder, and
+ * delete only items that the user creates.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const NON_EDITING_AUTHOR = 'NoneditingAuthor';
+
+ /**
+ * Indicates that the user has no permissions on the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const NONE = 'None';
+
+ /**
+ * Indicates that the user can create, read, edit, and delete all items in
+ * the folder, and create subfolders.
+ *
+ * The user is both folder owner and folder contact.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const OWNER = 'Owner';
+
+ /**
+ * Indicates that the user can create and read all items in the folder,
+ * edit and delete only items that the user creates, and create subfolders.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const PUBLISHING_AUTHOR = 'PublishingAuthor';
+
+ /**
+ * Indicates that the user can create, read, edit, and delete all items in
+ * the folder, and create subfolders.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const PUBLISHING_EDITOR = 'PublishingEditor';
+
+ /**
+ * Indicates that the user can read all items in the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const REVIEWER = 'Reviewer';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionReadAccessType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionReadAccessType.php
new file mode 100644
index 00000000..a5675009
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PermissionReadAccessType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\PermissionReadAccessType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Indicates whether a user has permission to read items within a folder.
+ *
+ * @package php-ews\Enumeration
+ */
+class PermissionReadAccessType extends Enumeration
+{
+ /**
+ * Indicates that the user has permission to read all items in the folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const FULL_DETAILS = 'FullDetails';
+
+ /**
+ * Indicates that the user does not have permission to read items in the
+ * folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const NONE = 'None';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhoneCallStateType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhoneCallStateType.php
new file mode 100644
index 00000000..e5c4b768
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhoneCallStateType.php
@@ -0,0 +1,88 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\PhoneCallStateType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the current state for a phone call.
+ *
+ * @package php-ews\Enumeration
+ */
+class PhoneCallStateType extends Enumeration
+{
+ /**
+ * The call is in alerting state (phone is ringing).
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ALERTED = 'Alerted';
+
+ /**
+ * The call is in the connected state.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONNECTED = 'Connected';
+
+ /**
+ * The system is dialing this call.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONNECTING = 'Connecting';
+
+ /**
+ * The call is disconnected.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DISCONNECTED = 'Disconnected';
+
+ /**
+ * The call is being forwarded to another destination.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FORWARDING = 'Forwarding';
+
+ /**
+ * Initial call state.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const IDLE = 'Idle';
+
+ /**
+ * The call is inbound.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INCOMING = 'Incoming';
+
+ /**
+ * The call is being transferred to another destination.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const TRANSFERRING = 'Transferring';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhoneNumberKeyType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhoneNumberKeyType.php
new file mode 100644
index 00000000..908a4ef9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhoneNumberKeyType.php
@@ -0,0 +1,187 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\PhoneNumberKeyType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the key for a phone number.
+ *
+ * @package php-ews\Enumeration
+ */
+class PhoneNumberKeyType extends Enumeration
+{
+ /**
+ * Phone number key for assistant phone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ASSISTANT_PHONE = 'AssistantPhone';
+
+ /**
+ * Phone number key for business fax number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BUSINESS_FAX = 'BusinessFax';
+
+ /**
+ * Phone number key for business phone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BUSINESS_PHONE = 'BusinessPhone';
+
+ /**
+ * Phone number key for second business phone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BUSINESS_PHONE_2 = 'BusinessPhone2';
+
+ /**
+ * Phone number key for callback.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALLBACK = 'Callback';
+
+ /**
+ * Phone number key for car phone.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CAR_PHONE = 'CarPhone';
+
+ /**
+ * Phone number key for company main phone.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const COMPANY_MAIN_PHONE = 'CompanyMainPhone';
+
+ /**
+ * Phone number key for home fax number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const HOME_FAX = 'HomeFax';
+
+ /**
+ * Phone number key for home phone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const HOME_PHONE = 'HomePhone';
+
+ /**
+ * Phone number key for second home phone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const HOME_PHONE_2 = 'HomePhone2';
+
+ /**
+ * Phone number key for ISDN line.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ISDN = 'Isdn';
+
+ /**
+ * Phone number key for mobile phone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MOBILE_PHONE = 'MobilePhone';
+
+ /**
+ * Phone number key for other fax number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OTHER_FAX = 'OtherFax';
+
+ /**
+ * Phone number key for other phone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OTHER_PHONE = 'OtherTelephone';
+
+ /**
+ * Phone number key for pager.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PAGER = 'Pager';
+
+ /**
+ * Phone number key for primary phone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PRIMARY_PHONE = 'PrimaryPhone';
+
+ /**
+ * Phone number key for radio phone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RADIO_PHONE = 'RadioPhone';
+
+ /**
+ * Phone number key for telex.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TELEX = 'Telex';
+
+ /**
+ * Phone number key for TTY TTD phone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TTY_TTD_PHONE = 'TtyTtdPhone';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhysicalAddressIndexType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhysicalAddressIndexType.php
new file mode 100644
index 00000000..4f663950
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhysicalAddressIndexType.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\PhysicalAddressIndexType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the display types for physical addresses.
+ *
+ * @package php-ews\Enumeration
+ */
+class PhysicalAddressIndexType extends Enumeration
+{
+ /**
+ * Address index for business.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BUSINESS = 'Business';
+
+ /**
+ * Address index for home.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const HOME = 'Home';
+
+ /**
+ * Address index for none.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NONE = 'None';
+
+ /**
+ * Address index for other.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OTHER = 'Other';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhysicalAddressKeyType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhysicalAddressKeyType.php
new file mode 100644
index 00000000..7239a1fb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PhysicalAddressKeyType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\PhysicalAddressKeyType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the key for a physical address.
+ *
+ * @package php-ews\Enumeration
+ */
+class PhysicalAddressKeyType extends Enumeration
+{
+ /**
+ * Indicates that the address is a business.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BUSINESS = 'Business';
+
+ /**
+ * Indicates that the address is a home.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const HOME = 'Home';
+
+ /**
+ * Indicates that the address is another type of location.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OTHER = 'Other';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PreviewItemBaseShapeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PreviewItemBaseShapeType.php
new file mode 100644
index 00000000..ecac039d
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/PreviewItemBaseShapeType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\PreviewItemBaseShapeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of preview to be returned for an item.
+ *
+ * @package php-ews\Enumeration
+ */
+class PreviewItemBaseShapeType extends Enumeration
+{
+ /**
+ * Indicates that only selected properties are shown.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const COMPACT = 'Compact';
+
+ /**
+ * Indicates that all properties are shown.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DEFAULT_SHAPE = 'Default';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ReminderActionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ReminderActionType.php
new file mode 100644
index 00000000..cd23c25d
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ReminderActionType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ReminderActionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the action to take on a reminder.
+ *
+ * @package php-ews\Enumeration
+ */
+class ReminderActionType extends Enumeration
+{
+ /**
+ * Dismiss the reminder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DISMISS = 'Dismiss';
+
+ /**
+ * Snooze the reminder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const SNOOZE = 'Snooze';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ReminderGroup.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ReminderGroup.php
new file mode 100644
index 00000000..f89b08bb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ReminderGroup.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ReminderGroup.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines whether the reminder is for a calendar item or a task.
+ *
+ * @package php-ews\Enumeration
+ */
+class ReminderGroup extends Enumeration
+{
+ /**
+ * Specifies that the reminder is for a calendar item.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CALENDAR = 'Calendar';
+
+ /**
+ * Specifies that the reminder is for a task item.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TASK = 'Task';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResolveNamesSearchScopeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResolveNamesSearchScopeType.php
new file mode 100644
index 00000000..b7d0b592
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResolveNamesSearchScopeType.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ResolveNamesSearchScopeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the order and scope for a ResolveNames search.
+ *
+ * @package php-ews\Enumeration
+ */
+class ResolveNamesSearchScopeType extends Enumeration
+{
+ /**
+ * Only the Active Directory directory service is searched.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ACTIVE_DIRECTORY = 'ActiveDirectory';
+
+ /**
+ * Active Directory is searched first, and then the contact folders that are
+ * specified in the ParentFolderIds property are searched.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ACTIVE_DIRECTORY_CONTACTS = 'ActiveDirectoryContacts';
+
+ /**
+ * Only the contact folders that are identified by the ParentFolderIds
+ * property are searched.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS = 'Contacts';
+
+ /**
+ * Contact folders that are identified by the ParentFolderIds property are
+ * searched first and then Active Directory is searched.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_ACTIVE_DIRECTORY = 'ContactsActiveDirectory';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseClassType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseClassType.php
new file mode 100644
index 00000000..f9de8995
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseClassType.php
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ResponseClassType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the status of a response.
+ *
+ * @package php-ews\Enumeration
+ */
+class ResponseClassType extends Enumeration
+{
+ /**
+ * Describes a request that cannot be fulfilled.
+ *
+ * The following are examples of sources of errors:
+ * - Invalid attributes or elements
+ * - Attributes or elements that are out of range
+ * - An unknown tag
+ * - An attribute or element that is not valid in the context
+ * - An unauthorized access attempt by any client
+ * - A server-side failure in response to a valid client-side call
+ * - Information about the error can be found in the ResponseCode and
+ * MessageText elements.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ERROR = 'Error';
+
+ /**
+ * Describes a request that is fulfilled.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SUCCESS = 'Success';
+
+ /**
+ * Describes a request that was not processed.
+ *
+ * A warning may be returned if an error occurred while an item in the
+ * request was processing and subsequent items could not be processed. The
+ * following are examples of sources of warnings:
+ * - The Exchange store is offline during the batch.
+ * - Active Directory Domain Services (AD DS) is offline.
+ * - Mailboxes were moved.
+ * - The message database (MDB) is offline.
+ * - A password is expired.
+ * - A quota has been exceeded.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const WARNING = 'Warning';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseCodeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseCodeType.php
new file mode 100644
index 00000000..fdd094e5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseCodeType.php
@@ -0,0 +1,4866 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ResponseCodeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Provides status information about a request.
+ *
+ * @package php-ews\Enumeration
+ */
+class ResponseCodeType extends Enumeration
+{
+ /**
+ * This error occurs when the calling account does not have the rights to
+ * perform the requested action.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ACCESS_DENIED = 'ErrorAccessDenied';
+
+ /**
+ * This error is for internal use only. This error is not returned.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACCESS_MODE_SPECIFIED = 'ErrorAccessModeSpecified';
+
+ /**
+ * This error occurs when the account in question has been disabled.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ACCOUNT_DISABLED = 'ErrorAccountDisabled';
+
+ /**
+ * This error occurs when AD DS is unavailable; Try your request again
+ * later.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const AD_UNAVAILABLE = 'ErrorADUnavailable';
+
+ /**
+ * This error occurs when a list with added delegates cannot be saved.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const ADD_DELEGATES_FAILED = 'ErrorAddDelegatesFailed';
+
+ /**
+ * This error occurs when the address space record, or Domain Name System
+ * (DNS) domain name, for cross-forest availability could not be found in
+ * the Active Directory database.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ADDRESS_SPACE_NOT_FOUND = 'ErrorAddressSpaceNotFound';
+
+ /**
+ * This error indicates that the AffectedTaskOccurrences attribute was not
+ * specified.
+ *
+ * When the DeleteItem element is used to delete at least one item that is a
+ * task, and regardless of whether that task is recurring or not, the
+ * AffectedTaskOccurrences attribute has to be specified so that DeleteItem
+ * can determine whether to delete the current occurrence or the entire
+ * series.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const AFFECTED_TASK_OCCURRENCES_REQUIRED = 'ErrorAffectedTaskOccurrencesRequired';
+
+ /**
+ * This error MUST be returned if an action cannot be applied to one or more
+ * items in the conversation.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const APPLY_CONVERSATION_ACTION_FAILED = 'ErrorApplyConversationActionFailed';
+
+ /**
+ * Indicates that the archive mailbox was not enabled.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ARCHIVE_MAILBOX_NOT_ENABLED = 'ErrorArchiveMailboxNotEnabled';
+
+ /**
+ * This error is returned when an archive mailbox search is unsuccessful.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ARCHIVE_MAILBOX_SEARCH_FAILED = 'ErrorArchiveMailboxSearchFailed';
+
+ /**
+ * Indicates that archive mailbox service discovery failed.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ARCHIVE_MAILBOX_SERVICE_DISCOVERY_FAILED = 'ErrorArchiveMailboxServiceDiscoveryFailed';
+
+ /**
+ * Specifies that an attempt was made to create an item with more than 10
+ * nested attachments.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const ATTACHMENT_NEST_LEVEL_LIMIT_EXCEEDED = 'ErrorAttachmentNestLevelLimitExceeded';
+
+ /**
+ * This error occurs if an attempt to create or retrieve an attachment with
+ * size exceeding a 32-bit integer in bytes.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ATTACHMENT_SIZE_LIMIT_EXCEEDED = 'ErrorAttachmentSizeLimitExceeded';
+
+ /**
+ * This error indicates that Exchange Web Services tried to determine the
+ * location of a cross-forest computer that is running Exchange that has the
+ * Client Access server role installed by using the Autodiscover service,
+ * but the call to the Autodiscover service failed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const AUTO_DISCOVERY_FAILED = 'ErrorAutoDiscoverFailed';
+
+ /**
+ * This error indicates that the availability configuration information for
+ * the local forest is missing from AD DS.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const AVAILABILITY_CONFIG_NOT_FOUND = 'ErrorAvailabilityConfigNotFound';
+
+ /**
+ * This error indicates that an exception occurred while processing an item
+ * and that exception is likely to occur for the items that follow.
+ *
+ * Requests may include multiple items; for example, a GetItem operation
+ * request might include multiple identifiers. In general, items are
+ * processed one at a time. If an exception occurs while processing an item
+ * and that exception is likely to occur for the items that follow, items
+ * that follow will not be processed.
+ *
+ * The following are examples of errors that will stop processing for items
+ * that follow:
+ * - ErrorAccessDenied
+ * - ErrorAccountDisabled
+ * - ErrorADUnavailable
+ * - ErrorADOperation
+ * - ErrorConnectionFailed
+ * - ErrorMailboxStoreUnavailable
+ * - ErrorMailboxMoveInProgress
+ * - ErrorPasswordChangeRequired
+ * - ErrorPasswordExpired
+ * - ErrorQuotaExceeded
+ * - ErrorInsufficientResources
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const BATCH_PROCESSING_STOPPED = 'ErrorBatchProcessingStopped';
+
+ /**
+ * This error is reported on Create/Update calendar item or task recurrence
+ * properties when the property value is out of range.
+ *
+ * For example, specifying the fifteenth week of the month will result in
+ * this response code.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_OUT_OF_RANGE = 'ErrorCalendarOutOfRange';
+
+ /**
+ * Indicates that an attempt was made to archive a calendar contact task folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CANNOT_ARCHIVE_CALENDAR_CONTACT_TASK_FOLDER = 'ErrorCannotArchiveCalendarContactTaskFolderException';
+
+ /**
+ * Indicates that attempt was made to archive items in the archive mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CANNOT_ARCHIVE_ITEM_IN_ARCHIVE_MAILBOX = 'ErrorCannotArchiveItemsInArchiveMailbox';
+
+ /**
+ * Indicates that an attempt was made to archive items in public folders.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CANNOT_ARCHIVE_ITEMS_IN_PUBLIC_FOLDERS = 'ErrorCannotArchiveItemsInPublicFolders';
+
+ /**
+ * This error occurs when a calendar item is being created and the
+ * SavedItemFolderId attribute refers to a non-calendar folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_CREATE_CALENDAR_ITEM_FOLDER = 'ErrorCannotCreateCalendarItemInNonCalendarFolder';
+
+ /**
+ * This error occurs when a contact is being created and the
+ * SavedItemFolderId attribute refers to a non-contact folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_CREATE_CONTACT_IN_FOLDER = 'ErrorCannotCreateContactInNonContactFolder';
+
+ /**
+ * This error indicates that a post item cannot be created in a folder other
+ * than a mail folder, such as Calendar, Contact, Tasks, Notes, and so on.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_CREATE_POST_IN_FOLDER = 'ErrorCannotCreatePostItemInNonMailFolder';
+
+ /**
+ * This error occurs when a task is being created and the SavedItemFolderId
+ * attribute refers to a non-task folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_CREATE_TASK_IN_FOLDER = 'ErrorCannotCreateTaskInNonTaskFolder';
+
+ /**
+ * This error occurs when the item or folder to delete cannot be deleted.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_DELETE_OBJECT = 'ErrorCannotDeleteObject';
+
+ /**
+ * The DeleteItem Operation returns this error when it fails to delete the
+ * current occurrence of a recurring task.
+ *
+ * This can only happen if the AffectedTaskOccurrences attribute has been
+ * set to SpecifiedOccurrenceOnly.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_DELETE_TASK_OCCURRENCE = 'ErrorCannotDeleteTaskOccurrence';
+
+ /**
+ * Indicates that an attempt was made to disable a mandatory extension.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CANNOT_DISABLE_MANDATORY_EXTENSION = 'ErrorCannotDisableMandatoryExtension';
+
+ /**
+ * This error must be returned when the server cannot empty a folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CANNOT_EMPTY_FOLDER = 'ErrorCannotEmptyFolder';
+
+ /**
+ * Specifies that the server could not retrieve the external URL for Outlook
+ * Web App Options.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CANNOT_GET_EXTERNAL_ECP_URL = 'ErrorCannotGetExternalEcpUrl';
+
+ /**
+ * Indicates that the source folder path could not be retrieved.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CANNOT_GET_SOURCE_FOLDER_PATH = 'ErrorCannotGetSourceFolderPath';
+
+ /**
+ * This error occurs when an attempt is made to move or copy an occurrence
+ * of a recurring calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_MOVE_OR_COPY_OCCURRENCE = 'ErrorCalendarCannotMoveOrCopyOccurrence';
+
+ /**
+ * The GetAttachment operation returns this error if it cannot retrieve the
+ * body of a file attachment.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_OPEN_FILE_ATTACHMENT = 'ErrorCannotOpenFileAttachment';
+
+ /**
+ * This error indicates that the caller tried to set calendar permissions on
+ * a non-calendar folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_SET_CALENDAR_PERMISSION_ON_FOLDER = 'ErrorCannotSetCalendarPermissionOnNonCalendarFolder';
+
+ /**
+ * This error indicates that the caller tried to set non-calendar permissions on a calendar folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_SET_NON_CALENDAR_PERMISSION_ON_FOLDER = 'ErrorCannotSetNonCalendarPermissionOnCalendarFolder';
+
+ /**
+ * This error indicates that you cannot set unknown permissions in a
+ * permissions set.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_SET_PERMISSION_UNKNOWN_ENTRIES = 'ErrorCannotSetPermissionUnknownEntries';
+
+ /**
+ * Indicates that an attempt was made to specify the search folder as the
+ * source folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CANNOT_SPECIFY_SEARCH_FOLDER_AS_SOURCE = 'ErrorCannotSpecifySearchFolderAsSourceFolder';
+
+ /**
+ * This error occurs when an attempt is made to update a calendar item that
+ * is located in the Deleted Items folder and when meeting updates or
+ * cancellations are to be sent according to the value of the
+ * SendMeetingInvitationsOrCancellations attribute.
+ *
+ * The following are the possible values for this attribute:
+ * - SendToAllAndSaveCopy
+ * - SendToChangedAndSaveCopy
+ * - SendOnlyToAll
+ * - SendOnlyToChanged
+ *
+ * However, such an update is allowed only when the value of this attribute
+ * is set to SendToNone.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_UPDATE_DELETED_ITEM = 'ErrorCalendarCannotUpdateDeletedItem';
+
+ /**
+ * This error occurs when a request that requires an item identifier is
+ * given a folder identifier.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_USE_FOLDER_ID_FOR_ITEM_ID = 'ErrorCannotUseFolderIdForItemId';
+
+ /**
+ * This error occurs when the UpdateItem, GetItem, DeleteItem, MoveItem,
+ * CopyItem, or SendItem operation is called and the ID that was specified
+ * is not an occurrence ID of any recurring calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_USE_ID_FOR_OCCURRENCE_ID = 'ErrorCalendarCannotUseIdForOccurrenceId';
+
+ /**
+ * This error occurs when the UpdateItem, GetItem, DeleteItem, MoveItem,
+ * CopyItem, or SendItem operation is called and the ID that was specified
+ * is not an ID of any recurring master item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_USE_ID_FOR_RECURRING_MASTER_ID = 'ErrorCalendarCannotUseIdForRecurringMasterId';
+
+ /**
+ * This error occurs when a request that requires a folder identifier is
+ * given an item identifier.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CANNOT_USE_ITEM_ID_FOR_FOLDER_ID = 'ErrorCannotUseItemIdForFolderId';
+
+ /**
+ * This response code has been replaced by
+ * ErrorChangeKeyRequiredForWriteOperations.
+ *
+ * @since Exchange 2007
+ * @deprecated Exchange 2007
+ *
+ * @var string
+ */
+ const CHANGE_KEY_REQUIRED = 'ErrorChangeKeyRequired';
+
+ /**
+ * This error is returned when the change key for an item is missing or
+ * stale.
+ *
+ * For SendItem, UpdateItem, and UpdateFolder operations, the caller must
+ * pass in a correct and current change key for the item. Note that this is
+ * the case with UpdateItem even when conflict resolution is set to always
+ * overwrite.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CHANGE_KEY_REQUIRED_FOR_WRITE = 'ErrorChangeKeyRequiredForWriteOperations';
+
+ /**
+ * Specifies that the client was disconnected.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CLIENT_DISCONNECTED = 'ErrorClientDisconnected';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CLIENT_INTENT_INVALID_STATE_DEFINITION = 'ErrorClientIntentInvalidStateDefinition';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CLIENT_INTENT_NOT_FOUND = 'ErrorClientIntentNotFound';
+
+ /**
+ * This error occurs when Exchange Web Services cannot connect to the
+ * mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONNECTION_FAILED = 'ErrorConnectionFailed';
+
+ /**
+ * This error indicates that the property that was inspected for a Contains
+ * filter is not a string type.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONTAINS_FILTER_WRONG_TYPE = 'ErrorContainsFilterWrongType';
+
+ /**
+ * The GetItem operation returns this error when Exchange Web Services is
+ * unable to retrieve the MIME content for the item requested; the
+ * CreateItem operation returns this error when Exchange Web Services is
+ * unable to create the item from the supplied MIME content.
+ *
+ * Usually this is an indication that the item property is corrupted or
+ * truncated.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTENT_CONVERSION_FAILED = 'ErrorContentConversionFailed';
+
+ /**
+ * This error occurs when a search request is made using the QueryString
+ * option and content indexing is not enabled for the target mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONTENT_INDEXING_NOT_ENABLED = 'ErrorContentIndexingNotEnabled';
+
+ /**
+ * This error occurs when the data is corrupted and cannot be processed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CORRUPT_DATA = 'ErrorCorruptData';
+
+ /**
+ * This error occurs when the caller does not have permission to create the
+ * item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CREATE_ITEM_ACCESS_DENIED = 'ErrorCreateItemAccessDenied';
+
+ /**
+ * This error occurs when one or more of the managed folders that were
+ * specified in the CreateManagedFolder operation request failed to be
+ * created.
+ *
+ * Search for each folder to determine which folders were created and which
+ * folders do not exist.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CREATE_MANAGED_FOLDER_PARTIAL_COMPLETION = 'ErrorCreateManagedFolderPartialCompletion';
+
+ /**
+ * This error occurs when the calling account does not have the permissions
+ * required to create the subfolder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CREATE_SUBFOLDER_ACCESS_DENIED = 'ErrorCreateSubfolderAccessDenied';
+
+ /**
+ * This error occurs when an attempt is made to move an item or folder
+ * from one mailbox to another; if the source mailbox and destination
+ * mailbox are different, you will get this error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CROSS_MAILBOX_MOVE_COPY = 'ErrorCrossMailboxMoveCopy';
+
+ /**
+ * This error indicates that the request is not allowed because the Client
+ * Access server that should service the request is in a different site.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CROSS_SITE_REQUEST = 'ErrorCrossSiteRequest';
+
+ /**
+ * This error can occur in the following scenarios:
+ * - An attempt is made to access or write a property on an item and the
+ * property value is too large.
+ * - The base64 encoded MIME content length within the request XML exceeds
+ * the limit.
+ * - The size of the body of an existing item body exceeds the limit.
+ * - The consumer tries to set an HTML or text body whose length (or
+ * combined length in the case of append) exceeds the limit.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DATA_SIZE_LIMIT_EXCEEDED = 'ErrorDataSizeLimitExceeded';
+
+ /**
+ * This error occurs when the underlying data provider fails to complete the
+ * operation.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DATA_SOURCE_OPERATION = 'ErrorDataSourceOperation';
+
+ /**
+ * This error occurs in an AddDelegate operation when the specified user
+ * already exists in the list of delegates.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const DELEGATE_ALREADY_EXISTS = 'ErrorDelegateAlreadyExists';
+
+ /**
+ * This error occurs in an AddDelegate operation when the specified user to
+ * be added is the owner of the mailbox.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const DELEGATE_CANNOT_ADD_OWNER = 'ErrorDelegateCannotAddOwner';
+
+ /**
+ * This error occurs in a GetDelegate operation when either there is no
+ * delegate information on the local FreeBusy message or no Active Directory
+ * public delegate (no “public delegate” or no "Send On Behalf" entry in AD
+ * DS).
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const DELEGATE_MISSING_CONFIGURATION = 'ErrorDelegateMissingConfiguration';
+
+ /**
+ * This error occurs when a specified user cannot be mapped to a user in AD
+ * DS.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const DELEGATE_NO_USER = 'ErrorDelegateNoUser';
+
+ /**
+ * This error occurs in the AddDelegate operation when an added delegate
+ * user is not valid.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const DELEGATE_VALIDATION_FAILED = 'ErrorDelegateValidationFailed';
+
+ /**
+ * This error occurs when an attempt is made to delete a distinguished
+ * folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DELETE_DISTINGUISHED_FOLDER = 'ErrorDeleteDistinguishedFolder';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DELETE_ITEMS_FAILED = 'ErrorDeleteItemsFailed';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DELETE_UNIFIED_MESSAGING_PROMPT_FAILED = 'ErrorDeleteUnifiedMessagingPromptFailed';
+
+ /**
+ * This error is returned when discovery searches are disabled on a tenant
+ * or server.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DISCOVERY_SEARCHES_DISABLED = 'ErrorDiscoverySearchesDisabled';
+
+ /**
+ * This error indicates that a distinguished user ID is not valid for the
+ * operation; DistinguishedUserType should not be present in the request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DISTINGUISHED_USER_NOT_SUPPORTED = 'ErrorDistinguishedUserNotSupported';
+
+ /**
+ * This error indicates that a request distribution list member does not
+ * exist in the distribution list.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DISTRIBUTION_LIST_MEMBER_NOT_EXIST = 'ErrorDistributionListMemberNotExist';
+
+ /**
+ * This error occurs when duplicate folder names are specified within the
+ * FolderNames element of the CreateManagedFolder operation request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DUPLICATE_INPUT_FOLDER_NAMES = 'ErrorDuplicateInputFolderNames';
+
+ /**
+ * This error is returned when there are duplicate legacy distinguished
+ * names in Active Directory Domain Services (AD DS).
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DUPLICATE_LEGACY_DISTINGUISHED_NAME = 'ErrorDuplicateLegacyDistinguishedName';
+
+ /**
+ * This error indicates that there are duplicate SOAP headers.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DUPLICATE_SOAP_HEADER = 'ErrorDuplicateSOAPHeader';
+
+ /**
+ * This error indicates that a duplicate user ID has been found in a
+ * permission set, either Default or Anonymous are set more than once, or
+ * there are duplicate SIDs or recipients.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DUPLICATE_USER_IDS = 'ErrorDuplicateUserIdsSpecified';
+
+ /**
+ * This error occurs during a CreateItem or UpdateItem operation when a
+ * calendar item duration is longer than the maximum allowed, which is
+ * currently 5 years.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DURATION_IS_TOO_LONG = 'ErrorCalendarDurationIsTooLong';
+
+ /**
+ * This error occurs when a request attempts to create/update the search
+ * parameters of a search folder.
+ *
+ * For example, this can occur when a search folder is created in the
+ * mailbox but the search folder is directed to look in another mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const EMAIL_ADDRESS_MISMATCH = 'ErrorEmailAddressMismatch';
+
+ /**
+ * This error occurs when a calendar End time is set to the same time or
+ * after the Start time.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const END_DATE_IS_EARLIER_THAN_START_DATE = 'ErrorCalendarEndDateIsEarlierThanStartDate';
+
+ /**
+ * This error occurs when the operation failed because of communication
+ * problems with Active Directory Domain Services (AD DS).
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ERROR_AD_OPERATION = 'ErrorADOperation';
+
+ /**
+ * This error occurs when a ResolveNames operation request specifies a name
+ * that is not valid.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ERROR_AD_SESSION_FILTER = 'ErrorADSessionFilter';
+
+ /**
+ * Indicates an error in archive folder path creation.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ERROR_ARCHIVE_FOLDER_PATH_CREATION = 'ErrorArchiveFolderPathCreation';
+
+ /**
+ * This error occurs when the event that is associated with a watermark is
+ * deleted before the event is returned.
+ *
+ * When this error is returned, the subscription is also deleted.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const EVENT_NOT_FOUND = 'ErrorEventNotFound';
+
+ /**
+ * This error indicates that there are more concurrent requests against the
+ * server than are allowed by a user's policy.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEEDED_CONNECTION_COUNT = 'ErrorExceededConnectionCount';
+
+ /**
+ * This error indicates that a search operation call has exceeded the total
+ * number of items that can be returned.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEEDED_FIND_COUNT = 'ErrorExceededFindCountLimit';
+
+ /**
+ * This error indicates that a user's throttling policy maximum subscription
+ * count has been exceeded.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEEDED_SUBSCRIPTION_COUNT = 'ErrorExceededSubscriptionCount';
+
+ /**
+ * This error occurs if the GetEvents Operation is called as a subscription
+ * is being deleted because it has expired.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const EXPIRED_SUBSCRIPTION = 'ErrorExpiredSubscription';
+
+ /**
+ * Indicates that the extension was not found.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXTENSION_NOT_FOUND = 'ErrorExtensionNotFound';
+
+ /**
+ * This error occurs when the folder is corrupted and cannot be saved.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_CORRUPT = 'ErrorFolderCorrupt';
+
+ /**
+ * This error occurs when an attempt is made to create a folder that has the
+ * same name as another folder in the same parent.
+ *
+ * Duplicate folder names are not allowed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_EXISTS = 'ErrorFolderExists';
+
+ /**
+ * This error occurs when the specified folder for a FindItem operation with
+ * a CalendarView element is not of calendar folder type.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_INVALID_FOR_CALENDAR_VIEW = 'ErrorCalendarFolderIsInvalidForCalendarView';
+
+ /**
+ * This error indicates that the folder ID that was specified does not
+ * correspond to a valid folder, or that the delegate does not have
+ * permission to access the folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_NOT_FOUND = 'ErrorFolderNotFound';
+
+ /**
+ * This error indicates that the requested property could not be retrieved.
+ *
+ * This does not indicate that the property does not exist, but that the
+ * property was corrupted in some way so that the retrieval failed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_PROPERTY_REQUEST_FAILED = 'ErrorFolderPropertRequestFailed';
+
+ /**
+ * This error indicates that the folder could not be created or updated
+ * because of an invalid state.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_SAVE_ERROR = 'ErrorFolderSave';
+
+ /**
+ * This error indicates that the folder could not be created or updated
+ * because of an invalid state.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_SAVE_FAILED = 'ErrorFolderSaveFailed';
+
+ /**
+ * This error indicates that the folder could not be created or updated
+ * because of invalid property values.
+ *
+ * The response code lists which properties caused the problem.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_SAVE_PROPERTY_ERROR = 'ErrorFolderSavePropertyError';
+
+ /**
+ * This error indicates that the maximum group member count has been reached
+ * for obtaining free/busy information for a distribution list.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FREE_BUSY_DL_LIMIT_REACHED = 'ErrorFreeBusyDLLimitReached';
+
+ /**
+ * This error is returned when free/busy information cannot be retrieved
+ * because of an intervening failure.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FREE_BUSY_GENERATION_FAILED = 'ErrorFreeBusyGenerationFailed';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const GET_SERVER_SECURITY_DESCRIPTOR_FAILED = 'ErrorGetServerSecurityDescriptorFailed';
+
+ /**
+ * This error is returned when new instant messaging (IM) contacts cannot be
+ * added because the maximum number of contacts has been reached.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const IM_CONTACT_LIMIT_REACHED = 'ErrorImContactLimitReached';
+
+ /**
+ * This error is returned when an attempt is made to add a group display
+ * name when an existing group already has the same display name.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const IM_GROUP_DISPLAY_NAME_EXISTS = 'ErrorImGroupDisplayNameAlreadyExists';
+
+ /**
+ * This error is returned when new IM groups cannot be added because the
+ * maximum number of groups has been reached.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const IM_GROUP_LIMIT_REACHED = 'ErrorImGroupLimitReached';
+
+ /**
+ * The error is returned in the server-to-server authorization case for
+ * Exchange Impersonation when the caller does not have the proper rights to
+ * impersonate the specific user in question.
+ *
+ * This error maps to the ms-Exch-EPI-May-Impersonate extended Active
+ * Directory right.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IMPERSONATE_USER_DENIED = 'ErrorImpersonateUserDenied';
+
+ /**
+ * This error is returned in the server-to-server authorization for Exchange
+ * Impersonation when the caller does not have the proper rights to
+ * impersonate through the Client Access server that they are making the
+ * request against.
+ *
+ * This maps to the ms-Exch-EPI-Impersonation extended Active Directory
+ * right.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IMPERSONATION_DENIED = 'ErrorImpersonationDenied';
+
+ /**
+ * This error indicates that there was an unexpected error when an attempt
+ * was made to perform server-to-server authentication.
+ *
+ * This response code typically indicates either that the service account
+ * that is running the Exchange Web Services application pool is configured
+ * incorrectly, that Exchange Web Services cannot talk to the directory, or
+ * that a trust between forests is not correctly configured.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IMPERSONATION_FAILED = 'ErrorImpersonationFailed';
+
+ /**
+ * This error MUST be returned if any rule does not validate.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INBOX_RULES_VALIDATION_ERROR = 'ErrorInboxRulesValidationError';
+
+ /**
+ * This error indicates that the request was valid for the current Exchange
+ * Server version but was invalid for the request server version that was
+ * specified.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INCORRECT_SCHEMA_VERSION = 'ErrorIncorrectSchemaVersion';
+
+ /**
+ * This error indicates that each change description in the UpdateItem or
+ * UpdateFolder elements must list only one property to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INCORRECT_UPDATE_PROPERTY_COUNT = 'ErrorIncorrectUpdatePropertyCount';
+
+ /**
+ * This error occurs when the request contains too many attendees to
+ * resolve. By default, the maximum number of attendees to resolve is 100.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INDIVIDUAL_MAILBOX_LIMIT_REACHED = 'ErrorIndividualMailboxLimitReached';
+
+ /**
+ * This error occurs when the mailbox server is overloaded. Try your request
+ * again later.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INSUFFICIENT_RESOURCES = 'ErrorInsufficientResources';
+
+ /**
+ * This error indicates that Exchange Web Services encountered an error that
+ * it could not recover from, and a more specific response code that is
+ * associated with the error that occurred does not exist.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INTERNAL_SERVER_ERROR = 'ErrorInternalServerError';
+
+ /**
+ * This error indicates that an internal server error occurred and that you
+ * should try your request again later.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INTERNAL_SERVER_TRANSIENT_ERROR = 'ErrorInternalServerTransientError';
+
+ /**
+ * This error indicates that the level of access that the caller has on the
+ * free/busy data is invalid.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ACCESS_LEVEL = 'ErrorInvalidAccessLevel';
+
+ /**
+ * This error indicates that the requesting account is not a valid account
+ * in the directory database.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_AD_ACCOUNT = 'ErrorCallerIsInvalidADAccount';
+
+ /**
+ * This error indicates an error caused by all invalid arguments passed to
+ * the GetMessageTrackingReport Operation.
+ *
+ * This error is returned in the following scenarios:
+ * - The user specified in the sending-as parameter does not exist in the
+ * directory.
+ * - The user specified in the sending-as parameter is not unique in the
+ * directory.
+ * - The sending-as address is empty.
+ * - The sending-as address is not a valid e-mail address.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_ARGUMENT = 'ErrorInvalidArgument';
+
+ /**
+ * This error is returned by the GetAttachment Operation or the
+ * DeleteAttachment Operation when an attachment that corresponds to the
+ * specified ID is not found.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ATTACHMENT_ID = 'ErrorInvalidAttachmentId';
+
+ /**
+ * This error occurs when you try to bind to an existing search folder by
+ * using a complex attachment table restriction.
+ *
+ * Exchange Web Services only supports simple contains filters against the
+ * attachment table. If you try to bind to an existing search folder that
+ * has a more complex attachment table restriction (a subfilter), Exchange
+ * Web Services cannot render the XML for that filter and returns this
+ * response code.
+ *
+ * Note that you can still call the GetFolder operation on the folder, but
+ * do not request the SearchParameters property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ATTACHMENT_SUBFILTER = 'ErrorInvalidAttachmentSubfilter';
+
+ /**
+ * This error occurs when you try to bind to an existing search folder by
+ * using a complex attachment table restriction.
+ *
+ * Exchange Web Services only supports simple contains filters against the
+ * attachment table. If you try to bind to an existing search folder that
+ * has a more complex attachment table restriction, Exchange Web Services
+ * cannot render the XML for that filter. In this case, the attachment
+ * subfilter contains a text filter, but it is not looking at the attachment
+ * display name.
+ *
+ * Note that you can still call the GetFolder operation on the folder, but
+ * do not request the SearchParameters property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ATTACHMENT_SUBFILTER_TEXT = 'ErrorInvalidAttachmentSubfilterTextFilter';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ATTRIBUTE_VALUE = 'ErrorCalendarInvalidAttributeValue';
+
+ /**
+ * This error indicates that the authorization procedure for the requester
+ * failed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_AUTHORIZATION_CONTEXT = 'ErrorInvalidAuthorizationContext';
+
+ /**
+ * This error occurs when a consumer passes in a folder or item identifier
+ * with a change key that cannot be parsed.
+ *
+ * For example, this could be invalid base64 content or an empty string.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_CHANGE_KEY = 'ErrorInvalidChangeKey';
+
+ /**
+ * This error indicates that a request to get a client access token was not
+ * valid.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_CLIENT_ACCESS_TOKEN_REQUEST = 'ErrorInvalidClientAccessTokenRequest';
+
+ /**
+ * This error indicates that there was an internal error when an attempt was
+ * made to resolve the identity of the caller.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_CLIENT_SECURITY_CONTEXT = 'ErrorInvalidClientSecurityContext';
+
+ /**
+ * This error is returned when an attempt is made to set the CompleteDate
+ * element value of a task to a time in the future.
+ *
+ * When it is converted to the local time of the Client Access server, the
+ * CompleteDate of a task cannot be set to a value that is later than the
+ * local time on the Client Access server.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_COMPLETE_DATE = 'ErrorInvalidCompleteDate';
+
+ /**
+ * This error indicates that an invalid e-mail address was provided for a
+ * contact.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_CONTACT_EMAIL_ADDRESS = 'ErrorInvalidContactEmailAddress';
+
+ /**
+ * This error indicates that an invalid e-mail index value was provided for
+ * an e-mail entry.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_CONTACT_EMAIL_INDEX = 'ErrorInvalidContactEmailIndex';
+
+ /**
+ * This error occurs when the credentials that are used to proxy a request
+ * to a different directory service forest fail authentication.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_CROSS_FOREST_CREDENTIALS = 'ErrorInvalidCrossForestCredentials';
+
+ /**
+ * This error occurs during a CreateItem or UpdateItem operation when
+ * invalid values of Day, WeekendDay, and Weekday are used to define the
+ * time change pattern.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_DAY_FOR_TIME_CHANGE_PATTERN = 'ErrorCalendarInvalidDayForTimeChangePattern';
+
+ /**
+ * This error occurs during a CreateItem or UpdateItem operation when
+ * invalid values of Day, WeekDay, and WeekendDay are used to specify the
+ * weekly recurrence.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_DAY_FOR_WEEKLY_RECURRENCE = 'ErrorCalendarInvalidDayForWeeklyRecurrence';
+
+ /**
+ * This error indicates that the specified folder permissions are invalid.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const INVALID_DELEGATE_PERMISSION = 'ErrorInvalidDelegatePermission';
+
+ /**
+ * This error indicates that the specified delegate user ID is invalid.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const INVALID_DELEGATE_USER_ID = 'ErrorInvalidDelegateUserId';
+
+ /**
+ * This error occurs when the bitmask that was passed into an Excludes
+ * element restriction is unable to be parsed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_EXCLUDES_RESTRICTION = 'ErrorInvalidExcludesRestriction';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_EXPRESSION_TYPE_FOR_SUBFILTER = 'ErrorInvalidExpressionTypeForSubFilter';
+
+ /**
+ * This error occurs when the following events take place:
+ * - The caller tries to use an extended property that is not supported by
+ * Exchange Web Services.
+ * - The caller passes in an invalid combination of attribute values for an
+ * extended property. This also occurs if no attributes are passed. Only certain combinations are allowed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_EXTENDED_PROPERTY = 'ErrorInvalidExtendedProperty';
+
+ /**
+ * This error occurs when the value section of an extended property does not
+ * match the type of the property.
+ *
+ * For example, setting an extended property that has PropertyType="String"
+ * to an array of integers will result in this error. Any string
+ * representation that is not coercible into the type that is specified for
+ * the extended property will give this error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_EXTENDED_PROPERTY_VALUE = 'ErrorInvalidExtendedPropertyValue';
+
+ /**
+ * This error indicates that the sharing invitation sender did not create
+ * the sharing invitation metadata.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_EXTERNAL_SHARING_INITIATOR = 'ErrorInvalidExternalSharingInitiator';
+
+ /**
+ * This error indicates that a sharing message is not intended for the
+ * caller.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_EXTERNAL_SHARING_SUBSCRIBER = 'ErrorInvalidExternalSharingSubscriber';
+
+ /**
+ * This error indicates that the requester's organization federation objects
+ * are not correctly configured.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_FEDERATED_ORGANIZATION_ID = 'ErrorInvalidFederatedOrganizationId';
+
+ /**
+ * This error occurs when the folder ID is corrupt.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_FOLDER_ID = 'ErrorInvalidFolderId';
+
+ /**
+ * This error indicates that the specified folder type is invalid for the
+ * current operation.
+ *
+ * For example, you cannot create a Search folder in a public folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_FOLDER_TYPE_FOR_OPERATION = 'ErrorInvalidFolderTypeForOperation';
+
+ /**
+ * This error occurs in fractional paging when the user has specified one of
+ * the following:
+ * - A numerator that is greater than the denominator.
+ * - A numerator that is less than zero.
+ * - A denominator that is less than or equal to zero.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_FRACTIONAL_PAGING_PARAMS = 'ErrorInvalidFractionalPagingParameters';
+
+ /**
+ * This error occurs when the GetUserAvailability Operation is called with a
+ * FreeBusyViewType of None.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_FREE_BUSY_VIEW_TYPE = 'ErrorInvalidFreeBusyViewType';
+
+ /**
+ * This error indicates that the DataType and ShareFolderId elements are
+ * both present in a request.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_GET_SHARING_FOLDER_REQUEST = 'ErrorInvalidGetSharingFolderRequest';
+
+ /**
+ * This error indicates that the ID and/or change key is malformed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ID = 'ErrorInvalidId';
+
+ /**
+ * This error is returned when the specified IM contact identifier does not
+ * represent a valid identifier.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_ID_CONTACT_ID = 'ErrorInvalidImContactId';
+
+ /**
+ * This error occurs when the caller specifies an Id attribute that is
+ * empty.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ID_EMPTY = 'ErrorInvalidIdEmpty';
+
+ /**
+ * This error indicates that a folder or item ID that is using the Exchange
+ * 2007 format was specified for a request with a version of Exchange 2007
+ * SP1 or later.
+ *
+ * You cannot use Exchange 2007 IDs in Exchange 2007 SP1 or later requests.
+ * You have to use the ConvertId Operation to convert them first.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const INVALID_ID_MALFORMED_LEGACY_FORMAT = 'ErrorInvalidIdMalformedEwsLegacyIdFormat';
+
+ /**
+ * This error occurs when the caller specifies an Id attribute that is too
+ * long.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ID_MONIKER_TOO_LONG = 'ErrorInvalidIdMonikerTooLong';
+
+ /**
+ * This error occurs when a contact in your mailbox is corrupt.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ID_RETURNED_BY_RESOLVE_NAMES = 'ErrorInvalidIdReturnedByResolveNames';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ID_XML = 'ErrorInvalidIdXml';
+
+ /**
+ * This error is returned when the specified IM distribution group SMTP
+ * address identifier does not represent a valid identifier.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_IM_DISTRIBUTION_GROUP_SMTP_ADDRESS = 'ErrorInvalidImDistributionGroupSmtpAddress';
+
+ /**
+ * This error is returned when the specified IM group identifier does not
+ * represent a valid identifier.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_IM_GROUP_ID = 'ErrorInvalidImGroupId';
+
+ /**
+ * This error occurs during Exchange Impersonation when a caller does not
+ * specify a UPN, an e-mail address, or a user SID.
+ *
+ * This will also occur if the caller specifies one or more of those and the
+ * values are empty.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_IMPERSONATION_HEADER_DATA = 'ErrorInvalidExchangeImpersonationHeaderData';
+
+ /**
+ * This error occurs if the offset for indexed paging is negative.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_INDEXED_PAGING_PARAMS = 'ErrorInvalidIndexedPagingParameters';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_INTERNET_HEADER_CHILD_NODES = 'ErrorInvalidInternetHeaderChildNodes';
+
+ /**
+ * This error occurs when an attempt is made to use an AcceptItem operation
+ * for an item type other than a meeting request or a calendar item, or when
+ * an attempt is made to accept a calendar item occurrence that is in the
+ * Deleted Items folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ITEM_FOR_ACCEPT_ITEM = 'ErrorInvalidItemForOperationAcceptItem';
+
+ /**
+ * Indicates that the item was invalid for an ArchiveItem operation.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_ITEM_FOR_ARCHIVE_ITEM = 'ErrorInvalidItemForOperationArchiveItem';
+
+ /**
+ * This error occurs when an attempt is made to use a CancelItem operation
+ * on an item type other than a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ITEM_FOR_CANCEL_ITEM = 'ErrorInvalidItemForOperationCancelItem';
+
+ /**
+ * This error is returned when an attempt is made to create an item
+ * attachment of an unsupported type.
+ *
+ * Supported item types for item attachments include the following objects:
+ * - ItemType
+ * - MessageType
+ * - CalendarItemType
+ * - TaskType
+ * - ContactItemType
+ *
+ * For example, if you try to create a MeetingMessage attachment, you will
+ * encounter this response code.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ITEM_FOR_CREATE_ATTACHMENT = 'ErrorInvalidItemForOperationCreateItemAttachment';
+
+ /**
+ * This error is returned from a CreateItem Operation if the request
+ * contains an unsupported item type.
+ *
+ * Supported items include the following objects:
+ * - ItemType
+ * - MessageType
+ * - CalendarItemType
+ * - TaskType
+ * - ContactItemType
+ *
+ * Certain types are created as a side effect of doing something else.
+ * MeetingMessages, for example, are created when you send a calendar item
+ * to attendees; they are not explicitly created.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ITEM_FOR_CREATE_ITEM = 'ErrorInvalidItemForOperationCreateItem';
+
+ /**
+ * This error occurs when an attempt is made to use a DeclineItem operation
+ * for an item type other than a meeting request or a calendar item, or when
+ * an attempt is made to decline a calendar item occurrence that is in the
+ * Deleted Items folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ITEM_FOR_DECLINE_ITEM = 'ErrorInvalidItemForOperationDeclineItem';
+
+ /**
+ * This error indicates that the ExpandDL Operation is valid only for
+ * private distribution lists.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const INVALID_ITEM_FOR_EXPAND_DISTRIBUTION_LIST = 'ErrorInvalidItemForOperationExpandDL';
+
+ /**
+ * This error is returned from a RemoveItem operation if the request
+ * specifies an item that is not a meeting cancellation item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ITEM_FOR_REMOVE_ITEM = 'ErrorInvalidItemForOperationRemoveItem';
+
+ /**
+ * This error is returned from a SendItem Operation if the request specifies
+ * an item that is not a message item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ITEM_FOR_SEND_ITEM = 'ErrorInvalidItemForOperationSendItem';
+
+ /**
+ * This error occurs when an attempt is made to use TentativelyAcceptItem
+ * for an item type other than a meeting request or a calendar item, or when
+ * an attempt is made to tentatively accept a calendar item occurrence that
+ * is in the Deleted Items folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ITEM_FOR_TENTATIVE = 'ErrorInvalidItemForOperationTentative';
+
+ /**
+ * This error is for internal use only.
+ *
+ * This error is not returned.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_LOGON_TYPE = 'ErrorInvalidLogonType';
+
+ /**
+ * This error indicates that the CreateItem Operation or the UpdateItem
+ * Operation failed while creating or updating a personal distribution list.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_MAILBOX = 'ErrorInvalidMailbox';
+
+ /**
+ * This error occurs when the structure of the managed folder is corrupted
+ * and cannot be rendered.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_MANAGED_FOLDER_PROPERTY = 'ErrorInvalidManagedFolderProperty';
+
+ /**
+ * This error occurs when the quota that is set on the managed folder is
+ * less than zero, which indicates a corrupted managed folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_MANAGED_FOLDER_QUOTE = 'ErrorInvalidManagedFolderQuota';
+
+ /**
+ * This error occurs when the size that is set on the managed folder is less
+ * than zero, which indicates a corrupted managed folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_MANAGED_FOLDER_SIZE = 'ErrorInvalidManagedFolderSize';
+
+ /**
+ * This error is returned if the ManagementRole header in the SOAP header is
+ * incorrect.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_MANAGEMENT_ROLE_HEADER = 'ErrorInvalidManagementRoleHeader';
+
+ /**
+ * This error occurs when the supplied merged free/busy internal value is
+ * invalid.
+ *
+ * The default minimum value is 5 minutes. The default maximum value is
+ * 1440 minutes.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_MERGED_FREE_BUSY_INTERVAL = 'ErrorInvalidMergedFreeBusyInterval';
+
+ /**
+ * This error occurs when the name is invalid for the ResolveNames
+ * Operation.
+ *
+ * For example, a zero length string, a single space, a comma, and a dash
+ * are all invalid names.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_NAME_FOR_NAME_RESOLUTION = 'ErrorInvalidNameForNameResolution';
+
+ /**
+ * This error indicates an error in the Network Service account on the
+ * Client Access server.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_NETWORK_SERVICE_CONTEXT = 'ErrorInvalidNetworkServiceContext';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_OOF_PARAMETER = 'ErrorInvalidOofParameter';
+
+ /**
+ * This is a general error that is used when the requested operation is
+ * invalid.
+ *
+ * For example, you cannot do the following:
+ * - Perform a “Deep” traversal by using the FindFolder Operation on a
+ * public folder.
+ * - Move or copy the public folder root.
+ * - Delete an associated item by using any mode except “Hard” delete.
+ * - Move or copy an associated item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_OPERATION = 'ErrorInvalidOperation';
+
+ /**
+ * This error indicates that a caller requested free/busy information for a
+ * user in another organization but the organizational relationship does not
+ * have free/busy enabled.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_ORG_RELATION_FOR_FREE_BUSY = 'ErrorInvalidOrganizationRelationshipForFreeBusy';
+
+ /**
+ * This error occurs when a consumer passes in a zero or a negative value
+ * for the maximum rows to be returned.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PAGING_MAX_ROWS = 'ErrorInvalidPagingMaxRows';
+
+ /**
+ * This error occurs when a consumer passes in an invalid parent folder for
+ * an operation.
+ *
+ * For example, this error is returned if you try to create a folder within
+ * a search folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PARENT_FOLDER = 'ErrorInvalidParentFolder';
+
+ /**
+ * This error is returned when an attempt is made to set a task completion
+ * percentage to an invalid value.
+ *
+ * The value must be between 0 and 100 (inclusive).
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PERCENT_COMPLETE = 'ErrorInvalidPercentCompleteValue';
+
+ /**
+ * This error indicates that the permission level is inconsistent with the
+ * permission settings.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PERMISSION_SETTINGS = 'ErrorInvalidPermissionSettings';
+
+ /**
+ * This error indicates that the caller identifier is not valid.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_PHONE_CALL_ID = 'ErrorInvalidPhoneCallId';
+
+ /**
+ * This error indicates that the telephone number is not correct or does not
+ * fit the dial plan rules.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_PHONE_NUMBER = 'ErrorInvalidPhoneNumber';
+
+ /**
+ * This error is returned if an invalid photo size is requested from the
+ * server.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_PHOTO_SIZE = 'ErrorInvalidPhotoSize';
+
+ /**
+ * This error occurs when the property that you are trying to append to does
+ * not support appending.
+ *
+ * The following are the only properties that support appending:
+ * - Recipient collections (ToRecipients, CcRecipients, BccRecipients)
+ * - Attendee collections (RequiredAttendees, OptionalAttendees, Resources)
+ * - Body
+ * - ReplyTo
+ *
+ * In addition, this error occurs when a message body is appended if the
+ * format specified in the request does not match the format of the item in
+ * the store.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PROPERTY_APPEND = 'ErrorInvalidPropertyAppend';
+
+ /**
+ * This error occurs if the delete operation is specified in an UpdateItem
+ * Operation or UpdateFolder Operation call for a property that does not
+ * support the delete operation.
+ *
+ * For example, you cannot delete the ItemId property of the ItemType
+ * object.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PROPERTY_DELETE = 'ErrorInvalidPropertyDelete';
+
+ /**
+ * This error occurs if the consumer passes in one of the flag properties in
+ * an Exists filter.
+ *
+ * For example, this error occurs if the IsRead or IsFromMe flags are
+ * specified in the Exists element. The request should use the IsEqualTo
+ * element instead for these as they are flags and therefore part of a
+ * single property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PROPERTY_FOR_EXISTS = 'ErrorInvalidPropertyForExists';
+
+ /**
+ * This error occurs when the property that you are trying to manipulate
+ * does not support the operation that is being performed on it.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PROPERTY_FOR_OPERATION = 'ErrorInvalidPropertyForOperation';
+
+ /**
+ * This error occurs if a property that is specified in the request is not
+ * available for the item type.
+ *
+ * For example, this error is returned if a property that is only available
+ * on calendar items is requested in a GetItem Operation call for a message
+ * or is updated in an UpdateItem Operation call for a message.
+ *
+ * This occurs in the following operations:
+ * - GetItem Operation
+ * - GetFolder Operation
+ * - UpdateItem Operation
+ * - UpdateFolder Operation
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PROPERTY_REQUEST = 'ErrorInvalidPropertyRequest';
+
+ /**
+ * This error indicates that the property that you are trying to manipulate
+ * does not support the operation that is being performed on it.
+ *
+ * For example, this error is returned if the property that you are trying
+ * to set is read-only.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PROPERTY_SET = 'ErrorInvalidPropertySet';
+
+ /**
+ * This error occurs when the state of a calendar item recurrence binary
+ * large object (BLOB) in the Exchange store is invalid.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PROPERTY_STATE = 'ErrorCalendarInvalidPropertyState';
+
+ /**
+ * This error occurs during an UpdateItem Operation when a client tries to
+ * update certain properties of a message that has already been sent.
+ *
+ * For example, the following properties cannot be updated on a sent
+ * message:
+ * - IsReadReceiptRequested
+ * - IsDeliveryReceiptRequested
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PROPERTY_UPDATE_SENT_MESSAGE = 'ErrorInvalidPropertyUpdateSentMessage';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PROPERTY_VALUE = 'ErrorCalendarInvalidPropertyValue';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PROXY_SECURITY_CONTEXT = 'ErrorInvalidProxySecurityContext';
+
+ /**
+ * This error occurs if you call the GetEvents Operation or the Unsubscribe
+ * Operation by using a push subscription ID.
+ *
+ * To unsubscribe from a push subscription, you must respond to a push
+ * request with an unsubscribe response, or disconnect your Web service and
+ * wait for the push notifications to time out.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PULL_SUBSCRIPTION_ID = 'ErrorInvalidPullSubscriptionId';
+
+ /**
+ * This error is returned by the Subscribe Operation when it creates a
+ * "push" subscription and indicates that the URL that is included in the
+ * request is invalid.
+ *
+ * The following conditions must be met for Exchange Web Services to accept
+ * the URL:
+ * - String length > 0 and < 2083.
+ * - Protocol is http or https.
+ * - The URL can be parsed by the URI Microsoft .NET Framework class.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_PUSH_SUBSCRIPTION_URL = 'ErrorInvalidPushSubscriptionUrl';
+
+ /**
+ * This error indicates that the search folder has a recipient table filter
+ * that Exchange Web Services cannot represent.
+ *
+ * To get around this error, retrieve the folder without requesting the
+ * search parameters.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_RECIPIENT_SUBFILTER = 'ErrorInvalidRecipientSubfilter';
+
+ /**
+ * This error indicates that the search folder has a recipient table filter
+ * that Exchange Web Services cannot represent.
+ *
+ * To get around this error, retrieve the folder without requesting the
+ * search parameters.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_RECIPIENT_SUBFILTER_COMPARISON = 'ErrorInvalidRecipientSubfilterComparison';
+
+ /**
+ * This error indicates that the search folder has a recipient table filter
+ * that Exchange Web Services cannot represent.
+ *
+ * To get around this error, retrieve the folder without requesting the
+ * search parameters.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_RECIPIENT_SUBFILTER_ORDER = 'ErrorInvalidRecipientSubfilterOrder';
+
+ /**
+ * This error indicates that the search folder has a recipient table filter
+ * that Exchange Web Services cannot represent.
+ *
+ * To get around this error, retrieve the folder without requesting the
+ * search parameters.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_RECIPIENT_SUBFILTER_TEXT_FILTER = 'ErrorInvalidRecipientSubfilterTextFilter';
+
+ /**
+ * This error indicates that the recipient collection on your message or the
+ * attendee collection on your calendar item is invalid.
+ *
+ * For example, this error will be returned when an attempt is made to send
+ * an item that has no recipients.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_RECIPIENTS = 'ErrorInvalidRecipients';
+
+ /**
+ * This error occurs when the specified recurrence cannot be created.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_RECURRENCE = 'ErrorCalendarInvalidRecurrence';
+
+ /**
+ * This error is returned from the CreateItem Operation for Forward and
+ * Reply response objects when the referenced item is invalid.
+ *
+ * For example, this error may be returned in any of the following
+ * circumstances:
+ * - The referenced item identifier is not a Message, a CalendarItem, or a
+ * descendant of a Message or CalendarItem.
+ * - The reference item identifier is for a CalendarItem and the organizer
+ * is trying to Reply or ReplyAll to himself.
+ * - The message is a draft and Reply or ReplyAll is selected.
+ * - The reference item, for SuppressReadReceipt, is not a Message or a
+ * descendant of a Message.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_REFERENCE_ITEM = 'ErrorInvalidReferenceItem';
+
+ /**
+ * This error occurs when the SOAP request has a SOAP action header, but
+ * nothing in the SOAP body.
+ *
+ * Note that the SOAP Action header is not required as Exchange Web Services
+ * can determine the method to call from the local name of the root element
+ * in the SOAP body.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_REQUEST = 'ErrorInvalidRequest';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_RESTRICTION = 'ErrorInvalidRestriction';
+
+ /**
+ * Indicates that the retention tag GUID was invalid.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_RETENTION_TAG_ID_GUID = 'ErrorInvalidRetentionTagIdGuid';
+
+ /**
+ * This error is returned when an attempt is made to set an implicit tag on
+ * the PolicyTag property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_RETENTION_TAG_INHERITANCE = 'ErrorInvalidRetentionTagInheritance';
+
+ /**
+ * This error is returned when an attempt is made to set a nonexistent or
+ * invisible tag on a PolicyTag property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_RETENTION_TAG_INVISIBLE = 'ErrorInvalidRetentionTagInvisible';
+
+ /**
+ * This error indicates that no retention tags were found for this user.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_RETENTION_TAG_NONE = 'ErrorInvalidRetentionTagNone';
+
+ /**
+ * This error is returned when the specified retention tag has an incorrect
+ * action associated with it.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INVALID_RETENTION_TAG_TYPE_MISMATCH = 'ErrorInvalidRetentionTagTypeMismatch';
+
+ /**
+ * This error occurs if the routing type that is passed for an
+ * EmailAddressType is invalid.
+ *
+ * Typically, the routing type is set to Simple Mail Transfer Protocol
+ * (SMTP).
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_ROUTING_TYPE = 'ErrorInvalidRoutingType';
+
+ /**
+ * This error occurs if the specified duration end time is not greater than
+ * the start time, or if the end time does not occur in the future.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SCHEDULED_OOF_DURATION = 'ErrorInvalidScheduledOofDuration';
+
+ /**
+ * This error indicates that a proxy request that was sent to another server
+ * is not able to service the request due to a versioning mismatch.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_SCHEMA_VERSION_FOR_MAILBOX_VERSION = 'ErrorInvalidSchemaVersionForMailboxVersion';
+
+ /**
+ * This error indicates that the Exchange security descriptor on the
+ * Calendar folder in the store is corrupted.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SECURITY_DESCRIPTOR = 'ErrorInvalidSecurityDescriptor';
+
+ /**
+ * This error occurs during an attempt to send an item where the
+ * SavedItemFolderId is specified in the request but the SaveItemToFolder
+ * property is set to false.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SEND_ITEM_SAVE_SETTINGS = 'ErrorInvalidSendItemSaveSettings';
+
+ /**
+ * This error indicates that the token that was passed in the header is
+ * malformed, does not refer to a valid account in the directory, or is
+ * missing the primary group ConnectingSID.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SERIALIZED_ACCESS_TOKEN = 'ErrorInvalidSerializedAccessToken';
+
+ /**
+ * This error indicates that an invalid request server version was specified
+ * in the request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SERVER_VERSION = 'ErrorInvalidServerVersion';
+
+ /**
+ * This error indicates that the sharing metadata is not valid.
+ *
+ * This can be caused by invalid XML.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_SHARING_DATA = 'ErrorInvalidSharingData';
+
+ /**
+ * This error indicates that the sharing message is not valid.
+ *
+ * This can be caused by a missing property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_SHARING_MESSAGE = 'ErrorInvalidSharingMessage';
+
+ /**
+ * This error occurs when an invalid SID is passed in a request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SID = 'ErrorInvalidSid';
+
+ /**
+ * This error indicates that the SIP name, dial plan, or the phone number
+ * are invalid SIP URI.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_SIP_URI = 'ErrorInvalidSIPUri';
+
+ /**
+ * This error occurs when the SMTP address cannot be parsed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SMTP_ADDRESS = 'ErrorInvalidSmtpAddress';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SUBFILTER_TYPE = 'ErrorInvalidSubfilterType';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SUBFILTER_TYPE_NOT_ATTENDEE_TYPE = 'ErrorInvalidSubfilterTypeNotAttendeeType';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SUBFILTER_TYPE_NOT_RECIPIENT_TYPE = 'ErrorInvalidSubfilterTypeNotRecipientType';
+
+ /**
+ * This error indicates that the subscription is no longer valid.
+ *
+ * This could be because the Client Access server is restarting or because
+ * the subscription is expired.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SUBSCRIPTION = 'ErrorInvalidSubscription';
+
+ /**
+ * This error indicates that the subscribe request included multiple public
+ * folder IDs.
+ *
+ * A subscription can include multiple folders from the same mailbox or one
+ * public folder ID.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SUBSCRIPTION_REQUEST = 'ErrorInvalidSubscriptionRequest';
+
+ /**
+ * This error is returned by SyncFolderItems or SyncFolderHierarchy if the
+ * SyncState data that is passed is invalid.
+ *
+ * To fix this error, you must resynchronize without the sync state. Make
+ * sure that if you are persisting sync state BLOBs, you are not
+ * accidentally truncating the BLOB.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_SYNC_STATE_DATA = 'ErrorInvalidSyncStateData';
+
+ /**
+ * This error indicates that the specified time interval is invalid.
+ *
+ * The start time must be greater than or equal to the end time.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_TIME_INTERVAL = 'ErrorInvalidTimeInterval';
+
+ /**
+ * This error occurs when an invalid time zone is encountered.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_TIMEZONE = 'ErrorCalendarInvalidTimeZone';
+
+ /**
+ * This error indicates that an internally inconsistent UserId was specified
+ * for a permissions operation.
+ *
+ * For example, if a distinguished user ID is specified (Default or
+ * Anonymous), this error is returned if you also try to specify a SID, or
+ * primary SMTP address or display name for this user.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_USER_INFO = 'ErrorInvalidUserInfo';
+
+ /**
+ * This error indicates that the user Out of Office (OOF) settings are
+ * invalid because of a missing internal or external reply.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_USER_OOF_SETTINGS = 'ErrorInvalidUserOofSettings';
+
+ /**
+ * This error occurs during Exchange Impersonation.
+ *
+ * The caller passed in an invalid UPN in the SOAP header that was not
+ * accessible in the directory.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_USER_PRINCIPAL_NAME = 'ErrorInvalidUserPrincipalName';
+
+ /**
+ * This error occurs when an invalid SID is passed in a request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_USER_SID = 'ErrorInvalidUserSid';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_USER_SID_MISSING_UPN = 'ErrorInvalidUserSidMissingUPN';
+
+ /**
+ * This error indicates that the comparison value in the restriction is
+ * invalid for the property you are comparing against.
+ *
+ * For example, the comparison value of DateTimeCreated > true would return
+ * this response code. This response code is also returned if you specify an
+ * enumeration property in the comparison, but the value that you are
+ * comparing against is not a valid value for that enumeration.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_VALUE_FOR_PROPERTY = 'ErrorInvalidValueForProperty';
+
+ /**
+ * This error is caused by an invalid watermark.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const INVALID_WATERMARK = 'ErrorInvalidWatermark';
+
+ /**
+ * This error indicates that a valid VoIP gateway is not available.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const IP_GATEWAY_NOT_FOUND = 'ErrorIPGatewayNotFound';
+
+ /**
+ * This error indicates that conflict resolution was unable to resolve
+ * changes for the properties.
+ *
+ * The items in the store may have been changed and have to be updated.
+ * Retrieve the updated change key and try again.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IRRESOLVABLE_CONFLICT = 'ErrorIrresolvableConflict';
+
+ /**
+ * This error indicates that the AcceptItem element is invalid for a
+ * calendar item that has been cancelled.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_CANCELLED_FOR_ACCEPT = 'ErrorCalendarIsCancelledForAccept';
+
+ /**
+ * This error indicates that the DeclineItem element is invalid for a
+ * calendar item that has been cancelled.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_CANCELLED_FOR_DECLINE = 'ErrorCalendarIsCancelledForDecline';
+
+ /**
+ * This error indicates that the RemoveItem element is invalid for a
+ * calendar item that has been cancelled.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_CANCELLED_FOR_REMOVE = 'ErrorCalendarIsCancelledForRemove';
+
+ /**
+ * This error indicates that the TentativelyAcceptItem element is invalid
+ * for a calendar item that has been cancelled.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_CANCELLED_FOR_TENTATIVE = 'ErrorCalendarIsCancelledForTentative';
+
+ /**
+ * This error indicates that the state of the object is corrupted and cannot
+ * be retrieved.
+ *
+ * When you are retrieving an item, only certain properties will be in this
+ * state, such as Body and MimeContent. Omit these properties and retry the
+ * operation.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_CORRUPT = 'ErrorItemCorrupt';
+
+ /**
+ * This error indicates that the AcceptItem element is invalid for a
+ * calendar item or meeting request in a delegated scenario.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const ITEM_DELEGATED_FOR_ACCEPT = 'ErrorCalendarIsDelegatedForAccept';
+
+ /**
+ * This error indicates that the DeclineItem element is invalid for a
+ * calendar item or meeting request in a delegated scenario.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const ITEM_DELEGATED_FOR_DECLINE = 'ErrorCalendarIsDelegatedForDecline';
+
+ /**
+ * This error indicates that the RemoveItem element is invalid for a meeting
+ * cancellation in a delegated scenario.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const ITEM_DELEGATED_FOR_REMOVE = 'ErrorCalendarIsDelegatedForRemove';
+
+ /**
+ * This error indicates that the TentativelyAcceptItem element is invalid
+ * for a calendar item or meeting request in a delegated scenario.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const ITEM_DELEGATED_FOR_TENTATIVE = 'ErrorCalendarIsDelegatedForTentative';
+
+ /**
+ * This error occurs when the item was not found or you do not have
+ * permission to access the item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_NOT_FOUND = 'ErrorItemNotFound';
+
+ /**
+ * This error occurs if a property request on an item fails. The property
+ * may exist, but it could not be retrieved.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_PROPERTY_REQUEST_FAILED = 'ErrorItemPropertyRequestFailed';
+
+ /**
+ * This error occurs when attempts to save the item or folder fail.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_SAVE = 'ErrorItemSave';
+
+ /**
+ * This error occurs when attempts to save the item or folder fail because
+ * of invalid property values.
+ *
+ * The response code includes the path of the invalid properties.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_SAVE_PROPERTY_ERROR = 'ErrorItemSavePropertyError';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LEGACY_MAILBOX_FREE_BUSY_VIEW_TYPE_NOT_MERGED = 'ErrorLegacyMailboxFreeBusyViewTypeNotMerged';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LOCAL_SERVER_OBJECT_NOT_FOUND = 'ErrorLocalServerObjectNotFound';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const LOCATION_SERVICES_DISABLED = 'ErrorLocationServicesDisabled';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const LOCATION_SERVICES_INVALID_REQUEST = 'ErrorLocationServicesInvalidRequest';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const LOCATION_SERVICES_REQUEST_FAILED = 'ErrorLocationServicesRequestFailed';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const LOCATION_SERVICES_REQUEST_TIMED_OUT = 'ErrorLocationServicesRequestTimedOut';
+
+ /**
+ * This error indicates that the Availability service was unable to log on
+ * as the network service to proxy requests to the appropriate sites or
+ * forests.
+ *
+ * This response typically indicates a configuration error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const LOGON_AS_NETWORK_SERVICE_FAILED = 'ErrorLogonAsNetworkServiceFailed';
+
+ /**
+ * This error occurs if the MailboxData information cannot be mapped to a
+ * valid mailbox account.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MAIL_RECIPIENT_NOT_FOUND = 'ErrorMailRecipientNotFound';
+
+ /**
+ * This error indicates that mail tips are disabled.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MAIL_TIPS_DISABLED = 'ErrorMailTipsDisabled';
+
+ /**
+ * This error indicates that the mailbox information in AD DS is configured
+ * incorrectly.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MAILBOX_CONFIGURATION_ERROR = 'ErrorMailboxConfiguration';
+
+ /**
+ * This error indicates that the MailboxDataArray property in the request is
+ * empty.
+ *
+ * You must supply at least one mailbox identifier.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MAILBOX_DATA_ARRAY_EMPTY = 'ErrorMailboxDataArrayEmpty';
+
+ /**
+ * This error occurs when more than 100 entries are supplied in a
+ * MailboxDataArray.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MAILBOX_DATA_ARRAY_TOO_BIG = 'ErrorMailboxDataArrayTooBig';
+
+ /**
+ * This error indicates that an attempt to access a mailbox failed because
+ * the mailbox is in a failover process.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MAILBOX_FAILOVER = 'ErrorMailboxFailover';
+
+ /**
+ * Indicates that the mailbox hold was not found.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MAILBOX_HOLD_NOT_FOUND = 'ErrorMailboxHoldNotFound';
+
+ /**
+ * This error occurs when the connection to the mailbox to get the calendar
+ * view information failed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MAILBOX_LOGON_FAILED = 'ErrorMailboxLogonFailed';
+
+ /**
+ * This error indicates that the mailbox is being moved to a different
+ * mailbox store or server.
+ *
+ * This error can also indicate that the mailbox is on another server or
+ * mailbox database.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MAILBOX_MOVE_IN_PROGRESS = 'ErrorMailboxMoveInProgress';
+
+ /**
+ * This error is returned when a scoped search attempt is performed without
+ * using a QueryString (QueryStringType) element for a content indexing
+ * search.
+ *
+ * This is applicable to the SearchMailboxes and FindConversation
+ * operations.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MAILBOX_SCOPE_NOT_ALLOWED_WITHOUT_QUERY_STRING = 'ErrorMailboxScopeNotAllowedWithoutQueryString';
+
+ /**
+ * This error indicates that the mailbox store is unavailable for one of
+ * several reasons.
+ *
+ * These reasons include:
+ * - The mailbox store is corrupt.
+ * - The mailbox store is being stopped.
+ * - The mailbox store is offline.
+ * - A network error occurred when an attempt was made to access the mailbox
+ * store.
+ * - The mailbox store is overloaded and cannot accept any more connections.
+ * - The mailbox store has been paused.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MAILBOX_STORE_UNAVAILABLE = 'ErrorMailboxStoreUnavailable';
+
+ /**
+ * This error occurs when the caller specifies an Id attribute that is
+ * malformed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MALFORMED_ID = 'ErrorInvalidIdMalformed';
+
+ /**
+ * This error occurs if the managed folder that you are trying to create
+ * already exists in a mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MANAGED_FOLDER_ALREADY_EXISTS = 'ErrorManagedFolderAlreadyExists';
+
+ /**
+ * This error occurs when the folder name that was specified in the request
+ * does not map to a managed folder definition in AD DS.
+ *
+ * You can only create instances of managed folders for folders that are
+ * defined in AD DS. Check the name and try again.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MANAGED_FOLDER_NOT_FOUND = 'ErrorManagedFolderNotFound';
+
+ /**
+ * This error indicates that the managed folders root was deleted from the
+ * mailbox or that a folder exists in the same parent folder that has the
+ * name of the managed folder root.
+ *
+ * This will also occur if the attempt to create the root managed folder
+ * fails.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MANAGED_FOLDERS_ROOT_FAILURE = 'ErrorManagedFoldersRootFailure';
+
+ /**
+ * This error indicates that a meeting request is out-of-date and cannot be
+ * updated.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MEETING_REQUEST_OUT_OF_DATE = 'ErrorCalendarMeetingRequestIsOutOfDate';
+
+ /**
+ * This error indicates that the suggestions engine encountered a problem
+ * when it was trying to generate the suggestions.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MEETING_SUGGESTION_GENERATION_FAILED = 'ErrorMeetingSuggestionGenerationFailed';
+
+ /**
+ * This error occurs if the MessageDisposition attribute is not set.
+ *
+ * This attribute is required for the following:
+ * - The CreateItem Operation and the UpdateItem Operation when the item
+ * being created or updated is a Message.
+ * - CancelCalendarItem, AcceptItem, DeclineItem, or TentativelyAcceptItem
+ * response objects.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_DISPOSITION_REQUIRED = 'ErrorMessageDispositionRequired';
+
+ /**
+ * This error indicates that the message that you are trying to send exceeds
+ * the allowed limits.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_SIZE_EXCEEDED = 'ErrorMessageSizeExceeded';
+
+ /**
+ * This error indicates that the given domain cannot be found.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MESSAGE_TRACKING_NO_SUCH_DOMAIN = 'ErrorMessageTrackingNoSuchDomain';
+
+ /**
+ * This error indicates that the message tracking service cannot track the
+ * message.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MESSAGE_TRACKING_PERMANENT_ERROR = 'ErrorMessageTrackingPermanentError';
+
+ /**
+ * This error indicates that the message tracking service is either down or
+ * busy.
+ *
+ * This error code indicates a transient error. Clients can retry to connect
+ * to the server when this error is received.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MESSAGE_TRACKING_TRANSIENT_ERROR = 'ErrorMessageTrackingTransientError';
+
+ /**
+ * This error occurs when the MIME content is not a valid iCal for a
+ * CreateItem Operation.
+ *
+ * For a GetItem Operation, this response indicates that the MIME content
+ * could not be generated.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MIME_CONTENT_CONVERSATION_FAILED = 'ErrorMimeContentConversionFailed';
+
+ /**
+ * This error occurs when the MIME content is invalid.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MIME_CONTENT_INVALID = 'ErrorMimeContentInvalid';
+
+ /**
+ * This error occurs when the MIME content in the request is not a valid
+ * base 64 string.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MIME_CONTENT_INVALID_BASE_64_STRING = 'ErrorMimeContentInvalidBase64String';
+
+ /**
+ * This error MUST be returned when event notifications are missed.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MISSED_NOTIFICATION_EVENTS = 'ErrorMissedNotificationEvents';
+
+ /**
+ * This error indicates that a required argument was missing from the
+ * request.
+ *
+ * The response message text indicates which argument to check.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MISSING_ARGUMENT = 'ErrorMissingArgument';
+
+ /**
+ * This error indicates that you specified a distinguished folder ID in the
+ * request, but the account that made the request does not have a mailbox on
+ * the system.
+ *
+ * In that case, you must supply a Mailbox sub-element under
+ * DistinguishedFolderId.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MISSING_EMAIL_ADDRESS = 'ErrorMissingEmailAddress';
+
+ /**
+ * This error indicates that you specified a distinguished folder ID in the
+ * request, but the account that made the request does not have a mailbox on
+ * the system.
+ *
+ * In that case, you must supply a Mailbox sub-element under
+ * DistinguishedFolderId. This response is returned from the
+ * CreateManagedFolder Operation.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MISSING_EMAIL_ADDRESS_FOR_MANAGED_FOLDER = 'ErrorMissingEmailAddressForManagedFolder';
+
+ /**
+ * This error occurs if the EmailAddress element is missing.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MISSING_INFORMATION_EMAIL_ADDRESS = 'ErrorMissingInformationEmailAddress';
+
+ /**
+ * This error occurs if the ReferenceItemId is missing.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MISSING_INFORMATION_REFERENCE_ITEM_ID = 'ErrorMissingInformationReferenceItemId';
+
+ /**
+ * This error code is never returned.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MISSING_INFORMATION_SHARING_FOLDER_ID = 'ErrorMissingInformationSharingFolderId';
+
+ /**
+ * This error is returned when an attempt is made to not include the item
+ * element in the ItemAttachment element of a CreateAttachment Operation
+ * request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MISSING_ITEM_FOR_CREATE_ITEM_ATTACHMENT = 'ErrorMissingItemForCreateItemAttachment';
+
+ /**
+ * This error occurs when the policy IDs property, property tag 0x6732, for
+ * the folder is missing.
+ *
+ * You should consider this a corrupted folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MISSING_MANAGED_FOLDER_ID = 'ErrorMissingManagedFolderId';
+
+ /**
+ * This error indicates that you tried to send an item without including
+ * recipients.
+ *
+ * Note that if you call the CreateItem Operation with a message disposition
+ * that causes the message to be sent, you will get the following response
+ * code: ErrorInvalidRecipients.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MISSING_RECIPIENTS = 'ErrorMissingRecipients';
+
+ /**
+ * This error indicates that a UserId has not been fully specified in a
+ * permissions set.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MISSING_USER_ID_INFORMATION = 'ErrorMissingUserIdInformation';
+
+ /**
+ * This error indicates that you have specified more than one
+ * ExchangeImpersonation property value within a request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MORE_THAN_ONE_ACCESS_MODE_SPECIFIED = 'ErrorMoreThanOneAccessModeSpecified';
+
+ /**
+ * This error indicates that the move or copy operation failed.
+ *
+ * Moving occurs in the CreateItem Operation when you accept a meeting
+ * request that is in the Deleted Items folder. In addition, if you decline
+ * a meeting request, cancel a calendar item, or remove a meeting from your
+ * calendar, it is moved to the Deleted Items folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MOVE_COPY_FAILED = 'ErrorMoveCopyFailed';
+
+ /**
+ * This error occurs if you try to move a distinguished folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MOVE_DISTINGUISHED_FOLDER = 'ErrorMoveDistinguishedFolder';
+
+ /**
+ * This error occurs when a request attempts to access multiple mailbox
+ * servers.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MULTI_LEGACY_MAILBOX_ACCESS = 'ErrorMultiLegacyMailboxAccess';
+
+ /**
+ * This error occurs if the ResolveNames Operation returns more than one
+ * result or the ambiguous name that you specified matches more than one
+ * object in the directory.
+ *
+ * The response code includes the matched names in the response data.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NAME_RESOLUTION_MULTIPLE_RESULTS = 'ErrorNameResolutionMultipleResults';
+
+ /**
+ * This error indicates that the caller does not have a mailbox on the
+ * system.
+ *
+ * The ResolveNames Operation or ExpandDL Operation is invalid for
+ * connecting a user without a mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NAME_RESOLUTION_NO_MAILBOX = 'ErrorNameResolutionNoMailbox';
+
+ /**
+ * This error indicates that the ResolveNames Operation returns no results.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NAME_RESOLUTION_NO_RESULTS = 'ErrorNameResolutionNoResults';
+
+ /**
+ * This error MUST be returned to the first subscription connection if a
+ * second subscription connection is opened.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NEW_EVENT_STREAM_CONNECTION_OPENED = 'ErrorNewEventStreamConnectionOpened';
+
+ /**
+ * This error code MUST be returned when the Web service cannot find a
+ * server to handle the request.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NO_APPLICABLE_PROXY_CAS_SERVERS_AVAILABLE = 'ErrorNoApplicableProxyCASServersAvailable';
+
+ /**
+ * This error occurs if there is no Calendar folder for the mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_CALENDAR = 'ErrorNoCalendar';
+
+ /**
+ * This error indicates that the request referred to a mailbox in another
+ * Active Directory site, but no Client Access servers in the destination
+ * site were configured for Windows Authentication, and therefore the
+ * request could not be proxied.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_DESTINATION_CAS_DUE_TO_KERBEROS_REQUIREMENTS = 'ErrorNoDestinationCASDueToKerberosRequirements';
+
+ /**
+ * This error indicates that the request referred to a mailbox in another
+ * Active Directory site, but no Client Access servers in the destination
+ * site were configured for SSL connections, and therefore the request could
+ * not be proxied.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_DESTINATION_CAS_DUE_TO_SSL_REQUIREMENTS = 'ErrorNoDestinationCASDueToSSLRequirements';
+
+ /**
+ * This error indicates that the request referred to a mailbox in another
+ * Active Directory site, but no Client Access servers in the destination
+ * site were of an acceptable product version to receive the request, and
+ * therefore the request could not be proxied.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_DESTINATION_CAS_DUE_TO_VERSION_MISMATCH = 'ErrorNoDestinationCASDueToVersionMismatch';
+
+ /**
+ * No error occurred for the request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_ERROR = 'NoError';
+
+ /**
+ * This error indicates that the caller tried to grant permissions in its
+ * calendar or contacts folder to a user in another organization, and the
+ * attempt failed.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NO_EXTERNAL_SHARING_ALLOWED_BY_POLICY = 'ErrorNotAllowedExternalSharingByPolicy';
+
+ /**
+ * This error occurs if you set the FolderClass property when you are
+ * creating an item other than a generic folder.
+ *
+ * For typed folders such as CalendarFolderType and TasksFolderType, the
+ * folder class is implied. Setting the folder class to a different folder
+ * type by using the UpdateFolder Operation results in the
+ * ErrorObjectTypeChanged response. Instead, use a generic folder type but
+ * set the folder class to the value that you require. Exchange Web Services
+ * will create the correct strongly typed folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_FOLDER_CLASS_OVERRIDE = 'ErrorNoFolderClassOverride';
+
+ /**
+ * This error indicates that the caller does not have free/busy viewing
+ * rights on the Calendar folder in question.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_FREE_BUSY_ACCESS = 'ErrorNoFreeBusyAccess';
+
+ /**
+ * This error indicates that MAPI properties in the custom range, 0x8000 and
+ * greater, cannot be referenced by property tags.
+ *
+ * You must use the PropertySetId property or the DistinguishedPropertySetId
+ * property together with the PropertyName or PropertyId properties.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_PROPERTY_TAG_FOR_CUSTOM_PROPERTIES = 'ErrorNoPropertyTagForCustomProperties';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_PUBLIC_FOLDER_REPLICA_AVAILABLE = 'ErrorNoPublicFolderReplicaAvailable';
+
+ /**
+ * This error code MUST be returned if no public folder server is available
+ * or if the caller does not have a home public server.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NO_PUBLIC_FOLDER_SERVER_AVAILABLE = 'ErrorNoPublicFolderServerAvailable';
+
+ /**
+ * This error indicates that the request referred to a mailbox in another
+ * Active Directory site, but none of the Client Access servers in that site
+ * responded, and therefore the request could not be proxied.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_RESPONDING_CAS_IN_DESTINATION_SITE = 'ErrorNoRespondingCASInDestinationSite';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const NO_SPEECH_DETECTED = 'ErrorNoSpeechDetected';
+
+ /**
+ * This error occurs when a mailbox could not be found for an email address.
+ *
+ * This error occurs in the following scenarios:
+ * - The e-mail address is empty in CreateManagedFolder.
+ * - The e-mail address does not refer to a valid account in a request that
+ * takes an e-mail address in the body or in the SOAP header, such as in an
+ * Exchange Impersonation call.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NON_EXISTENT_MAILBOX = 'ErrorNonExistentMailbox';
+
+ /**
+ * This error occurs when a caller passes in a non-primary SMTP address. The
+ * response includes the correct SMTP address to use.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NON_PRIMARY_SMTP_ADDRESS = 'ErrorNonPrimarySmtpAddress';
+
+ /**
+ * This error is returned whenever an ID that is not an item attachment ID
+ * is passed to a Web service method that expects an attachment ID.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOT_AN_ITEM_ATTACHMENT_ID = 'ErrorInvalidIdNotAnItemAttachmentId';
+
+ /**
+ * This error indicates that the user is not a delegate for the mailbox.
+ *
+ * It is returned by the GetDelegate Operation, the RemoveDelegate
+ * Operation, and the UpdateDelegate Operation when the specified delegate
+ * user is not found in the list of delegates.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const NOT_DELEGATE = 'ErrorNotDelegate';
+
+ /**
+ * This error indicates that the operation could not be completed because of
+ * insufficient memory.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOT_ENOUGH_MEMORY = 'ErrorNotEnoughMemory';
+
+ /**
+ * This error indicates that the operation (currently CancelItem) on the
+ * calendar item is not valid for an attendee; only the meeting organizer
+ * can cancel the meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOT_ORGANIZER = 'ErrorCalendarIsNotOrganizer';
+
+ /**
+ * This error occurs if the object type changed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OBJECT_TYPE_CHANGED = 'ErrorObjectTypeChanged';
+
+ /**
+ * This error occurs when the Start or End time of an occurrence is updated
+ * so that the occurrence is scheduled to happen earlier or later than the
+ * corresponding previous or next occurrence.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OCCURRENCE_CROSSING_BOUNDARY = 'ErrorOccurrenceCrossingBoundary';
+
+ /**
+ * This error indicates that the occurrence index does not point to an
+ * occurrence within the current recurrence.
+ *
+ * For example, if your recurrence pattern defines a set of three meeting
+ * occurrences and you try to access the fifth occurrence, this response
+ * code will result.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OCCURRENCE_INDEX_OUT_OF_RANGE = 'ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange';
+
+ /**
+ * This error indicates that any operation on a deleted occurrence
+ * (addressed via recurring master ID and occurrence index) is invalid.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OCCURRENCE_IS_DELETED = 'ErrorCalendarOccurrenceIsDeletedFromRecurrence';
+
+ /**
+ * This error indicates that the time allotment for a given occurrence
+ * overlaps with another occurrence of the same recurring item.
+ *
+ * This response also occurs when the length in minutes of a given
+ * occurrence is larger than Int32.MaxValue.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OCCURRENCE_TIME_SPAN_TOO_BIG = 'ErrorOccurrenceTimeSpanTooBig';
+
+ /**
+ * This error indicates that the current operation is not valid for the
+ * public folder root.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OPERATION_NOT_ALLOWED_WITH_PUBLIC_FOLDER_ROOT = 'ErrorOperationNotAllowedWithPublicFolderRoot';
+
+ /**
+ * This error indicates that the requester's organization is not federated
+ * so the requester cannot create sharing messages to send to an external
+ * user or cannot accept sharing messages received from an external user.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ORGANIZATION_NOT_FEDERATED = 'ErrorOrganizationNotFederated';
+
+ /**
+ * This error indicates that AcceptItem is invalid for the organizer’s
+ * calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ORGANIZER_FOR_ACCEPT = 'ErrorCalendarIsOrganizerForAccept';
+
+ /**
+ * This error indicates that DeclineItem is invalid for the organizer’s
+ * calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ORGANIZER_FOR_DECLINE = 'ErrorCalendarIsOrganizerForDecline';
+
+ /**
+ * This error indicates that RemoveItem is invalid for the organizer’s
+ * calendar item. To remove a meeting from the calendar, the organizer must
+ * use CancelItem.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ORGANIZER_FOR_REMOVE = 'ErrorCalendarIsOrganizerForRemove';
+
+ /**
+ * This error indicates that TentativelyAcceptItem is invalid for the
+ * organizer’s calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ORGANIZER_FOR_TENTATIVE = 'ErrorCalendarIsOrganizerForTentative';
+
+ /**
+ * This error MUST be returned when an attempt to manage Inbox rules occurs
+ * after another client has accessed the Inbox rules.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const OUTLOOK_RULE_BLOB_EXISTS = 'ErrorOutlookRuleBlobExists';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PARENT_FOLDER_ID_REQUIRED = 'ErrorParentFolderIdRequired';
+
+ /**
+ * This error occurs in the CreateFolder Operation when the parent folder is
+ * not found.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PARENT_FOLDER_NOT_FOUND = 'ErrorParentFolderNotFound';
+
+ /**
+ * This error indicates that you must change your password before you can
+ * access this mailbox.
+ *
+ * This occurs when a new account has been created and the administrator
+ * indicated that the user must change the password at first logon. You
+ * cannot update the password by using Exchange Web Services. You must use a
+ * tool such as Microsoft Office Outlook Web App to change your password.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PASSWORD_CHANGE_REQUIRED = 'ErrorPasswordChangeRequired';
+
+ /**
+ * This error indicates that the password has expired.
+ *
+ * You cannot change the password by using Exchange Web Services. You must
+ * use a tool such as Outlook Web App to change your password.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PASSWORD_EXPIRED = 'ErrorPasswordExpired';
+
+ /**
+ * This error indicates that the requester tried to grant permissions in its
+ * calendar or contacts folder to an external user but the sharing policy
+ * assigned to the requester indicates that the requested permission level
+ * is higher than what the sharing policy allows.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const PERMISSION_NOT_ALLOWED_BY_POLICY = 'ErrorPermissionNotAllowedByPolicy';
+
+ /**
+ * This error Indicates that the telephone number was not in the correct
+ * form.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const PHONE_NUMBER_NOT_DIALABLE = 'ErrorPhoneNumberNotDialable';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PROMPT_PUBLISHING_OPERATION_FAILED = 'ErrorPromptPublishingOperationFailed';
+
+ /**
+ * This error indicates that the update failed because of invalid property
+ * values.
+ *
+ * The response message includes the invalid property paths.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PROPERTY_UPDATE_ERROR = 'ErrorPropertyUpdate';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PROPERTY_VALIDATION_FAILURE = 'ErrorPropertyValidationFailure';
+
+ /**
+ * This error indicates that the request referred to a subscription that
+ * exists on another Client Access server, but an attempt to proxy the
+ * request to that Client Access server failed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PROXIED_SUBSCRIPTION_CALL_FAILURE = 'ErrorProxiedSubscriptionCallFailure';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PROXY_CALL_FAILED = 'ErrorProxyCallFailed';
+
+ /**
+ * This error indicates that the request referred to a mailbox in another
+ * Active Directory site, and the original caller is a member of more than
+ * 3,000 groups.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PROXY_GROUP_SID_LIMIT_EXCEEDED = 'ErrorProxyGroupSidLimitExceeded';
+
+ /**
+ * This error indicates that the request that Exchange Web Services sent to
+ * another Client Access server when trying to fulfill a GetUserAvailability
+ * request was invalid.
+ *
+ * This response code typically indicates that a configuration or rights
+ * error has occurred, or that someone tried unsuccessfully to mimic an
+ * availability proxy request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PROXY_REQUEST_NOT_ALLOWED = 'ErrorProxyRequestNotAllowed';
+
+ /**
+ * This error indicates that Exchange Web Services tried to proxy an
+ * availability request to another Client Access server for fulfillment, but
+ * the request failed.
+ *
+ * This response can be caused by network connectivity issues or request
+ * timeout issues.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PROXY_REQUEST_PROCESSING_FAILED = 'ErrorProxyRequestProcessingFailed';
+
+ /**
+ * This error code must be returned if the Web service cannot determine
+ * whether the request is to run on the target server or will be proxied to
+ * another server.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const PROXY_SERVICE_DISCOVERY_FAILED = 'ErrorProxyServiceDiscoveryFailed';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PROXY_TOKEN_EXPIRED = 'ErrorProxyTokenExpired';
+
+ /**
+ * This error occurs when the public folder mailbox URL cannot be found.
+ *
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PUBLIC_FOLDER_MAILBOX_DISCOVERY_FAILED = 'ErrorPublicFolderMailboxDiscoveryFailed';
+
+ /**
+ * This error occurs when an attempt is made to access a public folder and
+ * the attempt is unsuccessful.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PUBLIC_FOLDER_OPERATION_FAILED = 'ErrorPublicFolderOperationFailed';
+
+ /**
+ * This error occurs when the recipient that was passed to the
+ * GetUserAvailability Operation is located on a computer that is running a
+ * version of Exchange Server that is earlier than Exchange 2007, and the
+ * request to retrieve free/busy information for the recipient from the
+ * public folder server failed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PUBLIC_FOLDER_REQUEST_PROCESSING_FAILED = 'ErrorPublicFolderRequestProcessingFailed';
+
+ /**
+ * This error occurs when the recipient that was passed to the
+ * GetUserAvailability Operation is located on a computer that is running a
+ * version of Exchange Server that is earlier than Exchange 2007, and the
+ * request to retrieve free/busy information for the recipient from the
+ * public folder server failed because the organizational unit did not have
+ * an associated public folder server.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PUBLIC_FOLDER_SERVER_NOT_FOUND = 'ErrorPublicFolderServerNotFound';
+
+ /**
+ * This error occurs when a synchronization operation succeeds against the
+ * primary public folder mailbox but does not succeed against the secondary
+ * public folder mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PUBLIC_FOLDER_SYNC_EXCEPTION = 'ErrorPublicFolderSyncException';
+
+ /**
+ * This error indicates that the search folder restriction may be valid, but
+ * it is not supported by EWS.
+ *
+ * Exchange Web Services limits restrictions to contain a maximum of 255
+ * filter expressions. If you try to bind to an existing search folder that
+ * exceeds 255, this response code is returned.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const QUERY_FILTER_TOO_LONG = 'ErrorQueryFilterTooLong';
+
+ /**
+ * This error occurs when the mailbox quota is exceeded.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const QUOTA_EXCEEDED = 'ErrorQuotaExceeded';
+
+ /**
+ * This error is returned by the GetEvents Operation or push notifications
+ * when a failure occurs while retrieving event information.
+ *
+ * When this error is returned, the subscription is deleted. Re-create the
+ * event synchronization based on a last known watermark.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const READ_EVENTS_FAILED = 'ErrorReadEventsFailed';
+
+ /**
+ * This error is returned by the CreateItem Operation if an attempt was made
+ * to suppress a read receipt when the message sender did not request a read
+ * receipt on the message or if the message is in the Junk E-mail folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const READ_RECEIPT_NOT_PENDING = 'ErrorReadReceiptNotPending';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const RECIPIENT_NOT_FOUND = 'ErrorRecipientNotFound';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const RECOGNIZER_NOT_INSTALLED = 'ErrorRecognizerNotInstalled';
+
+ /**
+ * This error occurs when the end date for the recurrence is after 9/1/4500.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RECURRENCE_END_DATE_TOO_BIG = 'ErrorRecurrenceEndDateTooBig';
+
+ /**
+ * This error occurs when the specified recurrence does not have any
+ * occurrence instances in the specified range.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RECURRENCE_HAS_NO_OCCURRENCE = 'ErrorRecurrenceHasNoOccurrence';
+
+ /**
+ * This error indicates that the delegate list failed to be saved after
+ * delegates were removed.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const REMOVE_DELEGATES_FAILED = 'ErrorRemoveDelegatesFailed';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const REQUEST_ABORTED = 'ErrorRequestAborted';
+
+ /**
+ * This error occurs when the request stream is larger than 400 KB.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const REQUEST_STREAM_TOO_BIG = 'ErrorRequestStreamTooBig';
+
+ /**
+ * This error is returned when a required property is missing in a
+ * CreateAttachment Operation request.
+ *
+ * The missing property URI is included in the response.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const REQUIRED_PROPERTY_MISSING = 'ErrorRequiredPropertyMissing';
+
+ /**
+ * This error indicates that the caller has specified a folder that is not a
+ * contacts folder to the ResolveNames Operation.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RESOLVE_NAMES_INVALID_FOLDER_TYPE = 'ErrorResolveNamesInvalidFolderType';
+
+ /**
+ * This error indicates that the caller has specified more than one contacts
+ * folder to the ResolveNames Operation.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RESOLVE_NAMES_ONLY_ONE_CONTACTS_FOLDER_ALLOWED = 'ErrorResolveNamesOnlyOneContactsFolderAllowed';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RESPONSE_SCHEMA_VALIDATION = 'ErrorResponseSchemaValidation';
+
+ /**
+ * This error occurs when the restriction cannot be evaluated by Exchange
+ * Web Services.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RESTRICTION_TOO_COMPLEX = 'ErrorRestrictionTooComplex';
+
+ /**
+ * This error occurs if the restriction contains more than 255 nodes.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RESTRICTION_TOO_LONG = 'ErrorRestrictionTooLong';
+
+ /**
+ * This error indicates that the number of calendar entries for a given
+ * recipient exceeds the allowed limit of 1000.
+ *
+ * Reduce the window and try again.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const RESULT_SET_TOO_BIG = 'ErrorResultSetTooBig';
+
+ /**
+ * This error MUST be returned when a user's rule quota has been exceeded.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RULES_OVER_QUOTA = 'ErrorRulesOverQuota';
+
+ /**
+ * This error occurs when the SavedItemFolderId is not found.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SAVED_ITEM_FOLDER_NOT_FOUND = 'ErrorSavedItemFolderNotFound';
+
+ /**
+ * This error occurs when the request cannot be validated against the
+ * schema.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SCHEMA_VALIDATION = 'ErrorSchemaValidation';
+
+ /**
+ * This error indicates that the search folder was created, but the search
+ * criteria were never set on the folder.
+ *
+ * This only occurs when you access corrupted search folders that were
+ * created by using another API or client. To fix this error, use the
+ * UpdateFolder Operation to set the SearchParameters to include the
+ * restriction that should be on the folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEARCH_FOLDER_NOT_INITIALIZED = 'ErrorSearchFolderNotInitialized';
+
+ /**
+ * This error is returned when an unexpected photo size is requested in a
+ * GetUserPhoto operation request.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const SEARCH_QUERY_HAS_TOO_MANY_KEYWORDS = 'ErrorSearchQueryHasTooManyKeywords';
+
+ /**
+ * This error is returned when a SearchMailboxes operation request contains
+ * too many mailboxes to search.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const SEARCH_TOO_MANY_MAILBOXES = 'ErrorSearchTooManyMailboxes';
+
+ /**
+ * This error occurs when a an attempt to send a message as another user is
+ * denied.
+ *
+ * The request will be denied when both of the following conditions occur:
+ * - A user has been granted CanActAsOwner permissions but is not granted
+ * delegate rights on the principal’s mailbox.
+ * - The same user tries to create and send an e-mail message in the
+ * principal’s mailbox by using the SendAndSaveCopy option.
+ *
+ * The result is an ErrorSendAsDenied error and the creation of the e-mail
+ * message in the principal’s Drafts folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_AS_DENIED = 'ErrorSendAsDenied';
+
+ /**
+ * This error is returned by the DeleteItem Operation if the
+ * SendMeetingCancellations attribute is missing from the request and the
+ * item to delete is a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_MEETING_CANCELLATIONS_REQUIRED = 'ErrorSendMeetingCancellationsRequired';
+
+ /**
+ * This error is returned by the UpdateItem Operation if the
+ * SendMeetingInvitationsOrCancellations attribute is missing from the
+ * request and the item to update is a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_MEETING_INVITATIONS_OR_CANCELLATIONS_REQUIRED = 'ErrorSendMeetingInvitationsOrCancellationsRequired';
+
+ /**
+ * This error is returned by the CreateItem Operation if the
+ * SendMeetingInvitations attribute is missing from the request and the item
+ * to create is a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SEND_MEETING_INVITATIONS_REQUIRED = 'ErrorSendMeetingInvitationsRequired';
+
+ /**
+ * This error indicates that after the organizer sends a meeting request,
+ * the request cannot be updated.
+ *
+ * To modify the meeting, modify the calendar item, not the meeting request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SENT_MEETING_REQUEST_UPDATE = 'ErrorSentMeetingRequestUpdate';
+
+ /**
+ * This error indicates that after the task initiator sends a task request,
+ * that request cannot be updated.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SENT_TASK_REQUEST_UPDATE = 'ErrorSentTaskRequestUpdate';
+
+ /**
+ * This error occurs when the server is busy.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SERVER_BUSY = 'ErrorServerBusy';
+
+ /**
+ * This error indicates that Exchange Web Services tried to proxy a user
+ * availability request to the appropriate forest for the recipient, but it
+ * could not determine where to send the request because of a service
+ * discovery failure.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SERVICE_DISCOVERY_FAILED = 'ErrorServiceDiscoveryFailed';
+
+ /**
+ * This error indicates that the sharing message is not supported.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SHARING_MESSAGE_NOT_SUPPORTED = 'ErrorNotSupportedSharingMessage';
+
+ /**
+ * This error indicates that the external URL property has not been set in
+ * the Active Directory database.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SHARING_NO_EXTERNAL_EWS_AVAILABLE = 'ErrorSharingNoExternalEwsAvailable';
+
+ /**
+ * This error indicates that an attempt at synchronizing a sharing folder
+ * failed.
+ *
+ * This error code is returned when one of the following occurs:
+ * - The subscription for a sharing folder is not found.
+ * - The sharing folder is not found
+ * - The corresponding directory user is not found
+ * - The user no longer exists.
+ * - The appointment is invalid
+ * - The contact item is invalid.
+ * - There is a communication failure with the remote server.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SHARING_SYNCHRONIZATION_FAILED = 'ErrorSharingSynchronizationFailed';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const SPEECH_GRAMMAR_ERROR = 'ErrorSpeechGrammarError';
+
+ /**
+ * This error occurs in an UpdateItem Operation or a SendItem Operation when
+ * the change key is not up-to-date or was not supplied.
+ *
+ * Call the GetItem Operation to retrieve an updated change key and then try
+ * the operation again.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const STALE_OBJECT = 'ErrorStaleObject';
+
+ /**
+ * This error occurs when the caller specifies an Id attribute that is too
+ * long.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const STORE_OBJECT_ID_TOO_LONG = 'ErrorInvalidIdStoreObjectIdTooLong';
+
+ /**
+ * This error Indicates that a user cannot immediately send more requests
+ * because the submission quota has been reached.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SUBMISSION_QUOTE_EXCEEDED = 'ErrorSubmissionQuotaExceeded';
+
+ /**
+ * This error occurs when you try to access a subscription by using an
+ * account that did not create that subscription.
+ *
+ * Each subscription can only be accessed by the creator of the
+ * subscription.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SUBSCRIPTION_ACCESS_DENIED = 'ErrorSubscriptionAccessDenied';
+
+ /**
+ * This error indicates that you cannot create a subscription if you are not
+ * the owner or do not have owner access to the mailbox.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const SUBSCRIPTION_DELEGATE_ACCESS_NOT_SUPPORTED = 'ErrorSubscriptionDelegateAccessNotSupported';
+
+ /**
+ * This error occurs if the subscription that corresponds to the specified
+ * SubscriptionId is not found.
+ *
+ * The subscription may have expired, the Exchange Web Services process may
+ * have been restarted, or an invalid subscription was passed in. If the
+ * subscription was valid, re-create the subscription with the latest
+ * watermark. This is returned by the Unsubscribe Operation or the GetEvents
+ * Operation responses.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SUBSCRIPTION_NOT_FOUND = 'ErrorSubscriptionNotFound';
+
+ /**
+ * This error code must be returned when a request is made for a
+ * subscription that has been unsubscribed.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SUBSCRIPTION_UNSUBSCRIBED = 'ErrorSubscriptionUnsubsribed';
+
+ /**
+ * This error is returned by the SyncFolderItems Operation if the parent
+ * folder that is specified cannot be found.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SYNC_FOLDER_NOT_FOUND = 'ErrorSyncFolderNotFound';
+
+ /**
+ * This error code is not used.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TEAM_MAILBOX_ACTIVE_TO_PENDING_DELETE = 'ErrorTeamMailboxActiveToPendingDelete';
+
+ /**
+ * This error indicates a general error that can occur when trying to access
+ * a team mailbox.
+ *
+ * Try submitting the request at a later time.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TEAM_MAILBOX_ERROR_UNKNOWN = 'ErrorTeamMailboxErrorUnknown';
+
+ /**
+ * This error indicates that an attempt to send a notification to the team
+ * mailbox owners was unsuccessful.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TEAM_MAILBOX_FAILED_SENDING_NOTIFICATIONS = 'ErrorTeamMailboxFailedSendingNotifications';
+
+ /**
+ * This error code is not used.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TEAM_MAILBOX_NOT_AUTHORIZED_OWNER = 'ErrorTeamMailboxNotAuthorizedOwner';
+
+ /**
+ * This error indicates that a team mailbox was not found.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TEAM_MAILBOX_NOT_FOUND = 'ErrorTeamMailboxNotFound';
+
+ /**
+ * This error indicates that a team mailbox was found but that it is not
+ * linked to a SharePoint Server.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TEAM_MAILBOX_NOT_LINKED_TO_SHARE_POINT = 'ErrorTeamMailboxNotLinkedToSharePoint';
+
+ /**
+ * This error indicates that a team mailbox was found but that the link to
+ * the SharePoint Server is not valid.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TEAM_MAILBOX_URL_VALIDATION_FAILED = 'ErrorTeamMailboxUrlValidationFailed';
+
+ /**
+ * This error indicates that the time window that was specified is larger
+ * than the allowed limit.
+ *
+ * By default, the allowed limit is 42.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TIME_INTERVAL_TOO_BIG = 'ErrorTimeIntervalTooBig';
+
+ /**
+ * This error indicates that there is a time zone error.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TIME_ZONE_ERROR = 'ErrorTimeZone';
+
+ /**
+ * This error occurs when there is not enough time to complete the
+ * processing of the request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TIMEOUT_EXPIRED = 'ErrorTimeoutExpired';
+
+ /**
+ * This error indicates that the destination folder does not exist.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TO_FOLDER_NOT_FOUND = 'ErrorToFolderNotFound';
+
+ /**
+ * This error occurs if the caller tries to do a Token serialization request
+ * but does not have the ms-Exch-EPI-TokenSerialization right on the Client
+ * Access server.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TOKEN_SERIALIZATION_DENIED = 'ErrorTokenSerializationDenied';
+
+ /**
+ * This error is returned when the attachment hierarchy on an item exceeds
+ * the maximum of 255 levels deep.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TOO_MANY_ATTACHMENT_LEVELS = 'ErrorInvalidIdTooManyAttachmentLevels';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const UM_SERVER_UNAVAILABLE = 'ErrorUMServerUnavailable';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNABLE_TO_GET_USER_OOF_SETTINGS = 'ErrorUnableToGetUserOofSettings';
+
+ /**
+ * This error occurs when an unsuccessful attempt is made to remove an IM
+ * contact from a group.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const UNABLE_TO_REMOVE_IM_CONTACT_FROM_GROUP = 'ErrorUnableToRemoveImContactFromGroup';
+
+ /**
+ * This error indicates that a user's dial plan is not available.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNIFIED_MESSAGING_DIAL_PLAN_NOT_FOUND = 'ErrorUnifiedMessagingDialPlanNotFound';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const UNIFIED_MESSAGING_PROMPT_NOT_FOUND = 'ErrorUnifiedMessagingPromptNotFound';
+
+ /**
+ * This error is intended for internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const UNIFIED_MESSAGING_REPORT_DATA_NOT_FOUND = 'ErrorUnifiedMessagingReportDataNotFound';
+
+ /**
+ * This error indicates that the user could not be found.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNIFIED_MESSAGING_REQUEST_FAILED = 'ErrorUnifiedMessagingRequestFailed';
+
+ /**
+ * This error indicates that a valid server for the dial plan could not be
+ * found to handle the request.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNIFIED_MESSAGING_SERVER_NOT_FOUND = 'ErrorUnifiedMessagingServerNotFound';
+
+ /**
+ * This error occurs when you try to set the Culture property to a value
+ * that is not parsable by the System.Globalization.CultureInfo class.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNSUPPORTED_CULTURE = 'ErrorUnsupportedCulture';
+
+ /**
+ * This error occurs when a caller tries to use extended properties of types
+ * object, object array, error, or null.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNSUPPORTED_MAPI_PROPERTY_TYPE = 'ErrorUnsupportedMapiPropertyType';
+
+ /**
+ * This error occurs when you are trying to retrieve or set MIME content for
+ * an item other than a PostItemType, MessageType, or CalendarItemType
+ * object.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNSUPPORTED_MIME_CONVERSION = 'ErrorUnsupportedMimeConversion';
+
+ /**
+ * This error occurs when the caller passes a property that is invalid for a
+ * query.
+ *
+ * This can occur when calculated properties are used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNSUPPORTED_PATH_FOR_QUERY = 'ErrorUnsupportedPathForQuery';
+
+ /**
+ * This error occurs when the caller passes a property that is invalid for a
+ * sort or group by property.
+ *
+ * This can occur when calculated properties are used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNSUPPORTED_PATH_FOR_SORT_GROUP = 'ErrorUnsupportedPathForSortGroup';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNSUPPORTED_PROPERTY_DEFINITION = 'ErrorUnsupportedPropertyDefinition';
+
+ /**
+ * This error indicates that the search folder restriction may be valid, but
+ * it is not supported by EWS.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNSUPPORTED_QUERY_FILTER = 'ErrorUnsupportedQueryFilter';
+
+ /**
+ * This error indicates that the specified recurrence is not supported for
+ * tasks.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNSUPPORTED_RECURRENCE = 'ErrorUnsupportedRecurrence';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNSUPPORTED_SUBFILTER = 'ErrorUnsupportedSubFilter';
+
+ /**
+ * This error indicates that Exchange Web Services found a property type in
+ * the store but it cannot generate XML for the property type.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNSUPPORTED_TYPE_FOR_CONVERSION = 'ErrorUnsupportedTypeForConversion';
+
+ /**
+ * This error indicates that the delegate list failed to be saved after
+ * delegates were updated.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ const UPDATE_DELEGATES_FAILED = 'ErrorUpdateDelegatesFailed';
+
+ /**
+ * This error occurs when the single property path that is listed in a
+ * change description does not match the single property that is being set
+ * within the actual ItemType or FolderType object.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UPDATE_PROPERTY_MISMATCH = 'ErrorUpdatePropertyMismatch';
+
+ /**
+ * This error indicates that the requester tried to grant permissions in its
+ * calendar or contacts folder to an external user but the sharing policy
+ * assigned to the requester indicates that the domain of the external user
+ * is not listed in the policy.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const USER_NOT_ALLOWED_BY_POLICY = 'ErrorUserNotAllowedByPolicy';
+
+ /**
+ * This error indicates that the requester is not enabled.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const USER_NOT_UNIFIED_MESSAGING_ENABLED = 'ErrorUserNotUnifiedMessagingEnabled';
+
+ /**
+ * Indicates that the requester's organization has a set of federated
+ * domains but the requester's organization does not have any SMTP proxy
+ * addresses with one of the federated domains.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const USER_WITHOUT_FEDERATED_PROXY_ADDRESS = 'ErrorUserWithoutFederatedProxyAddress';
+
+ /**
+ * This error indicates that a calendar view start date or end date was set
+ * to 1/1/0001 12:00:00 AM or 12/31/9999 11:59:59 PM.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const VALUE_OUT_OF_RANGE = 'ErrorValueOutOfRange';
+
+ /**
+ * This error occurs when Start to End range for the CalendarView element is
+ * more than the maximum allowed, currently 2 years.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const VIEW_RANGE_TOO_BIG = 'ErrorCalendarViewRangeTooBig';
+
+ /**
+ * This error indicates that the Exchange store detected a virus in the
+ * message.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const VIRUS_DETECTED = 'ErrorVirusDetected';
+
+ /**
+ * This error indicates that the Exchange store detected a virus in the
+ * message and deleted it.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const VIRUS_MESSAGE_DELETED = 'ErrorVirusMessageDeleted';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const VOICE_MAIL_NOT_IMPLEMENTED = 'ErrorVoiceMailNotImplemented';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const WEB_REQUEST_IN_INVALID_STATE = 'ErrorWebRequestInInvalidState';
+
+ /**
+ * This error indicates that there was an internal failure during
+ * communication with unmanaged code.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const WIN32_INTEROP_ERROR = 'ErrorWin32InteropError';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const WORKING_HOURS_SAVE_FAILED = 'ErrorWorkingHoursSaveFailed';
+
+ /**
+ * This response code is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const WORKING_HOURS_XML_MALFORMED = 'ErrorWorkingHoursXmlMalformed';
+
+ /**
+ * This error indicates that a request can only be made to a server that is
+ * the same version as the mailbox server.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const WRONG_SERVER_VERSION = 'ErrorWrongServerVersion';
+
+ /**
+ * This error indicates that a request was made by a delegate that has a
+ * different server version than the principal's mailbox server.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const WRONG_SERVER_VERSION_DELEGATE = 'ErrorWrongServerVersionDelegate';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseTypeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseTypeType.php
new file mode 100644
index 00000000..3329465f
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ResponseTypeType.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ResponseTypeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Identifies the type of a response that is received.
+ *
+ * @package php-ews\Enumeration
+ */
+class ResponseTypeType extends Enumeration
+{
+ /**
+ * Response type indicating that a request has been accepted.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ACCEPT = 'Accept';
+
+ /**
+ * Response type indicating that a request has been declined.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DECLINE = 'Decline';
+
+ /**
+ * Response type indicating that no response has been received.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NONE = 'NoResponseReceived';
+
+ /**
+ * Response type indicating that the attendee is the organizer.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ORGANIZER = 'Organizer';
+
+ /**
+ * Response type indicating that a request has been tentatively accepted.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TENTATIVE = 'Tentative';
+
+ /**
+ * Response type indicating that the response is unknown.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNKNOWN = 'Unknown';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RetentionActionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RetentionActionType.php
new file mode 100644
index 00000000..285ad7bc
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RetentionActionType.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\RetentionActionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the action performed on items with the retention tag.
+ *
+ * @package php-ews\Enumeration
+ */
+class RetentionActionType extends Enumeration
+{
+ /**
+ * The item is deleted and put into the Dumpster.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DELETE_AND_ALLOW_RECOVERY = 'DeleteAndAllowRecovery';
+
+ /**
+ * The item is marked as having exceeded the retention time limit.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MARK_AS_PAST_RETENTION_LIMIT = 'MarkAsPastRetentionLimit';
+
+ /**
+ * The item is moved to the archive mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MOVE_TO_ARCHIVE = 'MoveToArchive';
+
+ /**
+ * The item is moved to the default Deleted Items folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MOVE_TO_DELETED_ITEMS = 'MoveToDeletedItems';
+
+ /**
+ * The item is moved to a specified folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MOVE_TO_FOLDER = 'MoveToFolder';
+
+ /**
+ * No action is performed on the item.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const NONE = 'None';
+
+ /**
+ * The item is permanently deleted from the mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERMANENTLY_DELETE = 'PermanentlyDelete';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RoutingType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RoutingType.php
new file mode 100644
index 00000000..ad094bb4
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RoutingType.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\RoutingType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the routing protocol for a recipient.
+ *
+ * @package php-ews\Enumeration
+ */
+class RoutingType extends Enumeration
+{
+ /**
+ * Route the email using the SMTP protocol.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SMTP = 'SMTP';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RuleFieldURIType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RuleFieldURIType.php
new file mode 100644
index 00000000..344a3a3b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RuleFieldURIType.php
@@ -0,0 +1,826 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\RuleFieldURIType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the URI to the rule field that caused a validation error.
+ *
+ * @package php-ews\Enumeration
+ */
+class RuleFieldURIType extends Enumeration
+{
+ /**
+ * Specifies the Action:AssignCategories field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_ASSIGN_CATEGORIES = 'Action:AssignCategories';
+
+ /**
+ * Specifies the Action:CopyToFolder field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_COPY_TO_FOLDER = 'Action:CopyToFolder';
+
+ /**
+ * Specifies the Action:Delete field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_DELETE = 'Action:Delete';
+
+ /**
+ * Specifies the Action:ForwardAsAttachmentToRecipients field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_FORWARD_AS_ATTACHMENT_TO_RECIPIENTS = 'Action:ForwardAsAttachmentToRecipients';
+
+ /**
+ * Specifies the Action:ForwardToRecipients field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_FORWARD_TO_RECIPIENTS = 'Action:ForwardToRecipients';
+
+ /**
+ * Specifies the Action:MarkAsRead field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_MARK_AS_READ = 'Action:MarkAsRead';
+
+ /**
+ * Specifies the Action:MarkImportance field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_MARK_IMPORTANCE = 'Action:MarkImportance';
+
+ /**
+ * Specifies the Action:MoveToFolder field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_MOVE_TO_FOLDER = 'Action:MoveToFolder';
+
+ /**
+ * Specifies the Action:PermanentDelete field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_PERMANENT_DELETE = 'Action:PermanentDelete';
+
+ /**
+ * Specifies the Action:RedirectToRecipients field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_REDIRECT_TO_RECIPIENTS = 'Action:RedirectToRecipients';
+
+ /**
+ * Specifies the Action:SendSMSAlertToRecipients field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_SEND_SMS_ALERT_TO_RECIPIENTS = 'Action:SendSMSAlertToRecipients';
+
+ /**
+ * Specifies the Action:ServerReplyWithMessage field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_SERVER_REPLY_WITH_MESSAGE = 'Action:ServerReplyWithMessage';
+
+ /**
+ * Specifies the Action:StopProcessingRules field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTION_STOP_PROCESSING_RULES = 'Action:StopProcessingRules';
+
+ /**
+ * Specifies the Actions field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ACTIONS = 'Actions';
+
+ /**
+ * Specifies the Condition:Categories field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_CATEGORIES = 'Condition:Categories';
+
+ /**
+ * Specifies the Condition:ContainsBodyStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_CONTAINS_BODY_STRINGS = 'Condition:ContainsBodyStrings';
+
+ /**
+ * Specifies the Condition:ContainsHeaderStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_CONTAINS_HEADER_STRINGS = 'Condition:ContainsHeaderStrings';
+
+ /**
+ * Specifies the Condition:ContainsRecipientStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_CONTAINS_RECIPIENT_STRINGS = 'Condition:ContainsRecipientStrings';
+
+ /**
+ * Specifies the Condition:ContainsSenderStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_CONTAINS_SENDER_STRINGS = 'Condition:ContainsSenderStrings';
+
+ /**
+ * Specifies the Condition:ContainsSubjectOrBodyStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_CONTAINS_SUBJECT_OR_BODY_STRINGS = 'Condition:ContainsSubjectOrBodyStrings';
+
+ /**
+ * Specifies the Condition:ContainsSubjectStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_CONTAINS_SUBJECT_STRINGS = 'Condition:ContainsSubjectStrings';
+
+ /**
+ * Specifies the Condition:FlaggedForAction field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_FLAGGED_FOR_ACTION = 'Condition:FlaggedForAction';
+
+ /**
+ * Specifies the Condition:FromAddresses field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_FROM_ADDRESSES = 'Condition:FromAddresses';
+
+ /**
+ * Specifies the Condition:FromConnectedAccounts field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_FROM_CONNECTED_ACCOUNTS = 'Condition:FromConnectedAccounts';
+
+ /**
+ * Specifies the Condition:HasAttachments field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_HAS_ATTACHMENTS = 'Condition:HasAttachments';
+
+ /**
+ * Specifies the Condition:Importance field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IMPORTANCE = 'Condition:Importance';
+
+ /**
+ * Specifies the Condition:IsApprovalRequest field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IS_APPROVAL_REQUEST = 'Condition:IsApprovalRequest';
+
+ /**
+ * Specifies the Condition:IsAutomaticForward field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IS_AUTOMATIC_FORWARD = 'Condition:IsAutomaticForward';
+
+ /**
+ * Specifies the Condition:IsAutomaticReply field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IS_AUTOMATIC_REPLY = 'Condition:IsAutomaticReply';
+
+ /**
+ * Specifies the Condition:IsEncrypted field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IS_ENCRYPTED = 'Condition:IsEncrypted';
+
+ /**
+ * Specifies the Condition:IsMeetingRequest field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IS_MEETING_REQUEST = 'Condition:IsMeetingRequest';
+
+ /**
+ * Specifies the Condition:IsMeetingResponse field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IS_MEETING_RESPONSE = 'Condition:IsMeetingResponse';
+
+ /**
+ * Specifies the Condition:IsNDR field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IS_NDR = 'Condition:IsNDR';
+
+ /**
+ * Specifies the Condition:IsPermissionControlled field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IS_PERMISSION_CONTROLLED = 'Condition:IsPermissionControlled';
+
+ /**
+ * Specifies the Condition:IsReadReceipt field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IS_READ_RECEIPT = 'Condition:IsReadReceipt';
+
+ /**
+ * Specifies the Condition:IsSigned field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IS_SIGNED = 'Condition:IsSigned';
+
+ /**
+ * Specifies the Condition:IsVoicemail field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_IS_VOICEMAIL = 'Condition:IsVoicemail';
+
+ /**
+ * Specifies the Condition:ItemClasses field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_ITEM_CLASSES = 'Condition:ItemClasses';
+
+ /**
+ * Specifies the Condition:MessageClassifications field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_MESSAGE_CLASSIFICATIONS = 'Condition:MessageClassifications';
+
+ /**
+ * Specifies the Condition:NotSentToMe field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_NOT_SENT_TO_ME = 'Condition:NotSentToMe';
+
+ /**
+ * Specifies the Condition:Sensitivity field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_SENSITIVITY = 'Condition:Sensitivity';
+
+ /**
+ * Specifies the Condition:SentCcMe field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_SENT_CC_ME = 'Condition:SentCcMe';
+
+ /**
+ * Specifies the Condition:SentOnlyToMe field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_SENT_ONLY_TO_ME = 'Condition:SentOnlyToMe';
+
+ /**
+ * Specifies the Condition:SentToAddresses field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_SENT_TO_ADDRESSES = 'Condition:SentToAddresses';
+
+ /**
+ * Specifies the Condition:SentToMe field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_SENT_TO_ME = 'Condition:SentToMe';
+
+ /**
+ * Specifies the Condition:SentToOrCcMe field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_SENT_TO_OR_CC_ME = 'Condition:SentToOrCcMe';
+
+ /**
+ * Specifies the Condition:WithinDateRange field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_WITHIN_DATE_RANGE = 'Condition:WithinDateRange';
+
+ /**
+ * Specifies the Condition:WithinSizeRange field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITION_WITHIN_SIZE_RANGE = 'Condition:WithinSizeRange';
+
+ /**
+ * Specifies the Conditions field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONDITIONS = 'Conditions';
+
+ /**
+ * Specifies the DisplayName field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DISPLAY_NAME = 'DisplayName';
+
+ /**
+ * Specifies the Exception:Categories field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_CATEGORIES = 'Exception:Categories';
+
+ /**
+ * Specifies the Exception:ContainsBodyStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_CONTAINS_BODY_STRINGS = 'Exception:ContainsBodyStrings';
+
+ /**
+ * Specifies the Exception:ContainsHeaderStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_CONTAINS_HEADER_STRINGS = 'Exception:ContainsHeaderStrings';
+
+ /**
+ * Specifies the Exception:ContainsRecipientStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_CONTAINS_RECIPIENT_STRINGS = 'Exception:ContainsRecipientStrings';
+
+ /**
+ * Specifies the Exception:ContainsSenderStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_CONTAINS_SENDER_STRINGS = 'Exception:ContainsSenderStrings';
+
+ /**
+ * Specifies the Exception:ContainsSubjectOrBodyStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_CONTAINS_SUBJECT_OR_BODY_STRINGS = 'Exception:ContainsSubjectOrBodyStrings';
+
+ /**
+ * Specifies the Exception:ContainsSubjectStrings field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_CONTAINS_SUBJECT_STRINGS = 'Exception:ContainsSubjectStrings';
+
+ /**
+ * Specifies the Exception:FlaggedForAction field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_FLAGGED_FOR_ACTION = 'Exception:FlaggedForAction';
+
+ /**
+ * Specifies the Exception:FromAddresses field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_FROM_ADDRESSES = 'Exception:FromAddresses';
+
+ /**
+ * Specifies the Exception:FromConnectedAccounts field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_FROM_CONNECTED_ACCOUNTS = 'Exception:FromConnectedAccounts';
+
+ /**
+ * Specifies the Exception:HasAttachments field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_HAS_ATTACHMENTS = 'Exception:HasAttachments';
+
+ /**
+ * Specifies the Exception:Importance field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IMPORTANCE = 'Exception:Importance';
+
+ /**
+ * Specifies the Exception:IsApprovalRequest field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IS_APPROVAL_REQUEST = 'Exception:IsApprovalRequest';
+
+ /**
+ * Specifies the Exception:IsAutomaticForward field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IS_AUTOMATIC_FORWARD = 'Exception:IsAutomaticForward';
+
+ /**
+ * Specifies the Exception:IsAutomaticReply field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IS_AUTOMATIC_REPLY = 'Exception:IsAutomaticReply';
+
+ /**
+ * Specifies the Exception:IsEncrypted field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IS_ENCRYPTED = 'Exception:IsEncrypted';
+
+ /**
+ * Specifies the Exception:IsMeetingRequest field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IS_MEETING_REQUEST = 'Exception:IsMeetingRequest';
+
+ /**
+ * Specifies the Exception:IsMeetingResponse field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IS_MEETING_RESPONSE = 'Exception:IsMeetingResponse';
+
+ /**
+ * Specifies the Exception:IsNDR field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IS_NDR = 'Exception:IsNDR';
+
+ /**
+ * Specifies the Exception:IsPermissionControlled field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IS_PERMISSION_CONTROLLED = 'Exception:IsPermissionControlled';
+
+ /**
+ * Specifies the Exception:IsReadReceipt field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IS_READ_RECEIPT = 'Exception:IsReadReceipt';
+
+ /**
+ * Specifies the Exception:IsSigned field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IS_SIGNED = 'Exception:IsSigned';
+
+ /**
+ * Specifies the Exception:IsVoicemail field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_IS_VOICEMAIL = 'Exception:IsVoicemail';
+
+ /**
+ * Specifies the Exception:ItemClasses field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_ITEM_CLASSES = 'Exception:ItemClasses';
+
+ /**
+ * Specifies the Exception:MessageClassifications field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_MESSAGE_CLASSIFICATIONS = 'Exception:MessageClassifications';
+
+ /**
+ * Specifies the Exception:NotSentToMe field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_NOT_SENT_TO_ME = 'Exception:NotSentToMe';
+
+ /**
+ * Specifies the Exception:Sensitivity field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_SENSITIVITY = 'Exception:Sensitivity';
+
+ /**
+ * Specifies the Exception:SentCcMe field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_SENT_CC_ME = 'Exception:SentCcMe';
+
+ /**
+ * Specifies the Exception:SentOnlyToMe field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_SENT_ONLY_TO_ME = 'Exception:SentOnlyToMe';
+
+ /**
+ * Specifies the Exception:SentToAddresses field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_SENT_TO_ADDRESSES = 'Exception:SentToAddresses';
+
+ /**
+ * Specifies the Exception:SentToMe field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_SENT_TO_ME = 'Exception:SentToMe';
+
+ /**
+ * Specifies the Exception:SentToOrCcMe field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_SENT_TO_OR_CC_ME = 'Exception:SentToOrCcMe';
+
+ /**
+ * Specifies the Exception:WithinDateRange field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_WITHIN_DATE_RANGE = 'Exception:WithinDateRange';
+
+ /**
+ * Specifies the Exception:WithinSizeRange field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTION_WITHIN_SIZE_RANGE = 'Exception:WithinSizeRange';
+
+ /**
+ * Specifies the Exceptions field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EXCEPTIONS = 'Exceptions';
+
+ /**
+ * Specifies the IsEnabled field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const IS_ENABLED = 'IsEnabled';
+
+ /**
+ * Specifies the IsInError field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const IS_IN_ERROR = 'IsInError';
+
+ /**
+ * Specifies the IsNotSupported field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const IS_NOT_SUPPORTED = 'IsNotSupported';
+
+ /**
+ * Specifies the Priority field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const PRIORITY = 'Priority';
+
+ /**
+ * Specifies the RuleId field.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RULE_ID = 'RuleId';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RuleValidationErrorCodeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RuleValidationErrorCodeType.php
new file mode 100644
index 00000000..3b602884
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/RuleValidationErrorCodeType.php
@@ -0,0 +1,233 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\RuleValidationErrorCodeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents a rule validation error code that describes what failed validation
+ * for each rule predicate or action.
+ *
+ * @package php-ews\Enumeration
+ */
+class RuleValidationErrorCodeType extends Enumeration
+{
+ /**
+ * Indicates an Active Directory operation failure.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const AD_OPERATION_FAILURE = 'ADOperationFailure';
+
+ /**
+ * Indicates a connected account could not be found.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONNECTED_ACCOUNT_NOT_FOUND = 'ConnectedAccountNotFound';
+
+ /**
+ * Indicates an error creating a rule with an id.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CREATE_WITH_RULE_ID = 'CreateWithRuleId';
+
+ /**
+ * Indicates an error duplicating an operation on the same rule.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DUPLICATED_OPERATION_ON_THE_SAME_RULE = 'DuplicatedOperationOnTheSameRule';
+
+ /**
+ * Indicates an error with a duplicated priority.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DUPLICATED_PRIORITY = 'DuplicatedPriority';
+
+ /**
+ * Indicates an empty value.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const EMPTY_VALUE_FOUND = 'EmptyValueFound';
+
+ /**
+ * Indicates that a folder does not exist.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FOLDER_DOES_NOT_EXIST = 'FolderDoesNotExist';
+
+ /**
+ * Indicates an invalid address.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_ADDRESS = 'InvalidAddress';
+
+ /**
+ * Indicates an invalid date range
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_DATE_RANGE = 'InvalidDateRange';
+
+ /**
+ * Indicates an invalid folder id.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_FOLDER_ID = 'InvalidFolderId';
+
+ /**
+ * Indicates an invalid size range
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_SIZE_RANGE = 'InvalidSizeRange';
+
+ /**
+ * Indicates an invalid value.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INVALID_VALUE = 'InvalidValue';
+
+ /**
+ * Indicates that a message classification could not be found.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MESSAGE_CLASSIFICATION_NOT_FOUND = 'MessageClassificationNotFound';
+
+ /**
+ * Indicates an action is missing.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MISSING_ACTION = 'MissingAction';
+
+ /**
+ * Indicates a missing parameter.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MISSING_PARAMETER = 'MissingParameter';
+
+ /**
+ * Indicates an error MissingRangeValue.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MISSING_RANGE_VALUE = 'MissingRangeValue';
+
+ /**
+ * Indicates a field is not settable.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NOT_SETTABLE = 'NotSettable';
+
+ /**
+ * Indicates that a recipient does not exist.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RECIPIENT_DOES_NOT_EXIST = 'RecipientDoesNotExist';
+
+ /**
+ * Indicates that a rule could not be found.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const RULE_NOT_FOUND = 'RuleNotFound';
+
+ /**
+ * Indicates that a size less than zero was specified.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SIZE_LESS_THAN_ZERO = 'SizeLessThanZero';
+
+ /**
+ * Indicates that a strings value is too large.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const STRING_VALUE_TOO_BIG = 'StringValueTooBig';
+
+ /**
+ * Indicates an unknown error.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNEXPECTED_ERROR = 'UnexpectedError';
+
+ /**
+ * Indicates an unsupported address.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNSUPPORTED_ADDRESS = 'UnsupportedAddress';
+
+ /**
+ * Indicates an unsupported rule.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNSUPPORTED_RULE = 'UnsupportedRule';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/Scope.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/Scope.php
new file mode 100644
index 00000000..bdd082cf
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/Scope.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\Scope.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the scope of a message tracking report.
+ *
+ * @package php-ews\Enumeration
+ */
+class Scope extends Enumeration
+{
+ /**
+ * The message tracking scopes spans across a forest.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FOREST = 'Forest';
+
+ /**
+ * The message tracking scopes spans across an organization.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ORGANIZATION = 'Organization';
+
+ /**
+ * The message tracking scopes spans across a site.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const SITE = 'Site';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchFolderTraversalType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchFolderTraversalType.php
new file mode 100644
index 00000000..89a6fdbb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchFolderTraversalType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\SearchFolderTraversalType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of traversal to use for a folder.
+ *
+ * @package php-ews\Enumeration
+ */
+class SearchFolderTraversalType extends Enumeration
+{
+ /**
+ * Consider both direct children as well as all children contained within
+ * those children as well as the children's children, etc.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DEEP = 'Deep';
+
+ /**
+ * Consider only direct children of the parent in question.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const SHALLOW = 'Shallow';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchItemKindType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchItemKindType.php
new file mode 100644
index 00000000..776abce9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchItemKindType.php
@@ -0,0 +1,124 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\SearchItemKindType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of item to search for.
+ *
+ * @package php-ews\Enumeration
+ */
+class SearchItemKindType extends Enumeration
+{
+ /**
+ * Indicates that contacts are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONTACT = 'Contacts';
+
+ /**
+ * Indicates that documents are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const DOCUMENT = 'Docs';
+
+ /**
+ * Indicates that email messages are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const EMAIL = 'Email';
+
+ /**
+ * Indicates that faxes are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const FAX = 'Faxes';
+
+ /**
+ * Indicates that instant messages are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const INSTANT_MESSAGE = 'Im';
+
+ /**
+ * Indicates that journals are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const JOURNAL = 'Journals';
+
+ /**
+ * Indicates that meetings are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MEETING = 'Meetings';
+
+ /**
+ * Indicates that notes are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const NOTE = 'Notes';
+
+ /**
+ * Indicates that posts are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const POST = 'Posts';
+
+ /**
+ * Indicates that RSS feeds are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const RSS_FEEDS = 'Rssfeeds';
+
+ /**
+ * Indicates that tasks are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TASK = 'Tasks';
+
+ /**
+ * Indicates that voice mails are searched for keywords.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const VOICEMAIL = 'Voicemail';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchPageDirectionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchPageDirectionType.php
new file mode 100644
index 00000000..d5477665
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchPageDirectionType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\SearchPageDirectionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the direction for pagination in a search result.
+ *
+ * @package php-ews\Enumeration
+ */
+class SearchPageDirectionType extends Enumeration
+{
+ /**
+ * Move to the next page in the result set.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const NEXT = 'Next';
+
+ /**
+ * Move to the previous page in the result set.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PREVIOUS = 'Previous';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchResultType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchResultType.php
new file mode 100644
index 00000000..aefaeab1
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SearchResultType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\SearchResultType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of search to perform.
+ *
+ * @package php-ews\Enumeration
+ */
+class SearchResultType extends Enumeration
+{
+ /**
+ * Return item preview information.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PREVIEW_ONLY = 'PreviewOnly';
+
+ /**
+ * Return the search statistics.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const STATISTICS_ONLY = 'StatisticsOnly';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SensitivityChoicesType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SensitivityChoicesType.php
new file mode 100644
index 00000000..86002c85
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SensitivityChoicesType.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\SensitivityChoicesType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Indicates the sensitivity level of an item.
+ *
+ * @package php-ews\Enumeration
+ */
+class SensitivityChoicesType extends Enumeration
+{
+ /**
+ * Indicates that the item is confidential.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONFIDENTIAL = 'Confidential';
+
+ /**
+ * Indicates that the item has a normal sensitivity.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NORMAL = 'Normal';
+
+ /**
+ * Indicates that the item is personal.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PERSONAL = 'Personal';
+
+ /**
+ * Indicates that the item is private.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const PRIVATE_ITEM = 'Private';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ServiceConfigurationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ServiceConfigurationType.php
new file mode 100644
index 00000000..a87fc2c9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ServiceConfigurationType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ServiceConfigurationType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Specifies the requested service configurations by name.
+ *
+ * @package php-ews\Enumeration
+ */
+class ServiceConfigurationType extends Enumeration
+{
+ /**
+ * Identifies the MailTips service configuration.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const MAIL_TIPS = 'MailTips';
+
+ /**
+ * Identifies the Protection Rules service configuration.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const PROTECTION_RULES = 'ProtectionRules';
+
+ /**
+ * Identifies the Unified Messaging service configuration.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNIFIED_MESSAGING_CONFIG = 'UnifiedMessagingConfiguration';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SharingDataType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SharingDataType.php
new file mode 100644
index 00000000..c8832e6f
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SharingDataType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\SharingDataType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Describes the type of data that is shared by a shared folder.
+ *
+ * @package php-ews\Enumeration
+ */
+class SharingDataType extends Enumeration
+{
+ /**
+ * Indicates that the shared folder contains calendar information.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CALENDAR = 'Calendar';
+
+ /**
+ * Indicates that the shared folder contains contact information.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONTACTS = 'Contacts';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SortDirectionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SortDirectionType.php
new file mode 100644
index 00000000..6591eb74
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SortDirectionType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\SortDirectionType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Identifies a sort order direction.
+ *
+ * @package php-ews\Enumeration
+ */
+class SortDirectionType extends Enumeration
+{
+ /**
+ * Items are sorted in ascending order.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ASCENDING = 'Ascending';
+
+ /**
+ * Items are sorted in descending order.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DESCENDING = 'Descending';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/StandardGroupByType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/StandardGroupByType.php
new file mode 100644
index 00000000..01b6d2b6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/StandardGroupByType.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\StandardGroupByType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the standard grouping and aggregating mechanisms for a grouped
+ * FindItem operation.
+ *
+ * @package php-ews\Enumeration
+ */
+class StandardGroupByType extends Enumeration
+{
+ /**
+ * Groups by message:ConversationTopic and aggregates on
+ * item:DateTimeReceived (maximum).
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONVERSATION_TOPIC = 'ConversationTopic';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SubscriptionStatusType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SubscriptionStatusType.php
new file mode 100644
index 00000000..2652df6d
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SubscriptionStatusType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\SubscriptionStatusType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Describes the status of a push subscription.
+ *
+ * @package php-ews\Enumeration
+ */
+class SubscriptionStatusType extends Enumeration
+{
+ /**
+ * Indicates that the notification has been received and the subscription is
+ * to continue.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OK = 'OK';
+
+ /**
+ * Indicates that push notifications from the subscription should be ceased.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const UNSUBSCRIBE = 'Unsubscribe';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SuggestionQuality.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SuggestionQuality.php
new file mode 100644
index 00000000..baff097e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SuggestionQuality.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\SuggestionQuality.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the quality of the day for containing quality suggested meeting
+ * times.
+ *
+ * @package php-ews\Enumeration
+ */
+class SuggestionQuality extends Enumeration
+{
+ /**
+ * Indicates that the suggested meeting time is excellent.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const EXCELLENT = 'Excellent';
+
+ /**
+ * Indicates that the suggested meeting time is fair.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FAIR = 'Fair';
+
+ /**
+ * Indicates that the suggested meeting time is good.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const GOOD = 'Good';
+
+ /**
+ * Indicates that the suggested meeting time is poor.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const POOR = 'Poor';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SyncFolderItemsScopeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SyncFolderItemsScopeType.php
new file mode 100644
index 00000000..0ae1f96b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/SyncFolderItemsScopeType.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\SyncFolderItemsScopeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines whether just items or items and folder associated information are
+ * returned in a synchronization response.
+ *
+ * @package php-ews\Enumeration
+ */
+class SyncFolderItemsScopeType extends Enumeration
+{
+ /**
+ * Specifies that only items in the folder are returned in a synchronization
+ * response.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NORMAL = 'NormalItems';
+
+ /**
+ * Specifies that both items in the folder and folder associated information
+ * are returned in a synchronization response.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const NORMAL_AND_ASSOCIATED = 'NormalAndAssociatedItems';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TaskDelegateStateType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TaskDelegateStateType.php
new file mode 100644
index 00000000..c31325b5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TaskDelegateStateType.php
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\TaskDelegateStateType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the status of a delegated task.
+ *
+ * @package php-ews\Enumeration
+ */
+class TaskDelegateStateType extends Enumeration
+{
+ /**
+ * Indicates that the delegate has accepted the task.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ACCEPTED = 'Accepted';
+
+ /**
+ * Indicates that the delegate has declined the task.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DECLINED = 'Declined';
+
+ /**
+ * Indicates that the task request is out of bounds.
+ *
+ * This is an internal Outlook value and should not be used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MAX = 'Max';
+
+ /**
+ * Indicates that the task is not delegated or the task request has been
+ * created but not sent.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NO_MATCH = 'NoMatch';
+
+ /**
+ * Indicates that the task is a new task request that has been sent, but the
+ * delegate has not yet responded.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OWN_NEW = 'OwnNew';
+
+ /**
+ * Indicates that the task is owned.
+ *
+ * This value should not be used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const OWNED = 'Owned';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TaskStatusType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TaskStatusType.php
new file mode 100644
index 00000000..5194e998
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TaskStatusType.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\TaskStatusType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Represents the status of a task item.
+ *
+ * @package php-ews\Enumeration
+ */
+class TaskStatusType extends Enumeration
+{
+ /**
+ * Indicates that the task has been completed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const COMPLETED = 'Completed';
+
+ /**
+ * Indicates that the task has been deferred.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const DEFERRED = 'Deferred';
+
+ /**
+ * Indicates that the task has been started.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const IN_PROGRESS = 'InProgress';
+
+ /**
+ * Indicates that the task has not yet been started.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const NOT_STARTED = 'NotStarted';
+
+ /**
+ * Indicates that the task is waiting on others.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const WAITING_ON_OTHERS = 'WaitingOnOthers';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TransitionTargetKindType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TransitionTargetKindType.php
new file mode 100644
index 00000000..2cf0ddbb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/TransitionTargetKindType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\TransitionTargetKindType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the kind of a transition.
+ *
+ * @package php-ews\Enumeration
+ */
+class TransitionTargetKindType extends Enumeration
+{
+ /**
+ * Specifies that the time zone transition target is a group of time zone
+ * transitions.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const GROUP = 'Group';
+
+ /**
+ * Specifies that the time zone transition target is a time zone period.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const PERIOD = 'Period';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UnindexedFieldURIType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UnindexedFieldURIType.php
new file mode 100644
index 00000000..182261b8
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UnindexedFieldURIType.php
@@ -0,0 +1,2941 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\UnindexedFieldURIType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines frequently referenced properties by URI.
+ *
+ * @package php-ews\Enumeration
+ */
+class UnindexedFieldURIType extends Enumeration
+{
+ /**
+ * Identifies the AdjacentMeetingCount property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_ADJACENT_MEETING_COUNT = 'calendar:AdjacentMeetingCount';
+
+ /**
+ * Identifies the AdjacentMeetings property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_ADJACENT_MEETINGS = 'calendar:AdjacentMeetings';
+
+ /**
+ * Identifies the AllowNewTimeProposal property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_ALLOW_NEW_TIME_PROPOSAL = 'calendar:AllowNewTimeProposal';
+
+ /**
+ * Identifies the AppointmentReplyTime property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_APPOINTMENT_REPLY_TIME = 'calendar:AppointmentReplyTime';
+
+ /**
+ * Identifies the AppointmentSequenceNumber property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_APPOINTMENT_SEQUENCE_NUMBER = 'calendar:AppointmentSequenceNumber';
+
+ /**
+ * Identifies the AppointmentState property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_APPOINTMENT_STATE = 'calendar:AppointmentState';
+
+ /**
+ * Identifies the ConferenceType property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_CONFERENCE_TYPE = 'calendar:ConferenceType';
+
+ /**
+ * Identifies the ConflictingMeetingCount property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_CONFLICTING_MEETING_COUNT = 'calendar:ConflictingMeetingCount';
+
+ /**
+ * Identifies the ConflictingMeetings property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_CONFLICTING_MEETINGS = 'calendar:ConflictingMeetings';
+
+ /**
+ * Identifies the DateTimeStamp property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CALENDAR_DATE_TIME_STAMP = 'calendar:DateTimeStamp';
+
+ /**
+ * Identifies the DeletedOccurrences property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_DELETED_OCCURRENCES = 'calendar:DeletedOccurrences';
+
+ /**
+ * Identifies the Duration property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_DURATION = 'calendar:Duration';
+
+ /**
+ * Identifies the End property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_END = 'calendar:End';
+
+ /**
+ * Identifies the EndTimeZone property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CALENDAR_END_TIMEZONE = 'calendar:EndTimeZone';
+
+ /**
+ * Identifies the EndTimeZoneId property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CALENDAR_END_TIME_ZONE_ID = 'calendar:EndTimeZoneId';
+
+ /**
+ * Identifies the EndWallClock property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CALENDAR_END_WALL_CLOCK = 'calendar:EndWallClock';
+
+ /**
+ * Identifies the FirstOccurrence property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_FIRST_OCCURRENCE = 'calendar:FirstOccurrence';
+
+ /**
+ * Identifies the IsAllDayEvent property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_IS_ALL_DAY_EVENT = 'calendar:IsAllDayEvent';
+
+ /**
+ * Identifies the IsCancelled property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_IS_CANCELLED = 'calendar:IsCancelled';
+
+ /**
+ * Identifies the IsMeeting property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_IS_MEETING = 'calendar:IsMeeting';
+
+ /**
+ * Identifies the IsOnlineMeeting property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_IS_ONLINE_MEETING = 'calendar:IsOnlineMeeting';
+
+ /**
+ * Identifies the IsOrganizer property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CALENDAR_IS_ORGANIZER = 'calendar:IsOrganizer';
+
+ /**
+ * Identifies the IsRecurring property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_IS_RECURRING = 'calendar:IsRecurring';
+
+ /**
+ * Identifies the IsResponseRequested property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_IS_RESPONSE_REQUESTED = 'calendar:IsResponseRequested';
+
+ /**
+ * Identifies the CalendarItemType property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_ITEM_TYPE = 'calendar:CalendarItemType';
+
+ /**
+ * Identifies the JoinOnlineMeetingUrl property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CALENDAR_JOIN_ONLINE_MEETING_URL = 'calendar:JoinOnlineMeetingUrl';
+
+ /**
+ * Identifies the LastOccurrence property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_LAST_OCCURRENCE = 'calendar:LastOccurrence';
+
+ /**
+ * Identifies the LegacyFreeBusyStatus property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_LEGACY_FREE_BUSY_STATUS = 'calendar:LegacyFreeBusyStatus';
+
+ /**
+ * Identifies the Location property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_LOCATION = 'calendar:Location';
+
+ /**
+ * Identifies the MeetingRequestWasSent property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_MEETING_REQUEST_WAS_SENT = 'calendar:MeetingRequestWasSent';
+
+ /**
+ * Identifies the MeetingTimeZone property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_MEETING_TIMEZONE = 'calendar:MeetingTimeZone';
+
+ /**
+ * Identifies the MeetingWorkspaceUrl property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_MEETING_WORKSPACE_URL = 'calendar:MeetingWorkspaceUrl';
+
+ /**
+ * Identifies the ModifiedOccurrences property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_MODIFIED_OCCURRENCES = 'calendar:ModifiedOccurrences';
+
+ /**
+ * Identifies the MyResponseType property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_MY_RESPONSE_TYPE = 'calendar:MyResponseType';
+
+ /**
+ * Identifies the NetShowUrl property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_NET_SHOW_URL = 'calendar:NetShowUrl';
+
+ /**
+ * Identifies the OnlineMeetingSettings property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CALENDAR_ONLINE_MEETING_SETTINGS = 'calendar:OnlineMeetingSettings';
+
+ /**
+ * Identifies the OptionalAttendees property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_OPTIONAL_ATTENDEES = 'calendar:OptionalAttendees';
+
+ /**
+ * Identifies the Organizer property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_ORGANIZER = 'calendar:Organizer';
+
+ /**
+ * Identifies the OriginalStart property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_ORIGINAL_START = 'calendar:OriginalStart';
+
+ /**
+ * Identifies the Recurrence property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_RECURRENCE = 'calendar:Recurrence';
+
+ /**
+ * Identifies the RecurrenceId property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CALENDAR_RECURRENCE_ID = 'calendar:RecurrenceId';
+
+ /**
+ * Identifies the RequiredAttendees property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_REQUIRED_ATTENDEES = 'calendar:RequiredAttendees';
+
+ /**
+ * Identifies the Resources property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_RESOURCES = 'calendar:Resources';
+
+ /**
+ * Identifies the Start property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_START = 'calendar:Start';
+
+ /**
+ * Identifies the StartTimeZone property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CALENDAR_START_TIMEZONE = 'calendar:StartTimeZone';
+
+ /**
+ * Identifies the StartTimeZoneId property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CALENDAR_START_TIME_ZONE_ID = 'calendar:StartTimeZoneId';
+
+ /**
+ * Identifies the StartWallClock property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CALENDAR_START_WALL_CLOCK = 'calendar:StartWallClock';
+
+ /**
+ * Identifies the TimeZone property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_TIMEZONE = 'calendar:TimeZone';
+
+ /**
+ * Identifies the UID property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CALENDAR_UID = 'calendar:UID';
+
+ /**
+ * Identifies the When property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CALENDAR_WHEN = 'calendar:When';
+
+ /**
+ * Identifies the Alias property.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const CONTACTS_ALIAS = 'contacts:Alias';
+
+ /**
+ * Identifies the AssistantName property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_ASSISTANT_NAME = 'contacts:AssistantName';
+
+ /**
+ * Identifies the Birthday property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_BIRTHDAY = 'contacts:Birthday';
+
+ /**
+ * Identifies the BusinessHomePage property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_BUSINESS_HOME_PAGE = 'contacts:BusinessHomePage';
+
+ /**
+ * Identifies the Children property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_CHILDREN = 'contacts:Children';
+
+ /**
+ * Identifies the Companies property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_COMPANIES = 'contacts:Companies';
+
+ /**
+ * Identifies the CompanyName property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_COMPANY_NAME = 'contacts:CompanyName';
+
+ /**
+ * Identifies the CompleteName property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_COMPLETE_NAME = 'contacts:CompleteName';
+
+ /**
+ * Identifies the Culture property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_CULTURE = 'contacts:Culture';
+
+ /**
+ * Identifies the Department property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_DEPARTMENT = 'contacts:Department';
+
+ /**
+ * Identifies the DirectReports property.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const CONTACTS_DIRECT_REPORTS = 'contacts:DirectReports';
+
+ /**
+ * Identifies the DirectoryId property.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const CONTACTS_DIRECTORY_ID = 'contacts:DirectoryId';
+
+ /**
+ * Identifies the DisplayName property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_DISPLAY_NAME = 'contacts:DisplayName';
+
+ /**
+ * Identifies the EmailAddresses property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_EMAIL_ADDRESSES = 'contacts:EmailAddresses';
+
+ /**
+ * Identifies the FileAs property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_FILE_AS = 'contacts:FileAs';
+
+ /**
+ * Identifies the FileAsMapping property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_FILE_AS_MAPPING = 'contacts:FileAsMapping';
+
+ /**
+ * Identifies the Generation property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_GENERATION = 'contacts:Generation';
+
+ /**
+ * Identifies the GivenName property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_GIVEN_NAME = 'contacts:GivenName';
+
+ /**
+ * Identifies the HasPicture property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONTACTS_HAS_PICTURE = 'contacts:HasPicture';
+
+ /**
+ * Identifies the ImAddresses property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_IM_ADDRESSES = 'contacts:ImAddresses';
+
+ /**
+ * Identifies the Initials property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_INITIALS = 'contacts:Initials';
+
+ /**
+ * Identifies the JobTitle property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_JOB_TITLE = 'contacts:JobTitle';
+
+ /**
+ * Identifies the Manager property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_MANAGER = 'contacts:Manager';
+
+ /**
+ * Identifies the ManagerMailbox property.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const CONTACTS_MANAGER_MAILBOX = 'contacts:ManagerMailbox';
+
+ /**
+ * Identifies the MiddleName property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_MIDDLE_NAME = 'contacts:MiddleName';
+
+ /**
+ * Identifies the Mileage property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_MILEAGE = 'contacts:Mileage';
+
+ /**
+ * Identifies the MSExchangeCertificate property.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const CONTACTS_MS_EXCHANGE_CERTIFICATE = 'contacts:MSExchangeCertificate';
+
+ /**
+ * Identifies the Nickname property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_NICKNAME = 'contacts:Nickname';
+
+ /**
+ * Identifies the Notes property.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const CONTACTS_NOTES = 'contacts:Notes';
+
+ /**
+ * Identifies the OfficeLocation property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_OFFICE_LOCATION = 'contacts:OfficeLocation';
+
+ /**
+ * Identifies the PhoneNumbers property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_PHONE_NUMBERS = 'contacts:PhoneNumbers';
+
+ /**
+ * Identifies the PhoneticFirstName property.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const CONTACTS_PHONETIC_FIRST_NAME = 'contacts:PhoneticFirstName';
+
+ /**
+ * Identifies the PhoneticFullName property.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const CONTACTS_PHONETIC_FULL_NAME = 'contacts:PhoneticFullName';
+
+ /**
+ * Identifies the PhoneticLastName property.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const CONTACTS_PHONETIC_LAST_NAME = 'contacts:PhoneticLastName';
+
+ /**
+ * Identifies the Photo property.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const CONTACTS_PHOTO = 'contacts:Photo';
+
+ /**
+ * Identifies the PhysicalAddresses property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_PHYSICAL_ADDRESSES = 'contacts:PhysicalAddresses';
+
+ /**
+ * Identifies the PostalAddressIndex property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_POSTAL_ADDRESS_INDEX = 'contacts:PostalAddressIndex';
+
+ /**
+ * Identifies the Profession property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_PROFESSION = 'contacts:Profession';
+
+ /**
+ * Identifies the ContactSource property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_SOURCE = 'contacts:ContactSource';
+
+ /**
+ * Identifies the SpouseName property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_SPOUSE_NAME = 'contacts:SpouseName';
+
+ /**
+ * Identifies the Surname property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_SURNAME = 'contacts:Surname';
+
+ /**
+ * Identifies the UserSMIMECertificate property.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ const CONTACTS_USER_SMIME_CERTIFICATE = 'contacts:UserSMIMECertificate';
+
+ /**
+ * Identifies the WeddingAnniversary property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const CONTACTS_WEDDING_ANNIVERSARY = 'contacts:WeddingAnniversary';
+
+ /**
+ * Identifies the Categories property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_CATEGORIES = 'conversation:Categories';
+
+ /**
+ * Identifies the FlagStatus property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_FLAG_STATUS = 'conversation:FlagStatus';
+
+ /**
+ * Identifies the GlobalCategories property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_CATEGORIES = 'conversation:GlobalCategories';
+
+ /**
+ * Identifies the GlobalFlagStatus property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_FLAG_STATUS = 'conversation:GlobalFlagStatus';
+
+ /**
+ * Identifies the GlobalHasAttachments property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_HAS_ATTACHMENTS = 'conversation:GlobalHasAttachments';
+
+ /**
+ * Identifies the GlobalImportance property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_IMPORTANCE = 'conversation:GlobalImportance';
+
+ /**
+ * Identifies the GlobalItemClasses property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_ITEM_CLASSES = 'conversation:GlobalItemClasses';
+
+ /**
+ * Identifies the GlobalItemIds property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_ITEM_IDS = 'conversation:GlobalItemIds';
+
+ /**
+ * Identifies the GlobalLastDeliveryTime property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_LAST_DELIVERY_TIME = 'conversation:GlobalLastDeliveryTime';
+
+ /**
+ * Identifies the GlobalMessageCount property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_MESSAGE_COUNT = 'conversation:GlobalMessageCount';
+
+ /**
+ * Identifies the GlobalParentFolderId property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_PARENT_FOLDER_ID = 'conversation:GlobalParentFolderId';
+
+ /**
+ * Identifies the GlobalSize property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_SIZE = 'conversation:GlobalSize';
+
+ /**
+ * Identifies the GlobalUniqueRecipients property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_UNIQUE_RECIPIENTS = 'conversation:GlobalUniqueRecipients';
+
+ /**
+ * Identifies the GlobalUniqueSenders property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_UNIQUE_SENDERS = 'conversation:GlobalUniqueSenders';
+
+ /**
+ * Identifies the GlobalUniqueUnreadSenders property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_UNIQUE_UNREAD_SENDERS = 'conversation:GlobalUniqueUnreadSenders';
+
+ /**
+ * Identifies the GlobalUnreadCount property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_GLOBAL_UNREAD_COUNT = 'conversation:GlobalUnreadCount';
+
+ /**
+ * Identifies the GroupingAction property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONVERSATION_GROUPING_ACTION = 'conversation:GroupingAction';
+
+ /**
+ * Identifies the HasAttachments property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_HAS_ATTACHMENTS = 'conversation:HasAttachments';
+
+ /**
+ * Identifies the ConversationId property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_ID = 'conversation:ConversationId';
+
+ /**
+ * Identifies the Importance property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_IMPORTANCE = 'conversation:Importance';
+
+ /**
+ * Identifies the InstanceKey property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONVERSATION_INSTANCE_KEY = 'conversation:InstanceKey';
+
+ /**
+ * Identifies the ItemClasses property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_ITEM_CLASSES = 'conversation:ItemClasses';
+
+ /**
+ * Identifies the ItemIds property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_ITEM_IDS = 'conversation:ItemIds';
+
+ /**
+ * Identifies the LastDeliveryTime property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_LAST_DELIVERY_TIME = 'conversation:LastDeliveryTime';
+
+ /**
+ * Identifies the LastModifiedTime property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONVERSATION_LAST_MODIFIED_TIME = 'conversation:LastModifiedTime';
+
+ /**
+ * Identifies the MessageCount property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_MESSAGE_COUNT = 'conversation:MessageCount';
+
+ /**
+ * Identifies the NextPredictedAction property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONVERSATION_NEXT_PREDICTED_ACTION = 'conversation:NextPredictedAction';
+
+ /**
+ * Identifies the Preview property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CONVERSATION_PREVIEW = 'conversation:Preview';
+
+ /**
+ * Identifies the Size property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_SIZE = 'conversation:Size';
+
+ /**
+ * Identifies the ConversationTopic property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_TOPIC = 'conversation:ConversationTopic';
+
+ /**
+ * Identifies the UniqueRecipients property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_UNIQUE_RECIPIENTS = 'conversation:UniqueRecipients';
+
+ /**
+ * Identifies the UniqueSenders property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_UNIQUE_SENDERS = 'conversation:UniqueSenders';
+
+ /**
+ * Identifies the UniqueUnreadSenders property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_UNIQUE_UNREAD_SENDERS = 'conversation:UniqueUnreadSenders';
+
+ /**
+ * Identifies the UnreadCount property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const CONVERSATION_UNREAD_COUNT = 'conversation:UnreadCount';
+
+ /**
+ * Identifies the Members property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DISTRIBUTION_LIST_MEMBERS = 'distributionlist:Members';
+
+ /**
+ * Identifies the ChildFolderCount property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_CHILD_FOLDER_COUNT = 'folder:ChildFolderCount';
+
+ /**
+ * Identifies the DisplayName property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_DISPLAY_NAME = 'folder:DisplayName';
+
+ /**
+ * Identifies the EffectiveRights property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FOLDER_EFFECTIVE_RIGHTS = 'folder:EffectiveRights';
+
+ /**
+ * Identifies the FolderClass property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_FOLDER_CLASS = 'folder:FolderClass';
+
+ /**
+ * Identifies the FolderId property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_FOLDER_ID = 'folder:FolderId';
+
+ /**
+ * Identifies the ManagedFolderInformation property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_MANAGED_FOLDER_INFORMATION = 'folder:ManagedFolderInformation';
+
+ /**
+ * Identifies the ParentFolderId property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_PARENT_FOLDER_ID = 'folder:ParentFolderId';
+
+ /**
+ * Identifies the PermissionSet property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FOLDER_PERMISSION_SET = 'folder:PermissionSet';
+
+ /**
+ * Identifies the SearchParameters property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_SEARCH_PARAMETERS = 'folder:SearchParameters';
+
+ /**
+ * Identifies the SharingEffectiveRights property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const FOLDER_SHARING_EFFECTIVE_RIGHTS = 'folder:SharingEffectiveRights';
+
+ /**
+ * Identifies the TotalCount property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_TOTAL_COUNT = 'folder:TotalCount';
+
+ /**
+ * Identifies the UnreadCount property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const FOLDER_UNREAD_COUNT = 'folder:UnreadCount';
+
+ /**
+ * Identifies the ArchiveTag property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_ARCHIVE_TAG = 'item:ArchiveTag';
+
+ /**
+ * Identifies the Attachments property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_ATTACHMENTS = 'item:Attachments';
+
+ /**
+ * Identifies the BlockStatus property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_BLOCK_STATUS = 'item:BlockStatus';
+
+ /**
+ * Identifies the Body property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_BODY = 'item:Body';
+
+ /**
+ * Identifies the Categories property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_CATEGORIES = 'item:Categories';
+
+ /**
+ * Identifies the ItemClass property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_CLASS = 'item:ItemClass';
+
+ /**
+ * Identifies the ConversationId property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_CONVERSATION_ID = 'item:ConversationId';
+
+ /**
+ * Identifies the Culture property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_CULTURE = 'item:Culture';
+
+ /**
+ * Identifies the DateTimeCreated property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_DATE_TIME_CREATED = 'item:DateTimeCreated';
+
+ /**
+ * Identifies the DateTimeReceived property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_DATE_TIME_RECEIVED = 'item:DateTimeReceived';
+
+ /**
+ * Identifies the DateTimeSent property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_DATE_TIME_SENT = 'item:DateTimeSent';
+
+ /**
+ * Identifies the DisplayCc property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_DISPLAY_CC = 'item:DisplayCc';
+
+ /**
+ * Identifies the DisplayTo property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_DISPLAY_TO = 'item:DisplayTo';
+
+ /**
+ * Identifies the EffectiveRights property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_EFFECTIVE_RIGHTS = 'item:EffectiveRights';
+
+ /**
+ * Identifies the EntityExtractionResult property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_ENTITY_EXTRACTION_RESULT = 'item:EntityExtractionResult';
+
+ /**
+ * Identifies the Flag property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_FLAG = 'item:Flag';
+
+ /**
+ * Identifies the GroupingAction property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_GROUPING_ACTION = 'item:GroupingAction';
+
+ /**
+ * Identifies the HasAttachments property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_HAS_ATTACHMENTS = 'item:HasAttachments';
+
+ /**
+ * Identifies the HasBlockedImages property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_HAS_BLOCKED_IMAGES = 'item:HasBlockedImages';
+
+ /**
+ * Identifies the ItemId property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_ID = 'item:ItemId';
+
+ /**
+ * Identifies the Importance property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_IMPORTANCE = 'item:Importance';
+
+ /**
+ * Identifies the InReplyTo property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_IN_REPLY_TO = 'item:InReplyTo';
+
+ /**
+ * Identifies the InstanceKey property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_INSTANCE_KEY = 'item:InstanceKey';
+
+ /**
+ * Identifies the InternetMessageHeaders property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_INTERNET_MESSAGE_HEADERS = 'item:InternetMessageHeaders';
+
+ /**
+ * Identifies the IsAssociated property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_IS_ASSOCIATED = 'item:IsAssociated';
+
+ /**
+ * Identifies the IsAssociated property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_IS_DRAFT = 'item:IsDraft';
+
+ /**
+ * Identifies the IsFromMe property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_IS_FROM_ME = 'item:IsFromMe';
+
+ /**
+ * Identifies the IsResend property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_IS_RESEND = 'item:IsResend';
+
+ /**
+ * Identifies the IsSubmitted property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_IS_SUBMITTED = 'item:IsSubmitted';
+
+ /**
+ * Identifies the IsUnmodified property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_IS_UNMODIFIED = 'item:IsUnmodified';
+
+ /**
+ * Identifies the LastModifiedName property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_LAST_MODIFIED_NAME = 'item:LastModifiedName';
+
+ /**
+ * Identifies the LastModifiedTime property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_LAST_MODIFIED_TIME = 'item:LastModifiedTime';
+
+ /**
+ * Identifies the MimeContent property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_MIME_CONTENT = 'item:MimeContent';
+
+ /**
+ * Identifies the NextPredictedAction property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_NEXT_PREDICTED_ACTION = 'item:NextPredictedAction';
+
+ /**
+ * Identifies the NormalizedBody property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_NORMALIZED_BODY = 'item:NormalizedBody';
+
+ /**
+ * Identifies the ParentFolderId property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_PARENT_FOLDER_ID = 'item:ParentFolderId';
+
+ /**
+ * Identifies the PolicyTag property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_POLICY_TAG = 'itemPolicyTag';
+
+ /**
+ * Identifies the Preview property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_PREVIEW = 'item:Preview';
+
+ /**
+ * Identifies the ReminderDueBy property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_REMINDER_DUE_BY = 'item:ReminderDueBy';
+
+ /**
+ * Identifies the ReminderIsSet property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_REMINDER_IS_SET = 'item:ReminderIsSet';
+
+ /**
+ * Identifies the ReminderMinutesBeforeStart property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_REMINDER_MINUTES_BEFORE_START = 'item:ReminderMinutesBeforeStart';
+
+ /**
+ * Identifies the ReminderNextTime property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_REMINDER_NEXT_TIME = 'item:ReminderNextTime';
+
+ /**
+ * Identifies the ResponseObjects property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_RESPONSE_OBJECTS = 'item:ResponseObjects';
+
+ /**
+ * Identifies the RetentionDate property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_RETENTION_DATE = 'item:RetentionDate';
+
+ /**
+ * Identifies the RightsManagementLicenseData property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_RIGHTS_MANAGEMENT_LICENSE_DATA = 'item:RightsManagementLicenseData';
+
+ /**
+ * Identifies the Sensitivity property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_SENSITIVITY = 'item:Sensitivity';
+
+ /**
+ * Identifies the Size property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_SIZE = 'item:Size';
+
+ /**
+ * Identifies the StoreEntryId property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_STORE_ENTRY_ID = 'item:StoreEntryId';
+
+ /**
+ * Identifies the Subject property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const ITEM_SUBJECT = 'item:Subject';
+
+ /**
+ * Identifies the TextBody property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ITEM_TEXT_BODY = 'item:TextBody';
+
+ /**
+ * Identifies the UniqueBody property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_UNIQUE_BODY = 'item:UniqueBody';
+
+ /**
+ * Identifies the WebClientEditFormQueryString property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_WEB_CLIENT_EDIT_FROM_QUERY_STRING = 'item:WebClientEditFormQueryString';
+
+ /**
+ * Identifies the WebClientReadFormQueryString property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ITEM_WEB_CLIENT_READ_FROM_QUERY_STRING = 'item:WebClientReadFormQueryString';
+
+ /**
+ * Identifies the AssociatedCalendarItemId property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MEETING_ASSOCIATED_CALENDAR_ITEM_ID = 'meeting:AssociatedCalendarItemId';
+
+ /**
+ * Identifies the IsDelegated property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MEETING_IS_DELEGATED = 'meeting:IsDelegated';
+
+ /**
+ * Identifies the IsOutOfDate property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MEETING_IS_OUT_OF_DATE = 'meeting:IsOutOfDate';
+
+ /**
+ * Identifies the HasBeenProcessed property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MEETING_HAS_BEEN_PROCESSED = 'meeting:HasBeenProcessed';
+
+ /**
+ * Identifies the ProposedEnd property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MEETING_PROPOSED_END = 'meeting:ProposedEnd';
+
+ /**
+ * Identifies the ProposedStart property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MEETING_PROPOSED_START = 'meeting:ProposedStart';
+
+ /**
+ * Identifies the ChangeHighlights property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MEETING_REQUEST_CHANGE_HIGHLIGHTS = 'meetingRequest:ChangeHighlights';
+
+ /**
+ * Identifies the IntendedFreeBusyStatus property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MEETING_REQUEST_INTENDED_FREE_BUSY_STATUS = 'meetingRequest:IntendedFreeBusyStatus';
+
+ /**
+ * Identifies the MeetingRequestType property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MEETING_REQUEST_TYPE = 'meetingRequest:MeetingRequestType';
+
+ /**
+ * Identifies the ResponseType property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MEETING_RESPONSE_TYPE = 'meeting:ResponseType';
+
+ /**
+ * Identifies the BccRecipients property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_BCC_RECIPIENTS = 'message:BccRecipients';
+
+ /**
+ * Identifies the CcRecipients property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_CC_RECIPIENTS = 'message:CcRecipients';
+
+ /**
+ * Identifies the ConversationIndex property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_CONVERSATION_INDEX = 'message:ConversationIndex';
+
+ /**
+ * Identifies the ConversationTopic property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_CONVERSATION_TOPIC = 'message:ConversationTopic';
+
+ /**
+ * Identifies the From property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_FROM = 'message:From';
+
+ /**
+ * Identifies the InternetMessageId property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_INTERNET_MESSAGE_ID = 'message:InternetMessageId';
+
+ /**
+ * Identifies the IsDeliveryReceiptRequested property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_IS_DELIVERY_RECEIPT_REQUESTED = 'message:IsDeliveryReceiptRequested';
+
+ /**
+ * Identifies the IsRead property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_IS_READ = 'message:IsRead';
+
+ /**
+ * Identifies the IsReadReceiptRequested property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_IS_READ_RECEIPT_REQUESTED = 'message:IsReadReceiptRequested';
+
+ /**
+ * Identifies the IsResponseRequested property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_IS_RESPONSE_REQUESTED = 'message:IsResponseRequested';
+
+ /**
+ * Identifies the ReceivedBy property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MESSAGE_RECEIVED_BY = 'message:ReceivedBy';
+
+ /**
+ * Identifies the ReceivedRepresenting property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const MESSAGE_RECEIVED_REPRESENTING = 'message:ReceivedRepresenting';
+
+ /**
+ * Identifies the References property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_REFERENCES = 'message:References';
+
+ /**
+ * Identifies the ReplyTo property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_REPLY_TO = 'message:ReplyTo';
+
+ /**
+ * Identifies the Sender property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_SENDER = 'message:Sender';
+
+ /**
+ * Identifies the ToRecipients property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const MESSAGE_TO_RECIPIENTS = 'message:ToRecipients';
+
+ /**
+ * Identifies the AssistantNames property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_ASSISTANT_NAMES = 'persona:AssistantNames';
+
+ /**
+ * Identifies the AssistantPhoneNumbers property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_ASSISTANT_PHONE_NUMBERS = 'persona:AssistantPhoneNumbers';
+
+ /**
+ * Identifies the Attributions property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_ATTRIBUTIONS = 'persona:Attributions';
+
+ /**
+ * Identifies the Birthdays property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_BIRTHDAYS = 'persona:Birthdays';
+
+ /**
+ * Identifies the Bodies property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_BODIES = 'persona:Bodies';
+
+ /**
+ * Identifies the BusinessAddresses property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_BUSINESS_ADDRESSES = 'persona:BusinessAddresses';
+
+ /**
+ * Identifies the BusinessHomePages property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_BUSINESS_HOME_PAGES = 'persona:BusinessHomePages';
+
+ /**
+ * Identifies the BusinessPhoneNumbers property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_BUSINESS_PHONE_NUMBERS = 'persona:BusinessPhoneNumbers';
+
+ /**
+ * Identifies the BusinessPhoneNumbers2 property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_BUSINESS_PHONE_NUMBERS_2 = 'persona:BusinessPhoneNumbers2';
+
+ /**
+ * Identifies the CallbackPhones property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_CALLBACK_PHONES = 'persona:CallbackPhones';
+
+ /**
+ * Identifies the CarPhones property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_CAR_PHONES = 'persona:CarPhones';
+
+ /**
+ * Identifies the Children property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_CHILDREN = 'persona:Children';
+
+ /**
+ * Identifies the CompanyName property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_COMPANY_NAME = 'persona:CompanyName';
+
+ /**
+ * Identifies the CompanyNames property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_COMPANY_NAMES = 'persona:CompanyNames';
+
+ /**
+ * Identifies the CreationTime property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_CREATION_TIME = 'persona:CreationTime';
+
+ /**
+ * Identifies the Departments property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_DEPARTMENTS = 'persona:Departments';
+
+ /**
+ * Identifies the DisplayName property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_DISPLAY_NAME = 'persona:DisplayName';
+
+ /**
+ * Identifies the DisplayNames property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_DISPLAY_NAMES = 'persona:DisplayNames';
+
+ /**
+ * Identifies the DisplayNamePrefix property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_DISPLAY_NAME_PREFIX = 'persona:DisplayNamePrefix';
+
+ /**
+ * Identifies the DisplayNamePrefixes property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_DISPLAY_NAME_PREFIXES = 'persona:DisplayNamePrefixes';
+
+ /**
+ * Identifies the EmailAddress property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_EMAIL_ADDRESS = 'persona:EmailAddress';
+
+ /**
+ * Identifies the EmailAddresses property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_EMAIL_ADDRESSES = 'persona:EmailAddresses';
+
+ /**
+ * Identifies the Emails1 property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_EMAILS_1 = 'persona:Emails1';
+
+ /**
+ * Identifies the Emails2 property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_EMAILS_2 = 'persona:Emails2';
+
+ /**
+ * Identifies the Emails3 property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_EMAILS_3 = 'persona:Emails3';
+
+ /**
+ * Identifies the ExtendedProperties property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_EXTENDED_PROPERTIES = 'persona:ExtendedProperties';
+
+ /**
+ * Identifies the FileAs property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_FILE_AS = 'persona:FileAs';
+
+ /**
+ * Identifies the FileAsId property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_FILE_AS_ID = 'persona:FileAsId';
+
+ /**
+ * Identifies the FileAsIds property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_FILE_AS_IDS = 'persona:FileAsIds';
+
+ /**
+ * Identifies the FileAses property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_FILE_ASES = 'persona:FileAses';
+
+ /**
+ * Identifies the FolderIds property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_FOLDER_IDS = 'persona:FolderIds';
+
+ /**
+ * Identifies the Generations property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_GENERATIONS = 'persona:Generations';
+
+ /**
+ * Identifies the GivenName property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_GIVEN_NAME = 'persona:GivenName';
+
+ /**
+ * Identifies the GivenNames property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_GIVEN_NAMES = 'persona:GivenNames';
+
+ /**
+ * Identifies the Hobbies property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_HOBBIES = 'persona:Hobbies';
+
+ /**
+ * Identifies the HomeAddresses property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_HOME_ADDRESSES = 'persona:HomeAddresses';
+
+ /**
+ * Identifies the HomeCity property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_HOME_CITY = 'persona:HomeCity';
+
+ /**
+ * Identifies the HomeFaxes property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_HOME_FAXES = 'persona:HomeFaxes';
+
+ /**
+ * Identifies the HomePhones property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_HOME_PHONES = 'persona:HomePhones';
+
+ /**
+ * Identifies the HomePhones2 property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_HOME_PHONES_2 = 'persona:HomePhones2';
+
+ /**
+ * Identifies the PersonaId property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_ID = 'persona:PersonaId';
+
+ /**
+ * Identifies the ImAddress property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_IM_ADDRESS = 'persona:ImAddress';
+
+ /**
+ * Identifies the ImAddresses property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_IM_ADDRESSES = 'persona:ImAddresses';
+
+ /**
+ * Identifies the ImAddresses2 property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_IM_ADDRESSES_2 = 'persona:ImAddresses2';
+
+ /**
+ * Identifies the ImAddresses3 property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_IM_ADDRESSES_3 = 'persona:ImAddresses3';
+
+ /**
+ * Identifies the Initials property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_INITIALS = 'persona:Initials';
+
+ /**
+ * Identifies the Locations property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_LOCATIONS = 'persona:Locations';
+
+ /**
+ * Identifies the Managers property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_MANAGERS = 'persona:Managers';
+
+ /**
+ * Identifies the MiddleNames property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_MIDDLE_NAMES = 'persona:MiddleNames';
+
+ /**
+ * Identifies the MobilePhones property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_MOBILE_PHONES = 'persona:MobilePhones';
+
+ /**
+ * Identifies the MobilePhones2 property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_MOBILE_PHONES_2 = 'persona:MobilePhones2';
+
+ /**
+ * Identifies the Nicknames property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_NICKNAMES = 'persona:Nicknames';
+
+ /**
+ * Identifies the PersonaObjectStatus property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_OBJECT_STATUS = 'persona:PersonaObjectStatus';
+
+ /**
+ * Identifies the OfficeLocations property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_OFFICE_LOCATIONS = 'persona:OfficeLocations';
+
+ /**
+ * Identifies the OrganizationMainPhones property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_ORGANIZATION_MAIN_PHONES = 'persona:OrganizationMainPhones';
+
+ /**
+ * Identifies the OtherAddresses property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_OTHER_ADDRESSES = 'persona:OtherAddresses';
+
+ /**
+ * Identifies the OtherFaxes property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_OTHER_FAXES = 'persona:OtherFaxes';
+
+ /**
+ * Identifies the OtherPhones2 property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_OTHER_PHONES_2 = 'persona:OtherPhones2';
+
+ /**
+ * Identifies the OtherTelephones property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_OTHER_TELEPHONES = 'persona:OtherTelephones';
+
+ /**
+ * Identifies the Pagers property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_PAGERS = 'persona:Pagers';
+
+ /**
+ * Identifies the PersonalHomePages property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_PERSONAL_HOME_PAGES = 'persona:PersonalHomePages';
+
+ /**
+ * Identifies the PhoneNumber property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_PHONE_NUMBER = 'persona:PhoneNumber';
+
+ /**
+ * Identifies the PostalAddress property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_POSTAL_ADDRESS = 'persona:PostalAddress';
+
+ /**
+ * Identifies the Professions property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_PROFESSIONS = 'persona:Professions';
+
+ /**
+ * Identifies the RadioPhones property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_RADIO_PHONES = 'persona:RadioPhones';
+
+ /**
+ * Identifies the RelevanceScore property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_RELEVANCE_SCORE = 'persona:RelevanceScore';
+
+ /**
+ * Identifies the School property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_SCHOOL = 'persona:School';
+
+ /**
+ * Identifies the SpouseNames property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_SPOUSE_NAMES = 'persona:SpouseNames';
+
+ /**
+ * Identifies the Surname property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_SURNAME = 'persona:Surname';
+
+ /**
+ * Identifies the Surnames property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_SURNAMES = 'persona:Surnames';
+
+ /**
+ * Identifies the TelexNumbers property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_TELEX_NUMBERS = 'persona:TelexNumbers';
+
+ /**
+ * Identifies the Title property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_TITLE = 'persona:Title';
+
+ /**
+ * Identifies the Titles property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_TITLES = 'persona:Titles';
+
+ /**
+ * Identifies the PersonaType property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_TYPE = 'persona:PersonaType';
+
+ /**
+ * Identifies the WeddingAnniversaries property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_WEDDING_ANNIVERSARIES = 'persona:WeddingAnniversaries';
+
+ /**
+ * Identifies the WorkCity property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_WORK_CITY = 'persona:WorkCity';
+
+ /**
+ * Identifies the WorkFaxes property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_WORK_FAXES = 'persona:WorkFaxes';
+
+ /**
+ * Identifies the YomiCompanyName property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_YOMI_COMPANY_NAME = 'persona:YomiCompanyName';
+
+ /**
+ * Identifies the YomiCompanyNames property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_YOMI_COMPANY_NAMES = 'persona:YomiCompanyNames';
+
+ /**
+ * Identifies the YomiFirstName property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_YOMI_FIRST_NAME = 'persona:YomiFirstName';
+
+ /**
+ * Identifies the YomiFirstNames property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_YOMI_FIRST_NAMES = 'persona:YomiFirstNames';
+
+ /**
+ * Identifies the YomiLastName property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_YOMI_LAST_NAME = 'persona:YomiLastName';
+
+ /**
+ * Identifies the YomiLastNames property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const PERSONA_YOMI_LAST_NAMES = 'persona:YomiLastNames';
+
+ /**
+ * Identifies the PostedTime property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const POST_ITEM_POSTED_TIME = 'postitem:PostedTime';
+
+ /**
+ * Identifies the ActualWork property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_ACTUAL_WORK = 'task:ActualWork';
+
+ /**
+ * Identifies the AssignedTime property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_ASSIGNED_TIME = 'task:AssignedTime';
+
+ /**
+ * Identifies the BillingInformation property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_BILLING_INFORMATION = 'task:BillingInformation';
+
+ /**
+ * Identifies the ChangeCount property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_CHANGE_COUNT = 'task:ChangeCount';
+
+ /**
+ * Identifies the Companies property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_COMPANIES = 'task:Companies';
+
+ /**
+ * Identifies the CompleteDate property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_COMPLETE_DATE = 'task:CompleteDate';
+
+ /**
+ * Identifies the Contacts property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_CONTACTS = 'task:Contacts';
+
+ /**
+ * Identifies the DelegationState property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_DELEGATION_STATE = 'task:DelegationState';
+
+ /**
+ * Identifies the Delegator property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_DELEGATOR = 'task:Delegator';
+
+ /**
+ * Identifies the DueDate property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_DUE_DATE = 'task:DueDate';
+
+ /**
+ * Identifies the IsAssignmentEditable property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_IS_ASSIGNMENT_EDITABLE = 'task:IsAssignmentEditable';
+
+ /**
+ * Identifies the IsComplete property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_IS_COMPLETE = 'task:IsComplete';
+
+ /**
+ * Identifies the IsRecurring property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_IS_RECURRING = 'task:IsRecurring';
+
+ /**
+ * Identifies the IsTeamTask property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_IS_TEAM_TASK = 'task:IsTeamTask';
+
+ /**
+ * Identifies the Mileage property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_MILEAGE = 'task:Mileage';
+
+ /**
+ * Identifies the Owner property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_OWNER = 'task:Owner';
+
+ /**
+ * Identifies the PercentComplete property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_PERCENT_COMPLETE = 'task:PercentComplete';
+
+ /**
+ * Identifies the Recurrence property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_RECURRENCE = 'task:Recurrence';
+
+ /**
+ * Identifies the StartDate property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_START_DATE = 'task:StartDate';
+
+ /**
+ * Identifies the Status property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_STATUS = 'task:Status';
+
+ /**
+ * Identifies the StatusDescription property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_STATUS_DESCRIPTION = 'task:StatusDescription';
+
+ /**
+ * Identifies the TotalWork property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ const TASK_TOTAL_WORK = 'task:TotalWork';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserConfigurationDictionaryObjectTypesType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserConfigurationDictionaryObjectTypesType.php
new file mode 100644
index 00000000..f026d487
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserConfigurationDictionaryObjectTypesType.php
@@ -0,0 +1,106 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\UserConfigurationDictionaryObjectTypesType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines a dictionary object's type.
+ *
+ * @package php-ews\Enumeration
+ */
+class UserConfigurationDictionaryObjectTypesType extends Enumeration
+{
+ /**
+ * Defines the object's type as a boolean.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const BOOLEAN = 'Boolean';
+
+ /**
+ * Defines the object's type as a byte.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const BYTE = 'Byte';
+
+ /**
+ * Defines the object's type as an array of bytes.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const BYTE_ARRAY = 'ByteArray';
+
+ /**
+ * Defines the object's type as a date and time.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DATE_TIME = 'DateTime';
+
+ /**
+ * Defines the object's type as a 32-bit integer.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ CONST INTEGER_32 = 'Integer32';
+
+ /**
+ * Defines the object's type as a 64-bit integer.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const INTEGER_64 = 'Integer64';
+
+ /**
+ * Defines the object's type as a string.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const STRING = 'String';
+
+ /**
+ * Defines the object's type as an array of strings.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const STRING_ARRAY = 'StringArray';
+
+ /**
+ * Defines the object's type as an unsigned 32-bit integer.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNSIGNED_INTEGER_32 = 'UnsignedInteger32';
+
+ /**
+ * Defines the object's type as an unsigned 64-bit integer.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const UNSIGNED_INTEGER_64 = 'UnsignedInteger64';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserConfigurationPropertyType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserConfigurationPropertyType.php
new file mode 100644
index 00000000..58f6d141
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserConfigurationPropertyType.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\UserConfigurationPropertyType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the property types to get in a GetUserConfiguration operation.
+ *
+ * @package php-ews\Enumeration
+ */
+class UserConfigurationPropertyType extends Enumeration
+{
+ /**
+ * Specifies the identifier, dictionary, XML data, and binary data property
+ * types.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ALL = 'All';
+
+ /**
+ * Specifies binary data property types.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const BINARY_DATA = 'BinaryData';
+
+ /**
+ * Specifies dictionary property types.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const DICTIONARY = 'Dictionary';
+
+ /**
+ * Specifies the identifier property.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const ID = 'Id';
+
+ /**
+ * Specifies XML data property types.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ const XML_DATA = 'XmlData';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserPhotoSizeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserPhotoSizeType.php
new file mode 100644
index 00000000..0c3661de
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserPhotoSizeType.php
@@ -0,0 +1,115 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\UserPhotoSizeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the size of a user's photo being requested.
+ *
+ * @package php-ews\Enumeration
+ */
+class UserPhotoSizeType extends Enumeration
+{
+ /**
+ * The image is 48 pixels high and 48 pixels wide.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const HR48X48 = 'HR48x48';
+
+ /**
+ * The image is 64 pixels high and 64 pixels wide.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const HR64X64 = 'HR64x64';
+
+ /**
+ * The image is 96 pixels high and 96 pixels wide.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const HR96X96 = 'HR96x96';
+
+ /**
+ * The image is 120 pixels high and 120 pixels wide.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const HR120X120 = 'HR120x120';
+
+ /**
+ * The image is 240 pixels high and 240 pixels wide.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const HR240X240 = 'HR240x240';
+
+ /**
+ * The image is 360 pixels high and 360 pixels wide.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const HR360X360 = 'HR360x360';
+
+ /**
+ * The image is 432 pixels high and 432 pixels wide.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const HR432X432 = 'HR432x432';
+
+ /**
+ * The image is 504 pixels high and 504 pixels wide.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const HR504X504 = 'HR504x504';
+
+ /**
+ * The image is 648 pixels high and 648 pixels wide.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const HR648X648 = 'HR648x648';
+
+ /**
+ * The image is 1024 pixels high and 1024 pixels wide.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ */
+ const HR1024XN = 'HR1024xN';
+
+ /**
+ * The image is 1920 pixels high and 1920 pixels wide.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ */
+ const HR1920XN = 'HR1920xN';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserPhotoTypeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserPhotoTypeType.php
new file mode 100644
index 00000000..2477c7ae
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/UserPhotoTypeType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\UserPhotoTypeType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the type of a user photo.
+ *
+ * @package php-ews\Enumeration
+ */
+class UserPhotoTypeType extends Enumeration
+{
+ /**
+ * Identifies a user photo as a profile header photo.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ */
+ const PROFILE_HEADER_PHOTO = 'ProfileHeaderPhoto';
+
+ /**
+ * Identifies a user photo as the user's primary photo.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ */
+ const USER_PHOTO = 'UserPhoto';
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ViewFilterType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ViewFilterType.php
new file mode 100644
index 00000000..06241635
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Enumeration/ViewFilterType.php
@@ -0,0 +1,106 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Enumeration\ViewFilterType.
+ */
+
+namespace jamesiarmes\PhpEws\Enumeration;
+
+use \jamesiarmes\PhpEws\Enumeration;
+
+/**
+ * Defines the view filter type for a FindConversation operation.
+ *
+ * @package php-ews\Enumeration
+ */
+class ViewFilterType extends Enumeration
+{
+ /**
+ * Find all conversations.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const ALL = 'All';
+
+ /**
+ * For internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const CLUTTER = 'Clutter';
+
+ /**
+ * Find flagged conversations.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const FLAGGED = 'Flagged';
+
+ /**
+ * Find conversations with attachments.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const HAS_ATTACHMENT = 'HasAttachment';
+
+ /**
+ * For internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const NO_CLUTTER = 'NoClutter';
+
+ /**
+ * Find active tasks.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TASK_ACTIVE = 'TaskActive';
+
+ /**
+ * Find completed tasks.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TASK_COMPLETED = 'TaskCompleted';
+
+ /**
+ * Find overdue tasks.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TASK_OVERDUE = 'TaskOverdue';
+
+ /**
+ * Find conversations addressed or cc'd to me.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const TO_OR_CC_ME = 'ToOrCcMe';
+
+ /**
+ * Find unread conversations.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ const UNREAD = 'Unread';
+}