Menu

Next Port Operations

Using real-time AIS and machine learning models, the Next Port module by GateHouse Maritime computes predictions for vessels heading towards a specific destination as their next port call. Supplying a specific location, for instance Singapore (SGSIN) thus returns a list of vessels deemed as heading towards Singapore.

Please note that the Next Port module is currently in a proof-of-concept phase.

This article will cover the operations of Next Port predictions:

The base url for the mentioned endpoints throughout the article is:

https://demo.ghmaritime.com/api/shiptracker

Port Arrivals

This endpoint will return a list of vessels that is predicted to dock next at the specified port.

To use this endpoint, either the locode of a single port or the uuid of a cluster of ports, should be known.

To get the list, construct a GET request either via the /nextport/arrivals/{locode} or /nextport/arrivals/{cluster} endpoint, where the locode or the cluster value is the id of the port or cluster, respectively.

Visualization of this process is depicted below:

Vessel Port Call

The vessel port calls is the essential feature of the Next Port module. For all IMO vessels—excluding local vessels such as fishing vessels, tugboats and pilot boats—the system will make continuous estimates of the most probable ports for the next port call.

To get information about a specific vessel, construct a GET request either via the /nextport/ship/{IMO} endpoint, where the variable IMO is the IMO identifier of a ship, or the /nextport/shiplist/{ShipListID}, where the variable ShipListID is the id of a list of ships.

GET /nextport/ship/{IMO}

In both cases the API will respond with a record of the ships that is predicted to dock at the port, their probability and, if available, the ships’ ETA.

The following is a visualization of the process:

Port Clusters

The port clusters is a way of grouping ports in a given area to make it easier to handle port call predictions. Thus, a cluster of ports can be made from any criteria where geographical location is one such option. The system provides a set of predefined port clusters based on geography (country and distance between ports).

Create Cluster

To create a cluster, construct a POST request via the /nextport/cluster endpoint, where the request body is a description of the cluster, where the fields name and locodes is mandatory and the fields color, threshold, and filter is optional.

The web service will respond with a Json-object, with the name of the cluster and its’ id.

The following is a visualization of the process:

Read Cluster

To get a list of all available clusters, construct a GET request via the /nextport/cluster endpoint.

The API will respond with a record of all cluster currently available to the user.

The following is a visualization of the process:

Update Cluster

To create a cluster, construct a PUT request via the /nextport/cluster endpoint, where the request body is a description of the cluster, where the fields name and locodes is mandatory and the fields color, threshold, and filter is optional.

The following is a visualization of the process:

Delete Cluster

To delete a cluster, construct a DELETE request via the /nextport/cluster/{name} endpoint, where {name} is the name of the specific cluster.

The web service will respond with an empty Json-object.

The following is a visualization of the process

Updated on 15 September, 2025