Port Statistics Data Submission

This page explains what data is expected from ports and how port statistics data can be submitted. Data can be submitted either as an Excel file or through the National Port API.

Submission Options

There are three practical ways to submit port statistics data:

Excel File Submission

Options 1 and 2 both use the same Excel file format. The difference is how the Excel file is created: either manually by filling in the official template, or automatically by generating a file from a port system.

Downloads

Excel format documentation:
Download MLT2-Port-Excel-File-Format-Documentation-v1.0.1.pdf

Official Excel template:
Download Satamaraportti_v1.0.1.xlsx

Preview of the empty Excel template used for port statistics reporting
Preview of the empty Excel template.

Submission: Completed Excel files are submitted by email. The official recipient email address will be confirmed and communicated separately. Ports that already have an agreed submission process may continue using it.

Option 1: Fill in the Official Excel Template Manually

Choose this option if port statistics are prepared manually and no system integration is available. Download the official Excel template, fill in the required information, save the file, and submit it by email.

Option 2: Generate an Excel File Automatically

Choose this option if your port system can produce port statistics data electronically, but direct API integration is not available.

Instead of filling in the template manually, your system may generate an Excel file that follows the same structure, field definitions and validation rules as the official Excel template.

Excel Required Data

The following data must be available in the Excel content for successful processing.

Report Header Data

Port Call Data

MLT2 Excel Required Fields

Excel File Rules and Validation Notes

Option 3: National Port API

If your port has technical integration capability, port statistics data can be submitted directly to the National Port API as a JSON message.

Before You Start

API Documentation

Port statistics submissions use the POST /v1/ports/statistics endpoint.

🔗 Open the Port Statistics OpenAPI Documentation

Example JSON Payload

The example below shows a more complete API submission with report header data, vessel identification, arrival and departure times, traffic direction, passenger data and cargo rows. The exact required fields and allowed values are defined in the OpenAPI specification.

{
  "reportHeaderData": {
    "reportVersion": "1.0",
    "reporter": "Example Port Ltd",
    "reportType": "Port",
    "timeframeStart": "2026-05-01T00:00:00+03:00",
    "timeframeEnd": "2026-05-31T23:59:59+03:00"
  },
  "portCallInformation": [
    {
      "visitId": "FI20260501-001",
      "reportingPort": "FIHEL",
      "shipName": "EXAMPLE VESSEL",
      "imoNumber": "9123456",
      "mmsiNumber": "230123456",
      "callSign": "OJAA",

      "dateTimeOfArrival": "2026-05-03T08:30:00+03:00",
      "dateTimeOfDeparture": "2026-05-04T16:45:00+03:00",

      "arrivesFromDomesticOrForeignPort": "Foreign",
      "departsToDomesticOrForeignPort": "Domestic",

      "passengersArrival": 120,
      "passengersDeparture": 95,

      "inwardCargo": [
        {
          "cargoGroup": "General cargo",
          "cargoType": "Container",
          "transportUnitType": "Container 20 ft",
          "grossWeightTonnes": 250.5,
          "numberOfTransportUnits": 18
        }
      ],
      "outwardCargo": [
        {
          "cargoGroup": "General cargo",
          "cargoType": "Container",
          "transportUnitType": "Container 40 ft",
          "grossWeightTonnes": 310.0,
          "numberOfTransportUnits": 12
        }
      ]
    }
  ]
}

Note: This example is illustrative. Before implementation, always verify the exact field names, required fields, data types and code values from the official OpenAPI specification.

Data Model

The API uses the same port statistics data content as the Excel format, but the data is submitted as JSON. The official JSON structure, field names, required fields and allowed values are defined in the OpenAPI documentation.

Do not implement the JSON structure based on this page alone. Use the OpenAPI specification as the technical source of truth.