<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="Request">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Identification">
					<xs:complexType>
						<xs:sequence>
							<xs:element type="nonEmptyString" name="UserID" />
							<xs:element type="nonEmptyString" name="Password" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Service">
					<xs:complexType>
						<xs:sequence>
							<xs:element type="nonEmptyString" minOccurs="0" name="SoftwareVersion" />
							<xs:element name="ServiceName">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="ReportFindPeople" />
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="ServiceDetail">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Shared" type="xs:boolean" />
										<xs:choice>
											<xs:sequence>
												<xs:element type="nonEmptyString" name="InboundNumber" />
												<xs:element type="nonEmptyString" name="StartDate" />
												<xs:element name="ReportName">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:enumeration value="findNumber" />
														</xs:restriction>
													</xs:simpleType>
												</xs:element>
											</xs:sequence>
											<xs:sequence>
												<xs:choice minOccurs="0">
													<xs:element type="nonEmptyString" name="GroupName" />
													<xs:element type="nonEmptyString" name="GroupID" />
													<xs:element type="nonEmptyString" name="GroupNameID" />
												</xs:choice>
												<xs:choice>
													<xs:sequence>
														<xs:element name="ReportScope">
															<xs:simpleType>
																<xs:restriction base="xs:string">
																	<xs:enumeration value="messagesReceivedToday" />
																	<xs:enumeration value="messagesReceivedYesterday" />
																	<xs:enumeration value="messagesReceivedPastWeek" />
																	<xs:enumeration value="messagesReceivedThisMonth" />
																	<xs:enumeration value="messagesReceivedLastMonth" />
																</xs:restriction>
															</xs:simpleType>
														</xs:element>
													</xs:sequence>
													<xs:sequence>
														<xs:element type="nonEmptyString" name="StartDate" />
														<xs:element type="nonEmptyString" name="EndDate" />
														<xs:element name="ReportScope">
															<xs:simpleType>
																<xs:restriction base="xs:string">
																	<xs:enumeration value="messagesReceivedBetweenDates" />
																</xs:restriction>
															</xs:simpleType>
														</xs:element>
													</xs:sequence>
												</xs:choice>
												<xs:element name="ReportName">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:enumeration value="findContacts" />
														</xs:restriction>
													</xs:simpleType>
												</xs:element>
											</xs:sequence>
										</xs:choice>
										<xs:element name="ISO_8601_DateTime" minOccurs="0">
											<xs:complexType>
												<xs:attribute type="xs:boolean" name="useUTC" default="false" />
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="Version">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="1.0" />
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="nonEmptyString">
		<xs:restriction base="xs:string">
			<xs:minLength value="1" />
		</xs:restriction>
	</xs:simpleType>
</xs:schema>