Portbase Vessel Call

Schema for a vessel call notification in the Portbase Port Community System, representing a vessel's arrival at a Dutch port.

MaritimePortLogisticsCustomsCargoShipping

Properties

Name Type Description
vesselCallId string Portbase system-generated vessel call identifier
imoNumber string IMO vessel identification number (7 digits)
mmsi string Maritime Mobile Service Identity (9 digits)
vesselName string Official vessel name
callSign string Radio call sign
flag string ISO 3166-1 alpha-3 flag state code
portCode string UN/LOCODE of the destination port (e.g., NLRTM)
terminalCode string Terminal code within the port
status string Current vessel call status
eta string Estimated time of arrival (UTC)
etd string Estimated time of departure (UTC)
ata stringnull Actual time of arrival (UTC)
atd stringnull Actual time of departure (UTC)
shippingAgent string Shipping agent company name or EORI number
pilotageRequired boolean Whether pilotage is required for this vessel call
tugAssistance boolean Whether tug assistance has been requested
maxDraftForward number Maximum forward draft in meters
maxDraftAft number Maximum aft draft in meters
grossTonnage integer Gross tonnage of the vessel
netTonnage integer Net tonnage of the vessel
View JSON Schema on GitHub

JSON Schema

portbase-vessel-call-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.github.io/port-community-systems/json-schema/portbase-vessel-call-schema.json",
  "title": "Portbase Vessel Call",
  "description": "Schema for a vessel call notification in the Portbase Port Community System, representing a vessel's arrival at a Dutch port.",
  "type": "object",
  "properties": {
    "vesselCallId": {
      "type": "string",
      "description": "Portbase system-generated vessel call identifier"
    },
    "imoNumber": {
      "type": "string",
      "pattern": "^\\d{7}$",
      "description": "IMO vessel identification number (7 digits)"
    },
    "mmsi": {
      "type": "string",
      "pattern": "^\\d{9}$",
      "description": "Maritime Mobile Service Identity (9 digits)"
    },
    "vesselName": {
      "type": "string",
      "description": "Official vessel name"
    },
    "callSign": {
      "type": "string",
      "description": "Radio call sign"
    },
    "flag": {
      "type": "string",
      "maxLength": 3,
      "description": "ISO 3166-1 alpha-3 flag state code"
    },
    "portCode": {
      "type": "string",
      "description": "UN/LOCODE of the destination port (e.g., NLRTM)"
    },
    "terminalCode": {
      "type": "string",
      "description": "Terminal code within the port"
    },
    "status": {
      "type": "string",
      "enum": ["EXPECTED", "ARRIVED", "BERTHED", "DEPARTED", "CANCELLED"],
      "description": "Current vessel call status"
    },
    "eta": {
      "type": "string",
      "format": "date-time",
      "description": "Estimated time of arrival (UTC)"
    },
    "etd": {
      "type": "string",
      "format": "date-time",
      "description": "Estimated time of departure (UTC)"
    },
    "ata": {
      "type": ["string", "null"],
      "format": "date-time",
      "description": "Actual time of arrival (UTC)"
    },
    "atd": {
      "type": ["string", "null"],
      "format": "date-time",
      "description": "Actual time of departure (UTC)"
    },
    "shippingAgent": {
      "type": "string",
      "description": "Shipping agent company name or EORI number"
    },
    "pilotageRequired": {
      "type": "boolean",
      "description": "Whether pilotage is required for this vessel call"
    },
    "tugAssistance": {
      "type": "boolean",
      "description": "Whether tug assistance has been requested"
    },
    "maxDraftForward": {
      "type": "number",
      "description": "Maximum forward draft in meters"
    },
    "maxDraftAft": {
      "type": "number",
      "description": "Maximum aft draft in meters"
    },
    "grossTonnage": {
      "type": "integer",
      "description": "Gross tonnage of the vessel"
    },
    "netTonnage": {
      "type": "integer",
      "description": "Net tonnage of the vessel"
    }
  },
  "required": ["imoNumber", "vesselName", "portCode", "eta", "etd", "status"],
  "examples": [
    {
      "vesselCallId": "RTM-2026-00987654",
      "imoNumber": "9811614",
      "mmsi": "636020485",
      "vesselName": "MSC OSCAR",
      "callSign": "A8IG5",
      "flag": "LBR",
      "portCode": "NLRTM",
      "terminalCode": "ECT-DELTA",
      "status": "EXPECTED",
      "eta": "2026-03-22T06:00:00Z",
      "etd": "2026-03-24T18:00:00Z",
      "ata": null,
      "atd": null,
      "shippingAgent": "MSC AGENCY ROTTERDAM",
      "pilotageRequired": true,
      "tugAssistance": true,
      "grossTonnage": 197362
    }
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/portbase-vessel-call"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.