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

Field Name
Json Attribute
Description
Mandatory in json
Major Change Factor
Data type
Notes

Report Type

vesselReportType

Determines the type of vessel report

yes

String

"NOON"

Noon Report Date

reportDateLocal

Date and time of creation of the report

yes

String

should be in this format: "YYYY-MM-DDTHH:mm:ss"

Port Call

portCall

Port to update

yes

Long

key of the port call

Latitude

latitude

Current position

yes

Double

Longitude

longitude

Current position

yes

Double

Estimated Time of Arrival

eventLogs

Date and time of estimated time of arrival

yes

yes, updates PortCall's arrival date

FO ROB

robFo

Remaining bunkers of type FO at the time of reporting

yes, updates PortCall's arrival FO rob

Double

MGO ROB

robDo

Remaining bunkers of type MGO at the time of reporting

yes, updates PortCall's arrival MGO rob

Double

LS FO ROB

robFl

Remaining bunkers of type LS FO at the time of reporting

yes, updates PortCall's arrival LS FO rob

Double

LS MGO ROB

robDl

Remaining bunkers of type LS MGO at the time of reporting

yes, updates PortCall's arrival FO rob

Double

Wind Direction

windDirection

Determines current wind direction

Average Wind Force

averageWindForce

General wind conditions

Double

Sea Direction

seaDirection

Current sea direction

Average Sea State

averageSeaState

General sea conditions

Double

Weather

weather

Determines current weather

Distance Sailed

distanceSailed

Distance sailed

Double

Hours in Service

hoursInService

Number of hours in operation

Double

Main Engine RPM

rpmFromLastPort

RPM recorded from previous port

Double

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

Field Name
Json Attribute
Description
Mandatory
Major Change Factor
Data Type
Notes

Vessel Report Type

vesselReportType

Determines the type of vessel report

yes

String

"ARR"

Port Call

portCall

Port to update

yes

Long

key of the port call

Arrival Date

eventLogs

Date and time of arrival on port

yes

yes, updates and fixes PortCall's arrival date

date should be in this format: "YYYY-MM-DDTHH:mm:ss"

Arrival Report Date

reportDateLocal

Date and time of creation of the report

String

should be in this format: "YYYY-MM-DDTHH:mm:ss"

Actual Distance Sailed Since Departure

distanceSailed

Distance in nm sailed from previous port

yes, updates the PortCall's actual distance sailed

Double

FO ROB

robFo

Remaining bunkers of type FO at the time of arrival

yes, updates and fixes PortCall's arrival FO ROB

Double

MGO ROB

robDo

Remaining bunkers of type MGO at the time of arrival

yes, updates and fixes PortCall's arrival MGO ROB

Double

LS FO ROB

robFl

Remaining bunkers of type LS FO at the time of arrival

yes, updates and fixes PortCall's arrival LS FO ROB

Double

LS MGO ROB

robDl

Remaining bunkers of type LS MGO at the time of arrival

yes, updates and fixes PortCall's arrival LS MGO ROB

Double

Hours Stoppage

hoursStoppages

Number of hours in stoppage of operation

Double

Hours In Service

hoursInService

Number of hours in operation

Double

Speed Made Good

speedMadeGood

Net speed when sailing to the port

Double

Draft Aft

draftAft

Vessel's draft aft

Double

Draft Forward

draftForward

Vessel's draft forward

Double

Daily FO

dailyFo

Daily FO consumption

Double

Daily LS FO

dailyFl

Daily LS FO consumption

Double

Daily MGO

dailyDo

Daily MGO consumption

Double

Daily LS MGO

dailyDl

Daily LS MGO consumption

Double

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

Field Name
Json Attribute
Description
Mandatory
Major Change Factor
Data Type
Notes

Vessel Report Type

vesselReportType

Determines the type of vessel report

yes

String

"PORT"

Port Call

portCall

Port to update

yes

Long

key of the port call

In Port Report Date

reportDateLocal

Date and time of creation of the report

String

should be in this format: "YYYY-MM-DDTHH:mm:ss"

Estimated time of berthing and departure

eventLogs

Estimated date and time of berthing and departure from port

yes, updates PortCall's berthing and departure dates

date should be in this format: "YYYY-MM-DDTHH:mm:ss"

Hours In Service

hoursInService

Number of hours in operation

Double

Weather

weather

Current weather

Click here for more details

Wind Direction

windDirection

Current wind direction

Click here for more details

Average Wind Force

averageWindForce

General wind conditions

Double

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

Field Name
Json Attribute
Description
Mandatory
Major Change Factor
Data Type
Notes

Vessel Report Type

vesselReportType

Determines the type of vessel report

yes

String

"DEP"

Port Call

portCall

Port to update

yes

Long

key of the port call

Departure date

eventLogs

Date and time of departure from port

yes

yes, updates and fixes PortCall's departure date

date should be in this format: "YYYY-MM-DDTHH:mm:ss"

Departure Report Date

reportDateLocal

Date and time of creation of the report

String

should be in this format: "YYYY-MM-DDTHH:mm:ss"

FO ROB

robFo

Remaining bunkers of type FO at the time of departure

yes, updates and fixes PortCall's departure FO ROB

Double

LS FO ROB

robFl

Remaining bunkers of type LS FO at the time of departure

yes, updates and fixes PortCall's departure FO ROB

Double

MGO ROB

robDo

Remaining bunkers of type MGO at the time of departure

yes, updates and fixes PortCall's departure FO ROB

Double

LS MGO ROB

robDl

Remaining bunkers of type LS MGO at the time of departure

yes, updates and fixes PortCall's departure FO ROB

Double

Distance to next port

distanceToNextPort

Distance in nm to next port

Double

Draft Aft

draftAft

Vessel's draft aft

Double

Draft Forward

draftForward

Vessel's draft forward

Double

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