﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="DocumentElement">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" name="Item">
					<xs:complexType>
						<xs:all>
							<xs:element name="FirstName" maxOccurs="1" minOccurs="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											(string, 100) First name of the user 
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:minLength value="2"/>
										<xs:maxLength value="100"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Surname" maxOccurs="1" minOccurs="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 100) Surname name of the user
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:minLength value="2"/>
										<xs:maxLength value="100"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="HomeOrganizationUnitCode" minOccurs="0" maxOccurs="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 32, optional) Home organization unit code of the user
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:maxLength value="32"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="UILanguage" minOccurs="0" maxOccurs="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 25, optional) Language code of the user, for example, en-US
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:maxLength value="25"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="LoginAccount" maxOccurs="1" minOccurs="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 100) Login account name of the user
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:minLength value="2"/>
										<xs:maxLength value="100"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="MiddleInitial" maxOccurs="1" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 25, optional) Middle name initials of the user
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:maxLength value="25"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Email" maxOccurs="1" minOccurs="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 320) E-mail account of the user
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:pattern value="[^@]+@[^\.]+\..+"/>
										<xs:whiteSpace value="collapse"/>
										<xs:maxLength value="320"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Telephone" maxOccurs="1" minOccurs="0">
								<xs:simpleType>									
									<xs:restriction base="xs:string">
										<xs:maxLength value="25"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>							
							<xs:element name="CostCenterCode" minOccurs="0" maxOccurs="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 25, optional) Cost center the user belongs to, used in home organization resolving
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:maxLength value="25"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>							
							<xs:element name="ValidFrom" nillable="true" minOccurs="0" maxOccurs="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (date, optional) User account valid from date, for example: 2014-05-28 Format: YYYY-MM-DD
										</xs:documentation>
									</xs:annotation>
									<xs:list itemType="xs:date"/>
								</xs:simpleType>
							</xs:element>
							<xs:element name="ValidTo" nillable="true" minOccurs="0" maxOccurs="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (date, optional) User account valid until date Example: 2014-05-28 Format: YYYY-MM-DD
										</xs:documentation>
									</xs:annotation>
									<xs:list itemType="xs:date"/>
								</xs:simpleType>
							</xs:element>								
							<xs:element name="SupervisorLoginAccount" minOccurs="0" maxOccurs="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 100, optional) Login account of the user's supervisor
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:maxLength value="100"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="LoginAllowed" maxOccurs="1" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (number, optional) Defines if the login account is enabled, supported values 1 = Yes, 0 = No
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">										
										<xs:enumeration value="0"/>
										<xs:enumeration value="1"/>
										<xs:enumeration value=""/>							
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>							
							<xs:element name="PersonCode" maxOccurs="1" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 25, optional) Employee ID
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:maxLength value="25"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Title" maxOccurs="1" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 250, optional) Title
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:maxLength value="250"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="LoginType" maxOccurs="1" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (number, 5, optional)  0 = User name and password login, 1 = Windows domain login, 2 = External authentication login, 4 = Basware Access
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">										
										<xs:pattern value="0|1|2|4|99"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="AccessLoginType" maxOccurs="1" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (number, optional) Defines if the Basware Access is enabled for the account, supported values 0 = E-mail and Password, 2 = Single Sign-On
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">										
										<xs:pattern value="0|2"/>										
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="ApprovalPasswordUseAllowed" maxOccurs="1" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (number, optional) Approval password in use, 0 = False, 1 = True. Default 0
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">										
										<xs:enumeration value="0"/>
										<xs:enumeration value="1"/>
										<xs:enumeration value=""/>	
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="CollaborationSendType" maxOccurs="1" minOccurs="0" default="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (number, optional) Collaboration email sending, 0 = Never, 1 = Once Per Task, 2 = Summary. Default 1
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">										
										<xs:enumeration value="0"/>
										<xs:enumeration value="1"/>
										<xs:enumeration value="2"/>
										<xs:enumeration value=""/>	
										<xs:maxLength value="5"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="MessageSendType" maxOccurs="1" minOccurs="0" default="1">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (number, optional) Task email sending, 0 = Never, 1 = Once Per Task, 2 = Summary. Default 1
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">										
										<xs:enumeration value="0"/>
										<xs:enumeration value="1"/>
										<xs:enumeration value="2"/>
										<xs:enumeration value=""/>	
										<xs:maxLength value="5"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="ClearTitle" maxOccurs="1" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 5, optional) User will be able to clear title field/information from user import True/1 = Yes, False/0 = No
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">										
										<xs:enumeration value="0"/>
										<xs:enumeration value="1"/>
										<xs:enumeration value="true"/>
										<xs:enumeration value="false"/>
										<xs:enumeration value="True"/>
										<xs:enumeration value="False"/>
										<xs:enumeration value="TRUE"/>
										<xs:enumeration value="FALSE"/>
										<xs:enumeration value=""/>
										<xs:maxLength value="5"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>	
							<xs:element name="ApplicationGroups" maxOccurs="1" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 2000) application groups, separated by semicolon
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">
										<xs:minLength value="1"/>
										<xs:maxLength value="2000"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="KeepExistingApplicationGroups" maxOccurs="1" minOccurs="0">
								<xs:simpleType>
									<xs:annotation>
										<xs:documentation>
											 (string, 1, optional) 1  -> keep existing applicationGroups, 0 -> delete existing applicationGroups from the user before importing new ones. If no applicationGroups are specified, empties all applicationGroups.
										</xs:documentation>
									</xs:annotation>
									<xs:restriction base="xs:string">										
										<xs:enumeration value="0"/>
										<xs:enumeration value="1"/>										
										<xs:enumeration value=""/>
										<xs:maxLength value="1"/>
										<xs:whiteSpace value="collapse"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Groups" maxOccurs="1" minOccurs="1">
								<xs:complexType>
									<xs:sequence>
										<xs:annotation>
											<xs:documentation>
											 (optional)
											</xs:documentation>
										</xs:annotation>
										<xs:element name="Group" maxOccurs="unbounded" minOccurs="0">
											<xs:complexType>
												<xs:all>
													<xs:element name="LoginAccount" maxOccurs="1" minOccurs="1">
														<xs:simpleType>
															<xs:annotation>
																<xs:documentation>
																	 (string, 100) Login account name of the user
																</xs:documentation>
															</xs:annotation>
															<xs:restriction base="xs:string">
																<xs:maxLength value="100"/>
																<xs:whiteSpace value="collapse"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="ExternalGroupCode" maxOccurs="1" minOccurs="1">
														<xs:simpleType>
															<xs:annotation>
																<xs:documentation>
																	 (string, 260) User Group Code
																</xs:documentation>
															</xs:annotation>
															<xs:restriction base="xs:string">
																<xs:maxLength value="260"/>
																<xs:whiteSpace value="collapse"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>
													<xs:element name="ClearGroup" maxOccurs="1" minOccurs="0">
														<xs:simpleType>
															<xs:annotation>
																<xs:documentation>
																	 (boolean) User will be able to remove user groups in user import True/1 = Yes, False/0 = No
																</xs:documentation>
															</xs:annotation>
															<xs:restriction base="xs:string">
																<xs:pattern value="0|1|true|false|True|False|TRUE|FALSE"/>
																<xs:maxLength value="5"/>
																<xs:whiteSpace value="collapse"/>
															</xs:restriction>
														</xs:simpleType>
													</xs:element>													
												</xs:all>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:all>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>