<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://enterprise.com/transactionKey" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tk="http://enterprise.com/transactionKey" xmlns:ce="http://enterprise.com/commonElements" xmlns:cet="http://enterprise.com/commonElementTypes" elementFormDefault="unqualified" attributeFormDefault="unqualified">
	<xs:import namespace="http://enterprise.com/commonElements" schemaLocation="./commonElements.xsd"/>
	<xs:import namespace="http://enterprise.com/commonElementTypes" schemaLocation="./commonElementTypes.xsd"/>
	<xs:complexType name="transactionKeyType">
		<xs:sequence>
			<xs:element name="transactionSubmitter" type="tk:transactionEntity" minOccurs="0"/>
			<xs:element name="transactionReceiver" type="tk:transactionEntity" minOccurs="0"/>
			<xs:element name="transactionIdentifier" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="transmissionID">
							<xs:simpleType>
								<xs:restriction base="xs:nonNegativeInteger">
									<xs:minInclusive value="000000000"/>
									<xs:maxInclusive value="999999999"/>
									<xs:totalDigits value="9"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
						<xs:element name="transmissionIDExtension" minOccurs="0" maxOccurs="unbounded">
							<xs:simpleType>
								<xs:restriction base="xs:string">	
									<xs:length value="10"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="transactionDateTime" type="xs:dateTime" minOccurs="0"/>
			<xs:element name="transactionType" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="0"/>
						<xs:maxLength value="2"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="transactionVersion" type="ce:version" minOccurs="0"/>
			<xs:element name="transactionDealerType" type="cet:dealershipHeaderType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transactionEntity">
		<xs:sequence>
			<xs:element name="entityType" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="0"/>
						<xs:maxLength value="10"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="entityId" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="0"/>
						<xs:maxLength value="20"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="entityName" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="0"/>
						<xs:maxLength value="35"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="entityPrimaryKey" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="0"/>
						<xs:maxLength value="20"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="entityLevel" type="tk:transactionEntityLevel" minOccurs="0" maxOccurs="4"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="transactionEntityLevel">
		<xs:sequence>
			<xs:element name="optionalLevel" type="tk:levelType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="levelType">
		<xs:sequence>
			<xs:element name="primaryId">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="0"/>
						<xs:maxLength value="10"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="supplementaryId1" type="tk:supplementaryType"/>
			<xs:element name="supplementaryId2" type="tk:supplementaryType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="supplementaryType">
		<xs:sequence>
			<xs:element name="Id">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="0"/>
						<xs:maxLength value="10"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="Value">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="0"/>
						<xs:maxLength value="10"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
