Release 7.0 - 7.2

PositionReport is used to update the status of an ongoing voyage's port calls.

Overview

Position reports update a port call's sailing, arrival, in port, and departure status. Most fields in the PositionReport object will only provide information, while a few affect the port call's results.

The following fields will affect the port call's results:

  • eventLogs

    • An EventLog captures port events along with their date and time. The port events include ARRIVAL, BERTHED, UNBERTHED, and DEPARTURE.

      • For example, to record the arrival date of a port call, an event log entry should include the ARRIVAL event along with the corresponding date

  • robFo, robFl, robDl, robDo

    • An EventLog is also linked to ROBs to communicate the ROB of a specific bunker during a specific event.

      • For instance, the robFo linked to the arrival event log is the ROB of FO on arrival. The robFo linked to the departure event log is the ROB of FO on departure, etc.

Fields impacting the port call's results will have Major Change Factor marked as yes, along with a description, on the details.

PositionReport can be one of these types:

  • Noon Report

    • logs the ship's status at sea, updating the estimated arrival date and ROB info

  • Arrival Report

    • logs when the ship arrives in the port, fixing the arrival date and ROB info

  • In Port Report

    • logs when the ship docks in the port. You can update both berthed and departure events here. This fixes the berthed date.

  • Departure Report

    • logs when the ship leaves the port, fixing the departure date and ROB info

In order to include a Remark on the position report, a separate API request needs to be done after the report is created.

Details

Noon Report

Noon report example

Noon Report sailing to a port
  1. Assuming the voyage key, and port call sequence are known, get the PortCall key with this query:

GET /ws/rest/PortCall?filter=voyage.key(EQ)123456&portCallSequence(EQ)2=null HTTP/1.1
Host: BASEURL
Authorization: Bearer ....
  1. Generate a Noon Report for the vessel that has sailed 3150 nm to the queried PortCall, with South/West wind direction and partly cloudy weather.

POST /ws/rest/PositionReport HTTP/1.1
Host: BASEURL
Content-Type: application/json
Authorization: Bearer ....
{
    "vesselReportType": "NOON",
    "reportDateLocal": "2024-08-01T19:00:00",
    "portCall": 3345932, //key from the response of the PortCall query
    "latitude": 60.2139,
    "longitude": 4.5300,
    "eventLogs": [{"event": "ARR", "eventLogDate": "2024-08-02T02:36:00"}],
    "robFo": 234.56,
    "robDl": 250,
    "windDirection": 911643, 
    "weather": 950928, 
    "distanceSailed": 3150.00 

}

Arrival Report

Arrival Report example

Arrival report on port call
  1. Assuming the voyage key, and port call sequence are known, get the PortCall key with this query:

GET /ws/rest/PortCall?filter=voyage.key(EQ)123456&portCallSequence(EQ)2=null HTTP/1.1
Host: BASEURL
Authorization: Bearer ....
  1. Generate a report for arrival at 2nd August 2024 03:00 with arrival FO ROB at 225.85 mt and arrival LS MGO ROB at 235 mt

POST /ws/rest/PositionReport HTTP/1.1
Host: BASEURL
Content-Type: application/json
Authorization: Bearer ....
{
    "vesselReportType": "ARR",
    "reportDateLocal": "2024-08-02T02:58:00",
    "portCall": 3345932, //key from the response of the PortCall query
    "eventLogs": [{"event": "ARR", "eventLogDate": "2024-08-02T03:00:00"}],
    "robFo": 225.85,
    "robDl": 235.0
}

In Port Report

In Port report example

In port report on a port call
  1. Assuming the voyage key, and port call sequence are known, get the PortCall key with this query:

GET /ws/rest/PortCall?filter=voyage.key(EQ)123456&portCallSequence(EQ)2=null HTTP/1.1
Host: BASEURL
Authorization: Bearer ....
  1. Generate a report to fix the berth date to August 3rd 2024 10:36, and log the estimated departure date August 4th 2024 18:36 to , sunny weather, East wind direction, hours in service, average wind force status in port

POST /ws/rest/PositionReport HTTP/1.1
Host: BASEURL
Content-Type: application/json
Authorization: Bearer ....
{
    "vesselReportType": "PORT",
    "reportDateLocal": "2024-08-03T18:00:00",
    "portCall": 3345932, //key from the response of the PortCall request
    "hoursInService": 225.85,
    "eventLogs":[{"event": "BRT", "eventLogDate": "2024-08-03T10:36:00"}, 
        {"event": "DEP", "eventLogDate": "2024-08-04T18:36:00"}],
    "weather": 950927,
    "windDirection": 911638,
    "averageWindForce": 1
}

Depature Report

Departure report example

Departure report on a port call
  1. Assuming the voyage key, and port call sequence are known, get the PortCall key with this query:

GET /ws/rest/PortCall?filter=voyage.key(EQ)123456&portCallSequence(EQ)2=null HTTP/1.1
Host: BASEURL
Authorization: Bearer ....
  1. Generate a report that fixes the departure date to 5th August 2024 08:30

POST /ws/rest/PositionReport HTTP/1.1
Host: BASEURL
Content-Type: application/json
Authorization: Bearer ....
{
    "vesselReportType": "DEP",
    "reportDateLocal": "2024-08-05T08:30:00",
    "portCall": 3345932, //key from the response of the PortCall request
    "eventLogs": [{"event": "DEP", "eventLogDate": "2024-08-05T08:30:00"}],
    "robFo": 225.85,
    "robDl": 198.75,
    "distanceToNextPort": 350
}

More examples

Arrival report with Remark
  1. Send first this request

POST /ws/rest/PositionReport HTTP/1.1
Host: BASEURL
Content-Type: application/json
Authorization: Bearer ....
{
    "vesselReportType": "ARR",
    "reportDateLocal": "2024-08-02T02:58:00",
    "portCall": 3345932, //key from the response of the PortCall request
    "eventLogs": [{"event": "ARR", "eventLogDate": "2024-08-02T03:00:00"}],
    "robFo": 225.85,
    "robDl": 235.0
}

  1. The response of the query above returns the PositionReport key. Generate a Remark on the arrival position report that says "Arrival on the port remark":

POST /ws/rest/Remark HTTP/1.1
{
    source: 5535223, //key from the response of PositionReport request
    "remark": "Arrival on the port remark"
}
Arrival report where port call key and voyage key are not known, using voyage.referenceNo and port name
  1. Fetch the port call key

GET /ws/rest/PortCall?filter=voyage.voyageHeader.referenceNo(LKIC)TST001&port.portName(LKIC)Bergen case insensitive HTTP/1.1
Authorization: Bearer ....
  1. Generate arrival report

POST /ws/rest/PositionReport HTTP/1.1
Host: BASEURL
Content-Type: application/json
Authorization: Bearer ....
{
    "vesselReportType": "ARR",
    "reportDateLocal": "2024-08-02T02:58:00",
    "portCall": 3345932, //key from the response of the PortCall request
    "eventLogs": [{"event": "ARR", "eventLogDate": "2024-08-02T03:00:00"}],
    "robFo": 225.85,
    "robDl": 235.0
}

Last updated