git_bsmd/nsw/dbh/NSWRequest.xsd
2015-03-29 14:29:43 +00:00

4477 lines
255 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8" ?>
<!--Created with Liquid XML Studio - FREE Community Edition 7.0.3.780 (http://www.liquid-technologies.com)-->
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Root">
<xs:annotation>
<xs:documentation>XSD for communication from reporter to ANSW.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="Version">
<xs:annotation>
<xs:documentation>Version number of schema</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Timestamp" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Timestamp, when the message is sent</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Type">
<xs:annotation>
<xs:documentation>The message type:
- VISIT: Creates a new declaration with the application for a VisitId. It's allowed to send further data in one or more reporting classes
- TRANSIT: same with TransitId
- DATA: Only data for one or more reporting classes are included
- RESET: The data of one or more reporting classes are deleted
- CANCEL: The whole declaration is cancelled</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="VISIT" />
<xs:enumeration value="TRANSIT" />
<xs:enumeration value="DATA" />
<xs:enumeration value="RESET" />
<xs:enumeration value="CANCEL" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:choice>
<xs:element name="VisitId">
<xs:annotation>
<xs:documentation>Required when TransitId is missing and field "Type" is not "VISIT or "TRANSIT"</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="(DE)([A-Z]{3})-([0-9]{4})-([A-Z]{6})" />
<xs:length value="17" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Visit">
<xs:annotation>
<xs:documentation>Reporting class to obtain a VisitId. Required when the value of the field "Type" is "VISIT". Ignored in all other cases.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element name="IMONumber">
<xs:annotation>
<xs:documentation>IMO number (required, if ENI number is ommited). Will result in Error 102 if the provided IMO number is not valid.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{7}" />
<xs:length value="7" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ENINumber">
<xs:annotation>
<xs:documentation>ENI number (required, if IMO number is ommited)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8" />
<xs:pattern value="[0-9]{8}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
<xs:element name="PortOfCall">
<xs:annotation>
<xs:documentation>UNECE LOCODE of Port of Call. Will result in Error 101 if the provided port of call is not in the list of German seaports.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="5" />
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ETAPortOfCall" type="xs:date">
<xs:annotation>
<xs:documentation>Estimated Time of Arrival at Port of Call (ETA-PoC) - (YYYY-MM-DD using GMT timezone)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TransitId">
<xs:annotation>
<xs:documentation>Required when VisitId is missing and field "Type" is not "VISIT or "TRANSIT"</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="(ZZNOK)-([0-9]{4})-([A-Z]{6})" />
<xs:length value="17" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Transit">
<xs:annotation>
<xs:documentation>Reporting class to obtain a TransitId. Required when the value of the field "Type" is "TRANSIT". Ignored in all other cases.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element name="IMONumber">
<xs:annotation>
<xs:documentation>IMO number (required, if ENI number is ommited). Will result in Error 102 if the provided IMO number is not valid.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{7}" />
<xs:length value="7" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ENINumber">
<xs:annotation>
<xs:documentation>ENI number (required, if IMO number is ommited)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8" />
<xs:pattern value="[0-9]{8}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
<xs:element name="ETAKielCanal" type="xs:date">
<xs:annotation>
<xs:documentation>Estimated Time of Arrival at Kiel-Canal Lock (ETA-NOK) - (YYYY-MM-DD using GMT timezone)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element minOccurs="0" name="SisNumbers">
<xs:annotation>
<xs:documentation>A list of SIS numbers. An empty list means that all sent numbers will be deleted. Sending a new list overwrites existing ones completely.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="SisNumber">
<xs:annotation>
<xs:documentation>One SIS number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z0-9]{4}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="RPType">
<xs:annotation>
<xs:documentation>Type of reporter</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="MASTER" />
<xs:enumeration value="SHIPOWNER" />
<xs:enumeration value="CHARTERER" />
<xs:enumeration value="AGENT" />
<xs:enumeration value="PORT_AUTHORITY" />
<xs:enumeration value="CARRIER" />
<xs:enumeration value="OTHERS" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="RPName">
<xs:annotation>
<xs:documentation>Company name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="RPStreetAndNumber">
<xs:annotation>
<xs:documentation>Street/street number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="RPPostalCode">
<xs:annotation>
<xs:documentation>ZIP/Postal code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="RPCity">
<xs:annotation>
<xs:documentation>City</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="RPCountry">
<xs:annotation>
<xs:documentation>Country</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="RPLastName">
<xs:annotation>
<xs:documentation>Last name of contact</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="RPFirstName">
<xs:annotation>
<xs:documentation>First name of contact</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="RPPhone">
<xs:annotation>
<xs:documentation>Phone number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="RPFax">
<xs:annotation>
<xs:documentation>Fax number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="RPEMail">
<xs:annotation>
<xs:documentation>E-Mail adress</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:choice>
<xs:element name="ReportingClassesToReset">
<xs:annotation>
<xs:documentation>Alle reporting classes that are to be reseted. Needs Type=RESET</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="ReportingClassToReset" type="xs:string">
<xs:annotation>
<xs:documentation>One reporting class that shall be reseted.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:sequence>
<xs:element minOccurs="0" name="NOA_NOD">
<xs:annotation>
<xs:documentation>Notification of arrival/departure (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:annotation>
<xs:documentation>Part needed for a Visit</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ETAToPortOfCall" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Estimated Time of Arrival (ETA-PoC) (YYYY-MM-DDThh:mm:ssTZD in UTC / TZD = time zone designator (Z or +hh:mm or -hh:mm)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ETDFromPortOfCall" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Estimated Time of Departure (ETD-PoC) (YYYY-MM-DDThh:mm:ssTZD in UTC / TZD = time zone designator (Z or +hh:mm or -hh:mm). Will result in Error 121 if ETD-PoC ≤ ETA- PoC)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="9" name="CallPurpose">
<xs:annotation>
<xs:documentation>Purpose of call for PoC</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="CallPurposeCode">
<xs:annotation>
<xs:documentation>1 - 999</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1" />
<xs:maxInclusive value="999" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="CallPurposeDescription">
<xs:annotation>
<xs:documentation>Description</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element name="ETAToKielCanal" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Estimated Time of Arrival (ETA-NOK) (YYYY-MM-DDThh:mm:ssTZD in UTC)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ETDFromKielCanal" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Estimated Time of Departure (ETD-NOK) (YYYY-MM-DDThh:mm:ssTZD in UTC). Will result in Error 123 if ETD-NOK ≤ ETA- NOK.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
<xs:element name="LastPort">
<xs:annotation>
<xs:documentation>Last Port (LP) as UNECE LOCODE or ZZUKN if unknown</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ETDFromLastPort" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Estimated Time of Departure Last Port (ETD-LP). Required when LP is given and not ZZUKN (YYYY-MM-DDThh:mm:ssTZD in UTC). Will result in Error 125 if omitted or empty.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NextPort">
<xs:annotation>
<xs:documentation>Next Port (NP) as UNECE LOCODE or ZZUKN if unknown</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="5" />
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ETAToNextPort" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Estimated Time of Arrival Next Port (ETA-NP). Required when NP is given and not ZZUKN (YYYY-MM-DDThh:mm:ssTZD in UTC). Will result in Error 122 if ETD-PoC ≥ ETA NP. Will result in Error 124 if field is omitted or left emtpy and NextPort ≠ "ZZUKN".</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="ATA">
<xs:annotation>
<xs:documentation>Actual Time of Arrival (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ATAPortOfCall" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Actual Time of Arrival (ATA) at first port facility in port of call (YYYY-MM-DDThh:mm:ssTZD)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="ATD">
<xs:annotation>
<xs:documentation>Actual Time of Departure (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ATDPortOfCall" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Actual Time of Departure (ATD) from last port facility in port of call (YYYY-MM-DDThh:mm:ssTZD)(</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="SEC">
<xs:annotation>
<xs:documentation>Sea security (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:annotation>
<xs:documentation>It's possible to simplify this reporting class by just giving the German port where the full information have been yielded already and nothing has changed since then.</xs:documentation>
</xs:annotation>
<xs:element name="SECSimplification">
<xs:annotation>
<xs:documentation>Identification for a simplified report (fixed value Y)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfCallWhereCompleteSECNotified">
<xs:annotation>
<xs:documentation>PortofCall where the complete information was notified (as UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:annotation>
<xs:documentation>Full SEC report</xs:documentation>
</xs:annotation>
<xs:element name="CSOLastName">
<xs:annotation>
<xs:documentation>CSOLastName</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="CSOFirstName">
<xs:annotation>
<xs:documentation>CSO first name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CSOPhone">
<xs:annotation>
<xs:documentation>CSO Telephone</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="CSOFax">
<xs:annotation>
<xs:documentation>CSO Fax</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="CSOEMail">
<xs:annotation>
<xs:documentation>CSO E-Mail</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="99" />
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ValidISSCOnBoard">
<xs:annotation>
<xs:documentation>Valid ISSC on board (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ReasonsForNoValidISSC">
<xs:annotation>
<xs:documentation>Required if ValidISSCOnBoard = N. Will result in Violation 702 if omitted or empty</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ISSCType">
<xs:annotation>
<xs:documentation>ISSC type (full or interim)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="FULL" />
<xs:enumeration value="INTERIM" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ISSCIssuerType">
<xs:annotation>
<xs:documentation>ISSC issuer type (Adminstration or Recognized Security Organization)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ADMINISTRATION" />
<xs:enumeration value="RSO" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ISSCIssuerName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ISSCDateOfExpiration" type="xs:date">
<xs:annotation>
<xs:documentation>Date of expiration ISSC (YYYY-MM-DD)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ApprovedSecurityPlanOnBoard">
<xs:annotation>
<xs:documentation>Approved security plan on board (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CurrentShipSecurityLevel">
<xs:annotation>
<xs:documentation>Current ship security level (1-3)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:enumeration value="1" />
<xs:enumeration value="2" />
<xs:enumeration value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="PortFacilityOfArrival">
<xs:annotation>
<xs:documentation>Port facility of arrival (if known)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="GeneralDescriptionOfCargo">
<xs:annotation>
<xs:documentation>General description of cargo (container, vehivles, conventional general cargo, dry cargo in bulk, liquid cargo in bulk or empty)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="CONTAINER" />
<xs:enumeration value="VEHICLES" />
<xs:enumeration value="CONVENTIONAL_GENERAL_CARGO" />
<xs:enumeration value="DRY_CARGO_IN_BULK" />
<xs:enumeration value="LIQUID_CARGO_IN_BULK" />
<xs:enumeration value="EMPTY" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element maxOccurs="10" name="LastTenPortFacilitiesCalled">
<xs:annotation>
<xs:documentation>Last 10 port facilities called</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="PortFacilityPortName">
<xs:annotation>
<xs:documentation>Port name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="PortFacilityPortCountry">
<xs:annotation>
<xs:documentation>Country where port is located</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortFacilityPortLoCode">
<xs:annotation>
<xs:documentation>LoCode of port where port facility is located (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="5" />
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortFacilityDateOfArrival" type="xs:date">
<xs:annotation>
<xs:documentation>Date of arrival at port facility (YYYY-MM-DD)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortFacilityDateOfDeparture" type="xs:date">
<xs:annotation>
<xs:documentation>Date of departure from port facility (YYYY-MM-DD)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortFacilityShipSecurityLevel">
<xs:annotation>
<xs:documentation>Ship security level at port facility (1-3)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:enumeration value="1" />
<xs:enumeration value="2" />
<xs:enumeration value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="PortFacilitySecurityMattersToReport">
<xs:annotation>
<xs:documentation>Any security matters to report</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortFacilityGISISCode">
<xs:annotation>
<xs:documentation>Port facility's code in the IMO GISIS maritime security database (ISPS)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{4}" />
<xs:length value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="10" name="ShipToShipActivitiesDuringLastTenPortFacilitiesCalled">
<xs:annotation>
<xs:documentation>Ship-to-ship acitivities during last 10 port facilities called</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ShipToShipActivityLocation">
<xs:annotation>
<xs:documentation>At least one Location element must be provided (LoCode, Latitude/Longitude or LocationName). Will result in Violation 701 if omitted or empty.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="ShipToShipActivityLocationName">
<xs:annotation>
<xs:documentation>Location name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ShipToShipActivityLocationLoCode">
<xs:annotation>
<xs:documentation>Location LoCode (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ShipToShipActivityLocationCoordinates">
<xs:complexType>
<xs:sequence>
<xs:element name="ShipToShipActivityLocationCoordinatesLatitude" type="xs:int">
<xs:annotation>
<xs:documentation>Latitude in 1/10000 min. (+/- 90 degrees; North = positive; South = negative; 91 = not available).Examples: 91° (north) -&amp;gt; 54600000 / -90° (south) -&amp;gt; -54000000 / 0°01” (north) -&amp;gt; 167 / 50°50 (north) -&amp;gt; 30500000</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ShipToShipActivityLocationCoordinatesLongitude" type="xs:int">
<xs:annotation>
<xs:documentation>Longitude in 1/10000 min. (+/- 180 degrees; East = positive; West = negative; 181 = not available). Examples: 181° (east) -&gt; 108600000 / -180° (west) -&gt; -108000000 / 0°01” (east) -&gt; 167 / 4°20 (east) -&gt; 2600000</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ShipToShipActivityDateFrom" type="xs:date">
<xs:annotation>
<xs:documentation>Date from (YYYY-MM-DD in GMT)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ShipToShipActivityDateTo" type="xs:date">
<xs:annotation>
<xs:documentation>Date to (YYYY-MM-DD in GMT)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ShipToShipActivityType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ShipToShipActivitySecurityMattersToReport">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="POBA">
<xs:annotation>
<xs:documentation>Persons on board upon arrival (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="TotalPersonsOnBoardUponArrival">
<xs:annotation>
<xs:documentation>Number of persons on board upon arrival</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
<xs:maxInclusive value="99998" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TotalCrewMembersOnBoardUponArrival">
<xs:annotation>
<xs:documentation>Number of crew members on board upon arrival </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TotalPassengersOnBoardUponArrival">
<xs:annotation>
<xs:documentation>Number of passengers on board upon arrival</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TotalStowawaysOnBoardUponArrival">
<xs:annotation>
<xs:documentation>Number of stowaways on board upon arrival</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="POBD">
<xs:annotation>
<xs:documentation>Persons on board upon departure (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="TotalPersonsOnBoardUponDeparture">
<xs:annotation>
<xs:documentation>Number of persons on board upon departure</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
<xs:maxInclusive value="99998" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TotalCrewMembersOnBoardUponDeparture">
<xs:annotation>
<xs:documentation>Number of crew members on board upon departure</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TotalPassengersOnBoardUponDeparture">
<xs:annotation>
<xs:documentation>Number of passengers on board upon departure</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TotalStowawaysOnBoardUponDeparture">
<xs:annotation>
<xs:documentation>Number of stowaways on board upon departure</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="NAME">
<xs:annotation>
<xs:documentation>Name of the captain (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="NameOfMaster">
<xs:annotation>
<xs:documentation>Name of master</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="TIEFA">
<xs:annotation>
<xs:documentation>Draught on arrival (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="DraughtUponArrival_DMT">
<xs:annotation>
<xs:documentation>Draught on arrival in decimetre (DMT)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="TIEFD">
<xs:annotation>
<xs:documentation>Draught on departure (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="DraughtUponDeparture_DMT">
<xs:annotation>
<xs:documentation>Draught on departure in decimetre (DMT)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="BKRA">
<xs:annotation>
<xs:documentation>Bunker fuel on arrival (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="BunkerFuelArrival">
<xs:annotation>
<xs:documentation>Bunker fuel on arrival</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="BunkerFuelType">
<xs:annotation>
<xs:documentation>Name / Type of bunker fuel</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BunkerFuelQuantity_TNE">
<xs:annotation>
<xs:documentation>Quantity of bunker fuel per type in tons (TNE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="BKRD">
<xs:annotation>
<xs:documentation>Bunker fuel on departure (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="BunkerFuelDeparture">
<xs:annotation>
<xs:documentation>Bunker fuel on departure</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="BunkerFuelType">
<xs:annotation>
<xs:documentation>Name / Type of bunker fuel</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BunkerFuelQuantity_TNE">
<xs:annotation>
<xs:documentation>Quantity of bunker fuel per type in tons (TNE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="STAT">
<xs:annotation>
<xs:documentation>Vessel details (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ShipName">
<xs:annotation>
<xs:documentation>Ship name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CallSign">
<xs:annotation>
<xs:documentation>Callsign</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z,a-z,0-9]{4,7}" />
<xs:minLength value="4" />
<xs:maxLength value="7" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MMSINumber">
<xs:annotation>
<xs:documentation>MMSI number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{9,10}" />
<xs:minLength value="9" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Flag">
<xs:annotation>
<xs:documentation>Flag: Alpha-2 code (two-digits flag code) in accordance with the standard ISO 3166-0</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2" />
<xs:pattern value="[A-Z]{2}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LengthOverall_MTR">
<xs:annotation>
<xs:documentation>Length overall in meters (MTR)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Beam_MTR">
<xs:annotation>
<xs:documentation>Beam in meters (MTR)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="GrossTonnage">
<xs:annotation>
<xs:documentation>Gross tonnage</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfRegistry">
<xs:annotation>
<xs:documentation>Port of registry (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="InmarsatCallNumber">
<xs:annotation>
<xs:documentation>Inmarsat call number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ShipType">
<xs:annotation>
<xs:documentation>Ship type (UNECE Rec 28.)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z0-9]{2,3}" />
<xs:minLength value="2" />
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ISMCompany">
<xs:annotation>
<xs:documentation>ISM company information</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ISMCompanyName">
<xs:annotation>
<xs:documentation>ISM name of company . The information is contained in the "Document of Compliance (DOC)" in accordance with IMO Resolution A. 741 (18) (ISM Code).</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ISMCompanyId">
<xs:annotation>
<xs:documentation>ISM company identification number. The information is contained in the "Document of Compliance (DOC)" in accordance with IMO Resolution A. 741 (18) (ISM Code).</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="7" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ISMCompanyStreetAndNumber">
<xs:annotation>
<xs:documentation>ISM Street, Number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ISMCompanyPostalCode">
<xs:annotation>
<xs:documentation>ISM Postal code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ISMCompanyCity">
<xs:annotation>
<xs:documentation>ISM City</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ISMCompanyCountry">
<xs:annotation>
<xs:documentation>ISM Country</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="LADG">
<xs:annotation>
<xs:documentation>Cargo information (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Cargo">
<xs:annotation>
<xs:documentation>Per type of cargo that is moved in Port of call.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="CargoHandlingType">
<xs:annotation>
<xs:documentation>Cargo handling type (load or discharge)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="LOAD" />
<xs:enumeration value="DISCHARGE" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CargoCodeNST">
<xs:annotation>
<xs:documentation>Cargo code according to Cargo catalogue Attachment 1 - NST2007</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="CargoNumberOfItems">
<xs:annotation>
<xs:documentation>Cargo quantity. Required if CargoCodeNST equals 11, 12, 16 or 19 (see Cargo catalogue Attachment 1 - NST2007). Throws Violation 721 if field is omitted of empty.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CargoGrossQuantity_TNE">
<xs:annotation>
<xs:documentation>Gross quantity in tons (TNE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="INFO">
<xs:annotation>
<xs:documentation>Information (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ShippingArea">
<xs:annotation>
<xs:documentation>Shipping area (North sea/baltic sea, europe, overseas)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NORTH_BALTIC_SEA" />
<xs:enumeration value="EUROPE" />
<xs:enumeration value="OVERSEAS" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="RequestedPositionInPortOfCall">
<xs:annotation>
<xs:documentation>Position of ship in port of call</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="SpecialRequirementsOfShipAtBerth">
<xs:annotation>
<xs:documentation>Special requirements of ship (at berth)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ConstructionCharacteristicsOfShip">
<xs:annotation>
<xs:documentation>Special construction characteristics of ship</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FumigatedBulkCargo">
<xs:annotation>
<xs:documentation>Fumigated bulk cargo (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="DeplacementSummerDraught_TNE" type="xs:float">
<xs:annotation>
<xs:documentation>Deplacement (summer draught) in tons (TNE)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="SERV">
<xs:annotation>
<xs:documentation>Services (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Service">
<xs:annotation>
<xs:documentation>Service type</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="ServiceName">
<xs:annotation>
<xs:documentation>Name of service</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ServiceBeneficiary">
<xs:annotation>
<xs:documentation>Beneficiary</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ServiceInvoiceRecipient">
<xs:annotation>
<xs:documentation>Invoice recipient</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="PRE72H">
<xs:annotation>
<xs:documentation>72 hour Preannouncement (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Tanker">
<xs:annotation>
<xs:documentation>Is it a tanker (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TankerDetails">
<xs:annotation>
<xs:documentation>Tanker details. Required if Tanker =Y or will result in Violation 741 if otherwise omitted or left empty.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="TankerHullConfiguration">
<xs:annotation>
<xs:documentation>Tanker hull configuration (single hull, single hull with separatied ballast tanks, double hull)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SINGLE_HULL" />
<xs:enumeration value="SINGLE_HULL_WITH_SBT" />
<xs:enumeration value="DOUBLE_HULL" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ConditionCargoBallastTanks">
<xs:annotation>
<xs:documentation>Condition of cargo and ballast tanks (full, empty, inerted)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="FULL" />
<xs:enumeration value="EMPTY" />
<xs:enumeration value="INERTED" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="NatureOfCargo">
<xs:annotation>
<xs:documentation>Nature of cargo</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="VolumeOfCargo_TNE">
<xs:annotation>
<xs:documentation>Volume of cargo in tons (TNE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PlannedOperations">
<xs:annotation>
<xs:documentation>Planned operations: loading, discharging, others</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PlannedWorks">
<xs:annotation>
<xs:documentation>Planned inspection / works</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="DateOfLastExpandedInspection" type="xs:date">
<xs:annotation>
<xs:documentation>Date of last expanded inspection</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PlannedPeriodOfStay_HUR">
<xs:annotation>
<xs:documentation>Planned period of stay in hours (HUR)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="MDH">
<xs:annotation>
<xs:documentation>Declaration of health (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:annotation>
<xs:documentation>It's possible to simplify this reporting class by just giving the German port where the full information have been yielded already and nothing has changed since then.</xs:documentation>
</xs:annotation>
<xs:element name="MDHSimplification">
<xs:annotation>
<xs:documentation>Identification for a simplified report (fixed value Y)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfCallWhereCompleteMDHNotified">
<xs:annotation>
<xs:documentation>PortofCall where the complete information was notified (as UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element name="NonAccidentialDeathsDuringVoyage">
<xs:annotation>
<xs:documentation>Has any person died on board during the voyage otherwise than as a result of accident? (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="NonAccidentialDeathsDuringVoyageCount">
<xs:annotation>
<xs:documentation>Number of deaths. Required if NonAccidentialDeathsDuringVoyage is filled with Y, otherwise Violation 761 will occur.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SuspisionInfectiousNature">
<xs:annotation>
<xs:documentation>Is there on board or has there been during the international voyage any case of disease which you suspect to be of an infectious nature? (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NumberOfIllPersonsHigherThanExpected">
<xs:annotation>
<xs:documentation>Total number of ill passengers greater than normal/expected (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="NumberOfIllPersons">
<xs:annotation>
<xs:documentation>Number of ill persons. Required if NumberOfIllPersonsHigherThanExpected is filled with Y, otherwise Violation 762 will occur.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SickPersonsOnBoard">
<xs:annotation>
<xs:documentation>Sick persons on board (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MedicalConsulted">
<xs:annotation>
<xs:documentation>Was a medical practitioner consulted? (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AwareOfConditionsForFurtherInfections">
<xs:annotation>
<xs:documentation>Are you aware of any condition on board which may lead to further infections? (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SanitaryMeasuresApplied">
<xs:annotation>
<xs:documentation>Any sanitary measures applied (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="SanitaryMeasuresDetails">
<xs:annotation>
<xs:documentation>Sanitary meassures details. Required if SanitaryMeasuresApplied is filled with Y, otherwise Violation 763 will occur.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="SanitaryMeasuresType">
<xs:annotation>
<xs:documentation>Sanitary measure - Type</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SanitaryMeasuresLocation">
<xs:annotation>
<xs:documentation>Sanitary measure - Location</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SanitaryMeasuresDate" type="xs:date">
<xs:annotation>
<xs:documentation>Sanitary measure - Date (YYYY-MM-DD in GMT)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StowawaysDetected">
<xs:annotation>
<xs:documentation>Stowaways on board (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="StowawaysJoiningLocation">
<xs:annotation>
<xs:documentation>Location stowaways joined ship (if known). Required if StowawaysDetected is Y, otherwise Violation 764 will occur.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SickAnimalOrPetOnBoard">
<xs:annotation>
<xs:documentation>Sick animal or pet on board (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ValidSanitaryControlExemptionOrCertificateOnBoard">
<xs:annotation>
<xs:documentation>Valid sanitation control exemption or control certificate on board (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ValidSanitaryControlExemptionOrCertificate">
<xs:annotation>
<xs:documentation>Sanitary control exemption or certificate. Required if ValidSanitaryControlExemptionOrCertificateOnBoard is Y, otherwise Violation 765 will occur.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="PlaceOfIssue">
<xs:annotation>
<xs:documentation>Place of issue</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DateOfIssue" type="xs:date">
<xs:annotation>
<xs:documentation>Date of issue (YYYY-MM-DD in GMT)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SanitaryControlReinspectionRequired">
<xs:annotation>
<xs:documentation>Reinspection satitary control required (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="InfectedAreaVisited">
<xs:annotation>
<xs:documentation>Has the ship visited an infected area (WHO)? (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="InfectedArea">
<xs:annotation>
<xs:documentation>Infected area. Required if InfectedAreaVisited is Y, otherwise Violation 766 will occur.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="InfectedAreaPort">
<xs:annotation>
<xs:documentation>Infected area - Port</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="InfectedAreaDate" type="xs:date">
<xs:annotation>
<xs:documentation>Infected area - Date (YYYY-MM-DD in GMT)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PortsOfCallLast30Days">
<xs:annotation>
<xs:documentation>Ports of call of the last 30 days</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="PortOfCallLast30Days">
<xs:annotation>
<xs:documentation>Port of call of the last 30 days</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="PortOfCallLast30DaysLocode">
<xs:annotation>
<xs:documentation>Port (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfCallLast30DaysDateOfDeparture" type="xs:date">
<xs:annotation>
<xs:documentation>Date of departure of port (YYYY-MM-DD in GMT)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfCallLast30DaysCrewMembersJoined">
<xs:annotation>
<xs:documentation>Did any crew members join the ship at this port? (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="PortOfCallLast30DaysCrewJoinedShip">
<xs:annotation>
<xs:documentation>Joined Crew members. Required if PortOfCallLast30DaysCrewMembersJoined is Y, otherwise Violation 767 will occur.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="PortOfCallLast30DaysCrewJoinedShipName">
<xs:annotation>
<xs:documentation>Name of crew member</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="WAS">
<xs:annotation>
<xs:documentation>Waste (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element name="WasteDisposalValidExemption">
<xs:annotation>
<xs:documentation>Valid exemption (y). If there is an exemption, no other attribute must be specified in this reporting class.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:sequence>
<xs:element name="LastWasteDisposalPort">
<xs:annotation>
<xs:documentation>Last port where waste or cargo residues were discharged (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LastWasteDisposalDate" type="xs:date">
<xs:annotation>
<xs:documentation>Date of last disposal (YYYY-MM-DD in GMT)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="WasteDisposalServiceProviderName">
<xs:annotation>
<xs:documentation>Name of waste disposal service provider</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WasteDisposalDelivery">
<xs:annotation>
<xs:documentation>Waste disposal order type (all, some, none)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ALL" />
<xs:enumeration value="SOME" />
<xs:enumeration value="NONE" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="9" maxOccurs="9" name="Waste">
<xs:annotation>
<xs:documentation>For each type of waste (see field WasteType) exactly one element is mandatory. This format simplification is only used to simplify transfer between information systems (see also Directive RL2000/59 Art. 6 of Annex II). Results in Violation 783 if one or more waste types are omitted.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="WasteType">
<xs:annotation>
<xs:documentation>Waste/Cargo residues type to be disposed: waste oils (sludge), waste oils (bilge water), other waste oils, food waste, plastic garbage, sewage, cargo-associated waste, and cargo residues.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1_WASTE_OILS-SLUDGE" />
<xs:enumeration value="2_WASTE_OILS-BILGE_WATER" />
<xs:enumeration value="3_WASTE_OILS-OTHERS" />
<xs:enumeration value="4_GARBAGE-FOOD_WASTE" />
<xs:enumeration value="5_GARBAGE-PLASTIC" />
<xs:enumeration value="6_GARBAGE-OTHER" />
<xs:enumeration value="7_SEWAGE" />
<xs:enumeration value="8_CARGO-ASSOCIATED_WASTE" />
<xs:enumeration value="9_CARGO-RESIDUES" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="WasteDescription">
<xs:annotation>
<xs:documentation>Description for type 3, 8, and 9. Required for those type. Will otherwise result in Violation 781.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WasteDisposalAmount_MTQ">
<xs:annotation>
<xs:documentation>Amount of this type to be disposed in cubic meters (MTQ)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="WasteDetails">
<xs:annotation>
<xs:documentation>Waste details. Required only if not all wastes/cargo residues are disposed in port of call. Will result in Violation 782 if left empty or omitted otherwise.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="WasteCapacity_MTQ">
<xs:annotation>
<xs:documentation>Maximum dedicated storage capacity of this type on board in cubic meters (MTQ)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WasteAmountRetained_MTQ">
<xs:annotation>
<xs:documentation>Amount of this type retained on board in cubic meters (MTQ)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WasteDisposalPort">
<xs:annotation>
<xs:documentation>Port of delivery of remaining waste of this type (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WasteAmountGeneratedTillNextPort_MTQ">
<xs:annotation>
<xs:documentation>Estimated waste/cargo residues amount of each type generated between port of call and next port in cubic meters (MTQ)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ConfirmationOfCorrectness">
<xs:annotation>
<xs:documentation>Accurate and correct details given? (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="CREW">
<xs:annotation>
<xs:documentation>Crew list (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="CrewMember">
<xs:annotation>
<xs:documentation>Crew member</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="CrewMemberLastName">
<xs:annotation>
<xs:documentation>Last name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CrewMemberFirstName">
<xs:annotation>
<xs:documentation>First name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CrewMemberPlaceOfBirth">
<xs:annotation>
<xs:documentation>Place of birth</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CrewMemberDateOfBirth" type="xs:date">
<xs:annotation>
<xs:documentation>Date of birth (YYYY-MM-DD in GMT)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CrewMemberGender">
<xs:annotation>
<xs:documentation>Gender</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="MALE" />
<xs:enumeration value="FEMALE" />
<xs:enumeration value="OTHER" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CrewMemberNationality">
<xs:annotation>
<xs:documentation>Nationality: The Alpha-2 code (two-digits flag code) in accordance with the standard ISO 3166-1</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2" />
<xs:pattern value="[A-Z]{2}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CrewMemberIdentityDocumentType">
<xs:annotation>
<xs:documentation>Nature of identity document (Identity card, passport, muster book, picture ID, residental permit, other)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="IDENTITY_CARD" />
<xs:enumeration value="PASSPORT" />
<xs:enumeration value="MUSTER_BOOK" />
<xs:enumeration value="PICTURE_ID" />
<xs:enumeration value="RESIDENTAL_PERMIT" />
<xs:enumeration value="OTHER_LEGAL_IDENTITY_DOCUMENT" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CrewMemberIdentityDocumentId">
<xs:annotation>
<xs:documentation>ID of identity document</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="CrewMemberVisaNumber">
<xs:annotation>
<xs:documentation>If available: Visa number or residence permit number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CrewMemberDuty">
<xs:annotation>
<xs:documentation>Duty on board</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="PAS">
<xs:annotation>
<xs:documentation>Passenger list (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Passenger">
<xs:annotation>
<xs:documentation>Information to each person</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="PassengerLastName">
<xs:annotation>
<xs:documentation>Last name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PassengerFirstName">
<xs:annotation>
<xs:documentation>First name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PassengerPlaceOfBirth">
<xs:annotation>
<xs:documentation>Place of birth</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PassengerDateOfBirth" type="xs:date">
<xs:annotation>
<xs:documentation>Date of birth (YYYY-MM-DD in GMT)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="PassengerGender">
<xs:annotation>
<xs:documentation>Gender</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="MALE" />
<xs:enumeration value="FEMALE" />
<xs:enumeration value="OTHER" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PassengerNationality">
<xs:annotation>
<xs:documentation>Nationality</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2" />
<xs:pattern value="[A-Z]{2}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PassengerIdentityDocumentType">
<xs:annotation>
<xs:documentation>Nature of identity document (Identity card, passport, muster book, picture ID, residental permit, other)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="IDENTITY_CARD" />
<xs:enumeration value="PASSPORT" />
<xs:enumeration value="MUSTER_BOOK" />
<xs:enumeration value="PICTURE_ID" />
<xs:enumeration value="RESIDENTAL_PERMIT" />
<xs:enumeration value="OTHER_LEGAL_IDENTITY_DOCUMENT" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PassengerIdentityDocumentId">
<xs:annotation>
<xs:documentation>ID of identity document</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="PassengerVisaNumber">
<xs:annotation>
<xs:documentation>Visa number or residence permit number (If available)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PassengerPortOfEmbarkation">
<xs:annotation>
<xs:documentation>Port of embarkation (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="5" />
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PassengerPortOfDisembarkation">
<xs:annotation>
<xs:documentation>Port of disembarkation (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="5" />
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PassengerInTransit">
<xs:annotation>
<xs:documentation>Transit passenger (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="BPOL">
<xs:annotation>
<xs:documentation>Border policing message (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="StowawayOnBoard">
<xs:annotation>
<xs:documentation>Stowaways on board (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="PortOfItinerary">
<xs:annotation>
<xs:documentation>Port of itinerary (only for cruise ships)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="PortOfItineraryName">
<xs:annotation>
<xs:documentation>Name of itinerary port</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfItineraryETA" type="xs:dateTime">
<xs:annotation>
<xs:documentation>ETA at port of itinerary (YYYY-MM-DDThh:mm:ssTZD as UTC)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="TOWA">
<xs:annotation>
<xs:documentation>Towage on arrival (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="TowageOnArrival">
<xs:annotation>
<xs:documentation>Towage on arrival</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="TowageOnArrivalName">
<xs:annotation>
<xs:documentation>Name of the towage on arrival</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TowageOnArrivalFlag">
<xs:annotation>
<xs:documentation>Flag of the towage on arrival (Alpha-2 code (two-digits flag code) in accordance with the standard ISO 3166-1)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2" />
<xs:pattern value=" [A-Z]{2}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperator">
<xs:annotation>
<xs:documentation>Identifcation of the towage operator on arrival</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorCompanyName">
<xs:annotation>
<xs:documentation>name of company (DOC Document of compliance)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorStreetAndNumber">
<xs:annotation>
<xs:documentation>Street, Streetnumber</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorPostalCode">
<xs:annotation>
<xs:documentation>Postal code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorCity">
<xs:annotation>
<xs:documentation>City</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorCountry">
<xs:annotation>
<xs:documentation>Country</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorPhone">
<xs:annotation>
<xs:documentation>Phone</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorFax">
<xs:annotation>
<xs:documentation>Fax</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorEMail">
<xs:annotation>
<xs:documentation>E-Mail</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TowageOnArrivalGrossTonnage">
<xs:annotation>
<xs:documentation>Gross tonnage on arrival</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TowageOnArrivalLengthOverall_MTR">
<xs:annotation>
<xs:documentation>Length overall (towage) on arrival in meters (MTR)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TowageOnArrivalBeam_MTR">
<xs:annotation>
<xs:documentation>Beam (towage) on arrival in meters (MTR)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TowageOnArrivalPurposeOfCall">
<xs:annotation>
<xs:documentation>Purpose of call of the towage on arrival</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TowageOnArrivalDraught_DMT">
<xs:annotation>
<xs:documentation>Draught of the towage on arrival in decimeters (DMT)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalRemarks">
<xs:annotation>
<xs:documentation>Remark to towage on arrival: Information on message-relevant data, for example, a HAZA message (for the dangerous goods on board the towage) attached to the VisitID</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="TOWD">
<xs:annotation>
<xs:documentation>Towage on departure (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="TowageOnDeparture">
<xs:complexType>
<xs:sequence>
<xs:element name="TowageOnDepartureName">
<xs:annotation>
<xs:documentation>Name of the towage on departure</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
<xs:whiteSpace value="collapse" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureFlag">
<xs:annotation>
<xs:documentation>Flag of the towage on departure (Alpha-2 code (two-digits flag code) in accordance with the standard ISO 3166-1). Only at a change in the terms of TOWA.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2" />
<xs:pattern value=" [A-Z]{2}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperator">
<xs:annotation>
<xs:documentation>Identifcation of the towage operator on departure</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorCompanyName">
<xs:annotation>
<xs:documentation>name of company</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorStreetAndNumber">
<xs:annotation>
<xs:documentation>Street, Streetnumber</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorPostalCode">
<xs:annotation>
<xs:documentation>Postcode</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorCity">
<xs:annotation>
<xs:documentation>City</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorCountry">
<xs:annotation>
<xs:documentation>Country</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorPhone">
<xs:annotation>
<xs:documentation>Phone</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorFax">
<xs:annotation>
<xs:documentation>Fax</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorEMail">
<xs:annotation>
<xs:documentation>E-Mail</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureLengthOverall_MTR">
<xs:annotation>
<xs:documentation>Length overall (towage) on departure in meters (MTR)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureBeam_MTR">
<xs:annotation>
<xs:documentation>Beam (towage) on departure in meters (MTR)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TowageOnDepartureDraught_DMT">
<xs:annotation>
<xs:documentation>Draught of the towage on departure in decimeters (DMT)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureRemarks">
<xs:annotation>
<xs:documentation>Remark to towage on departure: Information on message-relevant data, for example, a HAZD message (for the dangerous goods on board the towage) attached to the VisitID</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="HAZA">
<xs:annotation>
<xs:documentation>Dangerous goods on arrival (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element name="NoDPGOnBoardOnArrival">
<xs:annotation>
<xs:documentation>No DPG on Board on arrival (y)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:sequence>
<xs:element minOccurs="0" name="DPGManifestOnBoardOnArrival">
<xs:annotation>
<xs:documentation>DPG manifest on board (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="INFShipClass">
<xs:annotation>
<xs:documentation>INF ship class. Needed for dangerous goods class 7 (higly radioactive goods with INF code)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="INF1" />
<xs:enumeration value="INF2" />
<xs:enumeration value="INF3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DPGOnArrival">
<xs:annotation>
<xs:documentation>DG on arrival. Results in Violation 805 if not at least one DPG item is provided.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIMDG">
<xs:annotation>
<xs:documentation>IMDG item.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="UNNumber">
<xs:annotation>
<xs:documentation>UN number. Throws Violation 806 if no material is found fitting to the provided combination of UN number and Packing group.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{4}" />
<xs:length value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="PackingGroup">
<xs:annotation>
<xs:documentation>Packing group (none, I, II, or III). Throws Violation 806 if no material is found fitting to the provided combination of UN number and Packing group.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NONE" />
<xs:enumeration value="I" />
<xs:enumeration value="II" />
<xs:enumeration value="III" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ProperShippingName">
<xs:annotation>
<xs:documentation>Proper shipping name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="IMOClass">
<xs:annotation>
<xs:documentation>IMO class/division. The first letter of the DG class für further checkings (see the following nodes). Throws Violation 807 if IMO class doesn't match.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[1-9]{1}(\.[1-9]{1})?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="CompatibilityGroup">
<xs:annotation>
<xs:documentation>Compatibility group (for class 1 dangerous goods). Results in Violation 801 if this field is omitted or left empty for a class 1 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{1}" />
<xs:length value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TechnicalName">
<xs:annotation>
<xs:documentation>Technical name (according to special regulation 274 / 318 about dangerous substances). Throws Violation 801 if this field is needed for the dangerous good and omitted or left empty.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="NetExplosiveMass_KGM">
<xs:annotation>
<xs:documentation>Net explosive in kilos (KGM) mass for class 1 DG. Results in Violation 801 if this field is omitted or left empty for a class 1 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Flashpoint_CEL">
<xs:annotation>
<xs:documentation>Flashpoint in degrees celsius (CEL). Results in Violation 801 if this field is omitted or left empty for a class 3 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[&lt;&gt;]?\-?[0-9]+(\.[0-9]+)?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Class7NuclideName">
<xs:annotation>
<xs:documentation>Radionuclide name. Results in Violation 801 if this field is omitted or left empty for a class 7 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Class7MaxActivity_BQL">
<xs:annotation>
<xs:documentation>MaxActivity in Becquerel (BQL). Results in Violation 801 if this field is omitted or left empty for a class 7 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Class7Category">
<xs:annotation>
<xs:documentation>Category. Results in Violation 801 if this field is omitted or left empty for a class 7 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
<xs:maxInclusive value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Class7TransportIndex">
<xs:annotation>
<xs:documentation>Transportindex. Results in Violation 801 if this field is omitted or left empty for a class 7 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minInclusive value="0" />
<xs:maxInclusive value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Class7CSI">
<xs:annotation>
<xs:documentation>Criticality Safety Index (CSI). Results in Violation 801 if this field is omitted or left empty for a class 7 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0" />
<xs:maxInclusive value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ControlTemperature_CEL" type="xs:float">
<xs:annotation>
<xs:documentation>Control temperature in degrees celsius (CEL). Results in Violation 801 if this field is omitted or left empty for a class 4 or 5 DG.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="EmergencyTemperature_CEL" type="xs:float">
<xs:annotation>
<xs:documentation>Emergency temperature in degrees celsius (CEL). Results in Violation 801 if this field is omitted or left empty for a class 4 or 5 DG.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="SubsidiaryRisks">
<xs:annotation>
<xs:documentation>Subsidiary risks</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="SubsidiaryRisk">
<xs:annotation>
<xs:documentation>Subsidiary risk (list)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="11" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MarinePollutant">
<xs:annotation>
<xs:documentation>Marine pollutant (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NumberOfPackages">
<xs:annotation>
<xs:documentation>Number of packages</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PackageType">
<xs:annotation>
<xs:documentation>Package type. Name or code from UNECE REC.21 Annex VI.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LimitedQuantities">
<xs:annotation>
<xs:documentation>Limited quantities (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ExceptedQuantities">
<xs:annotation>
<xs:documentation>Excepted quantities (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="NetQuantity_KGM">
<xs:annotation>
<xs:documentation>Net quantity in kilos (KGM). One of NetQuantity_KGM, GrossQuantity_KGM, or Volume_MTQ has to be filled out. Otherwise Violation 802 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="GrossQuantity_KGM">
<xs:annotation>
<xs:documentation>Gross quantity in kilos (KGM). One of NetQuantity_KGM, GrossQuantity_KGM, or Volume_MTQ has to be filled out. Otherwise Violation 802 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Volume_MTQ">
<xs:annotation>
<xs:documentation>Cargo volume in cubic meters (MTQ). One of NetQuantity_KGM, GrossQuantity_KGM, or Volume_MTQ has to be filled out. Otherwise Violation 802 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="GeneralCargoIBC">
<xs:annotation>
<xs:documentation>General cargo (y/n). One of GeneralCargoIBC, ContainerNumber, or VehicleLicenseNumber has to be filled out. Otherwise Violation 808 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ContainerNumber">
<xs:annotation>
<xs:documentation>Container number. One of GeneralCargoIBC, ContainerNumber, or VehicleLicenseNumber has to be filled out. Otherwise Violation 808 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="VehicleLicenseNumber">
<xs:annotation>
<xs:documentation>License plate of vehicle. One of GeneralCargoIBC, ContainerNumber, or VehicleLicenseNumber has to be filled out. Otherwise Violation 808 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StowagePosition">
<xs:annotation>
<xs:documentation>Stowage position</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfLoading">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="5" />
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfDischarge">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Remarks">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIBC">
<xs:annotation>
<xs:documentation>IBC item</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ProductName">
<xs:annotation>
<xs:documentation>Product name or trade name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PollutionCategory">
<xs:annotation>
<xs:documentation>Pollution category (X, Y, Z, or OS)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="X" />
<xs:enumeration value="Y" />
<xs:enumeration value="Z" />
<xs:enumeration value="OS" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Hazards">
<xs:annotation>
<xs:documentation>Hazards (column "d" of the IBC code (P, S, or S/P)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="P" />
<xs:enumeration value="S" />
<xs:enumeration value="S/P" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FlashpointInformation">
<xs:annotation>
<xs:documentation>Flashpoint information (non-flammable, greater 60 degree celsius, or lesser-equal 60 degree celsius)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NF" />
<xs:enumeration value="GT60CEL" />
<xs:enumeration value="LE60CEL" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Flashpoint_CEL">
<xs:annotation>
<xs:documentation>Flashpoint in degrees celsius (CEL). Required if field FlashpointInformation is LE60CEL. Otherwise Violation 804 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[&lt;&gt;]?\-?[0-9]+(\.[0-9]+)?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Quantity_KGM">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StowagePosition">
<xs:annotation>
<xs:documentation>Stowage position</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfLoading">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfDischarge">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="SpecRef15_19">
<xs:annotation>
<xs:documentation>Colums "o" of IBC Code containing value 15.19 (y/n)
IMO RESOLUTION MEPC.119(52)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Remarks">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIGC">
<xs:annotation>
<xs:documentation>IGC item</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="UNNumber">
<xs:annotation>
<xs:documentation>UN-number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{4}" />
<xs:length value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="IMOClass">
<xs:annotation>
<xs:documentation>IMO hazardous class / division</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[1-9]{1}(\.[1-9]{1})?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ProductName">
<xs:annotation>
<xs:documentation>Product name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Quantity_KGM">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StowagePosition">
<xs:annotation>
<xs:documentation>Stowage position</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfLoading">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfDischarge">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Remarks">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIMSBC">
<xs:annotation>
<xs:documentation>IMSBC item</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="BulkCargoShippingName ">
<xs:annotation>
<xs:documentation>Bulk cargo shipping name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MHB">
<xs:annotation>
<xs:documentation>Material hazardous only in bulk (y/n). Taken from the field "class" of the IMSBC description.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="UNNumber">
<xs:annotation>
<xs:documentation>UN-Number. Required if field MHB is N. Taken from the technical name of the IMSBC description. Otherwise Violation 803 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{4}" />
<xs:length value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="IMOClass">
<xs:annotation>
<xs:documentation>IMO hazardous class / division. Required if field MHB is N. Taken from the technical name of the IMSBC description. Otherwise Violation 803 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[1-9]{1}(\.[1-9]{1})?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Quantity_KGM">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StowagePosition">
<xs:annotation>
<xs:documentation>Stowage Position</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfLoading">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfDischarge">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Remarks">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemMARPOLAnnexI">
<xs:annotation>
<xs:documentation>MARPOL AnnexI item</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Name">
<xs:annotation>
<xs:documentation>Name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FlashpointInformation">
<xs:annotation>
<xs:documentation>Flashpoint information (non-flammable, greater 60 degree celsius, or lesser-equal 60 degree celsius)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NF" />
<xs:enumeration value="GT60CEL" />
<xs:enumeration value="LE60CEL" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Flashpoint_CEL">
<xs:annotation>
<xs:documentation>Flashpoint in degrees celsius (CEL). Required if field FlashpointInformation is LE60CEL. Otherwise Violation 804 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[&lt;&gt;]?\-?[0-9]+(\.[0-9]+)?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Quantity_KGM">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StowagePosition">
<xs:annotation>
<xs:documentation>Stowage Position</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfLoading">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfDischarge">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Remarks">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="HAZD">
<xs:annotation>
<xs:documentation>Dangerous goods on departure (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:element name="NoDPGOnBoardOnDeparture">
<xs:annotation>
<xs:documentation>No DPG on Board on departure (y)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:sequence>
<xs:element name="DPGManifestOnBoardOnDeparture">
<xs:annotation>
<xs:documentation>DPG manifest on board (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="INFShipClass">
<xs:annotation>
<xs:documentation>INF ship class. Needed for dangerous goods class 7 (higly radioactive goods with INF code)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="INF1" />
<xs:enumeration value="INF2" />
<xs:enumeration value="INF3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DPGOnDeparture">
<xs:annotation>
<xs:documentation>DG on departure. Results in Violation 805 if not at least one DPG item is provided.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIMDG">
<xs:annotation>
<xs:documentation>IMDG item.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="UNNumber">
<xs:annotation>
<xs:documentation>UN number. Throws Violation 806 if no material is found fitting to the provided combination of UN number and Packing group.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{4}" />
<xs:length value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="PackingGroup">
<xs:annotation>
<xs:documentation>Packing group (none, I, II, or III). Throws Violation 806 if no material is found fitting to the provided combination of UN number and Packing group.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NONE" />
<xs:enumeration value="I" />
<xs:enumeration value="II" />
<xs:enumeration value="III" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ProperShippingName">
<xs:annotation>
<xs:documentation>Proper shipping name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="IMOClass">
<xs:annotation>
<xs:documentation>IMO class/division. The first letter of the DG class für further checkings (see the following nodes). Throws Violation 807 if IMO class doesn't match.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[1-9]{1}(\.[1-9]{1})?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="CompatibilityGroup">
<xs:annotation>
<xs:documentation>Compatibility group (for class 1 dangerous goods). Results in Violation 801 if this field is omitted or left empty for a class 1 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{1}" />
<xs:length value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="TechnicalName">
<xs:annotation>
<xs:documentation>Technical name (according to special regulation 274 / 318 about dangerous substances). Throws Violation 801 if this field is needed for the dangerous good and omitted or left empty.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="NetExplosiveMass_KGM">
<xs:annotation>
<xs:documentation>Net explosive in kilos (KGM) mass for class 1 DG. Results in Violation 801 if this field is omitted or left empty for a class 1 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Flashpoint_CEL">
<xs:annotation>
<xs:documentation>Flashpoint in degrees celsius (CEL). Results in Violation 801 if this field is omitted or left empty for a class 3 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[&lt;&gt;]?\-?[0-9]+(\.[0-9]+)?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Class7NuclideName">
<xs:annotation>
<xs:documentation>Radionuclide name. Results in Violation 801 if this field is omitted or left empty for a class 7 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Class7MaxActivity_BQL">
<xs:annotation>
<xs:documentation>MaxActivity in Becquerel (BQL). Results in Violation 801 if this field is omitted or left empty for a class 7 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minInclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Class7Category">
<xs:annotation>
<xs:documentation>Category. Results in Violation 801 if this field is omitted or left empty for a class 7 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
<xs:maxInclusive value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Class7TransportIndex">
<xs:annotation>
<xs:documentation>Transportindex. Results in Violation 801 if this field is omitted or left empty for a class 7 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minInclusive value="0" />
<xs:maxInclusive value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Class7CSI">
<xs:annotation>
<xs:documentation>Criticality Safety Index (CSI). Results in Violation 801 if this field is omitted or left empty for a class 7 DG.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0" />
<xs:maxInclusive value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ControlTemperature_CEL" type="xs:float">
<xs:annotation>
<xs:documentation>Control temperature in degrees celsius (CEL). Results in Violation 801 if this field is omitted or left empty for a class 4 or 5 DG.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="EmergencyTemperature_CEL" type="xs:float">
<xs:annotation>
<xs:documentation>Emergency temperature in degrees celsius (CEL). Results in Violation 801 if this field is omitted or left empty for a class 4 or 5 DG.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="SubsidiaryRisks">
<xs:annotation>
<xs:documentation>Subsidiary risks</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="SubsidiaryRisk">
<xs:annotation>
<xs:documentation>Subsidiary risk (list)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="11" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MarinePollutant">
<xs:annotation>
<xs:documentation>Marine pollutant (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NumberOfPackages">
<xs:annotation>
<xs:documentation>Number of packages</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PackageType">
<xs:annotation>
<xs:documentation>Package type. Name or code from UNECE REC.21 Annex VI.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LimitedQuantities">
<xs:annotation>
<xs:documentation>Limited quantities (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ExceptedQuantities">
<xs:annotation>
<xs:documentation>Excepted quantities (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="NetQuantity_KGM">
<xs:annotation>
<xs:documentation>Net quantity in kilos (KGM). One of NetQuantity_KGM, GrossQuantity_KGM, or Volume_MTQ has to be filled out. Otherwise Violation 802 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="GrossQuantity_KGM">
<xs:annotation>
<xs:documentation>Gross quantity in kilos (KGM). One of NetQuantity_KGM, GrossQuantity_KGM, or Volume_MTQ has to be filled out. Otherwise Violation 802 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Volume_MTQ">
<xs:annotation>
<xs:documentation>Cargo volume in cubic meters (MTQ). One of NetQuantity_KGM, GrossQuantity_KGM, or Volume_MTQ has to be filled out. Otherwise Violation 802 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="GeneralCargoIBC">
<xs:annotation>
<xs:documentation>General cargo (y/n). One of GeneralCargoIBC, ContainerNumber, or VehicleLicenseNumber has to be filled out. Otherwise Violation 808 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ContainerNumber">
<xs:annotation>
<xs:documentation>Container number. One of GeneralCargoIBC, ContainerNumber, or VehicleLicenseNumber has to be filled out. Otherwise Violation 808 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="VehicleLicenseNumber">
<xs:annotation>
<xs:documentation>License plate of vehicle. One of GeneralCargoIBC, ContainerNumber, or VehicleLicenseNumber has to be filled out. Otherwise Violation 808 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StowagePosition">
<xs:annotation>
<xs:documentation>Stowage position</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfLoading">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="5" />
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfDischarge">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Remarks">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIBC">
<xs:annotation>
<xs:documentation>IBC item</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ProductName">
<xs:annotation>
<xs:documentation>Product name or trade name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PollutionCategory">
<xs:annotation>
<xs:documentation>Pollution category (X, Y, Z, or OS)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="X" />
<xs:enumeration value="Y" />
<xs:enumeration value="Z" />
<xs:enumeration value="OS" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Hazards">
<xs:annotation>
<xs:documentation>Hazards (column "d" of the IBC code (P, S, or S/P)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="P" />
<xs:enumeration value="S" />
<xs:enumeration value="S/P" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FlashpointInformation">
<xs:annotation>
<xs:documentation>Flashpoint information (non-flammable, greater 60 degree celsius, or lesser-equal 60 degree celsius)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NF" />
<xs:enumeration value="GT60CEL" />
<xs:enumeration value="LE60CEL" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Flashpoint_CEL">
<xs:annotation>
<xs:documentation>Flashpoint in degrees celsius (CEL). Required if field FlashpointInformation is LE60CEL. Otherwise Violation 804 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[&lt;&gt;]?\-?[0-9]+(\.[0-9]+)?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Quantity_KGM">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StowagePosition">
<xs:annotation>
<xs:documentation>Stowage position</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfLoading">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfDischarge">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="SpecRef15_19">
<xs:annotation>
<xs:documentation>Colums "o" of IBC Code containing value 15.19 (y/n)
IMO RESOLUTION MEPC.119(52)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Remarks">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIGC">
<xs:annotation>
<xs:documentation>IGC item</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="UNNumber">
<xs:annotation>
<xs:documentation>UN-number</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{4}" />
<xs:length value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="IMOClass">
<xs:annotation>
<xs:documentation>IMO hazardous class / division</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[1-9]{1}(\.[1-9]{1})?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ProductName">
<xs:annotation>
<xs:documentation>Product name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Quantity_KGM">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StowagePosition">
<xs:annotation>
<xs:documentation>Stowage position</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfLoading">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfDischarge">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Remarks">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIMSBC">
<xs:annotation>
<xs:documentation>IMSBC item</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="BulkCargoShippingName ">
<xs:annotation>
<xs:documentation>Bulk cargo shipping name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MHB">
<xs:annotation>
<xs:documentation>Material hazardous only in bulk (y/n). Taken from the field "class" of the IMSBC description.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="UNNumber">
<xs:annotation>
<xs:documentation>UN-Number. Required if field MHB is N. Taken from the technical name of the IMSBC description. Otherwise Violation 803 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{4}" />
<xs:length value="4" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="IMOClass">
<xs:annotation>
<xs:documentation>IMO hazardous class / division. Required if field MHB is N. Taken from the technical name of the IMSBC description. Otherwise Violation 803 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[1-9]{1}(\.[1-9]{1})?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Quantity_KGM">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StowagePosition">
<xs:annotation>
<xs:documentation>Stowage Position</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfLoading">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfDischarge">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Remarks">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemMARPOLAnnexI">
<xs:annotation>
<xs:documentation>MARPOL AnnexI item</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Name">
<xs:annotation>
<xs:documentation>Name</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FlashpointInformation">
<xs:annotation>
<xs:documentation>Flashpoint information (non-flammable, greater 60 degree celsius, or lesser-equal 60 degree celsius)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NF" />
<xs:enumeration value="GT60CEL" />
<xs:enumeration value="LE60CEL" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Flashpoint_CEL">
<xs:annotation>
<xs:documentation>Flashpoint in degrees celsius (CEL). Required if field FlashpointInformation is LE60CEL. Otherwise Violation 804 will be returned.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[&lt;&gt;]?\-?[0-9]+(\.[0-9]+)?" />
<xs:minLength value="1" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Quantity_KGM">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:float">
<xs:minExclusive value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StowagePosition">
<xs:annotation>
<xs:documentation>Stowage Position</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfLoading">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PortOfDischarge">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="Remarks">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
<xs:element minOccurs="0" name="Violations">
<xs:annotation>
<xs:documentation>A list of violations reported by the NSW core system. Declarants do not need to fill this list.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Violation">
<xs:annotation>
<xs:documentation>Information for each reported violation</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ViolationCode">
<xs:annotation>
<xs:documentation>NSW violation code</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="100"/>
<xs:maxInclusive value="999"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ViolationText">
<xs:annotation>
<xs:documentation>Violation description</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="255"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>