Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
GET
ws/rest/PortCall?filter=voyage.vessel.imoNumber(EQ)999&filter=departureFixed(EQ)false&filter=voyage.voyageHeader.voyageStatus.statusTypeCode(IN)(NOM,OPR)&filter=voyage.voyageHeader.isBudget(EQ)false&filter=voyage.voyageHeader.isTemplate(EQ)false&filter=voyage.voyageHeader.isEstimate(EQ)false&filter=voyage.voyageHeader.isUnallocated(EQ)false&filter=voyage.scenarios.scenarioCode(EQ)MASTER&filter=reasonForCall.reasonForCall(NE)DEL&filter=reasonForCall.reasonForCall(NE)RED&sort=portCallSequence(AS)

HTTP header
fields: {"voyage":{"key":"*"},"reasonForCall":{"reasonForCall":"*", "reasonForCallDesc":"*"}, "portCallSequence":"*", "port":{"portName":"*"},"eventLogs":{"eventLogDate":"*","event":{"eventCode":"*"}}}

...

JSON Field Name
Description
Affects Dataloy VMS
MandatoryTypeLengthExampleClient validation
portCall
A port call key
Yes



vesselReportType
  • Vessel Report Type
  • Value = NOON for Noon Report

YesString4

reportDateLocal
Report Date Local Time
YesDate


latitude
Position Latitude (Decimal Degrees)

Double512.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;

longitude
Position Longitude (Decimal Degrees)

Double5123.76Same validation as for latitude
eventLogs

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 ETA, ETB 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"}]


trueCourse
True Course

Integer38

distanceSailed
Distance Sailed Since Last Report

Double

Positive decimal value
hoursInService
Hours in Service Since Last Report

Double

Positive decimal value
distanceToNextPort
Distance To Go

Double

Positive decimal value
speedMadeGood
Speed Made Good

Double

Positive decimal value
windDirection
Wind Direction (direction)

Integer38
One of the values from this list: direction
averageWindForce
Wind Force. Beaufort.

Integer38
0-12
seaDirection
Sea Direction (direction)


Integer38
One of the values from this list: direction
averageSeaState
Sea State. Integer from 0 - 9.

Integer38
0-9
weatherWeather. weather

Integer38
One of the values from this list: weather
bhpMainEngineIndicatedRpm
Main Engine RPM Since Last Report

Double

Positive decimal value
dailyFo
Daily Fuel Oil Consumption

Double

Positive decimal value
dailyDo
Daily Diesel Oil Consumption

Double

Positive decimal value
dailyFl
Daily Fuel Oil Low Sulphur Consumption

Double

Positive decimal value
dailyDl
Daily Diesel Oil Low Sulphur Consumption

Double

Positive decimal value
dailyFw
Daily Net Fresh Water Consumption

Double

Positive decimal value
robFo
Fuel Oil Remaining on Board (FO RoB)Updates FO arrival RoB of the Port Call
Double

Positive decimal value
robDo
Diesel Oil Remaining on Board (DO RoB)Updates DO arrival RoB of the Port Call
Double

Positive decimal value
robFl
Fuel Oil Low Sulphur Remaining on Board (FO LS RoB)Updates FO LS arrival RoB of the Port Call
Double

Positive decimal value
robDl
Diesel Oil Low Sulphur Remaining on Board (DO LS RoB)Updates DO LS arrival RoB of the Port Call
Double

Positive decimal value
robFw
Fresh Water Remaining on Board

Double

Positive decimal value

...

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.


Code Block
GET ws/rest/Port?filter=rpCode(NULL)&sort=portName(ASI)

HTTP header

disablemaxlimit: YES



Reason for call 
Any of the codes from this list.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

...