<?xml version="1.0" encoding="UTF-8"?>
<!-- Mit XMLSpy v2010 rel. 2 (http://www.altova.com) von BIT (Bundesamt für Informatik und Telekommunikation (BIT)) bearbeitet -->
<!-- edec XML Schema -->
<!-- Name of schema: edecComplaint -->
<!-- Scope of schema: complaints for import and export customs declarations-->
<!-- Organization: Swiss Customs Administration -->
<!-- Documentation: http://www.e-dec.ch/ -->
<xs:schema xmlns:edecComplaint="http://www.e-dec.ch/xml/schema/edecComplaintRequest/v1" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.e-dec.ch/xml/schema/edecComplaintRequest/v1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
	<xs:element name="edecComplaintRequest" type="edecComplaint:ComplaintRequestType">
		<xs:annotation>
			<xs:documentation>Root Element für eine Beanstandung. Eine Beanstandung bezieht sich immer auf eine Zollanmeldung im e-dec System.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="ComplaintRequestType">
		<xs:sequence>
			<xs:element name="requestorTraderIdentificationNumber" type="edecComplaint:TraderIdentificationNumber">
				<xs:annotation>
					<xs:documentation>Trader Identification Number (TIN) oder UID des Kommunikationsteilnehmers (Stammdaten). Es muss die gleiche TIN verwendet werden wie bei der Zollanmeldung. </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="requestorCorrelationID" type="edecComplaint:Reference" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Optionale Referenz um auch bei asynchronen (Mail) oder mandantenfähigen Systemen eine eindeutige Zuordnung zwischen Request und Response zu ermöglichen. Falls dieses Element gefüllt ist, so wird es auch in der Response enthalten sein.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="requestDate" type="xs:date">
				<xs:annotation>
					<xs:documentation>Versanddatum im Format yyyy-mm-dd</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="requestTime" type="xs:time">
				<xs:annotation>
					<xs:documentation>Versandzeit im Format hh:mm:ss</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:choice>
				<xs:element name="declarantNumber">
					<xs:annotation>
						<xs:documentation>Deklarantennummer (Mitarbeiter) (Stammdaten) im Fall eines Antrags oder einer Antwort auf eine Beanstandung. </xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:integer">
							<xs:totalDigits value="6"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="customsOfficer">
					<xs:annotation>
						<xs:documentation>Name der Zollfachperson, die die Nachricht erstellt hat, falls die Nachricht durch den Zoll verschickt wurde.</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:maxLength value="100"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
			</xs:choice>
			<xs:element name="customsDeclarationNumber">
				<xs:annotation>
					<xs:documentation>Zollanmeldungsnummer Zoll</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="21"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="correctionReason">
				<xs:annotation>
					<xs:documentation>Korrekturgrund, Begründung; Ereignis welches zur Korrektur/Beanstandung führte z.B. Antrag vor Aufnahme der Kontrolltätigkeit (1), Formelle Überprüfung (2) ... (Stammdaten: edecDomains.xml/domains/domain[@name="correctionReason"]/entry/@value)</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:integer">
						<xs:totalDigits value="5"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="attachedDeclaration" type="edecComplaint:YesNoCode">
				<xs:annotation>
					<xs:documentation>Definiert ob eine neue Version der Zollanmeldung mit dieser Beanstandung verschickt wurdez.B. ja (1) /nein (0) (Stammdaten: edecDomains.xml/domains/domain[@name="yesNoCode"]/entry/@value)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="appealText" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Enthält die Meldung des Mahnschreibens</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="4000"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="paperCorrespondence" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Enthält die Meldung, dass weitere Korrespondenz als Schriftverkehr weitergeführt werden soll.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:maxLength value="4000"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="complaints" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Set von Mitteilungen</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="complaint" type="edecComplaint:ComplaintLineType" minOccurs="0" maxOccurs="999">
							<xs:annotation>
								<xs:documentation>Mitteilung</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="schemaVersion" type="edecComplaint:SchemaVersionType" use="required">
			<xs:annotation>
				<xs:documentation>Attribut zur Angabe der benutzten edecComplaint Schema Version.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<xs:complexType name="ComplaintLineType">
		<xs:annotation>
			<xs:documentation>Eine Beanstandungszeile, welche zu einem Kopf- oder Warenfeld gehören kann</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="location">
				<xs:annotation>
					<xs:documentation>Definiert, ob sich die Beanstandung auf Kopfdaten oder Warenposition bezieht</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="Header"/>
						<xs:enumeration value="Position"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="traderItemID" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Warenposition Detail-ID wie in der Zollanmeldung durch den Zollanmelder definiert.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="1"/>
						<xs:maxLength value="16"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="elementName">
				<xs:annotation>
					<xs:documentation>Verweist auf den Feldnamen innerhalb des edecService Schemas. Für Felder des Zollanmeldungskopf (Stammdaten: edecDomains.xml/domains/domain[@name="eComplaintHeaderFields"]/entry/@value)
oder für Felder einer Warenposition (Stammdaten: edecDomains.xml/domains/domain[@name=" eComplaintPositionFields"]/entry/@value)
</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="1"/>
						<xs:maxLength value="32"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="remark" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Freitext Feld für Kommentare und Bemerkungen</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="edecComplaint:Note">
						<xs:maxLength value="4000"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="DateWithoutTimezone">
		<xs:annotation>
			<xs:documentation>Simple Type mit Datum ohne Zeitzonenangabe (Format yyyy-mm-dd)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:date">
			<xs:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Reference">
		<xs:annotation>
			<xs:documentation>Simple Type für Referenzen</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="35"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TraderIdentificationNumber">
		<xs:annotation>
			<xs:documentation>Simple Type für TraderIdentificationNumber (TIN)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="17"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="YesNoCode">
		<xs:annotation>
			<xs:documentation>Simple Type mit Werteliste für ja-nein Flags. nein=0, ja=1 (Stammdaten: edecDomains.xml/domains/domain[@name="yesNoCode"]/entry/@value)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:integer">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Note">
		<xs:annotation>
			<xs:documentation>Simple Type für Bemerkungen</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:maxLength value="4000"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SchemaVersionType">
		<xs:annotation>
			<xs:documentation>Schema Versionsnummer, die zum Validieren verwendet werden muss</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="[1-9]{0,1}[0-9]{1}\.[0-9]{1,2}"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
