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
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.1Host:BASEURLAuthorization:Bearer ....
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.1Host:BASEURLContent-Type:application/jsonAuthorization: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
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.1Host:BASEURLAuthorization:Bearer ....
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.1Host:BASEURLContent-Type:application/jsonAuthorization: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
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.1Host:BASEURLAuthorization:Bearer ....
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.1Host:BASEURLContent-Type:application/jsonAuthorization: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
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.1Host:BASEURLAuthorization:Bearer ....
Generate a report that fixes the departure date to 5th August 2024 08:30
POST /ws/rest/PositionReport HTTP/1.1Host:BASEURLContent-Type:application/jsonAuthorization: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
Send first this request
POST /ws/rest/PositionReport HTTP/1.1Host:BASEURLContent-Type:application/jsonAuthorization: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}
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
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 ....
Generate arrival report
POST /ws/rest/PositionReport HTTP/1.1Host:BASEURLContent-Type:application/jsonAuthorization: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}