<?xml version="1.0" encoding="UTF-8"?>

<!--Version 1.08
20110927 AdvUnloadInfo and AdvLoadInfo elements added MT, EA
20050218 Element CustomsAgentCode added,
          Attribute AttBerthDepartureDraught changed into AttBerthDepartureDrought AK.
20040906 Element Agent_Zip added, AK.
20040514 Element WasteAgreement added, AK.
20040507 VesselTrafficArrival, attribute name tokens renamed and two new added:
          DomesticArrivalWithCargo
          DomesticArrivalNoCargo
          ForeignArrivalWithCargo
          ForeignArrivalNoCargo
          AK
20040420 Element UnloadCode renamed UnloadCargo, AK.
20040126 AtBc Oyj, AK,MT
-->
<!ELEMENT ConveyanceDecDoc  (Notification) >

<!ELEMENT Notification  (Identification,MessageName,TimeStamp,TypeCode,Sender,
               Vessel,PortVisit) >

<!--Message identification number given by sender-->
<!ELEMENT Identification  (#PCDATA) >

<!--Value: Conveyance Declaration-->
<!ELEMENT MessageName  (#PCDATA) >

<!ATTLIST MessageName
               AttMessageName (Arrival | Departure | Combined)   #REQUIRED  >

<!--Message sent timestamp
Format: YYYYMMDDHHMMSSMMM-->
<!ELEMENT TimeStamp  (#PCDATA) >

<!ELEMENT TypeCode   EMPTY  >

<!ATTLIST TypeCode
               AttTypeCode (Original | Replace | Cancellation)   #REQUIRED  >

<!--Sender identification OV / Y number-->
<!ELEMENT Sender  (#PCDATA) >

<!ELEMENT Vessel   EMPTY  >

<!--Value of weight and tonnage all in tonns
Vessel types:
10 PassengerShip
20 PassengerCarFerry
30 Rail ferry
40 Roro
44 CarCarrier
50 ContainerShip
60 DryBulkVessel
70 DryCargoVessel
80 Tanker
81 OilTanker
82 GasTanker
83 ChemicalTanker
90 Other vessel
91 Tug
93 Barge
94 Pusher
95 PusherBarge
96 TankerBarge
97 OtherVesselWithoutPropulsionMachinery
99 Other Vessel
-->
<!ATTLIST Vessel
               AttVesselCallSign  CDATA    #REQUIRED
               AttVesselIMONumber  CDATA    #REQUIRED
               AttVesselName  CDATA    #REQUIRED
               AttVesselType (10 | 20 | 30 | 40 | 44 | 50 | 60 | 70 | 80 | 81 | 82 |
               83 | 90 | 91 | 93 | 94 | 95 | 96 | 97 | 99)   #REQUIRED
               AttVesselNationality  CDATA    #REQUIRED
               AttVesselIceClass (IAS | IA | IB | IC | II | III | Unknown)
                #REQUIRED
               AttVesselDoubleHull (Yes | No)   #IMPLIED
               AttVesselLoa  CDATA    #IMPLIED
               AttVesselBeam  CDATA    #IMPLIED
               AttVesselDeadWeight  CDATA    #IMPLIED
               AttVesselGrossTonnage  CDATA    #REQUIRED
               AttVesselNetTonnage  CDATA    #REQUIRED  >

<!ELEMENT PortVisit  (CustomsRefNumber,VoyageNumberArrival?,VoyageNumberDeparture?,
               PartyIdNumber,PortToVisit,PreviousPort,NextPort?,
               VesselTrafficArrival,VesselTrafficDeparture,UnloadCargo?,LoadCargo?,
               ShipMasterArrival?,ShipMasterDeparture?,ManagementArrival?,
               ManagementDeparture?,ShipperArrival,ShipperDeparture,AgentName,
               AgentZip,AgentOVTCode,CustomsAgentCode,CarrierName?,NoteArrival?,
               NoteDeparture?,WasteAgreement?,Berth*) >

<!--Customs reference number for the port visit-->
<!ELEMENT CustomsRefNumber  (#PCDATA) >

<!ELEMENT VoyageNumberArrival  (#PCDATA) >

<!ELEMENT VoyageNumberDeparture  (#PCDATA) >

<!--Format used in EDI messages:
0037 + VAT + 5 additional characters
-->
<!ELEMENT PartyIdNumber  (#PCDATA) >

<!ELEMENT PortToVisit  (#PCDATA) >

<!ELEMENT PreviousPort  (#PCDATA) >

<!ELEMENT NextPort  (#PCDATA) >

<!ELEMENT VesselTrafficArrival   EMPTY  >

<!ATTLIST VesselTrafficArrival
               AttVesselTrafficArrival (DomesticArrivalWithCargo |
               DomesticArrivalNoCargo | ForeignArrivalWithCargo |
               ForeignArrivalNoCargo)   #REQUIRED  >

<!ELEMENT VesselTrafficDeparture   EMPTY  >

<!ATTLIST VesselTrafficDeparture
               AttVesselTrafficDeparture (DomesticDeparture | ForeignDeparture)
                #REQUIRED  >

<!ELEMENT UnloadCargo   EMPTY  >

<!ATTLIST UnloadCargo
               AttUnloadCargo (UnloadEntireCargo | UnloadPartialCargo |
               UnloadNoCargo | DepartureInBallast)   #IMPLIED  >

<!ELEMENT LoadCargo   EMPTY  >

<!ATTLIST LoadCargo
               AttLoadCargo (Yes | No)   #REQUIRED  >

<!ELEMENT ShipMasterArrival  (#PCDATA) >

<!ELEMENT ShipMasterDeparture  (#PCDATA) >

<!ELEMENT ManagementArrival  (#PCDATA) >

<!ELEMENT ManagementDeparture  (#PCDATA) >

<!ELEMENT ShipperArrival  (#PCDATA) >

<!ELEMENT ShipperDeparture  (#PCDATA) >

<!ELEMENT AgentName  (#PCDATA) >

<!ELEMENT AgentZip  (#PCDATA) >

<!ELEMENT AgentOVTCode  (#PCDATA) >

<!ELEMENT CustomsAgentCode  (#PCDATA) >

<!ELEMENT CarrierName  (#PCDATA) >

<!ELEMENT NoteArrival  (#PCDATA) >

<!ELEMENT NoteDeparture  (#PCDATA) >

<!ELEMENT WasteAgreement   EMPTY  >

<!ATTLIST WasteAgreement
               AttWasteAgreement (Yes | No)   #REQUIRED  >

<!ELEMENT Berth  (PortAreaCode,BerthCode,AdvUnloadInfo?,AdvLoadInfo?,BerthArrival?,BerthDeparture?) >

<!--Port area coded-->
<!ELEMENT PortAreaCode  (#PCDATA) >

<!--Berth coded-->
<!ELEMENT BerthCode  (#PCDATA) >

<!ELEMENT AdvUnloadInfo   EMPTY  >

<!--Value of advance cargo unload and load
:
301 General cargo       990080301   Kappaletavaraa
302 Containers          990080302   Kontteja
303 Paper, cellulose    990080303   Paperia, Sellua
304 Sawn timber         990080304   Sahatavaraa
305 Metal               990080305   Metallia
306 Raw timber          990080306   Raakapuuta
307 Bulk cargo          990080307   Irtolastia
308 Oil                 990080308   Öljyä
309 Chemicals           990080309   Kemikaalia
310 Other cargo         990080310   Muuta lastia

AttUnloadQuantity1    quantity in tons
AttUnloadQuantity2    quantity in tons
AttLoadQuantity1      quantity in tons
AttLoadQuantity2      quantity in tons
-->

<!ATTLIST AdvUnloadInfo
               AttUnloadCargo1 (301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310)   #IMPLIED
               AttUnloadQuantity1  CDATA    #IMPLIED
               AttUnloadCargo2 (301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310)   #IMPLIED
               AttUnloadQuantity2  CDATA    #IMPLIED  >

<!ELEMENT AdvLoadInfo   EMPTY  >

<!ATTLIST AdvLoadInfo
               AttLoadCargo1 (301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310)   #IMPLIED
               AttLoadQuantity1  CDATA    #IMPLIED
               AttLoadCargo2 (301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310)   #IMPLIED
               AttLoadQuantity2  CDATA    #IMPLIED  >

<!ELEMENT BerthArrival   EMPTY  >

<!--Date format YYMMDD
Time format HHMM
Drought in meters-->
<!ATTLIST BerthArrival
               AttBerthArrivalCode (Actual | Estimate)   #REQUIRED
               AttBerthArrivalDate  CDATA    #IMPLIED
               AttBerthArrivalTime  CDATA    #IMPLIED
               AttBerthArrivalDrought  CDATA    #IMPLIED  >

<!ELEMENT BerthDeparture   EMPTY  >

<!--Date format YYMMDD
Time format HHMM
Drought in meters-->
<!ATTLIST BerthDeparture
               AttBerthDepartureCode (Actual | Estimate)   #REQUIRED
               AttBerthDepartureDate  CDATA    #IMPLIED
               AttBerthDepartureTime  CDATA    #IMPLIED
               AttBerthDepartureDrought  CDATA    #IMPLIED  >

