<?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
02 Feb 2014   PO	  Added new file
06 May 2015   LA      Moved element 'Label' to Common/Components.xsd, BOD-2953

        *****     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="../Common/Components.xsd"/>


	<xsd:complexType name="AuthorizationResponseType">
		<xsd:sequence>
			<xsd:element ref="ISO20022Environment" minOccurs="0"/>
			<xsd:element ref="ISO20022Transaction" minOccurs="0"/>
			<xsd:element ref="ISO20022TransactionResponse" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="AuthorizationResponse" type="AuthorizationResponseType"/>

	<xsd:complexType name="ISO20022EnvironmentType">
		<xsd:sequence>
			<xsd:element ref="AcquirerIdentification" minOccurs="0"/>
			<xsd:element ref="MerchantIdentification" minOccurs="0"/>
			<xsd:element ref="POIIdentification" minOccurs="0"/>
			<xsd:element ref="ProtectedCardData" minOccurs="0"/>
			<xsd:element ref="PlainCardData" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="ISO20022Environment" type="ISO20022EnvironmentType"/>

	<xsd:complexType name="ISO20022TransactionType">
		<xsd:sequence>
			<xsd:element ref="TransactionIdentification" minOccurs="0"/>
			<xsd:element ref="RecipientTransactionIdentification" minOccurs="0"/>
			<xsd:element ref="ReconciliationIdentification" minOccurs="0"/>
			<xsd:element ref="InterchangeData" minOccurs="0"/>
			<xsd:element ref="TransactionDetails" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="ISO20022Transaction" type="ISO20022TransactionType"/>

	<xsd:complexType name="ISO20022TransactionResponseType">
		<xsd:sequence>
			<xsd:element ref="AuthorisationResult" minOccurs="0"/>
			<xsd:element ref="TransactionVerificationResult" minOccurs="0"/>
			<xsd:element ref="BalanceAmount" minOccurs="0"/>
			<xsd:element ref="TransactionAction" minOccurs="0"/>

		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="ISO20022TransactionResponse" type="ISO20022TransactionResponseType"/>

	<xsd:complexType name="ExternalIDType">
		<xsd:sequence>
			<xsd:element ref="ID" minOccurs="0"/>
			<xsd:element ref="Type" minOccurs="0"/>
			<xsd:element ref="TimePeriod" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="AcquirerIdentification" type="ExternalIDType"/>
	<xsd:element name="MerchantIdentification" type="ExternalIDType"/>
	<xsd:element name="POIIdentification" type="ExternalIDType"/>
	<xsd:element name="AuthorisationEntity" type="ExternalIDType"/>

	<xsd:complexType name="ProtectedCardDataType">
		<xsd:sequence>
			<xsd:element ref="ContentType" minOccurs="0"/>
			<xsd:element ref="CardEnvelopedData" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="ProtectedCardData" type="ProtectedCardDataType"/>

	<xsd:complexType name="PlainCardDataType">
		<xsd:sequence>
			<xsd:element ref="CardType" minOccurs="0"/>
			<xsd:element ref="CardHolderName" minOccurs="0"/>
			<xsd:element ref="PrimaryAccountNumber" minOccurs="0"/>
			<xsd:element ref="CardSequence" minOccurs="0"/>
			<xsd:element ref="TimePeriod" minOccurs="0"/>
			<xsd:element ref="LastDigits" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="PlainCardData" type="PlainCardDataType"/>

	<xsd:complexType name="CardEnvelopedDataType">
		<xsd:sequence> 
			<xsd:element ref="CCToken" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="CardEnvelopedData" type="CardEnvelopedDataType"/>

	<xsd:complexType name="TransactionIdentificationType">
		<xsd:sequence>
			<xsd:element ref="DateTime" minOccurs="0"/>
			<xsd:element ref="ID" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="TransactionIdentification" type="TransactionIdentificationType"/>

	<xsd:complexType name="TransactionDetailsType">
		<xsd:sequence>
			<xsd:element ref="TotalAmount" minOccurs="0"/>
			<xsd:element ref="TransactionSubDetail" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="AccountType" minOccurs="0"/>
			<xsd:element ref="ICCRelatedData" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="TransactionDetails" type="TransactionDetailsType"/>

	<xsd:complexType name="TransactionSubDetailType">
		<xsd:sequence>
			<xsd:element ref="Amount" minOccurs="0"/>
			<xsd:element ref="Type" minOccurs="0"/>
			<xsd:element ref="Label" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="TransactionSubDetail" type="TransactionSubDetailType"/>


	<xsd:complexType name="AuthorisationResultType">
		<xsd:sequence>
			<xsd:element ref="AuthorisationEntity" minOccurs="0"/>
			<xsd:element ref="ResponseToAuthorisation" minOccurs="0"/>
			<xsd:element ref="AuthorisationValue" minOccurs="0"/>
			<xsd:element ref="CompletionRequiredIndicator" minOccurs="0"/>
			<xsd:element ref="TMSTrigger" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="AuthorisationResult" type="AuthorisationResultType"/>

	<xsd:complexType name="ResponseToAuthorisationType">
		<xsd:sequence>
			<xsd:element ref="ResponseCode" minOccurs="0"/>
			<xsd:element ref="ResponseReason" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="ResponseToAuthorisation" type="ResponseToAuthorisationType"/>


	<xsd:complexType name="TransactionVerificationResultType">
		<xsd:sequence>
			<xsd:element ref="ElectronicCommerceAuthenticationResult" minOccurs="0"/>
			<xsd:element ref="CSCResult" minOccurs="0"/>
			<xsd:element ref="CardholderAddressVerificationResult" minOccurs="0"/>
			<xsd:element ref="DeclinedProductCode" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="TransactionVerificationResult" type="TransactionVerificationResultType"/>

	<xsd:complexType name="TransactionActionType">
		<xsd:sequence>
			<xsd:element ref="ActionTypeCode" minOccurs="0"/>
			<xsd:element ref="MessageToPresent" minOccurs="0"/>

		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="TransactionAction" type="TransactionActionType"/>

	<xsd:complexType name="MessageToPresentType">
		<xsd:sequence>
			<xsd:element ref="MessageDestinationCode" minOccurs="0"/>
			<xsd:element ref="MessageContent" minOccurs="0"/>
			<xsd:element ref="MessageContentSignature" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="MessageToPresent" type="MessageToPresentType"/>

	<xsd:complexType name="TMSTriggerType">
		<xsd:sequence> </xsd:sequence>
	</xsd:complexType>
	<xsd:element name="TMSTrigger" type="TMSTriggerType"/>

	<xsd:element name="BalanceAmount" type="AmountType"/>

	<xsd:element name="ContentType" type="CodeType"/>
	<xsd:element name="CSCResult" type="CodeType"/>
	<xsd:element name="CardholderAddressVerificationResult" type="CodeType"/>
	<xsd:element name="ActionTypeCode" type="CodeType"/>
	<xsd:element name="MessageDestinationCode" type="CodeType"/>
	<xsd:element name="CardType" type="CodeType"/>

	<xsd:element name="RecipientTransactionIdentification" type="IdentifierType"/>
	<xsd:element name="ReconciliationIdentification" type="IdentifierType"/>

	<xsd:element name="CompletionRequiredIndicator" type="IndicatorType"/>

	<xsd:element name="CardHolderName" type="NameType"/>
	
	
	<xsd:element name="AuthorisationValue" type="NormalizedStringType"/>

	<xsd:element name="InterchangeData" type="StringType"/>
	<xsd:element name="PrimaryAccountNumber" type="StringType"/>
	<xsd:element name="ResponseReason" type="StringType"/>
	<xsd:element name="ElectronicCommerceAuthenticationResult" type="StringType"/>
	<xsd:element name="DeclinedProductCode" type="StringType"/>
	<xsd:element name="MessageContent" type="StringType"/>
	<xsd:element name="MessageContentSignature" type="StringType"/>

	<xsd:element name="CardSequence" type="PositiveIntegerNumericType"/>

	<xsd:element name="ICCRelatedData" type="BinaryObjectType"/>

	<xsd:element name="LastDigits" type="StringType"/>
	<xsd:element name="CCToken" type="StringType"/>
	
</xsd:schema>
