Guidelines : 3-MovementService (Port Call, Hazmat, Sercurity) from SSN

This MovementService describes all the information related to a voyage. This section describes the mapping with the SSN message MS2SSN_PortPlus_Not, which contains information about Port Call, Hazmat and Security. Waste declaration is not supported by the CISE data model.

The message structure of MS2SSN_PortPlus_Not can be found here.

XML Example

<?xml version="1.0" encoding="UTF-8"?>
<!-- Mapping with SSN message Port notification -->
<Movement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://cise.jrc.ec.europa.eu/datamodel/last/xsd/Movement.xsd" xsi:schemaLocation="http://www.cise.eu/datamodel/v1/entity/vessel/ https://cise.jrc.ec.europa.eu/datamodel/last/xsd/entity/vessel/Vessel.xsd http://www.cise.eu/datamodel/v1/entity/location/ https://cise.jrc.ec.europa.eu/datamodel/last/xsd/entity/location/PortLocation.xsd http://www.cise.eu/datamodel/v1/entity/location/ https://cise.jrc.ec.europa.eu/datamodel/last/xsd/entity/location/PortFacilityLocation.xsd http://www.cise.eu/datamodel/v1/entity/organization/ https://cise.jrc.ec.europa.eu/datamodel/last/xsd/entity/organization/Organization.xsd http://www.cise.eu/datamodel/v1/entity/document/ https://cise.jrc.ec.europa.eu/datamodel/last/xsd/entity/document/VesselDocument.xsd http://www.cise.eu/datamodel/v1/entity/document/ https://cise.jrc.ec.europa.eu/datamodel/last/xsd/entity/document/Document.xsd http://www.cise.eu/datamodel/v1/entity/person/ https://cise.jrc.ec.europa.eu/datamodel/last/xsd/entity/person/Person.xsd" xmlns:vessel="http://www.cise.eu/datamodel/v1/entity/vessel/" xmlns:loc="http://www.cise.eu/datamodel/v1/entity/location/" xmlns:orga="http://www.cise.eu/datamodel/v1/entity/organization/" xmlns:doc="http://www.cise.eu/datamodel/v1/entity/document/" xmlns:person="http://www.cise.eu/datamodel/v1/entity/person/">
<!-- information about the voyage -->
    <LocationRel><!-- port of departure of the current voyage -->
        <Location xsi:type="loc:PortLocation"><LocationCode>EGDAM</LocationCode></Location>
        <DateTime><EndDate>2017-11-18</EndDate><EndTime>07:35:00Z</EndTime></DateTime>
        <LocationRole>StartPlace</LocationRole>
        <SourceType>Declaration</SourceType>
    </LocationRel>
    <LocationRel><!-- port of arrival of the current voyage -->
        <Location xsi:type="loc:PortLocation">
            <LocationCode>ESBCN</LocationCode>
            <FacilityRel><PortFacilityLocation><PortFacilityNumber>ESBCN:0022</PortFacilityNumber></PortFacilityLocation></FacilityRel>
        </Location><!-- TODO: include the facility in the port of arrival -->
        <DateTime><EndDate>2017-11-22</EndDate><EndTime>02:30:00Z</EndTime><StartDate>2017-11-21</StartDate><StartTime>19:00:00Z</StartTime></DateTime>
        <LocationRole>EndPlace</LocationRole>
        <SourceType>Declaration</SourceType>
    </LocationRel>
    <LocationRel><!-- next port after the current voyage -->
        <Location xsi:type="loc:PortLocation"><LocationCode>FRMRS</LocationCode></Location>
        <DateTime><StartDate>2017-11-22</StartDate><StartTime>17:00:00Z</StartTime></DateTime>
        <LocationRole>NextPlace</LocationRole>
        <SourceType>Declaration</SourceType>
    </LocationRel>
<!-- information about the vessel involved in this voyage -->
    <InvolvedObjectRel>
        <Object xsi:type="vessel:Vessel"> 
            <Name>HANOVER EXPRESS</Name>
            <LocationRel> <!-- place of registration -->
                <Location xsi:type="loc:PortLocation"><LocationCode>DEHAM</LocationCode><PortName>Hamburg</PortName></Location>
                <LocationRole>PortOfRegistry</LocationRole>
            </LocationRel>
            <InvolvedAgentRel> <!-- Company -->
                <Agent xsi:type="orga:Organization">
                    <IdentificationNumber>0217944</IdentificationNumber>
                    <LegalName>HAPAG-LLOYD AG</LegalName>
                    <OrganizationClassification>Private</OrganizationClassification>
                </Agent>
                <AgentRole>ShipOperatingCompany</AgentRole>
            </InvolvedAgentRel>
            <InvolvedAgentRel> <!-- Contact for DG Manifest (for Hazmat notification) -->
                <Agent xsi:type="person:Person">
                    <ContactInformation>
                        BEGIN:VCARD
                        VERSION:4.0
                        N:Dupont;Jean;;Mr.;
                        FN:Jean Dupont
                        ORG:ESBCN
                        TEL;TYPE=work,voice;VALUE=uri:tel:+34123456789
                        TEL;TYPE=work,fax;VALUE=uri:tel:+34012345678
                        EMAIL:jean.dupont@example.com
                        END:VCARD
                    </ContactInformation>
                    <FamilyName>Dupont</FamilyName>
                    <GivenName>Jean</GivenName>
                </Agent>
                <AgentRole>DGPContactPoint</AgentRole>
            </InvolvedAgentRel>
            <InvolvedAgentRel> <!-- Agent in port at arrival (for security notification) -->
                <Agent xsi:type="person:Person">
                    <ContactInformation>
                        BEGIN:VCARD
                        VERSION:4.0
                        N:Dupont;Paul;;Mr.;
                        FN:Paul Dupont
                        ORG:ESBCN
                        TEL;TYPE=work,voice;VALUE=uri:tel:+34123456789
                        TEL;TYPE=work,fax;VALUE=uri:tel:+34012345678
                        EMAIL:paul.dupont@example.com
                        END:VCARD
                    </ContactInformation>
                    <FamilyName>Dupont</FamilyName>
                    <GivenName>Paul</GivenName>
                </Agent>
                <AgentRole>ShipAgent</AgentRole>
            </InvolvedAgentRel>    
            <Nationality>DE</Nationality>
            <TotalPersonsOnBoard>21</TotalPersonsOnBoard>
            <CallSign>DFGX2</CallSign>
            <ConditionOfTheCargoAndBallast>Empty</ConditionOfTheCargoAndBallast>
            <GrossTonnage>93750</GrossTonnage>
            <IMONumber>9343716</IMONumber>
            <INFShipClass>INF1</INFShipClass>
            <INMARSATNumber>+870123456789</INMARSATNumber>
            <ISPSSSecurityLevel>SecurityLevel1</ISPSSSecurityLevel>
            <MMSI>218092000</MMSI>
            <RegistryDate>2008-12-05</RegistryDate>
            <RegistryNumber>123456789</RegistryNumber>
            <ShipConfiguration>DoubleHullTanker</ShipConfiguration>
            <ShipType>GeneralCargoShip</ShipType>
        </Object>
        <ObjectRole>Participant</ObjectRole>
    </InvolvedObjectRel>
<!-- information about Hazmat involved in this voyage -->
    <DocumentRel>
        <Document xsi:type="doc:VesselDocument">
            <ReferenceURI>http://myserver.com/GetDGManifest?imo=9343716</ReferenceURI>
            <DocumentType>DangerousGoodsManifest</DocumentType>
        </Document>
    </DocumentRel>
    <MovementType>Voyage</MovementType>
    <VoyageNumber>123456789</VoyageNumber>
</Movement>

 

Detailed mapping

Information about the vessel identification and details involved in the voyage

CISE data model

element

MS2SSN_PortPlus_Not elementformating or code conversionRemarks
SSNCISE
Movement.InvolvedObjectRel.ObjectRole--fixed value: Participant 
Movement.InvolvedObjectRel.Vessel.IMONumberBody.Notification.VesselIdentification.IMONumber   
Movement.InvolvedObjectRel.Vessel.MMSIBody.Notification.VesselIdentification.MMSINumber   
Movement.InvolvedObjectRel.Vessel.CallSignBody.Notification.VesselIdentification.CallSign   
Movement.InvolvedObjectRel.Vessel.NameBody.Notification.VesselIdentification.ShipName   
Movement.InvolvedObjectRel.Vessel.NationalityBody.Notification.VesselIdentification.Flag   
Movement.InvolvedObjectRel.Vessel.GrossTonnageBody.Notification.VesselsDetails.GrossTonnageDecimaldouble 
Movement.InvolvedObjectRel.Vessel.ShipTypeBody.Notification.VesselsDetails.ShipTypecodescodesSee mapping here
Movement.InvolvedObjectRel.Vessel.INMARSATNumberBody.Notification.VesselsDetails.InmarsatCallNumber.InmarsattexttextIt is possible to support up to 5 different numbers in SSN, only one is supported in CISE
Movement.InvolvedObjectRel.Vessel.RegistryDateBody.Notification.VesselsDetails.CertificateOfRegistry.IssueDateDateXSD::Date (YYY-MM-DD) 
Movement.InvolvedObjectRel.Vessel.RegistryNumberBody.Notification.VesselsDetails.CertificateOfRegistry.CertificateNumber   
Movement.InvolvedObjectRel.Vessel.LocationRel.LocationRole--fixed value: PortOfRegistry 
Movement.InvolvedObjectRel.Vessel.LocationRel.PortLocation.LocationCodeBody.Notification.VesselsDetails.CertificateOfRegistry.PortOfRegistry.LoCodelocodelocode 
Movement.InvolvedObjectRel.Vessel.LocationRel.PortLocation.PortNameBody.Notification.VesselsDetails.CertificateOfRegistry.PortOfRegistry.LocationNametexttext 
Movement.InvolvedObjectRel.Vessel.InvolvedAgentRel.AgentRole--fixed value: ShipOperatingCompany 
Movement.InvolvedObjectRel.Vessel.InvolvedAgentRel.Organization.LegalNameBody.Notification.VesselsDetails.Company.CompanyName   
Movement.InvolvedObjectRel.Vessel.InvolvedAgentRel.Organization.IdentificationNumberBody.Notification.VesselsDetails.Company.IMOCompanyNr   
Movement.InvolvedObjectRel.Vessel.InvolvedAgentRel.Organization.OrganizationClassification--

fixed value: private

If it is a private company. Other possible values: Governmental, InterGovernmental

(not provided if not known)

Movement.InvolvedObjectRel.Vessel.ShipConfigurationBody.Notification.PreArrival3DaysNotificationDetails.ShipConfiguration

Codes:

  • SHT
  • SHT-SBT
  • DHT

Codes:

  • SingleHullTanker
  • SingleHullWithSegregattedBallastTanks
  • DoubleHullTanker
Exact correspondences of the codes
Movement.InvolvedObjectRel.Vessel.ConditionOfTheCargoAndBallastBody.Notification.PreArrival3DaysNotificationDetails.ConditionCargoBallastTanksTextCodes: Full, Empty, Inerted, Other(warning) SSN is a free text, looking for keywords full, empty or inerted to assign a value, if not: Other
Movement.InvolvedObjectRel.Vessel.TotalPersonsOnBoard

Body.Notification.PreArrival24HoursNotificationDetails.POBVoyageTowardsPortOfCall

intint 

 

Information about the voyage

CISE data model

element

MS2SSN_PortPlus_Not elementformating or code conversionRemarks
SSNCISE
Movement.VoyageNumberBody.Notification.VoyageInformation.ShipCallId   
Movement.MovementType--

Fixed value:

Voyage

Movement is the voyage between the last port of call and the current port of call (reporting)
Movement.LocationRel1.PortLocation.LocationCodeBody.Notification.VoyageInformation.LastPortLocodeLocode

LocationRel1 is the description of the last port of call (start of the current voyage)

     
Movement.LocationRel1.LocationRole--Fixed value: StartPlace

Start place means start of the current voyage

Movement.LocationRel1.SourceType--Fixed value: Declaration 
Movement.LocationRel1.DateTime.EndDateBody.Notification.VoyageInformation.ETDFromLastPort  End date and time are used because they represent the end of the call in the port
Movement.LocationRel1.DateTime.EndTimeBody.Notification.VoyageInformation.ETDFromLastPort   
Movement.LocationRel2.PortLocation.LocationCodeBody.Notification.VoyageInformation.PortOfCallLocodeLocode

LocationRel2 is the description of the current port of call (end of the current voyage)

Movement.LocationRel2.PortLocation.FacilityRel.PortFacilityLocation.PortFacilityNumber

Body.Notification.VoyageInformation.PortFacility and

Body.Notification.VoyageInformation.PortFacilityLocode

 

Locode:PortFacility

eg: ESBCN:0022

In SSN, PortFacilityLocode gives the locode of the port, PortFacility gives the 4 digits

In CISE, the PortFacilityNumber is PortFacilityLocode:PortFacility

Movement.LocationRel2.LocationRole--Fixed value: EndPlaceEnd place means end of the current voyage
Movement.LocationRel2.SourceType--Fixed value: DeclarationNota: The value could be "Observed" if the information is reported by the port and not the vessel, for instance once the vessel has arrived (ATA - actual time of arrival)
Movement.LocationRel2.DateTime.StartDate

Body.Notification.VoyageInformation.ETAToPortOfCall

or

Body.Notification.ArrivalNotificationDetails.ATAPortOfCall (if known)

  start = arrival
Movement.LocationRel2.DateTime.StartTime

Body.Notification.VoyageInformation.ETAToPortOfCall

or

Body.Notification.ArrivalNotificationDetails.ATAPortOfCall (if known)

   
Movement.LocationRel2.DateTime.EndDate

Body.Notification.VoyageInformation.ETDFromPortofCall

or

Body.Notification.DepartureNotificationDetails.ATDPortOfCall (if known)

  

end = departure

Movement.LocationRel2.DateTime.EndTime

Body.Notification.VoyageInformation.ETDFromPortofCall

or

Body.Notification.DepartureNotificationDetails.ATDPortOfCall (if known)

   
Movement.LocationRel2.PlannedOperationsBody.Notification.PreArrival3DaysNotificationDetails.PlannedOperationsTextcodes: Loading, Unloading, Other

(warning) SSN is a free text, looking for keywords loading or unloading to assign a value, if not: Other

(warning)Planned Operation is not declared properly: to be fixed in the model

Movement.LocationRel2.PlannedWorksBody.Notification.PreArrival3DaysNotificationDetails.PlannedWorksText

codes: inspection, MaintenanceAndRepair, Other

(warning)SSN is a free text, looking for keywords inspection or maintenance or repair to assign a value, if not: Other

(warning)Planned Works is not declared properly: to be fixed in the model

Movement.LocationRel3.PortLocation.LocationCodeBody.Notification.VoyageInformation.NextPortLocodeLocodeLocationRel3 is the description of the next port of call in the next voyage
Movement.LocationRel3.LocationRole--Fixed value: NextPlace 
Movement.LocationRel3.SourceType--Fixed value: Declaration 
Movement.LocationRel3.DateTime.StartDateBody.Notification.VoyageInformation.ETAToNextPort  start = arrival
Movement.LocationRel3.DateTime.StartTimeBody.Notification.VoyageInformation.ETAToNextPort   

 

Information about Hazmat

The information can use the HazmatNotificationInfoNonEUDepartures or from HazmatNotificationInfoEUDepartures depending where is the information for the current voyage (if last port was EU or not)

CISE data model

element

MS2SSN_PortPlus_Not elementformating or code conversionRemarks
SSNCISE
Movement.InvolvedObjectRel.Vessel.INFShipClassBody.NotificationStatus.HazmatNotificationInfoNonEUDepartures.HazmatCargoInformation.INFShipClass

codes:

  • INF1
  • INF2
  • INF3

 

codes:

  • INF1
  • INF2
  • INF3
 This information should be at the same level of the other vessel information
Movement.DocumentRel.VesselDocument.DocumentType--

fixed value:

DangerousGoodsManifest

 
Movement.DocumentRel.VesselDocument.ReferenceURIBody.NotificationStatus.HazmatNotificationInfoNonEUDepartures.CargoManifest.UrlDetails.Urltexttext 
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.AgentRole--

fixed value:

DGPContactPoint

 This information should be at the same level of the other vessel information
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.Person.FamilyNameBody.NotificationStatus.HazmatNotificationInfoNonEUDepartures.CargoManifest.ContactDetails.LastNametexttext 
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.Person.GivenNameBody.NotificationStatus.HazmatNotificationInfoNonEUDepartures.CargoManifest.ContactDetails.FirstNametexttext 
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.Person.ContactInformation.TEL;TYPE=voiceBody.NotificationStatus.HazmatNotificationInfoNonEUDepartures.CargoManifest.ContactDetails.Phonetexttext 
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.Person.ContactInformation.TEL;TYPE=faxBody.NotificationStatus.HazmatNotificationInfoNonEUDepartures.CargoManifest.ContactDetails.Faxtexttext 
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.Person.ContactInformation.EMAILBody.NotificationStatus.HazmatNotificationInfoNonEUDepartures.CargoManifest.ContactDetails.EMailtexttext 
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.Person.ContactInformation.ORGBody.NotificationStatus.HazmatNotificationInfoNonEUDepartures.CargoManifest.ContactDetails.LoCodetexttext 

 

Information about Security

CISE data model

element

MS2SSN_PortPlus_Not elementformating or code conversionRemarks
SSNCISE
Movement.InvolvedObjectRel.Vessel.ISPSSecurityLevelBody.NotificationStatus.SecurityNotification.CurrentSecurityLevel

codes:

  • SL1
  • SL2
  • SL3

 

codes:

  • SecurityLevel1
  • SecurityLevel2
  • SecurityLevel1
 This information should be at the same level of the other vessel information
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.AgentRole--

fixed value:

ShipAgent

 
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.Person.FamilyNameBody.NotificationStatus.SecurityNotification.AgentInPortAtArrival.AgentNameTextText 
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.Person.ContactInformation.TEL;TYPE=voiceBody.NotificationStatus.SecurityNotification.AgentInPortAtArrival.PhoneTextText 
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.Person.ContactInformation.TEL;TYPE=faxBody.NotificationStatus.SecurityNotification.AgentInPortAtArrival.FaxTextText 
Movement.InvolvedObjectRel.Vessel.InvoledAgentRel.Person.ContactInformation.EMAILBody.NotificationStatus.SecurityNotification.AgentInPortAtArrival.EMailTextText 

Attachments: