<?xml version="1.0" encoding="utf-8"?>
<!--
        
        ** OAGIS® Revision: 9.1  **
        ** Date: 11 May 2007 **
        ** Copyright 1997-2007, All Rights Reserved **
        
        This is an OAGIS® BOD XML Schema (XSD) Definition.
        
       License information for this file is provided in the file **OAGi License Agreement.txt** that is provided with this download package.
        
        For support, more information, or to report implementation bugs, please contact the Open Applications Group at xml@openapplications.org.
        
        XML Schema 
        
-->
 
<!--
© Copyright 2007 Infor Global Solutions Technology GmbH and/or its affiliates and subsidiaries. All rights reserved. The 
word and design marks set forth herein are trademarks and/or registered trademarks of Infor Global Solutions 
Technology GmbH and/or its affiliates and subsidiaries. All rights reserved. All other trademarks listed herein 
are the property of their respective owners.
 
-->
 
<!--    *****     Update Log     *****
 
Date          By      Note
10 Apr 2008    JB      Added correct Copyright and update comments to schema.
23 Mar 2015    LA      BOD-2867, BOD-2865, BOD-2868, BOD-2871 changes
27 Dec 2018    LA      BOD-3398, HardDeleteIndicator added
11 Jan 2019    LA      BOD-2676, Cardinality of Name, GivenName and FamilyName changed
        *****     Update End     *****
 
-->


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns="http://schema.infor.com/InforOAGIS/2"
	targetNamespace="http://schema.infor.com/InforOAGIS/2" elementFormDefault="qualified"
	attributeFormDefault="unqualified">

	<xsd:include schemaLocation="../Components/Common/Components.xsd"/>

	<xsd:element name="SecurityUserMaster" type="SecurityUserMasterType">
		<xsd:annotation>
			<xsd:documentation> User used for associating a chart of accounts, a currency, and a
				calendar.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>

	<xsd:complexType name="SecurityUserMasterType">
		<xsd:complexContent>
			<xsd:extension base="StatusEnabledStandardHeaderType">
				<xsd:sequence>
					<xsd:element ref="Name" minOccurs="0" maxOccurs="unbounded"/>
					
					<xsd:element ref="Title" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="SalutationPreferredName" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="GivenName" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="NickName" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="MiddleName" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="FamilyName" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="MaidenName" minOccurs="0"/>
					<xsd:element ref="SuffixName" minOccurs="0" maxOccurs="unbounded"/>
					
					<xsd:element ref="DistinguishedName" minOccurs="0"/>
					
					<xsd:element ref="ClientPrincipalName" minOccurs="0"/>
					<xsd:element ref="UserAlias" minOccurs="0">
						<xsd:annotation>
							<xsd:documentation>
								To provide a hint for downstream applications for a user identifier that may better fit they restricted length requirements.
								The field would be generated by IFS and unmodifiable.
							</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="EMailAddress" minOccurs="0"/>
								
					<xsd:element ref="IFSManager" minOccurs="0"/>
					<xsd:element ref="IFSAlternateManager" minOccurs="0"/>
					<xsd:element ref="SecurityRole" minOccurs="0" maxOccurs="unbounded">
						<xsd:annotation>
							<xsd:documentation>
								Security roles linked ot the security user
							</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="AccountingEntity" minOccurs="0" maxOccurs="unbounded">
						<xsd:annotation>
							<xsd:documentation>
								Authorized accounting entities for the security user
							</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="Location" minOccurs="0" maxOccurs="unbounded">
						<xsd:annotation>
							<xsd:documentation>
								Authorized locations for the security user
							</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					<xsd:element ref="Property" minOccurs="0" maxOccurs="unbounded">
						<xsd:annotation>
							<xsd:documentation>
								Name/value pair section to include additional details
							</xsd:documentation>
						</xsd:annotation>
					</xsd:element>
					
					<xsd:element ref="Classification" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="HardDeleteIndicator" minOccurs="0"/>
					
					<xsd:element ref="UserArea" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>

	</xsd:complexType>

	<xsd:element name="IFSManager" type="SecurityUserType"/>
	<xsd:element name="IFSAlternateManager" type="SecurityUserType"/>
	<xsd:element name="ClientPrincipalName" type="StringType"/>
	<xsd:element name="UserAlias" type="NormalizedStringType"/>
	<xsd:element name="HardDeleteIndicator" type="IndicatorType">
		<xsd:annotation>
			<xsd:documentation>
				When the status code is 'Removed' and HardDeleteIndicator is set to True,
				the subscriber applications will remove the user details from the data base. 
				When the status code is 'Removed' and HardDeleteIndicator is 'False' 
				the applications will retain the user details in their DB.
				Set by the Admin for all users. 
			</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
</xsd:schema>
