Vessel Report
This page explains how to create vessel report integration with Dataloy API and is valid from API version 6.29
Have you considered using the vessel reporting functionality in our new web client? Get in touch for more information. |
Port Call
A vessel report needs to be connected to a port call. Dataloy recommends to present a list of port calls to the user to make them select the correct one when reporting. To get a list of port calls, the following API call can be used
Changes from release 7.0.0
You can update specific event logs according to your needs. For example, to create an Arrival report and update only the Estimated Time of Arrival (ETA), include just the arrival event log in the eventLogs
array. Click here for an example of the payload.
Unberthed time is now possible to be added as an EventLog, with the event code UBRT. Click here for an example of a payload that uses this new event log.
When updating the Remaining on Board values (robFo, robDo, robFl, robDl), only include the bunker type robs that is being consumed.
Below is an API request that gets all the voyage's consumption bunker stocks, along with its bunker category. This can help determine which bunker categories are active on a voyage. Click here for an example of a response.
It is now prohibited to create any vessel reports for voyages that have the status Estimated, Allocated or Unallocated.
When creating a port call, event logs are no longer required to be included in the payload. See example here.
Changes from release 7.3.0
It is now possible to create berth and unberth reports. For these reports, only the report type, report date, portCall and event log are required. The event log can only include the berthing or unberthing event itself and the date it happened. For reference, there are examples available that show what this data should look like.
The vessel report endpoint is called PositionReport and can be accessed with Base URL + ws/rest/PositionReport
Noon report
Noon reports at sea should be connected to the next port call
JSON Field Name | Description | Affects VMS | Mandatory | Type | Length | Example | Client Validation |
---|---|---|---|---|---|---|---|
A port call key |
| Yes |
|
|
|
| |
|
| Yes | String | 4 |
|
| |
Report Date Local Time |
| Yes | Date |
|
|
| |
Position Latitude (Decimal Degrees) |
|
| Double | 5 | 12.575 | User input should be degrees, minutes and seconds. For example: 12° 34'5 N. Then degrees, minutes and seconds should be converted to decimals. Validation: if (minutes > 60) { return false; } if (direction === 'S' || direction === 'N') { if (degrees > 90) { return false; } if (degrees === 90 && minutes > 0) { return false; } } if (direction === 'E' || direction === 'W') { if (degrees > 180) { return false; } if (degrees === 180 && minutes > 0) { return false; } } return true; | |
Position Longitude (Decimal Degrees) |
|
| Double | 5 | 123.76 | Same validation as for latitude | |
Array of EventLog. For noon report this can be estimated time of arrival, berthing and departure. All dates are in local time. It's not necessary to include all 3 types. If you only want to update arrival then only include arrival EventLog Arrival event = ARR Berthing event = BRT Departure event = DEP | Updates and fixes ETA, ETB and ETD From 7.0.0, Updates and fixes ETA, ETB, ETU and ETD |
| Array of EventLogs |
| [{eventLogDate: "2023-01-03T03:34:00.000Z", event: "ARR"}, {eventLogDate: "2023-01-03T03:34:00.000Z", event: "BRT"}, {eventLogDate: "2023-01-03T03:34:00.000Z", event: "DEP"}] From 7.0.0: [{eventLogDate: "2023-01-03T03:34:00.000Z", event: "ARR"}, {eventLogDate: "2023-01-03T03:34:00.000Z", event: "BRT"}, {eventLogDate: "2023-01-03T03:34:00.000Z", event: "UBRT"}, {eventLogDate: "2023-01-03T03:34:00.000Z", event: "DEP"}] |
| |
True Course |
|
| Integer | 38 |
|
| |
Distance Sailed Since Last Report |
|
| Double |
|
| Positive decimal value | |
Distance To Go |
|
| Double |
|
| Positive decimal value | |
Speed Made Good |
|
| Double |
|
| Positive decimal value | |
Wind Direction (New Vessel Report API#direction) |
|
| Integer | 38 |
| One of the values from this list: New Vessel Report API#direction | |
Wind Force. Beaufort. |
|
| Integer | 38 |
| 0-12 | |
Sea Direction (New Vessel Report API#direction) |
|
| Integer | 38 |
| One of the values from this list: New Vessel Report API#direction | |
Sea State. Integer from 0 - 9. |
|
| Integer | 38 |
| 0-9 | |
| Weather. New Vessel Report API |
|
| Integer | 38 |
| One of the values from this list: New Vessel Report API |
Main Engine RPM Since Last Report |
|
| Double |
|
| Positive decimal value | |
Daily Fuel Oil Consumption |
|
| Double |
|
| Positive decimal value | |
Daily Diesel Oil Consumption |
|
| Double |
|
| Positive decimal value | |
Daily Fuel Oil Low Sulphur Consumption |
|
| Double |
|
| Positive decimal value | |
Daily Diesel Oil Low Sulphur Consumption |
|
| Double |
|
| Positive decimal value | |
Daily Net Fresh Water Consumption |
|
| Double |
|
| Positive decimal value | |
Fuel Oil Remaining on Board (FO RoB) | Updates FO arrival RoB of the Port Call |
| Double |
|
| Positive decimal value | |
Diesel Oil Remaining on Board (DO RoB) | Updates DO arrival RoB of the Port Call |
| Double |
|
| Positive decimal value | |
Fuel Oil Low Sulphur Remaining on Board (FO LS RoB) | Updates FO LS arrival RoB of the Port Call |
| Double |
|
| Positive decimal value | |
Diesel Oil Low Sulphur Remaining on Board (DO LS RoB) | Updates DO LS arrival RoB of the Port Call |
| Double |
|
| Positive decimal value | |
Fresh Water Remaining on Board |
|
| Double |
|
| Positive decimal value |
Arrival report
JSON Field Name | Description | Affects Dataloy VMS | Mandatory | Type | Length | Example | Client validation |
A port call key |
| Yes | Integer |
|
|
| |
Vessel Report Type Value = ARR for Arrival Report. |
| Yes | String | 4 |
|
| |
Report Date Local Time |
| Yes | Date |
|
|
| |
Array of EventLog. For departure report this can be time of arrival, estimated time of berthing and departure. All dates are in local time. It's not necessary to include all 4 types. If you only want to update arrival then only include arrival EventLog Arrival event = ARR Berthing event = BRT Departure event = DEP |
Updates and fixes Arrival Date and Time in Schedule Updates ETB, ETU and/or ETD in Schedule | Yes | Array of EventLogs |
| [{eventLogDate: "2023-01-03T03:34:00.000Z", event: "ARR"}] |
| |
Distance Sailed Since departure | Updates actual distance sailed |
| Double |
|
| Positive decimal value | |
Hours Stoppages |
|
| Double |
|
| Positive decimal value | |
Hours in Service |
|
| Double |
|
| Positive decimal value | |
Speed Made Good Since Last Report |
|
| Double |
|
| Positive decimal value | |
Draft Aft |
|
| Double |
|
| Positive decimal value | |
Draft Forward |
|
| Double |
|
| Positive decimal value | |
Daily Fuel Oil Consumption |
|
| Double |
|
| Positive decimal value | |
Daily Diesel Oil Consumption |
|
| Double |
|
| Positive decimal value | |
Daily Fuel Oil Low Sulphur Consumption |
|
| Double |
|
| Positive decimal value | |
Daily Diesel Oil Low Sulphur Consumption |
|
| Double |
|
| Positive decimal value | |
Daily Net Fresh Water consumption |
|
| Double |
|
| Positive decimal value | |
Fuel Oil Remaining on Board (FO RoB) | Updates and fixes Fuel Oil Remaining on Board (FO RoB) Arrival. |
| Double |
|
| Positive decimal value | |
Diesel Oil Remaining on Board (DO RoB) | Updates and fixes Diesel Oil Remaining on Board (DO RoB) Arrival. |
| Double |
|
| Positive decimal value | |
Fuel Oil Low Sulphur Remaining on Board (FO LS RoB) | Updates and fixes Fuel Oil Low Sulphur Remaining on Board (FO LS RoB) Arrival. |
| Double |
|
| Positive decimal value | |
Diesel Oil Low Sulphur Remaining on Board (DO LS RoB) | Updates and fixes Diesel Oil Low Sulphur Remaining on Board (DO LS RoB) Arrival. |
| Double |
|
| Positive decimal value | |
Fresh Water remaining on board |
|
| Double |
|
| Positive decimal value |
Berth Report (from 7.3.0)
JSON Field Name | Description | Affects Dataloy VMS | Mandatory | Type | Length | Example | Client validation |
A port call key |
| Yes | Integer |
|
|
| |
Vessel Report Type Value = BRT for Berth Report. | Used to insert the correct type of Position Report and to locate the correct port call. | Yes | String | 4 |
|
| |
Report Date Local Time |
| Yes | Date |
|
|
| |
Array of EventLog. For in port report this can be time of berthing and estimated time of departure. All dates are in local time. It's not necessary to include all types. If you only want to update arrival then only include arrival EventLog Berthing event = BRT Departure event = DEP |
Updates and fixes Berthed Time and Date Updates ETD in Schedule | Yes | Date |
| [{eventLogDate: "2023-01-03T03:34:00.000Z", event: "BRT"}, {eventLogDate: "2023-01-03T03:34:00.000Z", event: "DEP"}] |
| |
active bunker remaining on board | Updates the port call's remaining bunker on board value on berthing |
| Double |
|
|
Unberth Report (from 7.3.0)
JSON Field Name | Description | Affects Dataloy VMS | Mandatory | Type | Length | Example | Client validation |
A port call key |
| Yes | Integer |
|
|
| |
Vessel Report Type Value = BRT for Berth Report. | Used to insert the correct type of Position Report and to locate the correct port call. | Yes | String | 4 |
|
| |
Report Date Local Time |
| Yes | Date |
|
|
| |
Array of EventLog. For in port report this can be time of berthing and estimated time of departure. All dates are in local time. It's not necessary to include all types. If you only want to update arrival then only include arrival EventLog Berthing event = BRT Departure event = DEP |
Updates and fixes Berthed Time and Date Updates ETD in Schedule | Yes | Date |
| [{eventLogDate: "2023-01-03T03:34:00.000Z", event: "BRT"}, {eventLogDate: "2023-01-03T03:34:00.000Z", event: "DEP"}] |
| |
active bunker remaining on board | Updates the port call's remaining bunker on board value on unberthing |
| Double |
|
|
In Port Report
JSON Field Name | Description | Affects Dataloy VMS | Mandatory | Type | Length | Example | Client validation |
A port call key |
| Yes | Integer |
|
|
| |
Vessel Report Type Value = PORT for In Port Report. | Used to insert the correct type of Position Report and to locate the correct port call. | Yes | String | 4 |
|
| |
Report Date Local Time |
| Yes | Date |
|
|
| |
Array of EventLog. For in port report this can be time of berthing and estimated time of departure. All dates are in local time. It's not necessary to include all types. If you only want to update arrival then only include arrival EventLog Berthing event = BRT Departure event = DEP |
Updates and fixes Berthed Time and Date Updates ETD in Schedule | Yes | Date |
| [{eventLogDate: "2023-01-03T03:34:00.000Z", event: "BRT"}, {eventLogDate: "2023-01-03T03:34:00.000Z", event: "DEP"}] |
| |
Hours in Service |
|
| Double |
|
| Positive decimal value | |
Weather. New Vessel Report API#weather |
|
| Integer | 38 |
| One of the values from this list: New Vessel Report API#weather | |
Wind Direction. New Vessel Report API#direction |
|
| Integer | 38 |
| One of the values from this list: New Vessel Report API#direction | |
Average Wind Force. Beaufort. |
|
| Integer | 38 |
| 0-12 |
Departure Report
JSON Field Name | Description | Affects Dataloy VMS | Mandatory | Type | Length | Example | Client validation |
A port call key |
| Yes |
|
|
|
| |
Vessel Report Type. Value = DEP for Departure Report. |
| Yes | String | 4 |
|
| |
Report Date Local Time |
| Yes | Date |
|
|
| |
Array of EventLog. Local time. Add Departure Time as an Event Log with "DEP" event code From 7.0.0, it is possible to add an Unberthed event log date. |
Updates and fixes Departure Time in Schedule. From 7.0.0, updates and fixes Unberthed and Departure Time in Schedule. If the Arrival and Berthed times will also be fixed. | Yes | Date |
| [{eventLogDate: "2023-01-03T03:34:00.000Z", event: "DEP"}] |
| |
Distance To Next Port |
|
| Double |
|
| Positive decimal value | |
Draft Aft |
|
| Double |
|
| Positive decimal value | |
Draft Forward |
|
| Double |
|
| Positive decimal value | |
Fuel Oil Remaining on Board (FO RoB) | Updates and fixes Fuel Oil Remaining on Board (FO RoB) departure. |
| Double |
|
| Positive decimal value | |
Diesel Oil Remaining on Board (DO RoB) | Updates and fixes Diesel Oil Remaining on Board (DO RoB) departure. |
| Double |
|
| Positive decimal value | |
Fuel Oil Low Sulphur Remaining on Board (FO LS RoB) | Updates and fixes Fuel Oil Low Sulphur Remaining on Board (FO LS RoB) departure. |
| Double |
|
| Positive decimal value | |
Diesel Oil Low Sulphur Remaining on Board (DO LS RoB) | Updates and fixes Diesel Oil Low Sulphur Remaining on Board (FO LS RoB) departure. |
| Double |
|
| Positive decimal value | |
Fresh Water Remaining on Board |
|
| Double |
|
| Positive decimal value | |
Bunkered Fuel Oil Input Exact Figure According to BDR | Updates Fuel Oil bunkered for departure port call. |
| Double |
|
| Positive decimal value | |
Bunkered Fuel Oil Low Sulphur Input exact figure according to the BDR | Updates Fuel Oil Low Sulphur bunkered for departure port call. |
| Double |
|
| Positive decimal value | |
Bunkered Diesel Oil Input exact figure according to the BDR | Updates Diesel Oil bunkered for departure port call. |
| Double |
|
| Positive decimal value | |
Bunkered Diesel Oil Low Sulphur Input exact figure according to the BDR | Updates Diesel Oil Low Sulphur bunkered for departure port call. |
| Double |
|
| Positive decimal value |
Example Messages
Updated for API version 2.0.0 using the new required date format yyyy-dd-MMThh:mi:ss to conform ISO 8601, (prior version has date format: yyyy-dd-MM hh:mi:ss) |
7.0.0 Example code
Below is an example of only including one event log on the Arrival report
Below is an example of modifying the Unberthed date and time using the In Port Report:
Below is an example of only modifying the Departure date and time using the Departure Report:
Active bunker categories API call response example
7.3.0 Berth and Unberth report
Weather Data
When inserting weather data, use the ID from the Weather Data table:
Weather ID | Weather Description |
---|---|
Clear Sky | |
Sunny Day | |
Partly Cloudy | |
Sunny Intervals | |
Dust | |
Mist | |
Fog | |
Medium-Level Cloud | |
Low-Level Cloud | |
Light Rain Shower | |
Drizzle | |
Light Rain | |
Heavy Rain Shower | |
Heavy Rain | |
Sleet Shower | |
Sleet | |
Hail Shower | |
Hail | |
Light Snow Shower | |
Light Snow | |
Heavy Snow Shower | |
Heavy Snow | |
Thundery Shower | |
Thunder Storm | |
Tropical Storm | |
Haze |
Direction
When inserting direction, use the ID from the Direction Table:
Direction id | Direction Description |
---|---|
North | |
South | |
East | |
West | |
North/East | |
North/West | |
South/East | |
South/West | |
Various | |
North/North/East | |
East/North/East | |
East/South/East | |
South/South/East | |
South/South/West | |
West/South/West | |
West/North/West | |
North/North/West | |
East/by/North | |
East/by/South | |
North/by/East | |
North/by/West | |
NE/by/East | |
NE/by/north | |
NW/by/North | |
NW/by/West | |
SE/by/East | |
SE/by/South | |
SW/by/South | |
SW/by/West | |
South/by/East | |
South/by/West | |
West/by/North | |
West/by/South |
Code | Description |
---|---|
L | Loading |
D | Discharging |
C | Canal Passage |
E | Extra Port |
DD | Dry Dock |
DEL | Delivery |
RED | Redelivery |
B | Bunkering |
R | Repair |
CL | Tank / Hold Cleaning |
STS | Ship to Ship |
W | Waiting |
CC | Customs Clearance |
Bunker Category
Code | VMS display name |
---|---|
FO | FO |
DL | LS MGO |
FL | LS FO |
DO | MGO |
Adding port calls
For long TC out voyages you might want to make it possible to add port calls from you vessel client. This section will explain how to do that.
To insert a port call the following API call can be used
From 7.0.0:
Field explanation:
Port: A port key. Get a list of all ports with the below API call. We have over 10,000 ports. Please keep the number of requests to this endpoint as low as possible with caching. We do add new ports so if the vessel needs a newly added port it must be possible to update the cache, this will not happen often.
Reason for call Any of the codes from the reason for call list above
Port Call Sequence Should be port call sequence from last port call + 1. The port call sequence is returned in this API call to get port calls.
Voyage A voyage key. The voyage key is returned in this API call to get port calls.
Event Logs There needs to be one eventLog for ARR (arrival), BRT (berthing), DEP (departure). Set the dates to today's date, they will then be calculated by the server. After inserting the port call, get the list of port calls again to get the ETA, ETB and ETD calculated by the server.
From 7.0.0: In addition to the Arrival, Berthing and Departure event log, there should also be a UBRT (unberthing) eventLog. The list of port calls will then be returned with the ETA, ETB, ETU and ETD calculated by the server.
Last updated