diff options
Diffstat (limited to 'modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/types.xsd')
-rw-r--r-- | modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/types.xsd | 9779 |
1 files changed, 9779 insertions, 0 deletions
diff --git a/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/types.xsd b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/types.xsd new file mode 100644 index 00000000..52f4f189 --- /dev/null +++ b/modules-available/locationinfo/exchange-includes/jamesiarmes/PhpEws/assets/types.xsd @@ -0,0 +1,9779 @@ +<?xml version="1.0" encoding="utf-8" ?> +<xs:schema id="types" + elementFormDefault="qualified" + xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" + targetNamespace="http://schemas.microsoft.com/exchange/services/2006/types" + xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + <xs:import namespace="http://www.w3.org/XML/1998/namespace"/> + + <!-- SOAP header to indicate language for mailbox interaction--> + <xs:complexType name="MailboxCultureType"> + <xs:simpleContent> + <xs:extension base="xs:language"> + <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/"> + <xs:annotation> + <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation> + </xs:annotation> + </xs:anyAttribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:element name="MailboxCulture" type="t:MailboxCultureType"/> + + <xs:complexType name="InstalledAppType"> + <xs:sequence minOccurs="0"> + <xs:element name="Id" type="xs:string" minOccurs="0"/> + <xs:element name="MarketplaceAssetId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Enabled" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="ConsentState" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Type" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="LicenseStatus" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="TrialExpirationDate" type="xs:dateTime" minOccurs="0" maxOccurs="1"/> + <xs:element name="ProviderName" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="IconUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="HighResolutionIconUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DisplayName" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Requirements" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Version" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <!-- SOAP header to indicate which roles the caller or application want to use --> + <xs:complexType name="NonEmptyArrayOfRoleType"> + <xs:sequence> + <xs:element name="Role" type="xs:string" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ManagementRoleType"> + <xs:sequence> + <xs:element name="UserRoles" type="t:NonEmptyArrayOfRoleType" minOccurs="0" maxOccurs="1"/> + <xs:element name="ApplicationRoles" type="t:NonEmptyArrayOfRoleType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + <xs:element name="ManagementRole" type="t:ManagementRoleType" /> + + <!-- Server to Server auth SOAP header information --> + <xs:complexType name="SidAndAttributesType"> + <xs:sequence> + <xs:element name="SecurityIdentifier" type="xs:string"/> + </xs:sequence> + <xs:attribute name="Attributes" type="xs:unsignedInt" use="required"/> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfGroupIdentifiersType"> + <xs:sequence> + <xs:element name="GroupIdentifier" type="t:SidAndAttributesType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfRestrictedGroupIdentifiersType"> + <xs:sequence> + <xs:element name="RestrictedGroupIdentifier" type="t:SidAndAttributesType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SerializedSecurityContextType"> + <xs:sequence> + <xs:element name="UserSid" type="xs:string"/> + <xs:element name="GroupSids" type="t:NonEmptyArrayOfGroupIdentifiersType" minOccurs="0"/> + <xs:element name="RestrictedGroupSids" type="t:NonEmptyArrayOfRestrictedGroupIdentifiersType" minOccurs="0"/> + <xs:element name="PrimarySmtpAddress" type="xs:string" minOccurs="0"/> + </xs:sequence> + <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/"> + <xs:annotation> + <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation> + </xs:annotation> + </xs:anyAttribute> + </xs:complexType> + <xs:element name="SerializedSecurityContext" type="t:SerializedSecurityContextType"/> + + <xs:complexType name="ConnectingSIDType"> + <xs:choice> + <xs:element name="PrincipalName" type="t:PrincipalNameType" /> + <xs:element name="SID" type="t:SIDType" /> + <xs:element name="PrimarySmtpAddress" type="t:PrimarySmtpAddressType" /> + <xs:element name="SmtpAddress" type="t:SmtpAddressType" /> + </xs:choice> + </xs:complexType> + + <xs:complexType name="PrincipalNameType"> + <xs:simpleContent> + <xs:extension base="t:NonEmptyStringType" /> + </xs:simpleContent> + </xs:complexType> + + <xs:complexType name="SIDType"> + <xs:simpleContent> + <xs:extension base="t:NonEmptyStringType" /> + </xs:simpleContent> + </xs:complexType> + + <xs:complexType name="PrimarySmtpAddressType"> + <xs:simpleContent> + <xs:extension base="t:NonEmptyStringType" /> + </xs:simpleContent> + </xs:complexType> + + <xs:complexType name="SmtpAddressType"> + <xs:simpleContent> + <xs:extension base="t:NonEmptyStringType" /> + </xs:simpleContent> + </xs:complexType> + + <xs:complexType name="ExchangeImpersonationType"> + <xs:sequence> + <xs:element name="ConnectingSID" type="t:ConnectingSIDType" /> + </xs:sequence> + <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/"> + <xs:annotation> + <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation> + </xs:annotation> + </xs:anyAttribute> + </xs:complexType> + <xs:element name="ExchangeImpersonation" type="t:ExchangeImpersonationType" /> + + <xs:simpleType name="SpecialLogonTypeType"> + <xs:annotation> + <xs:documentation>Surfaces the various logon types that are supported for conversion</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Admin"/> + <xs:enumeration value="SystemService"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="OpenAsAdminOrSystemServiceType"> + <xs:sequence> + <xs:element name="ConnectingSID" type="t:ConnectingSIDType" /> + </xs:sequence> + <xs:attribute name="LogonType" type="t:SpecialLogonTypeType" use="required"/> + <xs:attribute name="BudgetType" type="xs:int" use="optional"/> + <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/"> + <xs:annotation> + <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation> + </xs:annotation> + </xs:anyAttribute> + </xs:complexType> + <xs:element name="OpenAsAdminOrSystemService" type="t:OpenAsAdminOrSystemServiceType" /> + + <!-- External sharing security header for person-to-person sharing relationships --> + <xs:element name="SharingSecurity" type="t:EncryptedDataContainerType"/> + + <!-- Enumeration of Exchange Server versions --> + <xs:simpleType name="ExchangeVersionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Exchange2007" /> + <xs:enumeration value="Exchange2007_SP1" /> + <xs:enumeration value="Exchange2009" /> + <xs:enumeration value="Exchange2010" /> + <xs:enumeration value="Exchange2010_SP1" /> + <xs:enumeration value="Exchange2010_SP2" /> + <xs:enumeration value="Exchange2012" /> + <xs:enumeration value="Exchange2013" /> + <xs:enumeration value="Exchange2013_SP1" /> + <xs:enumeration value="Exchange2015" /> + <xs:enumeration value="Exchange2016" /> + <xs:enumeration value="V2015_10_05" /> + <xs:enumeration value="V2016_01_06" /> + <xs:enumeration value="V2016_04_13" /> + <xs:enumeration value="V2016_07_13" /> + <xs:enumeration value="V2016_10_10" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ProxySecurityContextType"> + <xs:simpleContent> + <xs:extension base="xs:base64Binary"> + <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/"> + <xs:annotation> + <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation> + </xs:annotation> + </xs:anyAttribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:element name="ProxySecurityContext" type="t:ProxySecurityContextType"/> + <xs:element name="ProxySuggesterSid" type="t:ProxySecurityContextType"/> + <xs:element name="ProxyPartnerToken" type="t:ProxySecurityContextType" /> + + <!-- Used in the SOAP header of responses for diagnostics purposes. --> + <xs:element name="ServerVersionInfo"> + <xs:complexType> + <xs:attribute name="MajorVersion" type="xs:int" use="optional"/> + <xs:attribute name="MinorVersion" type="xs:int" use="optional"/> + <xs:attribute name="MajorBuildNumber" type="xs:int" use="optional"/> + <xs:attribute name="MinorBuildNumber" type="xs:int" use="optional"/> + <xs:attribute name="Version" type="xs:string" use="optional"/> + </xs:complexType> + </xs:element> + + <!-- Used in the SOAP header of requests to specify version for request. --> + <xs:element name="RequestServerVersion"> + <xs:complexType> + <xs:attribute name="Version" type="t:ExchangeVersionType" use="required"/> + <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/"> + <xs:annotation> + <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation> + </xs:annotation> + </xs:anyAttribute> + </xs:complexType> + </xs:element> + + <!-- DateTimePrecision for Soap header --> + + <xs:simpleType name="DateTimePrecisionType"> + <xs:annotation> + <xs:documentation>Precision for returned DateTime values</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Seconds" /> + <xs:enumeration value="Milliseconds" /> + </xs:restriction> + </xs:simpleType> + + <xs:element name="DateTimePrecision" type="t:DateTimePrecisionType" /> + + <!-- Email address/participant types --> + + <xs:simpleType name="NonEmptyStringType"> + <xs:restriction base="xs:string"> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="BaseEmailAddressType" /> + + <xs:simpleType name="MailboxTypeType"> + <xs:restriction base="xs:string"> + + <xs:enumeration value="Unknown" /> + <xs:enumeration value="OneOff" /> + + <xs:enumeration value="Mailbox" /> + <xs:enumeration value="PublicDL" /> + + <xs:enumeration value="PrivateDL" /> + <xs:enumeration value="Contact" /> + + <xs:enumeration value="PublicFolder" /> + <xs:enumeration value="GroupMailbox" /> + <xs:enumeration value="ImplicitContact" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="EmailAddressType"> + <xs:annotation> + <xs:documentation>Identifier for a fully resolved email address</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:BaseEmailAddressType"> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="0"/> + <xs:element name="EmailAddress" type="t:NonEmptyStringType" minOccurs="0"/> + <xs:element name="RoutingType" type="t:NonEmptyStringType" minOccurs="0"/> + <xs:element name="MailboxType" type="t:MailboxTypeType" minOccurs="0" /> + <xs:element name="ItemId" type="t:ItemIdType" minOccurs="0" /> + <xs:element name="OriginalDisplayName" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="EmailAddressExtendedType"> + <xs:annotation> + <xs:documentation>Extends EmailAddress by adding the external object id</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:EmailAddressType"> + <xs:sequence> + <xs:element name="ExternalObjectId" type="xs:string" minOccurs="0"/> + <xs:element name="PrimaryEmailAddress" type="t:NonEmptyStringType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- GetRooms Service Types --> + + <xs:complexType name="ArrayOfEmailAddressesType"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Address" type="t:EmailAddressType" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="DirectoryEntryType"> + <xs:sequence> + <xs:element name="Id" type="t:EmailAddressType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="RoomType"> + <xs:complexContent> + <xs:extension base="t:DirectoryEntryType"> + <!-- We don't need anything additional at this time --> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfRoomsType"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Room" type="t:RoomType" /> + </xs:sequence> + </xs:complexType> + + <!-- FindAvailableMeetingTimes Service Types --> + + <xs:complexType name="TimeSlot"> + <xs:sequence> + <xs:element name="StartTime" type="xs:dateTime" /> + <xs:element name="DurationInMinutes" type="xs:double" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MeetingLocation"> + <xs:sequence> + <xs:element name="EmailAddress" type="xs:string" /> + <xs:element name="DisplayName" type="xs:string" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="ActivityDomainType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Unknown" /> + <xs:enumeration value="Personal" /> + <xs:enumeration value="Work" /> + </xs:restriction> + </xs:simpleType> + + <!-- GetReminders Service Types --> + + <xs:simpleType name="ReminderGroupType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Calendar" /> + <xs:enumeration value="Task" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ReminderType"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="Subject" type="xs:string" /> + <xs:element minOccurs="0" maxOccurs="1" name="Location" type="xs:string" /> + <xs:element minOccurs="1" maxOccurs="1" name="ReminderTime" type="xs:dateTime" /> + <xs:element minOccurs="1" maxOccurs="1" name="StartDate" type="xs:dateTime" /> + <xs:element minOccurs="1" maxOccurs="1" name="EndDate" type="xs:dateTime" /> + <xs:element minOccurs="1" maxOccurs="1" name="ItemId" type="t:ItemIdType" /> + <xs:element minOccurs="0" maxOccurs="1" name="RecurringMasterItemId" type="t:ItemIdType" /> + <xs:element minOccurs="0" maxOccurs="1" name="ReminderGroup" type="t:ReminderGroupType" /> + <xs:element minOccurs="1" maxOccurs="1" name="UID" type="xs:string" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfRemindersType"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Reminder" type="t:ReminderType" /> + </xs:sequence> + </xs:complexType> + + + <!-- - - - - - - - - - - - - - - - - - - --> + <!-- Recipient List --> + <!-- - - - - - - - - - - - - - - - - - - --> + <xs:complexType name="ArrayOfRecipientsType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="Mailbox" type="t:EmailAddressType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="SingleRecipientType"> + <xs:choice> + <xs:element name="Mailbox" type="t:EmailAddressType"/> + </xs:choice> + </xs:complexType> + + <!-- URIs for frequently referenced types --> + <xs:simpleType name="UnindexedFieldURIType"> + <xs:restriction base="xs:string"> + + <!-- Folder fields --> + + <xs:enumeration value="folder:FolderId"/> + <xs:enumeration value="folder:ParentFolderId"/> + <xs:enumeration value="folder:DisplayName" /> + <xs:enumeration value="folder:UnreadCount" /> + <xs:enumeration value="folder:TotalCount" /> + <xs:enumeration value="folder:ChildFolderCount" /> + <xs:enumeration value="folder:FolderClass" /> + <xs:enumeration value="folder:SearchParameters"/> + <xs:enumeration value="folder:ManagedFolderInformation"/> + <xs:enumeration value="folder:PermissionSet"/> + <xs:enumeration value="folder:EffectiveRights"/> + <xs:enumeration value="folder:SharingEffectiveRights"/> + <xs:enumeration value="folder:DistinguishedFolderId"/> + <xs:enumeration value="folder:PolicyTag"/> + <xs:enumeration value="folder:ArchiveTag"/> + <xs:enumeration value="folder:ReplicaList"/> + + <!-- Item fields --> + + <xs:enumeration value="item:ItemId"/> + <xs:enumeration value="item:ParentFolderId"/> + <xs:enumeration value="item:ItemClass" /> + <xs:enumeration value="item:MimeContent"/> + <xs:enumeration value="item:Attachments" /> + <xs:enumeration value="item:Subject" /> + <xs:enumeration value="item:DateTimeReceived" /> + <xs:enumeration value="item:Size" /> + <xs:enumeration value="item:Categories" /> + <xs:enumeration value="item:HasAttachments"/> + <xs:enumeration value="item:Importance"/> + <xs:enumeration value="item:InReplyTo"/> + <xs:enumeration value="item:InternetMessageHeaders" /> + <xs:enumeration value="item:IsAssociated" /> + <xs:enumeration value="item:IsDraft" /> + <xs:enumeration value="item:IsFromMe" /> + <xs:enumeration value="item:IsResend" /> + <xs:enumeration value="item:IsSubmitted" /> + <xs:enumeration value="item:IsUnmodified" /> + <xs:enumeration value="item:DateTimeSent" /> + <xs:enumeration value="item:DateTimeCreated" /> + <xs:enumeration value="item:Body" /> + <xs:enumeration value="item:ResponseObjects"/> + <xs:enumeration value="item:Sensitivity"/> + + <xs:enumeration value="item:ReminderDueBy"/> + <xs:enumeration value="item:ReminderIsSet"/> + <xs:enumeration value="item:ReminderNextTime"/> + <xs:enumeration value="item:ReminderMinutesBeforeStart"/> + + <xs:enumeration value="item:DisplayTo"/> + <xs:enumeration value="item:DisplayCc"/> + <xs:enumeration value="item:DisplayBcc"/> + + <xs:enumeration value="item:Culture"/> + <xs:enumeration value="item:EffectiveRights"/> + + <xs:enumeration value="item:LastModifiedName"/> + <xs:enumeration value="item:LastModifiedTime"/> + <xs:enumeration value="item:ConversationId"/> + <xs:enumeration value="item:UniqueBody"/> + <xs:enumeration value="item:Flag"/> + <xs:enumeration value="item:StoreEntryId"/> + <xs:enumeration value="item:InstanceKey"/> + <xs:enumeration value="item:NormalizedBody"/> + <xs:enumeration value="item:EntityExtractionResult" /> + <xs:enumeration value="item:PolicyTag"/> + <xs:enumeration value="item:ArchiveTag"/> + <xs:enumeration value="item:RetentionDate"/> + <xs:enumeration value="item:Preview" /> + <xs:enumeration value="item:PredictedActionReasons" /> + <xs:enumeration value="item:IsClutter" /> + <xs:enumeration value="item:RightsManagementLicenseData" /> + <xs:enumeration value="item:BlockStatus" /> + <xs:enumeration value="item:HasBlockedImages" /> + + <xs:enumeration value="item:WebClientReadFormQueryString"/> + <xs:enumeration value="item:WebClientEditFormQueryString"/> + + <xs:enumeration value="item:TextBody"/> + + <xs:enumeration value="item:IconIndex"/> + + <xs:enumeration value="item:MimeContentUTF8"/> + + <xs:enumeration value="item:Mentions"/> + <xs:enumeration value="item:MentionedMe" /> + <xs:enumeration value="item:MentionsPreview"/> + <xs:enumeration value="item:MentionsEx"/> + <xs:enumeration value="item:Hashtags"/> + <xs:enumeration value="item:AppliedHashtags"/> + <xs:enumeration value="item:AppliedHashtagsPreview"/> + <xs:enumeration value="item:Likes"/> + <xs:enumeration value="item:LikesPreview"/> + <xs:enumeration value="item:PendingSocialActivityTagIds"/> + <xs:enumeration value="item:AtAllMention"/> + <xs:enumeration value="item:CanDelete"/> + <xs:enumeration value="item:InferenceClassification"/> + + <xs:enumeration value="item:FirstBody"/> + + <!-- Messages --> + + <xs:enumeration value="message:ConversationIndex"/> + <xs:enumeration value="message:ConversationTopic"/> + <xs:enumeration value="message:InternetMessageId"/> + <xs:enumeration value="message:IsRead"/> + <xs:enumeration value="message:IsResponseRequested"/> + <xs:enumeration value="message:IsReadReceiptRequested"/> + <xs:enumeration value="message:IsDeliveryReceiptRequested"/> + <xs:enumeration value="message:ReceivedBy"/> + <xs:enumeration value="message:ReceivedRepresenting"/> + <xs:enumeration value="message:References"/> + <xs:enumeration value="message:ReplyTo"/> + <xs:enumeration value="message:From" /> + <xs:enumeration value="message:Sender" /> + <xs:enumeration value="message:ToRecipients" /> + <xs:enumeration value="message:CcRecipients" /> + <xs:enumeration value="message:BccRecipients" /> + <xs:enumeration value="message:ApprovalRequestData"/> + <xs:enumeration value="message:VotingInformation"/> + <xs:enumeration value="message:ReminderMessageData"/> + + <!-- Meeting Message --> + + <xs:enumeration value="meeting:AssociatedCalendarItemId"/> + <xs:enumeration value="meeting:IsDelegated"/> + <xs:enumeration value="meeting:IsOutOfDate"/> + <xs:enumeration value="meeting:HasBeenProcessed"/> + <xs:enumeration value="meeting:ResponseType"/> + + <xs:enumeration value="meeting:ProposedStart"/> + <xs:enumeration value="meeting:ProposedEnd"/> + + <!-- Meeting Request --> + + <xs:enumeration value="meetingRequest:MeetingRequestType"/> + <xs:enumeration value="meetingRequest:IntendedFreeBusyStatus"/> + <xs:enumeration value="meetingRequest:ChangeHighlights"/> + + <!-- Calendar items and appointments --> + + <xs:enumeration value="calendar:Start"/> + <xs:enumeration value="calendar:End"/> + <xs:enumeration value="calendar:OriginalStart"/> + <xs:enumeration value="calendar:StartWallClock"/> + <xs:enumeration value="calendar:EndWallClock"/> + <xs:enumeration value="calendar:StartTimeZoneId"/> + <xs:enumeration value="calendar:EndTimeZoneId"/> + <xs:enumeration value="calendar:IsAllDayEvent"/> + <xs:enumeration value="calendar:LegacyFreeBusyStatus"/> + <xs:enumeration value="calendar:Location"/> + <xs:enumeration value="calendar:EnhancedLocation"/> + <xs:enumeration value="calendar:When"/> + <xs:enumeration value="calendar:IsMeeting"/> + <xs:enumeration value="calendar:IsCancelled"/> + <xs:enumeration value="calendar:IsRecurring"/> + <xs:enumeration value="calendar:MeetingRequestWasSent"/> + <xs:enumeration value="calendar:IsResponseRequested"/> + <xs:enumeration value="calendar:CalendarItemType"/> + <xs:enumeration value="calendar:MyResponseType"/> + <xs:enumeration value="calendar:Organizer"/> + <xs:enumeration value="calendar:RequiredAttendees"/> + <xs:enumeration value="calendar:OptionalAttendees"/> + <xs:enumeration value="calendar:Resources"/> + <xs:enumeration value="calendar:ConflictingMeetingCount"/> + <xs:enumeration value="calendar:AdjacentMeetingCount"/> + <xs:enumeration value="calendar:ConflictingMeetings"/> + <xs:enumeration value="calendar:AdjacentMeetings"/> + <xs:enumeration value="calendar:InboxReminders"/> + + <xs:enumeration value="calendar:Duration"/> + <xs:enumeration value="calendar:TimeZone"/> + <xs:enumeration value="calendar:AppointmentReplyTime"/> + <xs:enumeration value="calendar:AppointmentSequenceNumber"/> + <xs:enumeration value="calendar:AppointmentState"/> + + <xs:enumeration value="calendar:Recurrence"/> + <xs:enumeration value="calendar:FirstOccurrence"/> + <xs:enumeration value="calendar:LastOccurrence"/> + <xs:enumeration value="calendar:ModifiedOccurrences"/> + <xs:enumeration value="calendar:DeletedOccurrences"/> + <xs:enumeration value="calendar:MeetingTimeZone"/> + + <xs:enumeration value="calendar:ConferenceType"/> + <xs:enumeration value="calendar:AllowNewTimeProposal"/> + <xs:enumeration value="calendar:IsOnlineMeeting"/> + <xs:enumeration value="calendar:MeetingWorkspaceUrl"/> + <xs:enumeration value="calendar:NetShowUrl"/> + + <xs:enumeration value="calendar:UID"/> + <xs:enumeration value="calendar:RecurrenceId"/> + <xs:enumeration value="calendar:DateTimeStamp"/> + <xs:enumeration value="calendar:StartTimeZone"/> + <xs:enumeration value="calendar:EndTimeZone"/> + + <xs:enumeration value="calendar:JoinOnlineMeetingUrl"/> + <xs:enumeration value="calendar:OnlineMeetingSettings"/> + + <xs:enumeration value="calendar:IsOrganizer"/> + <xs:enumeration value="calendar:CalendarActivityData"/> + + <!-- Task properties --> + + <xs:enumeration value="task:ActualWork"/> + <xs:enumeration value="task:AssignedTime"/> + <xs:enumeration value="task:BillingInformation"/> + <xs:enumeration value="task:ChangeCount"/> + <xs:enumeration value="task:Companies"/> + <xs:enumeration value="task:CompleteDate"/> + <xs:enumeration value="task:Contacts"/> + <xs:enumeration value="task:DelegationState"/> + <xs:enumeration value="task:Delegator"/> + <xs:enumeration value="task:DueDate"/> + <xs:enumeration value="task:IsAssignmentEditable"/> + <xs:enumeration value="task:IsComplete"/> + <xs:enumeration value="task:IsRecurring"/> + <xs:enumeration value="task:IsTeamTask"/> + <xs:enumeration value="task:Mileage"/> + <xs:enumeration value="task:Owner"/> + <xs:enumeration value="task:PercentComplete"/> + <xs:enumeration value="task:Recurrence"/> + <xs:enumeration value="task:StartDate"/> + <xs:enumeration value="task:Status"/> + <xs:enumeration value="task:StatusDescription"/> + <xs:enumeration value="task:TotalWork"/> + + <!-- Contacts --> + + <xs:enumeration value="contacts:Alias" /> + <xs:enumeration value="contacts:AssistantName" /> + <xs:enumeration value="contacts:Birthday" /> + <xs:enumeration value="contacts:BusinessHomePage" /> + <xs:enumeration value="contacts:Children" /> + <xs:enumeration value="contacts:Companies" /> + <xs:enumeration value="contacts:CompanyName" /> + <xs:enumeration value="contacts:CompleteName" /> + <xs:enumeration value="contacts:ContactSource" /> + <xs:enumeration value="contacts:Culture" /> + <xs:enumeration value="contacts:Department" /> + <xs:enumeration value="contacts:DisplayName" /> + <xs:enumeration value="contacts:DirectoryId" /> + <xs:enumeration value="contacts:DirectReports" /> + <xs:enumeration value="contacts:EmailAddresses" /> + <xs:enumeration value="contacts:AbchEmailAddresses" /> + <xs:enumeration value="contacts:FileAs" /> + <xs:enumeration value="contacts:FileAsMapping" /> + <xs:enumeration value="contacts:Generation" /> + <xs:enumeration value="contacts:GivenName" /> + <xs:enumeration value="contacts:ImAddresses" /> + <xs:enumeration value="contacts:Initials" /> + <xs:enumeration value="contacts:JobTitle" /> + <xs:enumeration value="contacts:Manager" /> + <xs:enumeration value="contacts:ManagerMailbox" /> + <xs:enumeration value="contacts:MiddleName" /> + <xs:enumeration value="contacts:Mileage" /> + <xs:enumeration value="contacts:MSExchangeCertificate" /> + <xs:enumeration value="contacts:Nickname" /> + <xs:enumeration value="contacts:Notes" /> + <xs:enumeration value="contacts:OfficeLocation" /> + <xs:enumeration value="contacts:PhoneNumbers" /> + <xs:enumeration value="contacts:PhoneticFullName" /> + <xs:enumeration value="contacts:PhoneticFirstName" /> + <xs:enumeration value="contacts:PhoneticLastName" /> + <xs:enumeration value="contacts:Photo" /> + <xs:enumeration value="contacts:PhysicalAddresses" /> + <xs:enumeration value="contacts:PostalAddressIndex" /> + <xs:enumeration value="contacts:Profession" /> + <xs:enumeration value="contacts:SpouseName" /> + <xs:enumeration value="contacts:Surname" /> + <xs:enumeration value="contacts:WeddingAnniversary" /> + <xs:enumeration value="contacts:UserSMIMECertificate" /> + <xs:enumeration value="contacts:HasPicture" /> + <xs:enumeration value="contacts:AccountName" /> + <xs:enumeration value="contacts:IsAutoUpdateDisabled" /> + <xs:enumeration value="contacts:IsMessengerEnabled" /> + <xs:enumeration value="contacts:Comment" /> + <xs:enumeration value="contacts:ContactShortId" /> + <xs:enumeration value="contacts:ContactType" /> + <xs:enumeration value="contacts:CreatedBy" /> + <xs:enumeration value="contacts:Gender" /> + <xs:enumeration value="contacts:IsHidden" /> + <xs:enumeration value="contacts:ObjectId" /> + <xs:enumeration value="contacts:PassportId" /> + <xs:enumeration value="contacts:IsPrivate" /> + <xs:enumeration value="contacts:SourceId" /> + <xs:enumeration value="contacts:TrustLevel" /> + <xs:enumeration value="contacts:Urls" /> + <xs:enumeration value="contacts:Cid" /> + <xs:enumeration value="contacts:SkypeAuthCertificate" /> + <xs:enumeration value="contacts:SkypeContext" /> + <xs:enumeration value="contacts:SkypeId" /> + <xs:enumeration value="contacts:XboxLiveTag" /> + <xs:enumeration value="contacts:SkypeRelationship" /> + <xs:enumeration value="contacts:YomiNickname" /> + <xs:enumeration value="contacts:InviteFree" /> + <xs:enumeration value="contacts:HidePresenceAndProfile" /> + <xs:enumeration value="contacts:IsPendingOutbound" /> + <xs:enumeration value="contacts:SupportGroupFeeds" /> + <xs:enumeration value="contacts:UserTileHash" /> + <xs:enumeration value="contacts:UnifiedInbox" /> + <xs:enumeration value="contacts:Mris" /> + <xs:enumeration value="contacts:Wlid" /> + <xs:enumeration value="contacts:AbchContactId" /> + <xs:enumeration value="contacts:NotInBirthdayCalendar" /> + <xs:enumeration value="contacts:ShellContactType" /> + <xs:enumeration value="contacts:ImMri" /> + <xs:enumeration value="contacts:PresenceTrustLevel" /> + <xs:enumeration value="contacts:OtherMri" /> + <xs:enumeration value="contacts:ProfileLastChanged" /> + <xs:enumeration value="contacts:MobileIMEnabled" /> + <xs:enumeration value="distributionlist:Members" /> + <xs:enumeration value="contacts:PartnerNetworkProfilePhotoUrl" /> + <xs:enumeration value="contacts:PartnerNetworkThumbnailPhotoUrl" /> + <xs:enumeration value="contacts:PersonId" /> + <xs:enumeration value="contacts:ConversationGuid" /> + + <!-- Post item --> + <xs:enumeration value="postitem:PostedTime"/> + <!-- Note: The following message Field URIs are also valid for a postitem: + message:ConversationIndex + message:ConversationTopic + message:From + message:InternetMessageId + message:References + message:Sender + --> + + <!-- Conversation fields--> + <xs:enumeration value ="conversation:ConversationId" /> + <xs:enumeration value ="conversation:ConversationTopic" /> + <xs:enumeration value ="conversation:UniqueRecipients" /> + <xs:enumeration value ="conversation:GlobalUniqueRecipients" /> + <xs:enumeration value ="conversation:UniqueUnreadSenders" /> + <xs:enumeration value ="conversation:GlobalUniqueUnreadSenders" /> + <xs:enumeration value ="conversation:UniqueSenders" /> + <xs:enumeration value ="conversation:GlobalUniqueSenders" /> + <xs:enumeration value ="conversation:LastDeliveryTime" /> + <xs:enumeration value ="conversation:GlobalLastDeliveryTime" /> + <xs:enumeration value ="conversation:Categories" /> + <xs:enumeration value ="conversation:GlobalCategories" /> + <xs:enumeration value ="conversation:FlagStatus" /> + <xs:enumeration value ="conversation:GlobalFlagStatus" /> + <xs:enumeration value ="conversation:HasAttachments" /> + <xs:enumeration value ="conversation:GlobalHasAttachments" /> + <xs:enumeration value ="conversation:HasIrm" /> + <xs:enumeration value ="conversation:GlobalHasIrm" /> + <xs:enumeration value ="conversation:MessageCount" /> + <xs:enumeration value ="conversation:GlobalMessageCount" /> + <xs:enumeration value ="conversation:UnreadCount" /> + <xs:enumeration value ="conversation:GlobalUnreadCount" /> + <xs:enumeration value ="conversation:Size" /> + <xs:enumeration value ="conversation:GlobalSize" /> + <xs:enumeration value ="conversation:ItemClasses" /> + <xs:enumeration value ="conversation:GlobalItemClasses" /> + <xs:enumeration value ="conversation:Importance" /> + <xs:enumeration value ="conversation:GlobalImportance" /> + <xs:enumeration value ="conversation:ItemIds" /> + <xs:enumeration value ="conversation:GlobalItemIds" /> + <xs:enumeration value ="conversation:LastModifiedTime" /> + <xs:enumeration value ="conversation:InstanceKey" /> + <xs:enumeration value ="conversation:Preview" /> + <xs:enumeration value ="conversation:IconIndex" /> + <xs:enumeration value ="conversation:GlobalIconIndex" /> + <xs:enumeration value ="conversation:DraftItemIds" /> + <xs:enumeration value ="conversation:HasClutter" /> + <xs:enumeration value ="conversation:MentionedMe" /> + <xs:enumeration value ="conversation:GlobalMentionedMe" /> + <xs:enumeration value ="conversation:AtAllMention" /> + <xs:enumeration value ="conversation:GlobalAtAllMention" /> + + <!-- Person Insight Fields --> + <xs:enumeration value="person:FullName" /> + <xs:enumeration value="person:GivenName" /> + <xs:enumeration value="person:Surname" /> + <xs:enumeration value="person:PhoneNumber" /> + <xs:enumeration value="person:SMSNumber" /> + <xs:enumeration value="person:EmailAddress" /> + <xs:enumeration value="person:Alias" /> + <xs:enumeration value="person:Department" /> + <xs:enumeration value="person:LinkedInProfileLink" /> + <xs:enumeration value="person:Skills" /> + <xs:enumeration value="person:ProfessionalBiography" /> + <xs:enumeration value="person:ManagementChain" /> + <xs:enumeration value="person:DirectReports" /> + <xs:enumeration value="person:Peers" /> + <xs:enumeration value="person:TeamSize" /> + <xs:enumeration value="person:CurrentJob" /> + <xs:enumeration value="person:Birthday" /> + <xs:enumeration value="person:Hometown" /> + <xs:enumeration value="person:CurrentLocation" /> + <xs:enumeration value="person:CompanyProfile" /> + <xs:enumeration value="person:Office" /> + <xs:enumeration value="person:Headline" /> + <xs:enumeration value="person:MutualConnections" /> + <xs:enumeration value="person:Title" /> + <xs:enumeration value="person:MutualManager" /> + <xs:enumeration value="person:Insights" /> + <xs:enumeration value="person:UserProfilePicture" /> + + <!-- Persona fields--> + <xs:enumeration value ="persona:PersonaId" /> + <xs:enumeration value ="persona:PersonaType" /> + <xs:enumeration value ="persona:GivenName" /> + <xs:enumeration value ="persona:CompanyName" /> + <xs:enumeration value ="persona:Surname" /> + <xs:enumeration value ="persona:DisplayName" /> + <xs:enumeration value ="persona:EmailAddress" /> + <xs:enumeration value ="persona:FileAs" /> + <xs:enumeration value ="persona:HomeCity" /> + <xs:enumeration value ="persona:CreationTime" /> + + + <xs:enumeration value ="persona:RelevanceScore" /> + <xs:enumeration value ="persona:RankingWeight" /> + <xs:enumeration value ="persona:WorkCity" /> + <xs:enumeration value ="persona:PersonaObjectStatus" /> + <xs:enumeration value ="persona:FileAsId" /> + <xs:enumeration value ="persona:DisplayNamePrefix" /> + <xs:enumeration value ="persona:YomiCompanyName" /> + <xs:enumeration value ="persona:YomiFirstName" /> + <xs:enumeration value ="persona:YomiLastName" /> + <xs:enumeration value ="persona:Title" /> + <xs:enumeration value ="persona:EmailAddresses" /> + <xs:enumeration value ="persona:PhoneNumber" /> + <xs:enumeration value ="persona:ImAddress" /> + <xs:enumeration value ="persona:ImAddresses" /> + <xs:enumeration value ="persona:ImAddresses2" /> + <xs:enumeration value ="persona:ImAddresses3" /> + <xs:enumeration value ="persona:FolderIds" /> + <xs:enumeration value ="persona:Attributions" /> + <xs:enumeration value ="persona:DisplayNames" /> + <xs:enumeration value ="persona:Initials" /> + <xs:enumeration value ="persona:FileAses" /> + <xs:enumeration value ="persona:FileAsIds" /> + <xs:enumeration value ="persona:DisplayNamePrefixes" /> + <xs:enumeration value ="persona:GivenNames" /> + <xs:enumeration value ="persona:MiddleNames" /> + <xs:enumeration value ="persona:Surnames" /> + <xs:enumeration value ="persona:Generations" /> + <xs:enumeration value ="persona:Nicknames" /> + <xs:enumeration value ="persona:YomiCompanyNames" /> + <xs:enumeration value ="persona:YomiFirstNames" /> + <xs:enumeration value ="persona:YomiLastNames" /> + <xs:enumeration value ="persona:BusinessPhoneNumbers" /> + <xs:enumeration value ="persona:BusinessPhoneNumbers2" /> + <xs:enumeration value ="persona:HomePhones" /> + <xs:enumeration value ="persona:HomePhones2" /> + <xs:enumeration value ="persona:MobilePhones" /> + <xs:enumeration value ="persona:MobilePhones2" /> + <xs:enumeration value ="persona:AssistantPhoneNumbers" /> + <xs:enumeration value ="persona:CallbackPhones" /> + <xs:enumeration value ="persona:CarPhones" /> + <xs:enumeration value ="persona:HomeFaxes" /> + <xs:enumeration value ="persona:OrganizationMainPhones" /> + <xs:enumeration value ="persona:OtherFaxes" /> + <xs:enumeration value ="persona:OtherTelephones" /> + <xs:enumeration value ="persona:OtherPhones2" /> + <xs:enumeration value ="persona:Pagers" /> + <xs:enumeration value ="persona:RadioPhones" /> + <xs:enumeration value ="persona:TelexNumbers" /> + <xs:enumeration value ="persona:WorkFaxes" /> + <xs:enumeration value ="persona:Emails1" /> + <xs:enumeration value ="persona:Emails2" /> + <xs:enumeration value ="persona:Emails3" /> + <xs:enumeration value ="persona:BusinessHomePages" /> + <xs:enumeration value ="persona:School" /> + <xs:enumeration value ="persona:PersonalHomePages" /> + <xs:enumeration value ="persona:OfficeLocations" /> + <xs:enumeration value ="persona:BusinessAddresses" /> + <xs:enumeration value ="persona:HomeAddresses" /> + <xs:enumeration value ="persona:OtherAddresses" /> + <xs:enumeration value ="persona:Titles" /> + <xs:enumeration value ="persona:Departments" /> + <xs:enumeration value ="persona:CompanyNames" /> + <xs:enumeration value ="persona:Managers" /> + <xs:enumeration value ="persona:AssistantNames" /> + <xs:enumeration value ="persona:Professions" /> + <xs:enumeration value ="persona:SpouseNames" /> + <xs:enumeration value ="persona:Hobbies" /> + <xs:enumeration value ="persona:WeddingAnniversaries" /> + <xs:enumeration value ="persona:Birthdays" /> + <xs:enumeration value ="persona:Children" /> + <xs:enumeration value ="persona:Locations" /> + <xs:enumeration value ="persona:ExtendedProperties" /> + <xs:enumeration value ="persona:PostalAddress" /> + <xs:enumeration value ="persona:Bodies" /> + <xs:enumeration value ="persona:IsFavorite" /> + <xs:enumeration value ="persona:InlineLinks" /> + <xs:enumeration value ="persona:ItemLinkIds" /> + <xs:enumeration value ="persona:HasActiveDeals" /> + <xs:enumeration value ="persona:IsBusinessContact" /> + <xs:enumeration value ="persona:AttributedHasActiveDeals" /> + <xs:enumeration value ="persona:AttributedIsBusinessContact" /> + <xs:enumeration value ="persona:SourceMailboxGuids" /> + <xs:enumeration value ="persona:LastContactedDate" /> + <xs:enumeration value ="persona:ExternalDirectoryObjectId" /> + <xs:enumeration value ="persona:MapiEntryId" /> + <xs:enumeration value ="persona:MapiEmailAddress" /> + <xs:enumeration value ="persona:MapiAddressType" /> + <xs:enumeration value ="persona:MapiSearchKey" /> + <xs:enumeration value ="persona:MapiTransmittableDisplayName" /> + <xs:enumeration value ="persona:MapiSendRichInfo" /> + + <xs:enumeration value="rolemember:MemberType" /> + <xs:enumeration value="rolemember:MemberId" /> + <xs:enumeration value="rolemember:DisplayName" /> + + <xs:enumeration value="network:TokenRefreshLastCompleted" /> + <xs:enumeration value="network:TokenRefreshLastAttempted" /> + <xs:enumeration value="network:SyncEnabled" /> + <xs:enumeration value="network:RejectedOffers" /> + <xs:enumeration value="network:SessionHandle" /> + <xs:enumeration value="network:RefreshTokenExpiry2" /> + <xs:enumeration value="network:RefreshToken2" /> + <xs:enumeration value="network:PsaLastChanged" /> + <xs:enumeration value="network:Offers" /> + <xs:enumeration value="network:LastWelcomeContact" /> + <xs:enumeration value="network:LastVersionSaved" /> + <xs:enumeration value="network:DomainTag" /> + <xs:enumeration value="network:FirstAuthErrorDates" /> + <xs:enumeration value="network:ErrorOffers" /> + <xs:enumeration value="network:ContactSyncSuccess" /> + <xs:enumeration value="network:ContactSyncError" /> + <xs:enumeration value="network:ClientToken2" /> + <xs:enumeration value="network:ClientToken" /> + <xs:enumeration value="network:ClientPublishSecret" /> + <xs:enumeration value="network:UserEmail" /> + <xs:enumeration value="network:AutoLinkSuccess" /> + <xs:enumeration value="network:AutoLinkError" /> + <xs:enumeration value="network:IsDefault" /> + <xs:enumeration value="network:Settings" /> + <xs:enumeration value="network:ProfileUrl" /> + <xs:enumeration value="network:UserTileUrl" /> + <xs:enumeration value="network:DomainId" /> + <xs:enumeration value="network:DisplayName" /> + <xs:enumeration value="network:AccountName" /> + <xs:enumeration value="network:SourceEntryID" /> + + <xs:enumeration value="abchperson:FavoriteOrder" /> + <xs:enumeration value="abchperson:PersonId" /> + <xs:enumeration value="abchperson:ExchangePersonIdGuid" /> + <xs:enumeration value="abchperson:AntiLinkInfo" /> + <xs:enumeration value="abchperson:RelevanceOrder1" /> + <xs:enumeration value="abchperson:RelevanceOrder2" /> + <xs:enumeration value="abchperson:ContactHandles" /> + <xs:enumeration value="abchperson:Categories" /> + + <xs:enumeration value="booking:ServiceIds" /> + <xs:enumeration value="booking:StaffIds" /> + <xs:enumeration value="booking:StaffInitials" /> + <xs:enumeration value="booking:CustomerName" /> + <xs:enumeration value="booking:CustomerEmail" /> + <xs:enumeration value="booking:CustomerPhone" /> + <xs:enumeration value="booking:CustomerId" /> + + <!--Insight fields--> + <xs:enumeration value="insight:InsightId" /> + <xs:enumeration value="insight:Type" /> + <xs:enumeration value="insight:StartTimeUtc" /> + <xs:enumeration value="insight:EndTimeUtc" /> + <xs:enumeration value="insight:Status" /> + <xs:enumeration value="insight:Version" /> + <xs:enumeration value="insight:ApplicationsIds" /> + <xs:enumeration value="insight:Text" /> + <xs:enumeration value="insight:SuggestedActions" /> + <xs:enumeration value="insight:AppContexts" /> + + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="DictionaryURIType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="item:InternetMessageHeader" /> + <xs:enumeration value="contacts:ImAddress" /> + <xs:enumeration value="contacts:PhysicalAddress:Street" /> + <xs:enumeration value="contacts:PhysicalAddress:City" /> + <xs:enumeration value="contacts:PhysicalAddress:State" /> + <xs:enumeration value="contacts:PhysicalAddress:CountryOrRegion" /> + <xs:enumeration value="contacts:PhysicalAddress:PostalCode" /> + <xs:enumeration value="contacts:PhoneNumber" /> + <xs:enumeration value="contacts:EmailAddress" /> + + <xs:enumeration value="distributionlist:Members:Member" /> + + </xs:restriction> + </xs:simpleType> + + <!-- URIs for property types used in MessageXml --> + <xs:simpleType name="ExceptionPropertyURIType"> + <xs:restriction base="xs:string"> + <!-- Attachment fields --> + + <xs:enumeration value="attachment:Name"/> + <xs:enumeration value="attachment:ContentType"/> + <xs:enumeration value="attachment:Content" /> + + <!-- Recurrence fields --> + + <xs:enumeration value="recurrence:Month"/> + <xs:enumeration value="recurrence:DayOfWeekIndex"/> + <xs:enumeration value="recurrence:DaysOfWeek" /> + <xs:enumeration value="recurrence:DayOfMonth"/> + <xs:enumeration value="recurrence:Interval" /> + <xs:enumeration value="recurrence:NumberOfOccurrences" /> + + <xs:enumeration value="timezone:Offset" /> + + </xs:restriction> + </xs:simpleType> + + <!-- path types --> + <xs:simpleType name="GuidType"> + <xs:annotation> + <xs:documentation> + The regular expression captures the standard representation of a GUID + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:pattern value="[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="DistinguishedPropertySetType"> + <xs:annotation> + <xs:documentation> + Defines the well known property set ids for extended properties. + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Meeting"/> + <xs:enumeration value="Appointment"/> + <xs:enumeration value="Common"/> + <xs:enumeration value="PublicStrings"/> + <xs:enumeration value="Address"/> + <xs:enumeration value="InternetHeaders"/> + <xs:enumeration value="CalendarAssistant"/> + <xs:enumeration value="UnifiedMessaging"/> + <xs:enumeration value="Task"/> + <xs:enumeration value="Sharing" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="MapiPropertyTypeType"> + <xs:annotation> + <xs:documentation> + Includes all of the extended property types that we support. Note that Error, Null, + Object and Object array can not be used in restrictions, or for setting/getting values. + They are only there for error reporting purposes. + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="ApplicationTime"/> + <xs:enumeration value="ApplicationTimeArray"/> + <xs:enumeration value="Binary"/> + <xs:enumeration value="BinaryArray"/> + <xs:enumeration value="Boolean"/> + <xs:enumeration value="CLSID"/> + <xs:enumeration value="CLSIDArray"/> + <xs:enumeration value="Currency"/> + <xs:enumeration value="CurrencyArray"/> + <xs:enumeration value="Double"/> + <xs:enumeration value="DoubleArray"/> + <xs:enumeration value="Error"/> + <xs:enumeration value="Float"/> + <xs:enumeration value="FloatArray"/> + <xs:enumeration value="Integer"/> + <xs:enumeration value="IntegerArray"/> + <xs:enumeration value="Long"/> + <xs:enumeration value="LongArray"/> + <xs:enumeration value="Null"/> + <xs:enumeration value="Object"/> + <xs:enumeration value="ObjectArray"/> + <xs:enumeration value="Short"/> + <xs:enumeration value="ShortArray"/> + <xs:enumeration value="SystemTime"/> + <xs:enumeration value="SystemTimeArray"/> + <xs:enumeration value="String"/> + <xs:enumeration value="StringArray"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="BasePathToElementType" abstract="true"/> + + <xs:complexType name="PathToUnindexedFieldType"> + <xs:complexContent> + <xs:extension base="t:BasePathToElementType"> + <xs:attribute name="FieldURI" type="t:UnindexedFieldURIType" use="required" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="PathToIndexedFieldType"> + <xs:complexContent> + <xs:extension base="t:BasePathToElementType"> + <xs:attribute name="FieldURI" type="t:DictionaryURIType" use="required" /> + <xs:attribute name="FieldIndex" type="xs:string" use="required" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="PathToExceptionFieldType"> + <xs:complexContent> + <xs:extension base="t:BasePathToElementType"> + <xs:attribute name="FieldURI" type="t:ExceptionPropertyURIType" use="required" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:simpleType name="PropertyTagType"> + <xs:annotation> + <xs:documentation> + This type represents the property tag (MINUS the type part). There are two options + for representation: + 1. Hex ==> 0x3fa4 + 2. Decimal ==> 0-65535 + </xs:documentation> + </xs:annotation> + <xs:union memberTypes ="xs:unsignedShort"> + <xs:simpleType id="HexPropertyTagType"> + <xs:restriction base="xs:string"> + <xs:pattern value="(0x|0X)[0-9A-Fa-f]{1,4}"/> + </xs:restriction> + </xs:simpleType> + </xs:union> + </xs:simpleType> + + <xs:complexType name="PathToExtendedFieldType"> + <xs:annotation> + <xs:documentation> + 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 + + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:BasePathToElementType"> + <xs:attribute name="DistinguishedPropertySetId" type="t:DistinguishedPropertySetType" use="optional"/> + <xs:attribute name="PropertySetId" type="t:GuidType" use="optional"/> + <xs:attribute name="PropertyTag" type="t:PropertyTagType" use="optional"/> + <xs:attribute name="PropertyName" type="xs:string" use="optional"/> + <xs:attribute name="PropertyId" type="xs:int" use="optional"/> + <xs:attribute name="PropertyType" type="t:MapiPropertyTypeType" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:element name="Path" abstract="true" type="t:BasePathToElementType"/> + <xs:element name="FieldURI" type="t:PathToUnindexedFieldType" substitutionGroup="t:Path"/> + <xs:element name="IndexedFieldURI" type="t:PathToIndexedFieldType" substitutionGroup="t:Path" /> + <xs:element name="ExtendedFieldURI" type="t:PathToExtendedFieldType" substitutionGroup="t:Path"/> + + <!-- For errors only, identifies fields that do not have a uri. --> + <xs:element name="ExceptionFieldURI" type="t:PathToExceptionFieldType" /> + + <!-- Arrays of paths --> + <xs:complexType name="NonEmptyArrayOfPathsToElementType"> + <!-- using choice here so that proxy generator will not flatten the array and thus lose the + item element names --> + <xs:choice maxOccurs ="unbounded"> + <xs:element ref="t:FieldURI"/> + <xs:element ref="t:IndexedFieldURI"/> + <xs:element ref="t:ExtendedFieldURI"/> + </xs:choice> + </xs:complexType> + + <!-- ExtendedProperty value instances --> + + <xs:complexType name="NonEmptyArrayOfPropertyValuesType"> + <xs:choice> + <xs:element name="Value" type="xs:string" maxOccurs="unbounded"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfExtendedPropertyType"> + <xs:choice> + <xs:element name="ExtendedProperty" type="t:ExtendedPropertyType" maxOccurs="unbounded"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ExtendedPropertyType"> + <xs:annotation> + <xs:documentation> + Represents an extended property instance (both its path identifier along with its + associated value). + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="ExtendedFieldURI" type="t:PathToExtendedFieldType"/> + <xs:choice> + <xs:element name="Value" type="xs:string"/> + <xs:element name="Values" type="t:NonEmptyArrayOfPropertyValuesType"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + + <!-- Query Traversal types --> + <xs:simpleType name="FolderQueryTraversalType"> + <xs:annotation> + <xs:documentation>Types of sub-tree traversal for deletion and enumeration</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Shallow" /> + <xs:enumeration value="Deep" /> + <xs:enumeration value="SoftDeleted" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="SearchFolderTraversalType"> + <xs:annotation> + <xs:documentation>Types of sub-tree traversal for deletion and enumeration</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Shallow" /> + <xs:enumeration value="Deep" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ItemQueryTraversalType"> + <xs:annotation> + <xs:documentation>Types of sub-tree traversal for deletion and enumeration</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Shallow" /> + <xs:enumeration value="SoftDeleted" /> + <xs:enumeration value="Associated" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ConversationQueryTraversalType"> + <xs:annotation> + <xs:documentation>Types of sub-tree traversal for conversations</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Shallow" /> + <xs:enumeration value="Deep" /> + </xs:restriction> + </xs:simpleType> + + <!-- Default shape names for response shapes --> + <xs:simpleType name="DefaultShapeNamesType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="IdOnly" /> + <xs:enumeration value="Default" /> + <xs:enumeration value="AllProperties" /> + <xs:enumeration value="PcxPeopleSearch" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="BodyTypeResponseType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Best" /> + <xs:enumeration value="HTML" /> + <xs:enumeration value="Text" /> + </xs:restriction> + </xs:simpleType> + + <!-- Placeholder type from which all folder shape properties are to be derived --> + <xs:complexType name="FolderResponseShapeType"> + <xs:sequence> + <xs:element name="BaseShape" type="t:DefaultShapeNamesType" /> + <xs:element name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ItemResponseShapeType"> + <xs:sequence> + <xs:element name="BaseShape" type="t:DefaultShapeNamesType" /> + <xs:element name="IncludeMimeContent" type="xs:boolean" minOccurs="0" /> + <xs:element name="BodyType" type="t:BodyTypeResponseType" minOccurs="0" /> + <xs:element name="UniqueBodyType" type="t:BodyTypeResponseType" minOccurs="0" /> + <xs:element name="NormalizedBodyType" type="t:BodyTypeResponseType" minOccurs="0" /> + <xs:element name="FilterHtmlContent" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="ConvertHtmlCodePageToUTF8" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="InlineImageUrlTemplate" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="BlockExternalImages" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="AddBlankTargetToLinks" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="MaximumBodySize" type="xs:int" minOccurs="0" maxOccurs="1"/> + <xs:element name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="AttachmentResponseShapeType"> + <xs:sequence> + <xs:element name="IncludeMimeContent" type="xs:boolean" minOccurs="0" /> + <xs:element name="BodyType" type="t:BodyTypeResponseType" minOccurs="0" /> + <xs:element name="FilterHtmlContent" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ConversationResponseShapeType"> + <xs:sequence> + <xs:element name="BaseShape" type="t:DefaultShapeNamesType" /> + <xs:element name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PersonaResponseShapeType"> + <xs:sequence> + <xs:element name="BaseShape" type="t:DefaultShapeNamesType" /> + <xs:element name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="DisposalType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HardDelete" /> + <xs:enumeration value="SoftDelete" /> + <xs:enumeration value="MoveToDeletedItems" /> + </xs:restriction> + </xs:simpleType> + + <!-- auto-conflict resolution levels --> + <xs:simpleType name="ConflictResolutionType"> + <xs:annotation> + <xs:documentation>Type of conflict resolution to attempt during update</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="NeverOverwrite" /> + <xs:enumeration value="AutoResolve" /> + <xs:enumeration value="AlwaysOverwrite" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ClientAccessTokenTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CallerIdentity" /> + <xs:enumeration value="ExtensionCallback" /> + <xs:enumeration value="ScopedToken" /> + <xs:enumeration value="ExtensionRestApiCallback" /> + <xs:enumeration value="Connectors" /> + <xs:enumeration value="Loki" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="NonEmptyArrayOfClientAccessTokenRequestsType"> + <xs:sequence> + <xs:element name="TokenRequest" type="t:ClientAccessTokenRequestType" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ClientAccessTokenRequestType"> + <xs:sequence> + <xs:element name="Id" type="xs:string" /> + <xs:element name="TokenType" type="t:ClientAccessTokenTypeType" /> + <xs:element name="Scope" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ClientAccessTokenType"> + <xs:sequence> + <xs:element name="Id" type="xs:string" /> + <xs:element name="TokenType" type="t:ClientAccessTokenTypeType" /> + <xs:element name="TokenValue" type="xs:string"/> + <xs:element name="TTL" type="xs:integer"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="ResponseClassType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Success" /> + <xs:enumeration value="Warning" /> + <xs:enumeration value="Error" /> + </xs:restriction> + </xs:simpleType> + + <!-- Core update operations --> + <xs:complexType name="ChangeDescriptionType" abstract="true"> + <!-- This path element needs some explanation. For update operations, only ONE + property can be modified within a single request. That single property must be + referenced in the Path element. The Item/Folder element in the derived classes + can then only hold a single property that is in agreement with the single path + element--> + <xs:sequence> + <xs:choice maxOccurs ="unbounded"> + <xs:element ref="t:FieldURI"/> + <xs:element ref="t:IndexedFieldURI"/> + <xs:element ref="t:ExtendedFieldURI"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ItemChangeDescriptionType"> + <xs:complexContent> + <xs:extension base="t:ChangeDescriptionType"/> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="FolderChangeDescriptionType"> + <xs:complexContent> + <xs:extension base="t:ChangeDescriptionType"/> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="SetItemFieldType"> + <xs:complexContent> + <xs:extension base="t:ItemChangeDescriptionType"> + <xs:choice> + <xs:element name="Item" type="t:ItemType"/> + <xs:element name="Message" type="t:MessageType"/> + <xs:element name="CalendarItem" type="t:CalendarItemType"/> + <xs:element name="Contact" type="t:ContactItemType"/> + <xs:element name="DistributionList" type="t:DistributionListType"/> + <xs:element name="MeetingMessage" type="t:MeetingMessageType"/> + <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/> + <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/> + <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/> + <xs:element name="Task" type="t:TaskType"/> + <xs:element name="PostItem" type="t:PostItemType"/> + <xs:element name="RoleMember" type="t:RoleMemberItemType"/> + <xs:element name="Network" type="t:NetworkItemType"/> + <xs:element name="Person" type="t:AbchPersonItemType"/> + </xs:choice> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="SetFolderFieldType"> + <xs:complexContent> + <xs:extension base="t:FolderChangeDescriptionType"> + <xs:choice> + <xs:element name="Folder" type="t:FolderType"/> + <xs:element name="CalendarFolder" type="t:CalendarFolderType"/> + <xs:element name="ContactsFolder" type="t:ContactsFolderType"/> + <xs:element name="SearchFolder" type="t:SearchFolderType"/> + <xs:element name="TasksFolder" type="t:TasksFolderType"/> + </xs:choice> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="DeleteItemFieldType"> + <xs:complexContent> + <xs:extension base="t:ItemChangeDescriptionType"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="DeleteFolderFieldType"> + <xs:complexContent> + <xs:extension base="t:FolderChangeDescriptionType"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="AppendToItemFieldType"> + <xs:complexContent> + <xs:extension base="t:ItemChangeDescriptionType"> + <xs:choice> + <xs:element name="Item" type="t:ItemType"/> + <xs:element name="Message" type="t:MessageType"/> + <xs:element name="CalendarItem" type="t:CalendarItemType"/> + <xs:element name="Contact" type="t:ContactItemType"/> + <xs:element name="DistributionList" type="t:DistributionListType"/> + <xs:element name="MeetingMessage" type="t:MeetingMessageType"/> + <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/> + <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/> + <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/> + <xs:element name="Task" type="t:TaskType"/> + <xs:element name="PostItem" type="t:PostItemType"/> + <xs:element name="RoleMember" type="t:RoleMemberItemType"/> + <xs:element name="Network" type="t:NetworkItemType"/> + <xs:element name="Person" type="t:AbchPersonItemType"/> + </xs:choice> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="AppendToFolderFieldType"> + <xs:complexContent> + <xs:extension base="t:FolderChangeDescriptionType"> + <xs:sequence> + <xs:choice> + <xs:element name="Folder" type="t:FolderType"/> + <xs:element name="CalendarFolder" type="t:CalendarFolderType"/> + <xs:element name="ContactsFolder" type="t:ContactsFolderType"/> + <xs:element name="SearchFolder" type="t:SearchFolderType"/> + <xs:element name="TasksFolder" type="t:TasksFolderType"/> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfItemChangeDescriptionsType"> + <xs:choice maxOccurs="unbounded"> + <xs:element name="AppendToItemField" type="t:AppendToItemFieldType"/> + <xs:element name="SetItemField" type="t:SetItemFieldType"/> + <xs:element name="DeleteItemField" type="t:DeleteItemFieldType"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="NonEmptyArrayOfFolderChangeDescriptionsType"> + <xs:choice maxOccurs="unbounded"> + <xs:element name="AppendToFolderField" type="t:AppendToFolderFieldType"/> + <xs:element name="SetFolderField" type="t:SetFolderFieldType"/> + <xs:element name="DeleteFolderField" type="t:DeleteFolderFieldType"/> + </xs:choice> + </xs:complexType> + + <!-- Updating an item. --> + + <xs:complexType name="ItemChangeType"> + <xs:sequence> + <xs:choice> + <xs:element name="ItemId" type="t:ItemIdType" /> + <xs:element name="OccurrenceItemId" type="t:OccurrenceItemIdType"/> + <xs:element name="RecurringMasterItemId" type="t:RecurringMasterItemIdType"/> + </xs:choice> + <xs:element name="Updates" type="t:NonEmptyArrayOfItemChangeDescriptionsType" /> + <xs:element name="CalendarActivityData" type="t:CalendarActivityDataType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfItemChangesType"> + <xs:sequence> + <xs:element name="ItemChange" type="t:ItemChangeType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- Other headers --> + <xs:complexType name="InternetHeaderType"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="HeaderName" type="xs:string" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfInternetHeadersType"> + <xs:sequence> + <xs:element name="InternetMessageHeader" type="t:InternetHeaderType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfPredictedActionReasonType"> + <xs:sequence> + <xs:element name="PredictedActionReason" type="t:PredictedActionReasonType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- Attachments --> + + <!-- This type is used in GetAttachment --> + <xs:complexType name="RequestAttachmentIdType"> + <xs:complexContent> + <xs:extension base="t:BaseItemIdType"> + <xs:attribute name="Id" type="xs:string" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- This type is used in CreateAttachment responses. CreateAttachment modifies the + change key of the root item of the created attachment. We have to return that new + change key.--> + <xs:complexType name="AttachmentIdType"> + <xs:complexContent> + <xs:extension base="t:RequestAttachmentIdType"> + <xs:attribute name="RootItemId" type="xs:string" use="optional"/> + <xs:attribute name="RootItemChangeKey" type="xs:string" use="optional"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- This type is used solely in DeleteAttachment responses. --> + <xs:complexType name="RootItemIdType"> + <xs:complexContent> + <xs:extension base="t:BaseItemIdType"> + <xs:attribute name="RootItemId" type="xs:string" use="required"/> + <xs:attribute name="RootItemChangeKey" type="xs:string" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfRequestAttachmentIdsType"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="AttachmentId" type="t:RequestAttachmentIdType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="AttachmentType"> + <xs:sequence> + <xs:element name="AttachmentId" type="t:AttachmentIdType" minOccurs="0" maxOccurs="1"/> + <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ContentType" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ContentId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ContentLocation" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="AttachmentOriginalUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Size" type="xs:int" minOccurs="0" maxOccurs="1"/> + <xs:element name="LastModifiedTime" type="xs:dateTime" minOccurs="0" maxOccurs="1"/> + <xs:element name="IsInline" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ItemAttachmentType"> + <xs:complexContent> + <xs:extension base="t:AttachmentType"> + <xs:choice minOccurs="0" maxOccurs="1"> + <xs:element name="Item" type="t:ItemType"/> + <xs:element name="Message" type="t:MessageType"/> + <xs:element name="CalendarItem" type="t:CalendarItemType"/> + <xs:element name="Contact" type="t:ContactItemType"/> + <xs:element name="MeetingMessage" type="t:MeetingMessageType"/> + <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/> + <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/> + <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/> + <xs:element name="Task" type="t:TaskType"/> + <xs:element name="PostItem" type="t:PostItemType"/> + <xs:element name="RoleMember" type="t:RoleMemberItemType"/> + <xs:element name="Network" type="t:NetworkItemType"/> + <xs:element name="Person" type="t:AbchPersonItemType"/> + </xs:choice> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="SyncFolderItemsCreateOrUpdateType"> + <xs:choice> + <xs:element name="Item" type="t:ItemType"/> + <xs:element name="Message" type="t:MessageType"/> + <xs:element name="CalendarItem" type="t:CalendarItemType"/> + <xs:element name="Contact" type="t:ContactItemType"/> + <xs:element name="DistributionList" type="t:DistributionListType"/> + <xs:element name="MeetingMessage" type="t:MeetingMessageType"/> + <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/> + <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/> + <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/> + <xs:element name="Task" type="t:TaskType"/> + <xs:element name="PostItem" type="t:PostItemType"/> + <xs:element name="RoleMember" type="t:RoleMemberItemType"/> + <xs:element name="Network" type="t:NetworkItemType"/> + <xs:element name="Person" type="t:AbchPersonItemType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="FileAttachmentType"> + <xs:complexContent> + <xs:extension base="t:AttachmentType"> + <xs:sequence> + <xs:element name="IsContactPhoto" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="Content" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ReferenceAttachmentType"> + <xs:complexContent> + <xs:extension base="t:AttachmentType"> + <xs:sequence> + <xs:element name="AttachLongPathName" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ProviderType" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ProviderEndpointUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="AttachmentThumbnailUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="AttachmentPreviewUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="PermissionType" type="xs:int" minOccurs="0" maxOccurs="1"/> + <xs:element name="OriginalPermissionType" type="xs:int" minOccurs="0" maxOccurs="1"/> + <xs:element name="AttachmentIsFolder" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfAttachmentsType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="ItemAttachment" type="t:ItemAttachmentType"/> + <xs:element name="FileAttachment" type="t:FileAttachmentType"/> + <xs:element name="ReferenceAttachment" type="t:ReferenceAttachmentType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfAttachmentsType"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="ItemAttachment" type="t:ItemAttachmentType"/> + <xs:element name="FileAttachment" type="t:FileAttachmentType"/> + <xs:element name="ReferenceAttachment" type="t:ReferenceAttachmentType"/> + </xs:choice> + </xs:complexType> + + <!-- Sensitivity enumeration --> + <xs:simpleType name="SensitivityChoicesType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Normal" /> + <xs:enumeration value="Personal" /> + <xs:enumeration value="Private" /> + <xs:enumeration value="Confidential" /> + </xs:restriction> + </xs:simpleType> + + <!-- Importance enumeration --> + <xs:simpleType name="ImportanceChoicesType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Low" /> + <xs:enumeration value="Normal" /> + <xs:enumeration value="High" /> + </xs:restriction> + </xs:simpleType> + + <!-- Type of body returned --> + <xs:simpleType name="BodyTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HTML" /> + <xs:enumeration value="Text" /> + </xs:restriction> + </xs:simpleType> + + <!-- Body content with body type attribute --> + <xs:complexType name="BodyType"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="BodyType" type="t:BodyTypeType" use="required" /> + <xs:attribute name="IsTruncated" type="xs:boolean" use="optional" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <!-- UniqueBody content with body type attribute --> + <xs:complexType name="UniqueBodyType"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="UniqueBodyType" type="t:BodyTypeType" use="required" /> + <xs:attribute name="IsTruncated" type="xs:boolean" use="optional" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <!-- NormalizedBody content with body type attribute --> + <xs:complexType name="NormalizedBodyType"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="NormalizedBodyType" type="t:BodyTypeType" use="required" /> + <xs:attribute name="IsTruncated" type="xs:boolean" use="optional" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <!-- Folder Service types. --> + <!-- Folder Ids --> + <xs:complexType name="BaseFolderIdType" abstract="true"> + <xs:annotation> + <xs:documentation>Utility type which should never appear in user documents</xs:documentation> + </xs:annotation> + </xs:complexType> + + <!-- Folder classes --> + <xs:simpleType name="FolderClassType"> + <xs:restriction base="xs:string" /> + </xs:simpleType> + + <xs:simpleType name="DistinguishedFolderIdNameType"> + <xs:annotation> + <xs:documentation>URIs for the distinguished folders accessible from a mailbox</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="calendar" /> + <xs:enumeration value="contacts" /> + <xs:enumeration value="deleteditems" /> + <xs:enumeration value="drafts" /> + <xs:enumeration value="inbox" /> + <xs:enumeration value="journal" /> + <xs:enumeration value="notes" /> + <xs:enumeration value="outbox" /> + <xs:enumeration value="sentitems" /> + <xs:enumeration value="tasks" /> + <xs:enumeration value="msgfolderroot" /> + <xs:enumeration value="publicfoldersroot" /> + <xs:enumeration value="root" /> + <xs:enumeration value="junkemail" /> + <xs:enumeration value="searchfolders" /> + <xs:enumeration value="voicemail" /> + <xs:enumeration value="recoverableitemsroot" /> + <xs:enumeration value="recoverableitemsdeletions" /> + <xs:enumeration value="recoverableitemsversions" /> + <xs:enumeration value="recoverableitemspurges" /> + <xs:enumeration value="recoverableitemsdiscoveryholds" /> + <xs:enumeration value="archiveroot" /> + <xs:enumeration value="archivemsgfolderroot" /> + <xs:enumeration value="archivedeleteditems" /> + <xs:enumeration value="archiveinbox" /> + <xs:enumeration value="archiverecoverableitemsroot" /> + <xs:enumeration value="archiverecoverableitemsdeletions" /> + <xs:enumeration value="archiverecoverableitemsversions" /> + <xs:enumeration value="archiverecoverableitemspurges" /> + <xs:enumeration value="archiverecoverableitemsdiscoveryholds" /> + <xs:enumeration value="syncissues" /> + <xs:enumeration value="conflicts" /> + <xs:enumeration value="localfailures" /> + <xs:enumeration value="serverfailures" /> + <xs:enumeration value="recipientcache" /> + <xs:enumeration value="quickcontacts" /> + <xs:enumeration value="conversationhistory" /> + <xs:enumeration value="adminauditlogs" /> + <xs:enumeration value="todosearch" /> + <xs:enumeration value="mycontacts" /> + <xs:enumeration value="directory" /> + <xs:enumeration value="imcontactlist" /> + <xs:enumeration value="peopleconnect" /> + <xs:enumeration value="favorites" /> + <xs:enumeration value="mecontact" /> + <xs:enumeration value="personmetadata" /> + <xs:enumeration value="teamspaceactivity" /> + <xs:enumeration value="teamspacemessaging" /> + <xs:enumeration value="teamspaceworkitems" /> + <xs:enumeration value="scheduled" /> + <xs:enumeration value="orionnotes" /> + <xs:enumeration value="tagitems" /> + <xs:enumeration value="alltaggeditems" /> + <xs:enumeration value="externalcontacts" /> + <xs:enumeration value="teamchat" /> + <xs:enumeration value="yammerroot" /> + <xs:enumeration value="yammerinbound" /> + <xs:enumeration value="yammeroutbound" /> + <xs:enumeration value="yammerfeeds" /> + <xs:enumeration value="onedriveroot" /> + <xs:enumeration value="onedriverecylebin" /> + <xs:enumeration value="onedrivesystem" /> + <xs:enumeration value="onedrivevolume" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="DistinguishedFolderIdType"> + <xs:annotation> + <xs:documentation>Identifier for a distinguished folder</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:BaseFolderIdType"> + <xs:sequence> + <xs:element name="Mailbox" type="t:EmailAddressType" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="Id" type="t:DistinguishedFolderIdNameType" use="required" /> + <xs:attribute name="ChangeKey" type="xs:string" use="optional" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="FolderIdType"> + <xs:annotation> + <xs:documentation>Identifier for a fully resolved folder</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:BaseFolderIdType"> + <xs:attribute name="Id" type="xs:string" use="required" /> + <xs:attribute name="ChangeKey" type="xs:string" use="optional" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="AddressListIdType"> + <xs:annotation> + <xs:documentation>Identifier for a address list</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:BaseFolderIdType"> + <xs:attribute name="Id" type="xs:string" use="required" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfDistinguishedFolderIdType"> + <xs:choice maxOccurs="unbounded" minOccurs="0"> + <xs:element name="DistinguishedFolderId" type="t:DistinguishedFolderIdType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfBaseFolderIdsType"> + <xs:choice maxOccurs="unbounded" minOccurs="1"> + <xs:element name="FolderId" type="t:FolderIdType"/> + <xs:element name="DistinguishedFolderId" type="t:DistinguishedFolderIdType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="TargetFolderIdType"> + <xs:choice> + <xs:element name="FolderId" type="t:FolderIdType"/> + <xs:element name="DistinguishedFolderId" type="t:DistinguishedFolderIdType"/> + <xs:element name="AddressListId" type="t:AddressListIdType"/> + </xs:choice> + </xs:complexType> + + <!-- UploadItems types --> + <xs:complexType name="NonEmptyArrayOfUploadItemsType"> + <xs:sequence> + <xs:element name="Item" type="t:UploadItemType" maxOccurs="unbounded" minOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <!-- UploadItemType--> + <xs:complexType name="UploadItemType"> + <xs:sequence> + <xs:element name="ParentFolderId" type="t:FolderIdType" maxOccurs ="1" minOccurs ="1"/> + <xs:element name="ItemId" type="t:ItemIdType" maxOccurs ="1" minOccurs="0"/> + <xs:element name="Data" type="xs:base64Binary" maxOccurs ="1" minOccurs ="1"/> + </xs:sequence> + <xs:attribute name="CreateAction" type="t:CreateActionType" use="required"/> + <xs:attribute name="IsAssociated" type="xs:boolean" use="optional"/> + </xs:complexType> + + <!-- CreateActionType --> + <xs:simpleType name="CreateActionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CreateNew"/> + <xs:enumeration value="Update"/> + <xs:enumeration value="UpdateOrCreate"/> + </xs:restriction > + </xs:simpleType> + + <!-- CompleteActionType --> + <xs:simpleType name="CompleteActionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Commit"/> + <xs:enumeration value="Abandon"/> + </xs:restriction > + </xs:simpleType> + + <!-- Find Folder/Item/Search supporting types --> + <!-- When returning offset information for FindFolder/FindItem, we need to indicate where we + are in the result set. For the different paging mechanisms we need to indicate this in + different ways. The only common paging types between FindFolder and FindItem are indexed and + fractional. + --> + <xs:attributeGroup name="FindResponsePagingAttributes"> + <xs:attribute name="IndexedPagingOffset" type="xs:int" use="optional"/> + <xs:attribute name="NumeratorOffset" type="xs:int" use="optional"/> + <xs:attribute name="AbsoluteDenominator" type="xs:int" use="optional"/> + <xs:attribute name="IncludesLastItemInRange" type="xs:boolean" use="optional"/> + <xs:attribute name="TotalItemsInView" type="xs:int" use="optional"/> + </xs:attributeGroup> + + <xs:simpleType name="ViewFilterType"> + <xs:annotation> + <xs:documentation>Types of view filters for finding items/conversations</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="All" /> + <xs:enumeration value="Flagged" /> + <xs:enumeration value="HasAttachment" /> + <xs:enumeration value="ToOrCcMe" /> + <xs:enumeration value="Unread" /> + <xs:enumeration value="TaskActive" /> + <xs:enumeration value="TaskOverdue" /> + <xs:enumeration value="TaskCompleted" /> + <xs:enumeration value="NoClutter" /> + <xs:enumeration value="Clutter" /> + </xs:restriction> + </xs:simpleType> + + <!-- FindFolder response element for holding the results from a single parent --> + <xs:complexType name="FindFolderParentType"> + <xs:sequence> + <xs:element name="Folders" type="t:ArrayOfFoldersType" minOccurs="0"/> + </xs:sequence> + <xs:attributeGroup ref="t:FindResponsePagingAttributes"/> + </xs:complexType> + + <!-- Basic information in a folder definition --> + <xs:complexType name="BaseFolderType" abstract ="true"> + <xs:sequence> + <xs:element name="FolderId" type="t:FolderIdType" minOccurs="0"/> + <xs:element name="ParentFolderId" type="t:FolderIdType" minOccurs="0"/> + <xs:element name="FolderClass" type="xs:string" minOccurs="0"/> + <xs:element name="DisplayName" type="xs:string" minOccurs="0"/> + <xs:element name="TotalCount" type="xs:int" minOccurs="0"/> + <xs:element name="ChildFolderCount" type="xs:int" minOccurs="0"/> + <xs:element name="ExtendedProperty" type="t:ExtendedPropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="ManagedFolderInformation" type="t:ManagedFolderInformationType" minOccurs="0"/> + <xs:element name="EffectiveRights" type="t:EffectiveRightsType" minOccurs="0"/> + <xs:element name="DistinguishedFolderId" type="t:DistinguishedFolderIdNameType" minOccurs="0"/> + <xs:element name="PolicyTag" type="t:RetentionTagType" minOccurs="0" /> + <xs:element name="ArchiveTag" type="t:RetentionTagType" minOccurs="0" /> + <xs:element name="ReplicaList" type="t:ArrayOfStringsType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <!-- ManagedFolderInformation property type --> + <xs:complexType name="ManagedFolderInformationType"> + <xs:annotation> + <xs:documentation>Compound property for Managed Folder related information for Managed Folders.</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="CanDelete" type="xs:boolean" minOccurs="0"/> + <xs:element name="CanRenameOrMove" type="xs:boolean" minOccurs="0"/> + <xs:element name="MustDisplayComment" type="xs:boolean" minOccurs="0"/> + <xs:element name="HasQuota" type="xs:boolean" minOccurs="0"/> + <xs:element name="IsManagedFoldersRoot" type="xs:boolean" minOccurs="0"/> + <xs:element name="ManagedFolderId" type="xs:string" minOccurs="0"/> + <xs:element name="Comment" type="xs:string" minOccurs="0"/> + <xs:element name="StorageQuota" type="xs:int" minOccurs="0"/> + <xs:element name="FolderSize" type="xs:int" minOccurs="0"/> + <xs:element name="HomePage" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="FolderType"> + <xs:complexContent> + <xs:extension base="t:BaseFolderType"> + <xs:sequence> + <xs:element name="PermissionSet" type="t:PermissionSetType" minOccurs="0"/> + <xs:element name="UnreadCount" type="xs:int" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Calendar Folder Type--> + <xs:complexType name="CalendarFolderType"> + <xs:complexContent> + <xs:extension base="t:BaseFolderType"> + <xs:sequence> + <xs:element name="SharingEffectiveRights" type="t:CalendarPermissionReadAccessType" minOccurs="0"/> + <xs:element name="PermissionSet" type="t:CalendarPermissionSetType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Reminder Action Type --> + <xs:simpleType name="ReminderActionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Dismiss"/> + <xs:enumeration value="Snooze"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ReminderItemActionType"> + <xs:sequence> + <xs:element name="ActionType" type="t:ReminderActionType" minOccurs="1" maxOccurs="1" /> + <xs:element name="ItemId" type="t:ItemIdType" minOccurs ="1" maxOccurs ="1" /> + <xs:element name="NewReminderTime" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfReminderItemActionType"> + <xs:sequence> + <xs:element name="ReminderItemAction" type="t:ReminderItemActionType" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- Contacts Folder Type--> + <xs:complexType name="ContactsFolderType"> + <xs:complexContent> + <xs:extension base="t:BaseFolderType"> + <xs:sequence> + <xs:element name="SharingEffectiveRights" type="t:PermissionReadAccessType" minOccurs="0"/> + <xs:element name="PermissionSet" type="t:PermissionSetType" minOccurs="0"/> + <xs:element name="SourceId" type="xs:string" minOccurs="0"/> + <xs:element name="AccountName" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Search Folder Type--> + <xs:complexType name="SearchFolderType"> + <xs:complexContent> + <xs:extension base="t:FolderType"> + <xs:sequence> + <xs:element name="SearchParameters" type="t:SearchParametersType" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Tasks Folder Type--> + <xs:complexType name="TasksFolderType"> + <xs:complexContent> + <xs:extension base="t:FolderType"/> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfFoldersType"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="Folder" type="t:FolderType"/> + <xs:element name="CalendarFolder" type="t:CalendarFolderType"/> + <xs:element name="ContactsFolder" type="t:ContactsFolderType"/> + <xs:element name="SearchFolder" type="t:SearchFolderType"/> + <xs:element name="TasksFolder" type="t:TasksFolderType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ArrayOfFoldersType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="Folder" type="t:FolderType"/> + <xs:element name="CalendarFolder" type="t:CalendarFolderType"/> + <xs:element name="ContactsFolder" type="t:ContactsFolderType"/> + <xs:element name="SearchFolder" type="t:SearchFolderType"/> + <xs:element name="TasksFolder" type="t:TasksFolderType"/> + </xs:choice> + </xs:complexType> + + <!-- Item Service types. --> + <xs:complexType name="BaseItemIdType" abstract="true"> + <xs:annotation> + <xs:documentation>Abstract base type for item identifiers. Should never be used in web service calls</xs:documentation> + </xs:annotation> + </xs:complexType> + <xs:element name="BaseItemId" type="t:BaseItemIdType" /> + + <xs:simpleType name="DerivedItemIdType"> + <xs:restriction base="xs:string" /> + </xs:simpleType> + + <xs:complexType name="ItemIdType"> + <xs:annotation> + <xs:documentation>Identifier for a fully resolved item</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:BaseItemIdType"> + <xs:attribute name="Id" type="xs:string" use="required" /> + <xs:attribute name="ChangeKey" type="xs:string" use="optional" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfBaseItemIdsType"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="ItemId" type="t:ItemIdType"/> + <xs:element name="OccurrenceItemId" type="t:OccurrenceItemIdType"/> + <xs:element name="RecurringMasterItemId" type="t:RecurringMasterItemIdType"/> + <xs:element name="RecurringMasterItemIdRanges" type="t:RecurringMasterItemIdRangesType" /> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ArrayOfBaseItemIdsType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="ItemId" type="t:ItemIdType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfItemIdsType"> + <xs:sequence> + <xs:element name="ItemId" type="t:ItemIdType" maxOccurs="unbounded" minOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfItemIdsType"> + <xs:sequence> + <xs:element name="ItemId" type="t:ItemIdType" maxOccurs="unbounded" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <!-- Item classes --> + <xs:simpleType name="ItemClassType"> + <xs:restriction base="xs:string" /> + </xs:simpleType> + + <!--Reply objects--> + <xs:complexType name="ResponseObjectCoreType" abstract="true"> + <xs:annotation> + <xs:documentation> + Internal abstract base type for reply objects. + Should not appear in client code + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:MessageType"> + <xs:sequence> + <xs:element name="ReferenceItemId" type="t:ItemIdType" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ResponseObjectType" abstract="true"> + <xs:annotation> + <xs:documentation>Abstract base type for reply objects</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:ResponseObjectCoreType"> + <xs:attribute name="ObjectName" type="xs:string" use="optional"> + <xs:annotation> + <xs:documentation> + 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 + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!--The wrapper around all reply object types--> + <xs:complexType name="NonEmptyArrayOfResponseObjectsType"> + <xs:choice maxOccurs="unbounded" minOccurs="0"> + <xs:element name="AcceptItem" type="t:AcceptItemType"/> + <xs:element name="TentativelyAcceptItem" type="t:TentativelyAcceptItemType"/> + <xs:element name="DeclineItem" type="t:DeclineItemType"/> + <xs:element name="ReplyToItem" type="t:ReplyToItemType" /> + <xs:element name="ForwardItem" type="t:ForwardItemType" /> + <xs:element name="ReplyAllToItem" type="t:ReplyAllToItemType" /> + <xs:element name="CancelCalendarItem" type="t:CancelCalendarItemType" /> + <xs:element name="RemoveItem" type="t:RemoveItemType" /> + <xs:element name="SuppressReadReceipt" type="t:SuppressReadReceiptType" /> + <xs:element name="PostReplyItem" type="t:PostReplyItemType" /> + <xs:element name="AcceptSharingInvitation" type="t:AcceptSharingInvitationType" /> + <xs:element name="AddItemToMyCalendar" type="t:AddItemToMyCalendarType" /> + <xs:element name="ProposeNewTime" type="t:ProposeNewTimeType" /> + </xs:choice> + </xs:complexType> + + <!-- Updating an folder. Represents a set of changes to a single folder --> + <xs:complexType name="FolderChangeType"> + <xs:sequence> + <xs:choice> + <xs:element name="FolderId" type="t:FolderIdType" /> + <xs:element name="DistinguishedFolderId" type="t:DistinguishedFolderIdType"/> + </xs:choice> + <xs:element name="Updates" type="t:NonEmptyArrayOfFolderChangeDescriptionsType" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfFolderChangesType"> + <xs:sequence> + <xs:element name="FolderChange" type="t:FolderChangeType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- Generic response to deleting a folder --> + <!-- Some well-known reply objects --> + <xs:complexType name="WellKnownResponseObjectType"> + <xs:complexContent> + <xs:restriction base="t:ResponseObjectType"> + <xs:sequence> + <xs:element name="ItemClass" type="t:ItemClassType" minOccurs="0" /> + <xs:element name="Sensitivity" type="t:SensitivityChoicesType" minOccurs="0" /> + <xs:element name="Body" type="t:BodyType" minOccurs="0" /> + <xs:element name="Attachments" type="t:NonEmptyArrayOfAttachmentsType" minOccurs="0" /> + <xs:element + name="InternetMessageHeaders" + type="t:NonEmptyArrayOfInternetHeadersType" + minOccurs="0" /> + <xs:element name="Sender" type="t:SingleRecipientType" minOccurs="0" /> + <xs:element name="ToRecipients" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="CcRecipients" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="BccRecipients" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="IsReadReceiptRequested" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsDeliveryReceiptRequested" type="xs:boolean" minOccurs="0" /> + <xs:element name="From" type="t:SingleRecipientType" minOccurs="0" /> + <xs:element name="ReferenceItemId" type="t:ItemIdType" minOccurs="0" /> + </xs:sequence> + <xs:attribute name="ObjectName" type="xs:string" use="prohibited" /> + </xs:restriction> + </xs:complexContent> + </xs:complexType> + <!-- Smart reponses: ReplyToItem, ReplyAllToItem, ForwardItem--> + <xs:complexType name="SmartResponseBaseType"> + <xs:complexContent> + <xs:restriction base="t:ResponseObjectType"> + <xs:sequence> + <xs:element name="Subject" type="xs:string" minOccurs="0" /> + <xs:element name="Body" type="t:BodyType" minOccurs="0" /> + <xs:element name="ToRecipients" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="CcRecipients" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="BccRecipients" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="IsReadReceiptRequested" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsDeliveryReceiptRequested" type="xs:boolean" minOccurs="0" /> + <xs:element name="From" type="t:SingleRecipientType" minOccurs="0" /> + <xs:element name="ReferenceItemId" type="t:ItemIdType" minOccurs="0" /> + </xs:sequence> + <xs:attribute name="ObjectName" type="xs:string" use="prohibited" /> + </xs:restriction> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="SmartResponseType"> + <xs:complexContent> + <xs:extension base="t:SmartResponseBaseType"> + <xs:sequence> + <xs:element name="NewBodyContent" type="t:BodyType" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- Distinguish the various kinds of responses which differ only in name by making them --> + <!-- have types which all extend the same base types trivially --> + <xs:complexType name="ReplyToItemType"> + <xs:complexContent> + <xs:extension base="t:SmartResponseType" /> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ReplyAllToItemType"> + <xs:complexContent> + <xs:extension base="t:SmartResponseType"> + <xs:sequence> + <xs:element name="IsSpecificMessageReply" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ForwardItemType"> + <xs:complexContent> + <xs:extension base="t:SmartResponseType" /> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="CancelCalendarItemType"> + <xs:complexContent> + <xs:extension base="t:SmartResponseType" /> + </xs:complexContent> + </xs:complexType> + + <!-- Reference Item response object --> + + <xs:complexType name="ReferenceItemResponseType"> + <xs:complexContent> + <xs:restriction base="t:ResponseObjectType"> + <xs:sequence> + <xs:element name="ReferenceItemId" type="t:ItemIdType" minOccurs="0" /> + </xs:sequence> + <xs:attribute name="ObjectName" type="xs:string" use="prohibited" /> + </xs:restriction> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="SuppressReadReceiptType"> + <xs:complexContent> + <xs:extension base="t:ReferenceItemResponseType" /> + </xs:complexContent> + </xs:complexType> + + <!-- FindItem response element for holding the results from a single parent --> + <xs:complexType name="FindItemParentType"> + <xs:choice> + <xs:element name="Items" type="t:ArrayOfRealItemsType"/> + <xs:element name="Groups" type="t:ArrayOfGroupedItemsType"/> + </xs:choice> + <xs:attributeGroup ref="t:FindResponsePagingAttributes"/> + </xs:complexType> + + <!-- Core contents of an item. --> + <xs:complexType name="ItemType"> + <xs:sequence> + <xs:element name="MimeContent" type="t:MimeContentType" minOccurs="0" /> + <xs:element name="ItemId" type="t:ItemIdType" minOccurs="0" /> + <xs:element name="ParentFolderId" type="t:FolderIdType" minOccurs="0"/> + <xs:element name="ItemClass" type="t:ItemClassType" minOccurs="0" /> + <xs:element name="Subject" type="xs:string" minOccurs="0" /> + <xs:element name="Sensitivity" type="t:SensitivityChoicesType" minOccurs="0" /> + <xs:element name="Body" type="t:BodyType" minOccurs="0" /> + <xs:element name="Attachments" type="t:NonEmptyArrayOfAttachmentsType" minOccurs="0" /> + <xs:element name="DateTimeReceived" type="xs:dateTime" minOccurs="0" /> + <xs:element name="Size" type="xs:int" minOccurs="0" /> + <xs:element name="Categories" type="t:ArrayOfStringsType" minOccurs="0" /> + <xs:element name="Importance" type="t:ImportanceChoicesType" minOccurs="0" /> + <xs:element name="InReplyTo" type="xs:string" minOccurs="0" /> + <xs:element name="IsSubmitted" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsDraft" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsFromMe" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsResend" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsUnmodified" type="xs:boolean" minOccurs="0" /> + <xs:element name="InternetMessageHeaders" type="t:NonEmptyArrayOfInternetHeadersType" minOccurs="0" /> + <xs:element name="DateTimeSent" type="xs:dateTime" minOccurs="0" /> + <xs:element name="DateTimeCreated" type="xs:dateTime" minOccurs="0" /> + <xs:element name="ResponseObjects" type="t:NonEmptyArrayOfResponseObjectsType" minOccurs="0" /> + <xs:element name="ReminderDueBy" type="xs:dateTime" minOccurs="0" /> + <xs:element name="ReminderIsSet" type="xs:boolean" minOccurs="0" /> + <xs:element name="ReminderNextTime" type="xs:dateTime" minOccurs="0" /> + <xs:element name="ReminderMinutesBeforeStart" type="t:ReminderMinutesBeforeStartType" minOccurs="0" /> + <xs:element name="DisplayCc" type="xs:string" minOccurs="0" /> + <xs:element name="DisplayTo" type="xs:string" minOccurs="0" /> + <xs:element name="DisplayBcc" type="xs:string" minOccurs="0" /> + <xs:element name="HasAttachments" type="xs:boolean" minOccurs="0"/> + <xs:element name="ExtendedProperty" type="t:ExtendedPropertyType" minOccurs="0" maxOccurs="unbounded" /> + <xs:element name="Culture" type="xs:language" minOccurs="0"/> + <xs:element name="EffectiveRights" type="t:EffectiveRightsType" minOccurs="0" /> + <xs:element name="LastModifiedName" type="xs:string" minOccurs="0" /> + <xs:element name="LastModifiedTime" type="xs:dateTime" minOccurs="0" /> + <xs:element name="IsAssociated" type="xs:boolean" minOccurs="0" /> + <xs:element name="WebClientReadFormQueryString" type="xs:string" minOccurs="0" /> + <xs:element name="WebClientEditFormQueryString" type="xs:string" minOccurs="0" /> + <xs:element name="ConversationId" type="t:ItemIdType" minOccurs="0" /> + <xs:element name="UniqueBody" type="t:BodyType" minOccurs="0" /> + <xs:element name="Flag" type="t:FlagType" minOccurs="0" /> + <xs:element name="StoreEntryId" type="xs:base64Binary" minOccurs="0" /> + <xs:element name="InstanceKey" type="xs:base64Binary" minOccurs="0" /> + <xs:element name="NormalizedBody" type="t:BodyType" minOccurs="0"/> + <xs:element name="EntityExtractionResult" type="t:EntityExtractionResultType" minOccurs="0" /> + <xs:element name="PolicyTag" type="t:RetentionTagType" minOccurs="0" /> + <xs:element name="ArchiveTag" type="t:RetentionTagType" minOccurs="0" /> + <xs:element name="RetentionDate" type="xs:dateTime" minOccurs="0" /> + <xs:element name="Preview" type="xs:string" minOccurs="0" /> + <xs:element name="RightsManagementLicenseData" type="t:RightsManagementLicenseDataType" minOccurs="0" /> + <xs:element name="PredictedActionReasons" type="t:NonEmptyArrayOfPredictedActionReasonType" minOccurs="0" /> + <xs:element name="IsClutter" type="xs:boolean" minOccurs="0" /> + <xs:element name="BlockStatus" type="xs:boolean" minOccurs="0" /> + <xs:element name="HasBlockedImages" type="xs:boolean" minOccurs="0" /> + <xs:element name="TextBody" type="t:BodyType" minOccurs="0"/> + <xs:element name="IconIndex" type="t:IconIndexType" minOccurs="0"/> + <xs:element name="SearchKey" type="xs:base64Binary" minOccurs="0" /> + <xs:element name="SortKey" type="xs:long" minOccurs="0" /> + <xs:element name="Hashtags" type="t:ArrayOfStringsType" minOccurs="0" /> + <xs:element name="Mentions" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="MentionedMe" type="xs:boolean" minOccurs="0" /> + <xs:element name="MentionsPreview" type="t:MentionsPreviewType" minOccurs="0" /> + <xs:element name="MentionsEx" type="t:NonEmptyArrayOfMentionActionsType" minOccurs="0" /> + <xs:element name="AppliedHashtags" type="t:NonEmptyArrayOfAppliedHashtagType" minOccurs="0" /> + <xs:element name="AppliedHashtagsPreview" type="t:AppliedHashtagsPreviewType" minOccurs="0" /> + <xs:element name="Likes" type="t:NonEmptyArrayOfLikeType" minOccurs="0" /> + <xs:element name="LikesPreview" type="t:LikesPreviewType" minOccurs="0" /> + <xs:element name="PendingSocialActivityTagIds" type="t:ArrayOfStringsType" minOccurs="0" /> + <xs:element name="AtAllMention" type="xs:boolean" minOccurs="0" /> + <xs:element name="CanDelete" type="xs:boolean" minOccurs="0" /> + <xs:element name="InferenceClassification" type="t:InferenceClassificationType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfItemClassType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="ItemClass" type="t:ItemClassType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="FlagType"> + <xs:sequence> + <xs:element name="FlagStatus" type="t:FlagStatusType" minOccurs="1" maxOccurs="1"/> + <xs:element name="StartDate" type="xs:dateTime" minOccurs="0" /> + <xs:element name="DueDate" type="xs:dateTime" minOccurs="0" /> + <xs:element name="CompleteDate" type="xs:dateTime" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="FlagStatusType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="NotFlagged" /> + <xs:enumeration value="Flagged" /> + <xs:enumeration value="Complete" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="PredictedActionReasonType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="ConversationStarterIsYou" /> + <xs:enumeration value="OnlyRecipient" /> + <xs:enumeration value="ConversationContributions" /> + <xs:enumeration value="MarkedImportantBySender" /> + <xs:enumeration value="SenderIsManager" /> + <xs:enumeration value="SenderIsInManagementChain" /> + <xs:enumeration value="SenderIsDirectReport" /> + <xs:enumeration value="ActionBasedOnSender" /> + <xs:enumeration value="NameOnToLine" /> + <xs:enumeration value="NameOnCcLine" /> + <xs:enumeration value="ManagerPosition" /> + <xs:enumeration value="ReplyToAMessageFromMe" /> + <xs:enumeration value="PreviouslyFlagged" /> + <xs:enumeration value="ActionBasedOnRecipients" /> + <xs:enumeration value="ActionBasedOnSubjectWords" /> + <xs:enumeration value="ActionBasedOnBasedOnBodyWords" /> + </xs:restriction> + </xs:simpleType> + + <!-- Begin Entity Extraction --> + <xs:complexType name="EntityType"> + <xs:sequence> + <xs:element name="Position" type="t:EmailPositionType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfAddressesType"> + <xs:sequence> + <xs:element name="Address" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfAddressEntitiesType"> + <xs:sequence> + <xs:element name="AddressEntity" type="t:AddressEntityType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="AddressEntityType"> + <xs:complexContent> + <xs:extension base="t:EntityType"> + <xs:sequence> + <xs:element name="Address" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfEmailAddressEntitiesType"> + <xs:sequence> + <xs:element name="EmailAddressEntity" type="t:EmailAddressEntityType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="EmailAddressEntityType"> + <xs:complexContent> + <xs:extension base="t:EntityType"> + <xs:sequence> + <xs:element name="EmailAddress" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfUrlEntitiesType"> + <xs:sequence> + <xs:element name="UrlEntity" type="t:UrlEntityType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="UrlEntityType"> + <xs:complexContent> + <xs:extension base="t:EntityType"> + <xs:sequence> + <xs:element name="Url" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfMeetingSuggestionsType"> + <xs:sequence> + <xs:element name="MeetingSuggestion" type="t:MeetingSuggestionType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MeetingSuggestionType"> + <xs:complexContent> + <xs:extension base="t:EntityType"> + <xs:sequence> + <xs:element name="Attendees" type="t:ArrayOfEmailUsersType" minOccurs="0" maxOccurs="1" /> + <xs:element name="Location" type="xs:string" minOccurs="0" /> + <xs:element name="Subject" type="xs:string" minOccurs="0" /> + <xs:element name="MeetingString" type="xs:string" minOccurs="0" /> + <xs:element name="StartTime" type="xs:dateTime" minOccurs="0" /> + <xs:element name="EndTime" type="xs:dateTime" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfTaskSuggestionsType"> + <xs:sequence> + <xs:element name="TaskSuggestion" type="t:TaskSuggestionType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfContactsType"> + <xs:sequence> + <xs:element name="Contact" type="t:ContactType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ContactType"> + <xs:complexContent> + <xs:extension base="t:EntityType"> + <xs:sequence> + <xs:element name="PersonName" type="xs:string" minOccurs="0" /> + <xs:element name="BusinessName" type="xs:string" minOccurs="0" /> + <xs:element name="PhoneNumbers" type="t:ArrayOfPhonesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="Urls" type="t:ArrayOfUrlsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="EmailAddresses" type="t:ArrayOfExtractedEmailAddresses" minOccurs="0" maxOccurs="1" /> + <xs:element name="Addresses" type="t:ArrayOfAddressesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ContactString" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfUrlsType"> + <xs:sequence> + <xs:element name="Url" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfPhonesType"> + <xs:sequence> + <xs:element name="Phone" type="t:PhoneType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PhoneType"> + <xs:sequence> + <xs:element name="OriginalPhoneString" type="xs:string" minOccurs="0" /> + <xs:element name="PhoneString" type="xs:string" minOccurs="0" /> + <xs:element name="Type" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfPhoneEntitiesType"> + <xs:sequence> + <xs:element name="Phone" type="t:PhoneEntityType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PhoneEntityType"> + <xs:complexContent> + <xs:extension base="t:EntityType"> + <xs:sequence> + <xs:element name="OriginalPhoneString" type="xs:string" minOccurs="0" /> + <xs:element name="PhoneString" type="xs:string" minOccurs="0" /> + <xs:element name="Type" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:simpleType name="EmailPositionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="LatestReply" /> + <xs:enumeration value="Other" /> + <xs:enumeration value="Subject" /> + <xs:enumeration value="Signature" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ArrayOfEmailUsersType"> + <xs:sequence> + <xs:element name="EmailUser" type="t:EmailUserType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="EmailUserType"> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="0" /> + <xs:element name="UserId" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="TaskSuggestionType"> + <xs:complexContent> + <xs:extension base="t:EntityType"> + <xs:sequence> + <xs:element name="TaskString" type="xs:string" minOccurs="0" /> + <xs:element name="Assignees" type="t:ArrayOfEmailUsersType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfExtractedEmailAddresses"> + <xs:sequence> + <xs:element name="EmailAddress" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ParcelDeliveryEntityType"> + <xs:sequence> + <xs:element name="Carrier" type="xs:string" minOccurs="0" /> + <xs:element name="TrackingNumber" type="xs:string" minOccurs="0" /> + <xs:element name="TrackingUrl" type="xs:string" minOccurs="0" /> + <xs:element name="ExpectedArrivalFrom" type="xs:string" minOccurs="0" /> + <xs:element name="ExpectedArrivalUntil" type="xs:string" minOccurs="0" /> + <xs:element name="Product" type="xs:string" minOccurs="0" /> + <xs:element name="ProductUrl" type="xs:string" minOccurs="0" /> + <xs:element name="ProductImage" type="xs:string" minOccurs="0" /> + <xs:element name="ProductSku" type="xs:string" minOccurs="0" /> + <xs:element name="ProductDescription" type="xs:string" minOccurs="0" /> + <xs:element name="ProductBrand" type="xs:string" minOccurs="0" /> + <xs:element name="ProductColor" type="xs:string" minOccurs="0" /> + <xs:element name="OrderNumber" type="xs:string" minOccurs="0" /> + <xs:element name="Seller" type="xs:string" minOccurs="0" /> + <xs:element name="OrderStatus" type="xs:string" minOccurs="0" /> + <xs:element name="AddressName" type="xs:string" minOccurs="0" /> + <xs:element name="StreetAddress" type="xs:string" minOccurs="0" /> + <xs:element name="AddressLocality" type="xs:string" minOccurs="0" /> + <xs:element name="AddressRegion" type="xs:string" minOccurs="0" /> + <xs:element name="AddressCountry" type="xs:string" minOccurs="0" /> + <xs:element name="PostalCode" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="InferenceClassificationType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Focused" /> + <xs:enumeration value="Other" /> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="InferenceClassificationOverrideType"> + <xs:sequence> + <xs:element name="Id" type="t:GuidType" minOccurs="1" maxOccurs="1" /> + <xs:element name="SenderSmtpAddress" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="SenderDisplayName" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="AlwaysClassifyAs" type="t:InferenceClassificationType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ArrayOfInferenceClassificationOverridesType"> + <xs:sequence> + <xs:element name="Override" minOccurs="0" maxOccurs="unbounded" type="t:InferenceClassificationOverrideType"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfParcelDeliveryEntitiesType"> + <xs:sequence> + <xs:element name="ParcelDelivery" type="t:ParcelDeliveryEntityType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="FlightEntityType"> + <xs:sequence> + <xs:element name="FlightNumber" type="xs:string" minOccurs="0" /> + <xs:element name="AirlineIataCode" type="xs:string" minOccurs="0" /> + <xs:element name="DepartureTime" type="xs:string" minOccurs="0" /> + <xs:element name="WindowsTimeZoneName" type="xs:string" minOccurs="0" /> + <xs:element name="DepartureAirportIataCode" type="xs:string" minOccurs="0" /> + <xs:element name="ArrivalAirportIataCode" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfFlightsType"> + <xs:sequence> + <xs:element name="Flight" type="t:FlightEntityType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="FlightReservationEntityType"> + <xs:sequence> + <xs:element name="ReservationId" type="xs:string" minOccurs="0" /> + <xs:element name="ReservationStatus" type="xs:string" minOccurs="0" /> + <xs:element name="UnderName" type="xs:string" minOccurs="0" /> + <xs:element name="BrokerName" type="xs:string" minOccurs="0" /> + <xs:element name="BrokerPhone" type="xs:string" minOccurs="0" /> + <xs:element name="Flights" type="t:ArrayOfFlightsType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfFlightReservationsType"> + <xs:sequence> + <xs:element name="FlightReservation" type="t:FlightReservationEntityType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SenderAddInEntityType"> + <xs:sequence> + <xs:element name="ExtensionId" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfSenderAddInsType"> + <xs:sequence> + <xs:element name="Microsoft.OutlookServices.SenderApp" type="t:SenderAddInEntityType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="EntityExtractionResultType"> + <xs:sequence> + <xs:element name="Addresses" type="t:ArrayOfAddressEntitiesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="MeetingSuggestions" type="t:ArrayOfMeetingSuggestionsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="TaskSuggestions" type="t:ArrayOfTaskSuggestionsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="EmailAddresses" type="t:ArrayOfEmailAddressEntitiesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="Contacts" type="t:ArrayOfContactsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="Urls" type="t:ArrayOfUrlEntitiesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="PhoneNumbers" type="t:ArrayOfPhoneEntitiesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ParcelDeliveries" type="t:ArrayOfParcelDeliveryEntitiesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="FlightReservations" type="t:ArrayOfFlightReservationsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="SenderAddIns" type="t:ArrayOfSenderAddInsType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <!-- End Entity Extraction --> + + <!-- Begin Rights Management License Data --> + <xs:complexType name="RightsManagementLicenseDataType"> + <xs:sequence> + <xs:element name="RightsManagedMessageDecryptionStatus" type="xs:int" minOccurs="0" /> + <xs:element name="RmsTemplateId" type="xs:string" minOccurs="0" /> + <xs:element name="TemplateName" type="xs:string" minOccurs="0" /> + <xs:element name="TemplateDescription" type="xs:string" minOccurs="0" /> + <xs:element name="EditAllowed" type="xs:boolean" minOccurs="0" /> + <xs:element name="ReplyAllowed" type="xs:boolean" minOccurs="0" /> + <xs:element name="ReplyAllAllowed" type="xs:boolean" minOccurs="0" /> + <xs:element name="ForwardAllowed" type="xs:boolean" minOccurs="0" /> + <xs:element name="ModifyRecipientsAllowed" type="xs:boolean" minOccurs="0" /> + <xs:element name="ExtractAllowed" type="xs:boolean" minOccurs="0" /> + <xs:element name="PrintAllowed" type="xs:boolean" minOccurs="0" /> + <xs:element name="ExportAllowed" type="xs:boolean" minOccurs="0" /> + <xs:element name="ProgrammaticAccessAllowed" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsOwner" type="xs:boolean" minOccurs="0" /> + <xs:element name="ContentOwner" type="xs:string" minOccurs="0" /> + <xs:element name="ContentExpiryDate" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <!-- End Rights Management License Data --> + + <xs:simpleType name="ConversationActionTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AlwaysCategorize" /> + <xs:enumeration value="AlwaysDelete" /> + <xs:enumeration value="AlwaysMove" /> + <xs:enumeration value="Delete" /> + <xs:enumeration value="Move" /> + <xs:enumeration value="Copy" /> + <xs:enumeration value="SetReadState" /> + <xs:enumeration value="SetRetentionPolicy" /> + <xs:enumeration value="Flag" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ConversationActionType"> + <xs:sequence> + <xs:element name="Action" type="t:ConversationActionTypeType" minOccurs="1" maxOccurs="1" /> + <xs:element name="ConversationId" type="t:ItemIdType" minOccurs="1" maxOccurs="1" /> + <xs:element name="ContextFolderId" type="t:TargetFolderIdType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ConversationLastSyncTime" type="xs:dateTime" minOccurs="0" maxOccurs="1"/> + <xs:element name="ProcessRightAway" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="DestinationFolderId" type="t:TargetFolderIdType" minOccurs="0" maxOccurs="1" /> + <xs:element name="Categories" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="EnableAlwaysDelete" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsRead" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="DeleteType" type="t:DisposalType" minOccurs="0" maxOccurs="1"/> + <xs:element name="RetentionPolicyType" type="t:RetentionType" minOccurs="0" maxOccurs="1"/> + <xs:element name="RetentionPolicyTagId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Flag" type="t:FlagType" minOccurs="0" maxOccurs="1"/> + <xs:element name="SuppressReadReceipts" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfApplyConversationActionType"> + <xs:sequence> + <xs:element name="ConversationAction" type="t:ConversationActionType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + + <xs:complexType name="ConversationType"> + <xs:sequence> + <xs:element name="ConversationId" type="t:ItemIdType" minOccurs="0" /> + <xs:element name="ConversationTopic" type="xs:string" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationMVTo--> + <xs:element name="UniqueRecipients" type="t:ArrayOfStringsType" minOccurs="0" /> + <!-- Maps to ConversationItemSchema.ConversationGlobalMVTo--> + <xs:element name="GlobalUniqueRecipients" type="t:ArrayOfStringsType" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationMVUnreadFrom--> + <xs:element name="UniqueUnreadSenders" type="t:ArrayOfStringsType" minOccurs="0" /> + <!-- Maps to ConversationItemSchema.ConversationGlobalMVUnreadFrom--> + <xs:element name="GlobalUniqueUnreadSenders" type="t:ArrayOfStringsType" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationMVFrom--> + <xs:element name="UniqueSenders" type="t:ArrayOfStringsType" minOccurs="0" /> + <!-- Maps to ConversationItemSchema.ConversationMVFrom--> + <xs:element name="GlobalUniqueSenders" type="t:ArrayOfStringsType" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationLastDeliveryTime--> + <xs:element name="LastDeliveryTime" type="xs:dateTime" minOccurs="0" /> + <!-- Maps to ConversationItemSchema.ConversationGlobalLastDeliveryTime--> + <xs:element name="GlobalLastDeliveryTime" type="xs:dateTime" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationCategories--> + <xs:element name="Categories" type="t:ArrayOfStringsType" minOccurs="0" /> + <!-- Maps to ConversationItemSchema.ConversationGlobalCategories--> + <xs:element name="GlobalCategories" type="t:ArrayOfStringsType" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationFlagStatus--> + <xs:element name="FlagStatus" type="t:FlagStatusType" minOccurs="0" /> + <!-- Maps to ConversationItemSchema.ConversationGlobalFlagStatus--> + <xs:element name="GlobalFlagStatus" type="t:FlagStatusType" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationHasAttach--> + <xs:element name="HasAttachments" type="xs:boolean" minOccurs="0"/> + <!-- Maps to ConversationItemSchema.ConversationGlobalHasAttach--> + <xs:element name="GlobalHasAttachments" type="xs:boolean" minOccurs="0"/> + + <!-- Maps to ConversationItemSchema.ConversationMessageCount--> + <xs:element name="MessageCount" type="xs:int" minOccurs="0" /> + <!-- Maps to ConversationItemSchema.ConversationGlobalMessageCount--> + <xs:element name="GlobalMessageCount" type="xs:int" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationUnreadMessageCount--> + <xs:element name="UnreadCount" type="xs:int" minOccurs="0" /> + <!-- Maps to ConversationItemSchema.ConversationGlobalUnreadMessageCount--> + <xs:element name="GlobalUnreadCount" type="xs:int" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationMessageSize--> + <xs:element name="Size" type="xs:int" minOccurs="0" /> + <!-- Maps to ConversationItemSchema.ConversationGlobalMessageSize--> + <xs:element name="GlobalSize" type="xs:int" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationMessageClasses--> + <xs:element name="ItemClasses" type="t:ArrayOfItemClassType" minOccurs="0" /> + <!-- Maps to ConversationItemSchema.ConversationGlobalMessageClasses--> + <xs:element name="GlobalItemClasses" type="t:ArrayOfItemClassType" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationImportance--> + <xs:element name="Importance" type="t:ImportanceChoicesType" minOccurs="0" /> + <!-- Maps to ConversationItemSchema.ConversationGlobalImportance--> + <xs:element name="GlobalImportance" type="t:ImportanceChoicesType" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationItemIds--> + <xs:element name="ItemIds" type="t:NonEmptyArrayOfBaseItemIdsType" minOccurs="0"/> + <!-- Maps to ConversationItemSchema.ConversationGlobalItemIds--> + <xs:element name="GlobalItemIds" type="t:NonEmptyArrayOfBaseItemIdsType" minOccurs="0"/> + + <xs:element name="LastModifiedTime" type="xs:dateTime" minOccurs="0" /> + <xs:element name="InstanceKey" type="xs:base64Binary" minOccurs="0"/> + + <!-- Maps to ConversationItemSchema.ConversationPreview--> + <xs:element name="Preview" type="xs:string" minOccurs="0" /> + + <!-- Flag for the mailbox scope this conversation was found in --> + <xs:element name="MailboxScope" type="t:MailboxSearchLocationType" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationIconIndex--> + <xs:element name="IconIndex" type="t:IconIndexType" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationGlobalIconIndex--> + <xs:element name="GlobalIconIndex" type="t:IconIndexType" minOccurs="0" /> + + <!-- Maps to ConversationItemSchema.ConversationDraftItemIds--> + <xs:element name="DraftItemIds" type="t:NonEmptyArrayOfBaseItemIdsType" minOccurs="0"/> + + <!-- Maps to ConversationItemSchema.ConversationHasIrm--> + <xs:element name="HasIrm" type="xs:boolean" minOccurs="0"/> + <!-- Maps to ConversationItemSchema.ConversationGlobalHasIrm--> + <xs:element name="GlobalHasIrm" type="xs:boolean" minOccurs="0"/> + + <!-- Maps to ConversationItemSchema.ConversationInferenceClassification--> + <xs:element name="InferenceClassification" type="t:InferenceClassificationType" minOccurs="0" /> + + <!-- Key on which the data got sorted during search operation--> + <xs:element name="SortKey" type="xs:long" minOccurs="0"/> + + <xs:element name="MentionedMe" type="xs:boolean" minOccurs="0"/> + <xs:element name="GlobalMentionedMe" type="xs:boolean" minOccurs="0"/> + <xs:element name="SenderSMTPAddress" type="t:SmtpAddressType" minOccurs="0"/> + <xs:element name="MailboxGuids" minOccurs="0" maxOccurs="1"> + <xs:complexType> + <xs:sequence> + <xs:element name="MailboxGuid" type="t:GuidType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="From" type="t:SingleRecipientType" minOccurs="0" /> + <xs:element name="AtAllMention" type="xs:boolean" minOccurs="0"/> + <xs:element name="GlobalAtAllMention" type="xs:boolean" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="HighlightTermType"> + <xs:sequence> + <xs:element name="Scope" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfConversationsType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="Conversation" type="t:ConversationType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ConversationRequestType"> + <xs:sequence> + <xs:element name="ConversationId" type="t:ItemIdType" minOccurs="1" maxOccurs="1"/> + <xs:element name="SyncState" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfConversationRequestsType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="Conversation" type="t:ConversationRequestType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ConversationNodeType"> + <xs:sequence> + <xs:element name="InternetMessageId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ParentInternetMessageId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Items" type="t:NonEmptyArrayOfAllItemsType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfConversationNodesType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="ConversationNode" type="t:ConversationNodeType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ConversationResponseType"> + <xs:sequence> + <xs:element name="ConversationId" type="t:ItemIdType" minOccurs="1" maxOccurs="1"/> + <xs:element name="SyncState" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/> + <xs:element name="ConversationNodes" type="t:ArrayOfConversationNodesType" minOccurs="0" maxOccurs="1"/> + <xs:element name="CanDelete" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="ConversationNodeSortOrder"> + <xs:restriction base="xs:string"> + <xs:enumeration value="TreeOrderAscending"/> + <xs:enumeration value="TreeOrderDescending"/> + <xs:enumeration value="DateOrderAscending"/> + <xs:enumeration value="DateOrderDescending"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ArrayOfHighlightTermsType"> + <xs:sequence> + <xs:element name="Term" type="t:HighlightTermType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PersonaAttributionType"> + <xs:sequence> + <xs:element name="Id" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="SourceId" type="t:ItemIdType" minOccurs="1" maxOccurs="1" /> + <xs:element name="DisplayName" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="IsWritable" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsQuickContact" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsHidden" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="FolderId" type="t:FolderIdType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfPersonaAttributionsType"> + <xs:sequence> + <xs:element name="Attribution" type="t:PersonaAttributionType" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfValueAttributionsType"> + <xs:sequence> + <xs:element name="Attribution" type="xs:string" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfStringValueType"> + <xs:sequence> + <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="StringAttributedValueType"> + <xs:sequence> + <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="Attributions" type="t:ArrayOfValueAttributionsType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="BodyContentType"> + <xs:sequence> + <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="BodyType" type="t:BodyTypeType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="BodyContentAttributedValueType"> + <xs:sequence> + <xs:element name="Value" type="t:BodyContentType" minOccurs="1" maxOccurs="1" /> + <xs:element name="Attributions" type="t:ArrayOfValueAttributionsType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="StringArrayAttributedValueType"> + <xs:sequence> + <xs:element name="Values" type="t:ArrayOfStringValueType" minOccurs="1" maxOccurs="1" /> + <xs:element name="Attributions" type="t:ArrayOfValueAttributionsType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="EmailAddressAttributedValueType"> + <xs:sequence> + <xs:element name="Value" type="t:EmailAddressType" minOccurs="1" maxOccurs="1" /> + <xs:element name="Attributions" type="t:ArrayOfValueAttributionsType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PersonaPhoneNumberType"> + <xs:sequence> + <xs:element name="Number" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="Type" type="xs:string" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PhoneNumberAttributedValueType"> + <xs:sequence> + <xs:element name="Value" type="t:PersonaPhoneNumberType" minOccurs="1" maxOccurs="1" /> + <xs:element name="Attributions" type="t:ArrayOfValueAttributionsType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PersonaPostalAddressType"> + <xs:sequence> + <xs:element name="Street" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="City" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="State" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Country" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="PostalCode" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="PostOfficeBox" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Type" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Latitude" type="xs:double" minOccurs="0" maxOccurs="1" /> + <xs:element name="Longitude" type="xs:double" minOccurs="0" maxOccurs="1" /> + <xs:element name="Accuracy" type="xs:double" minOccurs="0" maxOccurs="1" /> + <xs:element name="Altitude" type="xs:double" minOccurs="0" maxOccurs="1" /> + <xs:element name="AltitudeAccuracy" type="xs:double" minOccurs="0" maxOccurs="1" /> + <xs:element name="FormattedAddress" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="LocationUri" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="LocationSource" type="t:LocationSourceType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PostalAddressAttributedValueType"> + <xs:sequence> + <xs:element name="Value" type="t:PersonaPostalAddressType" minOccurs="1" maxOccurs="1" /> + <xs:element name="Attributions" type="t:ArrayOfValueAttributionsType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ExtendedPropertyAttributedValueType"> + <xs:sequence> + <xs:element name="Value" type="t:ExtendedPropertyType" minOccurs="1" maxOccurs="1" /> + <xs:element name="Attributions" type="t:ArrayOfValueAttributionsType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfStringAttributedValuesType"> + <xs:sequence> + <xs:element name="StringAttributedValue" type="t:StringAttributedValueType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfStringArrayAttributedValuesType"> + <xs:sequence> + <xs:element name="StringArrayAttributedValue" type="t:StringArrayAttributedValueType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfBodyContentAttributedValuesType"> + <xs:sequence> + <xs:element name="BodyContentAttributedValue" type="t:BodyContentAttributedValueType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfEmailAddressAttributedValuesType"> + <xs:sequence> + <xs:element name="EmailAddressAttributedValue" type="t:EmailAddressAttributedValueType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfPhoneNumberAttributedValuesType"> + <xs:sequence> + <xs:element name="PhoneNumberAttributedValue" type="t:PhoneNumberAttributedValueType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfPostalAddressAttributedValuesType"> + <xs:sequence> + <xs:element name="PostalAddressAttributedValue" type="t:PostalAddressAttributedValueType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfExtendedPropertyAttributedValueType"> + <xs:sequence> + <xs:element name="ExtendedPropertyAttributedValue" type="t:ExtendedPropertyAttributedValueType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="InsightFiltersType"> + <xs:sequence> + <xs:element name="Count" type="xs:int" minOccurs="0" maxOccurs="1" /> + <xs:element name="Types" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="KeyInsightsOnly" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="InsightValue"> + <xs:sequence> + <xs:element name="InsightSource" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="UpdatedUtcTicks" type="xs:long" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="StringInsightValue"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element name="Data" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="DelveDocument"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element name="Rank" type="xs:double" minOccurs="0" maxOccurs="1"/> + <xs:element name="Author" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Created" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="LastModifiedTime" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DefaultEncodingURL" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="FileType" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Title" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DocumentId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="PreviewURL" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="LastEditor" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ProfileInsightValue"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element name="FullName" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="FirstName" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="LastName" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="EmailAddress" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Avatar" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="JoinedUtcTicks" type="xs:long" minOccurs="0" maxOccurs="1"/> + <xs:element name="ProfilePicture" type="t:UserProfilePicture" minOccurs="0" maxOccurs="1" /> + <xs:element name="Title" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="OutOfOfficeInsightValue"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="1" name="StartTime" type="xs:dateTime" /> + <xs:element minOccurs="0" maxOccurs="1" name="EndTime" type="xs:dateTime" /> + <xs:element minOccurs="0" maxOccurs="1" name="Message" type="xs:string" /> + <xs:element minOccurs="0" maxOccurs="1" name="Culture" type="xs:string" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="JobInsightValue"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element name="Company" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="CompanyDescription" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="CompanyTicker" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="CompanyLogoUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="CompanyWebsiteUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="CompanyLinkedInUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Title" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="StartUtcTicks" type="xs:long" minOccurs="0" maxOccurs="1"/> + <xs:element name="EndUtcTicks" type="xs:long" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="CompanyInsightValue"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="SatoriId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DescriptionAttribution" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ImageUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ImageUrlAttribution" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="YearFound" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="FinanceSymbol" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="WebsiteUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="UserProfilePicture"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element name="Blob" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="PhotoSize" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Url" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ImageType" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="EducationInsightValue"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element name="Institute" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Degree" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="StartUtcTicks" type="xs:long" minOccurs="0" maxOccurs="1"/> + <xs:element name="EndUtcTicks" type="xs:long" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="SkillInsightValue"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Strength" type="xs:int" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="MeetingInsightValue"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element name="Id" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Subject" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="StartUtcTicks" type="xs:long" minOccurs="0" maxOccurs="1"/> + <xs:element name="EndUtcTicks" type="xs:long" minOccurs="0" maxOccurs="1"/> + <xs:element name="Location" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Organizer" type="t:ProfileInsightValue" minOccurs="0" maxOccurs="1"/> + <xs:element name="Attendees" type="t:ArrayOfProfileInsightValue" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="EmailInsightValue"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element name="Id" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ThreadId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Subject" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="LastEmailDateUtcTicks" type="xs:long" minOccurs="0" maxOccurs="1"/> + <xs:element name="Body" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="LastEmailSender" type="t:ProfileInsightValue" minOccurs="0" maxOccurs="1"/> + <xs:element name="EmailsCount" type="xs:int" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfInsightValue"> + <xs:sequence> + <xs:element name="Item" type="t:InsightValue" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfSkillInsightValue"> + <xs:sequence> + <xs:element name="Item" type="t:SkillInsightValue" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfProfileInsightValue"> + <xs:sequence> + <xs:element name="Item" type="t:ProfileInsightValue" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfJobInsightValue"> + <xs:sequence> + <xs:element name="Item" type="t:JobInsightValue" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfCompanyInsightValue"> + <xs:sequence> + <xs:element name="Item" type="t:CompanyInsightValue" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="InsightContent"> + </xs:complexType> + + <xs:complexType name="SingleValueInsightContent"> + <xs:complexContent> + <xs:extension base="t:InsightContent"> + <xs:sequence> + <xs:element name="Item" type="t:InsightValue" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="MultiValueInsightContent"> + <xs:complexContent> + <xs:extension base="t:InsightContent"> + <xs:sequence> + <xs:element name="ItemList" type="t:ArrayOfInsightValue" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="Insight"> + <xs:sequence> + <xs:element name="InsightType" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Rank" type="xs:double" minOccurs="0" maxOccurs="1" /> + <xs:element name="Content" type="t:InsightContent" minOccurs="0" maxOccurs="1" /> + <xs:element name="Text" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="ItemList" type="t:ArrayOfInsightValue" minOccurs="0" maxOccurs="1"/> + <xs:element name="RequiresToken" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ComputedInsightValueProperty"> + <xs:sequence> + <xs:element name="Key" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfComputedInsightValueProperty"> + <xs:sequence> + <xs:element name="Property" type="t:ComputedInsightValueProperty" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ComputedInsightValue"> + <xs:complexContent> + <xs:extension base="t:InsightValue"> + <xs:sequence> + <xs:element name="Properties" type="t:ArrayOfComputedInsightValueProperty" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfInsight"> + <xs:sequence> + <xs:element name="Insight" type="t:Insight" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PersonResponseShapeType"> + <xs:sequence> + <xs:element name="BaseShape" type="t:DefaultShapeNamesType" /> + <xs:element name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PersonType"> + <xs:sequence> + <xs:element name="FullName" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="GivenName" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Surname" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="PhoneNumber" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="SMSNumber" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="EmailAddress" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Alias" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Department" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="LinkedInProfileLink" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Skills" type="t:ArrayOfSkillInsightValue" minOccurs="0" maxOccurs="1" /> + <xs:element name="ProfessionalBiography" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="ManagementChain" type="t:ArrayOfProfileInsightValue" minOccurs="0" maxOccurs="1" /> + <xs:element name="DirectReports" type="t:ArrayOfProfileInsightValue" minOccurs="0" maxOccurs="1" /> + <xs:element name="Peers" type="t:ArrayOfProfileInsightValue" minOccurs="0" maxOccurs="1" /> + <xs:element name="TeamSize" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="CurrentJob" type="t:ArrayOfJobInsightValue" minOccurs="0" maxOccurs="1" /> + <xs:element name="Birthday" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Hometown" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="CurrentLocation" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="CompanyProfile" type="t:ArrayOfCompanyInsightValue" minOccurs="0" maxOccurs="1" /> + <xs:element name="Office" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Headline" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="MutualConnections" type="t:ArrayOfProfileInsightValue" minOccurs="0" maxOccurs="1" /> + <xs:element name="Title" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="MutualManager" type="t:ProfileInsightValue" minOccurs="0" maxOccurs="1" /> + <xs:element name="Insights" type="t:ArrayOfInsight" minOccurs="0" maxOccurs="1" /> + <xs:element name="UserProfilePicture" type="t:UserProfilePicture" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfPersonType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="Person" type="t:PersonType"/> + </xs:choice> + </xs:complexType> + + <xs:simpleType name="TokenSourceType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="LinkedIn" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="PeopleTokenType"> + <xs:sequence> + <xs:element name="TokenSource" type="t:TokenSourceType" minOccurs="1" maxOccurs="1"/> + <xs:element name="ExpirationDateTime" type="xs:dateTime" minOccurs="0" maxOccurs="1" /> + <xs:element name="TokenValue" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfPeopleTokenType"> + <xs:sequence> + <xs:element name="PeopleToken" type="t:PeopleTokenType" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PersonaType"> + <xs:sequence> + <xs:element name="PersonaId" type="t:ItemIdType" minOccurs="1" maxOccurs="1" /> + <xs:element name="PersonaType" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="PersonaObjectStatus" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="CreationTime" type="xs:dateTime" minOccurs="0" maxOccurs="1" /> + <xs:element name="Bodies" type="t:ArrayOfBodyContentAttributedValuesType" minOccurs="0" /> + <xs:element name="DisplayNameFirstLastSortKey" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="DisplayNameLastFirstSortKey" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="CompanyNameSortKey" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="HomeCitySortKey" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="WorkCitySortKey" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="DisplayNameFirstLastHeader" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="DisplayNameLastFirstHeader" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="DisplayName" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="DisplayNameFirstLast" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="DisplayNameLastFirst" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="FileAs" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="FileAsId" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="DisplayNamePrefix" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="GivenName" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="MiddleName" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Surname" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Generation" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Nickname" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="YomiCompanyName" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="YomiFirstName" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="YomiLastName" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Title" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Department" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="CompanyName" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Location" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="EmailAddress" type="t:EmailAddressType" minOccurs="0" maxOccurs="1" /> + <xs:element name="EmailAddresses" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="PhoneNumber" type="t:PersonaPhoneNumberType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ImAddress" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="HomeCity" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="WorkCity" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="RelevanceScore" type="xs:int" minOccurs="0" maxOccurs="1" /> + <xs:element name="FolderIds" type="t:ArrayOfFolderIdType" minOccurs="0" maxOccurs="1" /> + <xs:element name="Attributions" type="t:ArrayOfPersonaAttributionsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="DisplayNames" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <xs:element name="FileAses" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <xs:element name="FileAsIds" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.DisplayNamePrefix--> + <xs:element name="DisplayNamePrefixes" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.GivenName--> + <xs:element name="GivenNames" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.MiddleName--> + <xs:element name="MiddleNames" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Surname--> + <xs:element name="Surnames" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Generation--> + <xs:element name="Generations" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Nickname--> + <xs:element name="Nicknames" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Initials--> + <xs:element name="Initials" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.YomiCompanyName--> + <xs:element name="YomiCompanyNames" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.YomiFirstName--> + <xs:element name="YomiFirstNames" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.YomiLastName--> + <xs:element name="YomiLastNames" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.BusinessPhoneNumber--> + <xs:element name="BusinessPhoneNumbers" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.BusinessPhoneNumber2--> + <xs:element name="BusinessPhoneNumbers2" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.HomePhone--> + <xs:element name="HomePhones" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.HomePhone2--> + <xs:element name="HomePhones2" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.MobilePhone--> + <xs:element name="MobilePhones" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.MobilePhone2--> + <xs:element name="MobilePhones2" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.AssistantPhoneNumber--> + <xs:element name="AssistantPhoneNumbers" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.CallbackPhone--> + <xs:element name="CallbackPhones" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.CarPhone--> + <xs:element name="CarPhones" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.HomeFax--> + <xs:element name="HomeFaxes" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.OrganizationMainPhone--> + <xs:element name="OrganizationMainPhones" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.OtherFax--> + <xs:element name="OtherFaxes" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.OtherTelephone--> + <xs:element name="OtherTelephones" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.OtherPhone2--> + <xs:element name="OtherPhones2" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Pager--> + <xs:element name="Pagers" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.RadioPhone--> + <xs:element name="RadioPhones" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.TelexNumber--> + <xs:element name="TelexNumbers" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.TTYTDDPhoneNumber--> + <xs:element name="TTYTDDPhoneNumbers" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.WorkFax --> + <xs:element name="WorkFaxes" type="t:ArrayOfPhoneNumberAttributedValuesType" minOccurs="0" /> + <!-- Values are aggregation of ContactSchema.Email1AddrType, ContactSchema.Email1DisplayNames, and ContactSchema.Email1EmailAddress--> + <xs:element name="Emails1" type="t:ArrayOfEmailAddressAttributedValuesType" minOccurs="0" maxOccurs="1" /> + <!-- Values are aggregation of ContactSchema.Email2AddrType, ContactSchema.Email2DisplayNames, and ContactSchema.Email2EmailAddress--> + <xs:element name="Emails2" type="t:ArrayOfEmailAddressAttributedValuesType" minOccurs="0" maxOccurs="1" /> + <!-- Values are aggregation of ContactSchema.Email3AddrType, ContactSchema.Email3DisplayNames, and ContactSchema.Email3EmailAddress--> + <xs:element name="Emails3" type="t:ArrayOfEmailAddressAttributedValuesType" minOccurs="0" maxOccurs="1" /> + <!-- Values map to ContactSchema.BusinessHomePage--> + <xs:element name="BusinessHomePages" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.PersonalHomePage--> + <xs:element name="PersonalHomePages" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.OfficeLocation--> + <xs:element name="OfficeLocations" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <xs:element name="ImAddresses" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <xs:element name="ImAddresses2" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <xs:element name="ImAddresses3" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values are aggregation of ContactSchema.WorkAddressStreet/City/State/Country/PostalCode/PostOfficeBox--> + <xs:element name="BusinessAddresses" type="t:ArrayOfPostalAddressAttributedValuesType" minOccurs="0" maxOccurs="1" /> + <!-- Values are aggregation of ContactSchema.HomeStreet/City/State/Country/PostalCode/PostOfficeBox--> + <xs:element name="HomeAddresses" type="t:ArrayOfPostalAddressAttributedValuesType" minOccurs="0" maxOccurs="1" /> + <!-- Values are aggregation of ContactSchema.OtherStreet/City/State/Country/PostalCode/PostOfficeBox--> + <xs:element name="OtherAddresses" type="t:ArrayOfPostalAddressAttributedValuesType" minOccurs="0" maxOccurs="1" /> + <!-- Values map to ContactSchema.Title--> + <xs:element name="Titles" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Department--> + <xs:element name="Departments" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.CompanyName--> + <xs:element name="CompanyNames" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Manager--> + <xs:element name="Managers" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.AssistantName--> + <xs:element name="AssistantNames" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Profession--> + <xs:element name="Professions" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.SpouseName--> + <xs:element name="SpouseNames" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Children--> + <xs:element name="Children" type="t:ArrayOfStringArrayAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Schools--> + <xs:element name="Schools" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Hobbies--> + <xs:element name="Hobbies" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.WeddingAnniversary--> + <xs:element name="WeddingAnniversaries" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Birthday--> + <xs:element name="Birthdays" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <!-- Values map to ContactSchema.Location--> + <xs:element name="Locations" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <xs:element name="InlineLinks" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <xs:element name="ItemLinkIds" type="t:ArrayOfStringArrayAttributedValuesType" minOccurs="0" /> + <xs:element name="HasActiveDeals" type="xs:string" minOccurs="0" /> + <xs:element name="IsBusinessContact" type="xs:string" minOccurs="0" /> + <xs:element name="AttributedHasActiveDeals" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <xs:element name="AttributedIsBusinessContact" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <xs:element name="SourceMailboxGuids" type="t:ArrayOfStringAttributedValuesType" minOccurs="0" /> + <xs:element name="LastContactedDate" type="xs:dateTime" minOccurs="0" /> + <!-- Values map to possibly multiple extended properties --> + <xs:element name="ExtendedProperties" type="t:ArrayOfExtendedPropertyAttributedValueType" minOccurs="0" /> + <xs:element name="ExternalDirectoryObjectId" type="xs:string" minOccurs="0" /> + <!-- Desktop Outlook properties --> + <xs:element name="MapiEntryId" type="xs:string" minOccurs="0" /> + <xs:element name="MapiEmailAddress" type="xs:string" minOccurs="0" /> + <xs:element name="MapiAddressType" type="xs:string" minOccurs="0" /> + <xs:element name="MapiSearchKey" type="xs:string" minOccurs="0" /> + <xs:element name="MapiTransmittableDisplayName" type="xs:string" minOccurs="0" /> + <xs:element name="MapiSendRichInfo" type="xs:boolean" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ArrayOfPeopleType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="Persona" type="t:PersonaType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="MailboxLocatorType"> + <xs:sequence> + <xs:element name="ExternalDirectoryObjectId" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="LegacyDn" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="GroupLocatorType"> + <xs:complexContent> + <xs:extension base="t:MailboxLocatorType" /> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="UserLocatorType"> + <xs:complexContent> + <xs:extension base="t:MailboxLocatorType" /> + </xs:complexContent> + </xs:complexType> + + <xs:simpleType name="GroupMailboxConfigurationActionType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="SetRegionalSettings"/> + <xs:enumeration value="CreateDefaultFolders"/> + <xs:enumeration value="SetInitialFolderPermissions"/> + <xs:enumeration value="SetAllFolderPermissions"/> + <xs:enumeration value="ConfigureCalendar"/> + <xs:enumeration value="SendWelcomeMessage"/> + <xs:enumeration value="GenerateGroupPhoto"/> + <xs:enumeration value="AllowOnlyMembersToPost"/> + <xs:enumeration value="ConfigureConnectors"/> + <xs:enumeration value="ConfigureFileChangeNotification"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:simpleType name="InstantSearchItemType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="MailItem"/> + <xs:enumeration value="MailConversation"/> + <xs:enumeration value="CalendarItem"/> + <xs:enumeration value="Persona"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:simpleType name="InstantSearchResultType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="Suggestions"/> + <xs:enumeration value="ItemResults"/> + <xs:enumeration value="ConversationResults"/> + <xs:enumeration value="Refiners"/> + <xs:enumeration value="SearchTerms"/> + <xs:enumeration value="Errors"/> + <xs:enumeration value="QueryStatistics"/> + <xs:enumeration value="CalendarItemResults"/> + <xs:enumeration value="PersonaResults"/> + <xs:enumeration value="SuggestionsPrimer"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:complexType name="ArrayOfItemsType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="Item" type="t:ItemType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ArrayOfCalendarItemsType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="CalendarItem" type="t:CalendarItemType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="InstantSearchPayloadType"> + <xs:sequence> + <xs:element name="SearchSessionId" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="SearchRequestId" type="xs:long" minOccurs="1" maxOccurs="1" /> + <xs:element name="ResultType" type="t:InstantSearchResultType" minOccurs="1" maxOccurs="1" /> + <xs:element name="Items" type="t:ArrayOfItemsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="Conversations" type="t:ArrayOfConversationsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="CalendarItems" type="t:ArrayOfCalendarItemsType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="QueryOptionsType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="Suggestions"/> + <xs:enumeration value="Results"/> + <xs:enumeration value="Refiners"/> + <xs:enumeration value="SearchTerms"/> + <xs:enumeration value="ExplicitSearch"/> + <xs:enumeration value="SuggestionsPrimer"/> + <xs:enumeration value="AllowFuzzing"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:simpleType name="OneDriveViewType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="SharedWithMe"/> + <xs:enumeration value="MyDocuments"/> + <xs:enumeration value="RecycleBin"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:simpleType name="DelveViewType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="Files"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:simpleType name="GroupMemberIdentifierType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ExternalDirectoryObjectId"/> + <xs:enumeration value="LegacyExchangeDN"/> + <xs:enumeration value="SmtpAddress"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ModernGroupTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="Private" /> + <xs:enumeration value="Secret" /> + <xs:enumeration value="Public" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ArrayOfStringsType"> + <xs:sequence> + <xs:element name="String" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfRealItemsType"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="Item" type="t:ItemType"/> + <xs:element name="Message" type="t:MessageType"/> + <xs:element name="CalendarItem" type="t:CalendarItemType"/> + <xs:element name="Contact" type="t:ContactItemType"/> + <xs:element name="DistributionList" type="t:DistributionListType"/> + <xs:element name="MeetingMessage" type="t:MeetingMessageType"/> + <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/> + <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/> + <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/> + <xs:element name="Task" type="t:TaskType"/> + <xs:element name="PostItem" type="t:PostItemType"/> + <xs:element name="RoleMember" type="t:RoleMemberItemType"/> + <xs:element name="Network" type="t:NetworkItemType"/> + <xs:element name="Person" type="t:AbchPersonItemType"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfAllItemsType"> + <xs:sequence> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="Item" type="t:ItemType"/> + <xs:element name="Message" type="t:MessageType"/> + <xs:element name="CalendarItem" type="t:CalendarItemType"/> + <xs:element name="Contact" type="t:ContactItemType"/> + <xs:element name="DistributionList" type="t:DistributionListType"/> + <xs:element name="MeetingMessage" type="t:MeetingMessageType"/> + <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/> + <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/> + <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/> + <xs:element name="Task" type="t:TaskType"/> + <xs:element name="PostItem" type="t:PostItemType"/> + <xs:element name="ReplyToItem" type="t:ReplyToItemType"/> + <xs:element name="ForwardItem" type="t:ForwardItemType"/> + <xs:element name="ReplyAllToItem" type="t:ReplyAllToItemType"/> + <xs:element name="AcceptItem" type="t:AcceptItemType"/> + <xs:element name="TentativelyAcceptItem" type="t:TentativelyAcceptItemType"/> + <xs:element name="DeclineItem" type="t:DeclineItemType"/> + <xs:element name="CancelCalendarItem" type="t:CancelCalendarItemType" /> + <xs:element name="RemoveItem" type="t:RemoveItemType" /> + <xs:element name="SuppressReadReceipt" type="t:SuppressReadReceiptType" /> + <xs:element name="PostReplyItem" type="t:PostReplyItemType" /> + <xs:element name="AcceptSharingInvitation" type="t:AcceptSharingInvitationType" /> + <xs:element name="RoleMember" type="t:RoleMemberItemType"/> + <xs:element name="Network" type="t:NetworkItemType"/> + <xs:element name="Person" type="t:AbchPersonItemType"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MeetingRegistrationResponseObjectType"> + <xs:complexContent> + <xs:extension base="t:WellKnownResponseObjectType"> + <xs:sequence> + <xs:element name="ProposedStart" type="xs:dateTime" minOccurs="0" /> + <xs:element name="ProposedEnd" type="xs:dateTime" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="AcceptItemType"> + <xs:complexContent> + <xs:extension base="t:MeetingRegistrationResponseObjectType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="TentativelyAcceptItemType"> + <xs:complexContent> + <xs:extension base="t:MeetingRegistrationResponseObjectType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="DeclineItemType"> + <xs:complexContent> + <xs:extension base="t:MeetingRegistrationResponseObjectType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ProposeNewTimeType"> + <xs:complexContent> + <xs:extension base="t:ResponseObjectType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="RemoveItemType"> + <xs:complexContent> + <xs:extension base="t:ResponseObjectType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="AddItemToMyCalendarType"> + <xs:complexContent> + <xs:extension base="t:ResponseObjectType"/> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="PostReplyItemBaseType"> + <xs:complexContent> + <xs:restriction base="t:ResponseObjectType"> + <xs:sequence> + <xs:element name="Subject" type="xs:string" minOccurs="0" /> + <xs:element name="Body" type="t:BodyType" minOccurs="0" /> + <xs:element name="ReferenceItemId" type="t:ItemIdType" minOccurs="0" /> + </xs:sequence> + <xs:attribute name="ObjectName" type="xs:string" use="prohibited" /> + </xs:restriction> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="PostReplyItemType"> + <xs:complexContent> + <xs:extension base="t:PostReplyItemBaseType"> + <xs:sequence> + <xs:element name="NewBodyContent" type="t:BodyType" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Mime content support --> + <xs:complexType name="MimeContentType"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="CharacterSet" type="xs:string" use="optional" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <!-- Mime content UTF8 support --> + <xs:complexType name="MimeContentUTF8Type"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="CharacterSet" type="xs:string" use="optional" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <!-- Special items for creating and updating items --> + + <xs:simpleType name="MessageDispositionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SaveOnly" /> + <xs:enumeration value="SendOnly" /> + <xs:enumeration value="SendAndSaveCopy" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="CalendarItemCreateOrDeleteOperationType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SendToNone" /> + <xs:enumeration value="SendOnlyToAll" /> + <xs:enumeration value="SendToAllAndSaveCopy" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="CalendarItemUpdateOperationType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="SendToNone" /> + <xs:enumeration value="SendOnlyToAll" /> + <xs:enumeration value="SendOnlyToChanged" /> + <xs:enumeration value="SendToAllAndSaveCopy" /> + <xs:enumeration value="SendToChangedAndSaveCopy" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="AffectedTaskOccurrencesType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AllOccurrences"/> + <xs:enumeration value="SpecifiedOccurrenceOnly"/> + </xs:restriction> + </xs:simpleType> + + <!-- - - - - - - - - - - - - - - - - - - --> + <!-- Message type: derived from item --> + <!-- - - - - - - - - - - - - - - - - - - --> + <xs:complexType name="MessageType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:sequence> + <xs:element name="Sender" minOccurs="0" type="t:SingleRecipientType" /> + <xs:element name="ToRecipients" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="CcRecipients" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="BccRecipients" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="IsReadReceiptRequested" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsDeliveryReceiptRequested" type="xs:boolean" minOccurs="0" /> + <xs:element name="ConversationIndex" type="xs:base64Binary" minOccurs="0" /> + <xs:element name="ConversationTopic" type="xs:string" minOccurs="0" /> + <xs:element name="From" type="t:SingleRecipientType" minOccurs="0" /> + <xs:element name="InternetMessageId" type="xs:string" minOccurs="0" /> + <xs:element name="IsRead" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsResponseRequested" type="xs:boolean" minOccurs="0" /> + <xs:element name="References" type="xs:string" minOccurs="0" /> + <xs:element name="ReplyTo" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="ReceivedBy" type="t:SingleRecipientType" minOccurs="0" /> + <xs:element name="ReceivedRepresenting" type="t:SingleRecipientType" minOccurs="0" /> + <xs:element name="ApprovalRequestData" type="t:ApprovalRequestDataType" minOccurs="0" /> + <xs:element name="VotingInformation" type="t:VotingInformationType" minOccurs="0" /> + <xs:element name="ReminderMessageData" type="t:ReminderMessageDataType" minOccurs="0" /> + <xs:element name="SenderSMTPAddress" type="t:SmtpAddressType" minOccurs="0"/> + <xs:element name="MailboxGuids" minOccurs="0" maxOccurs="1"> + <xs:complexType> + <xs:sequence> + <xs:element name="MailboxGuid" type="t:GuidType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:simpleType name="TaskStatusType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="NotStarted" /> + <xs:enumeration value="InProgress" /> + <xs:enumeration value="Completed" /> + <xs:enumeration value="WaitingOnOthers" /> + <xs:enumeration value="Deferred" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="TaskDelegateStateType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="NoMatch" /> + <xs:enumeration value="OwnNew" /> + <xs:enumeration value="Owned" /> + <xs:enumeration value="Accepted" /> + <xs:enumeration value="Declined" /> + <xs:enumeration value="Max" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="TaskType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:sequence> + <xs:element name="ActualWork" type="xs:int" minOccurs="0" /> + <xs:element name="AssignedTime" type="xs:dateTime" minOccurs="0" /> + <xs:element name="BillingInformation" type="xs:string" minOccurs="0" /> + <xs:element name="ChangeCount" type="xs:int" minOccurs="0" /> + <xs:element name="Companies" type="t:ArrayOfStringsType" minOccurs="0" /> + <xs:element name="CompleteDate" type="xs:dateTime" minOccurs="0" /> + <xs:element name="Contacts" type="t:ArrayOfStringsType" minOccurs="0" /> + <xs:element name="DelegationState" type="t:TaskDelegateStateType" minOccurs="0" /> + <xs:element name="Delegator" type="xs:string" minOccurs="0" /> + <xs:element name="DueDate" type="xs:dateTime" minOccurs="0" /> + <xs:element name="IsAssignmentEditable" type="xs:int" minOccurs="0" /> + <xs:element name="IsComplete" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsRecurring" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsTeamTask" type="xs:boolean" minOccurs="0" /> + <xs:element name="Mileage" type="xs:string" minOccurs="0" /> + <xs:element name="Owner" type="xs:string" minOccurs="0" /> + <xs:element name="PercentComplete" type="xs:double" minOccurs="0" /> + <xs:element name="Recurrence" type="t:TaskRecurrenceType" minOccurs="0" /> + <xs:element name="StartDate" type="xs:dateTime" minOccurs="0" /> + <xs:element name="Status" type="t:TaskStatusType" minOccurs="0" /> + <xs:element name="StatusDescription" type="xs:string" minOccurs="0" /> + <xs:element name="TotalWork" type="xs:int" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="PostItemType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:sequence> + <xs:element name="ConversationIndex" type="xs:base64Binary" minOccurs="0"/> + <xs:element name="ConversationTopic" type="xs:string" minOccurs="0"/> + <!-- From property can only be set at creation time --> + <xs:element name="From" type="t:SingleRecipientType" minOccurs="0"/> + <xs:element name="InternetMessageId" type="xs:string" minOccurs="0"/> + <xs:element name="IsRead" type="xs:boolean" minOccurs="0" /> + <!-- PostedTime is read only --> + <xs:element name="PostedTime" type="xs:dateTime" minOccurs="0"/> + <xs:element name="References" type="xs:string" minOccurs="0" /> + <!-- Sender can only be set at creation time --> + <xs:element name="Sender" type="t:SingleRecipientType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Paging specification --> + <xs:complexType name="BasePagingType" abstract="true"> + <xs:attribute name="MaxEntriesReturned" type="xs:int" use="optional"/> + </xs:complexType> + + <xs:simpleType name="IndexBasePointType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Beginning" /> + <xs:enumeration value="End" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="IndexedPageViewType"> + <xs:complexContent> + <xs:extension base="t:BasePagingType"> + <xs:attribute name="Offset" type="xs:int" use="required"/> + <xs:attribute name="BasePoint" type="t:IndexBasePointType" use="required" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="FractionalPageViewType"> + <xs:complexContent> + <xs:extension base="t:BasePagingType"> + <xs:attribute name="Numerator" type="xs:int" use="required" /> + <xs:attribute name="Denominator" type="xs:int" use="required" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="SeekToConditionPageViewType"> + <xs:complexContent> + <xs:extension base="t:BasePagingType"> + <xs:sequence> + <xs:element name="Condition" type="t:RestrictionType" minOccurs="1"/> + </xs:sequence> + <xs:attribute name="BasePoint" type="t:IndexBasePointType" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="CalendarViewType"> + <xs:complexContent> + <xs:extension base="t:BasePagingType"> + <xs:attribute name="StartDate" type="xs:dateTime" use="required" /> + <xs:attribute name="EndDate" type="xs:dateTime" use="required" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ContactsViewType"> + <xs:complexContent> + <xs:extension base="t:BasePagingType"> + <xs:attribute name="InitialName" type="xs:string" use="optional"/> + <xs:attribute name="FinalName" type="xs:string" use="optional"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Util Service Types. --> + + + <!-- ResolveNames request --> + + <xs:simpleType name="ResolveNamesSearchScopeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ActiveDirectory" /> + <xs:enumeration value="ActiveDirectoryContacts" /> + <xs:enumeration value="Contacts" /> + <xs:enumeration value="ContactsActiveDirectory" /> + </xs:restriction> + </xs:simpleType> + + <!-- ResolveNames response --> + + <xs:complexType name="ResolutionType"> + <xs:sequence> + <xs:element name="Mailbox" type="t:EmailAddressType" /> + <xs:element name="Contact" type="t:ContactItemType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfResolutionType"> + <xs:sequence> + <xs:element name="Resolution" type="t:ResolutionType" minOccurs="0" maxOccurs="100" /> + </xs:sequence> + <xs:attributeGroup ref="t:FindResponsePagingAttributes" /> + </xs:complexType> + + <!-- DLExpansion response --> + + <xs:complexType name="ArrayOfDLExpansionType"> + <xs:sequence> + <xs:element name="Mailbox" type="t:EmailAddressType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + <xs:attributeGroup ref="t:FindResponsePagingAttributes" /> + </xs:complexType> + + <!-- end of DLExpansion --> + + <!-- GetServerTimeZones response --> + + <xs:complexType name="NonEmptyArrayOfTimeZoneIdType"> + <xs:sequence> + <xs:element name="Id" type="xs:string" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfTimeZoneDefinitionType"> + <xs:sequence minOccurs="0" maxOccurs="unbounded"> + <xs:element name="TimeZoneDefinition" type="t:TimeZoneDefinitionType" /> + </xs:sequence> + </xs:complexType> + + <!-- end of GetServerTimeZones --> + + + <!-- MeetingMessage types --> + <xs:simpleType name="MeetingRequestTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="FullUpdate" /> + <xs:enumeration value="InformationalUpdate" /> + <xs:enumeration value="NewMeetingRequest" /> + <xs:enumeration value="Outdated" /> + <xs:enumeration value="SilentUpdate" /> + <xs:enumeration value="PrincipalWantsCopy" /> + </xs:restriction> + </xs:simpleType> + + <!-- CalendarItem Types --> + + <xs:simpleType name="ReminderMinutesBeforeStartType"> + <xs:union> + <xs:simpleType id="ReminderMinutesBeforeStartType" > + <xs:restriction base="xs:int"> + <xs:minInclusive value="0" /> + <xs:maxInclusive value="2629800" /> + </xs:restriction> + </xs:simpleType> + <xs:simpleType id="ReminderMinutesBeforeStartMarkerType"> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1525252321" /> + <xs:maxInclusive value="1525252321" /> + </xs:restriction> + </xs:simpleType> + </xs:union> + </xs:simpleType> + + <!-- Enumeration types --> + <xs:simpleType name="AvailabilityStatusType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Unknown" /> + <xs:enumeration value="Free" /> + <xs:enumeration value="Tentative" /> + <xs:enumeration value="Busy" /> + <xs:enumeration value="Oof" /> + <xs:enumeration value="WorkingElsewhere" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="LegacyFreeBusyType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Free" /> + <xs:enumeration value="Tentative" /> + <xs:enumeration value="Busy" /> + <xs:enumeration value="OOF" /> + <xs:enumeration value="WorkingElsewhere" /> + <xs:enumeration value="NoData" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="CalendarItemTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Single" /> + <xs:enumeration value="Occurrence" /> + <xs:enumeration value="Exception" /> + <xs:enumeration value="RecurringMaster" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ResponseTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Unknown" /> + <xs:enumeration value="Organizer" /> + <xs:enumeration value="Tentative" /> + <xs:enumeration value="Accept" /> + <xs:enumeration value="Decline" /> + <xs:enumeration value="NoResponseReceived" /> + </xs:restriction> + </xs:simpleType> + + <!-- Online Meeting type and enums --> + + <xs:complexType name="OnlineMeetingSettingsType"> + <xs:sequence> + <xs:element name="LobbyBypass" type="t:LobbyBypassType" /> + <xs:element name="AccessLevel" type="t:OnlineMeetingAccessLevelType" /> + <xs:element name="Presenters" type="t:PresentersType" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="LobbyBypassType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Disabled" /> + <xs:enumeration value="EnabledForGatewayParticipants" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="OnlineMeetingAccessLevelType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Locked" /> + <xs:enumeration value="Invited" /> + <xs:enumeration value="Internal" /> + <xs:enumeration value="Everyone" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="PresentersType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Disabled" /> + <xs:enumeration value="Internal" /> + <xs:enumeration value="Everyone" /> + </xs:restriction> + </xs:simpleType> + + <!-- Representation of attendees --> + + <xs:complexType name="AttendeeType"> + <xs:sequence> + <xs:element name="Mailbox" type="t:EmailAddressType" /> + <xs:element name="ResponseType" type="t:ResponseTypeType" minOccurs="0" /> + <xs:element name="LastResponseTime" type="xs:dateTime" minOccurs="0" /> + <xs:element name="ProposedStart" type="xs:dateTime" minOccurs="0" /> + <xs:element name="ProposedEnd" type="xs:dateTime" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfAttendeesType"> + <xs:sequence> + <xs:element name="Attendee" type="t:AttendeeType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- Special item ids for interconverting between instances and masters --> + + <xs:complexType name="OccurrenceItemIdType"> + <xs:complexContent> + <xs:extension base="t:BaseItemIdType"> + <xs:attribute name="RecurringMasterId" type="t:DerivedItemIdType" use="required" /> + <xs:attribute name="ChangeKey" type="xs:string" use="optional" /> + <xs:attribute name="InstanceIndex" type="xs:int" use="required" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="RecurringMasterItemIdType"> + <xs:complexContent> + <xs:extension base="t:BaseItemIdType"> + <xs:attribute name="OccurrenceId" type="t:DerivedItemIdType" use="required" /> + <xs:attribute name="ChangeKey" type="xs:string" use="optional" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="RecurringMasterItemIdRangesType"> + <xs:complexContent> + <xs:extension base="t:ItemIdType"> + <xs:sequence> + <xs:element name="Ranges" type="t:ArrayOfOccurrenceRangesType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfOccurrenceRangesType"> + <xs:sequence> + <xs:element name="Range" type="t:OccurrencesRangeType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="OccurrencesRangeType"> + <xs:attribute name="Start" type="xs:dateTime" use="optional" /> + <xs:attribute name="End" type="xs:dateTime" use="optional" /> + <xs:attribute name="Count" type="xs:int" use="optional" /> + <xs:attribute name="CompareOriginalStartTime" type="xs:boolean" use="optional" /> + </xs:complexType> + + <!-- Days of the week and months--> + + <xs:simpleType name="DayOfWeekType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Sunday" /> + <xs:enumeration value="Monday" /> + <xs:enumeration value="Tuesday" /> + <xs:enumeration value="Wednesday" /> + <xs:enumeration value="Thursday" /> + <xs:enumeration value="Friday" /> + <xs:enumeration value="Saturday" /> + <xs:enumeration value="Day" /> + <xs:enumeration value="Weekday" /> + <xs:enumeration value="WeekendDay" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="DaysOfWeekType"> + <xs:list itemType="t:DayOfWeekType" /> + </xs:simpleType> + + <xs:simpleType name="DayOfWeekIndexType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="First" /> + <xs:enumeration value="Second" /> + <xs:enumeration value="Third" /> + <xs:enumeration value="Fourth" /> + <xs:enumeration value="Last" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="MonthNamesType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="January" /> + <xs:enumeration value="February" /> + <xs:enumeration value="March" /> + <xs:enumeration value="April" /> + <xs:enumeration value="May" /> + <xs:enumeration value="June" /> + <xs:enumeration value="July" /> + <xs:enumeration value="August" /> + <xs:enumeration value="September" /> + <xs:enumeration value="October" /> + <xs:enumeration value="November" /> + <xs:enumeration value="December" /> + </xs:restriction> + </xs:simpleType> + + <!-- Recurrence pattern types --> + + <xs:complexType name="RecurrencePatternBaseType" abstract="true" /> + + <xs:complexType name="IntervalRecurrencePatternBaseType" abstract="true"> + <xs:complexContent> + <xs:extension base="t:RecurrencePatternBaseType"> + <xs:sequence> + <xs:element name="Interval" type="xs:int" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- + Base regeneration pattern type for tasks. + --> + + <xs:complexType name="RegeneratingPatternBaseType" abstract="true"> + <xs:complexContent> + <xs:extension base="t:IntervalRecurrencePatternBaseType"/> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="DailyRegeneratingPatternType"> + <xs:complexContent> + <xs:extension base="t:RegeneratingPatternBaseType"/> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="WeeklyRegeneratingPatternType"> + <xs:complexContent> + <xs:extension base="t:RegeneratingPatternBaseType"/> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="MonthlyRegeneratingPatternType"> + <xs:complexContent> + <xs:extension base="t:RegeneratingPatternBaseType"/> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="YearlyRegeneratingPatternType"> + <xs:complexContent> + <xs:extension base="t:RegeneratingPatternBaseType"/> + </xs:complexContent> + </xs:complexType> + + <!-- Realizable Recurrence pattern types --> + + <xs:complexType name="RelativeYearlyRecurrencePatternType"> + <xs:complexContent> + <xs:extension base="t:RecurrencePatternBaseType"> + <xs:sequence> + <xs:element name="DaysOfWeek" type="t:DayOfWeekType" /> + <xs:element name="DayOfWeekIndex" type="t:DayOfWeekIndexType" /> + <xs:element name="Month" type="t:MonthNamesType" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="AbsoluteYearlyRecurrencePatternType"> + <xs:complexContent> + <xs:extension base="t:RecurrencePatternBaseType"> + <xs:sequence> + <xs:element name="DayOfMonth" type="xs:int" /> + <xs:element name="Month" type="t:MonthNamesType" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="RelativeMonthlyRecurrencePatternType"> + <xs:complexContent> + <xs:extension base="t:IntervalRecurrencePatternBaseType"> + <xs:sequence> + <xs:element name="DaysOfWeek" type="t:DayOfWeekType" /> + <xs:element name="DayOfWeekIndex" type="t:DayOfWeekIndexType" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="AbsoluteMonthlyRecurrencePatternType"> + <xs:complexContent> + <xs:extension base="t:IntervalRecurrencePatternBaseType"> + <xs:sequence> + <xs:element name="DayOfMonth" type="xs:int" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="WeeklyRecurrencePatternType"> + <xs:complexContent> + <xs:extension base="t:IntervalRecurrencePatternBaseType"> + <xs:sequence> + <xs:element name="DaysOfWeek" type="t:DaysOfWeekType"/> + <xs:element name="FirstDayOfWeek" type="t:DayOfWeekType" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="DailyRecurrencePatternType"> + <xs:complexContent> + <xs:extension base="t:IntervalRecurrencePatternBaseType" /> + </xs:complexContent> + </xs:complexType> + + <!-- Enhanced location types --> + <xs:simpleType name="LocationSourceType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="LocationServices" /> + <xs:enumeration value="PhonebookServices" /> + <xs:enumeration value="Device" /> + <xs:enumeration value="Contact" /> + <xs:enumeration value="Resource" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="EnhancedLocationType"> + <xs:sequence> + <xs:element name="DisplayName" type="xs:string" /> + <xs:element name="Annotation" type="xs:string" minOccurs="0" /> + <xs:element name="PostalAddress" type="t:PersonaPostalAddressType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <!-- Description of a time zone --> + + <xs:group name="TimeChangePatternTypes"> + <xs:sequence> + <xs:choice> + <xs:element name="RelativeYearlyRecurrence" type="t:RelativeYearlyRecurrencePatternType" /> + <xs:element name="AbsoluteDate" type="xs:date" /> + </xs:choice> + </xs:sequence> + </xs:group> + + <xs:complexType name="TimeChangeType"> + <xs:sequence> + <xs:element name="Offset" type="xs:duration" /> + <xs:group ref="t:TimeChangePatternTypes" minOccurs="0"/> + <xs:element name="Time" type="xs:time" /> + </xs:sequence> + <xs:attribute name="TimeZoneName" type="xs:string" use="optional" /> + </xs:complexType> + + <xs:complexType name="TimeZoneType"> + <xs:sequence minOccurs="0" > + <xs:element name="BaseOffset" type="xs:duration" /> + <xs:sequence minOccurs="0"> + <xs:element name="Standard" type="t:TimeChangeType"/> + <xs:element name="Daylight" type="t:TimeChangeType"/> + </xs:sequence> + </xs:sequence> + <xs:attribute name="TimeZoneName" type="xs:string" use="optional" /> + </xs:complexType> + + <!-- TimeZoneDefinitionContextType for Soap header --> + + <xs:complexType name="TimeZoneContextType"> + <xs:sequence> + <xs:element name="TimeZoneDefinition" type="t:TimeZoneDefinitionType" minOccurs="1"/> + </xs:sequence> + <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/"> + <xs:annotation> + <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation> + </xs:annotation> + </xs:anyAttribute> + </xs:complexType> + + + <xs:element name="TimeZoneContext" type="t:TimeZoneContextType" /> + + <!-- Time zone definition types --> + + <xs:simpleType name="TransitionTargetKindType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Period" /> + <xs:enumeration value="Group" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="TransitionTargetType"> + <xs:simpleContent> + <xs:extension base="xs:string" > + <xs:attribute name="Kind" type="t:TransitionTargetKindType" use="required" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <xs:complexType name="TransitionType" abstract="false"> + <xs:sequence> + <xs:element name="To" type="t:TransitionTargetType" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="AbsoluteDateTransitionType"> + <xs:complexContent> + <xs:extension base="t:TransitionType"> + <xs:sequence> + <xs:element name="DateTime" type="xs:dateTime" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="RecurringTimeTransitionType" abstract="true"> + <xs:complexContent> + <xs:extension base="t:TransitionType"> + <xs:sequence> + <xs:element name="TimeOffset" type="xs:duration" /> + <xs:element name="Month" type="xs:int" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="RecurringDateTransitionType"> + <xs:complexContent> + <xs:extension base="t:RecurringTimeTransitionType"> + <xs:sequence> + <xs:element name="Day" type="xs:int" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="RecurringDayTransitionType"> + <xs:complexContent> + <xs:extension base="t:RecurringTimeTransitionType"> + <xs:sequence> + <xs:element name="DayOfWeek" type="t:DayOfWeekType" /> + <xs:element name="Occurrence" type="xs:int" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:element name="Transition" type="t:TransitionType" /> + <xs:element name="AbsoluteDateTransition" type="t:AbsoluteDateTransitionType" substitutionGroup="t:Transition"/> + <xs:element name="RecurringDayTransition" type="t:RecurringDayTransitionType" substitutionGroup="t:Transition"/> + <xs:element name="RecurringDateTransition" type="t:RecurringDateTransitionType" substitutionGroup="t:Transition"/> + + <!-- TimeZoneDefinition --> + + <xs:complexType name="TimeZoneDefinitionType"> + <xs:sequence minOccurs="0"> + <xs:element name="Periods" type="t:NonEmptyArrayOfPeriodsType" minOccurs="0" /> + <xs:element name="TransitionsGroups" type="t:ArrayOfTransitionsGroupsType" minOccurs="0"/> + <xs:element name="Transitions" type="t:ArrayOfTransitionsType" minOccurs="0" /> + </xs:sequence> + <xs:attribute name="Id" type="xs:string"/> + <xs:attribute name="Name" type="xs:string" /> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfPeriodsType"> + <xs:sequence> + <xs:element name="Period" type="t:PeriodType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PeriodType"> + <xs:attribute name="Bias" type="xs:duration"/> + <xs:attribute name="Name" type="xs:string"/> + <xs:attribute name="Id" type="xs:string"/> + </xs:complexType> + + <xs:complexType name="ArrayOfTransitionsGroupsType"> + <xs:sequence> + <xs:element name="TransitionsGroup" type="t:ArrayOfTransitionsType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfTransitionsType"> + <xs:sequence> + <xs:element ref="t:AbsoluteDateTransition" minOccurs="0" maxOccurs="unbounded" /> + <xs:element ref="t:RecurringDayTransition" minOccurs="0" maxOccurs="unbounded" /> + <xs:element ref="t:RecurringDateTransition" minOccurs="0" maxOccurs="unbounded" /> + <xs:element ref="t:Transition" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + <xs:attribute name="Id" type="xs:string"/> + </xs:complexType> + + <!-- Recurrence range types --> + + <xs:complexType name="RecurrenceRangeBaseType" abstract="true"> + <xs:sequence> + <xs:element name="StartDate" type="xs:date" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NoEndRecurrenceRangeType"> + <xs:complexContent> + <xs:extension base="t:RecurrenceRangeBaseType" /> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="EndDateRecurrenceRangeType"> + <xs:complexContent> + <xs:extension base="t:RecurrenceRangeBaseType"> + <xs:sequence> + <xs:element name="EndDate" type="xs:date" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="NumberedRecurrenceRangeType"> + <xs:complexContent> + <xs:extension base="t:RecurrenceRangeBaseType"> + <xs:sequence> + <xs:element name="NumberOfOccurrences" type="xs:int" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- The real Recurrence type --> + + <xs:group name="RecurrencePatternTypes"> + <xs:sequence> + <xs:choice> + <xs:element name="RelativeYearlyRecurrence" type="t:RelativeYearlyRecurrencePatternType" /> + <xs:element name="AbsoluteYearlyRecurrence" type="t:AbsoluteYearlyRecurrencePatternType" /> + <xs:element name="RelativeMonthlyRecurrence" type="t:RelativeMonthlyRecurrencePatternType" /> + <xs:element name="AbsoluteMonthlyRecurrence" type="t:AbsoluteMonthlyRecurrencePatternType" /> + <xs:element name="WeeklyRecurrence" type="t:WeeklyRecurrencePatternType" /> + <xs:element name="DailyRecurrence" type="t:DailyRecurrencePatternType" /> + </xs:choice> + </xs:sequence> + </xs:group> + + <xs:group name="TaskRecurrencePatternTypes"> + <xs:sequence> + <xs:choice> + <xs:element name="RelativeYearlyRecurrence" type="t:RelativeYearlyRecurrencePatternType"/> + <xs:element name="AbsoluteYearlyRecurrence" type="t:AbsoluteYearlyRecurrencePatternType"/> + <xs:element name="RelativeMonthlyRecurrence" type="t:RelativeMonthlyRecurrencePatternType"/> + <xs:element name="AbsoluteMonthlyRecurrence" type="t:AbsoluteMonthlyRecurrencePatternType"/> + <xs:element name="WeeklyRecurrence" type="t:WeeklyRecurrencePatternType"/> + <xs:element name="DailyRecurrence" type="t:DailyRecurrencePatternType"/> + <xs:element name="DailyRegeneration" type="t:DailyRegeneratingPatternType"/> + <xs:element name="WeeklyRegeneration" type="t:WeeklyRegeneratingPatternType"/> + <xs:element name="MonthlyRegeneration" type="t:MonthlyRegeneratingPatternType"/> + <xs:element name="YearlyRegeneration" type="t:YearlyRegeneratingPatternType"/> + </xs:choice> + </xs:sequence> + </xs:group> + + <xs:group name="RecurrenceRangeTypes"> + <xs:sequence> + <xs:choice> + <xs:element name="NoEndRecurrence" type="t:NoEndRecurrenceRangeType" /> + <xs:element name="EndDateRecurrence" type="t:EndDateRecurrenceRangeType" /> + <xs:element name="NumberedRecurrence" type="t:NumberedRecurrenceRangeType" /> + </xs:choice> + </xs:sequence> + </xs:group> + + <xs:complexType name="RecurrenceType"> + <xs:sequence> + <xs:group ref="t:RecurrencePatternTypes" /> + <xs:group ref="t:RecurrenceRangeTypes" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="TaskRecurrenceType"> + <xs:sequence> + <xs:group ref="t:TaskRecurrencePatternTypes"/> + <xs:group ref="t:RecurrenceRangeTypes"/> + </xs:sequence> + </xs:complexType> + + <!-- Individual occurrences of an expanded Recurrence --> + + <xs:complexType name="OccurrenceInfoType"> + <xs:sequence> + <xs:element name="ItemId" type="t:ItemIdType" /> + <xs:element name="Start" type="xs:dateTime" /> + <xs:element name="End" type="xs:dateTime" /> + <xs:element name="OriginalStart" type="xs:dateTime" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfOccurrenceInfoType"> + <xs:sequence> + <xs:element name="Occurrence" type="t:OccurrenceInfoType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="DeletedOccurrenceInfoType"> + <xs:sequence> + <xs:element name="Start" type="xs:dateTime" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfDeletedOccurrencesType"> + <xs:sequence> + <xs:element name="DeletedOccurrence" type="t:DeletedOccurrenceInfoType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- The main calendar item from which all others derive --> + + <xs:complexType name="CalendarItemType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:sequence> + + <!-- iCalendar properties --> + + <xs:element name="UID" type="xs:string" minOccurs="0" /> + <xs:element name="RecurrenceId" type="xs:dateTime" minOccurs="0" /> + <xs:element name="DateTimeStamp" type="xs:dateTime" minOccurs="0" /> + + <!-- Single and Occurrence only --> + + <xs:element name="Start" type="xs:dateTime" minOccurs="0" /> + <xs:element name="End" type="xs:dateTime" minOccurs="0" /> + + <!-- Occurrence only --> + + <xs:element name="OriginalStart" type="xs:dateTime" minOccurs="0" /> + + <xs:element name="IsAllDayEvent" type="xs:boolean" minOccurs="0" /> + <xs:element name="LegacyFreeBusyStatus" type="t:LegacyFreeBusyType" minOccurs="0" /> + <xs:element name="Location" type="xs:string" minOccurs="0" /> + <xs:element name="When" type="xs:string" minOccurs="0" /> + <xs:element name="IsMeeting" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsCancelled" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsRecurring" type="xs:boolean" minOccurs="0" /> + <xs:element name="MeetingRequestWasSent" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsResponseRequested" type="xs:boolean" minOccurs="0" /> + <xs:element name="CalendarItemType" type="t:CalendarItemTypeType" minOccurs="0" /> + <xs:element name="MyResponseType" type="t:ResponseTypeType" minOccurs="0" /> + <xs:element name="Organizer" type="t:SingleRecipientType" minOccurs="0" /> + <xs:element name="RequiredAttendees" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0" /> + <xs:element name="OptionalAttendees" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0" /> + <xs:element name="Resources" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0" /> + <xs:element name="InboxReminders" type="t:ArrayOfInboxReminderType" minOccurs="0" /> + + <!-- Conflicting and adjacent meetings --> + + <xs:element name="ConflictingMeetingCount" type="xs:int" minOccurs="0" /> + <xs:element name="AdjacentMeetingCount" type="xs:int" minOccurs="0" /> + <xs:element name="ConflictingMeetings" type="t:NonEmptyArrayOfAllItemsType" minOccurs="0" /> + <xs:element name="AdjacentMeetings" type="t:NonEmptyArrayOfAllItemsType" minOccurs="0" /> + + <xs:element name="Duration" type="xs:string" minOccurs="0" /> + <xs:element name="TimeZone" type="xs:string" minOccurs="0" /> + + <xs:element name="AppointmentReplyTime" type="xs:dateTime" minOccurs="0" /> + <xs:element name="AppointmentSequenceNumber" type="xs:int" minOccurs="0" /> + <xs:element name="AppointmentState" type="xs:int" minOccurs="0" /> + + <!-- Recurrence specific data, only valid if CalendarItemType is RecurringMaster --> + + <xs:element name="Recurrence" type="t:RecurrenceType" minOccurs="0" /> + <xs:element name="FirstOccurrence" type="t:OccurrenceInfoType" minOccurs="0" /> + <xs:element name="LastOccurrence" type="t:OccurrenceInfoType" minOccurs="0" /> + <xs:element name="ModifiedOccurrences" type="t:NonEmptyArrayOfOccurrenceInfoType" minOccurs="0" /> + <xs:element name="DeletedOccurrences" type="t:NonEmptyArrayOfDeletedOccurrencesType" minOccurs="0" /> + <xs:element name="MeetingTimeZone" type="t:TimeZoneType" minOccurs="0"/> + <xs:element name="StartTimeZone" type="t:TimeZoneDefinitionType" minOccurs="0" maxOccurs="1" /> + <xs:element name="EndTimeZone" type="t:TimeZoneDefinitionType" minOccurs="0" maxOccurs="1" /> + + <xs:element name="ConferenceType" type="xs:int" minOccurs="0" /> + <xs:element name="AllowNewTimeProposal" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsOnlineMeeting" type="xs:boolean" minOccurs="0" /> + <xs:element name="MeetingWorkspaceUrl" type="xs:string" minOccurs="0" /> + <xs:element name="NetShowUrl" type="xs:string" minOccurs="0" /> + <xs:element name="EnhancedLocation" type="t:EnhancedLocationType" minOccurs="0" /> + + <xs:element name="StartWallClock" type="xs:dateTime" minOccurs="0" maxOccurs="1" /> + <xs:element name="EndWallClock" type="xs:dateTime" minOccurs="0" maxOccurs="1" /> + <xs:element name="StartTimeZoneId" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="EndTimeZoneId" type="xs:string" minOccurs="0" maxOccurs="1" /> + + <xs:element name="IntendedFreeBusyStatus" type="t:LegacyFreeBusyType" minOccurs="0" /> + + <xs:element name="JoinOnlineMeetingUrl" type="xs:string" minOccurs="0" maxOccurs="1" /> + + <xs:element name="OnlineMeetingSettings" type="t:OnlineMeetingSettingsType" minOccurs="0" maxOccurs="1"/> + <xs:element name="IsOrganizer" type="xs:boolean" minOccurs="0" /> + <xs:element name="CalendarActivityData" type="t:CalendarActivityDataType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Getting occurrences from Recurring masters and vice versa --> + + <!--Meeting invitation--> + + <xs:complexType name="MeetingMessageType"> + <xs:complexContent> + <xs:extension base="t:MessageType"> + <xs:sequence> + <xs:element name="AssociatedCalendarItemId" type="t:ItemIdType" minOccurs="0"/> + <xs:element name="IsDelegated" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsOutOfDate" type="xs:boolean" minOccurs="0" /> + <xs:element name="HasBeenProcessed" type="xs:boolean" minOccurs="0" /> + + <!-- Meeting response related properties --> + + <xs:element name="ResponseType" type="t:ResponseTypeType" minOccurs="0" /> + + <!-- iCalendar properties --> + + <xs:element name="UID" type="xs:string" minOccurs="0" /> + <xs:element name="RecurrenceId" type="xs:dateTime" minOccurs="0" /> + <xs:element name="DateTimeStamp" type="xs:dateTime" minOccurs="0" /> + + <xs:element name="IsOrganizer" type="xs:boolean" minOccurs="0" /> + + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!--ChangeHighlights--> + <xs:complexType name="ChangeHighlightsType"> + <xs:sequence> + <xs:element name="HasLocationChanged" type="xs:boolean" minOccurs="0" /> + <xs:element name="Location" type="xs:string" minOccurs="0" /> + <xs:element name="HasStartTimeChanged" type="xs:boolean" minOccurs="0" /> + <xs:element name="Start" type="xs:dateTime" minOccurs="0" /> + <xs:element name="HasEndTimeChanged" type="xs:boolean" minOccurs="0" /> + <xs:element name="End" type="xs:dateTime" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MeetingRequestMessageType"> + <xs:complexContent> + <xs:extension base="t:MeetingMessageType"> + <xs:sequence> + <!--- MeetingRequest properties --> + + <xs:element name="MeetingRequestType" type="t:MeetingRequestTypeType" minOccurs="0" /> + <xs:element name="IntendedFreeBusyStatus" type="t:LegacyFreeBusyType" minOccurs="0" /> + + <!-- Calendar Properties of the associated meeting request --> + + <!-- Single and Occurrence only --> + + <xs:element name="Start" type="xs:dateTime" minOccurs="0" /> + <xs:element name="End" type="xs:dateTime" minOccurs="0" /> + + <!-- Occurrence only --> + + <xs:element name="OriginalStart" type="xs:dateTime" minOccurs="0" /> + + <xs:element name="IsAllDayEvent" type="xs:boolean" minOccurs="0" /> + <xs:element name="LegacyFreeBusyStatus" type="t:LegacyFreeBusyType" minOccurs="0" /> + <xs:element name="Location" type="xs:string" minOccurs="0" /> + <xs:element name="When" type="xs:string" minOccurs="0" /> + <xs:element name="IsMeeting" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsCancelled" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsRecurring" type="xs:boolean" minOccurs="0" /> + <xs:element name="MeetingRequestWasSent" type="xs:boolean" minOccurs="0" /> + <xs:element name="CalendarItemType" type="t:CalendarItemTypeType" minOccurs="0" /> + <xs:element name="MyResponseType" type="t:ResponseTypeType" minOccurs="0" /> + <xs:element name="Organizer" type="t:SingleRecipientType" minOccurs="0" /> + <xs:element name="RequiredAttendees" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0" /> + <xs:element name="OptionalAttendees" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0" /> + <xs:element name="Resources" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0" /> + + <!-- Conflicting and adjacent meetings --> + + <xs:element name="ConflictingMeetingCount" type="xs:int" minOccurs="0" /> + <xs:element name="AdjacentMeetingCount" type="xs:int" minOccurs="0" /> + <xs:element name="ConflictingMeetings" type="t:NonEmptyArrayOfAllItemsType" minOccurs="0" /> + <xs:element name="AdjacentMeetings" type="t:NonEmptyArrayOfAllItemsType" minOccurs="0" /> + + <xs:element name="Duration" type="xs:string" minOccurs="0" /> + <xs:element name="TimeZone" type="xs:string" minOccurs="0" /> + + <xs:element name="AppointmentReplyTime" type="xs:dateTime" minOccurs="0" /> + <xs:element name="AppointmentSequenceNumber" type="xs:int" minOccurs="0" /> + <xs:element name="AppointmentState" type="xs:int" minOccurs="0" /> + + <!-- Recurrence specific data, only valid if CalendarItemType is RecurringMaster --> + + <xs:element name="Recurrence" type="t:RecurrenceType" minOccurs="0" /> + <xs:element name="FirstOccurrence" type="t:OccurrenceInfoType" minOccurs="0" /> + <xs:element name="LastOccurrence" type="t:OccurrenceInfoType" minOccurs="0" /> + <xs:element name="ModifiedOccurrences" type="t:NonEmptyArrayOfOccurrenceInfoType" minOccurs="0" /> + <xs:element name="DeletedOccurrences" type="t:NonEmptyArrayOfDeletedOccurrencesType" minOccurs="0" /> + <xs:element name="MeetingTimeZone" type="t:TimeZoneType" minOccurs="0" /> + <xs:element name="StartTimeZone" type="t:TimeZoneDefinitionType" minOccurs="0" maxOccurs="1" /> + <xs:element name="EndTimeZone" type="t:TimeZoneDefinitionType" minOccurs="0" maxOccurs="1" /> + + <xs:element name="ConferenceType" type="xs:int" minOccurs="0" /> + <xs:element name="AllowNewTimeProposal" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsOnlineMeeting" type="xs:boolean" minOccurs="0" /> + <xs:element name="MeetingWorkspaceUrl" type="xs:string" minOccurs="0" /> + <xs:element name="NetShowUrl" type="xs:string" minOccurs="0" /> + <xs:element name="EnhancedLocation" type="t:EnhancedLocationType" minOccurs="0" /> + <xs:element name="ChangeHighlights" type="t:ChangeHighlightsType" minOccurs="0" /> + + <xs:element name="StartWallClock" type="xs:dateTime" minOccurs="0" maxOccurs="1" /> + <xs:element name="EndWallClock" type="xs:dateTime" minOccurs="0" maxOccurs="1" /> + <xs:element name="StartTimeZoneId" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="EndTimeZoneId" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="MeetingResponseMessageType"> + <xs:complexContent> + <xs:extension base="t:MeetingMessageType"> + <xs:sequence> + <xs:element name="Start" type="xs:dateTime" minOccurs="0" /> + <xs:element name="End" type="xs:dateTime" minOccurs="0" /> + <xs:element name="Location" type="xs:string" minOccurs="0" /> + <xs:element name="Recurrence" type="t:RecurrenceType" minOccurs="0" /> + <xs:element name="CalendarItemType" type="xs:string" minOccurs="0" /> + <xs:element name="ProposedStart" type="xs:dateTime" minOccurs="0" /> + <xs:element name="ProposedEnd" type="xs:dateTime" minOccurs="0" /> + <xs:element name="EnhancedLocation" type="t:EnhancedLocationType" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="MeetingCancellationMessageType"> + <xs:complexContent> + <xs:extension base="t:MeetingMessageType"> + <xs:sequence> + <xs:element name="Start" type="xs:dateTime" minOccurs="0" /> + <xs:element name="End" type="xs:dateTime" minOccurs="0" /> + <xs:element name="Location" type="xs:string" minOccurs="0" /> + <xs:element name="Recurrence" type="t:RecurrenceType" minOccurs="0" /> + <xs:element name="CalendarItemType" type="xs:string" minOccurs="0" /> + <xs:element name="EnhancedLocation" type="t:EnhancedLocationType" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- End of CalendarItem Types --> + + <!-- Contacts Types --> + + <xs:simpleType name="RoleMemberTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="Passport" /> + <xs:enumeration value="Everyone" /> + <xs:enumeration value="Email" /> + <xs:enumeration value="Phone" /> + <xs:enumeration value="SkypeId" /> + <xs:enumeration value="ExternalId" /> + <xs:enumeration value="Group" /> + <xs:enumeration value="Guid" /> + <xs:enumeration value="Role" /> + <xs:enumeration value="Service" /> + <xs:enumeration value="Circle" /> + <xs:enumeration value="Domain" /> + <xs:enumeration value="Partner" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ImAddressKeyType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ImAddress1" /> + <xs:enumeration value="ImAddress2" /> + <xs:enumeration value="ImAddress3" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="EmailAddressKeyType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="EmailAddress1" /> + <xs:enumeration value="EmailAddress2" /> + <xs:enumeration value="EmailAddress3" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="AbchEmailAddressTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Personal" /> + <xs:enumeration value="Business" /> + <xs:enumeration value="Other" /> + <xs:enumeration value="Passport" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ContactUrlKeyType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Personal" /> + <xs:enumeration value="Business" /> + <xs:enumeration value="Attachment" /> + <xs:enumeration value="EbcDisplayDefinition" /> + <xs:enumeration value="EbcFinalImage" /> + <xs:enumeration value="EbcLogo" /> + <xs:enumeration value="Feed" /> + <xs:enumeration value="Image" /> + <xs:enumeration value="InternalMarker" /> + <xs:enumeration value="Other" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="PhoneNumberKeyType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AssistantPhone" /> + <xs:enumeration value="BusinessFax" /> + <xs:enumeration value="BusinessPhone" /> + <xs:enumeration value="BusinessPhone2" /> + <xs:enumeration value="Callback" /> + <xs:enumeration value="CarPhone" /> + <xs:enumeration value="CompanyMainPhone" /> + <xs:enumeration value="HomeFax" /> + <xs:enumeration value="HomePhone" /> + <xs:enumeration value="HomePhone2" /> + <xs:enumeration value="Isdn" /> + <xs:enumeration value="MobilePhone" /> + <xs:enumeration value="OtherFax" /> + <xs:enumeration value="OtherTelephone" /> + <xs:enumeration value="Pager" /> + <xs:enumeration value="PrimaryPhone" /> + <xs:enumeration value="RadioPhone" /> + <xs:enumeration value="Telex" /> + <xs:enumeration value="TtyTddPhone" /> + <xs:enumeration value="BusinessMobile" /> + <xs:enumeration value="IPPhone" /> + <xs:enumeration value="Mms" /> + <xs:enumeration value="Msn" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="PhysicalAddressIndexType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="Home" /> + <xs:enumeration value="Business" /> + <xs:enumeration value="Other" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="PhysicalAddressKeyType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Home" /> + <xs:enumeration value="Business" /> + <xs:enumeration value="Other" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="FileAsMappingType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="LastCommaFirst" /> + <xs:enumeration value="FirstSpaceLast" /> + <xs:enumeration value="Company" /> + <xs:enumeration value="LastCommaFirstCompany" /> + <xs:enumeration value="CompanyLastFirst" /> + <xs:enumeration value="LastFirst" /> + <xs:enumeration value="LastFirstCompany" /> + <xs:enumeration value="CompanyLastCommaFirst" /> + <xs:enumeration value="LastFirstSuffix" /> + <xs:enumeration value="LastSpaceFirstCompany" /> + <xs:enumeration value="CompanyLastSpaceFirst" /> + <xs:enumeration value="LastSpaceFirst" /> + <xs:enumeration value="DisplayName" /> + <xs:enumeration value="FirstName" /> + <xs:enumeration value="LastFirstMiddleSuffix" /> + <xs:enumeration value="LastName" /> + <xs:enumeration value="Empty" /> + </xs:restriction> + </xs:simpleType> + + <!-- Contact source --> + + <xs:simpleType name="ContactSourceType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ActiveDirectory" /> + <xs:enumeration value="Store" /> + </xs:restriction> + </xs:simpleType> + + <!-- complete name for a contact --> + + <xs:complexType name="CompleteNameType"> + <xs:sequence> + <xs:element name="Title" type="xs:string" minOccurs="0" /> + <xs:element name="FirstName" type="xs:string" minOccurs="0" /> + <xs:element name="MiddleName" type="xs:string" minOccurs="0" /> + <xs:element name="LastName" type="xs:string" minOccurs="0" /> + <xs:element name="Suffix" type="xs:string" minOccurs="0" /> + <xs:element name="Initials" type="xs:string" minOccurs="0" /> + <xs:element name="FullName" type="xs:string" minOccurs="0" /> + <xs:element name="Nickname" type="xs:string" minOccurs="0" /> + <xs:element name="YomiFirstName" type="xs:string" minOccurs="0" /> + <xs:element name="YomiLastName" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <!-- Dictionary types for items --> + + <xs:complexType name="ImAddressDictionaryEntryType"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Key" type="t:ImAddressKeyType" use="required" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + + <xs:complexType name="ContactUrlDictionaryEntryType"> + <xs:sequence> + <xs:element name="Type" type="t:ContactUrlKeyType" minOccurs="1" /> + <xs:element name="Name" type="xs:string" minOccurs="0" /> + <xs:element name="Address" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="AbchEmailAddressDictionaryEntryType"> + <xs:sequence> + <xs:element name="Type" type="t:AbchEmailAddressTypeType" minOccurs="1" /> + <xs:element name="Address" type="xs:string" minOccurs="1" /> + <xs:element name="IsMessengerEnabled" type="xs:boolean" minOccurs="0" /> + <xs:element name="Capabilities" type="xs:long" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="EmailAddressDictionaryEntryType"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Key" type="t:EmailAddressKeyType" use="required" /> + <xs:attribute name="Name" type="xs:string" use="optional" /> + <xs:attribute name="RoutingType" type="xs:string" use="optional" /> + <xs:attribute name="MailboxType" type="t:MailboxTypeType" use="optional" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <xs:complexType name="PhoneNumberDictionaryEntryType"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Key" type="t:PhoneNumberKeyType" use="required" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <xs:complexType name="PhysicalAddressDictionaryEntryType"> + <xs:sequence> + <xs:element name="Street" type="xs:string" minOccurs="0" /> + <xs:element name="City" type="xs:string" minOccurs="0" /> + <xs:element name="State" type="xs:string" minOccurs="0" /> + <xs:element name="CountryOrRegion" type="xs:string" minOccurs="0" /> + <xs:element name="PostalCode" type="xs:string" minOccurs="0" /> + </xs:sequence> + <xs:attribute name="Key" type="t:PhysicalAddressKeyType" use="required" /> + </xs:complexType> + + <!-- The actual dictionaries --> + + <xs:complexType name="ContactUrlDictionaryType"> + <xs:sequence> + <xs:element name="Url" type="t:ContactUrlDictionaryEntryType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="AbchEmailAddressDictionaryType"> + <xs:sequence> + <xs:element name="Email" type="t:AbchEmailAddressDictionaryEntryType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ImAddressDictionaryType"> + <xs:sequence> + <xs:element name="Entry" type="t:ImAddressDictionaryEntryType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="EmailAddressDictionaryType"> + <xs:sequence> + <xs:element name="Entry" type="t:EmailAddressDictionaryEntryType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PhoneNumberDictionaryType"> + <xs:sequence> + <xs:element name="Entry" type="t:PhoneNumberDictionaryEntryType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PhysicalAddressDictionaryType"> + <xs:sequence> + <xs:element name="Entry" type="t:PhysicalAddressDictionaryEntryType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="MemberStatusType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Unrecognized" /> + <xs:enumeration value="Normal" /> + <xs:enumeration value="Demoted" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="MembersListType"> + <xs:sequence> + <xs:element name="Member" type="t:MemberType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MemberType"> + <xs:sequence> + <xs:element name="Mailbox" type="t:EmailAddressType" minOccurs="0" /> + <xs:element name="Status" type="t:MemberStatusType" minOccurs="0" /> + </xs:sequence> + <xs:attribute name="Key" type="xs:string" use="optional" /> + </xs:complexType> + + <xs:complexType name="RoleMemberItemType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:sequence> + <xs:element name="DisplayName" type="xs:string" minOccurs="0" /> + <xs:element name="Type" type="t:RoleMemberTypeType" minOccurs="0" /> + <xs:element name="MemberId" type="xs:string" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="NetworkItemType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:sequence> + <xs:element name="DomainId" type="xs:int" minOccurs="0" /> + <xs:element name="DomainTag" type="xs:string" minOccurs="0" /> + <xs:element name="UserTileUrl" type="xs:string" minOccurs="0" /> + <xs:element name="ProfileUrl" type="xs:string" minOccurs="0" /> + <xs:element name="Settings" type="xs:int" minOccurs="0" /> + <xs:element name="IsDefault" type="xs:boolean" minOccurs="0" /> + <xs:element name="AutoLinkError" type="xs:string" minOccurs="0" /> + <xs:element name="AutoLinkSuccess" type="xs:string" minOccurs="0" /> + <xs:element name="UserEmail" type="xs:string" minOccurs="0" /> + <xs:element name="ClientPublishSecret" type="xs:string" minOccurs="0" /> + <xs:element name="ClientToken" type="xs:string" minOccurs="0" /> + <xs:element name="ClientToken2" type="xs:string" minOccurs="0" /> + <xs:element name="ContactSyncError" type="xs:string" minOccurs="0" /> + <xs:element name="ContactSyncSuccess" type="xs:string" minOccurs="0" /> + <xs:element name="ErrorOffers" type="xs:int" minOccurs="0" /> + <xs:element name="FirstAuthErrorDates" type="xs:string" minOccurs="0" /> + <xs:element name="LastVersionSaved" type="xs:int" minOccurs="0" /> + <xs:element name="LastWelcomeContact" type="xs:string" minOccurs="0" /> + <xs:element name="Offers" type="xs:int" minOccurs="0" /> + <xs:element name="PsaLastChanged" type="xs:dateTime" minOccurs="0" /> + <xs:element name="RefreshToken2" type="xs:string" minOccurs="0" /> + <xs:element name="RefreshTokenExpiry2" type="xs:string" minOccurs="0" /> + <xs:element name="SessionHandle" type="xs:string" minOccurs="0" /> + <xs:element name="RejectedOffers" type="xs:int" minOccurs="0" /> + <xs:element name="SyncEnabled" type="xs:boolean" minOccurs="0" /> + <xs:element name="TokenRefreshLastAttempted" type="xs:dateTime" minOccurs="0" /> + <xs:element name="TokenRefreshLastCompleted" type="xs:dateTime" minOccurs="0" /> + <xs:element name="PsaState" type="xs:string" minOccurs="0" /> + <xs:element name="SourceEntryID" type="xs:base64Binary" minOccurs="0" /> + <xs:element name="AccountName" type="xs:string" minOccurs="0" /> + <xs:element name="LastSync" type="xs:dateTime" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="AbchPersonItemType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:sequence> + <xs:element name="AntiLinkInfo" type="xs:string" minOccurs="0" /> + <xs:element name="PersonId" type="t:GuidType" minOccurs="0" /> + <xs:element name="ContactHandles" type="t:ArrayOfAbchPersonContactHandlesType" minOccurs="0" /> + <xs:element name="ContactCategories" type="t:ArrayOfStringsType" minOccurs="0" /> + <xs:element name="RelevanceOrder1" type="xs:string" minOccurs="0" /> + <xs:element name="RelevanceOrder2" type="xs:string" minOccurs="0" /> + <xs:element name="TrustLevel" type="xs:int" minOccurs="0" /> + <xs:element name="FavoriteOrder" type="xs:int" minOccurs="0" /> + <xs:element name="ExchangePersonIdGuid" type="t:GuidType" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfAbchPersonContactHandlesType"> + <xs:sequence> + <xs:element name="ContactHandle" type="t:AbchPersonContactHandle" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="AbchPersonContactHandle"> + <xs:sequence> + <xs:element name="SourceId" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="ObjectId" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="AccountName" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfGuidType"> + <xs:sequence> + <xs:element name="Guid" type="t:GuidType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- ContactItemType --> + + <xs:complexType name="ContactItemType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:sequence> + <xs:element name="FileAs" type="xs:string" minOccurs="0" /> + <xs:element name="FileAsMapping" type="t:FileAsMappingType" minOccurs="0" /> + <xs:element name="DisplayName" type="xs:string" minOccurs="0" /> + <xs:element name="GivenName" type="xs:string" minOccurs="0" /> + <xs:element name="Initials" type="xs:string" minOccurs="0" /> + <xs:element name="MiddleName" type="xs:string" minOccurs="0" /> + <xs:element name="Nickname" type="xs:string" minOccurs="0" /> + <xs:element name="CompleteName" type="t:CompleteNameType" minOccurs="0" /> + <xs:element name="CompanyName" type="xs:string" minOccurs="0" /> + <xs:element name="EmailAddresses" type="t:EmailAddressDictionaryType" minOccurs="0" /> + <xs:element name="AbchEmailAddresses" type="t:AbchEmailAddressDictionaryType" minOccurs="0" /> + <xs:element name="PhysicalAddresses" type="t:PhysicalAddressDictionaryType" minOccurs="0" /> + <xs:element name="PhoneNumbers" type="t:PhoneNumberDictionaryType" minOccurs="0" /> + <xs:element name="AssistantName" type="xs:string" minOccurs="0" /> + <xs:element name="Birthday" type="xs:dateTime" minOccurs="0" /> + <xs:element name="BusinessHomePage" type="xs:anyURI" minOccurs="0" /> + <xs:element name="Children" type="t:ArrayOfStringsType" minOccurs="0" /> + <xs:element name="Companies" type="t:ArrayOfStringsType" minOccurs="0" /> + <xs:element name="ContactSource" type="t:ContactSourceType" minOccurs="0" /> + <xs:element name="Department" type="xs:string" minOccurs="0" /> + <xs:element name="Generation" type="xs:string" minOccurs="0" /> + <xs:element name="ImAddresses" type="t:ImAddressDictionaryType" minOccurs="0" /> + <xs:element name="JobTitle" type="xs:string" minOccurs="0" /> + <xs:element name="Manager" type="xs:string" minOccurs="0" /> + <xs:element name="Mileage" type="xs:string" minOccurs="0" /> + <xs:element name="OfficeLocation" type="xs:string" minOccurs="0" /> + <xs:element name="PostalAddressIndex" type="t:PhysicalAddressIndexType" minOccurs="0" /> + <xs:element name="Profession" type="xs:string" minOccurs="0" /> + <xs:element name="SpouseName" type="xs:string" minOccurs="0" /> + <xs:element name="Surname" type="xs:string" minOccurs="0" /> + <xs:element name="WeddingAnniversary" type="xs:dateTime" minOccurs="0" /> + <xs:element name="HasPicture" type="xs:boolean" minOccurs="0" /> + <xs:element name="PhoneticFullName" type="xs:string" minOccurs="0" /> + <xs:element name="PhoneticFirstName" type="xs:string" minOccurs="0" /> + <xs:element name="PhoneticLastName" type="xs:string" minOccurs="0" /> + <xs:element name="Alias" type="xs:string" minOccurs="0" /> + <xs:element name="Notes" type="xs:string" minOccurs="0" /> + <xs:element name="Photo" type="xs:base64Binary" minOccurs="0" /> + <xs:element name="UserSMIMECertificate" type="t:ArrayOfBinaryType" minOccurs="0" /> + <xs:element name="MSExchangeCertificate" type="t:ArrayOfBinaryType" minOccurs="0" /> + <xs:element name="DirectoryId" type="xs:string" minOccurs="0" /> + <xs:element name="ManagerMailbox" type="t:SingleRecipientType" minOccurs="0" /> + <xs:element name="DirectReports" type="t:ArrayOfRecipientsType" minOccurs="0" /> + <xs:element name="AccountName" type="xs:string" minOccurs="0" /> + <xs:element name="IsAutoUpdateDisabled" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsMessengerEnabled" type="xs:boolean" minOccurs="0" /> + <xs:element name="Comment" type="xs:string" minOccurs="0" /> + <xs:element name="ContactShortId" type="xs:int" minOccurs="0" /> + <xs:element name="ContactType" type="xs:string" minOccurs="0" /> + <xs:element name="Gender" type="xs:string" minOccurs="0" /> + <xs:element name="IsHidden" type="xs:boolean" minOccurs="0" /> + <xs:element name="ObjectId" type="xs:string" minOccurs="0" /> + <xs:element name="PassportId" type="xs:long" minOccurs="0" /> + <xs:element name="IsPrivate" type="xs:boolean" minOccurs="0" /> + <xs:element name="SourceId" type="xs:string" minOccurs="0" /> + <xs:element name="TrustLevel" type="xs:int" minOccurs="0" /> + <xs:element name="CreatedBy" type="xs:string" minOccurs="0" /> + <xs:element name="Urls" type="t:ContactUrlDictionaryType" minOccurs="0" /> + <xs:element name="Cid" type="xs:long" minOccurs="0" /> + <xs:element name="SkypeAuthCertificate" type="xs:string" minOccurs="0" /> + <xs:element name="SkypeContext" type="xs:string" minOccurs="0" /> + <xs:element name="SkypeId" type="xs:string" minOccurs="0" /> + <xs:element name="SkypeRelationship" type="xs:string" minOccurs="0" /> + <xs:element name="YomiNickname" type="xs:string" minOccurs="0" /> + <xs:element name="XboxLiveTag" type="xs:string" minOccurs="0" /> + <xs:element name="InviteFree" type="xs:boolean" minOccurs="0" /> + <xs:element name="HidePresenceAndProfile" type="xs:boolean" minOccurs="0" /> + <xs:element name="IsPendingOutbound" type="xs:boolean" minOccurs="0" /> + <xs:element name="SupportGroupFeeds" type="xs:boolean" minOccurs="0" /> + <xs:element name="UserTileHash" type="xs:string" minOccurs="0" /> + <xs:element name="UnifiedInbox" type="xs:boolean" minOccurs="0" /> + <xs:element name="Mris" type="t:ArrayOfStringsType" minOccurs="0" /> + <xs:element name="Wlid" type="xs:string" minOccurs="0" /> + <xs:element name="AbchContactId" type="t:GuidType" minOccurs="0" /> + <xs:element name="NotInBirthdayCalendar" type="xs:boolean" minOccurs="0" /> + <xs:element name="ShellContactType" type="xs:string" minOccurs="0" /> + <xs:element name="ImMri" type="xs:string" minOccurs="0" /> + <xs:element name="PresenceTrustLevel" type="xs:int" minOccurs="0" /> + <xs:element name="OtherMri" type="xs:string" minOccurs="0" /> + <xs:element name="ProfileLastChanged" type="xs:string" minOccurs="0" /> + <xs:element name="MobileIMEnabled" type="xs:boolean" minOccurs="0" /> + <xs:element name="PartnerNetworkProfilePhotoUrl" type="xs:string" minOccurs="0" /> + <xs:element name="PartnerNetworkThumbnailPhotoUrl" type="xs:string" minOccurs="0" /> + <xs:element name="PersonId" type="xs:string" minOccurs="0" /> + <xs:element name="ConversationGuid" type="t:GuidType" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfBinaryType"> + <xs:sequence> + <xs:element name="Base64Binary" type="xs:base64Binary" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- ContactItemType --> + + <xs:complexType name="DistributionListType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:sequence> + <xs:element name="DisplayName" type="xs:string" minOccurs="0" /> + <xs:element name="FileAs" type="xs:string" minOccurs="0" /> + <xs:element name="ContactSource" type="t:ContactSourceType" minOccurs="0" /> + + <xs:element name="Members" type="t:MembersListType" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- End of Contacts Types--> + + <!-- Description of a search folder --> + + <xs:complexType name="SearchParametersType"> + <xs:sequence> + <xs:element name="Restriction" type="t:RestrictionType" /> + <xs:element name="BaseFolderIds" type="t:NonEmptyArrayOfBaseFolderIdsType" /> + </xs:sequence> + <xs:attribute name="Traversal" type="t:SearchFolderTraversalType" use="optional"/> + </xs:complexType> + + <!-- Search expressions --> + <xs:complexType name="ConstantValueType"> + <xs:attribute name="Value" type="xs:string" use="required" /> + </xs:complexType> + + <!-- Search expression type --> + <xs:complexType name="SearchExpressionType" abstract="true" /> + <xs:element name="SearchExpression" type="t:SearchExpressionType" /> + + <!-- GroupBy types for FindItem --> + <xs:simpleType name="AggregateType"> + <xs:annotation> + <xs:documentation> + This max/min evaluation is applied to the field specified within the group by + instance for EACH item within that group. This determines which item from each group + is to be selected as the representative for that group. + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Minimum"/> + <xs:enumeration value="Maximum"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="AggregateOnType"> + <xs:annotation> + <xs:documentation> + Represents the field of each item to aggregate on and the qualifier to apply to that + field in determining which item will represent the group. + </xs:documentation> + </xs:annotation> + <xs:choice> + <!-- Note that the property path here determines which property to examine on each item + in the group for the aggregation function. This has nothing to do with definition what + is in each group. That determination has already been made via the GroupBy property path. + --> + <xs:element name="FieldURI" type="t:PathToUnindexedFieldType"/> + <xs:element name="IndexedFieldURI" type="t:PathToIndexedFieldType"/> + <xs:element name="ExtendedFieldURI" type="t:PathToExtendedFieldType"/> + </xs:choice> + <xs:attribute name="Aggregate" type="t:AggregateType" use="required"/> + </xs:complexType> + + <xs:complexType name="BaseGroupByType" abstract ="true"> + <xs:attribute name="Order" type="t:SortDirectionType" use="required"/> + </xs:complexType> + + <xs:complexType name="GroupByType"> + <xs:annotation> + <xs:documentation> + Allows consumers to specify arbitrary groupings for FindItem queries. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:BaseGroupByType"> + <xs:sequence> + <!-- This property path represents the property that defines what is in each group. + All items within a given group will have the same value for this property. --> + <xs:choice> + <xs:element name="FieldURI" type="t:PathToUnindexedFieldType"/> + <xs:element name="IndexedFieldURI" type="t:PathToIndexedFieldType"/> + <xs:element name="ExtendedFieldURI" type="t:PathToExtendedFieldType"/> + </xs:choice> + <xs:element name="AggregateOn" type="t:AggregateOnType"/> + <xs:element name="UseCollapsibleGroups" type="xs:boolean" minOccurs="0"/> + <xs:element name="ItemsPerGroup" type="xs:nonNegativeInteger" minOccurs="0" /> + <xs:element name="MaxItemsPerGroup" type="xs:nonNegativeInteger" minOccurs="0" /> + <xs:element name="GroupsToExpand" type="t:ArrayOfGroupIdType" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:simpleType name="StandardGroupByType"> + <xs:annotation> + <xs:documentation> + Represents standard groupings for GroupBy queries. + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="ConversationTopic"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="DistinguishedGroupByType"> + <xs:annotation> + <xs:documentation> + Allows consumers to access standard groupings for FindItem queries. This is in + contrast to the arbitrary (custom) groupings available via the t:GroupByType + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:BaseGroupByType"> + <xs:sequence> + <xs:element name="StandardGroupBy" type="t:StandardGroupByType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfGroupIdType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="GroupId" type="xs:base64Binary"/> + </xs:choice> + </xs:complexType> + + <!-- GroupBy result types --> + + <xs:complexType name="GroupedItemsType"> + <xs:sequence> + <xs:element name="GroupIndex" type="xs:string"/> + <xs:element name="Items" type="t:ArrayOfRealItemsType"/> + <xs:element name="GroupSummary" type="t:GroupSummaryType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfGroupedItemsType"> + <xs:choice> + <xs:element name="GroupedItems" type="t:GroupedItemsType" minOccurs="0" maxOccurs="unbounded"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="GroupSummaryType"> + <xs:sequence> + <xs:element name="GroupCount" type="xs:int" /> + <xs:element name="UnreadCount" type="xs:int" /> + <xs:element name="InstanceKey" type="xs:base64Binary" /> + <xs:element name="GroupByValue" type="xs:string" /> + </xs:sequence> + </xs:complexType> + + <!-- Basic arithmetic operations --> + + <xs:complexType name="ExistsType"> + <xs:complexContent> + <xs:extension base="t:SearchExpressionType"> + <xs:sequence> + <xs:choice maxOccurs ="unbounded"> + <xs:element ref="t:FieldURI"/> + <xs:element ref="t:IndexedFieldURI"/> + <xs:element ref="t:ExtendedFieldURI"/> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="Exists" type="t:ExistsType" substitutionGroup="t:SearchExpression"/> + + <xs:complexType name="FieldURIOrConstantType"> + <xs:choice> + <xs:element ref="t:FieldURI"/> + <xs:element ref="t:IndexedFieldURI"/> + <xs:element ref="t:ExtendedFieldURI"/> + <xs:element name="Constant" type="t:ConstantValueType" /> + </xs:choice> + </xs:complexType> + + <xs:complexType name="TwoOperandExpressionType" abstract="true"> + <xs:complexContent> + <xs:extension base="t:SearchExpressionType"> + <xs:sequence> + <xs:choice maxOccurs ="unbounded"> + <xs:element ref="t:FieldURI"/> + <xs:element ref="t:IndexedFieldURI"/> + <xs:element ref="t:ExtendedFieldURI"/> + </xs:choice> + <xs:element name="FieldURIOrConstant" type="t:FieldURIOrConstantType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Excludes patterns can either be hex (starting with 0x or 0X) or integers --> + <xs:simpleType name="ExcludesAttributeType"> + <xs:restriction base="xs:string"> + <xs:pattern value="((0x|0X)[0-9A-Fa-f]*)|([0-9]*)"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ExcludesValueType"> + <xs:attribute name="Value" type="t:ExcludesAttributeType" use="required" /> + </xs:complexType> + + <xs:complexType name="ExcludesType"> + <xs:complexContent> + <xs:extension base="t:SearchExpressionType"> + <xs:sequence> + <xs:choice maxOccurs ="unbounded"> + <xs:element ref="t:FieldURI"/> + <xs:element ref="t:IndexedFieldURI"/> + <xs:element ref="t:ExtendedFieldURI"/> + </xs:choice> + <xs:element name="Bitmask" type="t:ExcludesValueType" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="Excludes" type="t:ExcludesType" substitutionGroup ="t:SearchExpression"/> + + + <xs:complexType name="IsEqualToType"> + <xs:complexContent> + <xs:extension base="t:TwoOperandExpressionType"/> + </xs:complexContent> + </xs:complexType> + <xs:element name="IsEqualTo" type="t:IsEqualToType" substitutionGroup ="t:SearchExpression"/> + <xs:complexType name="IsNotEqualToType"> + <xs:complexContent> + <xs:extension base="t:TwoOperandExpressionType"/> + </xs:complexContent> + </xs:complexType> + <xs:element name="IsNotEqualTo" type="t:IsNotEqualToType" substitutionGroup="t:SearchExpression"/> + <xs:complexType name="IsGreaterThanType"> + <xs:complexContent> + <xs:extension base="t:TwoOperandExpressionType"/> + </xs:complexContent> + </xs:complexType> + <xs:element name="IsGreaterThan" type="t:IsGreaterThanType" substitutionGroup ="t:SearchExpression"/> + <xs:complexType name="IsGreaterThanOrEqualToType"> + <xs:complexContent> + <xs:extension base="t:TwoOperandExpressionType"/> + </xs:complexContent> + </xs:complexType> + <xs:element name="IsGreaterThanOrEqualTo" type="t:IsGreaterThanOrEqualToType" substitutionGroup ="t:SearchExpression"/> + <xs:complexType name="IsLessThanType"> + <xs:complexContent> + <xs:extension base="t:TwoOperandExpressionType"/> + </xs:complexContent> + </xs:complexType> + <xs:element name="IsLessThan" type="t:IsLessThanType" substitutionGroup ="t:SearchExpression"/> + <xs:complexType name="IsLessThanOrEqualToType"> + <xs:complexContent> + <xs:extension base="t:TwoOperandExpressionType"/> + </xs:complexContent> + </xs:complexType> + <xs:element name="IsLessThanOrEqualTo" type="t:IsLessThanOrEqualToType" substitutionGroup ="t:SearchExpression"/> + + + <!-- Content indexing comparison --> + <xs:simpleType name="ContainmentModeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="FullString" /> + <xs:enumeration value="Prefixed" /> + <xs:enumeration value="Substring" /> + <xs:enumeration value="PrefixOnWords" /> + <xs:enumeration value="ExactPhrase" /> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="ContainmentComparisonType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Exact" /> + <xs:enumeration value="IgnoreCase" /> + <xs:enumeration value="IgnoreNonSpacingCharacters" /> + <xs:enumeration value="Loose"/> + <xs:enumeration value="IgnoreCaseAndNonSpacingCharacters" /> + <xs:enumeration value="LooseAndIgnoreCase"/> + <xs:enumeration value="LooseAndIgnoreNonSpace"/> + <xs:enumeration value="LooseAndIgnoreCaseAndIgnoreNonSpace"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ContainsExpressionType"> + <xs:complexContent> + <xs:extension base="t:SearchExpressionType"> + <xs:sequence> + <xs:choice maxOccurs ="unbounded"> + <xs:element ref="t:FieldURI"/> + <xs:element ref="t:IndexedFieldURI"/> + <xs:element ref="t:ExtendedFieldURI"/> + </xs:choice> + <xs:element name="Constant" type="t:ConstantValueType" /> + </xs:sequence> + <xs:attribute name="ContainmentMode" type="t:ContainmentModeType" use="optional" /> + <xs:attribute name="ContainmentComparison" type="t:ContainmentComparisonType" use="optional"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="Contains" type="t:ContainsExpressionType" substitutionGroup="t:SearchExpression"/> + + <!-- Boolean operations --> + <xs:complexType name="NotType"> + <xs:complexContent> + <xs:extension base="t:SearchExpressionType"> + <xs:sequence> + <xs:choice maxOccurs ="unbounded"> + <xs:element ref="t:Contains"/> + <xs:element ref="t:Excludes"/> + <xs:element ref="t:Exists"/> + <xs:element ref="t:IsEqualTo"/> + <xs:element ref="t:IsNotEqualTo"/> + <xs:element ref="t:IsGreaterThan"/> + <xs:element ref="t:IsGreaterThanOrEqualTo"/> + <xs:element ref="t:IsLessThan"/> + <xs:element ref="t:IsLessThanOrEqualTo"/> + <xs:element ref="t:And"/> + <xs:element ref="t:Not"/> + <xs:element ref="t:Or"/> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="Not" type="t:NotType" substitutionGroup="t:SearchExpression"/> + + <xs:complexType name="MultipleOperandBooleanExpressionType" abstract="true"> + <xs:complexContent> + <xs:extension base="t:SearchExpressionType"> + <xs:sequence> + <xs:choice maxOccurs ="unbounded"> + <xs:element ref="t:Contains"/> + <xs:element ref="t:Excludes"/> + <xs:element ref="t:Exists"/> + <xs:element ref="t:IsEqualTo"/> + <xs:element ref="t:IsNotEqualTo"/> + <xs:element ref="t:IsGreaterThan"/> + <xs:element ref="t:IsGreaterThanOrEqualTo"/> + <xs:element ref="t:IsLessThan"/> + <xs:element ref="t:IsLessThanOrEqualTo"/> + <xs:element ref="t:And"/> + <xs:element ref="t:Not"/> + <xs:element ref="t:Or"/> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="AndType"> + <xs:complexContent> + <xs:extension base="t:MultipleOperandBooleanExpressionType"/> + </xs:complexContent> + </xs:complexType> + <xs:element name="And" type="t:AndType" substitutionGroup="t:SearchExpression"/> + + <xs:complexType name="OrType"> + <xs:complexContent> + <xs:extension base="t:MultipleOperandBooleanExpressionType"/> + </xs:complexContent> + </xs:complexType> + <xs:element name="Or" type="t:OrType" substitutionGroup="t:SearchExpression"/> + + <xs:complexType name="NearType"> + <xs:complexContent> + <xs:extension base="t:MultipleOperandBooleanExpressionType"> + <xs:sequence> + <xs:element name="Distance" type="xs:unsignedInt" /> + <xs:element name="Ordered" type="xs:boolean" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="Near" type="t:NearType" substitutionGroup="t:SearchExpression"/> + + <!-- The type of object which actually encodes a restriction --> + <xs:complexType name="RestrictionType"> + <xs:choice maxOccurs ="unbounded"> + <xs:element ref="t:Contains"/> + <xs:element ref="t:Excludes"/> + <xs:element ref="t:Exists"/> + <xs:element ref="t:IsEqualTo"/> + <xs:element ref="t:IsNotEqualTo"/> + <xs:element ref="t:IsGreaterThan"/> + <xs:element ref="t:IsGreaterThanOrEqualTo"/> + <xs:element ref="t:IsLessThan"/> + <xs:element ref="t:IsLessThanOrEqualTo"/> + <xs:element ref="t:And"/> + <xs:element ref="t:Not"/> + <xs:element ref="t:Or"/> + </xs:choice> + </xs:complexType> + <!-- Sort order specification --> + <xs:simpleType name="SortDirectionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Ascending" /> + <xs:enumeration value="Descending" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="FieldOrderType"> + <xs:sequence> + <xs:choice maxOccurs ="unbounded"> + <xs:element ref="t:FieldURI"/> + <xs:element ref="t:IndexedFieldURI"/> + <xs:element ref="t:ExtendedFieldURI"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="Order" type="t:SortDirectionType" use="required" /> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfFieldOrdersType"> + <xs:sequence> + <xs:element name="FieldOrder" type="t:FieldOrderType" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- Data type needed by CreateManagedFolder. --> + <xs:complexType name="NonEmptyArrayOfFolderNamesType"> + <xs:sequence> + <xs:element name="FolderName" type="xs:string" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- Notification types --> + + <xs:simpleType name="WatermarkType"> + <xs:restriction base="t:NonEmptyStringType"/> + </xs:simpleType> + + <xs:simpleType name="SubscriptionIdType"> + <xs:restriction base="t:NonEmptyStringType"/> + </xs:simpleType> + + <xs:complexType name="BaseNotificationEventType"> + <xs:sequence> + <xs:element name="Watermark" type="t:WatermarkType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="BaseObjectChangedEventType"> + <xs:complexContent> + <xs:extension base="t:BaseNotificationEventType"> + <xs:sequence> + <xs:element name="TimeStamp" type="xs:dateTime" /> + <xs:choice> + <xs:element name="FolderId" type="t:FolderIdType" /> + <xs:element name="ItemId" type="t:ItemIdType"/> + </xs:choice> + <xs:element name="ParentFolderId" type="t:FolderIdType" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ModifiedEventType"> + <xs:complexContent> + <xs:extension base="t:BaseObjectChangedEventType"> + <xs:sequence> + <xs:element name="UnreadCount" type="xs:int" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="MovedCopiedEventType"> + <xs:complexContent> + <xs:extension base="t:BaseObjectChangedEventType"> + <xs:sequence> + <xs:choice> + <xs:element name="OldFolderId" type="t:FolderIdType" /> + <xs:element name="OldItemId" type="t:ItemIdType"/> + </xs:choice> + <xs:element name="OldParentFolderId" type="t:FolderIdType" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="NotificationType"> + <xs:sequence> + <xs:element name="SubscriptionId" type="t:SubscriptionIdType" /> + <xs:element name="PreviousWatermark" type="t:WatermarkType" minOccurs="0" /> + <xs:element name="MoreEvents" type="xs:boolean" minOccurs="0" /> + <xs:choice maxOccurs="unbounded" minOccurs="1"> + <xs:element name="CopiedEvent" type="t:MovedCopiedEventType"/> + <xs:element name="CreatedEvent" type="t:BaseObjectChangedEventType"/> + <xs:element name="DeletedEvent" type="t:BaseObjectChangedEventType"/> + <xs:element name="ModifiedEvent" type="t:ModifiedEventType"/> + <xs:element name="MovedEvent" type="t:MovedCopiedEventType"/> + <xs:element name="NewMailEvent" type="t:BaseObjectChangedEventType"/> + <xs:element name="StatusEvent" type="t:BaseNotificationEventType"/> + <xs:element name="FreeBusyChangedEvent" type="t:BaseObjectChangedEventType"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="NotificationEventTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CopiedEvent" /> + <xs:enumeration value="CreatedEvent" /> + <xs:enumeration value="DeletedEvent" /> + <xs:enumeration value="ModifiedEvent" /> + <xs:enumeration value="MovedEvent" /> + <xs:enumeration value="NewMailEvent" /> + <xs:enumeration value="FreeBusyChangedEvent" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="NonEmptyArrayOfNotificationEventTypesType"> + <xs:choice maxOccurs="unbounded" minOccurs="1"> + <xs:element name="EventType" type="t:NotificationEventTypeType"/> + </xs:choice> + </xs:complexType> + + <xs:simpleType name="SubscriptionTimeoutType"> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="1440" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="SubscriptionStatusFrequencyType"> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="1440" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="BaseSubscriptionRequestType" abstract="true"> + <xs:sequence> + <xs:element name="FolderIds" type="t:NonEmptyArrayOfBaseFolderIdsType" minOccurs="0"/> + <xs:element name="EventTypes" type="t:NonEmptyArrayOfNotificationEventTypesType"/> + <xs:element name="Watermark" type="t:WatermarkType" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="SubscribeToAllFolders" type="xs:boolean" use="optional"/> + </xs:complexType> + <xs:complexType name="PushSubscriptionRequestType"> + <xs:complexContent> + <xs:extension base="t:BaseSubscriptionRequestType"> + <xs:sequence> + <xs:element name="StatusFrequency" type="t:SubscriptionStatusFrequencyType"/> + <xs:element name="URL" type="xs:string"/> + <xs:element name="CallerData" type="xs:string" minOccurs ="0" maxOccurs ="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="PullSubscriptionRequestType"> + <xs:complexContent> + <xs:extension base="t:BaseSubscriptionRequestType"> + <xs:sequence> + <xs:element name="Timeout" type="t:SubscriptionTimeoutType"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="StreamingSubscriptionRequestType"> + <xs:sequence> + <xs:element name="FolderIds" + type="t:NonEmptyArrayOfBaseFolderIdsType" minOccurs="0"/> + <xs:element name="EventTypes" type="t:NonEmptyArrayOfNotificationEventTypesType"/> + </xs:sequence> + <xs:attribute name="SubscribeToAllFolders" type="xs:boolean" use="optional"/> + </xs:complexType> + + <xs:simpleType name="SubscriptionStatusType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="OK" /> + <xs:enumeration value="Unsubscribe" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="NonEmptyArrayOfSubscriptionIdsType"> + <xs:sequence> + <xs:element name="SubscriptionId" type="t:SubscriptionIdType" minOccurs="1" + maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfNotificationsType"> + <xs:sequence> + <xs:element name="Notification" type="t:NotificationType" minOccurs="0" + maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="StreamingSubscriptionConnectionTimeoutType"> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="30" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ConnectionStatusType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="OK" /> + <xs:enumeration value="Closed" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="UnifiedGroupAccessType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="Private" /> + <xs:enumeration value="Secret" /> + <xs:enumeration value="Public" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="SyncFolderItemsDeleteType"> + <xs:sequence> + <xs:element name="ItemId" type="t:ItemIdType"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SyncFolderItemsReadFlagType"> + <xs:sequence> + <xs:element name="ItemId" type="t:ItemIdType"/> + <xs:element name="IsRead" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SyncFolderItemsChangesType"> + <xs:sequence> + <xs:choice maxOccurs="unbounded" minOccurs="0"> + <xs:element name="Create" type="t:SyncFolderItemsCreateOrUpdateType"/> + <xs:element name="Update" type="t:SyncFolderItemsCreateOrUpdateType"/> + <xs:element name="Delete" type="t:SyncFolderItemsDeleteType"/> + <xs:element name="ReadFlagChange" type="t:SyncFolderItemsReadFlagType"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + + + <xs:complexType name="SyncFolderHierarchyCreateOrUpdateType"> + <xs:choice> + <xs:element name="Folder" type="t:FolderType"/> + <xs:element name="CalendarFolder" type="t:CalendarFolderType"/> + <xs:element name="ContactsFolder" type="t:ContactsFolderType"/> + <xs:element name="SearchFolder" type="t:SearchFolderType"/> + <xs:element name="TasksFolder" type="t:TasksFolderType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="SyncFolderHierarchyDeleteType"> + <xs:sequence> + <xs:element name="FolderId" type="t:FolderIdType"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SyncFolderHierarchyChangesType"> + <xs:sequence> + <xs:choice maxOccurs="unbounded" minOccurs="0"> + <xs:element name="Create" type="t:SyncFolderHierarchyCreateOrUpdateType"/> + <xs:element name="Update" type="t:SyncFolderHierarchyCreateOrUpdateType"/> + <xs:element name="Delete" type="t:SyncFolderHierarchyDeleteType"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="MaxSyncChangesReturnedType"> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1" /> + <xs:maxInclusive value="512" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="SyncFolderItemsScopeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="NormalItems" /> + <xs:enumeration value="NormalAndAssociatedItems" /> + </xs:restriction> + </xs:simpleType> + + <!-- Availability Service types --> + + <xs:simpleType name="AvailabilityProxyRequestType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CrossSite" /> + <xs:enumeration value="CrossForest" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="RequestTypeHeader"> + <xs:sequence> + <xs:element name="RequestType" type="t:AvailabilityProxyRequestType" minOccurs ="1" maxOccurs ="1"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="MeetingAttendeeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Organizer"/> + <xs:enumeration value="Required"/> + <xs:enumeration value="Optional"/> + <xs:enumeration value="Room"/> + <xs:enumeration value="Resource"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="CalendarEventDetails"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="1" name="ID" type="xs:string" /> + <xs:element minOccurs="0" maxOccurs="1" name="Subject" type="xs:string" /> + <xs:element minOccurs="0" maxOccurs="1" name="Location" type="xs:string" /> + <xs:element minOccurs="1" maxOccurs="1" name="IsMeeting" type="xs:boolean" /> + <xs:element minOccurs="1" maxOccurs="1" name="IsRecurring" type="xs:boolean" /> + <xs:element minOccurs="1" maxOccurs="1" name="IsException" type="xs:boolean" /> + <xs:element minOccurs="1" maxOccurs="1" name="IsReminderSet" type="xs:boolean" /> + <xs:element minOccurs="1" maxOccurs="1" name="IsPrivate" type="xs:boolean" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="CalendarEvent"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="StartTime" type="xs:dateTime" /> + <xs:element minOccurs="1" maxOccurs="1" name="EndTime" type="xs:dateTime" /> + <xs:element minOccurs="1" maxOccurs="1" name="BusyType" type="t:LegacyFreeBusyType" /> + <xs:element minOccurs="0" maxOccurs="1" name="CalendarEventDetails" type="t:CalendarEventDetails" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfCalendarEvent"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="CalendarEvent" type="t:CalendarEvent" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="Duration"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="StartTime" type="xs:dateTime" /> + <xs:element minOccurs="1" maxOccurs="1" name="EndTime" type="xs:dateTime" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="EmailAddress"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" /> + <xs:element minOccurs="1" maxOccurs="1" name="Address" type="xs:string" /> + <xs:element minOccurs="0" maxOccurs="1" name="RoutingType" type="xs:string" /> + </xs:sequence> + </xs:complexType> + + <xs:element name="Mailbox" type="t:EmailAddress" /> + + <xs:simpleType name="FreeBusyViewType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="MergedOnly" /> + <xs:enumeration value="FreeBusy" /> + <xs:enumeration value="FreeBusyMerged" /> + <xs:enumeration value="Detailed" /> + <xs:enumeration value="DetailedMerged" /> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:complexType name="FreeBusyViewOptionsType"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="TimeWindow" type="t:Duration" /> + <xs:element minOccurs="0" maxOccurs="1" name="MergedFreeBusyIntervalInMinutes" type="xs:int" /> + <xs:element minOccurs="0" maxOccurs="1" name="RequestedView" type="t:FreeBusyViewType" /> + </xs:sequence> + </xs:complexType> + + <xs:element name="FreeBusyViewOptions" type="t:FreeBusyViewOptionsType" /> + + <xs:complexType name="WorkingPeriod"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="DayOfWeek" type="t:DaysOfWeekType" /> + <xs:element minOccurs="1" maxOccurs="1" name="StartTimeInMinutes" type="xs:int" /> + <xs:element minOccurs="1" maxOccurs="1" name="EndTimeInMinutes" type="xs:int" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfWorkingPeriod"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="WorkingPeriod" type="t:WorkingPeriod" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SerializableTimeZoneTime"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="Bias" type="xs:int" /> + <xs:element minOccurs="1" maxOccurs="1" name="Time" type="xs:string" /> + <xs:element minOccurs="1" maxOccurs="1" name="DayOrder" type="xs:short" /> + <xs:element minOccurs="1" maxOccurs="1" name="Month" type="xs:short" /> + <xs:element minOccurs="1" maxOccurs="1" name="DayOfWeek" type="t:DayOfWeekType" /> + <xs:element minOccurs="0" maxOccurs="1" name="Year" type="xs:string" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SerializableTimeZone"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="Bias" type="xs:int" /> + <xs:element minOccurs="1" maxOccurs="1" name="StandardTime" type="t:SerializableTimeZoneTime" /> + <xs:element minOccurs="1" maxOccurs="1" name="DaylightTime" type="t:SerializableTimeZoneTime" /> + </xs:sequence> + </xs:complexType> + + <xs:element name="TimeZone" type="t:SerializableTimeZone" /> + + <xs:complexType name="WorkingHours"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="TimeZone" type="t:SerializableTimeZone" /> + <xs:element minOccurs="1" maxOccurs="1" name="WorkingPeriodArray" type="t:ArrayOfWorkingPeriod" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="FreeBusyView"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="FreeBusyViewType" type="t:FreeBusyViewType" /> + <xs:element minOccurs="0" maxOccurs="1" name="MergedFreeBusy" type="xs:string" /> + <xs:element minOccurs="0" maxOccurs="1" name="CalendarEventArray" type="t:ArrayOfCalendarEvent" /> + <xs:element minOccurs="0" maxOccurs="1" name="WorkingHours" type="t:WorkingHours" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MailboxData"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="Email" type="t:EmailAddress" /> + <xs:element minOccurs="1" maxOccurs="1" name="AttendeeType" type="t:MeetingAttendeeType" /> + <xs:element minOccurs="0" maxOccurs="1" name="ExcludeConflicts" type="xs:boolean" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfMailboxData"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="MailboxData" nillable="true" type="t:MailboxData" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="SuggestionQuality"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Excellent" /> + <xs:enumeration value="Good" /> + <xs:enumeration value="Fair" /> + <xs:enumeration value="Poor" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="SuggestionsViewOptionsType"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="1" name="GoodThreshold" type="xs:int" /> + <xs:element minOccurs="0" maxOccurs="1" name="MaximumResultsByDay" type="xs:int" /> + <xs:element minOccurs="0" maxOccurs="1" name="MaximumNonWorkHourResultsByDay" type="xs:int" /> + <xs:element minOccurs="0" maxOccurs="1" name="MeetingDurationInMinutes" type="xs:int" /> + <xs:element minOccurs="0" maxOccurs="1" name="MinimumSuggestionQuality" type="t:SuggestionQuality" /> + <xs:element minOccurs="1" maxOccurs="1" name="DetailedSuggestionsWindow" type="t:Duration" /> + <xs:element minOccurs="0" maxOccurs="1" name="CurrentMeetingTime" type="xs:dateTime" /> + <xs:element minOccurs="0" maxOccurs="1" name="GlobalObjectId" type="xs:string" /> + </xs:sequence> + </xs:complexType> + + <xs:element name="SuggestionsViewOptions" type="t:SuggestionsViewOptionsType" /> + + <xs:complexType name="ArrayOfAttendeeConflictData"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element minOccurs="1" maxOccurs="1" name="UnknownAttendeeConflictData" nillable="true" type="t:UnknownAttendeeConflictData" /> + <xs:element minOccurs="1" maxOccurs="1" name="IndividualAttendeeConflictData" nillable="true" type="t:IndividualAttendeeConflictData" /> + <xs:element minOccurs="1" maxOccurs="1" name="TooBigGroupAttendeeConflictData" nillable="true" type="t:TooBigGroupAttendeeConflictData" /> + <xs:element minOccurs="1" maxOccurs="1" name="GroupAttendeeConflictData" nillable="true" type="t:GroupAttendeeConflictData" /> + </xs:choice> + </xs:complexType> + + <xs:complexType name="AttendeeConflictData" abstract="true"/> + + <xs:complexType name="UnknownAttendeeConflictData"> + <xs:complexContent mixed="false"> + <xs:extension base="t:AttendeeConflictData" /> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="TooBigGroupAttendeeConflictData"> + <xs:complexContent mixed="false"> + <xs:extension base="t:AttendeeConflictData" /> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="IndividualAttendeeConflictData"> + <xs:complexContent mixed="false"> + <xs:extension base="t:AttendeeConflictData"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="BusyType" type="t:LegacyFreeBusyType" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="GroupAttendeeConflictData"> + <xs:complexContent mixed="false"> + <xs:extension base="t:AttendeeConflictData"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="NumberOfMembers" type="xs:int" /> + <xs:element minOccurs="1" maxOccurs="1" name="NumberOfMembersAvailable" type="xs:int" /> + <xs:element minOccurs="1" maxOccurs="1" name="NumberOfMembersWithConflict" type="xs:int" /> + <xs:element minOccurs="1" maxOccurs="1" name="NumberOfMembersWithNoData" type="xs:int" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="Suggestion"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="MeetingTime" type="xs:dateTime" /> + <xs:element minOccurs="1" maxOccurs="1" name="IsWorkTime" type="xs:boolean" /> + <xs:element minOccurs="1" maxOccurs="1" name="SuggestionQuality" type="t:SuggestionQuality" /> + <xs:element minOccurs="0" maxOccurs="1" name="AttendeeConflictDataArray" type="t:ArrayOfAttendeeConflictData" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfSuggestion"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Suggestion" type="t:Suggestion" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SuggestionDayResult"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="Date" type="xs:dateTime" /> + <xs:element minOccurs="1" maxOccurs="1" name="DayQuality" type="t:SuggestionQuality" /> + <xs:element minOccurs="0" maxOccurs="1" name="SuggestionArray" type="t:ArrayOfSuggestion" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfSuggestionDayResult"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="SuggestionDayResult" type="t:SuggestionDayResult" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="OofState"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Disabled" /> + <xs:enumeration value="Enabled" /> + <xs:enumeration value="Scheduled" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ExternalAudience"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="Known" /> + <xs:enumeration value="All" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ReplyBody"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="1" name="Message" type="xs:string" /> + </xs:sequence> + <xs:attribute ref="xml:lang" use="optional" /> + </xs:complexType> + + <xs:complexType name="ArrayOfEventIDType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="EventToDeleteID" type="xs:string" /> + </xs:choice> + </xs:complexType> + + <xs:complexType name="UserOofSettings"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="OofState" type="t:OofState" /> + <xs:element minOccurs="1" maxOccurs="1" name="ExternalAudience" type="t:ExternalAudience" /> + <xs:element minOccurs="0" maxOccurs="1" name="Duration" type="t:Duration" /> + <xs:element minOccurs="0" maxOccurs="1" name="InternalReply" type="t:ReplyBody" /> + <xs:element minOccurs="0" maxOccurs="1" name="ExternalReply" type="t:ReplyBody" /> + <xs:element minOccurs="0" maxOccurs="1" name="DeclineMeetingReply" type="t:ReplyBody" /> + <xs:element minOccurs="0" maxOccurs="1" name="DeclineEventsForScheduledOOF" type="xs:boolean" /> + <xs:element minOccurs="0" maxOccurs="1" name="DeclineAllEventsForScheduledOOF" type="xs:boolean" /> + <xs:element minOccurs="0" maxOccurs="1" name="CreateOOFEvent" type="xs:boolean" /> + <xs:element minOccurs="0" maxOccurs="1" name="OOFEventSubject" type="xs:string" /> + <xs:element minOccurs="0" maxOccurs="1" name="AutoDeclineFutureRequestsWhenOOF" type="xs:boolean" /> + <xs:element minOccurs="0" maxOccurs="1" name="OOFEventID" type="xs:string" /> + <xs:element minOccurs="0" maxOccurs="1" name="EventsToDeleteIDs" type="t:ArrayOfEventIDType" /> + </xs:sequence> + </xs:complexType> + + <xs:element name="OofSettings" type="t:UserOofSettings" /> + <xs:element name="UserOofSettings" type="t:UserOofSettings" /> + + <!-- Value used in Message Xml --> + <xs:complexType name="Value"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Name" type="xs:string" use="required" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <xs:element name="Value" type="t:Value"/> + + <!-- ApprovalRequestDataType --> + <xs:complexType name="ApprovalRequestDataType"> + <xs:sequence> + <xs:element name="IsUndecidedApprovalRequest" type="xs:boolean" minOccurs="0"/> + <xs:element name="ApprovalDecision" type="xs:int" minOccurs="0"/> + <xs:element name="ApprovalDecisionMaker" type="xs:string" minOccurs="0"/> + <xs:element name="ApprovalDecisionTime" type="xs:dateTime" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <!-- ReminderMessageDataType --> + <xs:complexType name="ReminderMessageDataType"> + <xs:sequence> + <xs:element name="ReminderText" type="xs:string" minOccurs="0"/> + <xs:element name="Location" type="xs:string" minOccurs="0"/> + <xs:element name="StartTime" type="xs:dateTime" minOccurs="0"/> + <xs:element name="EndTime" type="xs:dateTime" minOccurs="0"/> + <xs:element name="AssociatedCalendarItemId" type="t:ItemIdType" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <!-- SendPromptType --> + <xs:simpleType name="SendPromptType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="Send" /> + <xs:enumeration value="VotingOption" /> + </xs:restriction> + </xs:simpleType> + + <!-- VotingOptionDataType --> + <xs:complexType name="VotingOptionDataType"> + <xs:sequence> + <xs:element name="DisplayName" type="xs:string" minOccurs="0"/> + <xs:element name="SendPrompt" type="t:SendPromptType" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfVotingOptionDataType"> + <xs:sequence> + <xs:element name="VotingOptionData" type="t:VotingOptionDataType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- VotingInformationType --> + <xs:complexType name="VotingInformationType"> + <xs:sequence> + <xs:element name="UserOptions" type="t:ArrayOfVotingOptionDataType" minOccurs="0"/> + <xs:element name="VotingResponse" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <!-- SP1 Id Conversion types --> + <xs:simpleType name="IdFormatType"> + <xs:annotation> + <xs:documentation>Surfaces the various id types that are supported for conversion</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="EwsLegacyId"/> + <xs:enumeration value="EwsId"/> + <xs:enumeration value="EntryId"/> + <xs:enumeration value="HexEntryId"/> + <xs:enumeration value="StoreId"/> + <xs:enumeration value="OwaId"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="AlternateIdBaseType" abstract="true"> + <xs:annotation> + <xs:documentation> + Surfaces alternate representations of an item or folder id. No change key is included. + </xs:documentation> + </xs:annotation> + <xs:attribute name="Format" type="t:IdFormatType" use="required"/> + </xs:complexType> + + <xs:complexType name="AlternateIdType"> + <xs:annotation> + <xs:documentation> + Represents an alternate mailbox folder or item Id. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:AlternateIdBaseType"> + <xs:attribute name="Id" type="xs:string" use="required"/> + <xs:attribute name="Mailbox" type="t:NonEmptyStringType" use="required"/> + <xs:attribute name="IsArchive" type="xs:boolean" use="optional"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="AlternatePublicFolderIdType"> + <xs:annotation> + <xs:documentation> + Represents an alternate public folder Id. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:AlternateIdBaseType"> + <xs:attribute name="FolderId" type="xs:string" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="AlternatePublicFolderItemIdType"> + <xs:annotation> + <xs:documentation> + Represents an alternate public folder item Id. + </xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:AlternatePublicFolderIdType"> + <xs:attribute name="ItemId" type="xs:string" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfAlternateIdsType"> + <xs:annotation> + <xs:documentation> + A non-empty array of alternate Ids. + </xs:documentation> + </xs:annotation> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="AlternateId" type="t:AlternateIdType"/> + <xs:element name="AlternatePublicFolderId" type="t:AlternatePublicFolderIdType"/> + <xs:element name="AlternatePublicFolderItemId" type="t:AlternatePublicFolderItemIdType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="UserIdType"> + <xs:sequence> + <xs:element name="SID" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="PrimarySmtpAddress" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="DisplayName" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="DistinguishedUser" type="t:DistinguishedUserType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ExternalUserIdentity" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="DistinguishedUserType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Default" /> + <xs:enumeration value="Anonymous" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ArrayOfPermissionsType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="Permission" type="t:PermissionType" /> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ArrayOfCalendarPermissionsType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="CalendarPermission" type="t:CalendarPermissionType" /> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ArrayOfUnknownEntriesType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="UnknownEntry" type="xs:string" /> + </xs:choice> + </xs:complexType> + + <xs:simpleType name="PermissionReadAccessType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="FullDetails" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="CalendarPermissionReadAccessType"> + <xs:restriction base ="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="TimeOnly"/> + <xs:enumeration value="TimeAndSubjectAndLocation"/> + <xs:enumeration value="FullDetails"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="BasePermissionType" abstract="true"> + <xs:annotation> + <xs:documentation>A permission on a folder</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="UserId" type="t:UserIdType" minOccurs="1" maxOccurs="1" /> + <xs:element name="CanCreateItems" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="CanCreateSubFolders" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsFolderOwner" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsFolderVisible" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsFolderContact" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="EditItems" type="t:PermissionActionType" minOccurs="0" maxOccurs="1" /> + <xs:element name="DeleteItems" type="t:PermissionActionType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PermissionType"> + <xs:annotation> + <xs:documentation>A permission on a folder</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:BasePermissionType"> + <xs:sequence> + <xs:element name="ReadItems" type="t:PermissionReadAccessType" minOccurs="0" maxOccurs="1" /> + <xs:element name="PermissionLevel" type="t:PermissionLevelType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="CalendarPermissionType"> + <xs:complexContent> + <xs:extension base="t:BasePermissionType"> + <xs:sequence> + <xs:element name="ReadItems" type="t:CalendarPermissionReadAccessType" minOccurs="0" maxOccurs="1" /> + <xs:element name="CalendarPermissionLevel" type="t:CalendarPermissionLevelType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:simpleType name="PermissionActionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="Owned" /> + <xs:enumeration value="All" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="PermissionLevelType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="Owner" /> + <xs:enumeration value="PublishingEditor" /> + <xs:enumeration value="Editor" /> + <xs:enumeration value="PublishingAuthor" /> + <xs:enumeration value="Author" /> + <xs:enumeration value="NoneditingAuthor" /> + <xs:enumeration value="Reviewer" /> + <xs:enumeration value="Contributor" /> + <xs:enumeration value="Custom" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="CalendarPermissionLevelType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="Owner" /> + <xs:enumeration value="PublishingEditor" /> + <xs:enumeration value="Editor" /> + <xs:enumeration value="PublishingAuthor" /> + <xs:enumeration value="Author" /> + <xs:enumeration value="NoneditingAuthor" /> + <xs:enumeration value="Reviewer" /> + <xs:enumeration value="Contributor" /> + <xs:enumeration value="FreeBusyTimeOnly" /> + <xs:enumeration value="FreeBusyTimeAndSubjectAndLocation" /> + <xs:enumeration value="Custom" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="PermissionSetType"> + <xs:annotation> + <xs:documentation>The set of permissions on a folder</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Permissions" type="t:ArrayOfPermissionsType" /> + <xs:element name="UnknownEntries" type="t:ArrayOfUnknownEntriesType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="CalendarPermissionSetType"> + <xs:annotation> + <xs:documentation>The set of permissions on a folder</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="CalendarPermissions" type="t:ArrayOfCalendarPermissionsType" /> + <xs:element name="UnknownEntries" type="t:ArrayOfUnknownEntriesType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="EffectiveRightsType"> + <xs:sequence> + <xs:element name="CreateAssociated" type="xs:boolean" /> + <xs:element name="CreateContents" type="xs:boolean" /> + <xs:element name="CreateHierarchy" type="xs:boolean" /> + <xs:element name="Delete" type="xs:boolean" /> + <xs:element name="Modify" type="xs:boolean" /> + <xs:element name="Read" type="xs:boolean" /> + <xs:element name="ViewPrivateItems" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <!-- Delegate Management types --> + + <xs:complexType name="ArrayOfDelegateUserType"> + <xs:sequence> + <xs:element name="DelegateUser" type="t:DelegateUserType" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfUserIdType"> + <xs:sequence> + <xs:element name="UserId" type="t:UserIdType" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="DeliverMeetingRequestsType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="DelegatesOnly"/> + <xs:enumeration value="DelegatesAndMe"/> + <xs:enumeration value="DelegatesAndSendInformationToMe"/> + <xs:enumeration value="NoForward"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="DelegateUserType"> + <xs:sequence> + <xs:element name="UserId" type="t:UserIdType" minOccurs="1" maxOccurs="1" /> + <xs:element name="DelegatePermissions" type="t:DelegatePermissionsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ReceiveCopiesOfMeetingMessages" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="ViewPrivateItems" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="DelegatePermissionsType"> + <xs:sequence> + <xs:element name="CalendarFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1" /> + <xs:element name="TasksFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1" /> + <xs:element name="InboxFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ContactsFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1" /> + <xs:element name="NotesFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1" /> + <xs:element name="JournalFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="DelegateFolderPermissionLevelType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="Editor"/> + <xs:enumeration value="Reviewer"/> + <xs:enumeration value="Author"/> + <xs:enumeration value="Custom"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ConflictResultsType"> + <xs:sequence> + <xs:element name="Count" type="xs:int"/> + </xs:sequence> + </xs:complexType> + + <!-- MailTips Types --> + + <xs:simpleType name="MailTipTypes"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="All" /> + <xs:enumeration value="OutOfOfficeMessage" /> + <xs:enumeration value="MailboxFullStatus" /> + <xs:enumeration value="CustomMailTip" /> + <xs:enumeration value="ExternalMemberCount" /> + <xs:enumeration value="TotalMemberCount" /> + <xs:enumeration value="MaxMessageSize" /> + <xs:enumeration value="DeliveryRestriction" /> + <xs:enumeration value="ModerationStatus" /> + <xs:enumeration value="InvalidRecipient" /> + <xs:enumeration value="Scope" /> + <xs:enumeration value="RecipientSuggestions" /> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:complexType name="OutOfOfficeMailTip"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="ReplyBody" type="t:ReplyBody"/> + <xs:element minOccurs="0" maxOccurs="1" name="Duration" type="t:Duration"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SmtpDomainList"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="Domain" type="t:SmtpDomain"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SmtpDomain"> + <xs:attribute name="Name" type="xs:string" use="required"/> + <xs:attribute name="IncludeSubdomains" type="xs:boolean" use="optional"/> + </xs:complexType> + + <xs:complexType name="MailTips"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="RecipientAddress" type="t:EmailAddressType" /> + <xs:element minOccurs="1" maxOccurs="1" name="PendingMailTips" type="t:MailTipTypes" /> + <xs:element minOccurs="0" maxOccurs="1" name="OutOfOffice" type="t:OutOfOfficeMailTip" /> + <xs:element minOccurs="0" maxOccurs="1" name="MailboxFull" type="xs:boolean" /> + <xs:element minOccurs="0" maxOccurs="1" name="CustomMailTip" type="xs:string" /> + <xs:element minOccurs="0" maxOccurs="1" name="TotalMemberCount" type="xs:int" /> + <xs:element minOccurs="0" maxOccurs="1" name="ExternalMemberCount" type="xs:int" /> + <xs:element minOccurs="0" maxOccurs="1" name="MaxMessageSize" type="xs:int" /> + <xs:element minOccurs="0" maxOccurs="1" name="DeliveryRestricted" type="xs:boolean" /> + <xs:element minOccurs="0" maxOccurs="1" name="IsModerated" type="xs:boolean" /> + <xs:element minOccurs="0" maxOccurs="1" name="InvalidRecipient" type="xs:boolean" /> + <xs:element minOccurs="0" maxOccurs="1" name="Scope" type="xs:int" /> + <xs:element minOccurs="0" maxOccurs="1" name="RecipientSuggestions" type="t:ArrayOfRecipientSuggestionsType" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfRecipientSuggestionsType"> + <xs:sequence> + <xs:element name="RecipientSuggestion" type="t:RecipientSuggestionType" minOccurs="0" maxOccurs="3" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="RecipientSuggestionType"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="DisplayName" type="xs:string" /> + <xs:element minOccurs="1" maxOccurs="1" name="EmailAddress" type="xs:string" /> + </xs:sequence> + </xs:complexType> + + <!-- GetServiceConfiguration Types --> + <xs:simpleType name="ServiceConfigurationType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="MailTips" /> + <xs:enumeration value="UnifiedMessagingConfiguration" /> + <xs:enumeration value="ProtectionRules" /> + <xs:enumeration value="PolicyNudges" /> + <xs:enumeration value="SharePointURLs" /> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:complexType name="ServiceConfiguration"> + <!-- this 'base class' is available for ErrorCode / ErrorMessage + elements if those become necessary in the future. --> + </xs:complexType> + + <xs:complexType name="MailTipsServiceConfiguration"> + <xs:complexContent> + <xs:extension base="t:ServiceConfiguration"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="MailTipsEnabled" type="xs:boolean" /> + <xs:element minOccurs="1" maxOccurs="1" name="MaxRecipientsPerGetMailTipsRequest" type="xs:int" /> + <xs:element minOccurs="1" maxOccurs="1" name="MaxMessageSize" type="xs:int" /> + <xs:element minOccurs="1" maxOccurs="1" name="LargeAudienceThreshold" type="xs:int" /> + <xs:element minOccurs="1" maxOccurs="1" name="ShowExternalRecipientCount" type="xs:boolean" /> + <xs:element minOccurs="1" maxOccurs="1" name="InternalDomains" type="t:SmtpDomainList"/> + <xs:element minOccurs="1" maxOccurs="1" name="PolicyTipsEnabled" type="xs:boolean" /> + <xs:element minOccurs="1" maxOccurs="1" name="LargeAudienceCap" type="xs:int" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="UnifiedMessageServiceConfiguration"> + <xs:complexContent> + <xs:extension base="t:ServiceConfiguration"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="UmEnabled" type="xs:boolean" /> + <xs:element minOccurs="1" maxOccurs="1" name="PlayOnPhoneDialString" type="xs:string"/> + <xs:element minOccurs="1" maxOccurs="1" name="PlayOnPhoneEnabled" type="xs:boolean" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="SharePointURLsServiceConfiguration"> + <xs:complexContent> + <xs:extension base="t:ServiceConfiguration"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="InternalSPMySiteHostURL" type="xs:string" /> + <xs:element minOccurs="1" maxOccurs="1" name="ExternalSPMySiteHostURL" type="xs:string" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ConfigurationRequestDetailsType"> + <xs:choice minOccurs="1" maxOccurs="1"> + <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##any"/> + </xs:choice> + </xs:complexType> + + <!-- Sharing Types --> + <xs:complexType name="ArrayOfSmtpAddressType"> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="SmtpAddress" type="t:NonEmptyStringType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ArrayOfEncryptedSharedFolderDataType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="EncryptedSharedFolderData" type="t:EncryptedSharedFolderDataType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="EncryptedSharedFolderDataType"> + <xs:sequence> + <xs:element name="Token" type="t:EncryptedDataContainerType"/> + <xs:element name="Data" type="t:EncryptedDataContainerType"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="EncryptedDataContainerType"> + <xs:sequence> + <xs:any processContents="skip" namespace="##other"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfInvalidRecipientsType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="InvalidRecipient" type="t:InvalidRecipientType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="InvalidRecipientType"> + <xs:sequence> + <xs:element name="SmtpAddress" type="t:NonEmptyStringType"/> + <xs:element name="ResponseCode" type="t:InvalidRecipientResponseCodeType"/> + <xs:element name="MessageText" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="InvalidRecipientResponseCodeType"> + <xs:annotation> + <xs:documentation> + Represents the message keys that can be returned for invalid recipients + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="OtherError"/> + <xs:enumeration value="RecipientOrganizationNotFederated"/> + <xs:enumeration value="CannotObtainTokenFromSTS"/> + <xs:enumeration value="SystemPolicyBlocksSharingWithThisRecipient"/> + <xs:enumeration value="RecipientOrganizationFederatedWithUnknownTokenIssuer"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="AcceptSharingInvitationType"> + <xs:complexContent> + <xs:extension base="t:ReferenceItemResponseType"/> + </xs:complexContent> + </xs:complexType> + + <xs:simpleType name="SharingDataType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Calendar" /> + <xs:enumeration value="Contacts" /> + </xs:restriction> + </xs:simpleType> + + <!-- UMTypes --> + <xs:complexType name="PhoneCallIdType"> + <xs:attribute name="Id" type="xs:string" use="required"/> + </xs:complexType> + + <xs:complexType name="PhoneCallInformationType"> + <xs:sequence> + <xs:element name="PhoneCallState" type="t:PhoneCallStateType" minOccurs="1" maxOccurs="1"/> + <xs:element name="ConnectionFailureCause" type="t:ConnectionFailureCauseType" minOccurs="1" maxOccurs="1"/> + <xs:element name="SIPResponseText" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="SIPResponseCode" type="xs:int" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="PhoneCallStateType"> + <xs:restriction base ="xs:string"> + <xs:enumeration value="Idle"/> + <xs:enumeration value="Connecting"/> + <xs:enumeration value="Alerted"/> + <xs:enumeration value="Connected"/> + <xs:enumeration value="Disconnected"/> + <xs:enumeration value="Incoming"/> + <xs:enumeration value="Transferring"/> + <xs:enumeration value="Forwarding"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ConnectionFailureCauseType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="UserBusy"/> + <xs:enumeration value="NoAnswer"/> + <xs:enumeration value="Unavailable"/> + <xs:enumeration value="Other"/> + </xs:restriction> + </xs:simpleType> + + <!-- UserConfiguration Types --> + + <xs:complexType name="UserConfigurationNameType"> + <xs:complexContent> + <xs:extension base="t:TargetFolderIdType"> + <xs:attribute name="Name" type="t:NonEmptyStringType" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:simpleType name="UserConfigurationDictionaryObjectTypesType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="DateTime"/> + <xs:enumeration value="Boolean"/> + <xs:enumeration value="Byte"/> + <xs:enumeration value="String"/> + <xs:enumeration value="Integer32"/> + <xs:enumeration value="UnsignedInteger32"/> + <xs:enumeration value="Integer64"/> + <xs:enumeration value="UnsignedInteger64"/> + <xs:enumeration value="StringArray"/> + <xs:enumeration value="ByteArray"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="UserConfigurationDictionaryObjectType"> + <xs:sequence> + <xs:element name="Type" type="t:UserConfigurationDictionaryObjectTypesType" minOccurs="1" maxOccurs="1"/> + <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="UserConfigurationDictionaryEntryType"> + <xs:sequence> + <xs:element name="DictionaryKey" type="t:UserConfigurationDictionaryObjectType" minOccurs="1" maxOccurs="1"/> + <xs:element name="DictionaryValue" type="t:UserConfigurationDictionaryObjectType" nillable="true" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="UserConfigurationDictionaryType"> + <xs:sequence> + <xs:element name="DictionaryEntry" type="t:UserConfigurationDictionaryEntryType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="UserConfigurationType"> + <xs:sequence> + <xs:element name="UserConfigurationName" type="t:UserConfigurationNameType" minOccurs="1" maxOccurs="1"/> + <xs:element name="ItemId" type="t:ItemIdType" minOccurs="0" maxOccurs="1"/> + <xs:element name="Dictionary" type="t:UserConfigurationDictionaryType" minOccurs="0" maxOccurs="1"/> + <xs:element name="XmlData" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/> + <xs:element name="BinaryData" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="UserConfigurationPropertyType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="Id"/> + <xs:enumeration value="Dictionary"/> + <xs:enumeration value="XmlData"/> + <xs:enumeration value="BinaryData"/> + <xs:enumeration value="All"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:complexType name="ProtectionRulesServiceConfiguration"> + <xs:complexContent> + <xs:extension base="t:ServiceConfiguration"> + <xs:sequence> + <xs:element name="Rules" type="t:ArrayOfProtectionRulesType" minOccurs="1" maxOccurs="1" /> + <xs:element name="InternalDomains" type="t:SmtpDomainList" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + <xs:attribute name="RefreshInterval" use="required"> + <xs:simpleType> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfProtectionRulesType"> + <xs:sequence> + <xs:element name="Rule" type="t:ProtectionRuleType" minOccurs="0" maxOccurs="unbounded"> + </xs:element> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ProtectionRuleType"> + <xs:sequence> + <xs:element name="Condition" type="t:ProtectionRuleConditionType" minOccurs="1" maxOccurs="1"/> + <xs:element name="Action" type="t:ProtectionRuleActionType" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + <xs:attribute name="Name" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="UserOverridable" type="xs:boolean" use="required" /> + <xs:attribute name="Priority" use="required" > + <xs:simpleType> + <xs:restriction base="xs:int"> + <xs:minInclusive value="1"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + + <xs:complexType name="ProtectionRuleConditionType"> + <xs:choice minOccurs="1" maxOccurs="1"> + <xs:element name="AllInternal" type="t:ProtectionRuleAllInternalType" /> + <xs:element name="And" type="t:ProtectionRuleAndType" /> + <xs:element name="RecipientIs" type="t:ProtectionRuleRecipientIsType" /> + <xs:element name="SenderDepartments" type="t:ProtectionRuleSenderDepartmentsType" /> + <xs:element name="True" type="t:ProtectionRuleTrueType" /> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ProtectionRuleAndType"> + <xs:sequence> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="AllInternal" type="t:ProtectionRuleAllInternalType" /> + <xs:element name="And" type="t:ProtectionRuleAndType" /> + <xs:element name="RecipientIs" type="t:ProtectionRuleRecipientIsType" /> + <xs:element name="SenderDepartments" type="t:ProtectionRuleSenderDepartmentsType" /> + <xs:element name="True" type="t:ProtectionRuleTrueType" /> + </xs:choice> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ProtectionRuleRecipientIsType"> + <xs:sequence> + <xs:element name="Value" type="t:ProtectionRuleValueType" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ProtectionRuleSenderDepartmentsType"> + <xs:sequence> + <xs:element name="Value" type="t:ProtectionRuleValueType" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="ProtectionRuleTrueType"> + <xs:restriction base="xs:string"> + <xs:length value="0"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ProtectionRuleAllInternalType"> + <xs:restriction base="xs:string"> + <xs:length value="0"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ProtectionRuleValueType"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ProtectionRuleActionKindType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="RightsProtectMessage"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ProtectionRuleActionType"> + <xs:sequence> + <xs:element name="Argument" type="t:ProtectionRuleArgumentType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="Name" use="required" type="t:ProtectionRuleActionKindType" /> + </xs:complexType> + + <xs:complexType name="ProtectionRuleArgumentType"> + <xs:attribute name="Value" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + + <!-- Policy Nudge Rules --> + + <xs:complexType name="PolicyNudgeRulesServiceConfiguration"> + <xs:sequence> + <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##any"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfFolderIdType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="FolderId" type="t:FolderIdType" /> + </xs:choice> + </xs:complexType> + + <!-- SetTeamMailbox --> + <xs:simpleType name="TeamMailboxLifecycleStateType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Active" /> + <xs:enumeration value="Closed" /> + <xs:enumeration value="Unlinked" /> + <xs:enumeration value="PendingDelete" /> + </xs:restriction> + </xs:simpleType> + + <!-- Report Message Action--> + <xs:simpleType name="ReportMessageActionType"> + <xs:annotation> + <xs:documentation>Surfaces the various report message action types</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Junk"/> + <xs:enumeration value="NotJunk"/> + <xs:enumeration value="Phish"/> + <xs:enumeration value="Unsubscribe"/> + </xs:restriction> + </xs:simpleType> + + <!-- MessageTracking --> + <xs:complexType name="FindMessageTrackingSearchResultType"> + <xs:all> + <xs:element name="Subject" type="xs:string" /> + <xs:element name="Sender" type="t:EmailAddressType" /> + <xs:element name="PurportedSender" type="t:EmailAddressType" minOccurs="0"/> + <xs:element name="Recipients" type="t:ArrayOfRecipientsType" /> + <xs:element name="SubmittedTime" type="xs:dateTime" /> + <xs:element name="MessageTrackingReportId" type="t:NonEmptyStringType" /> + <xs:element name="PreviousHopServer" type="t:NonEmptyStringType" minOccurs="0" /> + <xs:element name="FirstHopServer" type="t:NonEmptyStringType" minOccurs="0" /> + <xs:element name="Properties" type="t:ArrayOfTrackingPropertiesType" minOccurs="0" /> + </xs:all> + </xs:complexType> + + <xs:complexType name="ArrayOfFindMessageTrackingSearchResultType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="MessageTrackingSearchResult" type="t:FindMessageTrackingSearchResultType" /> + </xs:choice> + </xs:complexType> + + <xs:simpleType name="MessageTrackingReportTemplateType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Summary" /> + <xs:enumeration value="RecipientPath" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="RecipientTrackingEventType"> + <xs:all> + <xs:element name="Date" type="xs:dateTime" /> + <xs:element name="Recipient" type="t:EmailAddressType" /> + <xs:element name="DeliveryStatus" type="xs:string" /> + <xs:element name="EventDescription" type="xs:string" /> + <xs:element name="EventData" type="t:ArrayOfStringsType" minOccurs="0"/> + <xs:element name="Server" type="t:NonEmptyStringType" /> + <xs:element name="InternalId" type="xs:nonNegativeInteger" /> + <xs:element name="BccRecipient" type="xs:boolean" minOccurs="0"/> + <xs:element name="HiddenRecipient" type="xs:boolean" minOccurs="0"/> + <xs:element name="UniquePathId" type="t:NonEmptyStringType" minOccurs="0"/> + <xs:element name="RootAddress" type="t:NonEmptyStringType" minOccurs="0"/> + <xs:element name="Properties" type="t:ArrayOfTrackingPropertiesType" minOccurs="0" /> + </xs:all> + </xs:complexType> + + <xs:complexType name="MessageTrackingReportType"> + <xs:all> + <xs:element name="Sender" type="t:EmailAddressType" minOccurs="0"/> + <xs:element name="PurportedSender" type="t:EmailAddressType" minOccurs="0"/> + <xs:element name="Subject" type="xs:string" minOccurs="0"/> + <xs:element name="SubmitTime" type="xs:dateTime" minOccurs="0"/> + <xs:element name="OriginalRecipients" type="t:ArrayOfEmailAddressesType" minOccurs="0" /> + <xs:element name="RecipientTrackingEvents" type="t:ArrayOfRecipientTrackingEventType" /> + <xs:element name="Properties" type="t:ArrayOfTrackingPropertiesType" minOccurs="0" /> + </xs:all> + </xs:complexType> + + <xs:complexType name="TrackingPropertyType"> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="Value" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfTrackingPropertiesType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="TrackingPropertyType" type="t:TrackingPropertyType" /> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ArrayOfArraysOfTrackingPropertiesType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="ArrayOfTrackingPropertiesType" type="t:ArrayOfTrackingPropertiesType" /> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ArrayOfRecipientTrackingEventType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="RecipientTrackingEvent" type="t:RecipientTrackingEventType"/> + </xs:choice> + </xs:complexType> + + <!-- Rules --> + <xs:complexType name="RulePredicateSizeRangeType"> + <xs:annotation> + <xs:documentation>Size range type used for the WithinSizeRange rule predicate.</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="MinimumSize" type="xs:int" minOccurs="0" maxOccurs="1" /> + <xs:element name="MaximumSize" type="xs:int" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="RulePredicateDateRangeType"> + <xs:annotation> + <xs:documentation>Date range type used for the WithinDateRange rule predicate.</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="StartDateTime" type="xs:dateTime" minOccurs="0" maxOccurs="1" /> + <xs:element name="EndDateTime" type="xs:dateTime" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="FlaggedForActionType"> + <xs:annotation> + <xs:documentation>Flagged for action enumeration, currently used in FlaggedForAction rule predicate</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Any" /> + <xs:enumeration value="Call" /> + <xs:enumeration value="DoNotForward" /> + <xs:enumeration value="FollowUp" /> + <xs:enumeration value="FYI" /> + <xs:enumeration value="Forward" /> + <xs:enumeration value="NoResponseNecessary" /> + <xs:enumeration value="Read" /> + <xs:enumeration value="Reply" /> + <xs:enumeration value="ReplyToAll" /> + <xs:enumeration value="Review" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="RulePredicatesType"> + <xs:annotation> + <xs:documentation>Rule predicates, used as rule conditions or exceptions</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Categories" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ContainsBodyStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ContainsHeaderStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ContainsRecipientStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ContainsSenderStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ContainsSubjectOrBodyStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="ContainsSubjectStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="FlaggedForAction" type="t:FlaggedForActionType" minOccurs="0" maxOccurs="1" /> + <xs:element name="FromAddresses" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="FromConnectedAccounts" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="HasAttachments" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="Importance" type="t:ImportanceChoicesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsApprovalRequest" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsAutomaticForward" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsAutomaticReply" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsEncrypted" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsMeetingRequest" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsMeetingResponse" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsNDR" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsPermissionControlled" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsReadReceipt" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsSigned" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsVoicemail" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="ItemClasses" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="MessageClassifications" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="NotSentToMe" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="SentCcMe" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="SentOnlyToMe" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="SentToAddresses" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="SentToMe" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="SentToOrCcMe" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="Sensitivity" type="t:SensitivityChoicesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="WithinDateRange" type="t:RulePredicateDateRangeType" minOccurs="0" maxOccurs="1" /> + <xs:element name="WithinSizeRange" type="t:RulePredicateSizeRangeType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="RuleActionsType"> + <xs:annotation> + <xs:documentation>Rule actions</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="AssignCategories" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/> + <xs:element name="CopyToFolder" type="t:TargetFolderIdType" minOccurs="0" maxOccurs="1"/> + <xs:element name="Delete" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="ForwardAsAttachmentToRecipients" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1"/> + <xs:element name="ForwardToRecipients" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1"/> + <xs:element name="MarkImportance" type="t:ImportanceChoicesType" minOccurs="0" maxOccurs="1"/> + <xs:element name="MarkAsRead" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="MoveToFolder" type="t:TargetFolderIdType" minOccurs="0" maxOccurs="1"/> + <xs:element name="PermanentDelete" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="RedirectToRecipients" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1"/> + <xs:element name="SendSMSAlertToRecipients" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1"/> + <xs:element name="ServerReplyWithMessage" type="t:ItemIdType" minOccurs="0" maxOccurs="1"/> + <xs:element name="StopProcessingRules" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="RuleType"> + <xs:annotation> + <xs:documentation>Rule type</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="RuleId" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="DisplayName" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="Priority" type="xs:int" minOccurs="1" maxOccurs="1" /> + <xs:element name="IsEnabled" type="xs:boolean" minOccurs="1" maxOccurs="1" /> + <xs:element name="IsNotSupported" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="IsInError" type="xs:boolean" minOccurs="0" maxOccurs="1" /> + <xs:element name="Conditions" type="t:RulePredicatesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="Exceptions" type="t:RulePredicatesType" minOccurs="0" maxOccurs="1" /> + <xs:element name="Actions" type="t:RuleActionsType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfRulesType"> + <xs:annotation> + <xs:documentation>Array of rule objects</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Rule" type="t:RuleType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="RuleFieldURIType"> + <xs:annotation> + <xs:documentation>Rule field URI enumerates all possible rule fields that could trigger validation error</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="RuleId" /> + <xs:enumeration value="DisplayName" /> + <xs:enumeration value="Priority" /> + <xs:enumeration value="IsNotSupported" /> + <xs:enumeration value="Actions" /> + <xs:enumeration value="Condition:Categories" /> + <xs:enumeration value="Condition:ContainsBodyStrings" /> + <xs:enumeration value="Condition:ContainsHeaderStrings" /> + <xs:enumeration value="Condition:ContainsRecipientStrings" /> + <xs:enumeration value="Condition:ContainsSenderStrings" /> + <xs:enumeration value="Condition:ContainsSubjectOrBodyStrings" /> + <xs:enumeration value="Condition:ContainsSubjectStrings" /> + <xs:enumeration value="Condition:FlaggedForAction" /> + <xs:enumeration value="Condition:FromAddresses" /> + <xs:enumeration value="Condition:FromConnectedAccounts" /> + <xs:enumeration value="Condition:HasAttachments" /> + <xs:enumeration value="Condition:Importance" /> + <xs:enumeration value="Condition:IsApprovalRequest" /> + <xs:enumeration value="Condition:IsAutomaticForward" /> + <xs:enumeration value="Condition:IsAutomaticReply" /> + <xs:enumeration value="Condition:IsEncrypted" /> + <xs:enumeration value="Condition:IsMeetingRequest" /> + <xs:enumeration value="Condition:IsMeetingResponse" /> + <xs:enumeration value="Condition:IsNDR" /> + <xs:enumeration value="Condition:IsPermissionControlled" /> + <xs:enumeration value="Condition:IsReadReceipt" /> + <xs:enumeration value="Condition:IsSigned" /> + <xs:enumeration value="Condition:IsVoicemail" /> + <xs:enumeration value="Condition:ItemClasses" /> + <xs:enumeration value="Condition:MessageClassifications" /> + <xs:enumeration value="Condition:NotSentToMe" /> + <xs:enumeration value="Condition:SentCcMe" /> + <xs:enumeration value="Condition:SentOnlyToMe" /> + <xs:enumeration value="Condition:SentToAddresses" /> + <xs:enumeration value="Condition:SentToMe" /> + <xs:enumeration value="Condition:SentToOrCcMe" /> + <xs:enumeration value="Condition:Sensitivity" /> + <xs:enumeration value="Condition:WithinDateRange" /> + <xs:enumeration value="Condition:WithinSizeRange" /> + <xs:enumeration value="Exception:Categories" /> + <xs:enumeration value="Exception:ContainsBodyStrings" /> + <xs:enumeration value="Exception:ContainsHeaderStrings" /> + <xs:enumeration value="Exception:ContainsRecipientStrings" /> + <xs:enumeration value="Exception:ContainsSenderStrings" /> + <xs:enumeration value="Exception:ContainsSubjectOrBodyStrings" /> + <xs:enumeration value="Exception:ContainsSubjectStrings" /> + <xs:enumeration value="Exception:FlaggedForAction" /> + <xs:enumeration value="Exception:FromAddresses" /> + <xs:enumeration value="Exception:FromConnectedAccounts" /> + <xs:enumeration value="Exception:HasAttachments" /> + <xs:enumeration value="Exception:Importance" /> + <xs:enumeration value="Exception:IsApprovalRequest" /> + <xs:enumeration value="Exception:IsAutomaticForward" /> + <xs:enumeration value="Exception:IsAutomaticReply" /> + <xs:enumeration value="Exception:IsEncrypted" /> + <xs:enumeration value="Exception:IsMeetingRequest" /> + <xs:enumeration value="Exception:IsMeetingResponse" /> + <xs:enumeration value="Exception:IsNDR" /> + <xs:enumeration value="Exception:IsPermissionControlled" /> + <xs:enumeration value="Exception:IsReadReceipt" /> + <xs:enumeration value="Exception:IsSigned" /> + <xs:enumeration value="Exception:IsVoicemail" /> + <xs:enumeration value="Exception:ItemClasses" /> + <xs:enumeration value="Exception:MessageClassifications" /> + <xs:enumeration value="Exception:NotSentToMe" /> + <xs:enumeration value="Exception:SentCcMe" /> + <xs:enumeration value="Exception:SentOnlyToMe" /> + <xs:enumeration value="Exception:SentToAddresses" /> + <xs:enumeration value="Exception:SentToMe" /> + <xs:enumeration value="Exception:SentToOrCcMe" /> + <xs:enumeration value="Exception:Sensitivity" /> + <xs:enumeration value="Exception:WithinDateRange" /> + <xs:enumeration value="Exception:WithinSizeRange" /> + <xs:enumeration value="Action:AssignCategories" /> + <xs:enumeration value="Action:CopyToFolder" /> + <xs:enumeration value="Action:Delete" /> + <xs:enumeration value="Action:ForwardAsAttachmentToRecipients" /> + <xs:enumeration value="Action:ForwardToRecipients" /> + <xs:enumeration value="Action:MarkImportance" /> + <xs:enumeration value="Action:MarkAsRead" /> + <xs:enumeration value="Action:MoveToFolder" /> + <xs:enumeration value="Action:PermanentDelete" /> + <xs:enumeration value="Action:RedirectToRecipients" /> + <xs:enumeration value="Action:SendSMSAlertToRecipients" /> + <xs:enumeration value="Action:ServerReplyWithMessage" /> + <xs:enumeration value="Action:StopProcessingRules" /> + <xs:enumeration value="IsEnabled" /> + <xs:enumeration value="IsInError" /> + <xs:enumeration value="Conditions" /> + <xs:enumeration value="Exceptions" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="RuleValidationErrorCodeType"> + <xs:annotation> + <xs:documentation>Rule validation error code describing what failed validation for each rule predicate or action.</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="ADOperationFailure" /> + <xs:enumeration value="ConnectedAccountNotFound" /> + <xs:enumeration value="CreateWithRuleId" /> + <xs:enumeration value="EmptyValueFound" /> + <xs:enumeration value="DuplicatedPriority" /> + <xs:enumeration value="DuplicatedOperationOnTheSameRule" /> + <xs:enumeration value="FolderDoesNotExist" /> + <xs:enumeration value="InvalidAddress" /> + <xs:enumeration value="InvalidDateRange" /> + <xs:enumeration value="InvalidFolderId" /> + <xs:enumeration value="InvalidSizeRange" /> + <xs:enumeration value="InvalidValue" /> + <xs:enumeration value="MessageClassificationNotFound" /> + <xs:enumeration value="MissingAction" /> + <xs:enumeration value="MissingParameter" /> + <xs:enumeration value="MissingRangeValue" /> + <xs:enumeration value="NotSettable" /> + <xs:enumeration value="RecipientDoesNotExist" /> + <xs:enumeration value="RuleNotFound" /> + <xs:enumeration value="SizeLessThanZero" /> + <xs:enumeration value="StringValueTooBig" /> + <xs:enumeration value="UnsupportedAddress" /> + <xs:enumeration value="UnexpectedError" /> + <xs:enumeration value="UnsupportedRule" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="RuleValidationErrorType"> + <xs:annotation> + <xs:documentation>Represents a single validation error on a particular rule property value, predicate property value or action property value</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="FieldURI" type="t:RuleFieldURIType" minOccurs="1" maxOccurs="1" /> + <xs:element name="ErrorCode" type="t:RuleValidationErrorCodeType" minOccurs ="1" maxOccurs="1" /> + <xs:element name="ErrorMessage" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="FieldValue" type="xs:string" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfRuleValidationErrorsType"> + <xs:annotation> + <xs:documentation>Represents an array of rule validation errors</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Error" type="t:RuleValidationErrorType" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="RuleOperationType" abstract="true"> + <xs:annotation> + <xs:documentation>Represents a rule operation to be performed</xs:documentation> + </xs:annotation> + </xs:complexType> + + <xs:complexType name="ArrayOfRuleOperationsType"> + <xs:annotation> + <xs:documentation>Represents an array of rule operations to be performed</xs:documentation> + </xs:annotation> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element name="CreateRuleOperation" type="t:CreateRuleOperationType" /> + <xs:element name="SetRuleOperation" type="t:SetRuleOperationType" /> + <xs:element name="DeleteRuleOperation" type="t:DeleteRuleOperationType" /> + </xs:choice> + </xs:complexType> + + <xs:complexType name="CreateRuleOperationType"> + <xs:complexContent> + <xs:extension base="t:RuleOperationType"> + <xs:sequence> + <xs:element name="Rule" type="t:RuleType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="SetRuleOperationType"> + <xs:complexContent> + <xs:extension base="t:RuleOperationType"> + <xs:sequence> + <xs:element name="Rule" type="t:RuleType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="DeleteRuleOperationType"> + <xs:complexContent> + <xs:extension base="t:RuleOperationType"> + <xs:sequence> + <xs:element name="RuleId" type="xs:string" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="RuleOperationErrorType"> + <xs:sequence> + <xs:element name="OperationIndex" type="xs:int" minOccurs="1" maxOccurs="1" /> + <xs:element name="ValidationErrors" type="t:ArrayOfRuleValidationErrorsType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfRuleOperationErrorsType"> + <xs:sequence> + <xs:element name="RuleOperationError" type="t:RuleOperationErrorType" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <!-- Begin of mailbox search related types section --> + + <xs:simpleType name="SearchItemKindType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Email" /> + <xs:enumeration value="Meetings" /> + <xs:enumeration value="Tasks" /> + <xs:enumeration value="Notes" /> + <xs:enumeration value="Docs" /> + <xs:enumeration value="Journals" /> + <xs:enumeration value="Contacts" /> + <xs:enumeration value="Im" /> + <xs:enumeration value="Voicemail" /> + <xs:enumeration value="Faxes" /> + <xs:enumeration value="Posts" /> + <xs:enumeration value="Rssfeeds" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ArrayOfSearchItemKindsType"> + <xs:annotation> + <xs:documentation> + Array of search item kind enum. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="SearchItemKind" type="t:SearchItemKindType" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="UserMailboxType"> + <xs:annotation> + <xs:documentation> + User Mailbox. + </xs:documentation> + </xs:annotation> + <xs:attribute name="Id" type="xs:string" use="required"/> + <xs:attribute name="IsArchive" type="xs:boolean" use="required"/> + </xs:complexType> + + <xs:complexType name="ArrayOfUserMailboxesType"> + <xs:annotation> + <xs:documentation> + Array of user mailbox. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="UserMailbox" type="t:UserMailboxType" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SearchableMailboxType"> + <xs:annotation> + <xs:documentation> + Searchable mailbox. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Guid" type="t:GuidType" minOccurs="1" maxOccurs="1"/> + <xs:element name="PrimarySmtpAddress" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="IsExternalMailbox" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + <xs:element name="ExternalEmailAddress" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="DisplayName" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="IsMembershipGroup" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + <xs:element name="ReferenceId" type="xs:string" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfSearchableMailboxesType"> + <xs:annotation> + <xs:documentation> + Array of searchable mailbox. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="SearchableMailbox" type="t:SearchableMailboxType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="KeywordStatisticsSearchResultType"> + <xs:annotation> + <xs:documentation> + Keyword statistics search result. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Keyword" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="ItemHits" type="xs:int" minOccurs="1" maxOccurs="1"/> + <xs:element name="Size" type="xs:long" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfKeywordStatisticsSearchResultsType"> + <xs:annotation> + <xs:documentation> + Array of keyword statistics result. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="KeywordStat" type="t:KeywordStatisticsSearchResultType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MailboxStatisticsSearchResultType"> + <xs:annotation> + <xs:documentation> + Mailbox statistics search result. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="UserMailbox" type="t:UserMailboxType" minOccurs="1" maxOccurs="1"/> + <xs:element name="KeywordStatisticsSearchResult" type="t:KeywordStatisticsSearchResultType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + + <xs:complexType name="ExtendedAttributeType"> + <xs:annotation> + <xs:documentation> + Extended attributes of a target mailbox. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfExtendedAttributesType"> + <xs:annotation> + <xs:documentation> + Array of extended attributes of a target mailbox + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="ExtendedAttribute" type="t:ExtendedAttributeType" minOccurs="0" maxOccurs="unbounded" nillable="false"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="MailboxSearchLocationType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="PrimaryOnly" /> + <xs:enumeration value="ArchiveOnly" /> + <xs:enumeration value="All" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="MailboxSearchScopeType"> + <xs:annotation> + <xs:documentation> + Set of mailbox, search scope and its extended attributes. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Mailbox" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="SearchScope" type="t:MailboxSearchLocationType" minOccurs="1" maxOccurs="1"/> + <xs:element name="ExtendedAttributes" type="t:ArrayOfExtendedAttributesType" minOccurs="0" maxOccurs="1" nillable="false"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfMailboxSearchScopesType"> + <xs:annotation> + <xs:documentation> + Array of mailbox and its search scope. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="MailboxSearchScope" type="t:MailboxSearchScopeType" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MailboxQueryType"> + <xs:annotation> + <xs:documentation> + Pair of query and a set of mailbox search scopes. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Query" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="MailboxSearchScopes" type="t:NonEmptyArrayOfMailboxSearchScopesType" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PreviewItemMailboxType"> + <xs:annotation> + <xs:documentation> + Mailbox information for each preview item. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="MailboxId" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="PrimarySmtpAddress" type="xs:string" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfMailboxQueriesType"> + <xs:annotation> + <xs:documentation> + Array of query and mailboxes. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="MailboxQuery" type="t:MailboxQueryType" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="SearchResultType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="StatisticsOnly" /> + <xs:enumeration value="PreviewOnly" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="SearchPageDirectionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Previous" /> + <xs:enumeration value="Next" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="PreviewItemBaseShapeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Default" /> + <xs:enumeration value="Compact" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="NonEmptyArrayOfExtendedFieldURIsType"> + <xs:choice maxOccurs="unbounded"> + <xs:element name="ExtendedFieldURI" type="t:PathToExtendedFieldType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="PreviewItemResponseShapeType"> + <xs:sequence> + <xs:element name="BaseShape" type="t:PreviewItemBaseShapeType" minOccurs="1" maxOccurs="1" /> + <xs:element name="AdditionalProperties" type="t:NonEmptyArrayOfExtendedFieldURIsType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SearchPreviewItemType"> + <xs:annotation> + <xs:documentation> + Mailbox search preview item. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Id" type="t:ItemIdType" minOccurs="1" maxOccurs="1"/> + <xs:element name="Mailbox" type="t:PreviewItemMailboxType" minOccurs="0" maxOccurs="1"/> + <xs:element name="ParentId" type="t:ItemIdType" minOccurs="0" maxOccurs="1"/> + <xs:element name="ItemClass" type="t:ItemClassType" minOccurs="0" maxOccurs="1"/> + <xs:element name="UniqueHash" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="SortValue" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="OwaLink" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Sender" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ToRecipients" type="t:ArrayOfSmtpAddressType" minOccurs="0" maxOccurs="1"/> + <xs:element name="CcRecipients" type="t:ArrayOfSmtpAddressType" minOccurs="0" maxOccurs="1"/> + <xs:element name="BccRecipients" type="t:ArrayOfSmtpAddressType" minOccurs="0" maxOccurs="1"/> + <xs:element name="CreatedTime" type="xs:dateTime" minOccurs="0" maxOccurs="1"/> + <xs:element name="ReceivedTime" type="xs:dateTime" minOccurs="0" maxOccurs="1"/> + <xs:element name="SentTime" type="xs:dateTime" minOccurs="0" maxOccurs="1"/> + <xs:element name="Subject" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Size" type="xs:long" minOccurs="0" maxOccurs="1"/> + <xs:element name="Preview" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Importance" type="t:ImportanceChoicesType" minOccurs="0" maxOccurs="1"/> + <xs:element name="Read" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="HasAttachment" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="ExtendedProperties" type="t:NonEmptyArrayOfExtendedPropertyType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfSearchPreviewItemsType"> + <xs:annotation> + <xs:documentation> + Array of search preview item. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="SearchPreviewItem" type="t:SearchPreviewItemType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="FailedSearchMailboxType"> + <xs:annotation> + <xs:documentation> + Mailbox failed on search and its error message. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Mailbox" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="ErrorCode" type="xs:int" minOccurs="1" maxOccurs="1"/> + <xs:element name="ErrorMessage" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="IsArchive" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfFailedSearchMailboxesType"> + <xs:annotation> + <xs:documentation> + Array of failed mailbox and error message. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="FailedMailbox" type="t:FailedSearchMailboxType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SearchMailboxesResultType"> + <xs:annotation> + <xs:documentation> + Mailboxes search result. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="SearchQueries" type="t:NonEmptyArrayOfMailboxQueriesType" minOccurs="1"/> + <xs:element name="ResultType" type="t:SearchResultType" minOccurs="1"/> + <xs:element name="ItemCount" type="xs:long" minOccurs="1"/> + <xs:element name="Size" type="xs:long" minOccurs="1"/> + <xs:element name="PageItemCount" type="xs:int" minOccurs="1"/> + <xs:element name="PageItemSize" type="xs:long" minOccurs="1"/> + <xs:element name="KeywordStats" type="t:ArrayOfKeywordStatisticsSearchResultsType" minOccurs="0"/> + <xs:element name="Items" type="t:ArrayOfSearchPreviewItemsType" minOccurs="0"/> + <xs:element name="FailedMailboxes" type="t:ArrayOfFailedSearchMailboxesType" minOccurs="0"/> + <xs:element name="Refiners" type="t:ArrayOfSearchRefinerItemsType" minOccurs="0"/> + <xs:element name="MailboxStats" type="t:ArrayOfMailboxStatisticsItemsType" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SearchRefinerItemType"> + <xs:annotation> + <xs:documentation> + Search refiner item. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="Count" type="xs:long" minOccurs="1" maxOccurs="1"/> + <xs:element name="Token" type="xs:string" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfSearchRefinerItemsType"> + <xs:annotation> + <xs:documentation> + Array of search refiner item. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Refiner" type="t:SearchRefinerItemType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="OneDriveItemType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:annotation> + <xs:documentation> + OneDrive search result item. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="ResourceId" type="xs:string" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="FileItemType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:annotation> + <xs:documentation> + File search result item. + </xs:documentation> + </xs:annotation> + <xs:sequence> + + <!-- File properties --> + <xs:element name="FileName" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="FileExtension" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="FileSize" type="xs:long" minOccurs="0" maxOccurs="1" /> + <xs:element name="FileCreatedTime" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="FileModifiedTime" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="StorageProviderContext" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="FileID" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="ItemReferenceId" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="ReferenceId" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Sender" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="ItemReceivedTime" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="ItemPath" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="ItemSentTime" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="FileContexts" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="VisualizationContainerUrl" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="VisualizationContainerTitle" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="VisualizationAccessUrl" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Document file item type --> + <xs:complexType name="DocumentFileItemType"> + <xs:complexContent> + <xs:extension base="t:FileItemType"> + <xs:sequence> + <xs:element name="Author" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="Title" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="LastModifiedBy" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="DelveItemType"> + <xs:complexContent> + <xs:extension base="t:ItemType"> + <xs:annotation> + <xs:documentation> + Delve search result item. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="GraphNodeLogicalId" type="xs:string" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="MailboxStatisticsItemType"> + <xs:annotation> + <xs:documentation> + Mailbox statistics item. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="MailboxId" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="DisplayName" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="ItemCount" type="xs:long" minOccurs="1" maxOccurs="1"/> + <xs:element name="Size" type="xs:long" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfMailboxStatisticsItemsType"> + <xs:annotation> + <xs:documentation> + Array of mailbox statistics item. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="MailboxStat" type="t:MailboxStatisticsItemType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="HoldActionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Create" /> + <xs:enumeration value="Update" /> + <xs:enumeration value="Remove" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="HoldStatusType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="NotOnHold" /> + <xs:enumeration value="Pending" /> + <xs:enumeration value="OnHold" /> + <xs:enumeration value="PartialHold" /> + <xs:enumeration value="Failed" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="MailboxHoldStatusType"> + <xs:annotation> + <xs:documentation> + Mailbox hold status. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Mailbox" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="Status" type="t:HoldStatusType" minOccurs="1" maxOccurs="1"/> + <xs:element name="AdditionalInfo" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfMailboxHoldStatusType"> + <xs:annotation> + <xs:documentation> + Array of mailbox hold status. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="MailboxHoldStatus" type="t:MailboxHoldStatusType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MailboxHoldResultType"> + <xs:annotation> + <xs:documentation> + Mailbox hold result. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="HoldId" type="xs:string"/> + <xs:element name="Query" type="xs:string" minOccurs="0"/> + <xs:element name="MailboxHoldStatuses" type="t:ArrayOfMailboxHoldStatusType"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfLegacyDNsType"> + <xs:sequence> + <xs:element name="LegacyDN" type="xs:string" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonIndexableItemStatisticType"> + <xs:annotation> + <xs:documentation> + Non indexable item statistic. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Mailbox" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="ItemCount" type="xs:long" minOccurs="1" maxOccurs="1"/> + <xs:element name="ErrorMessage" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfNonIndexableItemStatisticsType"> + <xs:annotation> + <xs:documentation> + Array of non indexable item statistics. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="NonIndexableItemStatistic" type="t:NonIndexableItemStatisticType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="ItemIndexErrorType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="GenericError" /> + <xs:enumeration value="Timeout" /> + <xs:enumeration value="StaleEvent" /> + <xs:enumeration value="MailboxOffline" /> + <xs:enumeration value="AttachmentLimitReached" /> + <xs:enumeration value="MarsWriterTruncation" /> + <xs:enumeration value="DocumentParserFailure" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="NonIndexableItemDetailType"> + <xs:annotation> + <xs:documentation> + Non indexable item detail. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="ItemId" type="t:ItemIdType" minOccurs="1" maxOccurs="1"/> + <xs:element name="ErrorCode" type="t:ItemIndexErrorType" minOccurs="1" maxOccurs="1"/> + <xs:element name="ErrorDescription" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="IsPartiallyIndexed" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + <xs:element name="IsPermanentFailure" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + <xs:element name="SortValue" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="AttemptCount" type="xs:int" minOccurs="1" maxOccurs="1"/> + <xs:element name="LastAttemptTime" type="xs:dateTime" minOccurs="0" maxOccurs="1"/> + <xs:element name="AdditionalInfo" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfNonIndexableItemDetailsType"> + <xs:annotation> + <xs:documentation> + Array of non indexable item details. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="NonIndexableItemDetail" type="t:NonIndexableItemDetailType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonIndexableItemDetailResultType"> + <xs:annotation> + <xs:documentation> + Non indexable item details result. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Items" type="t:ArrayOfNonIndexableItemDetailsType" minOccurs="0"/> + <xs:element name="FailedMailboxes" type="t:ArrayOfFailedSearchMailboxesType" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="DiscoverySearchConfigurationType"> + <xs:annotation> + <xs:documentation> + Discovery search configuration. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="SearchId" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="SearchQuery" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="SearchableMailboxes" type="t:ArrayOfSearchableMailboxesType" minOccurs="0" maxOccurs="1"/> + <xs:element name="InPlaceHoldIdentity" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ManagedByOrganization" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Language" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfDiscoverySearchConfigurationType"> + <xs:annotation> + <xs:documentation> + Array of discovery search configuration. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="DiscoverySearchConfiguration" type="t:DiscoverySearchConfigurationType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <!-- End of mailbox search related types section --> + + <!-- Retention tag guid with retention tag type attribute --> + <xs:complexType name="RetentionTagType"> + <xs:simpleContent> + <xs:extension base="t:GuidType"> + <xs:attribute name="IsExplicit" type="xs:boolean" use="required" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + + <xs:simpleType name="UserPhotoSizeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="HR48x48" /> + <xs:enumeration value="HR64x64" /> + <xs:enumeration value="HR96x96" /> + <xs:enumeration value="HR120x120" /> + <xs:enumeration value="HR240x240" /> + <xs:enumeration value="HR360x360" /> + <xs:enumeration value="HR432x432" /> + <xs:enumeration value="HR504x504" /> + <xs:enumeration value="HR648x648" /> + <xs:enumeration value="HR1024xN" /> + <xs:enumeration value="HR1920xN" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="UserPhotoTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="UserPhoto" /> + <xs:enumeration value="ProfileHeaderPhoto" /> + </xs:restriction> + </xs:simpleType> + + <!-- Begin of MRM related types section --> + + <xs:simpleType name="ElcFolderType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Calendar"/> + <xs:enumeration value="Contacts"/> + <xs:enumeration value="DeletedItems"/> + <xs:enumeration value="Drafts"/> + <xs:enumeration value="Inbox"/> + <xs:enumeration value="JunkEmail"/> + <xs:enumeration value="Journal"/> + <xs:enumeration value="Notes"/> + <xs:enumeration value="Outbox"/> + <xs:enumeration value="SentItems"/> + <xs:enumeration value="Tasks"/> + <xs:enumeration value="All"/> + <xs:enumeration value="ManagedCustomFolder"/> + <xs:enumeration value="RssSubscriptions"/> + <xs:enumeration value="SyncIssues"/> + <xs:enumeration value="ConversationHistory"/> + <xs:enumeration value="Personal"/> + <xs:enumeration value="RecoverableItems"/> + <xs:enumeration value="NonIpmRoot"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="RetentionActionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="MoveToDeletedItems"/> + <xs:enumeration value="MoveToFolder"/> + <xs:enumeration value="DeleteAndAllowRecovery"/> + <xs:enumeration value="PermanentlyDelete"/> + <xs:enumeration value="MarkAsPastRetentionLimit"/> + <xs:enumeration value="MoveToArchive"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="RetentionPolicyTagType"> + <xs:annotation> + <xs:documentation> + Retention policy tag. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="DisplayName" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="RetentionId" type="t:GuidType" minOccurs="1" maxOccurs="1"/> + <xs:element name="RetentionPeriod" type="xs:int" minOccurs="1" maxOccurs="1"/> + <xs:element name="Type" type="t:ElcFolderType" minOccurs="1" maxOccurs="1"/> + <xs:element name="RetentionAction" type="t:RetentionActionType" minOccurs="1" maxOccurs="1"/> + <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="IsVisible" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + <xs:element name="OptedInto" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + <xs:element name="IsArchive" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfRetentionPolicyTagsType"> + <xs:annotation> + <xs:documentation> + Array of retention policy tags. + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="RetentionPolicyTag" type="t:RetentionPolicyTagType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="RetentionType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Delete"/> + <xs:enumeration value="Archive"/> + </xs:restriction> + </xs:simpleType> + + <!-- End of MRM related types section --> + + <!-- Begin of Client Extensibility related types section --> + + <xs:simpleType name="ClientExtensionProvidedToType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Everyone" /> + <xs:enumeration value="SpecificUsers" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ClientExtensionTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Default" /> + <xs:enumeration value="Private" /> + <xs:enumeration value="MarketPlace" /> + <xs:enumeration value="PrivateCatalog" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ClientExtensionScopeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="User" /> + <xs:enumeration value="Organization" /> + <xs:enumeration value="Default" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ClientExtensionType"> + <xs:sequence> + <xs:element name="SpecificUsers" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/> + <xs:element name="Manifest" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + <xs:attribute name="IsAvailable" type="xs:boolean" use="optional"/> + <xs:attribute name="IsMandatory" type="xs:boolean" use="optional"/> + <xs:attribute name="IsEnabledByDefault" type="xs:boolean" use="optional"/> + <xs:attribute name="ProvidedTo" type="t:ClientExtensionProvidedToType" use="optional"/> + <xs:attribute name="Type" type="t:ClientExtensionTypeType" use="optional"/> + <xs:attribute name="Scope" type="t:ClientExtensionScopeType" use="optional"/> + <xs:attribute name="MarketplaceAssetId" type="xs:string" use="optional"/> + <xs:attribute name="MarketplaceContentMarket" type="xs:string" use="optional"/> + <xs:attribute name="AppStatus" type="xs:string" use="optional"/> + <xs:attribute name="Etoken" type="xs:string" use="optional"/> + <xs:attribute name="InstalledDateTime" type="xs:string" use="optional"/> + </xs:complexType> + + <xs:simpleType name="ConsentStateType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="NotResponded"/> + <xs:enumeration value="NotConsented"/> + <xs:enumeration value="Consented"/> + </xs:restriction> + </xs:simpleType> + <!-- End of Client Extensibility related types section --> + + <!-- Begin of UCS related types section --> + + <xs:complexType name="ImGroupType"> + <xs:annotation> + <xs:documentation> + A Group on the ImContactList, with one or more members + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="DisplayName" type="t:NonEmptyStringType"/> + <xs:element name="GroupType" type="t:NonEmptyStringType"/> + <xs:element name="ExchangeStoreId" type="t:ItemIdType" minOccurs="0"/> + <xs:element name="MemberCorrelationKey" type="t:NonEmptyArrayOfItemIdsType" minOccurs="0"/> + <xs:element name="ExtendedProperties" type="t:NonEmptyArrayOfExtendedPropertyType" minOccurs="0"/> + <xs:element name="SmtpAddress" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfImGroupType"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element name="ImGroup" type="t:ImGroupType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="ImItemListType"> + <xs:annotation> + <xs:documentation> + IM Contact List + </xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Groups" type="t:ArrayOfImGroupType" minOccurs="0"/> + <xs:element name="Personas" type="t:ArrayOfPeopleType" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <!-- UCS methods only allow specification of extended properties --> + <xs:complexType name="NonEmptyArrayOfExtendedFieldURIs"> + <xs:choice maxOccurs="unbounded"> + <xs:element name="ExtendedProperty" type="t:PathToExtendedFieldType"/> + </xs:choice> + </xs:complexType> + + <!-- End of UCS related types section --> + <!-- UM Mailbox Pin related types section --> + + <xs:simpleType name="DisableReasonType"> + <xs:annotation> + <xs:documentation>List of possible reasons for disabling the client extension</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="NoReason"/> + <xs:enumeration value="OutlookClientPerformance" /> + <xs:enumeration value="OWAClientPerformance" /> + <xs:enumeration value="MobileClientPerformance" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="NonEmptyStateDefinitionType"> + <xs:choice minOccurs="0"> + <xs:element name="DeletedOccurrenceStateDefinition" type="t:DeletedOccurrenceStateDefinitionType" /> + <xs:element name="DeleteFromFolderStateDefinition" type="t:DeleteFromFolderStateDefinitionType"/> + <xs:element name="LocationBasedStateDefinition" type="t:LocationBasedStateDefinitionType"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="BaseCalendarItemStateDefinitionType" /> + <xs:complexType name="DeletedOccurrenceStateDefinitionType"> + <xs:complexContent> + <xs:extension base="t:BaseCalendarItemStateDefinitionType"> + <xs:sequence> + <xs:element name="OccurrenceDate" type="xs:dateTime" minOccurs="1"/> + <xs:element name="IsOccurrencePresent" type="xs:boolean" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="DeleteFromFolderStateDefinitionType"> + <xs:complexContent> + <xs:extension base="t:BaseCalendarItemStateDefinitionType" /> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="LocationBasedStateDefinitionType"> + <xs:complexContent> + <xs:extension base="t:BaseCalendarItemStateDefinitionType"> + <xs:sequence> + <xs:element name="OrganizerLocation" type="xs:string" minOccurs="1"/> + <xs:element name="AttendeeLocation" type="xs:string" minOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:simpleType name="IconIndexType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Default" /> + <xs:enumeration value="PostItem" /> + <xs:enumeration value="MailRead" /> + <xs:enumeration value="MailUnread" /> + <xs:enumeration value="MailReplied" /> + <xs:enumeration value="MailForwarded" /> + <xs:enumeration value="MailEncrypted" /> + <xs:enumeration value="MailSmimeSigned" /> + <xs:enumeration value="MailEncryptedReplied" /> + <xs:enumeration value="MailSmimeSignedReplied" /> + <xs:enumeration value="MailEncryptedForwarded" /> + <xs:enumeration value="MailSmimeSignedForwarded" /> + <xs:enumeration value="MailEncryptedRead" /> + <xs:enumeration value="MailSmimeSignedRead" /> + <xs:enumeration value="MailIrm" /> + <xs:enumeration value="MailIrmForwarded" /> + <xs:enumeration value="MailIrmReplied" /> + <xs:enumeration value="SmsSubmitted" /> + <xs:enumeration value="SmsRoutedToDeliveryPoint" /> + <xs:enumeration value="SmsRoutedToExternalMessagingSystem" /> + <xs:enumeration value="SmsDelivered" /> + <xs:enumeration value="OutlookDefaultForContacts" /> + <xs:enumeration value="AppointmentItem" /> + <xs:enumeration value="AppointmentRecur" /> + <xs:enumeration value="AppointmentMeet" /> + <xs:enumeration value="AppointmentMeetRecur" /> + <xs:enumeration value="AppointmentMeetNY" /> + <xs:enumeration value="AppointmentMeetYes" /> + <xs:enumeration value="AppointmentMeetNo" /> + <xs:enumeration value="AppointmentMeetMaybe" /> + <xs:enumeration value="AppointmentMeetCancel" /> + <xs:enumeration value="AppointmentMeetInfo" /> + <xs:enumeration value="TaskItem" /> + <xs:enumeration value="TaskRecur" /> + <xs:enumeration value="TaskOwned" /> + <xs:enumeration value="TaskDelegated" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="MeetingSpaceTypeEnum"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Public"/> + <xs:enumeration value="Private"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="MeetingSpaceType"> + <xs:sequence> + <xs:element name="Id" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ChangeKey" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Type" type="t:MeetingSpaceTypeEnum" minOccurs="0" maxOccurs="1"/> + <xs:element name="Version" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="JoinUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DateTimeCreated" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DateTimeModified" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ExpiryTime" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Meadata" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Tag" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:element name="MeetingSpace" type="t:MeetingSpaceType"/> + + <xs:simpleType name="ParticipantActivityRole"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Organizer" /> + <xs:enumeration value="Attendee" /> + <xs:enumeration value="Presenter" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ParticipantActivityMediaType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AppSharing" /> + <xs:enumeration value="AudioVideo" /> + <xs:enumeration value="Chat" /> + <xs:enumeration value="DataConf" /> + <xs:enumeration value="Meeting" /> + <xs:enumeration value="MeetingConf" /> + <xs:enumeration value="PhoneConf" /> + <xs:enumeration value="Focus" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ParticipantActivity"> + <xs:sequence> + <xs:element name="Id" type="t:GuidType" minOccurs="1" maxOccurs="1"/> + <xs:element name="CreatedBy" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="StartTime" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="EndTime" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="ClientVersion" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="Role" type="t:ParticipantActivityRole" minOccurs="1" maxOccurs="1" /> + <xs:element name="MediaType" type="t:ParticipantActivityMediaType" minOccurs="1" maxOccurs="1" /> + <xs:element name="MediaDetails" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfParticipantActivities"> + <xs:sequence> + <xs:element name="ParticipantActivity" type="t:ParticipantActivity" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ContentActivity"> + <xs:sequence> + <xs:element name="Id" type="t:GuidType" minOccurs="1" maxOccurs="1"/> + <xs:element name="SharedBy" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="ContentLocation" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="StartTime" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="EndTime" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="Type" type="t:ContentActivityType" minOccurs="1" maxOccurs="1" /> + <xs:element name="MediaType" type="t:ContentActivityMediaType" minOccurs="1" maxOccurs="1" /> + <xs:element name="Acl" type="t:ContentActivityAcl" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="ContentActivityType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Poll" /> + <xs:enumeration value="WhiteBoard" /> + <xs:enumeration value="QAndA" /> + <xs:enumeration value="Chat" /> + <xs:enumeration value="Meeting" /> + <xs:enumeration value="Annotations" /> + <xs:enumeration value="SharedNotes" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ContentActivityMediaType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="AppSharing" /> + <xs:enumeration value="AudioVideo" /> + <xs:enumeration value="Chat" /> + <xs:enumeration value="DataConf" /> + <xs:enumeration value="Meeting" /> + <xs:enumeration value="MeetingConf" /> + <xs:enumeration value="PhoneConf" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ContentActivityAcl"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Organizer" /> + <xs:enumeration value="Presenter" /> + <xs:enumeration value="Everyone" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="NonEmptyArrayOfContentActivities"> + <xs:sequence> + <xs:element name="ContentActivity" type="t:ContentActivity" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MeetingInstanceType"> + <xs:sequence> + <xs:element name="Id" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ChangeKey" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Version" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="JoinUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DateTimeCreated" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DateTimeModified" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Meadata" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Tag" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ParentGoid" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ParticipantActivities" type="t:NonEmptyArrayOfParticipantActivities" minOccurs="0" maxOccurs="1"/> + <xs:element name="ContentActivities" type="t:NonEmptyArrayOfContentActivities" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:element name="MeetingInstance" type="t:MeetingInstanceType"/> + + <!-- InstantSearch v2.0 DataTypes --> + <xs:simpleType name="WarmupOptionsType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="Suggestions"/> + <xs:enumeration value="Results"/> + <xs:enumeration value="All"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:simpleType name="SearchApplicationIdType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Outlook"/> + <xs:enumeration value="Owa"/> + <xs:enumeration value="Paw"/> + <xs:enumeration value="Teamspace"/> + <xs:enumeration value="OneDrive"/> + <xs:enumeration value="Other"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="ItemTypesFilterType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="MailItems"/> + <xs:enumeration value="MailConversations"/> + <xs:enumeration value="CalendarItems"/> + <xs:enumeration value="Contacts"/> + <xs:enumeration value="OneDriveItems"/> + <xs:enumeration value="FileItems"/> + <xs:enumeration value="DelveItems"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:simpleType name="SuggestionKindType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="Keywords"/> + <xs:enumeration value="People"/> + <xs:enumeration value="Hashtags"/> + <xs:enumeration value="QueryHistory"/> + <xs:enumeration value="All"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:simpleType name="RefinerTypeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="To"/> + <xs:enumeration value="From"/> + <xs:enumeration value="Folder"/> + <xs:enumeration value="HasAttachment"/> + <xs:enumeration value="MailboxSource"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="SearchResultsPropertySetNameType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Default"/> + <xs:enumeration value="Owa16"/> + <xs:enumeration value="Outlook16"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="SearchScopeGroupsType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="MyGroups"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:simpleType name="SearchScopeArchivesType"> + <xs:list> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="MainArchive"/> + <xs:enumeration value="AuxArchive"/> + <xs:enumeration value="All"/> + </xs:restriction> + </xs:simpleType> + </xs:list> + </xs:simpleType> + + <xs:simpleType name="ExecuteSearchSortOrderType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="DateTime"/> + <xs:enumeration value="Relevance"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="MatchOptionsType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="FullString"/> + <xs:enumeration value="Prefix"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="SearchFolderScopeType"> + <xs:choice> + <xs:element name="FolderId" type="t:FolderIdType"/> + <xs:element name="WellKnownFolder" type="t:DistinguishedFolderIdType"/> + </xs:choice> + </xs:complexType> + + <xs:complexType name="PrimaryMailboxSearchScopeType"> + <xs:sequence> + <xs:element name="FolderScope" type="t:SearchFolderScopeType" minOccurs="0" maxOccurs="1"/> + <xs:element name="IsDeepTraversal" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="LargeArchiveSearchScopeType"> + <xs:sequence> + <xs:element name="ArchiveTypes" type="t:SearchScopeArchivesType" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="GroupSearchScopeType"> + <xs:sequence> + <xs:element name="GroupTypes" type="t:SearchScopeGroupsType" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SingleLargeArchiveSearchScopeType"> + <xs:sequence> + <xs:element name="MailboxGuid" type="t:GuidType" minOccurs="0" maxOccurs="1"/> + <xs:element name="FolderScope" type="t:SearchFolderScopeType" /> + <xs:element name="IsDeepTraversal" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="OneDriveSearchScopeType"> + <xs:sequence> + <xs:element name="OneDriveView" type="t:OneDriveViewType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="DelveSearchScopeType"> + <xs:sequence> + <xs:element name="DelveView" type="t:DelveViewType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="CustomSearchScopeType"> + <xs:sequence> + <xs:element name="MailboxGuid" type="t:GuidType"/> + <xs:element name="FolderScope" type="t:SearchFolderScopeType" /> + <xs:element name="IsDeepTraversal" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfSearchScopeType"> + <xs:sequence> + <xs:element name="PrimaryMailboxSearchScope" type="t:PrimaryMailboxSearchScopeType" minOccurs="0" maxOccurs="1"/> + <xs:element name="LargeArchiveSearchScope" type="t:LargeArchiveSearchScopeType" minOccurs="0" maxOccurs="1"/> + <xs:element name="GroupSearchScope" type="t:GroupSearchScopeType" minOccurs="0" maxOccurs="1"/> + <xs:element name="CustomSearchScope" type="t:CustomSearchScopeType" minOccurs="0" maxOccurs="4"/> + <xs:element name="OneDriveSearchScope" type="t:OneDriveSearchScopeType" minOccurs="0" maxOccurs="1"/> + <xs:element name="SingleLargeArchiveSearchScope" type="t:SingleLargeArchiveSearchScopeType" minOccurs="0" maxOccurs="1"/> + <xs:element name="DelveSearchScope" type="t:DelveSearchScopeType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="DynamicRefinerQueryType"> + <xs:sequence> + <xs:element name="RefinerQuery" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="TDRefinerId" type="xs:int" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ExtendedKeywordDefinitionType"> + <xs:sequence> + <xs:element name="Keyword" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="Properties" type="t:NonEmptyArrayOfExtendedFieldURIsType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SuggestionType"> + <xs:sequence> + <xs:element name="SuggestedQuery" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="DisplayText" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="SuggestionType" type="t:SuggestionKindType" minOccurs="1" maxOccurs="1"/> + <xs:element name="Trigger" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="TDSuggestionId" type="xs:int"/> + <xs:element name="IsDeletable" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="PeopleSuggestionType"> + <xs:complexContent> + <xs:extension base="t:SuggestionType"> + <xs:sequence> + <xs:element name="PrimarySmtpAddress" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="PersonType" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:simpleType name="PeopleSuggestionPersonType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Unknown"/> + <xs:enumeration value="Person"/> + <xs:enumeration value="DistributionList"/> + <xs:enumeration value="Room"/> + <xs:enumeration value="Place"/> + <xs:enumeration value="ModernGroup"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="FileSuggestionType"> + <xs:complexContent> + <xs:extension base="t:SuggestionType"> + <xs:sequence> + <xs:element name="FileName" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="FileExtension" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="FileReferenceId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="FileTitle" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ContainerTitle" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ContainerUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="SearchSuggestionsType"> + <xs:sequence> + <xs:element name="TDSuggestionsBatchId" type="xs:long" minOccurs="1" maxOccurs="1"/> + <xs:element name="TDSuggestionsInstanceId" type="t:GuidType" minOccurs="1" maxOccurs="1"/> + <xs:element name="Suggestions" minOccurs="0" maxOccurs="1"> + <xs:complexType> + <xs:sequence> + <xs:element name="Suggestion" type="t:SuggestionType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="DiagnosticsData" type="t:SearchDiagnosticsType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="DeleteSearchSuggestionResponseType"> + <xs:sequence> + <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + <xs:element name="StatusMessage" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DiagnosticsData" type="t:SearchDiagnosticsType" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SearchDiagnosticsStepType"> + <xs:sequence> + <xs:element name="StartTime" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="StepTime" type="xs:long" minOccurs="0" maxOccurs="1"/> + <xs:element name="StepType" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="AdditionalEntries" minOccurs="0" maxOccurs="1"> + <xs:complexType> + <xs:sequence> + <xs:element name="Entry" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SearchRefinerType"> + <xs:sequence> + <xs:element name="RefinerType" type="t:RefinerTypeType" minOccurs="1" maxOccurs="1"/> + <xs:element name="Refiner" type="t:DynamicRefinerQueryType" minOccurs="1" maxOccurs="1"/> + <xs:element name="ResultCount" type="xs:long" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="FolderRefinerType"> + <xs:complexContent> + <xs:extension base="t:SearchRefinerType"> + <xs:sequence> + <xs:element name="FolderId" type="t:FolderIdType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="PeopleRefinerType"> + <xs:complexContent> + <xs:extension base="t:SearchRefinerType"> + <xs:sequence> + <xs:element name="DisplayName" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="SmtpAddress" type="t:SmtpAddressType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="MailboxRefinerType"> + <xs:complexContent> + <xs:extension base="t:SearchRefinerType"> + <xs:sequence> + <xs:element name="MailboxDisplayName" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="AttachmentRefinerType"> + <xs:complexContent> + <xs:extension base="t:SearchRefinerType"> + <xs:sequence> + <xs:element name="HasAttachment" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="HashtagRefinerType"> + <xs:complexContent> + <xs:extension base="t:SearchRefinerType"> + <xs:sequence> + <xs:element name="DisplayName" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="SearchDiagnosticsType"> + <xs:sequence> + <xs:sequence> + <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" namespace="##any"/> + </xs:sequence> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MailboxInformationType"> + <xs:sequence> + <xs:sequence> + <xs:element name="MailboxGuid" type="t:GuidType"/> + <xs:element name="MailboxAddress" type="t:SmtpAddressType"/> + <xs:element name="MailboxDisplayName" type="xs:string"/> + </xs:sequence> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ExecuteSearchQueryIdType"> + <xs:attribute name="Id" type="t:GuidType" use="required" /> + </xs:complexType> + + <xs:complexType name="SearchResultsType"> + <xs:sequence> + <xs:element name="Items" minOccurs="0" maxOccurs="1"> + <xs:complexType> + <xs:sequence> + <xs:element name="Item" type="t:ItemType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Conversations" minOccurs="0" maxOccurs="1"> + <xs:complexType> + <xs:sequence> + <xs:element name="Conversation" type="t:ConversationType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="People" minOccurs="0" maxOccurs="1"> + <xs:complexType> + <xs:sequence> + <xs:element name="Persona" type="t:PersonaType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="MoreResultsAvailable" type="xs:boolean" minOccurs="1" maxOccurs="1" /> + <xs:element name="RefinerTelemetryBatchId" type="xs:int" minOccurs="1" maxOccurs="1" /> + <xs:element name="SearchRefiners" minOccurs="0" maxOccurs="1"> + <xs:complexType> + <xs:sequence> + <xs:element name="SearchRefiner" type="t:SearchRefinerType" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="DiagnosticsData" type="t:SearchDiagnosticsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="SearchResultsCount" type="xs:int" minOccurs="0" maxOccurs="1" /> + <xs:element name="TotalResultsCount" type="xs:int" minOccurs="0" maxOccurs="1" /> + <xs:element name="SearchTerms" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1" /> + <xs:element name="QueryId" type="t:ExecuteSearchQueryIdType" minOccurs="0" maxOccurs="1" /> + <xs:element name="MailboxesInformation" minOccurs="0" maxOccurs="1"> + <xs:complexType> + <xs:sequence> + <xs:element name="MailboxInformation" type="t:MailboxInformationType" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="SearchResultItemIdType"> + <xs:annotation> + <xs:documentation>Identifier for an item in search results</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:ItemIdType"> + <xs:sequence> + <xs:element name="EntryId" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/> + <xs:element name="OutlookItemId" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="SearchResultConversationIdType"> + <xs:annotation> + <xs:documentation>Identifier for a conversation item in search results</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="t:ItemIdType"> + <xs:sequence> + <xs:element name="OutlookConversationId" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Unified Groups --> + <xs:simpleType name="ClientIdType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Web" /> + <xs:enumeration value="Mobile" /> + <xs:enumeration value="Tablet" /> + <xs:enumeration value="Desktop" /> + <xs:enumeration value="Exchange" /> + <xs:enumeration value="Outlook" /> + <xs:enumeration value="MacOutlook" /> + <xs:enumeration value="POP3" /> + <xs:enumeration value="IMAP4" /> + <xs:enumeration value="Other" /> + <xs:enumeration value="Lync" /> + <xs:enumeration value="OutlookService" /> + <xs:enumeration value="MacMail" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="EntityFeedbackEntityAddSourceType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="EntityRelevanceApi" /> + <xs:enumeration value="ActiveDirectory" /> + <xs:enumeration value="ExplicitTyping" /> + <xs:enumeration value="Paste" /> + <xs:enumeration value="RecipientCache" /> + <xs:enumeration value="Other" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ArrayOfWorkHours"> + <xs:sequence> + <xs:element name="WorkHours" type="t:WorkHoursType" minOccurs="0" maxOccurs="7" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="WorkHoursType"> + <xs:sequence> + <xs:element name="WorkDay" type="t:SystemDayOfWeek" minOccurs="0" maxOccurs="1" /> + <xs:element name="TimeSlots" type="t:ArrayOfWorkTimeSlot" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="SystemDayOfWeek"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Sunday" /> + <xs:enumeration value="Monday" /> + <xs:enumeration value="Tuesday" /> + <xs:enumeration value="Wednesday" /> + <xs:enumeration value="Thursday" /> + <xs:enumeration value="Friday" /> + <xs:enumeration value="Saturday" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ArrayOfWorkTimeSlot"> + <xs:sequence> + <xs:element name="TimeSlot" type="t:WorkTimeSlot" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="WorkTimeSlot"> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="1" name="StartTimeInMinutes" type="xs:int" /> + <xs:element minOccurs="1" maxOccurs="1" name="EndTimeInMinutes" type="xs:int" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="AnalyzedQuery"> + <xs:sequence> + <xs:element name="QueryLanguage" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="SearchRestrictions" type="t:RestrictionType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ContextPropertyType"> + <xs:sequence> + <xs:element name="Key" type="xs:string" minOccurs="1" maxOccurs="1" /> + <xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfContextProperty"> + <xs:sequence> + <xs:element name="ContextProperty" type="t:ContextPropertyType" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfEntityFeedbackEntry"> + <xs:sequence> + <xs:element name="EntityFeedbackEntry" type="t:EntityFeedbackEntryType" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="EntityFeedbackEntryType"> + <xs:sequence> + <xs:element name="ClientEventTimeUTC" type="xs:dateTime" minOccurs="1" maxOccurs="1"/> + <xs:element name="ClientEventTimeLocal" type="xs:dateTime" minOccurs="1" maxOccurs="1"/> + <xs:element name="ClientSessionId" type="t:GuidType" minOccurs="1" maxOccurs="1"/> + <xs:element name="ClientVersion" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="ClientId" type="t:ClientIdType" minOccurs="1" maxOccurs="1"/> + <xs:element name="EntrySequenceNumber" type="xs:int" minOccurs="1" maxOccurs="1"/> + <xs:element name="TransactionId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="EventType" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="TargetEntityList" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="EntityAddSource" type="t:EntityFeedbackEntityAddSourceType" minOccurs="0" maxOccurs="1"/> + <xs:element name="JsonPropertyBag" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfInboxReminderType"> + <xs:sequence> + <xs:element name="InboxReminder" type="t:InboxReminderType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="InboxReminderType"> + <xs:sequence> + <xs:element name="Id" type="t:GuidType" minOccurs="0" maxOccurs="1"/> + <xs:element name="ReminderOffset" type="xs:int" minOccurs="0" maxOccurs="1"/> + <xs:element name="Message" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="IsOrganizerReminder" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="OccurrenceChange" type="t:EmailReminderChangeType" minOccurs="0" maxOccurs="1"/> + <xs:element name="SendOption" type="t:EmailReminderSendOption" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="EmailReminderChangeType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None" /> + <xs:enumeration value="Added" /> + <xs:enumeration value="Override" /> + <xs:enumeration value="Deleted" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="EmailReminderSendOption"> + <xs:restriction base="xs:string"> + <xs:enumeration value="NotSet" /> + <xs:enumeration value="User" /> + <xs:enumeration value="AllAttendees" /> + <xs:enumeration value="Staff" /> + <xs:enumeration value="Customer" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="InsightStatusType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Created" /> + <xs:enumeration value="Active" /> + <xs:enumeration value="Dismissed" /> + <xs:enumeration value="Invalid" /> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="InsightContextItem"> + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="Val" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfInsightContextItem"> + <xs:sequence> + <xs:element name="Context" type="t:InsightContextItem" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="InsightItemType"> + <xs:sequence> + <xs:element name="ItemId" type="t:ItemIdType" minOccurs="1" maxOccurs="1" /> + <xs:element name="InsightId" type="t:GuidType" minOccurs="1" maxOccurs="1" /> + <xs:element name="Type" type="xs:string" minOccurs="0" maxOccurs="1" /> + <xs:element name="StartTimeUtc" type="xs:dateTime" minOccurs="0" maxOccurs="1" /> + <xs:element name="EndTimeUtc" type="xs:dateTime" minOccurs="0" maxOccurs="1" /> + <xs:element name="Status" type="t:InsightStatusType" minOccurs="0" maxOccurs="1" /> + <xs:element name="Version" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Context" type="t:ArrayOfInsightContextItem" minOccurs="0" maxOccurs="1"/> + <xs:element name="Text" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ApplicationsIds" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/> + <xs:element name="SuggestedActions" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="AppContexts" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfInsightItemType"> + <xs:sequence> + <xs:element name="Insight" type="t:InsightItemType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ResponseMessageInfoType"> + <xs:sequence minOccurs="0"> + <xs:element name="MessageText" type="xs:string" minOccurs="0"/> + <xs:element name="ResponseCode" type="xs:string" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="ResponseClass" type="t:ResponseClassType" use="required"/> + </xs:complexType> + + <xs:complexType name="BaseAvailabilityCalendarViewType"> + <xs:sequence> + <xs:element name="FreeBusyViewType" type="t:FreeBusyViewType" minOccurs="1" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfPeopleQuerySource"> + <xs:sequence> + <xs:element name="Source" type="xs:string" minOccurs="1" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="CalendarActivityDataType"> + <xs:sequence> + <xs:element name="ActivityAction" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="ClientId" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="CasRequestId" type="t:GuidType" minOccurs="1" maxOccurs="1"/> + <xs:element name="IndexSelected" type="xs:int" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <!-- Social fabric, @Mentions type --> + <xs:complexType name="MentionActionType"> + <xs:sequence> + <xs:element name="Id" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="CreatedBy" type="t:EmailAddressExtendedType" minOccurs="1" maxOccurs="1"/> + <xs:element name="CreatedDateTime" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ServerCreatedDateTime" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DeepLink" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Application" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Mentioned" type="t:EmailAddressExtendedType" minOccurs="1" maxOccurs="1"/> + <xs:element name="MentionText" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ClientReference" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfMentionActionsType"> + <xs:sequence> + <xs:element name="MentionAction" type="t:MentionActionType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <!-- Social fabric, @Tag type --> + <xs:complexType name="AppliedHashtagType"> + <xs:sequence> + <xs:element name="Id" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="CreatedBy" type="t:EmailAddressExtendedType" minOccurs="1" maxOccurs="1"/> + <xs:element name="CreatedDateTime" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ServerCreatedDateTime" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DeepLink" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Application" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Tag" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="IsAutoTagged" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + <xs:element name="IsInlined" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="AppliedHashtagsPreviewType"> + <xs:sequence> + <xs:element name="Hashtags" type="t:ArrayOfStringsType" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + + <xs:complexType name="NonEmptyArrayOfAppliedHashtagType"> + <xs:sequence> + <xs:element name="AppliedHashtag" type="t:AppliedHashtagType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <!-- Social fabric, +1Like type --> + <xs:complexType name="LikeType"> + <xs:sequence> + <xs:element name="Id" type="xs:string" minOccurs="1" maxOccurs="1"/> + <xs:element name="CreatedBy" type="t:EmailAddressExtendedType" minOccurs="1" maxOccurs="1"/> + <xs:element name="CreatedDateTime" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ServerCreatedDateTime" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="DeepLink" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="Application" type="xs:string" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="LikesPreviewType"> + <xs:sequence> + <xs:element name="LikeCount" type="xs:int" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MentionsPreviewType"> + <xs:sequence> + <xs:element name="IsMentioned" type="xs:boolean" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="NonEmptyArrayOfLikeType"> + <xs:sequence> + <xs:element name="Like" type="t:LikeType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <!-- FindAvailableMeetingTimes Service Types --> + <xs:complexType name="AttendeeAvailability"> + <xs:sequence> + <xs:element name="EmailAddress" type="xs:string" /> + <xs:element name="Availability" type="t:AvailabilityStatusType" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfMeetingLocation"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="MeetingLocation" type="t:MeetingLocation" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfAttendeeAvailability"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="AttendeeAvailability" type="t:AttendeeAvailability" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MeetingTimeCandidate"> + <xs:sequence> + <xs:element name="MeetingTimeslot" type="t:TimeSlot" /> + <xs:element name="Confidence" type="xs:double" /> + <xs:element name="Score" type="xs:int" /> + <xs:element name="OrganizerAvailability" type="t:AvailabilityStatusType" /> + <xs:element name="AttendeeAvailabilities" type="t:ArrayOfAttendeeAvailability" /> + <xs:element name="Locations" type="t:ArrayOfMeetingLocation" /> + <xs:element name="SuggestionHint" type="xs:string" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfMeetingTimeCandidate"> + <xs:sequence> + <xs:element name="MeetingTimeCandidate" type="t:MeetingTimeCandidate" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="MeetingTimeCandidatesConstraintItem"> + <xs:sequence> + <xs:element name="Email" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="AttendeeConstraintItem"> + <xs:complexContent> + <xs:extension base="t:MeetingTimeCandidatesConstraintItem" > + <xs:sequence> + <xs:element name="IsRequired" type="xs:boolean" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="LocationConstraintItem"> + <xs:complexContent> + <xs:extension base="t:MeetingTimeCandidatesConstraintItem" > + <xs:sequence> + <xs:element name="Name" type="xs:string" minOccurs="0" /> + <xs:element name="ResolveAvailability" type="xs:boolean" minOccurs="0" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <xs:complexType name="ArrayOfLocationConstraintItems"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="LocationItem" type="t:LocationConstraintItem" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfAttendeeConstraintItems"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="AttendeeItem" type="t:AttendeeConstraintItem" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ArrayOfTimeSlot"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" name="TimeSlot" type="t:TimeSlot" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="EmptySuggestionReason"> + <xs:annotation> + <xs:documentation> + Reasons no suggestions are returned by FindMeetingTimeCandidates + </xs:documentation> + </xs:annotation> + <xs:restriction base="xs:string"> + <xs:enumeration value="Unknown"/> + <xs:enumeration value="AttendeesUnavailable"/> + <xs:enumeration value="LocationsUnavailable"/> + <xs:enumeration value="OrganizerUnavailable"/> + <xs:enumeration value="AttendeesUnavailableOrUnknown"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="FindMeetingTimesAttendeeConstraints"> + <xs:sequence> + <xs:element name="AttendeeEntries" type="t:ArrayOfAttendeeConstraintItems" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="FindMeetingTimesLocationConstraints"> + <xs:sequence> + <xs:element name="LocationEntries" type="t:ArrayOfLocationConstraintItems" minOccurs="0"/> + <xs:element name="IsRequired" type="xs:boolean" minOccurs="0" /> + <xs:element name="SuggestLocation" type="xs:boolean" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="FindMeetingTimesSearchConstraints"> + <xs:sequence> + <xs:element name="SearchWindows" type="t:ArrayOfTimeSlot" minOccurs="0"/> + <xs:element name="MeetingDurationInMinutes" type="xs:int" minOccurs="0" /> + <xs:element name="ActivityDomain" type="t:ActivityDomainType" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="FindMeetingTimesConstraints"> + <xs:sequence> + <xs:element name="MaxCandidates" type="xs:int" minOccurs="0" /> + <xs:element name="IsOrganizerOptional" type="xs:boolean" minOccurs="0" /> + <xs:element name="ReturnSuggestionHints" type="xs:boolean" minOccurs="0" /> + <xs:element name="AppName" type="xs:string" minOccurs="0" /> + <xs:element name="AppScenario" type="xs:string" minOccurs="0" /> + <xs:element name="MinimumAttendeePercentage" type="xs:double" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="AddInStateType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Flagged"/> + <xs:enumeration value="OK"/> + <xs:enumeration value="Removed"/> + <xs:enumeration value="Undefined"/> + <xs:enumeration value="WithdrawingSoon"/> + <xs:enumeration value="Withdrawn"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="OfficeClientType"> + <xs:attribute name="Code" type="t:OfficeClientCodeType" use="required"/> + <xs:attribute name="Version" type="t:VersionType" use="required"/> + </xs:complexType> + + <xs:simpleType name="OfficeClientCodeType"> + <xs:restriction base="xs:string"> + <xs:pattern value="[a-zA-Z0-9]+_[a-zA-Z0-9]+"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="VersionType"> + <xs:restriction base="xs:string"> + <xs:pattern value="[0-9]{1,4}\.[0-9]{1,4}(\.[0-9]{1,4}(\.[0-9]{1,4})?)?"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ArrayOfAppsType"> + <xs:sequence> + <xs:element name="App" type="t:AppType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="Metadata" type="t:Metadata" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="AppType"> + <xs:sequence> + <xs:element name="Metadata" type="t:AppMetadata" minOccurs="0" maxOccurs="1"/> + <xs:element name="Manifest" type="xs:base64Binary" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="Metadata"> + <xs:sequence> + <xs:element name="CustomApps" type="xs:string" minOccurs="1" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="AppMetadata"> + <xs:sequence> + <xs:element name="EndNodeUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="AppStatus" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ActionUrl" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ProductId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="EnabledStatus" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + <xs:element name="ConsentState" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ExtensionType" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="MarketplaceAssetId" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="LicenseStatus" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="TrialExpirationDate" type="xs:dateTime" minOccurs="0" maxOccurs="1"/> + <xs:element name="InstalledBy" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="IsMandatory" type="xs:boolean" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> +</xs:schema> |