<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
		targetNamespace="http://xmlgw.cocredo.com/schemas" 
		xmlns="http://xmlgw.cocredo.com/schemas" 
		elementFormDefault="qualified">
	<xsd:annotation>
	<xsd:documentation>This schema is used as the envelope for all XML sent to and from CoCredo</xsd:documentation>
	</xsd:annotation>
<xsd:element name="WYSE">
	<xsd:complexType>
		<xsd:sequence>
			<xsd:element name="EnvelopeVersion" type="xsd:string" />
			<xsd:element name="Header">
				<xsd:complexType>
					<xsd:all>
						<xsd:element name="MessageDetails">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="Class">
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:maxLength value="32" />
												<xsd:minLength value="4" />
												<xsd:pattern value="[a-zA-Z0-9_\-]{4,32}" />
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="Qualifier">
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:enumeration value="request" />
												<xsd:enumeration value="response" />
												<xsd:enumeration value="poll" />
												<xsd:enumeration value="error" />
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="TransactionID" minOccurs="0" maxOccurs="1">
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:maxLength value="32" />
												<xsd:minLength value="0" />
												<xsd:pattern value="[A-F0-9]{0,32}" />
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="ServiceTest" minOccurs="0" maxOccurs="1" type="xsd:boolean" />
									<xsd:element name="ServiceResponse" minOccurs="0" maxOccurs="1" type="xsd:decimal" />
									<xsd:element name="ResponseDate" minOccurs="0" maxOccurs="1" type="xsd:dateTime" />
									<xsd:element name="ResponseToUser" minOccurs="0" maxOccurs="1" type="xsd:string" />
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="SenderDetails">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="SenderCompany" type="xsd:string" />
									<xsd:element name="SenderID" type="xsd:string" />
									<xsd:element name="Method" minOccurs="0" maxOccurs="1">
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:enumeration value="MD5" />
												<xsd:enumeration value="SHA-256" />
												<xsd:enumeration value="SHA-512" />
												<xsd:enumeration value="clear" />
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
									<xsd:element name="Authentication" minOccurs="0" maxOccurs="1" type="xsd:string" />
									<xsd:element name="EmailAddress" minOccurs="0" maxOccurs="1">
										<xsd:simpleType>
											<xsd:restriction base="xsd:string">
												<xsd:minLength value="3" />
												<xsd:maxLength value="129" />
												<xsd:pattern value="[A-Za-z0-9\.\-_]{1,64}@[A-Za-z0-9\.\-_]{1,64}" />
											</xsd:restriction>
										</xsd:simpleType>
									</xsd:element>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
					</xsd:all>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Body">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
					</xsd:sequence>
					<xsd:anyAttribute namespace="##any" />
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
</xsd:element>
</xsd:schema>