summaryrefslogtreecommitdiffstats
path: root/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type')
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteDateTransitionType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteMonthlyRecurrencePatternType.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteYearlyRecurrencePatternType.php38
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AcceptItemType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AcceptSharingInvitationType.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AddressListIdType.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AggregateOnType.php60
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternateIdBaseType.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternateIdType.php47
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternatePublicFolderIdType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternatePublicFolderItemIdType.php24
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AndType.php20
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppMetadata.php163
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppType.php37
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppendToFolderFieldType.php60
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppendToItemFieldType.php105
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentIdType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentResponseShapeType.php65
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentType.php96
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttendeeConflictData.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttendeeType.php49
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseEmailAddressType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseFolderIdType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseFolderType.php103
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseGroupByType.php28
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseItemIdType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseNotificationEventType.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseObjectChangedEventType.php52
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePagingType.php26
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePathToElementType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePermissionType.php92
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseSubscriptionRequestType.php65
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyContentAttributedValueType.php38
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyContentType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarEvent.php66
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarEventDetails.php90
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarFolderType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarItemType.php447
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarPermissionSetType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarPermissionType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarViewType.php55
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CancelCalendarItemType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ChangeDescriptionType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ClientAccessTokenRequestType.php45
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ClientAccessTokenType.php54
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CompleteNameType.php108
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConflictResultsType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConnectingSIDType.php67
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConstantValueType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactItemType.php413
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactsFolderType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactsViewType.php51
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContainsExpressionType.php46
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContextPropertyType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationActionType.php131
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationNodeType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationResponseType.php54
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationShape.php37
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationType.php310
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CreateRuleOperationType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DailyRecurrencePatternType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DailyRegeneratingPatternType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeclineItemType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DelegatePermissionsType.php82
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DelegateUserType.php55
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteFolderFieldType.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteItemFieldType.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteRuleOperationType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeletedOccurrenceInfoType.php28
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DirectoryEntryType.php26
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DiscoverySearchConfigurationType.php73
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistinguishedFolderIdType.php51
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistinguishedGroupByType.php26
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistributionListType.php53
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/Duration.php38
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EffectiveRightsType.php86
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressAttributedValueType.php35
-rwxr-xr-xmodules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressDictionaryEntryType.php76
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressDictionaryType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressType.php64
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EncryptedSharedFolderDataType.php40
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EndDateRecurrenceRangeType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExchangeImpersonationType.php26
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExcludesType.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExcludesValueType.php40
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExistsType.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedAttributeType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedPropertyAttributedValueType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedPropertyType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FailedSearchMailboxType.php52
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FieldOrderType.php55
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FieldURIOrConstantType.php24
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FileAttachmentType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindFolderParentType.php77
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindItemParentType.php88
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindMessageTrackingSearchResultType.php103
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderChangeDescriptionType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderChangeType.php45
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderIdType.php39
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderResponseShapeType.php39
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderType.php32
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ForwardItemType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FractionalPageViewType.php41
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyResponseType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyView.php57
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyViewOptionsType.php46
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupAttendeeConflictData.php64
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupByType.php51
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupedItemsType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImAddressDictionaryEntryType.php39
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImAddressDictionaryType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImGroupType.php74
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImItemListType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IndexedPageViewType.php48
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IndividualAttendeeConflictData.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InstalledAppType.php173
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InternetHeaderType.php37
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IntervalRecurrencePatternBaseType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InvalidRecipientType.php53
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsEqualToType.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsGreaterThanOrEqualToType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsGreaterThanType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsLessThanOrEqualToType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsLessThanType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsNotEqualToType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemAttachmentType.php104
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemChangeDescriptionType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemChangeType.php66
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemIdType.php47
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemResponseShapeType.php77
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemType.php443
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/KeywordStatisticsSearchResultType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailTips.php120
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailTipsServiceConfiguration.php85
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxData.php49
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxHoldResultType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxHoldStatusType.php45
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxQueryType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxSearchScopeType.php45
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxStatisticsSearchResultType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ManagedFolderInformationType.php108
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingCancellationMessageType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingMessageType.php94
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingRequestMessageType.php423
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingResponseMessageType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MemberType.php51
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MembersListType.php28
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MessageTrackingReportType.php82
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MessageType.php148
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MimeContentType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ModifiedEventType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MonthlyRegeneratingPatternType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MovedCopiedEventType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MultipleOperandBooleanExpressionType.php143
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NoEndRecurrenceRangeType.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemDetailResultType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemDetailType.php102
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemStatisticType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NotType.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NotificationType.php120
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NumberedRecurrenceRangeType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrenceInfoType.php62
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrenceItemIdType.php50
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrencesRangeType.php57
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OpenAsAdminOrSystemServiceType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OrType.php20
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OutOfOfficeMailTip.php37
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToExtendedFieldType.php134
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToIndexedFieldType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToUnindexedFieldType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PeriodType.php45
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PermissionSetType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PermissionType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaAttributionType.php85
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaPhoneNumberType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaPostalAddressType.php158
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaResponseShapeType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaType.php972
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneCallIdType.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneCallInformationType.php64
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberAttributedValueType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberDictionaryEntryType.php39
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberDictionaryType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhysicalAddressDictionaryEntryType.php75
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhysicalAddressDictionaryType.php26
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostItemType.php99
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostReplyItemBaseType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostReplyItemType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostalAddressAttributedValueType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PreviewItemMailboxType.php37
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PreviewItemResponseShapeType.php37
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PrivateCatalogAddInsType.php53
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProposeNewTimeType.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleActionType.php40
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleAndType.php65
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleArgumentType.php26
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleConditionType.php69
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleRecipientIsType.php26
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleSenderDepartmentsType.php26
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleType.php69
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRulesServiceConfiguration.php50
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PullSubscriptionRequestType.php26
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PushSubscriptionRequestType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/QueryStringType.php56
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecipientTrackingEventType.php130
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrencePatternBaseType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrenceRangeBaseType.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrenceType.php113
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringDateTransitionType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringDayTransitionType.php37
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringMasterItemIdRanges.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringMasterItemIdType.php41
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringTimeTransitionType.php33
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReferenceItemResponseType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RegeneratingPatternBaseType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RelativeMonthlyRecurrencePatternType.php38
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RelativeYearlyRecurrencePatternType.php48
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReminderItemActionType.php49
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReminderType.php105
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RemoveItemType.php19
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyAllToItemType.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyBody.php37
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyToItemType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RequestAttachmentIdType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RequestServerVersion.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResolutionType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResponseObjectCoreType.php26
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResponseObjectType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RestrictionType.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RetentionPolicyTagType.php101
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RoomType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RootItemIdType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleActionsType.php140
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleOperationErrorType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleOperationType.php13
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicateDateRangeType.php41
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicateSizeRangeType.php37
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicatesType.php369
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleType.php100
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleValidationErrorType.php58
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchExpressionType.php45
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchFolderType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchMailboxesResultType.php117
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchParametersType.php47
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchPreviewItemType.php221
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchableMailboxType.php81
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SeekToConditionPageViewType.php53
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SendNotificationResultType.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializableTimeZone.php54
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializableTimeZoneTime.php97
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializedSecurityContextType.php54
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ServerVersionInfo.php61
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ServiceConfiguration.php19
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetFolderFieldType.php60
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetItemFieldType.php114
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetRuleOperationType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SidAndAttributesType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SingleRecipientType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmartResponseBaseType.php122
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmartResponseType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmtpDomain.php39
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmtpDomainList.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StreamingSubscriptionRequest.php48
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StringArrayAttributedValueType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StringAttributedValueType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StringType.php23
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/Suggestion.php58
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SuggestionDayResult.php48
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SuggestionsResponseType.php35
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SuggestionsViewOptionsType.php100
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SuppressReadReceiptType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderHierarchyChangesType.php45
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderHierarchyCreateOrUpdateType.php61
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderHierarchyDeleteType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderItemsChangesType.php57
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderItemsCreateOrUpdateType.php115
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderItemsDeleteType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SyncFolderItemsReadFlagType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TargetFolderIdType.php43
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TaskRecurrenceType.php57
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TaskType.php243
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TasksFolderType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TentativelyAcceptItemType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TimeChangeType.php71
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TimeZoneContextType.php27
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TimeZoneDefinitionType.php62
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TimeZoneType.php54
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TooBigGroupAttendeeConflictData.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TrackingPropertyType.php37
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TransitionTargetType.php28
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TransitionType.php28
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/TwoOperandExpressionType.php24
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UnifiedMessageServiceConfiguration.php48
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UnknownAttendeeConflictData.php17
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UploadItemType.php73
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserConfigurationDictionaryEntryType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserConfigurationDictionaryObjectType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserConfigurationDictionaryType.php25
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserConfigurationNameType.php26
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserConfigurationType.php68
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserIdType.php67
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserMailboxType.php34
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/UserOofSettings.php71
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/WeeklyRecurrencePatternType.php36
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/WeeklyRegeneratingPatternType.php16
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/WellKnownResponseObjectType.php18
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/WorkingHours.php42
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/WorkingPeriod.php45
-rw-r--r--modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/YearlyRegeneratingPatternType.php16
310 files changed, 17804 insertions, 0 deletions
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteDateTransitionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteDateTransitionType.php
new file mode 100644
index 00000000..fb06c47b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteDateTransitionType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AbsoluteDateTransitionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a time zone transition that occurs on a specific date and at a
+ * specific time.
+ *
+ * @package php-ews\Type
+ */
+class AbsoluteDateTransitionType extends TransitionType
+{
+ /**
+ * Represents the date and time at which the time zone transition occurs.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $DateTime;
+
+ /**
+ * Specifies the Period or TransitionsGroup that is the target of the time
+ * zone transition.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\TransitionTargetType
+ */
+ public $To;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteMonthlyRecurrencePatternType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteMonthlyRecurrencePatternType.php
new file mode 100644
index 00000000..f11dfc3b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteMonthlyRecurrencePatternType.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AbsoluteMonthlyRecurrencePatternType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a monthly recurrence pattern.
+ *
+ * @package php-ews\Type
+ */
+class AbsoluteMonthlyRecurrencePatternType extends IntervalRecurrencePatternBaseType
+{
+ /**
+ * Describes the day in a month that a recurring item occurs.
+ *
+ * The range of values for this property is 1 to 31. If for a particular
+ * month this value is larger than the number of days in the month, the last
+ * day of the month is assumed for this property.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $DayOfMonth;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteYearlyRecurrencePatternType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteYearlyRecurrencePatternType.php
new file mode 100644
index 00000000..94d1b0a7
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AbsoluteYearlyRecurrencePatternType.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AbsoluteYearlyRecurrencePatternType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a yearly recurrence pattern.
+ *
+ * @package php-ews\Type
+ */
+class AbsoluteYearlyRecurrencePatternType extends RecurrencePatternBaseType
+{
+ /**
+ * Describes the day in a month on which a recurring item occurs.
+ *
+ * The range of values for this property is 1 to 31. If for a particular
+ * month this value is larger than the number of days in the month, the last
+ * day of the month is assumed for this property.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $DayOfMonth;
+
+ /**
+ * Describes the month in which a yearly recurring item occurs.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MonthNamesType
+ */
+ public $Month;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AcceptItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AcceptItemType.php
new file mode 100644
index 00000000..b0c038dd
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AcceptItemType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AcceptItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an Accept reply to a meeting request.
+ *
+ * @package php-ews\Type
+ */
+class AcceptItemType extends WellKnownResponseObjectType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AcceptSharingInvitationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AcceptSharingInvitationType.php
new file mode 100644
index 00000000..891e0729
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AcceptSharingInvitationType.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AcceptSharingInvitationType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Used to accept an invitation that allows access to another user’s calendar or
+ * contacts data.
+ *
+ * @package php-ews\Type
+ */
+class AcceptSharingInvitationType extends ReferenceItemResponseType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AddressListIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AddressListIdType.php
new file mode 100644
index 00000000..311f6b16
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AddressListIdType.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AddressListIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the identifier of an address list.
+ *
+ * @package php-ews\Type
+ */
+class AddressListIdType extends Type
+{
+ /**
+ * A string address list identifier.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Id;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AggregateOnType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AggregateOnType.php
new file mode 100644
index 00000000..15edfafd
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AggregateOnType.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AggregateOnType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the property that is used to determine the order of grouped items
+ * for a grouped FindItem result set.
+ *
+ * @package php-ews\Type
+ */
+class AggregateOnType extends Type
+{
+ /**
+ * Indicates the maximum or minimum value of the property identified by the
+ * FieldURI element that is used for ordering the groups of items.
+ *
+ * The following are the possible values:
+ * - Minimum
+ * - Maximum
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\AggregateType
+ */
+ public $Aggregate;
+
+ /**
+ * Identifies extended MAPI properties to get, set, or create.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToExtendedFieldType
+ */
+ public $ExtendedFieldURI;
+
+ /**
+ * Identifies frequently referenced properties by URI.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToUnindexedFieldType
+ */
+ public $FieldURI;
+
+ /**
+ * Identifies individual members of a dictionary.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToIndexedFieldType
+ */
+ public $IndexedFieldURI;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternateIdBaseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternateIdBaseType.php
new file mode 100644
index 00000000..dda8a832
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternateIdBaseType.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AlternateIdBaseType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for alternate id types.
+ *
+ * @package php-ews\Type
+ */
+abstract class AlternateIdBaseType extends Type
+{
+ /**
+ * Describes the source or destination format in a request.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\IdFormatType
+ */
+ public $Format;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternateIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternateIdType.php
new file mode 100644
index 00000000..8a5564a2
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternateIdType.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AlternateIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes an identifier to convert in a request and the results of a
+ * converted identifier in the response.
+ *
+ * @package php-ews\Type
+ */
+class AlternateIdType extends AlternateIdBaseType
+{
+ /**
+ * Describes the source identifier in a ConvertId Operation request and
+ * describes the destination identifier in a ConvertId Operation response.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ public $Id;
+
+ /**
+ * Indicates whether the identifier represents an archived item or folder.
+ *
+ * A value of true indicates that the identifier represents an archived item
+ * or folder. This attribute is optional.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var boolean
+ */
+ public $IsArchive;
+
+ /**
+ * Describes the mailbox primary Simple Mail Transfer Protocol (SMTP)
+ * address that contains the identifiers to translate.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ public $Mailbox;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternatePublicFolderIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternatePublicFolderIdType.php
new file mode 100644
index 00000000..96a5c01c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternatePublicFolderIdType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AlternatePublicFolderIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes a public folder identifier to convert to another identifier format.
+ *
+ * @package php-ews\Type
+ */
+class AlternatePublicFolderIdType extends AlternateIdBaseType
+{
+ /**
+ * Contains the public folder identifier to convert.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ public $FolderId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternatePublicFolderItemIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternatePublicFolderItemIdType.php
new file mode 100644
index 00000000..68236698
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AlternatePublicFolderItemIdType.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AlternatePublicFolderItemIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes a public folder item identifier to convert to another identifier
+ * format.
+ *
+ * @package php-ews\Type
+ */
+class AlternatePublicFolderItemIdType extends AlternatePublicFolderIdType
+{
+ /**
+ * Identifier the public folder item to convert.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ public $ItemId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AndType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AndType.php
new file mode 100644
index 00000000..5e47b401
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AndType.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AndType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search expression that allows you to perform a Boolean AND
+ * operation between two or more search expressions.
+ *
+ * The result of the AND operation is true if all the search expressions
+ * contained within the And element are true.
+ *
+ * @package php-ews\Type
+ */
+class AndType extends MultipleOperandBooleanExpressionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppMetadata.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppMetadata.php
new file mode 100644
index 00000000..67402b14
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppMetadata.php
@@ -0,0 +1,163 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AppMetadata.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines metadata about a mail app.
+ *
+ * @package php-ews\Type
+ */
+class AppMetadata extends Type
+{
+ /**
+ * Identifies the URL that the user should navigate to, in order to fix an
+ * issue indicated by the AppStatus element.
+ *
+ * @since Exchange 2013 SP1
+ *
+ * @var string
+ */
+ public $ActionUrl;
+
+ /**
+ * Indicates the status of the mail app.
+ *
+ * Possible values:
+ * - Null or 0: The mail app has a healthy status.
+ * - 1.0: The mail app could not be automatically updated. The mail ap
+ * needs to be re-installed from the Office Store.
+ * - 1.1: The mail app could not be automatically updated. The mail app
+ * requires increased permissions, and this requires your review and
+ * confirmation to install.
+ * - 1.2: The mail app couldn't be updated automatically. The current
+ * license has expired or is invalid. Please update the mail app from the
+ * Office Store.
+ * - 2.0: The mail app license could not be automatically updated. The
+ * license for the mail app needs to be recovered from the Office Store.
+ * - 2.1: The mail app license could not be automatically updated. The
+ * current license has expired. A new license for this app needs to be
+ * installed from the Office Store.
+ * - 3.0: The Office Store status for the mail app has changed. This may
+ * indicate that there is a problem with the mail app. Go to the mail app
+ * page in the Office Store for more information.
+ * - 3.1: The mail app has been removed from the Office Store.
+ * - 3.2: A problem has been discovered with the mail app and it has
+ * temporarily been withdrawn from the Office Store.
+ * - 3.3: The mail app will be removed from the Office Store within 30 days.
+ * - 4.0: The mail app has been automatically disabled by your mail client.
+ * - 4.1: The mail app has been disabled by Outlook for performance reasons.
+ *
+ * @since Exchange 2013 SP1
+ *
+ * @var string
+ */
+ public $AppStatus;
+
+ /**
+ * The consent state of the extension.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ */
+ public $ConsentState;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var boolean
+ *
+ * @todo Update once documentation exists.
+ */
+ public $EnabledStatus;
+
+ /**
+ * Specifies the URL for the mail app in the Office Store.
+ *
+ * @since Exchange 2013 SP1
+ *
+ * @var string
+ */
+ public $EndNodeUrl;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $ExtensionType;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $InstalledBy;
+
+ /**
+ * Whether or not the extension is mandatory.
+ *
+ * @since Exchange 2016
+ *
+ * @var boolean
+ */
+ public $IsMandatory;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $LicenseStatus;
+
+ /**
+ * The asset id of the addin in the marketplace
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ */
+ public $MarketplaceAssetId;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $ProductId;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ * @todo Make a DateTime object.
+ */
+ public $TrialExpirationDate;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppType.php
new file mode 100644
index 00000000..d07f774b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppType.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AppType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines information about an XML manifest file for a mail app that is
+ * installed in a mailbox.
+ *
+ * @package php-ews\Type
+ */
+class AppType extends Type
+{
+ /**
+ * Contains the base64-encoded app manifest file.
+ *
+ * @since Exchange 2013 SP1
+ *
+ * @var string
+ *
+ * @todo Create a base64 class?
+ */
+ public $Manifest;
+
+ /**
+ * Contains metadata about the mail app.
+ *
+ * @since Exchange 2013 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\AppMetadata
+ */
+ public $Metadata;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppendToFolderFieldType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppendToFolderFieldType.php
new file mode 100644
index 00000000..79b954b2
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppendToFolderFieldType.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AppendToFolderFieldType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * This type element is not implemented. Any request that uses this type will
+ * always return an error response.
+ *
+ * @package php-ews\Type
+ */
+class AppendToFolderFieldType extends FolderChangeDescriptionType
+{
+ /**
+ * Represents a folder that primarily contains calendar items.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\CalendarFolderType
+ */
+ public $CalendarFolder;
+
+ /**
+ * Represents a Contacts folder in a mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ContactsFolderType
+ */
+ public $ContactsFolder;
+
+ /**
+ * Identifies a folder to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\FolderType
+ */
+ public $Folder;
+
+ /**
+ * Represents a search folder that is contained in a mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\SearchFolderType
+ */
+ public $SearchFolder;
+
+ /**
+ * Represents a Tasks folder that is contained in a mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\TasksFolderType
+ */
+ public $TasksFolder;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppendToItemFieldType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppendToItemFieldType.php
new file mode 100644
index 00000000..66315a08
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AppendToItemFieldType.php
@@ -0,0 +1,105 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AppendToItemFieldType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies data to append to a single property of an item during an
+ * UpdateItem operation.
+ *
+ * @package php-ews\Type
+ */
+class AppendToItemFieldType extends ItemChangeDescriptionType
+{
+ /**
+ * Represents an Exchange calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\CalendarItemType
+ */
+ public $CalendarItem;
+
+ /**
+ * Represents an Exchange contact item.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ContactItemType
+ */
+ public $Contact;
+
+ /**
+ * Represents a distribution list.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\DistributionListType
+ */
+ public $DistributionList;
+
+ /**
+ * Represents an item in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemType
+ */
+ public $Item;
+
+ /**
+ * Represents a meeting cancellation in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingCancellationMessageType
+ */
+ public $MeetingCancellation;
+
+ /**
+ * Represents a meeting in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingMessageType
+ */
+ public $MeetingMessage;
+
+ /**
+ * Represents a meeting request in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingRequestMessageType
+ */
+ public $MeetingRequest;
+
+ /**
+ * Represents a meeting response in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingResponseMessageType
+ */
+ public $MeetingResponse;
+
+ /**
+ * Represents an Exchange e-mail message.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MessageType
+ */
+ public $Message;
+
+ /**
+ * Represents a task in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\TaskType
+ */
+ public $Task;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentIdType.php
new file mode 100644
index 00000000..7b74239b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentIdType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AttachmentIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies an item or file attachment.
+ *
+ * @package php-ews\Type
+ */
+class AttachmentIdType extends RequestAttachmentIdType
+{
+ /**
+ * Identifies the unique identifier of the root store item to which the
+ * attachment is attached.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $RootItemChangeKey;
+
+ /**
+ * Identifies the change key of the root store item to which the attachment
+ * is attached.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $RootItemId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentResponseShapeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentResponseShapeType.php
new file mode 100644
index 00000000..bf338ddb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentResponseShapeType.php
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AttachmentResponseShapeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents additional properties to return in a response to a GetAttachment
+ * request.
+ *
+ * @package php-ews\Type
+ */
+class AttachmentResponseShapeType extends Type
+{
+ /**
+ * Identifies additional properties to return in a response.
+ *
+ * This element is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfPathsToElementType
+ */
+ public $AdditionalProperties;
+
+ /**
+ * Identifies how the body text is formatted in the response.
+ *
+ * This element is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\BodyTypeResponseType
+ */
+ public $BodyType;
+
+ /**
+ * Specifies whether potentially unsafe HTML content is filtered from an
+ * attachment.
+ *
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $FilterHtmlContent;
+
+ /**
+ * Specifies whether the Multipurpose Internet Mail Extensions (MIME)
+ * content of an item or attachment is returned in the response.
+ *
+ * This element is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IncludeMimeContent;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentType.php
new file mode 100644
index 00000000..714ffc1d
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttachmentType.php
@@ -0,0 +1,96 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AttachmentType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an Exchange attachment.
+ *
+ * @package php-ews\Type
+ */
+class AttachmentType extends Type
+{
+ /**
+ * Identifies the file attachment.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\AttachmentIdType
+ */
+ public $AttachmentId;
+
+ /**
+ * Represents an identifier for the contents of an attachment. ContentId can
+ * be set to any string value. Applications can use ContentId to implement
+ * their own identification mechanisms.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ContentId;
+
+ /**
+ * Contains the Uniform Resource Identifier (URI) that corresponds to the
+ * location of the content of the attachment.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ContentLocation;
+
+ /**
+ * Describes the Multipurpose Internet Mail Extensions (MIME) type of the
+ * attachment content.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ContentType;
+
+ /**
+ * Represents whether the attachment appears inline within an item.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsInline;
+
+ /**
+ * Represents when the file attachment was last modified.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $LastModifiedTime;
+
+ /**
+ * Represents the name of the attachment.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Name;
+
+ /**
+ * Represents the size in bytes of the file attachment.
+ *
+ * This property is read-only.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $Size;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttendeeConflictData.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttendeeConflictData.php
new file mode 100644
index 00000000..8e260105
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttendeeConflictData.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AttendeeConflictData.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an attendee that has conflicting data.
+ *
+ * @package php-ews\Type
+ */
+abstract class AttendeeConflictData extends Type
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttendeeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttendeeType.php
new file mode 100644
index 00000000..9974c14b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/AttendeeType.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AttendeeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents attendees and resources for a meeting.
+ *
+ * @package php-ews\Type
+ */
+class AttendeeType extends Type
+{
+ /**
+ * Represents the date and time of the latest response that is received.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $LastResponseTime;
+
+ /**
+ * Identifies a fully resolved e-mail address.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $Mailbox;
+
+ /**
+ * Represents the type of recipient response that is received for a meeting.
+ *
+ * This property is only relevant to a meeting organizer's calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ResponseTypeType
+ */
+ public $ResponseType;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseEmailAddressType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseEmailAddressType.php
new file mode 100644
index 00000000..6b7480d6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseEmailAddressType.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BaseEmailAddressType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for email address types.
+ *
+ * @package php-ews\Type
+ */
+abstract class BaseEmailAddressType extends Type
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseFolderIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseFolderIdType.php
new file mode 100644
index 00000000..5e524ced
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseFolderIdType.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BaseFolderIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base type for item identifiers.
+ *
+ * @package php-ews\Type
+ */
+abstract class BaseFolderIdType extends Type
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseFolderType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseFolderType.php
new file mode 100644
index 00000000..13f79e68
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseFolderType.php
@@ -0,0 +1,103 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BaseFolderType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for folder types.
+ *
+ * @package php-ews\Type
+ */
+abstract class BaseFolderType extends Type
+{
+ /**
+ * Represents the number of child folders that are contained within a
+ * folder.
+ *
+ * This property is read-only.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $ChildFolderCount;
+
+ /**
+ * Contains the display name of a folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $DisplayName;
+
+ /**
+ * Contains the client's rights based on the permission settings for the
+ * item or folder.
+ *
+ * This element is read-only.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\EffectiveRightsType
+ */
+ public $EffectiveRights;
+
+ /**
+ * Identifies extended properties on folders.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ExtendedPropertyType
+ */
+ public $ExtendedProperty;
+
+ /**
+ * Represents the folder class for a given folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $FolderClass;
+
+ /**
+ * Contains the identifier and change key of a folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\FolderIdType
+ */
+ public $FolderId;
+
+ /**
+ * Contains information about a managed folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ManagedFolderInformationType
+ */
+ public $ManagedFolderInformation;
+
+ /**
+ * Represents the identifier of the parent folder that contains the folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\FolderIdType
+ */
+ public $ParentFolderId;
+
+ /**
+ * Represents the total count of items within a given folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $TotalCount;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseGroupByType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseGroupByType.php
new file mode 100644
index 00000000..55b96c85
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseGroupByType.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BaseGroupByType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for item ordering.
+ *
+ * @package php-ews\Type
+ */
+abstract class BaseGroupByType extends Type
+{
+ /**
+ * Determines the order of the groups in the grouped item array that is
+ * returned in the response.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\SortDirectionType
+ */
+ public $Order;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseItemIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseItemIdType.php
new file mode 100644
index 00000000..bb70fb29
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseItemIdType.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BaseItemIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base type for item identifiers.
+ *
+ * @package php-ews\Type
+ */
+abstract class BaseItemIdType extends Type
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseNotificationEventType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseNotificationEventType.php
new file mode 100644
index 00000000..586d9c24
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseNotificationEventType.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BaseNotificationEventType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a notification that no new activity has occurred in the mailbox.
+ *
+ * @package php-ews\Type
+ */
+class BaseNotificationEventType extends Type
+{
+ /**
+ * Represents the last valid watermark for a subscription.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Determine if we need a WatermarkType.
+ */
+ public $Watermark;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseObjectChangedEventType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseObjectChangedEventType.php
new file mode 100644
index 00000000..804f0139
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseObjectChangedEventType.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BaseObjectChangedEventType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an event in which an item or folder is created.
+ *
+ * @package php-ews\Type
+ */
+class BaseObjectChangedEventType extends BaseNotificationEventType
+{
+ /**
+ * Represents the identifier of the folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\FolderIdType
+ */
+ public $FolderId;
+
+ /**
+ * Represents the identifier of the item.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ItemId;
+
+ /**
+ * Represents the identifier of the folder that contains the copy.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\FolderIdType
+ */
+ public $ParentFolderId;
+
+ /**
+ * Represents the timestamp of a copy item/folder mailbox event.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $TimeStamp;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePagingType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePagingType.php
new file mode 100644
index 00000000..345ef47e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePagingType.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BasePagingType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for defining how results should be paged.
+ *
+ * @package php-ews\Type
+ */
+abstract class BasePagingType extends Type
+{
+ /**
+ * Describes the maximum number of items or conversations to return in the
+ * response.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $MaxEntriesReturned;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePathToElementType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePathToElementType.php
new file mode 100644
index 00000000..3344f40e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePathToElementType.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\AcceptItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for a path to an element.
+ *
+ * @package php-ews\Type
+ */
+abstract class BasePathToElementType extends Type
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePermissionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePermissionType.php
new file mode 100644
index 00000000..520928c3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BasePermissionType.php
@@ -0,0 +1,92 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BasePermissionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for permission types.
+ *
+ * @package php-ews\Type
+ */
+abstract class BasePermissionType extends Type
+{
+ /**
+ * Indicates whether a user has permission to create items in a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $CanCreateItems;
+
+ /**
+ * Indicates whether a user has permission to create subfolders in a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $CanCreateSubFolders;
+
+ /**
+ * Indicates whether a user has permission to delete items in a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\PermissionActionType
+ */
+ public $DeleteItems;
+
+ /**
+ * Indicates whether a user has permission to edit items in a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\PermissionActionType
+ */
+ public $EditItems;
+
+ /**
+ * Indicates whether a user is a contact for a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $IsFolderContact;
+
+ /**
+ * Indicates whether a user is the owner of a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $IsFolderOwner;
+
+ /**
+ * Indicates whether a user can view a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $IsFolderVisible;
+
+ /**
+ * Identifies a delegate user or a user who has folders access permissions.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\UserIdType
+ */
+ public $UserId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseSubscriptionRequestType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseSubscriptionRequestType.php
new file mode 100644
index 00000000..be987dd9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BaseSubscriptionRequestType.php
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BaseSubscriptionRequestType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for subscription requests.
+ *
+ * @package php-ews\Type
+ */
+abstract class BaseSubscriptionRequestType extends Type
+{
+ /**
+ * Contains a collection of event notifications that are used to create a
+ * subscription.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfNotificationEventTypesType
+ */
+ public $EventTypes;
+
+ /**
+ * Contains an array of folder identifiers that are used to identify folders
+ * to monitor for event notifications.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfBaseFolderIdsType
+ */
+ public $FolderIds;
+
+ /**
+ * Indicates whether to subscribe to all available folders.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $SubscribeToAllFolders;
+
+ /**
+ * Represents an event bookmark in the mailbox events table.
+ *
+ * This is used to create a subscription starting at an event represented by
+ * the watermark.
+ *
+ * If the watermark from a Subscribe request is not found, an error response
+ * will be returned to the client. This may occur if the watermark is older
+ * than 30 days or if the watermark was never present in the mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Determine if we need a WatermarkType.
+ */
+ public $Watermark;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyContentAttributedValueType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyContentAttributedValueType.php
new file mode 100644
index 00000000..edf39575
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyContentAttributedValueType.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BodyContentAttributedValueType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the body content of an item.
+ *
+ * @package php-ews\Type
+ */
+class BodyContentAttributedValueType extends Type
+{
+ /**
+ * Specifies an array of attribution information for one or more of the
+ * contacts or active directory recipients aggregated into the associated
+ * persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPersonaAttributionsType
+ */
+ public $Attributions;
+
+ /**
+ * Specifies the value of a BodyContentAttributedValue element.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\BodyTypeResponseType
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyContentType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyContentType.php
new file mode 100644
index 00000000..b637f884
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyContentType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BodyContentType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the value of a BodyContentAttributedValue element.
+ *
+ * @package php-ews\Type
+ */
+class BodyContentType extends Type
+{
+ /**
+ * Identifies how the body text is formatted.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\BodyTypeResponseType
+ */
+ public $BodyType;
+
+ /**
+ * Contains the value of the body content.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyType.php
new file mode 100644
index 00000000..4af49a1f
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/BodyType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\BodyType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Specifies the body of an item.
+ *
+ * @package php-ews\Type
+ */
+class BodyType extends StringType
+{
+ /**
+ * Specifies the type of the body.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\BodyTypeType
+ */
+ public $BodyType;
+
+ /**
+ * Boolean value that indicates whether the body is truncated.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsTruncated;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarEvent.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarEvent.php
new file mode 100644
index 00000000..c9281c11
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarEvent.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\CalendarEvent.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a unique calendar item occurrence.
+ *
+ * @package php-ews\Type
+ */
+class CalendarEvent extends Type
+{
+ /**
+ * Represents the start of a calendar event.
+ *
+ * This property is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $StartTime;
+
+ /**
+ * Represents the end of a calendar event.
+ *
+ * This property is required,
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $EndTime;
+
+ /**
+ * Represents the free/busy status set for a calendar event.
+ *
+ * This property is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\LegacyFreeBusyType
+ */
+ public $BusyType;
+
+ /**
+ * Provides additional information for a calendar event.
+ *
+ * This property is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\CalendarEventDetails
+ */
+ public $CalendarEventDetails;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarEventDetails.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarEventDetails.php
new file mode 100644
index 00000000..94a864d2
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarEventDetails.php
@@ -0,0 +1,90 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\CalendarEventDetails.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents additional information about a calendar event.
+ *
+ * @package php-ews\Type
+ */
+class CalendarEventDetails extends Type
+{
+ /**
+ * Represents the entry ID of the calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ID;
+
+ /**
+ * Indicates whether an instance of a recurring calendar item is changed
+ * from the master.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsException;
+
+ /**
+ * Indicates whether the calendar event is a meeting or an appointment.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsMeeting;
+
+ /**
+ * Indicates whether the calendar item is private.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsPrivate;
+
+ /**
+ * Indicates whether the calendar event is an instance of a recurring
+ * calendar item or a single calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsRecurring;
+
+ /**
+ * Indicates whether a reminder has been set for the calendar event.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsReminderSet;
+
+ /**
+ * Represents the location field of the calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Location;
+
+ /**
+ * Represents the subject of the calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Subject;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarFolderType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarFolderType.php
new file mode 100644
index 00000000..75788398
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarFolderType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\CalendarFolderType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a folder that primarily contains calendar items.
+ *
+ * @package php-ews\Type
+ */
+class CalendarFolderType extends BaseFolderType
+{
+ /**
+ * Contains all the configured permissions for a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\CalendarPermissionSetType
+ */
+ public $PermissionSet;
+
+ /**
+ * Indicates the permissions that the user has for the calendar data that is
+ * being shared.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\CalendarPermissionReadAccessType
+ */
+ public $SharingEffectiveRights;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarItemType.php
new file mode 100644
index 00000000..0eef5324
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarItemType.php
@@ -0,0 +1,447 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\CalendarItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an Exchange calendar item.
+ *
+ * @package php-ews\Type
+ */
+class CalendarItemType extends ItemType
+{
+ /**
+ * Represents the total number of calendar items that are adjacent to a
+ * meeting time.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $AdjacentMeetingCount;
+
+ /**
+ * Describes all calendar items that are adjacent to a meeting time.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAllItemsType
+ */
+ public $AdjacentMeetings;
+
+ /**
+ * Indicates whether a new meeting time can be proposed for a meeting by an
+ * attendee.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $AllowNewTimeProposal;
+
+ /**
+ * Represents the date and time when an attendee replied to a meeting
+ * request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $AppointmentReplyTime;
+
+ /**
+ * Specifies the sequence number of a version of an appointment.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $AppointmentSequenceNumber;
+
+ /**
+ * Specifies the status of the appointment.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\AppointmentState
+ */
+ public $AppointmentState;
+
+ /**
+ * Represents the occurrence type of a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\CalendarItemTypeType
+ */
+ public $CalendarItemType;
+
+ /**
+ * Describes the type of conferencing that is performed with a calendar
+ * item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ConferenceType
+ */
+ public $ConferenceType;
+
+ /**
+ * Represents the number of meetings that conflict with the calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $ConflictingMeetingCount;
+
+ /**
+ * Identifies all items that conflict with a meeting time.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAllItemsType
+ */
+ public $ConflictingMeetings;
+
+ /**
+ * Indicates the date and time that an instance of a iCalendar object was
+ * created.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $DateTimeStamp;
+
+ /**
+ * Contains an array of deleted occurrences of a recurring calendar item.
+ *
+ * This element is valid if CalendarItemType has the RecurringMaster value.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfDeletedOccurrencesType
+ */
+ public $DeletedOccurrences;
+
+ /**
+ * Represents the duration of a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Duration;
+
+ /**
+ * Represents the end of a duration.
+ *
+ * This element only applies to a single occurrence of a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $End;
+
+ /**
+ * Represents the end time zone of the calendar item.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\TimeZoneDefinitionType
+ */
+ public $EndTimeZone;
+
+ /**
+ * Represents the first occurrence of a recurring calendar item.
+ *
+ * This element is valid if CalendarItemType has the RecurringMaster value.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\TimeZoneDefinitionType
+ */
+ public $FirstOccurrence;
+
+ /**
+ * Indicates whether a calendar item or meeting request represents an
+ * all-day event.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsAllDayEvent;
+
+ /**
+ * Indicates whether an appointment or meeting has been canceled.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsCancelled;
+
+ /**
+ * Indicates whether the calendar item is a meeting or appointment.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsMeeting;
+
+ /**
+ * Indicates whether the meeting is online.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsOnlineMeeting;
+
+ /**
+ * Indicates whether a calendar item is part of a recurring item.
+ *
+ * This element is read-only.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsRecurring;
+
+ /**
+ * Indicates whether a response to an item is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsResponseRequested;
+
+ /**
+ * Represents the last occurrence of a recurring calendar item.
+ *
+ * This element is valid if CalendarItemType has the RecurringMaster value.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\OccurrenceInfoType
+ */
+ public $LastOccurrence;
+
+ /**
+ * Represents the free/busy status of the calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\LegacyFreeBusyType
+ */
+ public $LegacyFreeBusyStatus;
+
+ /**
+ * Represents the location of a meeting or appointment.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Location;
+
+ /**
+ * Indicates whether a meeting request has been sent to requested attendees.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $MeetingRequestWasSent;
+
+ /**
+ * Represents the time zone of the location where the meeting is hosted.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\TimeZoneType
+ */
+ public $MeetingTimeZone;
+
+ /**
+ * Contains the URL for the meeting workspace that is linked to by the
+ * calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $MeetingWorkspaceUrl;
+
+ /**
+ * Contains an array of recurring calendar item occurrences that have been
+ * modified so that they differ from the recurrence master item.
+ *
+ * This element is valid if CalendarItemType has the RecurringMaster value.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfOccurrenceInfoType
+ */
+ public $ModifiedOccurrences;
+
+ /**
+ * Contains the status of or response to a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ResponseTypeType
+ */
+ public $MyResponseType;
+
+ /**
+ * Specifies the URL for a Microsoft NetShow online meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $NetShowUrl;
+
+ /**
+ * Represents attendees that are not required to attend a meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAttendeesType
+ */
+ public $OptionalAttendees;
+
+ /**
+ * Represents the organizer of a meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $Organizer;
+
+ /**
+ * Represents the original start time of a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $OriginalStart;
+
+ /**
+ * Contains the recurrence pattern for calendar items and meeting requests.
+ *
+ * This element is valid if CalendarItemType has the RecurringMaster value.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\RecurrenceType
+ */
+ public $Recurrence;
+
+ /**
+ * Used to identify a specific instance of a recurring calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $RecurrenceId;
+
+ /**
+ * Represents attendees that are required to attend a meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAttendeesType
+ */
+ public $RequiredAttendees;
+
+ /**
+ * Represents a scheduled resource for a meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAttendeesType
+ */
+ public $Resources;
+
+ /**
+ * Represents the start of a calendar item.
+ *
+ * This element only applies to a single occurrence of a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $Start;
+
+ /**
+ * Represents the start time zone of the calendar item.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\TimeZoneDefinitionType
+ */
+ public $StartTimeZone;
+
+ /**
+ * Provides a text description of a time zone.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $TimeZone;
+
+ /**
+ * Identifies a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $UID;
+
+ /**
+ * Provides information about when a calendar item occurs.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $When;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarPermissionSetType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarPermissionSetType.php
new file mode 100644
index 00000000..135dfcc1
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarPermissionSetType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\CalendarPermissionSetType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Contains all the permissions that are configured for a calendar folder.
+ *
+ * @package php-ews\Type
+ */
+class CalendarPermissionSetType extends Type
+{
+ /**
+ * Contains an array of calendar permissions for a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfCalendarPermissionsType
+ */
+ public $CalendarPermissions;
+
+ /**
+ * Contains an array of unknown entries that cannot be resolved against the
+ * Active Directory directory service.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfUnknownEntriesType
+ */
+ public $UnknownEntries;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarPermissionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarPermissionType.php
new file mode 100644
index 00000000..6b799f0b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarPermissionType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\CalendarPermissionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the access that a user has to a Calendar folder.
+ *
+ * @package php-ews\Type
+ */
+class CalendarPermissionType extends BasePermissionType
+{
+ /**
+ * Represents the permission level that a user has on a Calendar folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\CalendarPermissionLevelType
+ */
+ public $CalendarPermissionLevel;
+
+ /**
+ * Indicates whether a user has permission to read items within a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\CalendarPermissionReadAccessType
+ */
+ public $ReadItems;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarViewType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarViewType.php
new file mode 100644
index 00000000..322b6708
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CalendarViewType.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\CalendarViewType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a FindItem operation as returning calendar items in a set as they
+ * appear in a calendar.
+ *
+ * @package php-ews\Type
+ */
+class CalendarViewType extends BasePagingType
+{
+ /**
+ * Identifies the end of a time span queried for calendar items.
+ *
+ * All calendar items that have a start time that is on or after EndDate
+ * will not be returned. The value of EndDate can be specified in UTC
+ * format, as in 2006-02-02T12:00:00Z, or in a format where local time and
+ * time zone offset is specified, as in 2006-02-02T04:00:00-08:00.
+ *
+ * EndDate must be greater than or equal to StartDate; otherwise an error is
+ * returned.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $EndDate;
+
+ /**
+ * Identifies the start of a time span queried for calendar items.
+ *
+ * All calendar items that have an end time that is before StartDate will
+ * not be returned. The value of StartDate can be specified in coordinated
+ * universal time (UTC) format, as in 2006-01-02T12:00:00Z, or in a format
+ * where local time and time zone offset is specified, as in
+ * 2006-01-02T04:00:00-08:00.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $StartDate;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CancelCalendarItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CancelCalendarItemType.php
new file mode 100644
index 00000000..8dd62193
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CancelCalendarItemType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\CancelCalendarItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the response object that is used to cancel a meeting.
+ *
+ * @package php-ews\Type
+ */
+class CancelCalendarItemType extends SmartResponseType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ChangeDescriptionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ChangeDescriptionType.php
new file mode 100644
index 00000000..e393f1a3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ChangeDescriptionType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ChangeDescriptionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for changes to individual properties.
+ *
+ * @package php-ews\Type
+ */
+abstract class ChangeDescriptionType extends Type
+{
+ /**
+ * Identifies extended MAPI properties to set.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToExtendedFieldType
+ */
+ public $ExtendedFieldURI;
+
+ /**
+ * Identifies frequently referenced properties by URI.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToUnindexedFieldType
+ */
+ public $FieldURI;
+
+ /**
+ * Identifies individual members of a dictionary.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToIndexedFieldType
+ */
+ public $IndexedFieldURI;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ClientAccessTokenRequestType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ClientAccessTokenRequestType.php
new file mode 100644
index 00000000..f77999f0
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ClientAccessTokenRequestType.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ClientAccessTokenRequestType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a single token request.
+ *
+ * @package php-ews\Type
+ */
+class ClientAccessTokenRequestType extends Type
+{
+ /**
+ * Specifies the identifier of an app.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Id;
+
+ /**
+ * Specifies a token scope.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Scope;
+
+ /**
+ * Identifies the type of client access token.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ClientAccessTokenTypeType
+ */
+ public $TokenType;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ClientAccessTokenType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ClientAccessTokenType.php
new file mode 100644
index 00000000..0de0cf58
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ClientAccessTokenType.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ClientAccessTokenType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a client access token.
+ *
+ * @package php-ews\Type
+ */
+class ClientAccessTokenType extends Type
+{
+ /**
+ * Specifies the identifier of the token.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Id;
+
+ /**
+ * Specifies the type of token.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ClientAccessTokenTypeType
+ */
+ public $TokenType;
+
+ /**
+ * Specifies the encoded client access token.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $TokenValue;
+
+ /**
+ * Specifies the time, in minutes, that the token is valid.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $TTL;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CompleteNameType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CompleteNameType.php
new file mode 100644
index 00000000..900cf169
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CompleteNameType.php
@@ -0,0 +1,108 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\CompleteNameType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the complete name of a contact.
+ *
+ * @package php-ews\Type
+ */
+class CompleteNameType extends Type
+{
+ /**
+ * Represents the first name of contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $FirstName;
+
+ /**
+ * Represents the full name of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $FullName;
+
+ /**
+ * Represents the initials of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Initials;
+
+ /**
+ * Represents the last name of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $LastName;
+
+ /**
+ * Represents the middle name of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $MiddleName;
+
+ /**
+ * Represents the nickname of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Nickname;
+
+ /**
+ * Represents a suffix to a contact's name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Suffix;
+
+ /**
+ * Represents the title of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Title;
+
+ /**
+ * Represents the name used in Japan for the searchable or phonetic spelling
+ * of a Japanese first name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $YomiFirstName;
+
+ /**
+ * Represents the name used in Japan for the searchable or phonetic spelling
+ * of a Japanese last name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $YomiLastName;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConflictResultsType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConflictResultsType.php
new file mode 100644
index 00000000..9f07e942
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConflictResultsType.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ConflictResultsType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Indicates the number of conflicts in an UpdateItem Operation response.
+ *
+ * @package php-ews\Type
+ */
+class ConflictResultsType extends Type
+{
+ /**
+ * Contains the number of conflicts in an UpdateItem Operation response.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $Count;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConnectingSIDType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConnectingSIDType.php
new file mode 100644
index 00000000..93a61ff9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConnectingSIDType.php
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ConnectingSIDType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an account to impersonate when you are using the
+ * ExchangeImpersonation SOAP header.
+ *
+ * @package php-ews\Type
+ */
+class ConnectingSIDType extends Type
+{
+ /**
+ * Represents the primary Simple Mail Transfer Protocol (SMTP) address of
+ * the account to use for Exchange impersonation.
+ *
+ * If the primary SMTP address is supplied, it will cost an extra Active
+ * Directory directory service lookup in order to obtain the SID of the
+ * user. We recommend that you use the SID or UPN if they are available.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $PrimarySmtpAddress;
+
+ /**
+ * Represents the user principal name (UPN) of the account to use for
+ * impersonation.
+ *
+ * This should be the UPN for the domain where the user account exists.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $PrincipalName;
+
+ /**
+ * Represents the security descriptor definition language (SDDL) form of the
+ * security identifier (SID) for the account to use for impersonation.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $SID;
+
+ /**
+ * Represents the Simple Mail Transfer Protocol (SMTP) address of the
+ * account to use for Exchange Impersonation.
+ *
+ * If the SMTP address is supplied, it will cost an extra Active Directory
+ * lookup in order to obtain the SID of the user. We recommend that you use
+ * the SID or UPN if they are available.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $SmtpAddress;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConstantValueType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConstantValueType.php
new file mode 100644
index 00000000..8c41ac47
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConstantValueType.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ConstantValueType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies a constant value in a restriction.
+ *
+ * @package php-ews\Type
+ */
+class ConstantValueType extends Type
+{
+ /**
+ * Specifies the value to compare in the restriction.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactItemType.php
new file mode 100644
index 00000000..21984ebb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactItemType.php
@@ -0,0 +1,413 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ContactItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a contact item in the Exchange store.
+ *
+ * @package php-ews\Type
+ */
+class ContactItemType extends ItemType
+{
+ /**
+ * Contains the email alias of a contact.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ public $Alias;
+
+ /**
+ * Represents an assistant to a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $AssistantName;
+
+ /**
+ * Represents the birth date of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $Birthday;
+
+ /**
+ * Represents the Home page (Web address) for the contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $BusinessHomePage;
+
+ /**
+ * Contains the names of a contact's children.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $Children;
+
+ /**
+ * Represents the collection of companies that are associated with a
+ * contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $Companies;
+
+ /**
+ * Represents the company name that is associated with a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $CompanyName;
+
+ /**
+ * Represents the complete name of a contact.
+ *
+ * This property is read-only.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\CompleteNameType
+ */
+ public $CompleteName;
+
+ /**
+ * Describes whether the contact is located in the Exchange store or the
+ * Active Directory directory service.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ContactSourceType
+ */
+ public $ContactSource;
+
+ /**
+ * Represents the contact's department at work.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Department;
+
+ /**
+ * Contains the directory ID of a contact.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ public $DirectoryId;
+
+ /**
+ * Contains SMTP information that identifies the direct reports of a
+ * contact.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $DirectReports;
+
+ /**
+ * Defines the display name of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $DisplayName;
+
+ /**
+ * Represents a collection of e-mail addresses for a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressDictionaryType
+ */
+ public $EmailAddresses;
+
+ /**
+ * Represents how a contact is filed in the Contacts folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $FileAs;
+
+ /**
+ * Defines how to construct what is displayed for a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\FileAsMappingType
+ */
+ public $FileAsMapping;
+
+ /**
+ * Represents a generational abbreviation that follows the full name of a
+ * contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Generation;
+
+ /**
+ * Contains a contact's given name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $GivenName;
+
+ /**
+ * Indicates whether the contact item has a file attachment that represents
+ * the contact's picture.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $HasPicture;
+
+ /**
+ * Represents a collection of instant messaging addresses for a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ImAddressDictionaryType
+ */
+ public $ImAddresses;
+
+ /**
+ * Represents the initials of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Initials;
+
+ /**
+ * Represents the job title of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $JobTitle;
+
+ /**
+ * Represents a contact's manager.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Manager;
+
+ /**
+ * Contains SMTP information that identifies the manager mailbox of the
+ * contact.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $ManagerMailbox;
+
+ /**
+ * Represents the middle name of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $MiddleName;
+
+ /**
+ * Represents mileage for a contact item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Mileage;
+
+ /**
+ * Contains a value that encodes the Microsoft Exchange certificate of a
+ * contact.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfBinaryType
+ */
+ public $MSExchangeCertificate;
+
+ /**
+ * Represents the nickname of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Nickname;
+
+ /**
+ * Contains supplementary contact information.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ public $Notes;
+
+ /**
+ * Represents the office location of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $OfficeLocation;
+
+ /**
+ * Represents a collection of telephone numbers for a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PhoneNumberDictionaryType
+ */
+ public $PhoneNumbers;
+
+ /**
+ * Contains the full name of a contact, including the first and last name,
+ * spelled phonetically.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ public $PhoneticFullName;
+
+ /**
+ * Contains the first name of a contact, spelled phonetically.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ public $PhoneticFirstName;
+
+ /**
+ * Contains the last name of a contact, spelled phonetically.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ public $PhoneticLastName;
+
+ /**
+ * Contains a value that encodes the photo of a contact.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ */
+ public $Photo;
+
+ /**
+ * Contains a collection of physical addresses that are associated with a
+ * contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PhysicalAddressDictionaryType
+ */
+ public $PhysicalAddresses;
+
+ /**
+ * Represents the display types for physical addresses.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\PhysicalAddressIndexType
+ */
+ public $PostalAddressIndex;
+
+ /**
+ * Represents the profession of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Profession;
+
+ /**
+ * Represents the name of a contact's spouse/partner.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $SpouseName;
+
+ /**
+ * Represents the surname of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Surname;
+
+ /**
+ * Contains a value that encodes the SMIME certificate of a contact.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfBinaryType
+ */
+ public $UserSMIMECertificate;
+
+ /**
+ * Contains the wedding anniversary of a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $WeddingAnniversary;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactsFolderType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactsFolderType.php
new file mode 100644
index 00000000..75a96e0a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactsFolderType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ContactsFolderType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a contacts folder that is contained in a mailbox.
+ *
+ * @package php-ews\Type
+ */
+class ContactsFolderType extends BaseFolderType
+{
+ /**
+ * Contains all the configured permissions for a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\PermissionSetType
+ */
+ public $PermissionSet;
+
+ /**
+ * Indicates the permissions that the user has for the contact data that is
+ * being shared.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\PermissionReadAccessType
+ */
+ public $SharingEffectiveRights;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactsViewType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactsViewType.php
new file mode 100644
index 00000000..a3d7fde2
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContactsViewType.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ContactsViewType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a search for contact items based on alphabetical display names.
+ *
+ * @package php-ews\Type
+ */
+class ContactsViewType extends BasePagingType
+{
+ /**
+ * Defines the last name in the contacts list to return in the response.
+ *
+ * If the FinalName attribute is omitted, the response will contain all
+ * subsequent contacts in the specified sort order. If the specified final
+ * name is not in the contacts list, the next alphabetical name as defined
+ * by the cultural context will be excluded.
+ *
+ * For example, if FinalName="Name", but Name is not in the contacts list,
+ * contacts that have display names of Name1 or NAME will not be included.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $FinalName;
+
+ /**
+ * Defines the first name in the contacts list to return in the response.
+ *
+ * If the specified initial name is not in the contacts list, the next
+ * alphabetical name as defined by the cultural context will be returned,
+ * except if the next name comes after FinalName.
+ *
+ * If the InitialName attribute is omitted, the response will contain a list
+ * of contacts that starts with the first name in the contact list.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $InitialName;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContainsExpressionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContainsExpressionType.php
new file mode 100644
index 00000000..099623ea
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContainsExpressionType.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ContainsExpressionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search expression that determines whether a given property
+ * contains the supplied constant string value.
+ *
+ * @package php-ews\Type
+ */
+class ContainsExpressionType extends SearchExpressionType
+{
+ /**
+ * Identifies a constant value in a restriction.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ConstantValueType
+ */
+ public $Constant;
+
+ /**
+ * Determines whether the search ignores cases and spaces.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ContainmentComparisonType
+ */
+ public $ContainmentComparison;
+
+ /**
+ * Identifies the boundaries of a search.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ContainmentModeType
+ */
+ public $ContainmentMode;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContextPropertyType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContextPropertyType.php
new file mode 100644
index 00000000..666079b5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ContextPropertyType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ContextPropertyType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the context for an item.
+ *
+ * @package php-ews\Type
+ */
+class ContextPropertyType extends Type
+{
+ /**
+ * Specifies the key of the context.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ */
+ public $Key;
+
+ /**
+ * Specifies the value of the context.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationActionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationActionType.php
new file mode 100644
index 00000000..b2e0c7ea
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationActionType.php
@@ -0,0 +1,131 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ConversationActionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single action to be applied to a single conversation.
+ *
+ * @package php-ews\Type
+ */
+class ConversationActionType extends Type
+{
+ /**
+ * Contains the action to perform on the conversation specified by the
+ * ConversationId element.
+ *
+ * This element must be present.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ConversationActionTypeType
+ */
+ public $Action;
+
+ /**
+ * Contains a collection of strings that identify the categories to which
+ * items in a conversation belong.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $Categories;
+
+ /**
+ * Indicates the folder that is targeted for actions that use folders.
+ *
+ * This element must be present when copying, deleting, moving, and setting
+ * read state on conversation items in a target folder.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\TargetFolderIdType
+ */
+ public $ContextFolderId;
+
+ /**
+ * Contains the identifier of the conversation that will have the action
+ * specified by the Action element applied to items in the conversation.
+ *
+ * This element must be present.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ConversationId;
+
+ /**
+ * Contains the date and time that a conversation was last synchronized.
+ *
+ * This element must be present when trying to delete all items in a
+ * conversation that were received up to the specified time.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $ConversationLastSyncTime;
+
+ /**
+ * Indicates how items in a conversation are deleted.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DisposalType
+ */
+ public $DeleteType;
+
+ /**
+ * Indicates the destination folder for copy and move actions.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\TargetFolderIdType
+ */
+ public $DestinationFolderId;
+
+ /**
+ * Specifies a flag that enables deletion for all new items in a
+ * conversation.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var boolean
+ */
+ public $EnableAlwaysDelete;
+
+ /**
+ * Indicates whether a message has been read.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var boolean
+ */
+ public $IsRead;
+
+ /**
+ * Indicates whether the response is sent as soon as the action starts
+ * processing on the server or whether the response is sent after the action
+ * has completed.
+ *
+ * This element must be present for the response to be sent asynchronous to
+ * the requested action.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var boolean
+ */
+ public $ProcessRightAway;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationNodeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationNodeType.php
new file mode 100644
index 00000000..1b18f705
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationNodeType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ConversationNodeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a node in a conversation.
+ *
+ * @package php-ews\Type
+ */
+class ConversationNodeType extends Type
+{
+ /**
+ * Represents the Internet message identifier of an item.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $InternetMessageId;
+
+ /**
+ * Specifies all the items in the conversation node.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAllItemsType
+ */
+ public $Items;
+
+ /**
+ * Specifies the identifier of the parent Internet message.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $ParentInternetMessageId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationResponseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationResponseType.php
new file mode 100644
index 00000000..c39634d3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationResponseType.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ConversationResponseType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a single conversation.
+ *
+ * @package php-ews\Type
+ */
+class ConversationResponseType extends Type
+{
+ /**
+ * Indicates whether the conversation can be deleted.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $CanDelete;
+
+ /**
+ * Contains the identifier of the conversation.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ConversationId;
+
+ /**
+ * Specifies a collection of conversation nodes.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfConversationNodesType
+ */
+ public $ConversationNodes;
+
+ /**
+ * Specifies the synchronization state of a conversation.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @todo Create a base64 class?
+ */
+ public $SyncState;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationShape.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationShape.php
new file mode 100644
index 00000000..0281ad08
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationShape.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ConversationShape.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies the property set to return in a FindConversation operation
+ * response.
+ *
+ * @package php-ews\Type
+ */
+class ConversationShape extends Type
+{
+ /**
+ * Identifies additional properties for use in the request.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfPathsToElementType
+ */
+ public $AdditionalProperties;
+
+ /**
+ * Identifies the set of properties to return in the response.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DefaultShapeNamesType
+ */
+ public $BaseShape;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationType.php
new file mode 100644
index 00000000..f37f0263
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ConversationType.php
@@ -0,0 +1,310 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ConversationType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single conversation.
+ *
+ * @package php-ews\Type
+ */
+class ConversationType extends Type
+{
+ /**
+ * Contains a collection of strings that identify the categories that are
+ * applied to all conversation items in the current folder.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $Categories;
+
+ /**
+ * Represents the identifier of a conversation.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ConversationId;
+
+ /**
+ * Represents the conversation topic.
+ *
+ * This element is read-only.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ public $ConversationTopic;
+
+ /**
+ * Contains the aggregated flag status for conversation items in the current
+ * folder.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\FlagStatusType
+ */
+ public $FlagStatus;
+
+ /**
+ * Contains the category list for all conversation items in a mailbox.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $GlobalCategories;
+
+ /**
+ * Contains the aggregated flag status for all conversation items in a
+ * mailbox.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\FlagStatusType
+ */
+ public $GlobalFlagStatus;
+
+ /**
+ * Contains a value that indicates whether at least one conversation item in
+ * a mailbox has an attachment.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var boolean
+ */
+ public $GlobalHasAttachments;
+
+ /**
+ * Contains the aggregated importance for all conversation items in a
+ * mailbox.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ImportanceChoicesType
+ */
+ public $GlobalImportance;
+
+ /**
+ * Contains a list of item classes that represents all the item classes of
+ * the conversation items in a mailbox.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfItemClassType
+ */
+ public $GlobalItemClasses;
+
+ /**
+ * Contains the collection of item identifiers for all conversation items in
+ * a mailbox.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfBaseItemIdsType
+ */
+ public $GlobalItemIds;
+
+ /**
+ * Contains the delivery time of the message that was last received in this
+ * conversation across all folders in the mailbox.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $GlobalLastDeliveryTime;
+
+ /**
+ * Contains the total number of conversation items in the mailbox.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var integer
+ */
+ public $GlobalMessageCount;
+
+ /**
+ * Contains the size of the conversation calculated from the size of all
+ * conversation items in the mailbox.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var integer
+ */
+ public $GlobalSize;
+
+ /**
+ * Contains the recipient list of a conversation aggregated across a
+ * mailbox.
+ *
+ * This element is read-only.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $GlobalUniqueRecipients;
+
+ /**
+ * Contains a list of all the senders of conversation items in the mailbox.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $GlobalUniqueSenders;
+
+ /**
+ * Contains a list of all the people who have sent messages that are
+ * currently unread in this conversation across all folders in the mailbox.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $GlobalUniqueUnreadSenders;
+
+ /**
+ * Contains a count of all the unread conversation items in the mailbox.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var integer
+ */
+ public $GlobalUnreadCount;
+
+ /**
+ * Contains a value that indicates whether at least one conversation item in
+ * the current folder has an attachment.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var boolean
+ */
+ public $HasAttachments;
+
+ /**
+ * Contains the aggregated importance for all conversation items in the
+ * current folder.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ImportanceChoicesType
+ */
+ public $Importance;
+
+ /**
+ * Contains a list of item classes that represents all the item classes of
+ * the conversation items in the current folder.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfItemClassType
+ */
+ public $ItemClasses;
+
+ /**
+ * Contains the collection of item identifiers for all conversation items in
+ * the current folder.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfBaseItemIdsType
+ */
+ public $ItemIds;
+
+ /**
+ * Contains the delivery time of the message that was last received in this
+ * conversation in the current folder.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $LastDeliveryTime;
+
+ /**
+ * Contains the total number of conversation items in the current folder.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var integer
+ */
+ public $MessageCount;
+
+ /**
+ * Contains the conversation size calculated from the size of all
+ * conversation items in the current folder.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var integer
+ */
+ public $Size;
+
+ /**
+ * Contains the recipient list of a conversation aggregated from a
+ * particular folder.
+ *
+ * This element is read-only.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $UniqueRecipients;
+
+ /**
+ * Contains a list of all the senders of conversation items in the current
+ * folder.
+ *
+ * This element is read-only.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $UniqueSenders;
+
+ /**
+ * Contains a list of all the people who have sent messages that are
+ * currently unread in this conversation in the current folder.
+ *
+ * This element is read-only.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $UniqueUnreadSenders;
+
+ /**
+ * Contains the count of unread conversation items within a folder.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var integer
+ */
+ public $UnreadCount;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CreateRuleOperationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CreateRuleOperationType.php
new file mode 100644
index 00000000..d26153f7
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/CreateRuleOperationType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\CreateRuleOperationType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an operation to create a new Inbox rule.
+ *
+ * @package php-ews\Type
+ */
+class CreateRuleOperationType extends RuleOperationType
+{
+ /**
+ * Represents a rule to be created in a user's mailbox.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\RuleType
+ */
+ public $Rule;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DailyRecurrencePatternType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DailyRecurrencePatternType.php
new file mode 100644
index 00000000..70129f8e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DailyRecurrencePatternType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DailyRecurrencePatternType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes the frequency, in days, in which a calendar item or a task recurs.
+ *
+ * @package php-ews\Type
+ */
+class DailyRecurrencePatternType extends IntervalRecurrencePatternBaseType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DailyRegeneratingPatternType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DailyRegeneratingPatternType.php
new file mode 100644
index 00000000..55fd1ef4
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DailyRegeneratingPatternType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DailyRegeneratingPatternType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes the frequency, in days, in which a task is regenerated.
+ *
+ * @package php-ews\Type
+ */
+class DailyRegeneratingPatternType extends RegeneratingPatternBaseType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeclineItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeclineItemType.php
new file mode 100644
index 00000000..a8cd62bb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeclineItemType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DeclineItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a Decline reply to a meeting request.
+ *
+ * @package php-ews\Type
+ */
+class DeclineItemType extends WellKnownResponseObjectType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DelegatePermissionsType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DelegatePermissionsType.php
new file mode 100644
index 00000000..09f82581
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DelegatePermissionsType.php
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DelegatePermissionsType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Contains the delegate permission-level settings for a user.
+ *
+ * @package php-ews\Type
+ */
+class DelegatePermissionsType extends Type
+{
+ /**
+ * Contains the permissions for the default Calendar folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DelegateFolderPermissionLevelType
+ */
+ public $CalendarFolderPermissionLevel;
+
+ /**
+ * Contains the permissions for the default Contacts folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DelegateFolderPermissionLevelType
+ */
+ public $ContactsFolderPermissionLevel;
+
+ /**
+ * Contains the permissions for the default Inbox folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DelegateFolderPermissionLevelType
+ */
+ public $InboxFolderPermissionLevel;
+
+ /**
+ * Contains the permissions for the default Journal folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DelegateFolderPermissionLevelType
+ */
+ public $JournalFolderPermissionLevel;
+
+ /**
+ * Contains the permissions for the default Notes folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DelegateFolderPermissionLevelType
+ */
+ public $NotesFolderPermissionLevel;
+
+ /**
+ * Contains the permissions for the default Task folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DelegateFolderPermissionLevelType
+ */
+ public $TasksFolderPermissionLevel;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DelegateUserType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DelegateUserType.php
new file mode 100644
index 00000000..cad91d97
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DelegateUserType.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DelegateUserType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies a single delegate to add or update in a mailbox or a delegate
+ * returned in a delegate management response.
+ *
+ * @package php-ews\Type
+ */
+class DelegateUserType extends Type
+{
+ /**
+ * Contains the delegate permission level settings.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\DelegatePermissionsType
+ */
+ public $DelegatePermissions;
+
+ /**
+ * Indicates whether a delegate receives copies of meeting-related messages
+ * that are addressed to the principal.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $ReceiveCopiesOfMeetingMessages;
+
+ /**
+ * Identifies the delegate.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\UserIdType
+ */
+ public $UserId;
+
+ /**
+ * Indicates whether a delegate has permission to view private calendar
+ * items in the principal's mailbox.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $ViewPrivateItems;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteFolderFieldType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteFolderFieldType.php
new file mode 100644
index 00000000..d9b68136
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteFolderFieldType.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DeleteFolderFieldType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an operation to delete a given property from a folder during an
+ * UpdateFolder call.
+ *
+ * @package php-ews\Type
+ */
+class DeleteFolderFieldType extends FolderChangeDescriptionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteItemFieldType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteItemFieldType.php
new file mode 100644
index 00000000..852ca0ea
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteItemFieldType.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DeleteItemFieldType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an operation to delete a given property from an item during an
+ * UpdateItem call.
+ *
+ * @package php-ews\Type
+ */
+class DeleteItemFieldType extends ItemChangeDescriptionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteRuleOperationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteRuleOperationType.php
new file mode 100644
index 00000000..6f98dc05
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeleteRuleOperationType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DeleteRuleOperationType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an operation to delete an existing Inbox rule.
+ *
+ * @package php-ews\Type
+ */
+class DeleteRuleOperationType extends RuleOperationType
+{
+ /**
+ * Specifies the identifier of the rule to delete.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $RuleId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeletedOccurrenceInfoType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeletedOccurrenceInfoType.php
new file mode 100644
index 00000000..3dcb6462
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DeletedOccurrenceInfoType.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DeletedOccurrenceInfoType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a deleted occurrence of a recurring calendar item.
+ *
+ * @package php-ews\Type
+ */
+class DeletedOccurrenceInfoType extends Type
+{
+ /**
+ * Represents the start time of a deleted occurrence of a recurring calendar
+ * item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $Start;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DirectoryEntryType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DirectoryEntryType.php
new file mode 100644
index 00000000..81d777c1
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DirectoryEntryType.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DirectoryEntryType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a directory entry.
+ *
+ * @package php-ews\Type
+ */
+class DirectoryEntryType extends Type
+{
+ /**
+ * An identifier that contains an email address and display name that
+ * represents a meeting room.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $Id;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DiscoverySearchConfigurationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DiscoverySearchConfigurationType.php
new file mode 100644
index 00000000..208a6b0e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DiscoverySearchConfigurationType.php
@@ -0,0 +1,73 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DiscoverySearchConfigurationType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a configuration for eDiscovery search.
+ *
+ * @package php-ews\Type
+ */
+class DiscoverySearchConfigurationType extends Type
+{
+ /**
+ * Specifies the identity of a hold that preserves the mailbox items.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $InPlaceHoldIdentity;
+
+ /**
+ * Identifies the culture to be used for the culture-specific format of date
+ * ranges.
+ *
+ * It also specifies the language used in a search query.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Language;
+
+ /**
+ * Specifies the managing organization.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $ManagedByOrganization;
+
+ /**
+ * Specifies the identifier of the search.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $SearchId;
+
+ /**
+ * Specifies the name of an eDiscovery search query.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $SearchQuery;
+
+ /**
+ * Contains a list of mailboxes.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfSearchableMailboxesType
+ */
+ public $SearchableMailboxes;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistinguishedFolderIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistinguishedFolderIdType.php
new file mode 100644
index 00000000..f0e39068
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistinguishedFolderIdType.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DistinguishedFolderIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies folders that can be referenced by name.
+ *
+ * @package php-ews\Type
+ */
+class DistinguishedFolderIdType extends BaseFolderIdType
+{
+ /**
+ * Contains a string that identifies a version of a folder that is
+ * identified by the Id attribute.
+ *
+ * This attribute is optional. Use this attribute to make sure that the
+ * correct version of a folder is used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ChangeKey;
+
+ /**
+ * Identifies a default folder.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DistinguishedFolderIdNameType
+ */
+ public $Id;
+
+ /**
+ * Identifies a primary SMTP address.
+ *
+ * Proxy addresses are not allowed.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $Mailbox;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistinguishedGroupByType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistinguishedGroupByType.php
new file mode 100644
index 00000000..37166b83
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistinguishedGroupByType.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DistinguishedGroupByType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents standard groupings for FindItem queries.
+ *
+ * @package php-ews\Type
+ */
+class DistinguishedGroupByType extends BaseGroupByType
+{
+ /**
+ * Represents the standard grouping and aggregating mechanisms for a grouped
+ * FindItem operation.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\StandardGroupByType
+ */
+ public $StandardGroupBy;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistributionListType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistributionListType.php
new file mode 100644
index 00000000..b366d224
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/DistributionListType.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\DistributionListType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a distribution list.
+ *
+ * @package php-ews\Type
+ */
+class DistributionListType extends ItemType
+{
+ /**
+ * Describes whether the contact is located in the Exchange store or in
+ * Active Directory Domain Services (AD DS).
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ContactSourceType
+ */
+ public $ContactSource;
+
+ /**
+ * Defines the display name of a distribution list.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $DisplayName;
+
+ /**
+ * Represents how a distribution list is filed in the Contacts folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $FileAs;
+
+ /**
+ * Contains a list of members of the distribution list.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\MembersListType
+ */
+ public $Members;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/Duration.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/Duration.php
new file mode 100644
index 00000000..5f5261d3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/Duration.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\Duration.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a time span.
+ *
+ * @package php-ews\Type
+ */
+class Duration extends Type
+{
+ /**
+ * Represents the end of the time span.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $EndTime;
+
+ /**
+ * Represents the start of the time span.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $StartTime;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EffectiveRightsType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EffectiveRightsType.php
new file mode 100644
index 00000000..16306ce0
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EffectiveRightsType.php
@@ -0,0 +1,86 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\EffectiveRightsType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the client's rights based on the permission settings for an item
+ * or folder.
+ *
+ * @package php-ews\Type
+ */
+class EffectiveRightsType extends Type
+{
+ /**
+ * Indicates whether a client can create an associated contents table.
+ *
+ * This property is only used on folder objects.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $CreateAssociated;
+
+ /**
+ * Indicates whether a client can create a contents table.
+ *
+ * This property is only used on folder objects.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $CreateContents;
+
+ /**
+ * Indicates whether a client can create a hierarchy table.
+ *
+ * This property is only used on folder objects.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $CreateHierarchy;
+
+ /**
+ * Indicates whether a client can delete a folder or item.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $Delete;
+
+ /**
+ * Indicates whether a client can modify a folder or item.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $Modify;
+
+ /**
+ * Indicates whether a client can read a folder or item.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var boolean
+ */
+ public $Read;
+
+ /**
+ * Indicates whether a private item can be viewed.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $ViewPrivateItems;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressAttributedValueType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressAttributedValueType.php
new file mode 100644
index 00000000..31031970
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressAttributedValueType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\EmailAddressAttributedValueType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines an instance of an array of email addresses and their associated
+ * attributions.
+ *
+ * @package php-ews\Type
+ */
+class EmailAddressAttributedValueType extends Type
+{
+ /**
+ * Specifies an array of attributions for its associated Value element.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfValueAttributionsType
+ */
+ public $Attributions;
+
+ /**
+ * Specifies the value of an EmailAddress associated with an attributions array.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressDictionaryEntryType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressDictionaryEntryType.php
new file mode 100755
index 00000000..bdd5a54b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressDictionaryEntryType.php
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\EmailAddressDictionaryEntryType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single e-mail address for a contact.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Create a common EntryType class.
+ * @todo Create a common TextEntryType class.
+ */
+class EmailAddressDictionaryEntryType extends Type
+{
+ /**
+ * The email address represented by this entry.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $_;
+
+ /**
+ * Identifies the e-mail address.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\EmailAddressKeyType
+ */
+ public $Key;
+
+ /**
+ * Defines the mailbox type of a mailbox user.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MailboxTypeType
+ */
+ public $MailboxType;
+
+ /**
+ * Defines the name of the mailbox user.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Name;
+
+ /**
+ * Defines the routing that is used for the mailbox.
+ *
+ * This attribute is optional and defaults to SMTP.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\RoutingType
+ */
+ public $RoutingType;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressDictionaryType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressDictionaryType.php
new file mode 100644
index 00000000..c09fc492
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressDictionaryType.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\EmailAddressDictionaryType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a collection of e-mail addresses for a contact.
+ *
+ * @package php-ews\Type
+ */
+class EmailAddressDictionaryType extends Type
+{
+ /**
+ * Represents a single e-mail address for a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressDictionaryEntryType
+ */
+ public $Entry;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressType.php
new file mode 100644
index 00000000..cb98fad8
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EmailAddressType.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\EmailAddressType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifier for a fully resolved email address
+ *
+ * @package php-ews\Type
+ */
+class EmailAddressType extends BaseEmailAddressType
+{
+ /**
+ * The e-mail address that is represented.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $EmailAddress;
+
+ /**
+ * Specifies the item identifier for the e-mail address.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ItemId;
+
+ /**
+ * Specifies the type of mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MailboxTypeType
+ */
+ public $MailboxType;
+
+ /**
+ * Specifies the name of the mailbox that is associated with the e-mail
+ * address.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Name;
+
+ /**
+ * Specifies the type of routing for the e-mail address.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\RoutingType
+ */
+ public $RoutingType;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EncryptedSharedFolderDataType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EncryptedSharedFolderDataType.php
new file mode 100644
index 00000000..9e394097
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EncryptedSharedFolderDataType.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\EncryptedSharedFolderDataType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the encrypted data that a client can use to authorize the sharing
+ * of its calendar or contact data with other clients.
+ *
+ * @package php-ews\Type
+ */
+class EncryptedSharedFolderDataType extends Type
+{
+ /**
+ * Contains encrypted data that represents the shared data.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @todo Determine if we need an EncryptedDataContainerType implementation.
+ */
+ public $Data;
+
+ /**
+ * Contains encrypted data that represents the identification token for the
+ * shared data.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @todo Determine if we need an EncryptedDataContainerType implementation.
+ */
+ public $Token;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EndDateRecurrenceRangeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EndDateRecurrenceRangeType.php
new file mode 100644
index 00000000..68aa4116
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/EndDateRecurrenceRangeType.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\EndDateRecurrenceRangeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes the start date and the end date of an item recurrence pattern.
+ *
+ * @package php-ews\Type
+ */
+class EndDateRecurrenceRangeType extends RecurrenceRangeBaseType
+{
+ /**
+ * Represents the end date of a recurring task or calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a date object that extends DateTime.
+ */
+ public $EndDate;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExchangeImpersonationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExchangeImpersonationType.php
new file mode 100644
index 00000000..eeec0647
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExchangeImpersonationType.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ExchangeImpersonationType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the account to impersonate within a request.
+ *
+ * @package php-ews\Type
+ */
+class ExchangeImpersonationType extends Type
+{
+ /**
+ * Represents an account to impersonate when you are using the
+ * ExchangeImpersonation SOAP header.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ConnectingSIDType
+ */
+ public $ConnectingSID;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExcludesType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExcludesType.php
new file mode 100644
index 00000000..c0de79c3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExcludesType.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ExcludesType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a bitwise mask of a specified property and a supplied value.
+ *
+ * @package php-ews\Type
+ */
+class ExcludesType extends SearchExpressionType
+{
+ /**
+ * Represents a hexadecimal or decimal mask to be used during an Excludes
+ * restriction operation.
+ *
+ * If the bitmask represents a hexadecimal number, it must be prefixed by 0x
+ * or 0X. Otherwise, it will be considered a decimal number.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ExcludesValueType
+ */
+ public $Bitmask;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExcludesValueType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExcludesValueType.php
new file mode 100644
index 00000000..17a67804
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExcludesValueType.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ExcludesValueType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a hexadecimal or decimal mask to be used during an Excludes
+ * restriction operation.
+ *
+ * @package php-ews\Type
+ */
+class ExcludesValueType extends Type
+{
+ /**
+ * Represents a decimal or hexadecimal bitmask.
+ *
+ * The value is represented by the following regular expression:
+ * ((0x|0X)[0-9A-Fa-f]*)|([0-9]*).
+ *
+ * The following are examples of hexadecimal values for this attribute:
+ * - 0x12AF
+ * - 0X334AE
+ *
+ * The following are examples of decimal values for this attribute:
+ * - 10
+ * - 255
+ * - 4562
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Determine if we need an ExcludesAttributeType class.
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExistsType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExistsType.php
new file mode 100644
index 00000000..0cf02869
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExistsType.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ExistsType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search expression that returns true if the supplied property
+ * exists on an item.
+ *
+ * @package php-ews\Type
+ */
+class ExistsType extends SearchExpressionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedAttributeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedAttributeType.php
new file mode 100644
index 00000000..5f3d4386
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedAttributeType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ExtendedAttributeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Internal use only.
+ *
+ * @package php-ews\Type
+ */
+class ExtendedAttributeType extends Type
+{
+ /**
+ * Internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Name;
+
+ /**
+ * Internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedPropertyAttributedValueType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedPropertyAttributedValueType.php
new file mode 100644
index 00000000..97688a26
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedPropertyAttributedValueType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ExtendedPropertyAttributedValueType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines an extended property for a persona.
+ *
+ * @package php-ews\Type
+ */
+class ExtendedPropertyAttributedValueType extends Type
+{
+ /**
+ * Specifies an array of attributions for its associated Value element.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfValueAttributionsType
+ */
+ public $Attributions;
+
+ /**
+ * Specifies an extended property for a persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\ExtendedPropertyType
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedPropertyType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedPropertyType.php
new file mode 100644
index 00000000..c57bd3f4
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ExtendedPropertyType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ExtendedPropertyType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies extended MAPI properties on folders and items.
+ *
+ * @package php-ews\Type
+ */
+class ExtendedPropertyType extends Type
+{
+ /**
+ * Identifies an extended MAPI property to get, set, or create.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToExtendedFieldType
+ */
+ public $ExtendedFieldURI;
+
+ /**
+ * Contains the value of single-valued MAPI extended property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Value;
+
+ /**
+ * Contains a collection of values for a multivalued extended MAPI property.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfPropertyValuesType
+ */
+ public $Values;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FailedSearchMailboxType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FailedSearchMailboxType.php
new file mode 100644
index 00000000..74c2cd8e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FailedSearchMailboxType.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FailedSearchMailboxType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Specifies the error message for a mailbox that failed on search.
+ *
+ * @package php-ews\Type
+ */
+class FailedSearchMailboxType extends Type
+{
+ /**
+ * Specifies the error code of the mailbox that failed the search.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $ErrorCode;
+
+ /**
+ * Represents the reason for the validation error.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $ErrorMessage;
+
+ /**
+ * Specifies whether the mailbox is an archive.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $IsArchive;
+
+ /**
+ * Contains an identifier for the mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Mailbox;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FieldOrderType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FieldOrderType.php
new file mode 100644
index 00000000..fde9a9bc
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FieldOrderType.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FieldOrderType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single field by which to sort results and indicates the
+ * direction for the sort.
+ *
+ * @package php-ews\Type
+ */
+class FieldOrderType extends Type
+{
+ /**
+ * Identifies MAPI properties.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToExtendedFieldType
+ */
+ public $ExtendedFieldURI;
+
+ /**
+ * Identifies frequently referenced properties by URI.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToUnindexedFieldType
+ */
+ public $FieldURI;
+
+ /**
+ * Identifies individual members of a dictionary.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToIndexedFieldType
+ */
+ public $IndexedFieldURI;
+
+ /**
+ * Describes the sort order direction.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\SortDirectionType
+ */
+ public $Order;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FieldURIOrConstantType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FieldURIOrConstantType.php
new file mode 100644
index 00000000..8fbd38fa
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FieldURIOrConstantType.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FieldURIOrConstantType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents either a property or a constant value to be used when comparing
+ * with another property.
+ *
+ * @package php-ews\Type
+ */
+class FieldURIOrConstantType extends SearchExpressionType
+{
+ /**
+ * Identifies a constant value in a restriction.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ConstantValueType
+ */
+ public $Constant;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FileAttachmentType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FileAttachmentType.php
new file mode 100644
index 00000000..6dc28090
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FileAttachmentType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FileAttachmentType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a file that is attached to an item in the Exchange store.
+ *
+ * @package php-ews\Type
+ */
+class FileAttachmentType extends AttachmentType
+{
+
+ /**
+ * Contains the Base64-encoded contents of the file attachment.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Consider using an object that takes a file stream and does the
+ * base64 conversion.
+ */
+ public $Content;
+
+ /**
+ * Indicates whether the file attachment is a contact picture.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsContactPhoto;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindFolderParentType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindFolderParentType.php
new file mode 100644
index 00000000..f04a3b7a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindFolderParentType.php
@@ -0,0 +1,77 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FindFolderParentType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the results of a search of a single root folder during a
+ * FindFolder operation.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Create a FindResponsePagingAttributes trait.
+ */
+class FindFolderParentType extends Type
+{
+ /**
+ * Represents the next denominator to use for the next request when you are
+ * using fraction page views.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $AbsoluteDenominator;
+
+ /**
+ * Contains an array of folders found by using the FindFolder operation.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfFoldersType
+ */
+ public $Folders;
+
+ /**
+ * Indicates whether the current results contain the last item in the query
+ * so that additional paging is not needed.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IncludesLastItemInRange;
+
+ /**
+ * Represents the next index that should be used for the next request when
+ * you are using an indexed page view.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $IndexedPagingOffset;
+
+ /**
+ * Represents the new numerator value to use for the next request when you
+ * are using fraction page views.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $NumeratorOffset;
+
+ /**
+ * Represents the total number of items in the view.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $TotalItemsInView;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindItemParentType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindItemParentType.php
new file mode 100644
index 00000000..afb8a2a2
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindItemParentType.php
@@ -0,0 +1,88 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FindItemParentType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the results of a search of a single root folder during a FindItem
+ * operation.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Create a FindResponsePagingAttributes trait.
+ */
+class FindItemParentType extends Type
+{
+ /**
+ * Represents the next denominator to use for the next request when you are
+ * using fraction page views.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $AbsoluteDenominator;
+
+ /**
+ * Contains a collection of groups found that have the search and
+ * aggregation criteria identified in the FindItem operation request.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfGroupedItemsType
+ */
+ public $Groups;
+
+ /**
+ * Indicates whether the current results contain the last item in the query
+ * so that additional paging is not needed.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IncludesLastItemInRange;
+
+ /**
+ * Represents the next index that should be used for the next request when
+ * you are using an indexed page view.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $IndexedPagingOffset;
+
+ /**
+ * Contains an array of items found that have the search criteria identified
+ * in the FindItem operation request.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRealItemsType
+ */
+ public $Items;
+
+ /**
+ * Represents the new numerator value to use for the next request when you
+ * are using fraction page views.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $NumeratorOffset;
+
+ /**
+ * Represents the total number of items in the view.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $TotalItemsInView;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindMessageTrackingSearchResultType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindMessageTrackingSearchResultType.php
new file mode 100644
index 00000000..057b3ad6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FindMessageTrackingSearchResultType.php
@@ -0,0 +1,103 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FindMessageTrackingSearchResultType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single message result for a FindMessageTrackingReportResponse
+ * element.
+ *
+ * @package php-ews\Type
+ */
+class FindMessageTrackingSearchResultType extends Type
+{
+ /**
+ * Contains the name of the server in the forest that first accepted the
+ * message.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ public $FirstHopServer;
+
+ /**
+ * Contains an internal ID that identifies the message in the transport
+ * database.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ public $MessageTrackingReportId;
+
+ /**
+ * Contains the name of the server in the forest that previously accepted
+ * the message.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ public $PreviousHopServer;
+
+ /**
+ * Contains a list of one or more tracking properties.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfTrackingPropertiesType
+ */
+ public $Properties;
+
+ /**
+ * Contains contact information for the alleged sender of an e-mail message.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $PurportedSender;
+
+ /**
+ * Contains a list of e-mail addresses that received this message.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRecipientsType
+ */
+ public $Recipients;
+
+ /**
+ * Contains the e-mail message sender’s address.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $Sender;
+
+ /**
+ * Contains the e-mail message subject.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ public $Subject;
+
+ /**
+ * Contains the time that the message was submitted.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $SubmittedTime;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderChangeDescriptionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderChangeDescriptionType.php
new file mode 100644
index 00000000..2e85c99a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderChangeDescriptionType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FolderChangeDescriptionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for changes to individual folder properties.
+ *
+ * @package php-ews\Type
+ */
+class FolderChangeDescriptionType extends ChangeDescriptionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderChangeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderChangeType.php
new file mode 100644
index 00000000..0b0850c7
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderChangeType.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FolderChangeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a collection of changes to be performed on a single folder.
+ *
+ * @package php-ews\Type
+ */
+class FolderChangeType extends Type
+{
+ /**
+ * Identifies MicrosoftExchange Server 2007 folders that can be referenced by
+ * name.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\DistinguishedFolderIdType
+ */
+ public $DistinguishedFolderId;
+
+ /**
+ * Contains the identifier and change key of a folder to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\FolderIdType
+ */
+ public $FolderId;
+
+ /**
+ * Defines the type of update that is performed on a folder that is
+ * identified by either the FolderId or DistinguishedFolderId element.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfFolderChangeDescriptionsType
+ */
+ public $Updates;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderIdType.php
new file mode 100644
index 00000000..7d1f428f
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderIdType.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FolderIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the identifier of the parent folder that contains the item or
+ * folder.
+ *
+ * @package php-ews\Type
+ */
+class FolderIdType extends BaseFolderIdType
+{
+ /**
+ * Contains a string that identifies a version of a folder that is
+ * identified by the Id attribute.
+ *
+ * This attribute is optional. Use this attribute to make sure that the
+ * correct version of a folder is used.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ChangeKey;
+
+ /**
+ * Contains a string that identifies a folder in the Exchange store.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Id;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderResponseShapeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderResponseShapeType.php
new file mode 100644
index 00000000..03c65812
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderResponseShapeType.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FolderResponseShapeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the folder properties to include in a GetFolder, FindFolder, or
+ * SyncFolderHierarchy response.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Create a common ResponseShapeType.
+ */
+class FolderResponseShapeType extends Type
+{
+ /**
+ * Identifies additional properties to return in a response.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfPathsToElementType
+ */
+ public $AdditionalProperties;
+
+ /**
+ * Identifies the basic configuration of properties to return in a response.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DefaultShapeNamesType
+ */
+ public $BaseShape;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderType.php
new file mode 100644
index 00000000..b640e2b8
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FolderType.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FolderType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a folder to create, get, find, synchronize, or update.
+ *
+ * @package php-ews\Type
+ */
+class FolderType extends BaseFolderType
+{
+ /**
+ * Contains all the configured permissions for a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\PermissionSetType
+ */
+ public $PermissionSet;
+
+ /**
+ * Represents the count of unread items within a given folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $UnreadCount;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ForwardItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ForwardItemType.php
new file mode 100644
index 00000000..ddd6ab89
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ForwardItemType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ForwardItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an Exchange store item to forward to recipients.
+ *
+ * @package php-ews\Type
+ */
+class ForwardItemType extends SmartResponseType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FractionalPageViewType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FractionalPageViewType.php
new file mode 100644
index 00000000..87b73cbf
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FractionalPageViewType.php
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FractionalPageViewType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes where the paged view starts and the maximum number of folders
+ * returned in a FindFolder request.
+ *
+ * @package php-ews\Type
+ */
+class FractionalPageViewType extends BasePagingType
+{
+ /**
+ * Represents the denominator of the fractional offset from the start of the
+ * total number of folders in the result set.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $Denominator;
+
+ /**
+ * Represents the numerator of the fractional offset from the start of the
+ * result set.
+ *
+ * The numerator must be equal to or less than the denominator.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $Numerator;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyResponseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyResponseType.php
new file mode 100644
index 00000000..5acdf47b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyResponseType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FreeBusyResponseType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the free/busy information for a single mailbox user.
+ *
+ * @package php-ews\Type
+ */
+class FreeBusyResponseType extends Type
+{
+ /**
+ * Contains availability information for a specific user.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\FreeBusyView
+ */
+ public $FreeBusyView;
+
+ /**
+ * Provides descriptive information about the response status.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Response\ResponseMessageType
+ */
+ public $ResponseMessage;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyView.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyView.php
new file mode 100644
index 00000000..0beeb9fc
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyView.php
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FreeBusyView.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents availability information for a specific user.
+ *
+ * @package php-ews\Type
+ */
+class FreeBusyView extends Type
+{
+ /**
+ * Contains a set of unique calendar item occurrences that represent the
+ * requested user's availability.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfCalendarEvent
+ */
+ public $CalendarEventArray;
+
+ /**
+ * Represents the type of requested free/busy information returned in the
+ * response.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\FreeBusyViewType
+ */
+ public $FreeBusyViewType;
+
+ /**
+ * Contains the merged free/busy stream of data.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $MergedFreeBusy;
+
+ /**
+ * Represents the time zone settings and working hours for the requested
+ * mailbox user.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\WorkingHours
+ */
+ public $WorkingHours;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyViewOptionsType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyViewOptionsType.php
new file mode 100644
index 00000000..fda79cf3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/FreeBusyViewOptionsType.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\FreeBusyViewOptionsType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the type of free/busy information returned in a response.
+ *
+ * @package php-ews\Type
+ */
+class FreeBusyViewOptionsType extends Type
+{
+ /**
+ * Represents the time difference between two successive slots in the
+ * FreeBusyMerged view.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $MergedFreeBusyIntervalInMinutes;
+
+ /**
+ * Defines the type of calendar information that a client requests.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\FreeBusyViewType
+ */
+ public $RequestedView;
+
+ /**
+ * Identifies the time span queried for the user availability information.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\Duration
+ */
+ public $TimeWindow;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupAttendeeConflictData.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupAttendeeConflictData.php
new file mode 100644
index 00000000..cd700472
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupAttendeeConflictData.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\GroupAttendeeConflictData.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents aggregate conflict information about the number of users who are
+ * available, the number of users who have conflicts, and the number of users
+ * who do not have availability information in a distribution list for a
+ * suggested meeting time.
+ *
+ * @package php-ews\Type
+ */
+class GroupAttendeeConflictData extends AttendeeConflictData
+{
+ /**
+ * Represents the number of users, resources, and rooms in a distribution
+ * list.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $NumberOfMembers;
+
+ /**
+ * Represents the number of distribution list members who are available for
+ * a suggested meeting time.
+ *
+ * This element represents members for whom the status is Free.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $NumberOfMembersAvailable;
+
+ /**
+ * Represents the number of distribution list members who have a conflict
+ * with a suggested meeting time.
+ *
+ * This element represents members who have a Busy, OOF, or Tentative status.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $NumberOfMembersWithConflict;
+
+ /**
+ * Represents the number of group members who do not have published
+ * free/busy data to compare to a suggested meeting time.
+ *
+ * This element represents members of a distribution list that is too large
+ * or members who have No Data status.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $NumberOfMembersWithNoData;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupByType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupByType.php
new file mode 100644
index 00000000..3835ff2e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupByType.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\GroupByType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines an arbitrary grouping for FindItem queries.
+ *
+ * @package php-ews\Type
+ */
+class GroupByType extends BaseGroupByType
+{
+ /**
+ * Represents the field that is used to determine the order of groups in a
+ * response.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\AggregateOnType
+ */
+ public $AggregateOn;
+
+ /**
+ * Identifies extended MAPI properties to get, set, or create.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToExtendedFieldType
+ */
+ public $ExtendedFieldURI;
+
+ /**
+ * Identifies frequently referenced properties by URI.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToUnindexedFieldType
+ */
+ public $FieldURI;
+
+ /**
+ * Identifies individual members of a dictionary.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToIndexedFieldType
+ */
+ public $IndexedFieldURI;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupedItemsType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupedItemsType.php
new file mode 100644
index 00000000..e57668ba
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/GroupedItemsType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\GroupedItemsType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a collection of items that are the result of a grouped FindItem
+ * operation call.
+ *
+ * @package php-ews\Type
+ */
+class GroupedItemsType extends Type
+{
+ /**
+ * Represents the property value that is used to group items in a grouped
+ * FindItem operation call.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $GroupIndex;
+
+ /**
+ * Contains an array of grouped items.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRealItemsType
+ */
+ public $Items;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImAddressDictionaryEntryType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImAddressDictionaryEntryType.php
new file mode 100644
index 00000000..0045afad
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImAddressDictionaryEntryType.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ImAddressDictionaryEntryType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an instant messaging (IM) address for a contact.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Create a common EntryType class.
+ * @todo Create a common TextEntryType class.
+ */
+class ImAddressDictionaryEntryType extends Type
+{
+ /**
+ * Represents the IM address.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $_;
+
+ /**
+ * Identifies the IM address.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ImAddressKeyType
+ */
+ public $Key;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImAddressDictionaryType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImAddressDictionaryType.php
new file mode 100644
index 00000000..952440b6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImAddressDictionaryType.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ImAddressDictionaryType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a collection of instant messaging addresses for a contact.
+ *
+ * @package php-ews\Type
+ */
+class ImAddressDictionaryType extends Type
+{
+ /**
+ * Represents an instant messaging address for a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ImAddressDictionaryEntryType
+ */
+ public $Entry;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImGroupType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImGroupType.php
new file mode 100644
index 00000000..baa5402f
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImGroupType.php
@@ -0,0 +1,74 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ImGroupType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines an instant messaging group.
+ *
+ * @package php-ews\Type
+ */
+class ImGroupType extends Type
+{
+ /**
+ * Contains the display name of a new instant messaging group contact or
+ * the display name of a new instant messaging group.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayName;
+
+ /**
+ * Specifies the instant messaging (IM) group identifier.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ExchangeStoreId;
+
+ /**
+ * Specifies an array of additional properties
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfExtendedPropertyType
+ */
+ public $ExtendedProperties;
+
+ /**
+ * Specifies the group class of an instant messaging (IM) group.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $GroupType;
+
+ /**
+ * Specifies the identifiers of the contacts that are part of the instant
+ * messaging (IM) group.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfItemIdsType
+ */
+ public $MemberCorrelationKey;
+
+ /**
+ * Represents the Simple Mail Transfer Protocol (SMTP) address of an account
+ * to be used for impersonation or a Simple Mail Transfer Protocol (SMTP)
+ * recipient address of a calendar or contact sharing request.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $SmtpAddress;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImItemListType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImItemListType.php
new file mode 100644
index 00000000..49c2aca0
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ImItemListType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ImItemListType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a list of instant messaging groups and instant messaging contacts.
+ *
+ * @package php-ews\Type
+ */
+class ImItemListType extends Type
+{
+ /**
+ * Represents an array of instant messaging (IM) groups.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfImGroupType
+ */
+ public $Groups;
+
+ /**
+ * Specifies an array of personas.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPeopleType
+ */
+ public $Personas;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IndexedPageViewType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IndexedPageViewType.php
new file mode 100644
index 00000000..7e3f58e1
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IndexedPageViewType.php
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\IndexedPageViewType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes how paged conversation or item information is returned for a
+ * FindItem operation or FindConversation operation request.
+ *
+ * @package php-ews\Type
+ */
+class IndexedPageViewType extends BasePagingType
+{
+ /**
+ * Describes whether the page of items or conversations will start from the
+ * beginning or the end of the set of items or conversations that are found
+ * by using the search criteria.
+ *
+ * Seeking from the end always searches backward.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\IndexBasePointType
+ */
+ public $BasePoint;
+
+ /**
+ * Describes the offset from the BasePoint.
+ *
+ * If BasePoint is equal to Beginning, the offset is positive. If BasePoint
+ * is equal to End, the offset is handled as if it were negative. This
+ * identifies which item or conversation will be the first to be delivered
+ * in the response.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $Offset;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IndividualAttendeeConflictData.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IndividualAttendeeConflictData.php
new file mode 100644
index 00000000..37b308c5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IndividualAttendeeConflictData.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\IndividualAttendeeConflictData.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a user's or contact's free/busy status for a time window that
+ * occurs at the same time as the suggested meeting time identified in the
+ * Suggestion element.
+ *
+ * @package php-ews\Type
+ */
+class IndividualAttendeeConflictData extends AttendeeConflictData
+{
+ /**
+ * Represents the free/busy status of a user for a suggested meeting time.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\LegacyFreeBusyType
+ */
+ public $BusyType;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InstalledAppType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InstalledAppType.php
new file mode 100644
index 00000000..96d9c7fe
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InstalledAppType.php
@@ -0,0 +1,173 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\InstalledAppType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Undocumented.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Update once documentation exists.
+ */
+class InstalledAppType extends Type
+{
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $ConsentState;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $Description;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $DisplayName;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var boolean
+ *
+ * @todo Update once documentation exists.
+ */
+ public $Enabled;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $HighResolutionIconUrl;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $IconUrl;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $Id;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $LicenseStatus;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $MarketplaceAssetId;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $ProviderName;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $Requirements;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ * @todo Make a DateTime object.
+ */
+ public $TrialExpirationDate;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $Type;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $Version;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InternetHeaderType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InternetHeaderType.php
new file mode 100644
index 00000000..52b3f4e5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InternetHeaderType.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\InternetHeaderType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the Internet message header for a given header within a headers
+ * collection.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Extend a string class.
+ */
+class InternetHeaderType extends Type
+{
+ /**
+ * The value of the header.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $_;
+
+ /**
+ * Identifies the header name.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $HeaderName;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IntervalRecurrencePatternBaseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IntervalRecurrencePatternBaseType.php
new file mode 100644
index 00000000..41c8b42a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IntervalRecurrencePatternBaseType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\IntervalRecurrencePatternBaseType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for recurrence patterns with an interval.
+ *
+ * @package php-ews\Type
+ */
+abstract class IntervalRecurrencePatternBaseType extends RecurrencePatternBaseType
+{
+ /**
+ * Defines the interval between two consecutive recurring pattern items.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $Interval;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InvalidRecipientType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InvalidRecipientType.php
new file mode 100644
index 00000000..328aeb1e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/InvalidRecipientType.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\InvalidRecipientType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the SMTP address of the invalid recipient and information about
+ * why the recipient is invalid.
+ *
+ * @package php-ews\Type
+ */
+class InvalidRecipientType extends Type
+{
+ /**
+ * Provides a text description of the status of the response.
+ *
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $MessageText;
+
+ /**
+ * Provides an error code that identifies the specific error that the
+ * request encountered.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\InvalidRecipientResponseCodeType
+ */
+ public $ResponseCode;
+
+ /**
+ * Contains the SMTP address of the invalid recipient.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $SmtpAddress;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsEqualToType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsEqualToType.php
new file mode 100644
index 00000000..885d4457
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsEqualToType.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\IsEqualToType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and evaluates to true if they are equal.
+ *
+ * @package php-ews\Type
+ */
+class IsEqualToType extends TwoOperandExpressionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsGreaterThanOrEqualToType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsGreaterThanOrEqualToType.php
new file mode 100644
index 00000000..8dac63b5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsGreaterThanOrEqualToType.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\IsGreaterThanOrEqualToType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and returns true if the first property is
+ * greater than or equal to the second.
+ *
+ * @package php-ews\Type
+ */
+class IsGreaterThanOrEqualToType extends TwoOperandExpressionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsGreaterThanType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsGreaterThanType.php
new file mode 100644
index 00000000..785bc70c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsGreaterThanType.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\IsGreaterThanType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and returns true if the first property is
+ * greater.
+ *
+ * @package php-ews\Type
+ */
+class IsGreaterThanType extends TwoOperandExpressionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsLessThanOrEqualToType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsLessThanOrEqualToType.php
new file mode 100644
index 00000000..16f7d687
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsLessThanOrEqualToType.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\IsLessThanOrEqualToType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and returns true if the first property is
+ * less than or equal to the second.
+ *
+ * @package php-ews\Type
+ */
+class IsLessThanOrEqualToType extends TwoOperandExpressionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsLessThanType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsLessThanType.php
new file mode 100644
index 00000000..14012353
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsLessThanType.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\IsLessThanType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and returns true if the first property is
+ * less than the second.
+ *
+ * @package php-ews\Type
+ */
+class IsLessThanType extends TwoOperandExpressionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsNotEqualToType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsNotEqualToType.php
new file mode 100644
index 00000000..dad615bd
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/IsNotEqualToType.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\IsNotEqualToType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and returns true if the first property is
+ * less than or equal to the second.
+ *
+ * @package php-ews\Type
+ */
+class IsNotEqualToType extends TwoOperandExpressionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemAttachmentType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemAttachmentType.php
new file mode 100644
index 00000000..aba1725b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemAttachmentType.php
@@ -0,0 +1,104 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ItemAttachmentType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an Exchange item that is attached to another Exchange item.
+ *
+ * @package php-ews\Type
+ */
+class ItemAttachmentType extends AttachmentType
+{
+ /**
+ * Represents an Exchange calendar item attachment.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\CalendarItemType
+ */
+ public $CalendarItem;
+
+ /**
+ * Represents an Exchange contact item attachment.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ContactItemType
+ */
+ public $Contact;
+
+ /**
+ * Represents a generic Exchange item attachment.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemType
+ */
+ public $Item;
+
+ /**
+ * Represents a meeting cancellation in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingCancellationMessageType
+ */
+ public $MeetingCancellation;
+
+ /**
+ * Represents a meeting in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingMessageType
+ */
+ public $MeetingMessage;
+
+ /**
+ * Represents a meeting request in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingRequestMessageType
+ */
+ public $MeetingRequest;
+
+ /**
+ * Represents a meeting response in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingResponseMessageType
+ */
+ public $MeetingResponse;
+
+ /**
+ * Represents an Exchange e-mail message attachment.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MessageType
+ */
+ public $Message;
+
+ /**
+ * Represents a post item in the Exchange store.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\PostItemType
+ */
+ public $PostItem;
+
+ /**
+ * Represents an Exchange task attachment.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\TaskType
+ */
+ public $Task;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemChangeDescriptionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemChangeDescriptionType.php
new file mode 100644
index 00000000..3f457273
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemChangeDescriptionType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ItemChangeDescriptionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for changes to individual item properties.
+ *
+ * @package php-ews\Type
+ */
+class ItemChangeDescriptionType extends ChangeDescriptionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemChangeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemChangeType.php
new file mode 100644
index 00000000..e758cdf2
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemChangeType.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ItemChangeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an item identifier and the updates to apply to the item.
+ *
+ * @package php-ews\Type
+ */
+class ItemChangeType extends Type
+{
+ /**
+ * Contains the unique identifier and change key of an item in the Exchange
+ * store.
+ *
+ * This element is required if the OccurrenceItemId or RecurringMasterItemId
+ * element is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ItemId;
+
+ /**
+ * Identifies a single occurrence of a recurring item.
+ *
+ * This element is required if used. This element is required if the
+ * RecurringMasterItemId or ItemId element is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\OccurrenceItemIdType
+ */
+ public $OccurrenceItemId;
+
+ /**
+ * Identifies a recurrence master item by identifying one of its related
+ * occurrence items' identifiers.
+ *
+ * This element is required if used. This element is required if the
+ * OccurrenceItemId or ItemId element is not used.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\RecurringMasterItemIdType
+ */
+ public $RecurringMasterItemId;
+
+ /**
+ * Contains an array that defines append, set, and delete changes to item
+ * properties.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfItemChangeDescriptionsType
+ */
+ public $Updates;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemIdType.php
new file mode 100644
index 00000000..0d549331
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemIdType.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ItemIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Contains the unique identifier and change key of an item in the Exchange
+ * store.
+ *
+ * @package php-ews\Type
+ */
+class ItemIdType extends BaseItemIdType
+{
+ /**
+ * Identifies a specific version of an item.
+ *
+ * A ChangeKey is required for the following scenarios:
+ * - The UpdateItem element requires a ChangeKey if the ConflictResolution
+ * attribute is set to AutoResolve. AutoResolve is a default value. If the
+ * ChangeKey attribute is not included, the response will return a
+ * ResponseCode value equal to ErrorChangeKeyRequired.
+ * - The SendItem element requires a ChangeKey to test whether the attempted
+ * operation will act upon the most recent version of an item. If the
+ * ChangeKey attribute is not included in the ItemId or if the ChangeKey
+ * is empty, the response will return a ResponseCode value equal to
+ * ErrorStaleObject.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ChangeKey;
+
+ /**
+ * Identifies a specific item in the Exchange store.
+ *
+ * Id is case-sensitive; therefore, comparisons between Ids must be
+ * case-sensitive or binary.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Id;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemResponseShapeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemResponseShapeType.php
new file mode 100644
index 00000000..a48af464
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemResponseShapeType.php
@@ -0,0 +1,77 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ItemResponseShapeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a set of properties to return in a GetItem operation, FindItem
+ * operation, or SyncFolderItems operation response.
+ *
+ * @package php-ews\Type
+ */
+class ItemResponseShapeType extends Type
+{
+ /**
+ * Identifies additional properties to return in a response.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfPathsToElementType
+ */
+ public $AdditionalProperties;
+
+ /**
+ * Identifies the basic configuration of properties to return in an item or
+ * folder response.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DefaultShapeNamesType
+ */
+ public $BaseShape;
+
+ /**
+ * Identifies how the body text is formatted in the response.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\BodyTypeResponseType
+ */
+ public $BodyType;
+
+ /**
+ * Indicates whether the item HTML body is converted to UTF8.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $ConvertHtmlCodePageToUTF8;
+
+ /**
+ * Specifies whether HTML content filtering is enabled.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $FilterHtmlContent;
+
+ /**
+ * Specifies whether the Multipurpose Internet Mail Extensions (MIME)
+ * content of an item is returned in the response.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IncludeMimeContent;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemType.php
new file mode 100644
index 00000000..64c94034
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ItemType.php
@@ -0,0 +1,443 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a generic item in the Exchange store.
+ *
+ * @package php-ews\Type
+ */
+class ItemType extends Type
+{
+ /**
+ * Contains the items or files that are attached to an item in the Exchange
+ * store.
+ *
+ * This property is read-only.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAttachmentsType
+ */
+ public $Attachments;
+
+ /**
+ * Represents the actual body content of a message.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\BodyType
+ */
+ public $Body;
+
+ /**
+ * Represents a collection of strings that identify the categories to which
+ * an item in the mailbox belongs.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $Categories;
+
+ /**
+ * Contains the identifier of an item or conversation.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ConversationId;
+
+ /**
+ * Represents the culture for a given item in a mailbox.
+ *
+ * Specified by using the RFC 1766 culture identifier; for example, en-US.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Culture;
+
+ /**
+ * Represents the date and time that a given item in the mailbox was
+ * created.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $DateTimeCreated;
+
+ /**
+ * Represents the date and time that an item in a mailbox was received.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $DateTimeReceived;
+
+ /**
+ * Represents the date and time that an item in a mailbox was sent.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $DateTimeSent;
+
+ /**
+ * Represents the display string that is used for the contents of the Cc
+ * line.
+ *
+ * This is the concatenated string of all Cc recipient display names.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $DisplayCc;
+
+ /**
+ * Represents the display string that is used for the contents of the To
+ * line.
+ *
+ * This is the concatenated string of all To recipient display names.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $DisplayTo;
+
+ /**
+ * Contains the client's rights based on the permission settings for the
+ * item or folder.
+ *
+ * This property is read-only.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\EffectiveRightsType
+ */
+ public $EffectiveRights;
+
+ /**
+ * Identifies extended properties on folders and items.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ExtendedPropertyType[]
+ */
+ public $ExtendedProperty = array();
+
+ /**
+ * Represents a property that is set to true if an item has at least one
+ * visible attachment.
+ *
+ * This property is read-only.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $HasAttachments;
+
+ /**
+ * Describes the importance of an item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ImportanceChoicesType
+ */
+ public $Importance;
+
+ /**
+ * Represents the identifier of the item to which this item is a reply.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $InReplyTo;
+
+ /**
+ * Represents the collection of all Internet message headers that are
+ * contained in an item in a mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfInternetHeadersType
+ */
+ public $InternetMessageHeaders;
+
+ /**
+ * Indicates whether the item is associated with a folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsAssociated;
+
+ /**
+ * Indicates whether an item has not yet been sent.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsDraft;
+
+ /**
+ * Indicates whether a user sent an item to him or herself.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsFromMe;
+
+ /**
+ * Indicates whether the item had previously been sent.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsResend;
+
+ /**
+ * Indicates whether an item has been submitted to the Outbox default
+ * folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsSubmitted;
+
+ /**
+ * Indicates whether the item has been modified.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsUnmodified;
+
+ /**
+ * Represents the message class of an item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ItemClassType
+ */
+ public $ItemClass;
+
+ /**
+ * Contains the unique identifier and change key of an item in the Exchange
+ * store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ItemId;
+
+ /**
+ * Contains the display name of the last user to modify an item.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $LastModifiedName;
+
+ /**
+ * Indicates when an item was last modified.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $LastModifiedTime;
+
+ /**
+ * Contains the native Multipurpose Internet Mail Extensions (MIME) stream
+ * of an object that is represented in base64Binary format.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MimeContentType
+ */
+ public $MimeContent;
+
+ /**
+ * Represents the identifier of the parent folder that contains the item or
+ * folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\FolderIdType
+ */
+ public $ParentFolderId;
+
+ /**
+ * Identifies the delegate in a delegate access scenario.
+ *
+ * @since Exchange 2007 SP1
+ * @deprecated Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $ReceivedBy;
+
+ /**
+ * Identifies the principal in a delegate access scenario.
+ *
+ * @since Exchange 2007 SP1
+ * @deprecated Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $ReceivedRepresenting;
+
+ /**
+ * Represents the date and time when the event occurs.
+ *
+ * This is used by the ReminderMinutesBeforeStart element to determine when
+ * the reminder is displayed.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $ReminderDueBy;
+
+ /**
+ * Indicates whether a reminder has been set for an item in the Exchange
+ * store.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $ReminderIsSet;
+
+ /**
+ * Represents the number of minutes before an event when a reminder is
+ * displayed.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ *
+ * @todo Determine if we need a ReminderMinutesBeforeStartType
+ * implementation.
+ */
+ public $ReminderMinutesBeforeStart;
+
+ /**
+ * Contains a collection of all the response objects that are associated
+ * with an item in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfResponseObjectsType
+ */
+ public $ResponseObjects;
+
+ /**
+ * Indicates the sensitivity level of an item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\SensitivityChoicesType
+ */
+ public $Sensitivity;
+
+ /**
+ * Represents the size in bytes of an item.
+ *
+ * This property is read-only.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $Size;
+
+ /**
+ * Exchange store identifier of an item.
+ *
+ * @since Exchange 2010 SP2
+ *
+ * @var string
+ *
+ * @todo Create a base64 class?
+ */
+ public $StoreEntryId;
+
+ /**
+ * Represents the subject for Exchange store items and response objects.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Subject;
+
+ /**
+ * Represents an HTML fragment or plain text which represents the unique
+ * body of this conversation.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\BodyType
+ */
+ public $UniqueBody;
+
+ /**
+ * Represents a URL to concatenate to the Microsoft Office Outlook Web App
+ * endpoint to edit an item in Outlook Web App.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $WebClientEditFormQueryString;
+
+ /**
+ * Represents a URL to concatenate to the Microsoft Office Outlook Web App
+ * endpoint to read an item in Outlook Web App.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $WebClientReadFormQueryString;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/KeywordStatisticsSearchResultType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/KeywordStatisticsSearchResultType.php
new file mode 100644
index 00000000..00a58226
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/KeywordStatisticsSearchResultType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\KeywordStatisticsSearchResultType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single keyword search result.
+ *
+ * @package php-ews\Type
+ */
+class KeywordStatisticsSearchResultType extends Type
+{
+ /**
+ * Identifies how many times a keyword was found.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $ItemHits;
+
+ /**
+ * Specifies a single keyword.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Keyword;
+
+ /**
+ * Defines the total size of one or more mailbox items.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $Size;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailTips.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailTips.php
new file mode 100644
index 00000000..3c4096ba
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailTips.php
@@ -0,0 +1,120 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MailTips.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents values for various types of mail tips.
+ *
+ * @package php-ews\Type
+ */
+class MailTips extends Type
+{
+ /**
+ * Represents a customized mail tip message.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $CustomMailTip;
+
+ /**
+ * Indicates whether delivery restrictions will prevent the sender’s message
+ * from reaching the recipient.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $DeliveryRestricted;
+
+ /**
+ * Represents the count of external members in a group.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $ExternalMemberCount;
+
+ /**
+ * Indicates whether the recipient is invalid.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $InvalidRecipient;
+
+ /**
+ * Indicates whether the recipient's mailbox is being moderated.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsModerated;
+
+ /**
+ * Indicates whether the mailbox for the recipient is full.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $MailboxFull;
+
+ /**
+ * Represents the maximum message size the recipient can accept.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $MaxMessageSize;
+
+ /**
+ * Represents the response message and a duration time for sending the
+ * response message.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\OutOfOfficeMailTip
+ */
+ public $OutOfOffice;
+
+ /**
+ * Indicates that the mail tips in this element could not be evaluated
+ * before the server's processing timeout expired.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MailTipTypes
+ */
+ public $PendingMailTips;
+
+ /**
+ * Represents the mailbox of the recipient.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $RecipientAddress;
+
+ /**
+ * Represents the count of all members in a group.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $TotalMemberCount;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailTipsServiceConfiguration.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailTipsServiceConfiguration.php
new file mode 100644
index 00000000..bcef3440
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailTipsServiceConfiguration.php
@@ -0,0 +1,85 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MailTipsServiceConfiguration.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents service configuration information for the mail tips service.
+ *
+ * @package php-ews\Type
+ */
+class MailTipsServiceConfiguration extends ServiceConfiguration
+{
+ /**
+ * Identifies the list of internal SMTP domains of the organization.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\SmtpDomainList
+ */
+ public $InternalDomains;
+
+ /**
+ * Represents the large audience threshold for a client.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $LargeAudienceThreshold;
+
+ /**
+ * Indicates whether the mail tips service is available.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $MailTipsEnabled;
+
+ /**
+ * Represents the maximum message size a recipient can accept.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $MaxMessageSize;
+
+ /**
+ * Indicates the maximum number of recipients that can be passed to the
+ * GetMailTips operation.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $MaxRecipientsPerGetMailTipsRequest;
+
+ /**
+ * Indicates whether consumers of the GetMailTips operation have to show
+ * mail tips that indicate the number of external recipients to which a
+ * message is addressed.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $ShowExternalRecipientCount;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxData.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxData.php
new file mode 100644
index 00000000..8ff96784
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxData.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MailboxData.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an individual mailbox user and options for the type of data to be
+ * returned about the mailbox user.
+ *
+ * @package php-ews\Type
+ */
+class MailboxData extends Type
+{
+ /**
+ * Represents the type of attendee identified in the Email property.
+ *
+ * This is used in requests for meeting suggestions.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MeetingAttendeeType
+ */
+ public $AttendeeType;
+
+ /**
+ * Represents the mailbox user for a GetUserAvailability query.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $Email;
+
+ /**
+ * Specifies whether to return suggested times for calendar times that
+ * conflict among the attendees.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $ExcludeConflicts;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxHoldResultType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxHoldResultType.php
new file mode 100644
index 00000000..5dddbfa6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxHoldResultType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MailboxHoldResultType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the result of the mailbox hold request request.
+ *
+ * @package php-ews\Type
+ */
+class MailboxHoldResultType extends Type
+{
+ /**
+ * Contains the mailbox hold identifier.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $HoldId;
+
+ /**
+ * Specifies a list of one or more mailbox hold statuses.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfMailboxHoldStatusType
+ */
+ public $MailboxHoldStatuses;
+
+ /**
+ * Contains the search query for the hold.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Query;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxHoldStatusType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxHoldStatusType.php
new file mode 100644
index 00000000..3304dd50
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxHoldStatusType.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MailboxHoldStatusType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the hold status of a mailbox.
+ *
+ * @package php-ews\Type
+ */
+class MailboxHoldStatusType extends Type
+{
+ /**
+ * Specifies additional information about the hold status of a mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $AdditionalInfo;
+
+ /**
+ * Contains the identifier for a mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Mailbox;
+
+ /**
+ * Specifies the hold status for a mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\HoldStatusType
+ */
+ public $Status;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxQueryType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxQueryType.php
new file mode 100644
index 00000000..8411c6af
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxQueryType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MailboxQueryType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a query and the scope of a discovery search.
+ *
+ * @package php-ews\Type
+ */
+class MailboxQueryType extends Type
+{
+ /**
+ * Specifies a list of one or more mailboxes and associated search scopes
+ * for a discovery search.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfMailboxSearchScopesType
+ */
+ public $MailboxSearchScopes;
+
+ /**
+ * Contains the search query for the hold.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Query;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxSearchScopeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxSearchScopeType.php
new file mode 100644
index 00000000..fc8be21b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxSearchScopeType.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MailboxSearchScopeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a mailbox and a search scope for a discovery search.
+ *
+ * @package php-ews\Type
+ */
+class MailboxSearchScopeType extends Type
+{
+ /**
+ * Internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfExtendedAttributesType
+ */
+ public $ExtendedAttributes;
+
+ /**
+ * Contains an identifier for a mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Mailbox;
+
+ /**
+ * Specifies a mailbox and a search scope for a discovery search.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MailboxSearchLocationType
+ */
+ public $SearchScope;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxStatisticsSearchResultType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxStatisticsSearchResultType.php
new file mode 100644
index 00000000..eccb1b9f
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MailboxStatisticsSearchResultType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MailboxStatisticsSearchResultType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the results of a keyword search.
+ *
+ * @package php-ews\Type
+ */
+class MailboxStatisticsSearchResultType extends Type
+{
+ /**
+ * Contains a single keyword search result.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\KeywordStatisticsSearchResultType
+ */
+ public $KeywordStatisticsSearchResult;
+
+ /**
+ * Identifies the user's mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\UserMailboxType
+ */
+ public $UserMailbox;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ManagedFolderInformationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ManagedFolderInformationType.php
new file mode 100644
index 00000000..fd0468f8
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ManagedFolderInformationType.php
@@ -0,0 +1,108 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ManagedFolderInformationType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Compound property for Managed Folder related information for Managed Folders.
+ *
+ * @package php-ews\Type
+ */
+class ManagedFolderInformationType extends Type
+{
+ /**
+ * Indicates whether a managed folder can be deleted by a customer.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $CanDelete;
+
+ /**
+ * Indicates whether a given managed folder can be renamed or moved by the
+ * customer.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $CanRenameOrMove;
+
+ /**
+ * Contains the comment that is associated with a managed folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Comment;
+
+ /**
+ * Describes the total size of all the contents of a managed folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $FolderSize;
+
+ /**
+ * Indicates whether the managed folder has a quota.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $HasQuota;
+
+ /**
+ * Specifies the URL that will be the default home page for the managed
+ * folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $HomePage;
+
+ /**
+ * Indicates whether the managed folder is the root for all managed folders.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsManagedFoldersRoot;
+
+ /**
+ * Contains the folder ID of the managed folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ManagedFolderId;
+
+ /**
+ * Indicates whether the managed folder comment must be displayed.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $MustDisplayComment;
+
+ /**
+ * Describes the storage quota for the managed folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $StorageQuota;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingCancellationMessageType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingCancellationMessageType.php
new file mode 100644
index 00000000..caa7f5a2
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingCancellationMessageType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MeetingCancellationMessageType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a meeting cancellation in the Exchange store.
+ *
+ * @package php-ews\Type
+ */
+class MeetingCancellationMessageType extends MeetingMessageType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingMessageType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingMessageType.php
new file mode 100644
index 00000000..60f419b6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingMessageType.php
@@ -0,0 +1,94 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MeetingMessageType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a meeting in the Exchange store.
+ *
+ * @package php-ews\Type
+ */
+class MeetingMessageType extends MessageType
+{
+ /**
+ * Represents the calendar item that is associated with a MeetingMessage.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $AssociatedCalendarItemId;
+
+ /**
+ * Indicates the date and time that an instance of an iCalendar object was
+ * created.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $DateTimeStamp;
+
+ /**
+ * Indicates whether a meeting message item has been processed.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $HasBeenProcessed;
+
+ /**
+ * Indicates whether a meeting was handled by an account with delegate
+ * access.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsDelegated;
+
+ /**
+ * Indicates whether a meeting message is out-of-date.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsOutOfDate;
+
+ /**
+ * Used to identify a specific instance of a recurring calendar item.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $RecurrenceId;
+
+ /**
+ * Represents the type of recipient response received for a meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ResponseTypeType
+ */
+ public $ResponseType;
+
+ /**
+ * Identifies a calendar item.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ public $UID;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingRequestMessageType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingRequestMessageType.php
new file mode 100644
index 00000000..8dd888b6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingRequestMessageType.php
@@ -0,0 +1,423 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MeetingRequestMessageType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a meeting cancellation in the Exchange store.
+ *
+ * @package php-ews\Type
+ */
+class MeetingRequestMessageType extends MeetingMessageType
+{
+ /**
+ * Represents the total number of calendar items that are adjacent to a
+ * meeting time.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $AdjacentMeetingCount;
+
+ /**
+ * Describes all calendar items that are adjacent to a meeting time.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAllItemsType
+ */
+ public $AdjacentMeetings;
+
+ /**
+ * Represents whether a new meeting time can be proposed for a meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $AllowNewTimeProposal;
+
+ /**
+ * Represents the date and time when an attendee replied to a meeting
+ * request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $AppointmentReplyTime;
+
+ /**
+ * Specifies the sequence number of a version of an appointment.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $AppointmentSequenceNumber;
+
+ /**
+ * Specifies the status of the appointment.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $AppointmentState;
+
+ /**
+ * Represents the occurrence type of a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\CalendarItemTypeType
+ */
+ public $CalendarItemType;
+
+ /**
+ * Describes the type of conferencing that is performed with a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ConferenceType
+ */
+ public $ConferenceType;
+
+ /**
+ * Represents the number of meetings that conflict with the meeting request.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $ConflictingMeetingCount;
+
+ /**
+ * Identifies all items that conflict with a meeting time.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAllItemsType
+ */
+ public $ConflictingMeetings;
+
+ /**
+ * Contains an array of deleted occurrences of a recurring calendar item.
+ *
+ * This element is valid if CalendarItemType has the RecurringMaster value.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfDeletedOccurrencesType
+ */
+ public $DeletedOccurrences;
+
+ /**
+ * Represents the duration of a calendar item.
+ *
+ * This property is read-only.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Duration;
+
+ /**
+ * Represents the end of a duration.
+ *
+ * This element only applies to a single occurrence of a calendar item.
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $End;
+
+ /**
+ * Represents the end time zone of the calendar item.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\TimeZoneDefinitionType
+ */
+ public $EndTimeZone;
+
+ /**
+ * Represents the first occurrence of a recurring calendar item.
+ *
+ * This element is valid if CalendarItemType has the RecurringMaster value.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\OccurrenceInfoType
+ */
+ public $FirstOccurrence;
+
+ /**
+ * Represents the intended status for the calendar item that is associated
+ * with the meeting request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\LegacyFreeBusyType
+ */
+ public $IntendedFreeBusyStatus;
+
+ /**
+ * Indicates whether a calendar item or meeting request represents an
+ * all-day event.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsAllDayEvent;
+
+ /**
+ * Indicates whether an appointment or meeting has been cancelled.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsCancelled;
+
+ /**
+ * Indicates whether the calendar item is either a meeting or appointment.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsMeeting;
+
+ /**
+ * Indicates whether the meeting is online.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsOnlineMeeting;
+
+ /**
+ * Indicates whether a calendar item is part of a recurring item.
+ *
+ * This element is read-only.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsRecurring;
+
+ /**
+ * Represents the last occurrence of a recurring calendar item.
+ *
+ * This element is valid if CalendarItemType has the RecurringMaster value.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\OccurrenceInfoType
+ */
+ public $LastOccurrence;
+
+ /**
+ * Represents the free/busy status of the calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\LegacyFreeBusyType
+ */
+ public $LegacyFreeBusyStatus;
+
+ /**
+ * Represents the location of a meeting or appointment.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Location;
+
+ /**
+ * Describes the type of the meeting request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MeetingRequestTypeType
+ */
+ public $MeetingRequestType;
+
+ /**
+ * Indicates whether a meeting request has been sent to requested attendees.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $MeetingRequestWasSent;
+
+ /**
+ * Represents the time zone of the location where the meeting is hosted.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\TimeZoneType
+ */
+ public $MeetingTimeZone;
+
+ /**
+ * Contains the URL for the meeting workspace that is linked to by the
+ * calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $MeetingWorkspaceUrl;
+
+ /**
+ * Contains an array of recurring calendar item occurrences that have been
+ * modified so that they are different than the recurrence master item.
+ *
+ * This element is valid if CalendarItemType has the RecurringMaster value.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfOccurrenceInfoType
+ */
+ public $ModifiedOccurrences;
+
+ /**
+ * Contains the status of or response to a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ResponseTypeType
+ */
+ public $MyResponseType;
+
+ /**
+ * Specifies the URL for a Microsoft Netshow online meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $NetShowUrl;
+
+ /**
+ * Represents attendees that are not required to attend a meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAttendeesType
+ */
+ public $OptionalAttendees;
+
+ /**
+ * Represents the organizer of a meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $Organizer;
+
+ /**
+ * Represents the original start time of a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $OriginalStart;
+
+ /**
+ * Contains the recurrence pattern for calendar items and meeting requests.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\RecurrenceType
+ */
+ public $Recurrence;
+
+ /**
+ * Represents attendees that are required to attend a meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAttendeesType
+ */
+ public $RequiredAttendees;
+
+ /**
+ * Represents a scheduled resource for a meeting.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfAttendeesType
+ */
+ public $Resources;
+
+ /**
+ * Represents the start of a calendar item.
+ *
+ * This element only applies to a single occurrence of a calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $Start;
+
+ /**
+ * Represents the start time zone of the calendar item.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\TimeZoneDefinitionType
+ */
+ public $StartTimeZone;
+
+ /**
+ * Provides a text description of a time zone.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $TimeZone;
+
+ /**
+ * Provides a description of when a meeting occurs.
+ *
+ * @since Exchange 2007
+ *
+ * @type string
+ */
+ public $When;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingResponseMessageType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingResponseMessageType.php
new file mode 100644
index 00000000..651aa4ec
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MeetingResponseMessageType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MeetingResponseMessageType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a meeting response in the Exchange store.
+ *
+ * @package php-ews\Type
+ */
+class MeetingResponseMessageType extends MeetingMessageType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MemberType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MemberType.php
new file mode 100644
index 00000000..1a17defe
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MemberType.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MemberType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a member of a distribution list.
+ *
+ * @package php-ews\Type
+ */
+class MemberType extends Type
+{
+ /**
+ * Provides a unique identifier for the distribution list member.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Key;
+
+ /**
+ * Represents the e-mail address of the distribution list member.
+ *
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $Mailbox;
+
+ /**
+ * Provides information about the status of a distribution list member.
+ *
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MemberStatusType
+ */
+ public $Status;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MembersListType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MembersListType.php
new file mode 100644
index 00000000..645643f1
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MembersListType.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MembersListType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the list of members for a distribution list.
+ *
+ * @package php-ews\Type
+ */
+class MembersListType extends Type
+{
+ /**
+ * Provides an identifier for a fully resolved e-mail address, and the
+ * status of that address on the server.
+ *
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\MemberType[]
+ */
+ public $Member = array();
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MessageTrackingReportType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MessageTrackingReportType.php
new file mode 100644
index 00000000..21a0b9a6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MessageTrackingReportType.php
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MessageTrackingReportType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single message that is returned in a GetMessageTrackingReport
+ * operation.
+ *
+ * @package php-ews\Type
+ */
+class MessageTrackingReportType extends Type
+{
+ /**
+ * Contains a list of the recipients of the e-mail message.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfEmailAddressesType
+ */
+ public $OriginalRecipients;
+
+ /**
+ * Contains a list of one or more tracking properties.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfTrackingPropertiesType
+ */
+ public $Properties;
+
+ /**
+ * Contains contact information for the alleged sender of an e-mail message.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $PurportedSender;
+
+ /**
+ * Contains a list of one or more tracking events for the recipients.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRecipientTrackingEventType
+ */
+ public $RecipientTrackingEvents;
+
+ /**
+ * Contains contact information for the sender of the e-mail message.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $Sender;
+
+ /**
+ * Contains the subject of the e-mail message.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ public $Subject;
+
+ /**
+ * Contains the time of day that the e-mail message was submitted.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $SubmitTime;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MessageType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MessageType.php
new file mode 100644
index 00000000..b4b306d5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MessageType.php
@@ -0,0 +1,148 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MessageType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a Microsoft Exchange e-mail message.
+ *
+ * @package php-ews\Type
+ */
+class MessageType extends ItemType
+{
+ /**
+ * Represents a collection of recipients to receive a blind carbon copy
+ * (Bcc) of an e-mail.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRecipientsType
+ */
+ public $BccRecipients;
+
+ /**
+ * Represents a collection of recipients that will receive a copy of the
+ * message.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRecipientsType
+ */
+ public $CcRecipients;
+
+ /**
+ * Contains a binary ID that represents the thread to which this message
+ * belongs.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a base 64 class?
+ */
+ public $ConversationIndex;
+
+ /**
+ * Represents the conversation identifier.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ConversationTopic;
+
+ /**
+ * Represents the addressee from whom the message was sent.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $From;
+
+ /**
+ * Represents the Internet message identifier of an item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $InternetMessageId;
+
+ /**
+ * Indicates whether the sender of an item requests a delivery receipt.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsDeliveryReceiptRequested;
+
+ /**
+ * Indicates whether a message has been read.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsRead;
+
+ /**
+ * Indicates whether the sender of an item requests a read receipt.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsReadReceiptRequested;
+
+ /**
+ * Indicates whether a response to an e-mail message is requested.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsResponseRequested;
+
+ /**
+ * Represents the Usenet header that is used to correlate replies with their
+ * original messages.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $References;
+
+ /**
+ * Identifies a set of addresses to which replies should be sent.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRecipientsType
+ */
+ public $ReplyTo;
+
+ /**
+ * Identifies the sender of an item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\SensitivityChoicesType
+ */
+ public $Sender;
+
+ /**
+ * Contains a set of recipients of a message.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRecipientsType
+ */
+ public $ToRecipients;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MimeContentType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MimeContentType.php
new file mode 100644
index 00000000..733c2202
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MimeContentType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MimeContentType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the native Multipurpose Internet Mail Extensions (MIME) stream of
+ * an object that is represented in base64Binary format.
+ *
+ * @package php-ews\Type
+ */
+class MimeContentType extends Type
+{
+ /**
+ * A text value that represents a base64Binary MIME stream.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $_;
+
+ /**
+ * The International Standards Organization (ISO) name of the character set
+ * used in the MIME message.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $CharacterSet;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ModifiedEventType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ModifiedEventType.php
new file mode 100644
index 00000000..c2ba0a7a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ModifiedEventType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ModifiedEventType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an event in which an item or folder is modified.
+ *
+ * @package php-ews\Type
+ */
+class ModifiedEventType extends BaseObjectChangedEventType
+{
+ /**
+ * Represents the count of unread items within a given folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $UnreadCount;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MonthlyRegeneratingPatternType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MonthlyRegeneratingPatternType.php
new file mode 100644
index 00000000..22a0f57b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MonthlyRegeneratingPatternType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MonthlyRegeneratingPatternType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes the frequency, in months, of which task is regenerated.
+ *
+ * @package php-ews\Type
+ */
+class MonthlyRegeneratingPatternType extends RegeneratingPatternBaseType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MovedCopiedEventType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MovedCopiedEventType.php
new file mode 100644
index 00000000..66d4ede8
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MovedCopiedEventType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MovedCopiedEventType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an event in which an item or folder is copied.
+ *
+ * @package php-ews\Type
+ */
+class MovedCopiedEventType extends BaseObjectChangedEventType
+{
+ /**
+ * Represents the folder identifier of the original folder before it was
+ * copied.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\FolderIdType
+ */
+ public $OldFolderId;
+
+ /**
+ * Contains the unique identifier of the original item before it was copied.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $OldItemId;
+
+ /**
+ * Contains the identifier of the original parent folder of an item or
+ * folder that was copied.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\FolderIdType
+ */
+ public $OldParentFolderId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MultipleOperandBooleanExpressionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MultipleOperandBooleanExpressionType.php
new file mode 100644
index 00000000..3bb2f1d6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/MultipleOperandBooleanExpressionType.php
@@ -0,0 +1,143 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\MultipleOperandBooleanExpressionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for derived elements that represent a restriction formed by two or
+ * more Boolean operands.
+ *
+ * @package php-ews\Type
+ */
+abstract class MultipleOperandBooleanExpressionType extends Type
+{
+ /**
+ * Represents a search expression that enables you to perform a Boolean AND
+ * operation between two or more search expressions.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\AndType
+ */
+ public $And;
+
+ /**
+ * Represents a search expression that determines whether a given property
+ * contains the supplied constant string value.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ContainsExpressionType
+ */
+ public $Contains;
+
+ /**
+ * Performs a bitwise mask of the properties.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ExcludesType
+ */
+ public $Excludes;
+
+ /**
+ * Represents a search expression that returns true if the supplied property
+ * exists on an item.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ExistsType
+ */
+ public $Exists;
+
+ /**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and evaluates to true if they are
+ * equal.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\IsEqualToType
+ */
+ public $IsEqualTo;
+
+ /**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and returns true if the first property
+ * is greater than the value or property.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\IsGreaterThanType
+ */
+ public $IsGreaterThan;
+
+ /**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and returns true if the first property
+ * is greater than or equal to the value or property.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\IsGreaterThanOrEqualToType
+ */
+ public $IsGreaterThanOrEqualTo;
+
+ /**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and returns true if the first property
+ * is less than the value or property.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\IsLessThanType
+ */
+ public $IsLessThan;
+
+ /**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and returns true if the first property
+ * is less than or equal to the value or property.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\IsLessThanOrEqualToType
+ */
+ public $IsLessThanOrEqualTo;
+
+ /**
+ * Represents a search expression that compares a property with either a
+ * constant value or another property and returns true if the values are not
+ * the same.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\IsNotEqualToType
+ */
+ public $IsNotEqualTo;
+
+ /**
+ * Represents a search expression that negates the Boolean value of the
+ * search expression it contains.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\NotType
+ */
+ public $Not;
+
+ /**
+ * Represents a search expression that performs a logical OR operation on
+ * the search expression it contains. The Or element will return true if any
+ * of its children return true.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\OrType
+ */
+ public $Or;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NoEndRecurrenceRangeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NoEndRecurrenceRangeType.php
new file mode 100644
index 00000000..59426aab
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NoEndRecurrenceRangeType.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\NoEndRecurrenceRangeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes the start date of an item recurrence pattern that does not have a
+ * defined end date.
+ *
+ * @package php-ews\Type
+ */
+class NoEndRecurrenceRangeType extends RecurrenceRangeBaseType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemDetailResultType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemDetailResultType.php
new file mode 100644
index 00000000..8a9ace5f
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemDetailResultType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\ArrayType\NonIndexableItemDetailResultType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the results of the GetNonIndexableItemDetails request.
+ *
+ * @package php-ews\Type
+ */
+class NonIndexableItemDetailResultType extends Type
+{
+ /**
+ * Specifies an array of mailboxes that failed on search.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfFailedSearchMailboxesType
+ */
+ public $FailedMailboxes;
+
+ /**
+ * Contains an array of item details for non-indexable items.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfNonIndexableItemDetailsType
+ */
+ public $Items;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemDetailType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemDetailType.php
new file mode 100644
index 00000000..cfc977de
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemDetailType.php
@@ -0,0 +1,102 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\NonIndexableItemDetailType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines detail information about an item that cannot be indexed.
+ *
+ * @package php-ews\Type
+ */
+class NonIndexableItemDetailType extends Type
+{
+ /**
+ * Contains the unique identifier and change key of an item in the Exchange
+ * store.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ItemId;
+
+ /**
+ * Internal use only.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $ErrorCode;
+
+ /**
+ * Describes the error that is returned in information about an item that
+ * cannot be indexed.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $ErrorDescription;
+
+ /**
+ * Indicates whether the item is partially indexed.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $IsPartiallyIndexed;
+
+ /**
+ * Indicates whether a previous attempt to index the item was unsuccessful.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $IsPermanentFailure;
+
+ /**
+ * Specifies a value used for sorting.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $SortValue;
+
+ /**
+ * Represents the number of attempts that have been made to index the item.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $AttemptCount;
+
+ /**
+ * Contains the time and date at which the last attempt to index the item
+ * was made.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $LastAttemptTime;
+
+ /**
+ * Specifies additional information about the hold status of a mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $AdditionalInfo;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemStatisticType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemStatisticType.php
new file mode 100644
index 00000000..f29b1da2
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NonIndexableItemStatisticType.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\NonIndexableItemStatisticType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a single statistic for an item that could not be indexed.
+ *
+ * @package php-ews\Type
+ */
+class NonIndexableItemStatisticType extends Type
+{
+ /**
+ * Represents the reason for the validation error.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $ErrorMessage;
+
+ /**
+ * Specifies the total number of items in a search result.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $ItemCount;
+
+ /**
+ * Contains an identifier for a mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Mailbox;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NotType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NotType.php
new file mode 100644
index 00000000..e4811ee3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NotType.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\NotType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search expression that negates the Boolean value of the search
+ * expression that it contains.
+ *
+ * @package php-ews\Type
+ */
+class NotType extends MultipleOperandBooleanExpressionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NotificationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NotificationType.php
new file mode 100644
index 00000000..fa677fd9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NotificationType.php
@@ -0,0 +1,120 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\NotificationType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Contains information about the subscription and the events that have occurred
+ * since the last notification.
+ *
+ * @package php-ews\Type
+ */
+class NotificationType extends Type
+{
+ /**
+ * Represents an event in which an item or folder is copied.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MovedCopiedEventType
+ */
+ public $CopiedEvent;
+
+ /**
+ * Represents an event in which an item or folder is created.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\BaseObjectChangedEventType
+ */
+ public $CreatedEvent;
+
+ /**
+ * Represents an event in which an item or folder is deleted.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\BaseObjectChangedEventType
+ */
+ public $DeletedEvent;
+
+ /**
+ * Represents an event in which an item’s free/busy time has changed.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\BaseObjectChangedEventType
+ */
+ public $FreeBusyChangedEvent;
+
+ /**
+ * Represents an event in which an item or folder is modified.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ModifiedEventType
+ */
+ public $ModifiedEvent;
+
+ /**
+ * Indicates whether there are more events in the queue to be delivered to
+ * the client.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $MoreEvents;
+
+ /**
+ * Represents an event in which an item or folder is moved from one parent
+ * folder to another parent folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MovedCopiedEventType
+ */
+ public $MovedEvent;
+
+ /**
+ * Represents an event that is triggered by a new mail item in a mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\BaseObjectChangedEventType
+ */
+ public $NewMailEvent;
+
+ /**
+ * Represents the watermark of the latest event that was successfully
+ * communicated to the client for the subscription.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $PreviousWatermark;
+
+ /**
+ * Represents a notification that no new activity has occurred in the
+ * mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\BaseNotificationEventType
+ */
+ public $StatusEvent;
+
+ /**
+ * Represents the identifier for a subscription.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $SubscriptionId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NumberedRecurrenceRangeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NumberedRecurrenceRangeType.php
new file mode 100644
index 00000000..d3358a10
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/NumberedRecurrenceRangeType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\NumberedRecurrenceRangeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes the start date and the number of occurrences of a recurring item.
+ *
+ * @package php-ews\Type
+ */
+class NumberedRecurrenceRangeType extends RecurrenceRangeBaseType
+{
+ /**
+ * Contains the number of occurrences of a recurring item.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $NumberOfOccurrences;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrenceInfoType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrenceInfoType.php
new file mode 100644
index 00000000..3b628d0a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrenceInfoType.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\OccurrenceInfoType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an occurrence of a recurring calendar item.
+ *
+ * @package php-ews\Type
+ */
+class OccurrenceInfoType extends Type
+{
+ /**
+ * Represents the end time of the first occurrence of a recurring calendar
+ * item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $End;
+
+ /**
+ * Contains the unique identifier and change key of the first occurrence of
+ * a recurring calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ItemId;
+
+ /**
+ * Represents the original start time of the first occurrence of a recurring
+ * calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $OriginalStart;
+
+ /**
+ * Represents the start time of the first occurrence of a recurring calendar
+ * item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $Start;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrenceItemIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrenceItemIdType.php
new file mode 100644
index 00000000..48a6fabb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrenceItemIdType.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\OccurrenceItemIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies a single occurrence of a recurring item.
+ *
+ * @package php-ews\Type
+ */
+class OccurrenceItemIdType extends BaseItemIdType
+{
+ /**
+ * Identifies a specific version of the recurring master or an item
+ * occurrence.
+ *
+ * If either the recurring master or any of its occurrences change, the
+ * changeKey changes. The ChangeKey is the same for the recurring master and
+ * all occurrences.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ChangeKey;
+
+ /**
+ * Identifies the index of the item occurrence.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $InstanceIndex;
+
+ /**
+ * Identifies the recurring master of a recurring item.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $RecurringMasterId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrencesRangeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrencesRangeType.php
new file mode 100644
index 00000000..7bac819e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OccurrencesRangeType.php
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\OccurrencesRangeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a range of calendar item occurrences for a repeating calendar item.
+ *
+ * @package php-ews\Type
+ */
+class OccurrencesRangeType extends Type
+{
+ /**
+ * Start date of the recurring item range.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $Start;
+
+ /**
+ * End date of the recurring item range.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $End;
+
+ /**
+ * Number of occurrences of the recurring item.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $Count;
+
+ /**
+ * Whether or not the client should compare the original start time with the
+ * new start time.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $CompareOriginalStartTime;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OpenAsAdminOrSystemServiceType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OpenAsAdminOrSystemServiceType.php
new file mode 100644
index 00000000..9fb13ba3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OpenAsAdminOrSystemServiceType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\OpenAsAdminOrSystemServiceType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * For internal use only. Not used by clients.
+ *
+ * @package php-ews\Type
+ */
+class OpenAsAdminOrSystemServiceType extends Type
+{
+ /**
+ * Not intended for client use.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ public $ConnectingSID;
+
+ /**
+ * Not intended for client use.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var string
+ */
+ public $LogonType;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OrType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OrType.php
new file mode 100644
index 00000000..ff586f42
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OrType.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\OrType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search expression that performs a logical OR on the search
+ * expression that it contains.
+ *
+ * Or will return true if any of its children return true. Or must have two or
+ * more children.
+ *
+ * @package php-ews\Type
+ */
+class OrType extends MultipleOperandBooleanExpressionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OutOfOfficeMailTip.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OutOfOfficeMailTip.php
new file mode 100644
index 00000000..33ec45b5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/OutOfOfficeMailTip.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\OutOfOfficeMailTip.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the response message and a duration time for sending the response
+ * message.
+ *
+ * @package php-ews\Type
+ */
+class OutOfOfficeMailTip extends Type
+{
+ /**
+ * Contains the duration that the OOF status is enabled if the OofState
+ * element is set to Scheduled.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\Duration
+ */
+ public $Duration;
+
+ /**
+ * Contains an Out of Office (OOF) message and the language used for the
+ * message.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ReplyBody
+ */
+ public $ReplyBody;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToExtendedFieldType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToExtendedFieldType.php
new file mode 100644
index 00000000..061d65da
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToExtendedFieldType.php
@@ -0,0 +1,134 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PathToExtendedFieldType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an extended property.
+ *
+ * Note that there are only a couple of valid attribute combinations. Note that
+ * all occurrences require the PropertyType attribute.
+ *
+ * 1. (DistinguishedPropertySetId || PropertySetId) +
+ * (PropertyName || Property Id)
+ * 2. PropertyTag
+ *
+ * @package php-ews\Type
+ */
+class PathToExtendedFieldType extends BasePathToElementType
+{
+ /**
+ * Defines the well-known property set IDs for extended MAPI properties.
+ *
+ * If this attribute is used, the PropertySetId and PropertyTag attributes
+ * cannot be used. This attribute must be used with either the PropertyId or
+ * PropertyName attribute, and the PropertyType attribute.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DistinguishedPropertySetType
+ */
+ public $DistinguishedPropertySetId;
+
+ /**
+ * Identifies an extended property by its dispatch ID.
+ *
+ * The dispatch ID can be identified in either decimal or hexadecimal
+ * formats. This property must be coupled with either
+ * DistinguishedPropertySetId or PropertySetId. If this attribute is used,
+ * the PropertyName and PropertyTag attributes cannot be used.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $PropertyId;
+
+ /**
+ * Identifies an extended property by its name.
+ *
+ * This property must be coupled with either DistinguishedPropertySetId or
+ * PropertySetId. If this attribute is used, the PropertyId and PropertyTag
+ * attributes cannot be used.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $PropertyName;
+
+ /**
+ * Identifies a MAPI extended property set or namespace by its identifying
+ * GUID.
+ *
+ * If this attribute is used, the DistinguishedPropertySetId and PropertyTag
+ * attribute cannot be used. This attribute must be used with either the
+ * PropertyId or PropertyName attribute, and the PropertyType attribute.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $PropertySetId;
+
+ /**
+ * Identifies the property tag without the type part of the tag.
+ *
+ * The PropertyTag can be represented as either a hexadecimal or a short
+ * integer. The range between 0x8000 and 0xFFFE represents the custom range
+ * of properties. When a mailbox database encounters a custom property for
+ * the first time, it assigns that custom property a property tag within the
+ * custom property range of 0x8000-0xFFFE. A given custom property tag will
+ * most likely differ across databases. Therefore, a custom property request
+ * by property tag can return different properties on different databases.
+ *
+ * The use of the PropertyTag attribute is prohibited for custom properties.
+ * Instead, use the PropertySetId attribute and the PropertyName or
+ * PropertyId attribute.
+ *
+ * Important: Access any custom property between 0x8000 and 0xFFFE by using
+ * the GUID + name/ID.
+ *
+ * If the PropertyTag attribute is used, the DistinguishedPropertySetId,
+ * PropertySetId, PropertyName, and PropertyId attributes cannot be used.
+ *
+ * Note: You cannot use a property tag attribute for properties within the
+ * custom range 0x8000-0xFFFE. You must use a named property in this case.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $PropertyTag;
+
+ /**
+ * Represents the property type of a property tag.
+ *
+ * This corresponds to the least significant word in a property tag. The
+ * PropertyType Attribute table later in this topic contains the possible
+ * values for this attribute.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MapiPropertyTypeType
+ */
+ public $PropertyType;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToIndexedFieldType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToIndexedFieldType.php
new file mode 100644
index 00000000..c5033701
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToIndexedFieldType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PathToIndexedFieldType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies individual members of a dictionary.
+ *
+ * @package php-ews\Type
+ */
+class PathToIndexedFieldType extends BasePathToElementType
+{
+ /**
+ * Identifies the member of the dictionary to return.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $FieldIndex;
+
+ /**
+ * FieldURI property
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DictionaryURIType
+ */
+ public $FieldURI;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToUnindexedFieldType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToUnindexedFieldType.php
new file mode 100644
index 00000000..ceb3afc8
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PathToUnindexedFieldType.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PathToUnindexedFieldType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies frequently referenced properties by URI.
+ *
+ * @package php-ews\Type
+ */
+class PathToUnindexedFieldType extends BasePathToElementType
+{
+ /**
+ * Identifies the URI of the property.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\UnindexedFieldURIType
+ */
+ public $FieldURI;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PeriodType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PeriodType.php
new file mode 100644
index 00000000..b135b5b5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PeriodType.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PeriodType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the name, time offset, and unique identifier for a specific stage of
+ * the time zone.
+ *
+ * @package php-ews\Type
+ */
+class PeriodType extends Type
+{
+ /**
+ * An xs:duration value that represents the time offset from Coordinated
+ * Universal Time (UTC) for the period.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Bias;
+
+ /**
+ * A string value that represents the identifier for the period.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Id;
+
+ /**
+ * A string value that represents the descriptive name of the period.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Name;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PermissionSetType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PermissionSetType.php
new file mode 100644
index 00000000..3b8af14d
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PermissionSetType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PermissionSetType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Contains all the permissions that are configured for a folder.
+ *
+ * @package php-ews\Type
+ */
+class PermissionSetType extends Type
+{
+ /**
+ * Contains the collection of permissions for a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPermissionsType
+ */
+ public $Permissions;
+
+ /**
+ * Contains an array of unknown entries that cannot be resolved against the
+ * Active Directory directory service.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfUnknownEntriesType
+ */
+ public $UnknownEntries;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PermissionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PermissionType.php
new file mode 100644
index 00000000..a6f947cb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PermissionType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PermissionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the access that a user has to a folder.
+ *
+ * @package php-ews\Type
+ */
+class PermissionType extends BasePermissionType
+{
+ /**
+ * Represents the combination of permissions that a user has on a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\PermissionLevelType
+ */
+ public $PermissionLevel;
+
+ /**
+ * Indicates whether a user has permission to read items within a folder.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\PermissionReadAccessType
+ */
+ public $ReadItems;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaAttributionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaAttributionType.php
new file mode 100644
index 00000000..6c0e0e93
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaAttributionType.php
@@ -0,0 +1,85 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PersonaAttributionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines an instance in an array of attributes for a Persona.
+ *
+ * @package php-ews\Type
+ */
+class PersonaAttributionType extends Type
+{
+ /**
+ * Defines the display name of a folder, contact, distribution list,
+ * delegate user, or rule.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayName;
+
+ /**
+ * Contains the identifier and change key of a folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\FolderIdType
+ */
+ public $FolderId;
+
+ /**
+ * Specifies a string that uniquely identifies an app or an attribution in a
+ * persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Id;
+
+ /**
+ * Contains a Boolean value that indicates whether the underlying contact or
+ * Active Directory recipient should be hidden or displayed as part of the
+ * persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $IsHidden;
+
+ /**
+ * Specifies a Boolean value that indicates whether the underlying contact
+ * or Active Directory recipient is a quick contact.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $IsQuickContact;
+
+ /**
+ * Specifies whether the underlying contact or Active Directory recipient
+ * can be written to.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $IsWritable;
+
+ /**
+ * Specifies the identifier of the contact or Active Directory recipient.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $SourceId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaPhoneNumberType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaPhoneNumberType.php
new file mode 100644
index 00000000..44d363f5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaPhoneNumberType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PersonaPhoneNumberType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a phone number and type information and is associated with a set
+ * of attributions.
+ *
+ * @package php-ews\Type
+ */
+class PersonaPhoneNumberType extends Type
+{
+ /**
+ * Specifies the phone number.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Number;
+
+ /**
+ * Specifies the type of phone number, for example, "Home" or "Business".
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Type;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaPostalAddressType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaPostalAddressType.php
new file mode 100644
index 00000000..39ba34de
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaPostalAddressType.php
@@ -0,0 +1,158 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PersonaPostalAddressType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a postal address associated with a persona.
+ *
+ * @package php-ews\Type
+ */
+class PersonaPostalAddressType extends Type
+{
+ /**
+ * Specifies the accuracy of the latitude and longitude of the associated
+ * postal address.
+ *
+ * @since Exchange 2013
+ *
+ * @var float
+ */
+ public $Accuracy;
+
+ /**
+ * Specifies the altitude of a postal address.
+ *
+ * @since Exchange 2013
+ *
+ * @var float
+ */
+ public $Altitude;
+
+ /**
+ * Specifies the accuracy of the altitude property for a postal address.
+ *
+ * @since Exchange 2013
+ *
+ * @var float
+ */
+ public $AltitudeAccuracy;
+
+ /**
+ * Represents the city name that is associated with a contact.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $City;
+
+ /**
+ * Identifies a country identifier in a postal address.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Country;
+
+ /**
+ * Specifies the formatted display value of the associated postal address.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $FormattedAddress;
+
+ /**
+ * Specifies the latitude of the location of the associated postal address.
+ *
+ * @since Exchange 2013
+ *
+ * @var float
+ */
+ public $Latitude;
+
+ /**
+ * Specifies information about the origin of the associated postal address,
+ * for example, a contact or a telephone book.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\LocationSourceType
+ */
+ public $LocationSource;
+
+ /**
+ * Contains a string specifying a Uniform Resource Identifier (URI) of the
+ * associated postal address.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $LocationUri;
+
+ /**
+ * Specifies the longitude of the location of the associated postal address.
+ *
+ * @since Exchange 2013
+ *
+ * @var float
+ */
+ public $Longitude;
+
+ /**
+ * Specifies the "post office box" portion of a postal address.
+ *
+ * @since Exchange 2013
+ *
+ * @var type
+ */
+ public $PostOfficeBox;
+
+ /**
+ * Represents the postal code for a contact item.
+ *
+ * @since Exchange 2013
+ *
+ * @var type
+ */
+ public $PostalCode;
+
+ /**
+ * Represents the state of residence for a contact item.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $State;
+
+ /**
+ * Represents a street address for a contact item.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Street;
+
+ /**
+ * Specifies the type of postal address or phone number.
+ *
+ * For example, "Home" or "Business".
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Type;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaResponseShapeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaResponseShapeType.php
new file mode 100644
index 00000000..dd13ede5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaResponseShapeType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PersonaResponseShapeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a set of properties for a persona.
+ *
+ * @package php-ews\Type
+ */
+class PersonaResponseShapeType extends Type
+{
+ /**
+ * Identifies additional properties.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfPathsToElementType
+ */
+ public $AdditionalProperties;
+
+ /**
+ * Identifies the set of properties to return in an item or folder response.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DefaultShapeNamesType
+ */
+ public $BaseShape;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaType.php
new file mode 100644
index 00000000..596c80a9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PersonaType.php
@@ -0,0 +1,972 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PersonaType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a set of persona data.
+ *
+ * @package php-ews\Type
+ */
+class PersonaType extends Type
+{
+ /**
+ * Specifies an array of assistant names and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $AssistantNames;
+
+ /**
+ * Specifies an array of assistant phone numbers and the identifiers of
+ * their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $AssistantPhoneNumbers;
+
+ /**
+ * Specifies an array of attribution information for one or more of the
+ * contacts or Active Directory recipients aggregated into the associated
+ * persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPersonaAttributionsType
+ */
+ public $Attributions;
+
+ /**
+ * Specifies an array of birthdays, stored as strings, and the identifiers
+ * of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Birthdays;
+
+ /**
+ * Specifies an array of BodyContentAttributedValue elements.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfBodyContentAttributedValuesType
+ */
+ public $Bodies;
+
+ /**
+ * Specifies an array of business addresses and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPostalAddressAttributedValuesType
+ */
+ public $BusinessAddresses;
+
+ /**
+ * Specifies an array of business home pages and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $BusinessHomePages;
+
+ /**
+ * Specifies an array of business phone numbers and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $BusinessPhoneNumbers;
+
+ /**
+ * Specifies an array of BusinessPhoneNumber2 elements and the identifiers
+ * of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $BusinessPhoneNumbers2;
+
+ /**
+ * Specifies an array of call-back phone numbers and the identifiers of
+ * their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $CallbackPhones;
+
+ /**
+ * Specifies an array of car phone numbers and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $CarPhones;
+
+ /**
+ * Specifies an array of child names and identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringArrayAttributedValuesType
+ */
+ public $Children;
+
+ /**
+ * Represents the company name that is associated with a contact.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $CompanyName;
+
+ /**
+ * Contains an array of company names and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $CompanyNames;
+
+ /**
+ * Contains the sort key for a company name.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $CompanyNameSortKey;
+
+ /**
+ * Specifies when the persona was created.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $CreationTime;
+
+ /**
+ * Represents the contact's department at work.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Department;
+
+ /**
+ * Specifies an array of department names and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Departments;
+
+ /**
+ * Contains the display name of the persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayName;
+
+ /**
+ * Specifies the display name of the associated persona in the format,
+ * "First Name", "Last Name".
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayNameFirstLast;
+
+ /**
+ * Specifies the header for the display name, first name first.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayNameFirstLastHeader;
+
+ /**
+ * Contains the sort key for a display name in first name, last name order.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayNameFirstLastSortKey;
+
+ /**
+ * Specifies the display name of the associated persona in the format, "Last
+ * Name", "First Name".
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayNameLastFirst;
+
+ /**
+ * Specifies the header for the display name, last name first.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayNameLastFirstHeader;
+
+ /**
+ * Contains the sort key for a display name in last name, first name order.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayNameLastFirstSortKey;
+
+ /**
+ * Specifies the prefix of the display name of the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayNamePrefix;
+
+ /**
+ * Specifies an array of display name prefixes and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $DisplayNamePrefixes;
+
+ /**
+ * Specifies an array of display names and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $DisplayNames;
+
+ /**
+ * Specifies the fully resolved SMTP address for the site mailbox or the
+ * associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $EmailAddress;
+
+ /**
+ * Specifies an array of all email addresses of the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfEmailAddressesType
+ */
+ public $EmailAddresses;
+
+ /**
+ * Specifies an array of EmailAddressAttributedValue values and the
+ * identifiers of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfEmailAddressAttributedValuesType
+ */
+ public $Emails1;
+
+ /**
+ * Contains an array of EmailAddressAttributedValue values and the
+ * identifiers of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfEmailAddressAttributedValuesType
+ */
+ public $Emails2;
+
+ /**
+ * Specifies an array of EmailAddressAttributedValue values and the
+ * identifiers of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfEmailAddressAttributedValuesType
+ */
+ public $Emails3;
+
+ /**
+ * Contains the extended properties used for a persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfExtendedPropertyAttributedValueType
+ */
+ public $ExtendedProperties;
+
+ /**
+ * Represents how a contact or distribution list is filed in the Contacts
+ * folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $FileAs;
+
+ /**
+ * Specifies the header for the File As option.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $FileAsHeader;
+
+ /**
+ * Specifies the FileAs identifier.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $FileAsId;
+
+ /**
+ * Specifies an array of StringAttributedValue elements and the identifiers
+ * of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $FileAsIds;
+
+ /**
+ * Specifies an array of StringAttributedValue elements and the identifiers
+ * of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $FileAses;
+
+ /**
+ * Contains a list of folder identifiers.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfFolderIdType
+ */
+ public $FolderIds;
+
+ /**
+ * Represents a generational abbreviation that follows the full name of a
+ * contact.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Generation;
+
+ /**
+ * Specifies an array of generation values and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Generations;
+
+ /**
+ * Contains a contact's given name.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $GivenName;
+
+ /**
+ * Specifies an array of given name values and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $GivenNames;
+
+ /**
+ * Specifies an array of hobbies and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Hobbies;
+
+ /**
+ * Specifies an array of home addresses and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPostalAddressAttributedValuesType
+ */
+ public $HomeAddresses;
+
+ /**
+ * Specifies the city of the home address of the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $HomeCity;
+
+ /**
+ * Contains the sort key for the home city.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $HomeCitySortKey;
+
+ /**
+ * Specifies an array of home fax numbers and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $HomeFaxes;
+
+ /**
+ * Specifies an array of home phone numbers and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $HomePhones;
+
+ /**
+ * Specifies an array of HomePhone2 values and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $HomePhones2;
+
+ /**
+ * Contains the primary instant messaging address of a persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $ImAddress;
+
+ /**
+ * Specifies an array of instant message addresses and the identifiers of
+ * their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $ImAddresses;
+
+ /**
+ * Specifies an array of instant message addresses and the identifiers of
+ * their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $ImAddresses2;
+
+ /**
+ * Specifies an array of instant message addresses and the identifiers of
+ * their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $ImAddresses3;
+
+ /**
+ * Specifies an array of initials values and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Initials;
+
+ /**
+ * Represents the location of a meeting, appointment, or persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Location;
+
+ /**
+ * Specifies an array of location values and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Locations;
+
+ /**
+ * Specifies an array of manager names and the identifiers of their source
+ * attributions for a persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Managers;
+
+ /**
+ * Represents the middle name of a contact.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $MiddleName;
+
+ /**
+ * Specifies an array of middle name values and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $MiddleNames;
+
+ /**
+ * Specifies an array of mobile phone numbers and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $MobilePhones;
+
+ /**
+ * Specifies an array of MobilePhone values and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $MobilePhones2;
+
+ /**
+ * Represents the nickname of a contact.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Nickname;
+
+ /**
+ * Specifies an array of nickname values and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Nicknames;
+
+ /**
+ * Specifies an array of office locations and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $OfficeLocations;
+
+ /**
+ * Specifies an array of organizational main phone numbers and the
+ * identifiers of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $OrganizationMainPhones;
+
+ /**
+ * Specifies an array of address values and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPostalAddressAttributedValuesType
+ */
+ public $OtherAddresses;
+
+ /**
+ * Specifies an array of fax phone number values and the identifiers of
+ * their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $OtherFaxes;
+
+ /**
+ * Specifies an array of phone values and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $OtherPhones2;
+
+ /**
+ * Specifies an array of telephone values and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $OtherTelephones;
+
+ /**
+ * Specifies an array of pager phone numbers and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $Pagers;
+
+ /**
+ * Specifies the persona identifier for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $PersonaId;
+
+ /**
+ * Specifies whether the information in the associated persona is complete
+ * or partial.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $PersonaObjectStatus;
+
+ /**
+ * Specifies the type of the persona.
+ *
+ * For example, a person or a distribution list.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $PersonaType;
+
+ /**
+ * Specifies an array of home pages and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $PersonalHomePages;
+
+ /**
+ * Specifies the default phone number of the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\PersonaPhoneNumberType
+ */
+ public $PhoneNumber;
+
+ /**
+ * Specifies an array of Profession values and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Professions;
+
+ /**
+ * Specifies an array of radio phone numbers and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $RadioPhones;
+
+ /**
+ * Specifies an integer that represents how relevant the associated persona
+ * is to the client.
+ *
+ * This element is read-only.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $RelevanceScore;
+
+ /**
+ * Specifies an array of school names and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Schools;
+
+ /**
+ * Specifies an array of spouse or partner names and the identifiers of
+ * their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $SpouseNames;
+
+ /**
+ * Represents the surname of a contact.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Surname;
+
+ /**
+ * Specifies an array of surname values and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Surnames;
+
+ /**
+ * Specifies an array of Telex numbers and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $TelexNumbers;
+
+ /**
+ * Represents the title of a contact.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Title;
+
+ /**
+ * Specifies an array of job titles and the identifiers of their source
+ * attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $Titles;
+
+ /**
+ * Specifies an array of TTY or TDD text telephone numbers and the
+ * identifiers of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $TTYTDDPhoneNumbers;
+
+ /**
+ * Specifies an array of wedding anniversary dates, stored as strings, and
+ * the identifiers of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $WeddingAnniversaries;
+
+ /**
+ * Specifies the city where the associated persona works.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $WorkCity;
+
+ /**
+ * Contains the sort key for the work city values associated with a persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $WorkCitySortKey;
+
+ /**
+ * Specifies an array of work fax numbers and the identifiers of their
+ * source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfPhoneNumberAttributedValuesType
+ */
+ public $WorkFaxes;
+
+ /**
+ * Specifies the phonetic Japanese company name of the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $YomiCompanyName;
+
+ /**
+ * Specifies an array of phonetic Japanese company names and the identifiers
+ * of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $YomiCompanyNames;
+
+ /**
+ * Represents the name that is used in Japan for the searchable or phonetic
+ * spelling for a Japanese first name.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $YomiFirstName;
+
+ /**
+ * Specifies an array of phonetic Japanese first names and the identifiers
+ * of their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $YomiFirstNames;
+
+ /**
+ * Represents the name that is used in Japan for the searchable or phonetic
+ * spelling for a Japanese last name.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $YomiLastName;
+
+ /**
+ * Specifies an array of phonetic Japanese last names and the identifiers of
+ * their source attributions for the associated persona.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringAttributedValuesType
+ */
+ public $YomiLastNames;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneCallIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneCallIdType.php
new file mode 100644
index 00000000..a7daff00
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneCallIdType.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PhoneCallIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the identifier of a phone call.
+ *
+ * @package php-ews\Type
+ */
+class PhoneCallIdType extends Type
+{
+ /**
+ * Identifies the phone call to disconnect.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Id;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneCallInformationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneCallInformationType.php
new file mode 100644
index 00000000..0a35c327
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneCallInformationType.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PhoneCallInformationType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the state information for a phone call.
+ *
+ * @package php-ews\Type
+ */
+class PhoneCallInformationType extends Type
+{
+ /**
+ * Specifies the cause of a connection failure.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ConnectionFailureCauseType
+ */
+ public $ConnectionFailureCause;
+
+ /**
+ * Specifies the state for a phone call.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\PhoneCallStateType
+ */
+ public $PhoneCallState;
+
+ /**
+ * Specifies the SIP response code.
+ *
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $SIPResponseCode;
+
+ /**
+ * Specifies the SIP response text.
+ *
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $SIPResponseText;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberAttributedValueType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberAttributedValueType.php
new file mode 100644
index 00000000..da006a43
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberAttributedValueType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PhoneNumberAttributedValueType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a phone number and its associated attributions.
+ *
+ * @package php-ews\Type
+ */
+class PhoneNumberAttributedValueType extends Type
+{
+ /**
+ * Specifies an array of attributions for the Value element.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfValueAttributionsType
+ */
+ public $Attributions;
+
+ /**
+ * Specifies a phone number and type information.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\PersonaPhoneNumberType
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberDictionaryEntryType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberDictionaryEntryType.php
new file mode 100644
index 00000000..c558c04e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberDictionaryEntryType.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PhoneNumberDictionaryEntryType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a telephone number for a contact.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Create a common EntryType class.
+ * @todo Create a common TextEntryType class.
+ */
+class PhoneNumberDictionaryEntryType extends Type
+{
+ /**
+ * Value that represents the telephone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $_;
+
+ /**
+ * Identifies the telephone number.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\PhoneNumberKeyType
+ */
+ public $Key;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberDictionaryType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberDictionaryType.php
new file mode 100644
index 00000000..98333160
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhoneNumberDictionaryType.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PhoneNumberDictionaryType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a collection of telephone numbers for a contact.
+ *
+ * @package php-ews\Type
+ */
+class PhoneNumberDictionaryType extends Type
+{
+ /**
+ * Represents a telephone number for a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PhoneNumberDictionaryEntryType
+ */
+ public $Entry;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhysicalAddressDictionaryEntryType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhysicalAddressDictionaryEntryType.php
new file mode 100644
index 00000000..a24adf44
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhysicalAddressDictionaryEntryType.php
@@ -0,0 +1,75 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PhysicalAddressDictionaryEntryType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes a single physical address for a contact item.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Create a common EntryType class.
+ * @todo Create a common TextEntryType class.
+ */
+class PhysicalAddressDictionaryEntryType extends Type
+{
+ /**
+ * Represents the city name that is associated with a contact.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $City;
+
+ /**
+ * Represents the country or region for a given physical address.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $CountryOrRegion;
+
+ /**
+ * Identifies a physical address.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\PhysicalAddressKeyType
+ */
+ public $Key;
+
+ /**
+ * Represents the postal code for a contact item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $PostalCode;
+
+ /**
+ * Represents the state of residence for a contact item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $State;
+
+ /**
+ * Represents a street address for a contact item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Street;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhysicalAddressDictionaryType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhysicalAddressDictionaryType.php
new file mode 100644
index 00000000..2338685e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PhysicalAddressDictionaryType.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PhysicalAddressDictionaryType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a collection of physical addresses that are associated with a
+ * contact.
+ *
+ * @package php-ews\Type
+ */
+class PhysicalAddressDictionaryType extends Type
+{
+ /**
+ * Describes a single physical address for a contact item.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PhysicalAddressDictionaryEntryType
+ */
+ public $Entry;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostItemType.php
new file mode 100644
index 00000000..b4766098
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostItemType.php
@@ -0,0 +1,99 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PostItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a post item in the Exchange store.
+ *
+ * @package php-ews\Type
+ */
+class PostItemType extends ItemType
+{
+ /**
+ * Contains a binary ID that represents the thread to which this message
+ * belongs.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Create a base64 class?
+ */
+ public $ConversationIndex;
+
+ /**
+ * Represents the conversation identifier.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ConversationTopic;
+
+ /**
+ * Represents the address from which the post item was sent.
+ *
+ * The From element can only be set at creation time.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $From;
+
+ /**
+ * Represents the Internet message identifier of an item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $InternetMessageId;
+
+ /**
+ * Indicates whether a message has been read.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsRead;
+
+ /**
+ * Represents the time that a PostItem was posted.
+ *
+ * This element is read-only.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $PostedTime;
+
+ /**
+ * Represents the Usenet header that is used to associate replies with the
+ * original messages.
+ *
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $References;
+
+ /**
+ * Identifies the sender of an item.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $Sender;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostReplyItemBaseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostReplyItemBaseType.php
new file mode 100644
index 00000000..98c49a06
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostReplyItemBaseType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PostReplyItemBaseType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for posting item replies.
+ *
+ * @package php-ews\Type
+ */
+class PostReplyItemBaseType extends ResponseObjectType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostReplyItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostReplyItemType.php
new file mode 100644
index 00000000..40a9af4e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostReplyItemType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PostReplyItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a reply to a post item.
+ *
+ * @package php-ews\Type
+ */
+class PostReplyItemType extends PostReplyItemBaseType
+{
+ /**
+ * Represents the new body content of a post item.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\BodyType
+ */
+ public $NewBodyContent;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostalAddressAttributedValueType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostalAddressAttributedValueType.php
new file mode 100644
index 00000000..1454a0ac
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PostalAddressAttributedValueType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PostalAddressAttributedValueType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines an instance of an array of postal addresses and their associated
+ * attributions.
+ *
+ * @package php-ews\Type
+ */
+class PostalAddressAttributedValueType extends Type
+{
+ /**
+ * Specifies an array of attributions for its associated Value element.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfValueAttributionsType
+ */
+ public $Attributions;
+
+ /**
+ * Specifies information associated with a postal address.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\PersonaPostalAddressType
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PreviewItemMailboxType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PreviewItemMailboxType.php
new file mode 100644
index 00000000..46969626
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PreviewItemMailboxType.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PreviewItemMailboxType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the mailbox identifier and the user’s primary Simple Mail Transfer
+ * Protocol (SMTP) address.
+ *
+ * @package php-ews\Type
+ */
+class PreviewItemMailboxType extends Type
+{
+ /**
+ * Specifies an identifier for the mailbox that is accessed by discovery
+ * search.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $MailboxId;
+
+ /**
+ * Specifies the primary Simple Mail Transfer Protocol (SMTP) address of the
+ * mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $PrimarySmtpAddress;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PreviewItemResponseShapeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PreviewItemResponseShapeType.php
new file mode 100644
index 00000000..44a4844a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PreviewItemResponseShapeType.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PreviewItemResponseShapeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the requested property set to be returned in a discovery search.
+ *
+ * @package php-ews\Type
+ */
+class PreviewItemResponseShapeType extends Type
+{
+ /**
+ * Identifies additional properties.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfPathsToElementType
+ */
+ public $AdditionalProperties;
+
+ /**
+ * Specifies either the default preview with all properties returned or a
+ * compact preview with fewer properties returned.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\PreviewItemBaseShapeType
+ */
+ public $BaseShape;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PrivateCatalogAddInsType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PrivateCatalogAddInsType.php
new file mode 100644
index 00000000..c09e7c31
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PrivateCatalogAddInsType.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PrivateCatalogAddInsType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Undocumented.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Update once documentation exists.
+ */
+class PrivateCatalogAddInsType extends Type
+{
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $ProductId;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\AddInStateType
+ *
+ * @todo Update once documentation exists.
+ */
+ public $State;
+
+ /**
+ * Undocumented.
+ *
+ * @since Exchange 2016
+ *
+ * @var string
+ *
+ * @todo Update once documentation exists.
+ */
+ public $Version;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProposeNewTimeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProposeNewTimeType.php
new file mode 100644
index 00000000..75c747bf
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProposeNewTimeType.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ProposeNewTimeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a response object that indicates that a meeting attendee can
+ * propose a new meeting time.
+ *
+ * @package php-ews\Type
+ */
+class ProposeNewTimeType extends ResponseObjectType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleActionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleActionType.php
new file mode 100644
index 00000000..9cc8d3bc
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleActionType.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ProtectionRuleActionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies what action must be executed if the condition part of a rule
+ * passes.
+ *
+ * @package php-ews\Type
+ */
+class ProtectionRuleActionType extends Type
+{
+ /**
+ * Specifies arguments to the action.
+ *
+ * This property should be left empty if the specified action does not
+ * require arguments to be specified. This property can include one or more
+ * values if an action requires one or more arguments. The
+ * RightsProtectMessage action will contain a single argument.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ProtectionRuleArgumentType
+ */
+ public $Argument;
+
+ /**
+ * Identifies the name of the action.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Name;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleAndType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleAndType.php
new file mode 100644
index 00000000..708eeb62
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleAndType.php
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ProtectionRuleAndType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Specifies that all child elements must match to evaluate to true.
+ *
+ * @package php-ews\Type
+ */
+class ProtectionRuleAndType extends Type
+{
+ /**
+ * Evaluates to true if all recipients of an e-mail message are internal to
+ * the sender's organization.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $AllInternal;
+
+ /**
+ * Specifies that all child elements must match to evaluate to true.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ProtectionRuleAndType
+ */
+ public $And;
+
+ /**
+ * Specifies that any recipient of the e-mail message matches any of the
+ * specified recipients in the child Value (ProtectionRuleValueType)
+ * elements.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ProtectionRuleRecipientIsType
+ */
+ public $RecipientIs;
+
+ /**
+ * Specifies that the department of the sender matches any of the specified
+ * departments in the child Value (ProtectionRuleValueType) elements.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ProtectionRuleSenderDepartmentsType
+ */
+ public $SenderDepartments;
+
+ /**
+ * Specifies a condition that always matches.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $True;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleArgumentType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleArgumentType.php
new file mode 100644
index 00000000..3c7d81ea
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleArgumentType.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ProtectionRuleArgumentType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Specifies an argument to be passed to an action.
+ *
+ * @package php-ews\Type
+ */
+class ProtectionRuleArgumentType extends Type
+{
+ /**
+ * A non-empty string value that represents the value of an argument to the
+ * action part of a protection rule.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleConditionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleConditionType.php
new file mode 100644
index 00000000..d7cfdf65
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleConditionType.php
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ProtectionRuleConditionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies a condition that must be satisfied for the action part of a rule
+ * to be executed.
+ *
+ * @package php-ews\Type
+ */
+class ProtectionRuleConditionType extends Type
+{
+ /**
+ * Evaluates to true if all recipients of an e-mail message are internal to
+ * the sender's organization.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $AllInternal;
+
+ /**
+ * Specifies that all child elements must match to evaluate to true.
+ *
+ * Specifies that there must be more than one protection rule child
+ * condition.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ProtectionRuleAndType
+ */
+ public $And;
+
+ /**
+ * Specifies that any recipient of the e-mail message matches any of the
+ * specified recipients in the child Value (ProtectionRuleValueType)
+ * elements.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ProtectionRuleRecipientIsType
+ */
+ public $RecipientIs;
+
+ /**
+ * Specifies that the department of the sender matches any of the specified
+ * departments in the child Value (ProtectionRuleValueType) elements.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ProtectionRuleSenderDepartmentsType
+ */
+ public $SenderDepartments;
+
+ /**
+ * Specifies a condition that always matches.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $True;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleRecipientIsType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleRecipientIsType.php
new file mode 100644
index 00000000..5a0ccf4b
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleRecipientIsType.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ProtectionRuleRecipientIsType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Specifies that any recipient of the e-mail message matches any of the
+ * specified recipients in the child Value (ProtectionRuleValueType) elements.
+ *
+ * @package php-ews\Type
+ */
+class ProtectionRuleRecipientIsType extends Type
+{
+ /**
+ * Identifies a recipient.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleSenderDepartmentsType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleSenderDepartmentsType.php
new file mode 100644
index 00000000..6f4fbf79
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleSenderDepartmentsType.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ProtectionRuleSenderDepartmentsType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Specifies that the department of the sender matches any of the specified
+ * departments in the child Value (ProtectionRuleValueType) elements.
+ *
+ * @package php-ews\Type
+ */
+class ProtectionRuleSenderDepartmentsType extends Type
+{
+ /**
+ * Identifies a single sender department.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleType.php
new file mode 100644
index 00000000..969a0d5a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRuleType.php
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ProtectionRuleType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single protection rule.
+ *
+ * @package php-ews\Type
+ */
+class ProtectionRuleType extends Type
+{
+ /**
+ * Identifies what action must be executed if the condition part of the rule
+ * matches.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ProtectionRuleActionType
+ */
+ public $Action;
+
+ /**
+ * Identifies the condition that must be satisfied for the action part of
+ * the rule to be executed.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ProtectionRuleConditionType
+ */
+ public $Condition;
+
+ /**
+ * Identifies the name of the rule.
+ *
+ * This property is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Name;
+
+ /**
+ * Specifies the rule priority.
+ *
+ * This property is required with a minimum value of 1.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $Priority;
+
+ /**
+ * Specifies whether the rule is mandatory.
+ *
+ * If the rule is mandatory, this attribute value must be false
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $UserOverridable;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRulesServiceConfiguration.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRulesServiceConfiguration.php
new file mode 100644
index 00000000..b696b579
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ProtectionRulesServiceConfiguration.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ProtectionRulesServiceConfiguration.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents service configuration information for the protection rules
+ * service.
+ *
+ * @package php-ews\Type
+ */
+class ProtectionRulesServiceConfiguration extends ServiceConfiguration
+{
+ /**
+ * Identifies the list of internal SMTP domains of the organization.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\SmtpDomainList
+ */
+ public $InternalDomains;
+
+ /**
+ * Specifies how often, in whole hours, the client should request protection
+ * rules from the server.
+ *
+ * This attribute is required and its value must be an integer that is equal
+ * to or greater than 1.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $RefreshInterval;
+
+ /**
+ * An array of protection rules.
+ *
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfProtectionRulesType
+ */
+ public $Rules;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PullSubscriptionRequestType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PullSubscriptionRequestType.php
new file mode 100644
index 00000000..73bd4d51
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PullSubscriptionRequestType.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PullSubscriptionRequestType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a subscription to a pull-based event notification subscription.
+ *
+ * @package php-ews\Type
+ */
+class PullSubscriptionRequestType extends BaseSubscriptionRequestType
+{
+ /**
+ * Represents the duration, in minutes, that the subscription can remain
+ * idle without a GetEvents request from the client.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ *
+ * @todo Determine if we need SubscriptionTimeoutType.
+ */
+ public $Timeout;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PushSubscriptionRequestType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PushSubscriptionRequestType.php
new file mode 100644
index 00000000..4fb7ee2a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/PushSubscriptionRequestType.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\PushSubscriptionRequestType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a subscription to a push-based event notification subscription.
+ *
+ * @package php-ews\Type
+ */
+class PushSubscriptionRequestType extends BaseSubscriptionRequestType
+{
+ /**
+ * Represents the frequency, specified in minutes, at which notification
+ * messages will be sent to the client when no events have occurred.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ *
+ * @todo Determine if we need SubscriptionStatusFrequencyType.
+ */
+ public $StatusFrequency;
+
+ /**
+ * Represents the location of the client Web service for push notifications.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $URL;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/QueryStringType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/QueryStringType.php
new file mode 100644
index 00000000..d37ed672
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/QueryStringType.php
@@ -0,0 +1,56 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\QueryStringType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a mailbox query string based on Advanced Query Syntax (AQS).
+ *
+ * @package php-ews\Type
+ *
+ * @todo Create a base string class?
+ */
+class QueryStringType extends Type
+{
+ /**
+ * Text value of the query string.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @link http://msdn.microsoft.com/en-us/library/ee693615(v=exchg.150).aspx
+ */
+ public $_;
+
+ /**
+ * Indicates that the cache should be reset.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $ResetCache;
+
+ /**
+ * Indicates that deleted items should be returned.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $ReturnDeletedItems;
+
+ /**
+ * Indicates that highlighted terms should be returned.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $ReturnHighlightTerms;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecipientTrackingEventType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecipientTrackingEventType.php
new file mode 100644
index 00000000..18df04ca
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecipientTrackingEventType.php
@@ -0,0 +1,130 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RecipientTrackingEventType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents information for a single event for a recipient.
+ *
+ * @package php-ews\Type
+ */
+class RecipientTrackingEventType extends Type
+{
+ /**
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $BccRecipient;
+
+ /**
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $Date;
+
+ /**
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MessageTrackingDeliveryStatusType
+ */
+ public $DeliveryStatus;
+
+ /**
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $EventData;
+
+ /**
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MessageTrackingEventDescriptionType
+ */
+ public $EventDescription;
+
+ /**
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $HiddenRecipient;
+
+ /**
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $InternalId;
+
+ /**
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfTrackingPropertiesType
+ */
+ public $Properties;
+
+ /**
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $Recipient;
+
+ /**
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $RootAddress;
+
+ /**
+ * This element is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Server;
+
+ /**
+ * This element is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $UniquePathId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrencePatternBaseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrencePatternBaseType.php
new file mode 100644
index 00000000..a76a404c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrencePatternBaseType.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RecurrencePatternBaseType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for recurrence patterns.
+ *
+ * @package php-ews\Type
+ */
+abstract class RecurrencePatternBaseType extends Type
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrenceRangeBaseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrenceRangeBaseType.php
new file mode 100644
index 00000000..d1418fbe
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrenceRangeBaseType.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RecurrenceRangeBaseType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for recurrence ranges,
+ *
+ * @package php-ews\Type
+ */
+abstract class RecurrenceRangeBaseType extends Type
+{
+ /**
+ * Represents the start date of a recurring task or calendar item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Make a date object that extends DateTime.
+ */
+ public $StartDate;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrenceType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrenceType.php
new file mode 100644
index 00000000..e50975e3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurrenceType.php
@@ -0,0 +1,113 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RecurrenceType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the recurrence pattern for calendar items and meeting requests.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Implement RecurrencePatternTypes trait.
+ * @todo Implement RecurrenceRangeTypes trait.
+ */
+class RecurrenceType extends Type
+{
+ /**
+ * Represents a monthly recurrence pattern.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\AbsoluteMonthlyRecurrencePatternType
+ */
+ public $AbsoluteMonthlyRecurrence;
+
+ /**
+ * Represents a yearly recurrence pattern.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\AbsoluteYearlyRecurrencePatternType
+ */
+ public $AbsoluteYearlyRecurrence;
+
+ /**
+ * Describes the frequency, in days, in which a calendar item or task
+ * recurs.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\DailyRecurrencePatternType
+ */
+ public $DailyRecurrence;
+
+ /**
+ * Describes the start date and the end date of an item recurrence pattern.
+ *
+ * The use of this element excludes the use of the NoEndRecurrence and
+ * NumberedRecurrence elements.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\EndDateRecurrenceRangeType
+ */
+ public $EndDateRecurrence;
+
+ /**
+ * Describes a recurrence pattern that does not have a defined end date.
+ *
+ * The use of this element excludes the use of the EndDateRecurrence and
+ * NumberedRecurrence elements.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\NoEndRecurrenceRangeType
+ */
+ public $NoEndRecurrence;
+
+ /**
+ * Describes the start date and the number of occurrences of a recurring
+ * item.
+ *
+ * The use of this element excludes the use of the NoEndRecurrence and
+ * EndDateRecurrence elements.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\NumberedRecurrenceRangeType
+ */
+ public $NumberedRecurrence;
+
+ /**
+ * Describes a relative monthly recurrence pattern for a recurring calendar
+ * item.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\RelativeMonthlyRecurrencePatternType
+ */
+ public $RelativeMonthlyRecurrence;
+
+ /**
+ * Describes a relative yearly recurrence pattern.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\RelativeYearlyRecurrencePatternType
+ */
+ public $RelativeYearlyRecurrence;
+
+ /**
+ * Describes the frequency, in weeks, and the days that a calendar item or
+ * task recurs.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\WeeklyRecurrencePatternType
+ */
+ public $WeeklyRecurrence;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringDateTransitionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringDateTransitionType.php
new file mode 100644
index 00000000..65ca16eb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringDateTransitionType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RecurringDateTransitionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a time zone transition that occurs on a specific date each year.
+ *
+ * @package php-ews\Type
+ */
+class RecurringDateTransitionType extends RecurringTimeTransitionType
+{
+ /**
+ * The day of the month on which the time zone transition occurs.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $Day;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringDayTransitionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringDayTransitionType.php
new file mode 100644
index 00000000..589176e2
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringDayTransitionType.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RecurringDayTransitionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a time zone transition that occurs on the same day each year.
+ *
+ * @package php-ews\Type
+ */
+class RecurringDayTransitionType extends RecurringTimeTransitionType
+{
+ /**
+ * The day of the week on which the time zone transition occurs.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DayOfWeekType
+ */
+ public $DayOfWeek;
+
+ /**
+ * The occurrence of the day of the week in the month that the time zone
+ * transition occurs.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\Occurrence
+ */
+ public $Occurrence;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringMasterItemIdRanges.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringMasterItemIdRanges.php
new file mode 100644
index 00000000..cbd261c8
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringMasterItemIdRanges.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RecurringMasterItemIdRanges.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines an occurrence range.
+ *
+ * @package php-ews\Type
+ */
+class RecurringMasterItemIdRanges extends ItemIdType
+{
+ /**
+ * Specifies an array of recurrence ranges.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfOccurrenceRangesType
+ */
+ public $Ranges;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringMasterItemIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringMasterItemIdType.php
new file mode 100644
index 00000000..9ff28aac
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringMasterItemIdType.php
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RecurringMasterItemIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a recurrence master item by identifying the identifiers of one of
+ * its related occurrence items.
+ *
+ * @package php-ews\Type
+ */
+class RecurringMasterItemIdType extends BaseItemIdType
+{
+ /**
+ * Identifies a specific version of a single occurrence of a recurring
+ * master item.
+ *
+ * Additionally, the recurring master item is also identified because it and
+ * the single occurrence will contain the same change key.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ChangeKey;
+
+ /**
+ * Identifies a single occurrence of a recurring master item.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $OccurrenceId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringTimeTransitionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringTimeTransitionType.php
new file mode 100644
index 00000000..88aaacd9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RecurringTimeTransitionType.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RecurringTimeTransitionType;
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for recurring time transitions.
+ *
+ * @package php-ews\Type
+ */
+abstract class RecurringTimeTransitionType extends TransitionType
+{
+ /**
+ * The month in which the time transition occurs.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $Month;
+
+ /**
+ * The duration offset from Coordinated Universal Time (UTC) for the time
+ * transition.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $TimeOffset;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReferenceItemResponseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReferenceItemResponseType.php
new file mode 100644
index 00000000..f2f8a981
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReferenceItemResponseType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ReferenceItemResponseType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for responding to items with a reference.
+ *
+ * ObjectName property is prohibited.
+ *
+ * @package php-ews\Type
+ */
+class ReferenceItemResponseType extends ResponseObjectType
+{
+ /**
+ * {@inheritdoc}
+ *
+ * @prohibited
+ */
+ public $ObjectName;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RegeneratingPatternBaseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RegeneratingPatternBaseType.php
new file mode 100644
index 00000000..49675aec
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RegeneratingPatternBaseType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RegeneratingPatternBaseType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for regenerating patterns.
+ *
+ * @package php-ews\Type
+ */
+abstract class RegeneratingPatternBaseType extends IntervalRecurrencePatternBaseType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RelativeMonthlyRecurrencePatternType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RelativeMonthlyRecurrencePatternType.php
new file mode 100644
index 00000000..d119092a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RelativeMonthlyRecurrencePatternType.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RelativeMonthlyRecurrencePatternType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes a relative monthly recurrence pattern.
+ *
+ * @package php-ews\Type
+ */
+class RelativeMonthlyRecurrencePatternType extends
+ IntervalRecurrencePatternBaseType
+{
+ /**
+ * Describes which week is used in a relative monthly recurrence pattern.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DayOfWeekIndexType
+ */
+ public $DayOfWeekIndex;
+
+ /**
+ * Describes which days of the week are in the relative monthly recurrence
+ * pattern.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DayOfWeekType
+ */
+ public $DaysOfWeek;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RelativeYearlyRecurrencePatternType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RelativeYearlyRecurrencePatternType.php
new file mode 100644
index 00000000..634ab9ec
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RelativeYearlyRecurrencePatternType.php
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RelativeYearlyRecurrencePatternType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Describes a relative yearly recurrence pattern.
+ *
+ * @package php-ews\Type
+ */
+class RelativeYearlyRecurrencePatternType extends RecurrencePatternBaseType
+{
+ /**
+ * Describes which week in a month is used in a relative yearly recurrence
+ * pattern.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DayOfWeekIndexType
+ */
+ public $DayOfWeekIndex;
+
+ /**
+ * Describes the days of the week that are used in item recurrence patterns.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DayOfWeekType
+ */
+ public $DaysOfWeek;
+
+ /**
+ * Describes the month when a yearly recurring item occurs.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\MonthNamesType
+ */
+ public $Month;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReminderItemActionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReminderItemActionType.php
new file mode 100644
index 00000000..f52dd527
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReminderItemActionType.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ReminderItemActionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the action for a reminder item.
+ *
+ * @package php-ews\Type
+ */
+class ReminderItemActionType extends Type
+{
+ /**
+ * Specifies the action to take on the reminder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ReminderActionType
+ */
+ public $ActionType;
+
+ /**
+ * Contains the unique identifier and change key of an item in the Exchange
+ * store.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ItemId;
+
+ /**
+ * Specifies a new time for a reminder.
+ *
+ * This is used when the ActionType element is set to Snooze, in order to
+ * delay the reminder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $NewReminderTime;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReminderType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReminderType.php
new file mode 100644
index 00000000..b8492502
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReminderType.php
@@ -0,0 +1,105 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ReminderType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a reminder for a task or a calendar item.
+ *
+ * @package php-ews\Type
+ */
+class ReminderType extends Type
+{
+ /**
+ * The end date of the item the reminder is for.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $EndDate;
+
+ /**
+ * The unique identifier of the reminder.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ItemId;
+
+ /**
+ * The location for the item the reminder is for.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Location;
+
+ /**
+ * The unique identifier of the recurring master item for the reminder.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $RecurringMasterItemId;
+
+ /**
+ * Specified whether the reminder is for a calendar item or a task.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ReminderGroup
+ */
+ public $ReminderGroup;
+
+ /**
+ * The time for the reminder to occur.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $ReminderTime;
+
+ /**
+ * The start date of the item the reminder is for.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $StartDate;
+
+ /**
+ * The subject of the item the reminder is for.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Subject;
+
+ /**
+ * The unique identifier of the calendar item.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $UID;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RemoveItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RemoveItemType.php
new file mode 100644
index 00000000..28d25295
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RemoveItemType.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RemoveItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a response object that is used to remove a meeting item when a
+ * MeetingCancellation message is received.
+ *
+ * @package php-ews\Type
+ */
+class RemoveItemType extends ResponseObjectType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyAllToItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyAllToItemType.php
new file mode 100644
index 00000000..f9183caa
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyAllToItemType.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ReplyAllToItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a reply to the sender and all identified recipients of an item in
+ * the Exchange store.
+ *
+ * @package php-ews\Type
+ */
+class ReplyAllToItemType extends SmartResponseType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyBody.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyBody.php
new file mode 100644
index 00000000..68ac62f4
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyBody.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ReplyBody.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the out of office (OOF) response that is sent to addresses outside
+ * the recipient's domain or trusted domains.
+ *
+ * @package php-ews\Type
+ */
+class ReplyBody extends Type
+{
+ /**
+ * Specifies the language used in the ExternalReply message.
+ *
+ * The possible values for this attribute are defined by IETF RFC 3066.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $lang;
+
+ /**
+ * Contains the OOF response.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Message;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyToItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyToItemType.php
new file mode 100644
index 00000000..3c05cfda
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ReplyToItemType.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ReplyToItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a reply to the sender of an item in the Exchange store.
+ *
+ * @package php-ews\Type
+ */
+class ReplyToItemType extends SmartResponseType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RequestAttachmentIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RequestAttachmentIdType.php
new file mode 100644
index 00000000..90089569
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RequestAttachmentIdType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RequestAttachmentIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies a single attachment.
+ *
+ * @package php-ews\Type
+ */
+class RequestAttachmentIdType extends BaseItemIdType
+{
+ /**
+ * Specifies the attachment identifier.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Id;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RequestServerVersion.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RequestServerVersion.php
new file mode 100644
index 00000000..d327faa5
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RequestServerVersion.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RequestServerVersion.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the Microsoft Exchange Server version of a request.
+ *
+ * @package php-ews\Type
+ */
+class RequestServerVersion extends Type
+{
+ /**
+ * Identifies the Exchange Server version used in the request.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ExchangeVersionType
+ */
+ public $Version;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResolutionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResolutionType.php
new file mode 100644
index 00000000..0f295c28
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResolutionType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ResolutionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single resolved entity.
+ *
+ * @package php-ews\Type
+ */
+class ResolutionType extends Type
+{
+ /**
+ * Represents an Exchange contact item.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ContactItemType
+ */
+ public $Contact;
+
+ /**
+ * Identifies a mail-enabled Active Directory directory service object.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $Mailbox;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResponseObjectCoreType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResponseObjectCoreType.php
new file mode 100644
index 00000000..5dc8fbe6
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResponseObjectCoreType.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ResponseObjectCoreType;
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Internal abstract base type for reply objects.
+ *
+ * @package php-ews\Type
+ */
+abstract class ResponseObjectCoreType extends MessageType
+{
+ /**
+ * The name of this reply object class as an English string.
+ *
+ * The client application is required to translate it if it's running in a
+ * different locale.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ObjectName;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResponseObjectType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResponseObjectType.php
new file mode 100644
index 00000000..c9e46f0c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ResponseObjectType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ResponseObjectType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Base type for reply objects.
+ *
+ * @package php-ews\Type
+ */
+abstract class ResponseObjectType extends ResponseObjectCoreType
+{
+ /**
+ * Item identifier that is related to a response object.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $ReferenceItemId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RestrictionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RestrictionType.php
new file mode 100644
index 00000000..5cbb70cd
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RestrictionType.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RestrictionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the restriction or query that is used to filter items or folders
+ * in FindItem/FindFolder and search folder operations.
+ *
+ * @package php-ews\Type
+ */
+class RestrictionType extends MultipleOperandBooleanExpressionType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RetentionPolicyTagType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RetentionPolicyTagType.php
new file mode 100644
index 00000000..c6a4dbeb
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RetentionPolicyTagType.php
@@ -0,0 +1,101 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RetentionPolicyTagType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the retention policy for a mailbox item.
+ *
+ * @package php-ews\Type
+ */
+class RetentionPolicyTagType extends Type
+{
+ /**
+ * Specifies the descriptive text for the retention policy.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Description;
+
+ /**
+ * Defines the display name of the retention policy tag.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayName;
+
+ /**
+ * Indicates whether the mailbox is an archive mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $IsArchive;
+
+ /**
+ * Indicates whether the retention policy is visible to users.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $IsVisible;
+
+ /**
+ * Indicates whether the user opted in to the retention policy.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $OptedInto;
+
+ /**
+ * Specifies the action performed on items with the retention tag.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\RetentionActionType
+ */
+ public $RetentionAction;
+
+ /**
+ * Specifies the retention tag identifier.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $RetentionId;
+
+ /**
+ * Specifies the number of days that the retention policy is in effect.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $RetentionPeriod;
+
+ /**
+ * Specifies the type of folder used in a retention policy.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ElcFolderType
+ */
+ public $Type;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RoomType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RoomType.php
new file mode 100644
index 00000000..efc5985e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RoomType.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RoomType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a meeting room.
+ *
+ * @package php-ews\Type
+ */
+class RoomType extends DirectoryEntryType
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RootItemIdType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RootItemIdType.php
new file mode 100644
index 00000000..4ecb27d3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RootItemIdType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RootItemIdType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies the root item of a deleted item.
+ *
+ * @package php-ews\Type
+ */
+class RootItemIdType extends BaseItemIdType
+{
+ /**
+ * Identifies the new change key of the root item of a deleted item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $RootItemChangeKey;
+
+ /**
+ * Identifies the root item of a deleted item.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $RootItemId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleActionsType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleActionsType.php
new file mode 100644
index 00000000..f3a0f218
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleActionsType.php
@@ -0,0 +1,140 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RuleActionsType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the set of actions that are available to be taken on a message
+ * when conditions are fulfilled.
+ *
+ * @package php-ews\Type
+ */
+class RuleActionsType extends Type
+{
+ /**
+ * Represents the categories that are stamped on e-mail messages.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $AssignCategories;
+
+ /**
+ * Identifies the ID of the folder that e-mail items will be copied to.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\TargetFolderIdType
+ */
+ public $CopyToFolder;
+
+ /**
+ * Indicates whether messages are to be moved to the Deleted Items folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $Delete;
+
+ /**
+ * Indicates the e-mail addresses to which messages are to be forwarded as
+ * attachments.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfEmailAddressesType
+ */
+ public $ForwardAsAttachmentToRecipients;
+
+ /**
+ * Indicates the e-mail addresses to which messages are to be forwarded.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfEmailAddressesType
+ */
+ public $ForwardToRecipients;
+
+ /**
+ * Specifies the importance that is to be stamped on messages.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ImportanceChoicesType
+ */
+ public $MarkImportance;
+
+ /**
+ * Indicates whether messages are to be marked as read.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $MarkAsRead;
+
+ /**
+ * Identifies the ID of the folder that e-mail items will be moved to.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\TargetFolderIdType
+ */
+ public $MoveToFolder;
+
+ /**
+ * Indicates whether messages are to be permanently deleted and not saved to
+ * the Deleted Items folder.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $PermanentDelete;
+
+ /**
+ * Indicates the e-mail addresses to which messages are to be redirected.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfEmailAddressesType
+ */
+ public $RedirectToRecipients;
+
+ /**
+ * Indicates the mobile phone numbers to which a Short Message Service (SMS)
+ * alert is to be sent.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfEmailAddressesType
+ */
+ public $SendSMSAlertToRecipients;
+
+ /**
+ * Indicates the ID of the template message that is to be sent as a reply to
+ * incoming messages.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ServerReplyWithMessage;
+
+ /**
+ * Indicates whether subsequent rules are to be evaluated.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $StopProcessingRules;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleOperationErrorType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleOperationErrorType.php
new file mode 100644
index 00000000..9e86642a
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleOperationErrorType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RuleOperationErrorType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a rule operation error.
+ *
+ * @package php-ews\Type
+ */
+class RuleOperationErrorType extends Type
+{
+ /**
+ * Indicates the index of the operation in the request that caused the rule
+ * operation error.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $OperationIndex;
+
+ /**
+ * Represents an array of rule validation errors on each rule field that has
+ * an error.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRuleValidationErrorsType
+ */
+ public $ValidationErrors;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleOperationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleOperationType.php
new file mode 100644
index 00000000..c4f70a72
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleOperationType.php
@@ -0,0 +1,13 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RuleOperationType;
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+abstract class RuleOperationType extends Type
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicateDateRangeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicateDateRangeType.php
new file mode 100644
index 00000000..c4205b3c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicateDateRangeType.php
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RulePredicateDateRangeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Specifies the date range within which incoming messages have to have been
+ * received in order for the condition or exception to apply.
+ *
+ * @package php-ews\Type
+ */
+class RulePredicateDateRangeType extends Type
+{
+ /**
+ * Specifies the rule time period and indicates that the rule condition is
+ * met before this value.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $EndDateTime;
+
+ /**
+ * Specifies the rule time period and indicates that the rule condition is
+ * met after this value.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $StartDateTime;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicateSizeRangeType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicateSizeRangeType.php
new file mode 100644
index 00000000..f792c0e0
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicateSizeRangeType.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RulePredicateSizeRangeType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Specifies the minimum and maximum sizes that incoming messages must be in
+ * order for the condition or exception to apply.
+ *
+ * @package php-ews\Type
+ */
+class RulePredicateSizeRangeType extends Type
+{
+ /**
+ * Specifies the maximum size that a message must be in order for the
+ * condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $MaximumSize;
+
+ /**
+ * Specifies the minimum size that a message must be in order for the
+ * condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $MinimumSize;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicatesType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicatesType.php
new file mode 100644
index 00000000..cbb34bc3
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RulePredicatesType.php
@@ -0,0 +1,369 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RulePredicatesType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies the conditions that, when fulfilled, will trigger the rule actions
+ * for a rule.
+ *
+ * @package php-ews\Type
+ */
+class RulePredicatesType extends Type
+{
+ /**
+ * Contains the categories that must be applied to an incoming message in
+ * order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $Categories;
+
+ /**
+ * Indicates the strings that must appear in the body of incoming messages
+ * in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $ContainsBodyStrings;
+
+ /**
+ * Indicates the strings that must appear in the headers of incoming
+ * messages in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $ContainsHeaderStrings;
+
+ /**
+ * Indicates the strings that must appear in either the ToRecipients or
+ * CcRecipients properties of incoming messages in order for the condition
+ * or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $ContainsRecipientStrings;
+
+ /**
+ * Indicates the strings that must appear in the From property of incoming
+ * messages in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $ContainsSenderStrings;
+
+ /**
+ * Indicates the strings that must appear in either the body or the subject
+ * of incoming messages in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $ContainsSubjectOrBodyStrings;
+
+ /**
+ * Indicates the strings that must appear in the subject of incoming
+ * messages in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $ContainsSubjectStrings;
+
+ /**
+ * Specifies the flag for action value that must appear on incoming messages
+ * in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\FlaggedForActionType
+ */
+ public $FlaggedForAction;
+
+ /**
+ * Indicates the e-mail addresses from which incoming messages must be sent
+ * in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfEmailAddressesType
+ */
+ public $FromAddresses;
+
+ /**
+ * Represents the e-mail account names from which incoming messages have to
+ * have been aggregated in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $FromConnectedAccounts;
+
+ /**
+ * Indicates whether incoming messages have to have attachments in order for
+ * the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $HasAttachments;
+
+ /**
+ * Specifies the importance that is stamped on incoming messages in order
+ * for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ImportanceChoicesType
+ */
+ public $Importance;
+
+ /**
+ * Indicates whether incoming messages must be approval requests in order
+ * for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsApprovalRequest;
+
+ /**
+ * Indicates whether incoming messages must be automatic forwards in order
+ * for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsAutomaticForward;
+
+ /**
+ * Indicates whether incoming messages must be automatic replies in order
+ * for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsAutomaticReply;
+
+ /**
+ * Indicates whether incoming messages must be S/MIME encrypted in order for
+ * the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsEncrypted;
+
+ /**
+ * Indicates whether incoming messages must be meeting requests in order for
+ * the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsMeetingRequest;
+
+ /**
+ * Indicates whether incoming messages must be meeting responses in order
+ * for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsMeetingResponse;
+
+ /**
+ * Indicates whether incoming messages must be non-delivery reports (NDRs)
+ * in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsNDR;
+
+ /**
+ * Indicates whether incoming messages must be permission controlled (RMS
+ * protected) in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsPermissionControlled;
+
+ /**
+ * Indicates whether incoming messages must be read receipts in order for
+ * the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsReadReceipt;
+
+ /**
+ * Indicates whether incoming messages must be S/MIME signed in order for\
+ * the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsSigned;
+
+ /**
+ * Indicates whether incoming messages must be voice mail messages in order
+ * for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsVoicemail;
+
+ /**
+ * Represents the item classes that must be stamped on incoming messages in
+ * order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $ItemClasses;
+
+ /**
+ * Represents the message classifications that must be stamped on incoming
+ * messages in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfStringsType
+ */
+ public $MessageClassifications;
+
+ /**
+ * Indicates whether the owner of the mailbox must not be in the
+ * ToRecipients property of the incoming messages in order for the condition
+ * or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $NotSentToMe;
+
+ /**
+ * Indicates the sensitivity that must be stamped on incoming messages in
+ * order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\SensitivityChoicesType
+ */
+ public $Sensitivity;
+
+ /**
+ * Indicates whether the owner of the mailbox has to be in the CcRecipients
+ * property of incoming messages in order for the condition or exception to
+ * apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $SentCcMe;
+
+ /**
+ * Indicates whether the owner of the mailbox has to be the only one in the
+ * ToRecipients property of incoming messages in order for the condition or
+ * exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $SentOnlyToMe;
+
+ /**
+ * Indicates the e-mail addresses that incoming messages have to have been
+ * sent to in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfEmailAddressesType
+ */
+ public $SentToAddresses;
+
+ /**
+ * Indicates whether the owner of the mailbox has to be in the ToRecipients
+ * property of incoming messages in order for the condition or exception to
+ * apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $SentToMe;
+
+ /**
+ * Indicates whether the owner of the mailbox has to be in either a
+ * ToRecipients or CcRecipients property of incoming messages in order for
+ * the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $SentToOrCcMe;
+
+ /**
+ * Specifies the date range within which incoming messages have to have been
+ * received in order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\RulePredicateDateRangeType
+ */
+ public $WithinDateRange;
+
+ /**
+ * Specifies the minimum and maximum sizes that incoming messages must be in
+ * order for the condition or exception to apply.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\RulePredicateSizeRangeType
+ */
+ public $WithinSizeRange;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleType.php
new file mode 100644
index 00000000..70593425
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleType.php
@@ -0,0 +1,100 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RuleType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single rule in a user's mailbox.
+ *
+ * @package php-ews\Type
+ */
+class RuleType extends Type
+{
+ /**
+ * Represents the actions to be taken on a message when the conditions are
+ * fulfilled.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\RuleActionsType
+ */
+ public $Actions;
+
+ /**
+ * Identifies the conditions that, when fulfilled, will trigger the rule
+ * actions for a rule.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\RulePredicatesType
+ */
+ public $Conditions;
+
+ /**
+ * Contains the display name of a rule.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $DisplayName;
+
+ /**
+ * Identifies the exceptions that represent all the available rule exception
+ * conditions for the inbox rule.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\RulePredicatesType
+ */
+ public $Exceptions;
+
+ /**
+ * Indicates whether the rule is enabled.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsEnabled;
+
+ /**
+ * Indicates whether the rule is in an error condition.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsInError;
+
+ /**
+ * Indicates whether the rule cannot be modified with the managed code APIs.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IsNotSupported;
+
+ /**
+ * Indicates the order in which a rule is to be run.
+ *
+ * @since Exchange 2010
+ *
+ * @var integer
+ */
+ public $Priority;
+
+ /**
+ * Specifies the rule identifier.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $RuleId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleValidationErrorType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleValidationErrorType.php
new file mode 100644
index 00000000..ae8f625e
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/RuleValidationErrorType.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\RuleValidationErrorType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single validation error on a particular rule property value,
+ * predicate property value, or action property value.
+ *
+ * @package php-ews\Type
+ */
+class RuleValidationErrorType extends Type
+{
+ /**
+ * Represents a rule validation error code that describes what failed
+ * validation for each rule predicate or action.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\RuleValidationErrorCodeType
+ */
+ public $ErrorCode;
+
+ /**
+ * Represents the reason for the validation error.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $ErrorMessage;
+
+ /**
+ * Specifies the URI to the rule field that caused the validation error.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\RuleFieldURIType
+ */
+ public $FieldUri;
+
+ /**
+ * Represents the value of the field that caused the validation error.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $FieldValue;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchExpressionType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchExpressionType.php
new file mode 100644
index 00000000..6e2b31ea
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchExpressionType.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SearchExpressionType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the substituted element within a restriction.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Determine which classes need to extend this.
+ */
+abstract class SearchExpressionType extends Type
+{
+ /**
+ * Identifies MAPI properties.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToExtendedFieldType
+ */
+ public $ExtendedFieldURI;
+
+ /**
+ * Identifies frequently referenced properties by URI.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToUnindexedFieldType
+ */
+ public $FieldURI;
+
+ /**
+ * Identifies individual members of a dictionary.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PathToIndexedFieldType
+ */
+ public $IndexedFieldURI;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchFolderType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchFolderType.php
new file mode 100644
index 00000000..4404f067
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchFolderType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SearchFolderType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a search folder that is contained in a mailbox.
+ *
+ * @package php-ews\Type
+ */
+class SearchFolderType extends FolderType
+{
+ /**
+ * Contains the parameters that define a search folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\SearchParametersType
+ */
+ public $SearchParameters;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchMailboxesResultType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchMailboxesResultType.php
new file mode 100644
index 00000000..4de63da8
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchMailboxesResultType.php
@@ -0,0 +1,117 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SearchMailboxesResultType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the result of a SearchMailboxes request.
+ *
+ * @package php-ews\Type
+ */
+class SearchMailboxesResultType extends Type
+{
+ /**
+ * Contains a list of mailboxes and associated queries for discovery search.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfMailboxQueriesType
+ */
+ public $SearchQueries;
+
+ /**
+ * Contains the type of search to perform.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\SearchResultType
+ */
+ public $ResultType;
+
+ /**
+ * Specifies the total number of items in a search result.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $ItemCount;
+
+ /**
+ * Specifies the total size of one or more mailbox items.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $Size;
+
+ /**
+ * Specifies the number of pages returned in a search result pagination.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $PageItemCount;
+
+ /**
+ * Specifies the number of items to return in a search result pagination.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $PageItemSize;
+
+ /**
+ * Specifies a list of one or more KeywordStat elements.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfKeywordStatisticsSearchResultsType
+ */
+ public $KeywordStats;
+
+ /**
+ * Specifies a list of items available for preview.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfSearchPreviewItemsType
+ */
+ public $Items;
+
+ /**
+ *
+ *
+ * @since Exchange 2013
+ *
+ * @var
+ */
+ public $FailedMailboxes;
+
+ /**
+ *
+ *
+ * @since Exchange 2013
+ *
+ * @var
+ */
+ public $Refiners;
+
+ /**
+ *
+ *
+ * @since Exchange 2013
+ *
+ * @var
+ */
+ public $MailboxStats;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchParametersType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchParametersType.php
new file mode 100644
index 00000000..b0493321
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchParametersType.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SearchParametersType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the parameters that define a search folder.
+ *
+ * @package php-ews\Type
+ */
+class SearchParametersType extends Type
+{
+ /**
+ * Represents the collection of folders that will be mined to determine the
+ * contents of a search folder.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfBaseFolderIdsType
+ */
+ public $BaseFolderIds;
+
+ /**
+ * Represents the restriction or query that is used to filter items or
+ * folders in FindItem/FindFolder and search folder operations.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\RestrictionType
+ */
+ public $Restriction;
+
+ /**
+ * Describes how a search folder traverses the folder hierarchy.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\SearchFolderTraversalType
+ */
+ public $Traversal;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchPreviewItemType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchPreviewItemType.php
new file mode 100644
index 00000000..4c0033d9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchPreviewItemType.php
@@ -0,0 +1,221 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SearchPreviewItemType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines an item preview for a discovery search.
+ *
+ * @package php-ews\Type
+ */
+class SearchPreviewItemType extends Type
+{
+ /**
+ * Represents a collection of recipients to receive a blind carbon copy
+ * (Bcc) of an e-mail message.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRecipientsType
+ */
+ public $BccRecipients;
+
+ /**
+ * Represents a collection of recipients that will receive a copy of the
+ * message.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRecipientsType
+ */
+ public $CcRecipients;
+
+ /**
+ * Specifies the time at which the item was created.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $CreatedTime;
+
+ /**
+ * Specifies an array of additional properties.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfExtendedPropertyType
+ */
+ public $ExtendedProperties;
+
+ /**
+ * Specifies whether the item has attachments.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $HasAttachment;
+
+ /**
+ * Specifies the identifier of the item.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $Id;
+
+ /**
+ * Describes the importance of an item or the aggregated importance of all
+ * items in a conversation in the current folder.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ImportanceChoicesType
+ */
+ public $Importance;
+
+ /**
+ * Represents the message class of an item.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\ItemClassType
+ */
+ public $ItemClass;
+
+ /**
+ * Contains the mailbox identifier and the user’s primary Simple Mail
+ * Transfer Protocol (SMTP) address.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\PreviewItemMailboxType
+ */
+ public $Mailbox;
+
+ /**
+ * Specifies the link to preview an item in Microsoft Outlook Web App.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $OwaLink;
+
+ /**
+ * Specifies the identifier of the parent item in a search preview.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ParentId;
+
+ /**
+ * Specifies the first 256 characters of an item for display.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Preview;
+
+ /**
+ * Indicates whether a client can read a folder or item.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $Read;
+
+ /**
+ * Specifies the time at which an item was received.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $ReceivedTime;
+
+ /**
+ * Specifies the e-mail address of the person who sent an item.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Sender;
+
+ /**
+ * Specifies the time at which the item was sent.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @todo Make a DateTime object.
+ */
+ public $SentTime;
+
+ /**
+ * Specifies the total size of one or more mailbox items.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $Size;
+
+ /**
+ * Specifies a value used for sorting.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $SortValue;
+
+ /**
+ * Represents the subject property of Exchange store items.
+ *
+ * The subject is limited to 255 characters.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Subject;
+
+ /**
+ * Specifies a list of recipients to whom the item was sent.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfSmtpAddressType
+ */
+ public $ToRecipients;
+
+ /**
+ * Specifies a unique hash value used for de-duplication.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $UniqueHash;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchableMailboxType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchableMailboxType.php
new file mode 100644
index 00000000..2f095732
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SearchableMailboxType.php
@@ -0,0 +1,81 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SearchableMailboxType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a mailbox that may be searched.
+ *
+ * @package php-ews\Type
+ */
+class SearchableMailboxType extends Type
+{
+ /**
+ * Defines the display name of the mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $DisplayName;
+
+ /**
+ * Contains the external email address of the mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $ExternalEmailAddress;
+
+ /**
+ * Specifies the globally unique identifier of the mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Guid;
+
+ /**
+ * Indicates whether the mailbox is external to the organization.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $IsExternalMailbox;
+
+ /**
+ * Specifies a Boolean value that indicates whether the entity is a
+ * distribution group or a mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var boolean
+ */
+ public $IsMembershipGroup;
+
+ /**
+ * Specifies the primary Simple Mail Transfer Protocol (SMTP) address of the
+ * mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $PrimarySmtpAddress;
+
+ /**
+ * Specifies the reference identifier for the mailbox.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $ReferenceId;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SeekToConditionPageViewType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SeekToConditionPageViewType.php
new file mode 100644
index 00000000..6424e609
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SeekToConditionPageViewType.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SeekToConditionPageViewType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the condition that is used to identify the end of a search, the
+ * starting index of a search, the maximum entries to return, and the search
+ * directions for a FindItem or FindConversation search.
+ *
+ * @package php-ews\Type
+ */
+class SeekToConditionPageViewType extends Type
+{
+ /**
+ * The text value of the BasePoint attribute is the base point from where
+ * the search will start.
+ *
+ * A text value of Beginning indicates that the search will start at the
+ * beginning of the result set. A text value of End indicates that the
+ * search will start at the end of the result set.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\IndexBasePointType
+ */
+ public $BasePoint;
+
+ /**
+ * The maximum number of items that can be returned in a result set.
+ *
+ * @since Exchange 2013
+ *
+ * @var integer
+ */
+ public $MaxEntriesReturned;
+
+ /**
+ * The condition that is used to identify the end of a search for a FindItem
+ * or a FindConversation operation.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\Type\RestrictionType
+ */
+ public $Condition;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SendNotificationResultType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SendNotificationResultType.php
new file mode 100644
index 00000000..daf4aea1
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SendNotificationResultType.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SendNotificationResultType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines the response of a client application to a push notification.
+ *
+ * @package php-ews\Type
+ */
+class SendNotificationResultType extends Type
+{
+ /**
+ * Describes the status of a push subscription.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\SubscriptionStatusType
+ */
+ public $SubscriptionStatus;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializableTimeZone.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializableTimeZone.php
new file mode 100644
index 00000000..08937510
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializableTimeZone.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SerializableTimeZone.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines a time zone.
+ *
+ * @package php-ews\Type
+ */
+class SerializableTimeZone extends Type
+{
+ /**
+ * Represents the general offset from Coordinated Universal Time (UTC).
+ *
+ * This value is in minutes.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $Bias;
+
+ /**
+ * Represents an offset from the time relative to UTC represented by the
+ * Bias (UTC) element in regions where daylight saving time is observed.
+ *
+ * This element also contains information about when the transition to
+ * daylight saving time from standard time occurs.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\SerializableTimeZoneTime
+ */
+ public $DaylightTime;
+
+ /**
+ * Represents an offset from the time relative to UTC represented by the
+ * Bias (UTC) element.
+ *
+ * This element also contains information about the transition to standard
+ * time from daylight saving time in regions where daylight saving time is
+ * observed.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\SerializableTimeZoneTime
+ */
+ public $StandardTime;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializableTimeZoneTime.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializableTimeZoneTime.php
new file mode 100644
index 00000000..a9b0f849
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializableTimeZoneTime.php
@@ -0,0 +1,97 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SerializableTimeZoneTime.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an offset from the time relative to Coordinated Universal Time
+ * (UTC) that is represented by the Bias (UTC) element in regions where daylight
+ * saving time is observed.
+ *
+ * This class also contains information about when the transition to daylight
+ * saving time from standard time occurs.
+ *
+ * @package php-ews\Type
+ */
+class SerializableTimeZoneTime extends Type
+{
+ /**
+ * Represents the offset from the UTC offset that is identified by the Bias
+ * (UTC) element for standard time and daylight saving time.
+ *
+ * This value is in minutes.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $Bias;
+
+ /**
+ * Represents the day of the week when the transition to and from standard
+ * time and daylight saving time occurs.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @see \jamesiarmes\PhpEws\Enumeration\DayOfWeekType
+ */
+ public $DayOfWeek;
+
+ /**
+ * Represents the nth occurrence of the day that is specified in the
+ * DayOfWeek element that represents the date of transition from and to
+ * standard time and daylight saving time.
+ *
+ * The maximum value for this element can be either 4 or 5, depending on the
+ * month and year.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $DayOrder;
+
+ /**
+ * Represents the transition month of the year to and from standard time and
+ * daylight saving time.
+ *
+ * The value represents the ordinal rank of the month by occurrence and must
+ * be a number between 1 and 12
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $Month;
+
+ /**
+ * Represents the transition time of day to and from standard time and
+ * daylight saving time.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ *
+ * @todo Create a Time class that extends DateTime.
+ */
+ public $Time;
+
+ /**
+ * Used to define a time zone that changes depending on the year.
+ *
+ * The year format is YYYY.
+ *
+ * This element is optional.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var string
+ */
+ public $Year;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializedSecurityContextType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializedSecurityContextType.php
new file mode 100644
index 00000000..24e72fb1
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SerializedSecurityContextType.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SerializedSecurityContextType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines token serialization in server-to-server authentication.
+ *
+ * @package php-ews\Type
+ */
+class SerializedSecurityContextType extends Type
+{
+ /**
+ * Represents a collection of Active Directory directory service group
+ * object security identifiers.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfGroupIdentifiersType
+ */
+ public $GroupSids;
+
+ /**
+ * Represents the primary Simple Mail Transfer Protocol (SMTP) address of an
+ * account to be used for server-to-server authorization.
+ *
+ * @var string
+ */
+ public $PrimarySmtpAddress;
+
+ /**
+ * Represents the group security identifier and attributes for a restricted
+ * group.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfRestrictedGroupIdentifiersType
+ */
+ public $RestrictedGroupSids;
+
+ /**
+ * Represents the security descriptor definition language (SDDL) form of the
+ * user security identifier in a serialized security context SOAP header.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $UserSid;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ServerVersionInfo.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ServerVersionInfo.php
new file mode 100644
index 00000000..1536c2e9
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ServerVersionInfo.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ServerVersionInfo.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents the Microsoft Exchange Server version number.
+ *
+ * @package php-ews\Type
+ */
+class ServerVersionInfo extends Type
+{
+ /**
+ * Describes the major build number.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $MajorBuildNumber;
+
+ /**
+ * Describes the major version number.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $MajorVersion;
+
+ /**
+ * Describes the minor build number.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $MinorBuildNumber;
+
+ /**
+ * Describes the minor version number.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $MinorVersion;
+
+ /**
+ * Describes the Exchange Web Services (EWS) schema version.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Version;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ServiceConfiguration.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ServiceConfiguration.php
new file mode 100644
index 00000000..deed4189
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/ServiceConfiguration.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\ServiceConfiguration.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * This "base class" is available for ErrorCode / ErrorMessage elements if those
+ * become necessary in the future.
+ *
+ * @package php-ews\Type
+ */
+class ServiceConfiguration extends Type
+{
+
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetFolderFieldType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetFolderFieldType.php
new file mode 100644
index 00000000..27eec53c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetFolderFieldType.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SetFolderFieldType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an update that sets the value for a single property on a folder in
+ * an UpdateFolder operation.
+ *
+ * @package php-ews\Type
+ */
+class SetFolderFieldType extends FolderChangeDescriptionType
+{
+ /**
+ * Represents a folder that primarily contains calendar items.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\CalendarFolderType
+ */
+ public $CalendarFolder;
+
+ /**
+ * Represents a Contacts folder in a mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ContactsFolderType
+ */
+ public $ContactsFolder;
+
+ /**
+ * Identifies a folder to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\FolderType
+ */
+ public $Folder;
+
+ /**
+ * Represents a search folder that is contained in a mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\SearchFolderType
+ */
+ public $SearchFolder;
+
+ /**
+ * Represents a Tasks folder that is contained in a mailbox.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\TasksFolderType
+ */
+ public $TasksFolder;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetItemFieldType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetItemFieldType.php
new file mode 100644
index 00000000..bad83e2d
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetItemFieldType.php
@@ -0,0 +1,114 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SetItemFieldType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an update to a single property of an item in an UpdateItem
+ * operation.
+ *
+ * @package php-ews\Type
+ */
+class SetItemFieldType extends ItemChangeDescriptionType
+{
+ /**
+ * Represents an Exchange calendar item to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\CalendarItemType
+ */
+ public $CalendarItem;
+
+ /**
+ * Represents an Exchange contact item to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ContactItemType
+ */
+ public $Contact;
+
+ /**
+ * Represents a distribution list to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\DistributionListType
+ */
+ public $DistributionList;
+
+ /**
+ * Represents an item in the Exchange store.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemType
+ */
+ public $Item;
+
+ /**
+ * Represents a meeting cancellation to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingCancellationMessageType
+ */
+ public $MeetingCancellation;
+
+ /**
+ * Represents a meeting message to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingMessageType
+ */
+ public $MeetingMessage;
+
+ /**
+ * Represents a meeting request to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingRequestMessageType
+ */
+ public $MeetingRequest;
+
+ /**
+ * Represents a meeting response to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MeetingResponseMessageType
+ */
+ public $MeetingResponse;
+
+ /**
+ * Represents an Exchange e-mail message to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\MessageType
+ */
+ public $Message;
+
+ /**
+ * Represents a post to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\PostItemType
+ */
+ public $PostItem;
+
+ /**
+ * Represents a task to update.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\TaskType
+ */
+ public $Task;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetRuleOperationType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetRuleOperationType.php
new file mode 100644
index 00000000..2c67a126
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SetRuleOperationType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SetRuleOperationType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents an operation to update an existing rule.
+ *
+ * @package php-ews\Type
+ */
+class SetRuleOperationType extends RuleOperationType
+{
+ /**
+ * Represents a rule in a user's mailbox.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\RuleType
+ */
+ public $Rule;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SidAndAttributesType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SidAndAttributesType.php
new file mode 100644
index 00000000..b1326aa8
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SidAndAttributesType.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SidAndAttributesType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single security identifier and attribute for an Active Directory
+ * directory service object group of which the account is a member.
+ *
+ * @package php-ews\Type
+ */
+class SidAndAttributesType extends Type
+{
+ /**
+ * Contains group attributes.
+ *
+ * @since Exchange 2007
+ *
+ * @var integer
+ */
+ public $Attributes;
+
+ /**
+ * Represents the security descriptor definition language (SDDL) form of a
+ * security identifier (SID) that represents the group.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $SecurityIdentifier;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SingleRecipientType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SingleRecipientType.php
new file mode 100644
index 00000000..5249f96c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SingleRecipientType.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SingleRecipientType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies the delegate in a delegate access scenario.
+ *
+ * @package php-ews\Type
+ */
+class SingleRecipientType extends Type
+{
+ /**
+ * Identifies a mail-enabled Active Directory directory service object.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\EmailAddressType
+ */
+ public $Mailbox;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmartResponseBaseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmartResponseBaseType.php
new file mode 100644
index 00000000..8ad124f0
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmartResponseBaseType.php
@@ -0,0 +1,122 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SmartResponseBaseType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for smart responses.
+ *
+ * @package php-ews\Type
+ *
+ * @todo Extend ResponseObjectType?
+ * @link https://msdn.microsoft.com/en-us/library/office/exchangewebservices.smartresponsebasetype(v=exchg.150).aspx
+ */
+class SmartResponseBaseType extends Type
+{
+ /**
+ * Represents a collection of recipients to receive a blind carbon copy
+ * (Bcc) of an e-mail.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRecipientsType
+ */
+ public $BccRecipients;
+
+ /**
+ * Represents the actual body content of a message.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\BodyType
+ */
+ public $Body;
+
+ /**
+ * Represents a collection of recipients that will receive a copy of the
+ * message.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRecipientsType
+ */
+ public $CcRecipients;
+
+ /**
+ * Represents the address from which the message was sent.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $From;
+
+ /**
+ * Indicates whether the sender of an item requests a delivery receipt.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsDeliveryReceiptRequested;
+
+ /**
+ * Indicates whether the sender of an item requests a read receipt.
+ *
+ * @since Exchange 2007
+ *
+ * @var boolean
+ */
+ public $IsReadReceiptRequested;
+
+ /**
+ * Identifies the delegate in a delegate access scenario.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $ReceivedBy;
+
+ /**
+ * Identifies the principal in a delegate access scenario.
+ *
+ * @since Exchange 2007 SP1
+ *
+ * @var \jamesiarmes\PhpEws\Type\SingleRecipientType
+ */
+ public $ReceivedRepresenting;
+
+ /**
+ * Identifies the item to which the response object refers.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\ItemIdType
+ */
+ public $ReferenceItemId;
+
+ /**
+ * Represents the subject property of Exchange store items.
+ *
+ * @since Exchange 2007
+ *
+ * @var string
+ */
+ public $Subject;
+
+ /**
+ * Contains a set of recipients of an item.
+ *
+ * These are the primary recipients of an item.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfRecipientsType
+ */
+ public $ToRecipients;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmartResponseType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmartResponseType.php
new file mode 100644
index 00000000..9408b43c
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmartResponseType.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SmartResponseType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+/**
+ * Base class for smart responses that include new body content.
+ *
+ * @package php-ews\Type
+ */
+class SmartResponseType extends SmartResponseBaseType
+{
+ /**
+ * Represents the actual body content of a message.
+ *
+ * @since Exchange 2007
+ *
+ * @var \jamesiarmes\PhpEws\Type\BodyType
+ */
+ public $NewBodyContent;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmtpDomain.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmtpDomain.php
new file mode 100644
index 00000000..d9c85157
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmtpDomain.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SmtpDomain.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a single SMTP domain.
+ *
+ * @package php-ews\Type
+ */
+class SmtpDomain extends Type
+{
+ /**
+ * Identifies the name of a domain.
+ *
+ * This attribute is required.
+ *
+ * @since Exchange 2010
+ *
+ * @var string
+ */
+ public $Name;
+
+ /**
+ * Indicates whether subdomains of the domain identified by the Name
+ * attribute are considered internal.
+ *
+ * This attribute is optional.
+ *
+ * @since Exchange 2010
+ *
+ * @var boolean
+ */
+ public $IncludeSubdomains;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmtpDomainList.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmtpDomainList.php
new file mode 100644
index 00000000..fbac6101
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/SmtpDomainList.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\SmtpDomainList.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Identifies a list of internal SMTP domains of the organization.
+ *
+ * @package php-ews\Type
+ */
+class SmtpDomainList extends Type
+{
+ /**
+ * Identifies a single SMTP domain.
+ *
+ * @since Exchange 2010
+ *
+ * @var \jamesiarmes\PhpEws\Type\SmtpDomain
+ */
+ public $Domain;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StreamingSubscriptionRequest.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StreamingSubscriptionRequest.php
new file mode 100644
index 00000000..c42cf597
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StreamingSubscriptionRequest.php
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\StreamingSubscriptionRequest.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use \jamesiarmes\PhpEws\Type;
+
+/**
+ * Represents a subscription to a streaming event notification subscription.
+ *
+ * @package php-ews\Type
+ */
+class StreamingSubscriptionRequest extends Type
+{
+ /**
+ * Contains a collection of event notifications that are used to create a
+ * subscription.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfNotificationEventTypesType
+ */
+ public $EventTypes;
+
+ /**
+ * Contains an array of folder identifiers that are used to identify folders
+ * to monitor for event notifications.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\NonEmptyArrayOfBaseFolderIdsType
+ */
+ public $FolderIds;
+
+ /**
+ * Indicates whether the server will subscribe to all folders in the user's
+ * mailbox.
+ *
+ * A value of true indicates that the server will subscribe.
+ *
+ * @since Exchange 2010 SP1
+ *
+ * @var boolean
+ */
+ public $SubscribeToAllFolders;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StringArrayAttributedValueType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StringArrayAttributedValueType.php
new file mode 100644
index 00000000..282695a8
--- /dev/null
+++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StringArrayAttributedValueType.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Contains \jamesiarmes\PhpEws\Type\StringArrayAttributedValueType.
+ */
+
+namespace jamesiarmes\PhpEws\Type;
+
+use jamesiarmes\PhpEws\Type;
+
+/**
+ * Defines an instance of an array of string data.
+ *
+ * @package php-ews\Type
+ */
+class StringArrayAttributedValueType extends Type
+{
+ /**
+ * Specifies an array of attributions for its associated Value element.
+ *
+ * @since Exchange 2013
+ *
+ * @var \jamesiarmes\PhpEws\ArrayType\ArrayOfValueAttributionsType
+ */
+ public $Attributions;
+
+ /**
+ * Contains the value of the extended property.
+ *
+ * @since Exchange 2013
+ *
+ * @var string
+ */
+ public $Value;
+}
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StringAttributedValueType.php b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/Type/StringAttributedValueType.php
new file mode 100644
index 00000000..54d90258
--- /dev/null
+++ b/