git_bsmd/nsw/dbh/NSWRequest V4.0 2016-11-15.xsd
2017-02-01 21:00:29 +00:00

3063 lines
161 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="1" maxOccurs="1" name="Version">
<xs:annotation>
<xs:documentation>Version number of schema</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="4.0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="SourceDocumentVersion">
<xs:annotation>
<xs:documentation>Version information of the source (e.g. file or document) from which the data of this message originates</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string" />
</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="Sender">
<xs:annotation>
<xs:documentation>The sender's ZKV number.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{8}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="SenderReference">
<xs:annotation>
<xs:documentation>A customer reference that can be freely filled and will be send back in the following response. No checks are made on this field. When a new Visit- or TransitId is obtained, it should be used as a reference to match the response to its corresponding request.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="35" />
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
</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" type="VisitID">
<xs:annotation>
<xs:documentation>Required when TransitId is missing and field "Type" is not "VISIT or "TRANSIT"</xs:documentation>
</xs:annotation>
</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" type="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:element>
<xs:element name="ENINumber" type="ENINumber">
<xs:annotation>
<xs:documentation>ENI number (required, if IMO number is ommited)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="PortOfCall" type="UnLoCode">
<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:element>
<xs:element name="ETAPortOfCall" type="NswDateTime">
<xs:annotation>
<xs:documentation>Estimated Time of Arrival at Port of Call (ETA-PoC) - (YYYY-MM-DD with optional time value using GMT timezone)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TransitId" type="TransitID">
<xs:annotation>
<xs:documentation>Required when VisitId is missing and field "Type" is not "VISIT or "TRANSIT"</xs:documentation>
</xs:annotation>
</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" type="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:element>
<xs:element name="ENINumber" type="ENINumber">
<xs:annotation>
<xs:documentation>ENI number (required, if IMO number is ommited)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element name="ETAKielCanal" type="NswDateTime">
<xs:annotation>
<xs:documentation>Estimated Time of Arrival at Kiel-Canal Lock (ETA-NOK) - (YYYY-MM-DD with optional time value 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" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</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="AGNT">
<xs:annotation>
<xs:documentation>Agent (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty" />
<xs:element name="AgentCompanyName" type="String99">
<xs:annotation>
<xs:documentation>Name of ship agency</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="AgentStreetAndNumber" type="String99">
<xs:annotation>
<xs:documentation>Street, Number</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="AgentPostalCode" type="String24">
<xs:annotation>
<xs:documentation>Postal code</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="AgentCity" type="String99">
<xs:annotation>
<xs:documentation>City</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="AgentCountry" type="String99">
<xs:annotation>
<xs:documentation>Country</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AgentLastName" type="String99">
<xs:annotation>
<xs:documentation>Last name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="AgentFirstName" type="String99">
<xs:annotation>
<xs:documentation>First name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AgentPhone" type="String99">
<xs:annotation>
<xs:documentation>Phone</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="AgentFax" type="String99">
<xs:annotation>
<xs:documentation>Fax</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="AgentEMail" type="String99">
<xs:annotation>
<xs:documentation>E-Mail</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<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:element minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:annotation>
<xs:documentation>Part needed for a Visit</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="ETAToPortOfCall" type="NswDateTime">
<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="NswDateTime">
<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:int">
<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="String99">
<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="NswDateTime">
<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="NswDateTime">
<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" type="UnLoCode">
<xs:annotation>
<xs:documentation>Last Port (LP) as UNECE LOCODE or ZZUKN if unknown</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="ETDFromLastPort" type="NswDateTime">
<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" type="UnLoCode">
<xs:annotation>
<xs:documentation>Next Port (NP) as UNECE LOCODE or ZZUKN if unknown</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="ETAToNextPort" type="NswDateTime">
<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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ATAPortOfCall" type="NswDateTime">
<xs:annotation>
<xs:documentation>Actual Time of Arrival (ATA) at first port facility in port of call (YYYY-MM-DDThh:mm:ssTZD).
The provided value must not be more than 15 minutes in the future, otherwise Violation 141 will occur.
If ATA is notified before any voyage information was provided via NOA_NOD, Violation 861 will occur.</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ATDPortOfCall" type="NswDateTime">
<xs:annotation>
<xs:documentation>Actual Time of Departure (ATD) from last port facility in port of call (YYYY-MM-DDThh:mm:ssTZD).
The provided value must not be more than 15 minutes in the future, otherwise Violation 141 will occur.
If ATD is notified before any voyage information was provided via NOA_NOD, Violation 881 will occur.
If ATD is notified before ATA was provided, Violation 882 will occur.</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:sequence>
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="KielCanalPassage">
<xs:annotation>
<xs:documentation>Information about a planned Kiel Canal Passage.
This attribute is only applicable for a port call (VISIT). If it is provided for a TRANSIT, Violation 705 occurs.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="KielCanalPassagePlanned" type="FixedStringY">
<xs:annotation>
<xs:documentation>Identification for a planned Kiel-Canal passage (fixed value Y)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="KielCanalPassagePlannedIncoming" type="NswDateTime">
<xs:annotation>
<xs:documentation>Estimated Time of Arrival at Kiel-Canal Lock (ETA-NOK) - Date incoming journey to PortOfCall. Mandatory if KielCanalPassagePlanned=Y and KielCanalPassagePlannedOutgoing is empty.
If neither KielCanalPassagePlannedIncoming nor KielCanalPassagePlannedOutgoing is provided, Violation 706 occurs.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="KielCanalPassagePlannedOutgoing" type="NswDateTime">
<xs:annotation>
<xs:documentation>Estimated Time of Arrival at Kiel-Canal Lock (ETA-NOK) - Date outgoing journey from PortOfCall. Mandatory if KielCanalPassagePlanned=Y and KielCanalPassagePlannedIncoming is empty.
If neither KielCanalPassagePlannedIncoming nor KielCanalPassagePlannedOutgoing is provided, Violation 706 occurs.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CurrentShipSecurityLevel" type="ShipSecurityLevel">
<xs:annotation>
<xs:documentation>Current ship security level (1-3)</xs:documentation>
</xs:annotation>
</xs:element>
<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" type="FixedStringY">
<xs:annotation>
<xs:documentation>Identification for a simplified report (fixed value Y)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfCallWhereCompleteSECNotified" type="UnLoCode">
<xs:annotation>
<xs:documentation>PortofCall where the complete information was notified (requires the LOCODE of a german seaport, otherwise Violation 704 will occur)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:annotation>
<xs:documentation>Full SEC report</xs:documentation>
</xs:annotation>
<xs:element name="CSOLastName" type="String99">
<xs:annotation>
<xs:documentation>CSOLastName</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CSOFirstName" type="String99">
<xs:annotation>
<xs:documentation>CSO first name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CSOPhone" type="String99">
<xs:annotation>
<xs:documentation>CSO Telephone</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CSOFax" type="String99">
<xs:annotation>
<xs:documentation>CSO Fax</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CSOEMail" type="String99">
<xs:annotation>
<xs:documentation>CSO E-Mail</xs:documentation>
</xs:annotation>
</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="YesOrNo" />
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ReasonsForNoValidISSC" type="String255">
<xs:annotation>
<xs:documentation>Required if ValidISSCOnBoard = N. Will result in Violation 702 if omitted or empty</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ISSCType" type="ISSCType">
<xs:annotation>
<xs:documentation>ISSC type (full or interim)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ISSCIssuerType" type="ISSCIssuerType">
<xs:annotation>
<xs:documentation>ISSC issuer type (Adminstration or Recognized Security Organization)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ISSCIssuerName" type="String99" />
<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="YesOrNo" />
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="PortFacilityOfArrival" type="String99">
<xs:annotation>
<xs:documentation>Port facility of arrival (if known)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="GeneralDescriptionOfCargo" type="CargoDescription">
<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: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" type="String99">
<xs:annotation>
<xs:documentation>Port name. Either port name and country or the LOCODE must be given or Violation 703 will occur.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="PortFacilityPortCountry" type="String99">
<xs:annotation>
<xs:documentation>Country where port is located. Either port name and country or the LOCODE must be given or Violation 703 will occur.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="PortFacilityPortLoCode" type="UnLoCode">
<xs:annotation>
<xs:documentation>LoCode of port where port facility is located (UNECE LOCODE). Either port name and country or the LOCODE must be given or Violation 703 will occur.</xs:documentation>
</xs:annotation>
</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" type="ShipSecurityLevel">
<xs:annotation>
<xs:documentation>Ship security level at port facility (1-3)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="PortFacilitySecurityMattersToReport" type="String255">
<xs:annotation>
<xs:documentation>Any security matters to report</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortFacilityGISISCode" type="Numeric4">
<xs:annotation>
<xs:documentation>Port facility's code in the IMO GISIS maritime security database (ISPS)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="ShipToShipActivities">
<xs:annotation>
<xs:documentation>List of ship-to-ship acitivities</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" type="String255">
<xs:annotation>
<xs:documentation>Location name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="ShipToShipActivityLocationLoCode" type="UnLoCode">
<xs:annotation>
<xs:documentation>Location LoCode (UNECE LOCODE)</xs:documentation>
</xs:annotation>
</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:annotation>
<xs:documentation>Ship-to-ship-activity, coded.
Use one of the codes specifying the purpose of the conveyance call declared in UN/EDIFACT DataElement 8025 (http://www.unece.org/trade/untdid/d01a/tred/tred8025.htm).</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
<xs:maxInclusive value="23" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ShipToShipActivitySecurityMattersToReport" type="String255" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:sequence>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NameOfMaster" type="String99">
<xs:annotation>
<xs:documentation>Name of master</xs:documentation>
</xs:annotation>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DraughtUponArrival_DMT" type="DecimalPositive1">
<xs:annotation>
<xs:documentation>Draught on arrival in decimetre (DMT)</xs:documentation>
</xs:annotation>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DraughtUponDeparture_DMT" type="DecimalPositive1">
<xs:annotation>
<xs:documentation>Draught on departure in decimetre (DMT)</xs:documentation>
</xs:annotation>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<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" type="String99">
<xs:annotation>
<xs:documentation>Name / Type of bunker fuel</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BunkerFuelQuantity_TNE" type="DecimalPositive3">
<xs:annotation>
<xs:documentation>Quantity of bunker fuel per type in tons (TNE)</xs:documentation>
</xs:annotation>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<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" type="String99">
<xs:annotation>
<xs:documentation>Name / Type of bunker fuel</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BunkerFuelQuantity_TNE" type="DecimalPositive3">
<xs:annotation>
<xs:documentation>Quantity of bunker fuel per type in tons (TNE)</xs:documentation>
</xs:annotation>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ShipName" type="String99">
<xs:annotation>
<xs:documentation>Ship name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CallSign" type="CallSign">
<xs:annotation>
<xs:documentation>Callsign</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MMSINumber" type="MMSINumber">
<xs:annotation>
<xs:documentation>MMSI number</xs:documentation>
</xs:annotation>
</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" type="DecimalPositive2">
<xs:annotation>
<xs:documentation>Length overall in meters (MTR)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Beam_MTR" type="DecimalPositive2">
<xs:annotation>
<xs:documentation>Beam in meters (MTR)</xs:documentation>
</xs:annotation>
</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" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of registry (UNECE LOCODE)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="InmarsatCallNumber" type="String99">
<xs:annotation>
<xs:documentation>Inmarsat call number</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TransportMode">
<xs:annotation>
<xs:documentation>Transportmode according to UNECE Rec 19 (Maritime transport (1) / Inland water transport (8))</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1" />
<xs:enumeration value="8" />
</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 minOccurs="0" name="ISMCompany">
<xs:annotation>
<xs:documentation>ISM company information. Must be provided when GrossTonnage &gt;= 500 or Violation 821 will occur.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ISMCompanyName" type="String99">
<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: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" type="String99">
<xs:annotation>
<xs:documentation>ISM Street, Number</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="ISMCompanyPostalCode" type="String24">
<xs:annotation>
<xs:documentation>ISM Postal code</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="ISMCompanyCity" type="String99">
<xs:annotation>
<xs:documentation>ISM City</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="ISMCompanyCountry" type="String99">
<xs:annotation>
<xs:documentation>ISM Country</xs:documentation>
</xs:annotation>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<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" type="HandlingType">
<xs:annotation>
<xs:documentation>Cargo handling type (load or discharge)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CargoLACode">
<xs:annotation>
<xs:documentation>Cargo type code according to the key list of cargo types and units</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="10" />
<xs:maxInclusive value="99" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CargoCodeNST">
<xs:annotation>
<xs:documentation>Division code of cargo according to NST-2007</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{2}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="CargoCodeNST_3">
<xs:annotation>
<xs:documentation>Group code of cargo according to NST-2007 (3rd digit after the "." (dot) of the group code only!)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9AB]{1}" />
</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" type="DecimalPositive3">
<xs:annotation>
<xs:documentation>Gross quantity in tons (TNE)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CargoPortOfLoading" type="UnLoCode">
<xs:annotation>
<xs:documentation>LoCode of port where the cargo was loaded on board (UNECE LOCODE) or ZZUKN if unknown</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CargoPortOfDischarge" type="UnLoCode">
<xs:annotation>
<xs:documentation>LoCode of port where the cargo will be discharged (UNECE LOCODE) or ZZUKN if unknown</xs:documentation>
</xs:annotation>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ShippingArea" type="ShippingArea">
<xs:annotation>
<xs:documentation>Shipping area (North sea/baltic sea, europe, overseas)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortArea" type="PortArea">
<xs:annotation>
<xs:documentation>Port area</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RequestedPositionInPortOfCall" type="String99">
<xs:annotation>
<xs:documentation>Position of ship in port of call</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="SpecialRequirementsOfShipAtBerth" type="String255">
<xs:annotation>
<xs:documentation>Special requirements of ship (at berth)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="ConstructionCharacteristicsOfShip" type="StringZero99">
<xs:annotation>
<xs:documentation>Special construction characteristics of ship</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="BowThrusterPower" type="StringZero24">
<xs:annotation>
<xs:documentation>Power of BowThruster</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="SternThrusterPower" type="StringZero24">
<xs:annotation>
<xs:documentation>Power of SternThruster</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FumigatedBulkCargo">
<xs:annotation>
<xs:documentation>Fumigated bulk cargo (y/n)</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="YesOrNo">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="DeadWeightSummer_TNE" type="DecimalPositive3">
<xs:annotation>
<xs:documentation>Dead weight summer 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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<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" type="String99">
<xs:annotation>
<xs:documentation>Name of service</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ServiceBeneficiary" type="String99">
<xs:annotation>
<xs:documentation>Beneficiary</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ServiceInvoiceRecipient" type="String99">
<xs:annotation>
<xs:documentation>Invoice recipient</xs:documentation>
</xs:annotation>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Tanker" type="YesOrNo">
<xs:annotation>
<xs:documentation>Is it a tanker (y/n)</xs:documentation>
</xs:annotation>
</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" type="HullConfiguration">
<xs:annotation>
<xs:documentation>Tanker hull configuration (single hull, single hull with separatied ballast tanks, double hull)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ConditionCargoBallastTanks" type="TankCondition">
<xs:annotation>
<xs:documentation>Condition of cargo and ballast tanks (full, empty, inerted)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="NatureOfCargo" type="String99">
<xs:annotation>
<xs:documentation>Nature of cargo</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="VolumeOfCargo_TNE" type="DecimalPositive3">
<xs:annotation>
<xs:documentation>Volume of cargo in tons (TNE)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PlannedOperations" type="String99">
<xs:annotation>
<xs:documentation>Planned operations: loading, discharging, others</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PlannedWorks" type="String255">
<xs:annotation>
<xs:documentation>Planned inspection / works</xs:documentation>
</xs:annotation>
</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" type="DecimalZeroPositive2">
<xs:annotation>
<xs:documentation>Planned period of stay in hours (HUR)</xs:documentation>
</xs:annotation>
</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:sequence>
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<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" type="FixedStringY">
<xs:annotation>
<xs:documentation>Identification for a simplified report (fixed value Y)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfCallWhereCompleteMDHNotified">
<xs:annotation>
<xs:documentation>PortofCall where the complete information was notified (requires the LOCODE of a german seaport, otherwise Violation 768 will occur).</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="UnLoCode">
<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" type="YesOrNo">
<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: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" type="YesOrNo">
<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:element>
<xs:element name="NumberOfIllPersonsHigherThanExpected" type="YesOrNo">
<xs:annotation>
<xs:documentation>Total number of ill passengers greater than normal/expected (y/n)</xs:documentation>
</xs:annotation>
</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" type="YesOrNo">
<xs:annotation>
<xs:documentation>Sick persons on board (y/n)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MedicalConsulted" type="YesOrNo">
<xs:annotation>
<xs:documentation>Was a medical practitioner consulted? (y/n)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AwareOfConditionsForFurtherInfections" type="YesOrNo">
<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:element>
<xs:element name="SanitaryMeasuresApplied" type="YesOrNo">
<xs:annotation>
<xs:documentation>Any sanitary measures applied (y/n)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" 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" type="String99">
<xs:annotation>
<xs:documentation>Sanitary measure - Type</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SanitaryMeasuresLocation" type="String99">
<xs:annotation>
<xs:documentation>Sanitary measure - Location</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SanitaryMeasuresDate" type="xs:date">
<xs:annotation>
<xs:documentation>Sanitary measure - Date</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StowawaysDetected" type="YesOrNo">
<xs:annotation>
<xs:documentation>Stowaways on board (y/n)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="StowawaysJoiningLocation" type="String99">
<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:element>
<xs:element name="SickAnimalOrPetOnBoard" type="YesOrNo">
<xs:annotation>
<xs:documentation>Sick animal or pet on board (y/n)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ValidSanitaryControlExemptionOrCertificateOnBoard" type="YesOrNo">
<xs:annotation>
<xs:documentation>Valid sanitation control exemption or control certificate on board (y/n)</xs:documentation>
</xs:annotation>
</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" type="String99">
<xs:annotation>
<xs:documentation>Place of issue</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DateOfIssue" type="xs:date">
<xs:annotation>
<xs:documentation>Date of issue</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SanitaryControlReinspectionRequired" type="YesOrNo">
<xs:annotation>
<xs:documentation>Reinspection satitary control required (y/n)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InfectedAreaVisited" type="YesOrNo">
<xs:annotation>
<xs:documentation>Has the ship visited an infected area (WHO)? (y/n)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" 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" type="String99">
<xs:annotation>
<xs:documentation>Infected area - Port</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InfectedAreaDate" type="xs:date">
<xs:annotation>
<xs:documentation>Infected area - Date</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" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port (UNECE LOCODE)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfCallLast30DaysDateOfDeparture" type="xs:date">
<xs:annotation>
<xs:documentation>Date of departure of port</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfCallLast30DaysCrewMembersJoined" type="YesOrNo">
<xs:annotation>
<xs:documentation>Did any crew members join the ship at this port? (y/n)</xs:documentation>
</xs:annotation>
</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" type="String99">
<xs:annotation>
<xs:documentation>Name of crew member</xs:documentation>
</xs:annotation>
</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:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="WAS">
<xs:annotation>
<xs:documentation>Waste (reporting class)</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name="WasteDisposalValidExemption" type="FixedStringY">
<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:element>
<xs:sequence>
<xs:element name="LastWasteDisposalPort" type="UnLoCode">
<xs:annotation>
<xs:documentation>Last port where waste or cargo residues were discharged (UNECE LOCODE)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LastWasteDisposalDate" type="xs:date">
<xs:annotation>
<xs:documentation>Date of last disposal</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="WasteDisposalServiceProviderName" type="String99">
<xs:annotation>
<xs:documentation>Name of waste disposal service provider</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WasteDisposalDelivery" type="DisposalType">
<xs:annotation>
<xs:documentation>Waste disposal order type (all, some, none)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Waste">
<xs:annotation>
<xs:documentation>All waste types provided in Directive 2015/2087 Annex II must be provided (except for Sewage) at least once. Results in Violation 783 if one or more mandatory waste types are omitted.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="WasteType">
<xs:annotation>
<xs:documentation>Type of waste to be disposed</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="WasteCode">
<xs:annotation>
<xs:documentation>Waste code according to Waste Type Codes list. Results in Violation 784 if an invalid waste code is provided.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1000" />
<xs:maxInclusive value="9999" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="WasteDescription" type="String99">
<xs:annotation>
<xs:documentation>Textual description, required for those waste types marked in the Waste Type Codes list. Will otherwise result in Violation 781.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="WasteDisposalAmount_MTQ" type="DecimalZeroPositive3">
<xs:annotation>
<xs:documentation>Amount of waste of this waste type to be disposed in cubic meters (MTQ)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WasteDisposedAtLastPort_MTQ" type="DecimalZeroPositive3">
<xs:annotation>
<xs:documentation>Amount of waste of this type that has been discharged at the last port of disposal in cubic meters (MTQ)</xs:documentation>
</xs:annotation>
</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" type="DecimalZeroPositive3">
<xs:annotation>
<xs:documentation>Maximum dedicated storage capacity of waste of this type on board in cubic meters (MTQ)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WasteAmountRetained_MTQ" type="DecimalZeroPositive3">
<xs:annotation>
<xs:documentation>Amount of waste of this type retained on board in cubic meters (MTQ)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WasteDisposalPort" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of delivery of remaining waste of this type (UNECE LOCODE)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WasteAmountGeneratedTillNextPort_MTQ" type="DecimalZeroPositive3">
<xs:annotation>
<xs:documentation>Estimated waste/cargo residues amount of waste of this type generated between port of call and next port in cubic meters (MTQ)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ConfirmationOfCorrectnessAndSufficiency" type="FixedStringY">
<xs:annotation>
<xs:documentation>Confirmation that the above details are accurate and correct, and there is sufficient dedicated onboard capacity to store all waste generated between notification and the next port at which waste will be delivered (fixed value Y).</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:sequence>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="unbounded" name="CrewMember">
<xs:annotation>
<xs:documentation>Crew member</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="CrewMemberLastName" type="String99">
<xs:annotation>
<xs:documentation>Last name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CrewMemberFirstName" type="String99">
<xs:annotation>
<xs:documentation>First name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CrewMemberPlaceOfBirth" type="String99">
<xs:annotation>
<xs:documentation>Place of birth</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CrewMemberDateOfBirth" type="xs:date">
<xs:annotation>
<xs:documentation>Date of birth</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CrewMemberGender" type="Gender">
<xs:annotation>
<xs:documentation>Gender</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CrewMemberNationality" type="UnCountryCode">
<xs:annotation>
<xs:documentation>Nationality: The Alpha-2 code (two-digits flag code) in accordance with the standard ISO 3166-1; "YY" for stateless</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CrewMemberIdentityDocumentType" type="IdDocType">
<xs:annotation>
<xs:documentation>Nature of identity document (Identity card, passport, muster book, picture ID, residental permit, other)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CrewMemberIdentityDocumentId" type="String99">
<xs:annotation>
<xs:documentation>ID of identity document</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CrewMemberVisaNumber" type="String99">
<xs:annotation>
<xs:documentation>If available: Visa number or residence permit number</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CrewMemberDuty" type="String99">
<xs:annotation>
<xs:documentation>Duty on board</xs:documentation>
</xs:annotation>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<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" type="String99">
<xs:annotation>
<xs:documentation>Last name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PassengerFirstName" type="String99">
<xs:annotation>
<xs:documentation>First name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PassengerPlaceOfBirth" type="String99">
<xs:annotation>
<xs:documentation>Place of birth</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PassengerDateOfBirth" type="xs:date">
<xs:annotation>
<xs:documentation>Date of birth</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="PassengerGender" type="Gender">
<xs:annotation>
<xs:documentation>Gender</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PassengerNationality" type="UnCountryCode">
<xs:annotation>
<xs:documentation>The Alpha-2 code (two-digits flag code) in accordance with the standard ISO 3166-1; "YY" for stateless</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PassengerIdentityDocumentType" type="IdDocType">
<xs:annotation>
<xs:documentation>Nature of identity document (Identity card, passport, muster book, picture ID, residental permit, other)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PassengerIdentityDocumentId" type="String99">
<xs:annotation>
<xs:documentation>ID of identity document</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="PassengerVisaNumber" type="String99">
<xs:annotation>
<xs:documentation>Visa number or residence permit number (If available)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PassengerPortOfEmbarkation" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of embarkation (UNECE LOCODE)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PassengerPortOfDisembarkation" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of disembarkation (UNECE LOCODE)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PassengerInTransit" type="YesOrNo">
<xs:annotation>
<xs:documentation>Transit passenger (y/n)</xs:documentation>
</xs:annotation>
</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StowawayOnBoard" type="YesOrNo">
<xs:annotation>
<xs:documentation>Stowaways on board (y/n)</xs:documentation>
</xs:annotation>
</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" type="String99">
<xs:annotation>
<xs:documentation>Name of itinerary port</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfItineraryETA" type="NswDateTime">
<xs:annotation>
<xs:documentation>ETA at port of itinerary (UTC). If time is provided, use TZD (time zone designator, Z or +hh:mm or -hh:mm).</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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<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" type="String99">
<xs:annotation>
<xs:documentation>Name of the towage on arrival</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TowageOnArrivalFlag" type="UnCountryCode">
<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: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" type="String99">
<xs:annotation>
<xs:documentation>name of company (DOC Document of compliance)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorStreetAndNumber" type="String99">
<xs:annotation>
<xs:documentation>Street, Streetnumber</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorPostalCode" type="String24">
<xs:annotation>
<xs:documentation>Postal code</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorCity" type="String99">
<xs:annotation>
<xs:documentation>City</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorCountry" type="String99">
<xs:annotation>
<xs:documentation>Country</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorPhone" type="String99">
<xs:annotation>
<xs:documentation>Phone</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorFax" type="String99">
<xs:annotation>
<xs:documentation>Fax</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalOperatorEMail" type="String99">
<xs:annotation>
<xs:documentation>E-Mail</xs:documentation>
</xs:annotation>
</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" type="DecimalPositive2">
<xs:annotation>
<xs:documentation>Length overall (towage) on arrival in meters (MTR)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TowageOnArrivalBeam_MTR" type="DecimalPositive2">
<xs:annotation>
<xs:documentation>Beam (towage) on arrival in meters (MTR)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TowageOnArrivalPurposeOfCall" type="String99">
<xs:annotation>
<xs:documentation>Purpose of call of the towage on arrival</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TowageOnArrivalDraught_DMT" type="DecimalPositive1">
<xs:annotation>
<xs:documentation>Draught of the towage on arrival in decimeters (DMT)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnArrivalRemarks" type="String255">
<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: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 minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="unbounded" name="TowageOnDeparture">
<xs:complexType>
<xs:sequence>
<xs:element name="TowageOnDepartureName" type="String99">
<xs:annotation>
<xs:documentation>Name of the towage on departure</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureFlag" type="UnCountryCode">
<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: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" type="String99">
<xs:annotation>
<xs:documentation>name of company</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorStreetAndNumber" type="String99">
<xs:annotation>
<xs:documentation>Street, Streetnumber</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorPostalCode" type="String24">
<xs:annotation>
<xs:documentation>Postcode</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorCity" type="String99">
<xs:annotation>
<xs:documentation>City</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorCountry" type="String99">
<xs:annotation>
<xs:documentation>Country</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorPhone" type="String99">
<xs:annotation>
<xs:documentation>Phone</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorFax" type="String99">
<xs:annotation>
<xs:documentation>Fax</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureOperatorEMail" type="String99">
<xs:annotation>
<xs:documentation>E-Mail</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureLengthOverall_MTR" type="DecimalPositive2">
<xs:annotation>
<xs:documentation>Length overall (towage) on departure in meters (MTR)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureBeam_MTR" type="DecimalPositive2">
<xs:annotation>
<xs:documentation>Beam (towage) on departure in meters (MTR)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TowageOnDepartureDraught_DMT" type="DecimalPositive1">
<xs:annotation>
<xs:documentation>Draught of the towage on departure in decimeters (DMT)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="TowageOnDepartureRemarks" type="String255">
<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: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:sequence>
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name="NoDPGOnBoardOnArrival" type="FixedStringY">
<xs:annotation>
<xs:documentation>No DPG on Board on arrival (y)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence>
<xs:element minOccurs="0" name="DPGManifestOnBoardOnArrival" type="YesOrNo">
<xs:annotation>
<xs:documentation>DPG manifest on board (y/n)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="INFShipClass" type="INFClassType">
<xs:annotation>
<xs:documentation>INF ship class. Needed for dangerous goods class 7 (higly radioactive goods with INF code)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="MOUBaltic" type="YesOrNo">
<xs:annotation>
<xs:documentation>Memorandum of Understanding for the Transport of Dangerous Goods on Ro-Ro Ships in the Baltic</xs:documentation>
</xs:annotation>
</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" type="IMDGPosition">
<xs:annotation>
<xs:documentation>IMDG item.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIBC" type="IBCPosition">
<xs:annotation>
<xs:documentation>IBC item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIGC" type="IGCPosition">
<xs:annotation>
<xs:documentation>IGC item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIMSBC" type="IMSBCPosition">
<xs:annotation>
<xs:documentation>IMSBC item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemMARPOLAnnexI" type="MARPOLPosition">
<xs:annotation>
<xs:documentation>MARPOL AnnexI item</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:sequence>
</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:sequence>
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
<xs:annotation>
<xs:documentation>Reporter data</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name="NoDPGOnBoardOnDeparture" type="FixedStringY">
<xs:annotation>
<xs:documentation>No DPG on Board on departure (y)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence>
<xs:element name="DPGManifestOnBoardOnDeparture" type="YesOrNo">
<xs:annotation>
<xs:documentation>DPG manifest on board (y/n)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="INFShipClass" type="INFClassType">
<xs:annotation>
<xs:documentation>INF ship class. Needed for dangerous goods class 7 (higly radioactive goods with INF code)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="MOUBaltic" type="YesOrNo">
<xs:annotation>
<xs:documentation>Memorandum of Understanding for the Transport of Dangerous Goods on Ro-Ro Ships in the Baltic</xs:documentation>
</xs:annotation>
</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" type="IMDGPosition">
<xs:annotation>
<xs:documentation>IMDG item.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIBC" type="IBCPosition">
<xs:annotation>
<xs:documentation>IBC item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIGC" type="IGCPosition">
<xs:annotation>
<xs:documentation>IGC item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemIMSBC" type="IMSBCPosition">
<xs:annotation>
<xs:documentation>IMSBC item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DPGItemMARPOLAnnexI" type="MARPOLPosition">
<xs:annotation>
<xs:documentation>MARPOL AnnexI item</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
</xs:sequence>
</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:complexType name="ReportingParty">
<xs:sequence>
<xs:element minOccurs="0" name="RPType">
<xs:annotation>
<xs:documentation>Type of reporter</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="ReportingPartyType">
<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" type="String99">
<xs:annotation>
<xs:documentation>Company name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="RPStreetAndNumber" type="String99">
<xs:annotation>
<xs:documentation>Street/street number</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="RPPostalCode" type="String24">
<xs:annotation>
<xs:documentation>ZIP/Postal code</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="RPCity" type="String99">
<xs:annotation>
<xs:documentation>City</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="RPCountry" type="String99">
<xs:annotation>
<xs:documentation>Country</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RPLastName" type="String99">
<xs:annotation>
<xs:documentation>Last name of contact</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="RPFirstName" type="String99">
<xs:annotation>
<xs:documentation>First name of contact</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RPPhone" type="String99">
<xs:annotation>
<xs:documentation>Phone number</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="RPFax" type="String99">
<xs:annotation>
<xs:documentation>Fax number</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RPEMail" type="String99">
<xs:annotation>
<xs:documentation>E-Mail adress</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IMDGPosition">
<xs:sequence>
<xs:element name="UNNumber" type="Numeric4">
<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:element>
<xs:element minOccurs="0" name="PackingGroup" type="PackingGroupType">
<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:element>
<xs:element name="ProperShippingName" type="String500">
<xs:annotation>
<xs:documentation>Proper shipping name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IMOClass" type="IMOClassWithCompType">
<xs:annotation>
<xs:documentation>IMO class/division/(compatibility group). 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:element>
<xs:element minOccurs="0" name="TechnicalName" type="String255">
<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:element>
<xs:element minOccurs="0" name="NetExplosiveMass_KGM" type="DecimalZeroPositive3">
<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:element>
<xs:element minOccurs="0" name="Flashpoint_CEL" type="Temperature">
<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:element>
<xs:element minOccurs="0" name="Class7NuclideName" type="String99">
<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:element>
<xs:element minOccurs="0" name="Class7MaxActivity_BQL" type="DecimalZeroPositive6">
<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: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="DecimalZeroPositive1">
<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="DecimalZeroPositive2">
<xs:maxInclusive value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="ControlTemperature_CEL">
<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:simpleType>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="2" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="EmergencyTemperature_CEL">
<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:simpleType>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="2" />
</xs:restriction>
</xs:simpleType>
</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="5" 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" type="YesOrNo">
<xs:annotation>
<xs:documentation>Marine pollutant (y/n)</xs:documentation>
</xs:annotation>
</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" type="String99">
<xs:annotation>
<xs:documentation>Package type. Name or code from UNECE REC.21 Annex VII.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LimitedQuantities" type="YesOrNo">
<xs:annotation>
<xs:documentation>Limited quantities (y/n)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ExceptedQuantities" type="YesOrNo">
<xs:annotation>
<xs:documentation>Excepted quantities (y/n)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="NetQuantity_KGM" type="DecimalZeroPositive3">
<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:element>
<xs:element minOccurs="0" name="GrossQuantity_KGM" type="DecimalZeroPositive3">
<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:element>
<xs:element minOccurs="0" name="Volume_MTQ" type="DecimalZeroPositive3">
<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:element>
<xs:element minOccurs="0" name="GeneralCargoIBC" type="YesOrNo">
<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:element>
<xs:element minOccurs="0" name="ContainerNumber" type="String24">
<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:element>
<xs:element minOccurs="0" name="VehicleLicenseNumber" type="String24">
<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:element>
<xs:choice>
<xs:element name="StowagePosition" type="String24">
<xs:annotation>
<xs:documentation>Stowage position. In case of a container the position must be given in Bay-Row-Tier notation (use appropriate fields).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence>
<xs:element name="Bay" type="Numeric3">
<xs:annotation>
<xs:documentation>Notation bay. Use this for stowage position in case of container.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Row" type="Numeric2">
<xs:annotation>
<xs:documentation>Notation row. Use this for stowage position in case of container.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Tier" type="Numeric2">
<xs:annotation>
<xs:documentation>Notation tier. Use this for stowage position in case of container.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:choice>
<xs:element name="PortOfLoading" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfDischarge" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Remarks" type="String255">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Identifier" type="IdentifierType">
<xs:annotation>
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IBCPosition">
<xs:sequence>
<xs:element name="ProductName" type="String255">
<xs:annotation>
<xs:documentation>Product name or trade name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PollutionCategory" type="PollutionCategoryType">
<xs:annotation>
<xs:documentation>Pollution category (X, Y, Z, or OS)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Hazards" type="HazardType">
<xs:annotation>
<xs:documentation>Hazards (column "d" of the IBC code (P, S, or S/P)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FlashpointInformation" type="FlashpointInfoType">
<xs:annotation>
<xs:documentation>Flashpoint information (non-flammable, greater 60 degree celsius, or lesser-equal 60 degree celsius)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Flashpoint_CEL" type="Temperature">
<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:element>
<xs:element name="Quantity_KGM" type="DecimalPositive3">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StowagePosition" type="String24">
<xs:annotation>
<xs:documentation>Stowage position</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfLoading" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfDischarge" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="SpecRef15_19" type="YesOrNo">
<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:element>
<xs:element minOccurs="0" name="Remarks" type="String255">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Identifier" type="IdentifierType">
<xs:annotation>
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IGCPosition">
<xs:sequence>
<xs:element minOccurs="0" name="UNNumber" type="Numeric4">
<xs:annotation>
<xs:documentation>UN-number</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="IMOClass" type="IMOClassType">
<xs:annotation>
<xs:documentation>IMO hazardous class / division</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProductName" type="String255">
<xs:annotation>
<xs:documentation>Product name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Quantity_KGM" type="DecimalPositive3">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StowagePosition" type="String24">
<xs:annotation>
<xs:documentation>Stowage position</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfLoading" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfDischarge" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Remarks" type="String255">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Identifier" type="IdentifierType">
<xs:annotation>
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IMSBCPosition">
<xs:sequence>
<xs:element name="BulkCargoShippingName" type="String255">
<xs:annotation>
<xs:documentation>Bulk cargo shipping name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MHB" type="YesOrNo">
<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:element>
<xs:element minOccurs="0" name="UNNumber" type="Numeric4">
<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:element>
<xs:element minOccurs="0" name="IMOClass" type="IMOClassType">
<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:element>
<xs:element name="Quantity_KGM" type="DecimalPositive3">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StowagePosition" type="String24">
<xs:annotation>
<xs:documentation>Stowage Position</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfLoading" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfDischarge" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Remarks" type="String255">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Identifier" type="IdentifierType">
<xs:annotation>
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MARPOLPosition">
<xs:sequence>
<xs:element name="Name" type="String255">
<xs:annotation>
<xs:documentation>Name</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="FlashpointInformation" type="FlashpointInfoType">
<xs:annotation>
<xs:documentation>Flashpoint information (non-flammable, greater 60 degree celsius, or lesser-equal 60 degree celsius)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Flashpoint_CEL" type="Temperature">
<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:element>
<xs:element name="Quantity_KGM" type="DecimalPositive3">
<xs:annotation>
<xs:documentation>Quantity in kilos (KGM)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StowagePosition" type="String24">
<xs:annotation>
<xs:documentation>Stowage Position</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfLoading" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of loading (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PortOfDischarge" type="UnLoCode">
<xs:annotation>
<xs:documentation>Port of discharge (UNECE LOCODE). Use ZZUKN if port is unknown.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Remarks" type="String255">
<xs:annotation>
<xs:documentation>Remark</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="Identifier" type="IdentifierType">
<xs:annotation>
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="CallSign">
<xs:restriction base="xs:string">
<xs:minLength value="4" />
<xs:maxLength value="7" />
<xs:pattern value="[A-Z,a-z,0-9]{4,7}" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CargoDescription">
<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:simpleType name="DecimalPositive1">
<xs:restriction base="xs:decimal">
<xs:minExclusive value="0" />
<xs:fractionDigits value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DecimalPositive2">
<xs:restriction base="xs:decimal">
<xs:minExclusive value="0" />
<xs:fractionDigits value="2" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DecimalPositive3">
<xs:restriction base="xs:decimal">
<xs:minExclusive value="0" />
<xs:fractionDigits value="3" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DecimalZeroPositive1">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
<xs:fractionDigits value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DecimalZeroPositive2">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
<xs:fractionDigits value="2" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DecimalZeroPositive3">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
<xs:fractionDigits value="3" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DecimalZeroPositive6">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0" />
<xs:fractionDigits value="6" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="DisposalType">
<xs:restriction base="xs:string">
<xs:enumeration value="ALL" />
<xs:enumeration value="SOME" />
<xs:enumeration value="NONE" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ENINumber">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{8}" />
<xs:length value="8" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FixedStringY">
<xs:restriction base="xs:string">
<xs:pattern value="Y" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="FlashpointInfoType">
<xs:restriction base="xs:string">
<xs:enumeration value="NF" />
<xs:enumeration value="GT60CEL" />
<xs:enumeration value="LE60CEL" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Gender">
<xs:restriction base="xs:string">
<xs:enumeration value="MALE" />
<xs:enumeration value="FEMALE" />
<xs:enumeration value="OTHER" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="HandlingType">
<xs:restriction base="xs:string">
<xs:enumeration value="LOAD" />
<xs:enumeration value="DISCHARGE" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="HazardType">
<xs:restriction base="xs:string">
<xs:enumeration value="P" />
<xs:enumeration value="S" />
<xs:enumeration value="S/P" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="HullConfiguration">
<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:simpleType name="IdDocType">
<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:simpleType name="IdentifierType">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="36" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="IMOClassType">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="10" />
<xs:pattern value="[1-9]{1}(\.[1-9]{1})?" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="IMOClassWithCompType">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="10" />
<xs:pattern value="[1-9]{1}(\.[1-9]{1}([A-Z]{1})?)?" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="IMONumber">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{7}" />
<xs:length value="7" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="INFClassType">
<xs:restriction base="xs:string">
<xs:enumeration value="INF1" />
<xs:enumeration value="INF2" />
<xs:enumeration value="INF3" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ISSCIssuerType">
<xs:restriction base="xs:string">
<xs:enumeration value="ADMINISTRATION" />
<xs:enumeration value="RSO" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ISSCType">
<xs:restriction base="xs:string">
<xs:enumeration value="FULL" />
<xs:enumeration value="INTERIM" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MMSINumber">
<xs:restriction base="xs:string">
<xs:minLength value="9" />
<xs:maxLength value="10" />
<xs:pattern value="[0-9]{9,10}" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NswDateTime">
<xs:restriction base="xs:string">
<xs:pattern value="\d{4}-\d{2}-\d{2}(T(\d{2}:\d{2}:\d{2}(\.\d)?)?)?([+\-]\d\d:\d\d|Z)?" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Numeric2">
<xs:restriction base="xs:string">
<xs:length value="2" />
<xs:pattern value="[0-9]{2}" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Numeric3">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{3}" />
<xs:length value="3" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Numeric4">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{4}" />
<xs:length value="4" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PackingGroupType">
<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:simpleType name="PollutionCategoryType">
<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:simpleType name="PortArea">
<xs:restriction base="xs:string">
<xs:minLength value="2" />
<xs:maxLength value="4" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ReportingPartyType">
<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:simpleType name="ShippingArea">
<xs:restriction base="xs:string">
<xs:enumeration value="NORTH_BALTIC_SEA" />
<xs:enumeration value="EUROPE" />
<xs:enumeration value="OVERSEAS" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ShipSecurityLevel">
<xs:restriction base="xs:int">
<xs:enumeration value="1" />
<xs:enumeration value="2" />
<xs:enumeration value="3" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String24">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String99">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String255">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="String500">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="500" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="StringZero24">
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="24" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="StringZero99">
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="99" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TankCondition">
<xs:restriction base="xs:string">
<xs:enumeration value="FULL" />
<xs:enumeration value="EMPTY" />
<xs:enumeration value="INERTED" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Temperature">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
<xs:maxLength value="10" />
<xs:pattern value="[&lt;&gt;]?\-?[0-9]+(\.[0-9]+)?" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TransitID">
<xs:restriction base="xs:string">
<xs:pattern value="(ZZNOK)-([0-9]{4})-([A-Z]{6})" />
<xs:length value="17" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="UnCountryCode">
<xs:restriction base="xs:string">
<xs:length value="2" />
<xs:pattern value="[A-Z]{2}" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="UnLoCode">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}[A-Z0-9]{3}" />
<xs:length value="5" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="VisitID">
<xs:restriction base="xs:string">
<xs:pattern value="(DE)([A-Z0-9]{3})-([0-9]{4})-([A-Z]{6})" />
<xs:length value="17" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="WasteType">
<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:simpleType name="YesOrNo">
<xs:restriction base="xs:string">
<xs:enumeration value="Y" />
<xs:enumeration value="N" />
</xs:restriction>
</xs:simpleType>
</xs:schema>