class VesselEvent(Model): """Get event based intelligence for a vessel.""" mmsi = NumberField(index='MMSI', desc="Maritime Mobile Service Identity - \n" "a nine-digit number sent in digital \n" "form over a radio frequency that \n" "identifies the vessel's transmitter station") ship_name = TextField(index='SHIPNAME', desc="The Ship name of the subject vessel") timestamp = DatetimeField(index='TIMESTAMP', desc="The date and time (in UTC) that \n" "the subject Event was recorded by \n" "MarineTraffic", format='%Y-%m-%dT%H:%M:%S') event_id = NumberField(index='EVENT_ID', desc="The ID of the subject event - more") event_name = TextField(index='EVENT_NAME', desc="The Name of the subject Event") event_content = TextField(index='EVENT_CONTENT', desc="The description of the subject Event")
class SingleVesselPosition(Model): """Get positional information for a set of predefined vessels.""" mmsi = NumberField(index='MMSI', desc="Maritime Mobile Service Identity - \n" "a nine-digit number sent in digital \n" "form over a radio frequency that \n" "identifies the vessel's transmitter station") imo = NumberField(index='IMO', desc="International Maritime Organisation \n" "number - a seven-digit number that \n" "uniquely identifies vessels") longitude = RealNumberField(index='LON', desc="A geographic coordinate that \n" "specifies the east-west position \n" "of the vessel on the Earth's surface") latitude = RealNumberField(index='LAT', desc="a geographic coordinate that specifies \n" "the north-south position of the \n" "vessel on the Earth's surface") speed = NumberField(index='SPEED', desc="The speed (in knots x10) that the \n" "subject vessel is reporting \n" "according to AIS transmissions") heading = NumberField(index='HEADING', desc="The heading (in degrees) that the \n" "subject vessel is reporting according \n" "to AIS transmissions") status = NumberField(index='STATUS', desc="The AIS Navigational Status of the \n" "subject vessel as input by the vessel's \n" "crew - more. There might be discrepancies \n" "with the vessel's detail page when vessel \n" "speed is near zero (0) knots.") course = NumberField(index='COURSE', desc="The course (in degrees) that \n" "the subject vessel is reporting \n" "according to AIS transmissions") timestamp = DatetimeField(index='TIMESTAMP', desc="The date and time (in UTC) that the \n" "subject vessel's position was \n" "recorded by MarineTraffic", format='%Y-%m-%dT%H:%M:%S') dsrc = TextField(index='DSRC', desc="Data Source - Defines whether the \n" "transmitted AIS data was received by a \n" "Terrestrial or a Satellite AIS Station") ship_name = TextField(index='SHIPNAME', desc="The Ship name of the subject vessel") ship_type = NumberField(index='SHIPTYPE', desc="The Ship type of the subject \n" "vessel according to AIS transmissions") call_sign = TextField(index='CALLSIGN', desc="A uniquely designated identifier \n" "for the vessel's transmitter station") flag = TextField(index='FLAG', desc="The flag of the subject vessel \n" "according to AIS transmissions") length = RealNumberField(index='LENGTH', desc="The overall Length (in metres) \n" "of the subject vessel") width = RealNumberField(index='WIDTH', desc="The Breadth (in metres) \n" "of the subject vessel") grt = NumberField(index='GRT', desc="Gross Tonnage - unitless measure \n" "that calculates the moulded volume \n" "of all enclosed spaces of a ship") dwt = NumberField(index='DWT', desc="Deadweight - a measure (in metric tons) \n" "of how much weight a vessel can safely \n" "carry (excluding the vessel's own weight") draught = NumberField(index='DRAUGHT', desc="The Draught (in metres x10) \n" "of the subject vessel according \n" "to the AIS transmissions") year_built = NumberField(index='YEAR_BUILT', desc="The year that the \n" "subject vessel was built") type_name = TextField(index='TYPE_NAME', desc="The Type of the subject vessel") ais_type_summary = TextField(index='AIS_TYPE_SUMMARY', desc="Further explanation of \n" "the SHIPTYPE ID") destination = TextField(index='DESTINATION', desc="The Destination of the \n" "subject vessel according \n" "to the AIS transmissions") eta = DatetimeField(index='ETA', desc="The Estimated Time of Arrival \n" "to Destination of the subject \n" "vessel according to the AIS transmissions", format='%Y-%m-%dT%H:%M:%S') current_port = TextField(index='CURRENT_PORT', desc="The name of the Port the subject \n" "vessel is currently in (NULL \n" "if the vessel is underway)") current_port_id = NumberField(index='PORT_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the Current Port") current_port_unlocode = TextField(index='PORT_UNLOCODE', desc="A uniquely assigned ID by \n" "United Nations for the Current Port") last_port = TextField(index='LAST_PORT', desc="The Name of the Last Port \n" "the vessel has visited") last_port_time = DatetimeField(index='LAST_PORT_TIME', desc="The Date and Time (in UTC) that \n" "the subject vessel departed from \n" "the Last Port", format='%Y-%m-%dT%H:%M:%S') last_port_id = NumberField(index='LAST_PORT_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the Last Port") last_port_unlocode = TextField(index='LAST_PORT_UNLOCODE', desc="A uniquely assigned ID by \n" "United Nations for the Last Port") next_port_id = NumberField(index='NEXT_PORT_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the Next Port") next_port_unlocode = TextField(index='NEXT_PORT_UNLOCODE', desc="A uniquely assigned ID by \n" "United Nations for the Next Port") next_port_name = TextField(index='NEXT_PORT_NAME', desc="The Name of the Next Port as \n" "derived by MarineTraffic based on \n" "the subject vessel's reported Destination") next_port_country = TextField(index='NEXT_PORT_COUNTRY', desc="The Country that the Next \n" "Port is located at") eta_calc = DatetimeField(index='ETA_CALC', desc="The Estimated Time of Arrival to \n" "Destination of the subject vessel \n" "according to the MarineTraffic calculations", format='%Y-%m-%dT%H:%M:%S')
class ExpectedArrival(Model): """Get a voyage forecast for a vessel or your MarineTraffic fleet""" mmsi = NumberField(index='MMSI', desc="Maritime Mobile Service Identity - a \n" "nine-digit number sent in digital form \n" "over a radio frequency that identifies \n" "the vessel's transmitter station") imo = NumberField(index='IMO', desc="International Maritime Organisation number - a \n" "seven-digit number that uniquely \n" "identifies vessels") longitude = RealNumberField(index='LON', desc="A geographic coordinate that specifies \n" "the east-west position of the vessel \n" "on the Earth's surface") latitude = RealNumberField(index='LAT', desc="a geographic coordinate that specifies \n" "the north-south position of the vessel \n" "on the Earth's surface") status = NumberField(index='STATUS', desc="The AIS Navigational Status of the subject \n" "vessel as input by the vessel's crew - more. \n" "There might be discrepancies with the vessel's \n" "detail page when vessel speed is near zero \n" "(0) knots.") speed = NumberField(index='SPEED', desc="The speed (in knots x10) that the subject \n" "vessel is reporting according to AIS \n" "transmissions") course = NumberField(index='COURSE', desc="The course (in degrees) that the subject \n" "vessel is reporting according to AIS \n" "transmissions") port_unlocode = TextField(index='PORT_UNLOCODE', desc="A uniquely assigned ID by United \n" "Nations for the Current Port") current_port = TextField(index='CURRENT_PORT', desc="The name of the Port the subject vessel \n" "is currently in (NULL if the vessel \n" "is underway)") current_port_country = TextField(index='CURRENT_PORT_COUNTRY', desc="The Country that the Current \n" "Port is located at") next_port_unlocode = TextField(index='NEXT_PORT_UNLOCODE', desc="A uniquely assigned ID by United \n" "Nations for the Next Port") next_port_id = NumberField(index='NEXT_PORT_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the Next Port") next_port_name = TextField(index='NEXT_PORT_NAME', desc="The Name of the Next Port as derived by \n" "MarineTraffic based on the subject \n" "vessel's reported Destination") next_port_country = TextField(index='NEXT_PORT_COUNTRY', desc="The Country that the Next \n" "Port is located at") eta = DatetimeField(index='ETA', desc="The Estimated Time of Arrival to Destination \n" "of the subject vessel according to the \n" "AIS transmissions", format='%Y-%m-%dT%H:%M:%S') eta_calc = DatetimeField(index='ETA_CALC', desc="The Estimated Time of Arrival to \n" "Destination of the subject vessel \n" "according to the MarineTraffic \n" "calculations", format='%Y-%m-%dT%H:%M:%S') eta_updated = DatetimeField(index='ETA_UPDATED', desc="The date and time (in UTC) that the \n" "ETA was calculated by MarineTraffic", format='%Y-%m-%dT%H:%M:%S') timestamp = DatetimeField(index='TIMESTAMP', desc="The date and time (in UTC) that the \n" "subject vessel's position was recorded \n" "by MarineTraffic", format='%Y-%m-%dT%H:%M:%S') port_id = NumberField(index='PORT_ID', desc="A uniquely assigned ID by MarineTraffic \n" "for the Current Port") ship_name = TextField(index='SHIPNAME', desc="The Shipname of the subject vessel") ship_type = NumberField(index='SHIPTYPE', desc="The Shiptype of the subject vessel \n" "according to AIS transmissions") type_name = TextField(index='TYPE_NAME', desc="The Type of the subject vessel") call_sign = TextField(index='CALLSIGN', desc="A uniquely designated identifier for \n" "the vessel's transmitter station") flag = TextField(index='FLAG', desc="The flag of the subject vessel according \n" "to AIS transmissions") length = RealNumberField(index='LENGTH', desc="The overall Length (in metres) \n" "of the subject vessel") width = RealNumberField(index='WIDTH', desc="The Breadth (in metres) of \n" "the subject vessel") grt = NumberField(index='GRT', desc="Gross Tonnage - unitless measure \n" "that calculates the moulded volume of \n" "all enclosed spaces of a ship") dwt = NumberField(index='DWT', desc="Deadweight - a measure (in metric tons) of \n" "how much weight a vessel can safely carry \n" "(excluding the vessel's own weight") draught = NumberField(index='DRAUGHT', desc="The Draught (in metres x10) of the \n" "subject vessel according to the \n" "AIS transmissions") year_built = NumberField(index='YEAR_BUILT', desc="The year that the subject vessel was built") last_port = TextField(index='LAST_PORT', desc="The Name of the Last Port \n" "the vessel has visited") last_port_time = DatetimeField(index='LAST_PORT_TIME', desc="The Date and Time (in UTC) that the \n" "subject vessel departed from the \n" "Last Port", format='%Y-%m-%dT%H:%M:%S') last_port_id = NumberField(index='LAST_PORT_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the Last Port") last_port_unlocode = TextField(index='LAST_PORT_UNLOCODE', desc="A uniquely assigned ID by \n" "United Nations for the Last Port") last_port_country = TextField(index='LAST_PORT_COUNTRY', desc="The Country that the Last \n" "Port is located at")
class EtaToPort(Model): """Get ETA and voyage information for a vessel of your choice, to any port you define""" mmsi = NumberField(index='MMSI', desc="Maritime Mobile Service Identity - \n" "a nine-digit number sent in digital \n" "form over a radio frequency that identifies \n" "the vessel's transmitter station") imo = NumberField(index='IMO', desc="International Maritime Organisation \n" "number - a seven-digit number that \n" "uniquely identifies vessels") ship_id = NumberField(index='SHIP_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the subject vessel") last_port = TextField(index='LAST_PORT', desc="The Name of the Last Port \n" "the vessel has visited") last_port_time = DatetimeField(index='LAST_PORT_TIME', desc="The Date and Time (in UTC) that \n" "the subject vessel departed from \n" "the Last Port", format='%Y-%m-%d %H:%M:%S') last_port_id = NumberField(index='LAST_PORT_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the Last Port") last_port_unlocode = TextField(index='LAST_PORT_UNLOCODE', desc="A uniquely assigned ID by \n" "United Nations for the Last Port") next_port_unlocode = TextField(index='NEXT_PORT_UNLOCODE', desc="A uniquely assigned ID by \n" "United Nations for the Next Port") next_port_name = TextField(index='NEXT_PORT_NAME', desc="The Name of the Next Port as \n" "derived by MarineTraffic based on \n" "the subject vessel's reported Destination") eta_calc = DatetimeField(index='ETA_CALC', desc="The Estimated Time of Arrival to \n" "Destination of the subject vessel \n" "according to the MarineTraffic calculations", format='%Y-%m-%d %H:%M:%S') distance_to_go = NumberField(index='DISTANCE_TO_GO', desc="The Remaining Distance (in NM) \n" "for the subject vessel to reach \n" "the reported Destination") distance_travelled = NumberField(index='DISTANCE_TRAVELLED', desc="The Distance (in NM) that the \n" "subject vessel has travelled \n" "since departing from Last Port") speed = NumberField(index='SPEED_CALC', desc="The Speed of the vessel that MarineTraffic \n" "used to produce the ETA_CALC value") draught = NumberField(index='DRAUGHT', desc="The Draught (in metres x10) of the \n" "subject vessel according to the \n" "AIS transmissions") draught_max = NumberField(index='DRAUGHT_MAX', desc="The Maximum Draught that has been \n" "recorded for the subject vessel") load_status_name = TextField( index='LOAD_STATUS_NAME', desc="The Load Condition of the subject vessel \n" "(In Ballast, Partially Loaded, Loaded)") route = TextField(index='ROUTE', desc="The estimated route of the subject \n" "vessel to destination in WKT format") etd_calc = DatetimeField(index='ETD_CALC', desc="The Estimated Time of Departure from a \n" "Destination of the subject vessel according \n" "to the MarineTraffic calculations based on \n" "calculated eta, time at \n" "anchorage & time at port", format='%Y-%m-%d %H:%M:%S') time_anch = RealNumberField(index='TIME_ANCH', desc="The median number of days spent \n" "at anchorage the previous week") time_port = RealNumberField(index='TIME_PORT', desc="The median number of days spent at \n" "port by the selected market/shipclass")
class VesselHistoricalPosition(Model): """Get all vessel historical positions for a specific period of time.""" mmsi = NumberField(index='MMSI', desc="Maritime Mobile Service Identity - \n" "a nine-digit number sent in digital \n" "form over a radio frequency that \n" "identifies the vessel's transmitter station") status = NumberField(index='STATUS', desc="The AIS Navigational Status of the subject \n" "vessel as input by the vessel's crew - more. \n" "There might be discrepancies with the \n" "vessel's detail page when vessel speed is \n" "near zero (0) knots.") speed = NumberField(index='SPEED', desc="The speed (in knots x10) that the subject \n" "vessel is reporting according to \n" "AIS transmissions") longitude = RealNumberField( index='LON', desc="A geographic coordinate that specifies \n" "the east-west position of the vessel on \n" "the Earth's surface") latitude = RealNumberField(index='LAT', desc="a geographic coordinate that specifies \n" "the north-south position of the vessel \n" "on the Earth's surface") course = NumberField(index='COURSE', desc="The course (in degrees) that the subject \n" "vessel is reporting according to \n" "AIS transmissions") heading = NumberField(index='HEADING', desc="The heading (in degrees) that the \n" "subject vessel is reporting according \n" "to AIS transmissions") timestamp = DatetimeField(index='TIMESTAMP', desc="The date and time (in UTC) that the \n" "subject vessel's position was recorded \n" "by MarineTraffic", format='%Y-%m-%dT%H:%M:%S') ship_id = NumberField(index='SHIP_ID', desc="A uniquely assigned ID by MarineTraffic \n" "for the subject vessel") wind_angle = NumberField(index='WIND_ANGLE', desc="The current angle of the wind in the \n" "subject area (in degrees, compared \n" "to True North)") wind_speed = NumberField(index='WIND_SPEED', desc="The current wind speed in \n" "the subject area (in knots)") wind_temp = NumberField(index='WIND_TEMP', desc="The current temperature of the wind in \n" "the subject area (in Celsius degrees)")
class BerthCall(Model): """Get berth arrival and departure information for a specific vessel, berth, terminal or port.""" ship_id = NumberField(index='SHIP_ID', desc="Api Rspfield Shipid.") mmsi = NumberField(index='MMSI', desc="Maritime Mobile Service Identity - \n" "a nine-digit number sent in digital \n" "form over a radio frequency that \n" "identifies the vessel's transmitter station") imo = NumberField(index='IMO', desc="International Maritime Organisation number - \n" "a seven-digit number that uniquely \n" "identifies vessels") dock_local_time = DatetimeField( index='DOCK_TIMESTAMP_LT', desc="The Date and Time (in Local Time) \n" "the subject vessel was Docked at the Berth", format='%Y-%m-%d %H:%M:%S') dock_utc_time = DatetimeField( index='DOCK_TIMESTAMP_UTC', desc="The Date and Time (in UTC) the subject \n" "vessel was Docked at the Berth", format='%Y-%m-%d %H:%M:%S') dock_offset_time = RealNumberField(index='DOCK_TIMESTAMP_OFFSET', desc="The time zone offset at the \n" "time of arrival/docking") undock_local_time = DatetimeField( index='UNDOCK_TIMESTAMP_LT', desc="The Date and Time (in Local Time) \n" "the subject vessel was Undocked \n" "from the Berth", format='%Y-%m-%d %H:%M:%S') undock_utc_time = DatetimeField(index='UNDOCK_TIMESTAMP_UTC', desc="The Date and Time (in UTC) the \n" "subject vessel was Undocked \n" "from the Berth", format='%Y-%m-%d %H:%M:%S') undock_offset_time = RealNumberField(index='UNDOCK_TIMESTAMP_OFFSET', desc="The time zone offset at the \n" "time of undocking/departure") ship_name = TextField(index='SHIPNAME', desc="The Ship name of the subject vessel") type_name = TextField(index='TYPE_NAME', desc="The Type of the subject vessel") grt = NumberField(index='GRT', desc="Gross Tonnage - unitless measure that \n" "calculates the moulded volume of all \n" "enclosed spaces of a ship") dwt = NumberField(index='DWT', desc="Deadweight - a measure (in metric tons) \n" "of how much weight a vessel can safely \n" "carry (excluding the vessel's own weight") flag = TextField(index='FLAG', desc="The flag of the subject vessel \n" "according to AIS transmissions") year_built = NumberField(index='YEAR_BUILT', desc="The year that the subject vessel was built") berth_id = NumberField(index='BERTH_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the Current Berth") berth_name = TextField(index='BERTH_NAME', desc="The Name of the subject Berth") terminal_id = NumberField(index='TERMINAL_ID', desc="A uniquely assigned ID by MarineTraffic \n" "for the Terminal where the Berth belongs \n" "(if available)") terminal_name = TextField(index='TERMINAL_NAME', desc="The Name of the Terminal where \n" "the Berth belongs (if available)") port_name = TextField(index='PORT_NAME', desc="The Name of the subject Port") port_id = NumberField(index='PORT_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the Current Port") unlocode = TextField(index='UNLOCODE', desc="A uniquely assigned ID by \n" "United Nations for the subject Port") country_code = TextField(index='COUNTRY_CODE', desc="The Country of the subject Port") destination_id = NumberField(index='DESTINATION_ID', desc="Api Rspfield Destination Id") destination = TextField(index='DESTINATION', desc="The Destination of the subject \n" "vessel according to the AIS transmissions") arrival_local_time = DatetimeField( index='ARR_TIMESTAMP_LT', desc="The Date and Time (in Local Time) the \n" "subject vessel arrived at the port, \n" "before the docking", format='%Y-%m-%d %H:%M:%S') arrival_utc_time = DatetimeField( index='ARR_TIMESTAMP_UTC', desc="The Date and Time (in UTC) the subject \n" "vessel arrived at the port, before \n" "the docking", format='%Y-%m-%d %H:%M:%S') arrival_draught = NumberField( index='ARR_DRAUGHT', desc="The Draught (in metres x10) of the subject \n" "vessel, at the time of arrival, \n" "according to the AIS transmissions") arrival_load_status = NumberField( index='ARR_LOAD_STATUS', desc="The load status of the subject vessel \n" "(0 : N/A, 1 : In Ballast, 2 : Partially Laden, \n" "3 : Fully Laden) at the time of arrival") distance_travelled = NumberField( index='DISTANCE_TRAVELLED', desc="The Distance (in NM) that the subject \n" "vessel has travelled since departing \n" "from Last Port") voyage_average_speed = NumberField( index='VOYAGE_SPEED_AVG', desc="Average Maintained Speed (in knots x10) \n" "since the last Port Call while steaming \n" "at speed > 5 knots - Updated upon Arrival") voyage_max_speed = NumberField( index='VOYAGE_SPEED_MAX', desc="Maximum Recorded Speed (in knots x10) \n" "since the last Port Call - \n" "Updated upon Arrival") voyage_idle_time = NumberField( index='VOYAGE_IDLE_TIME_MINS', desc="Total time in minutes since the previous \n" "Port Call while the vessel stopped or \n" "moving at speed < 3 knots - \n" "Updated upon Arrival") origin_name = TextField(index='PREVIOUS_NOANCH_NAME', desc="The name of the port of origin") origin_port_id = NumberField(index='PREVIOUS_NOANCH_ID', desc="The ID of the port of origin") origin_departure_time = DatetimeField( index='PREVIOUS_NOANCH_TIMESTAMP', desc="The time of Departure form the \n" "port of origin (UTC)", format='%Y-%m-%d %H:%M:%S') total_voyage_time = NumberField( index='ELAPSED_NOANCH', desc="Total time of Voyage since the previous \n" "Port Call except Anchorages and Canals - \n" "Updated upon Arrival") departure_local_time = DatetimeField( index='DEP_TIMESTAMP_LT', desc="The Date and Time (in Local Time) \n" "the subject vessel departed from the \n" "port, after the undocking", format='%Y-%m-%d %H:%M:%S') departure_utc_time = DatetimeField( index='DEP_TIMESTAMP_UTC', desc="The Date and Time (in UTC) the subject \n" "vessel departed from the port, \n" "after the undocking", format='%Y-%m-%d %H:%M:%S') departure_draught = NumberField( index='DEP_DRAUGHT', desc="The Draught (in metres x10) of the \n" "subject vessel, at the time of departure, \n" "according to the AIS transmission") departure_load_status = NumberField( index='DEP_LOAD_STATUS', desc="The load status of the subject vessel \n" "(0 : N/A, 1 : In Ballast, 2 : Partially Laden, \n" "3 : Fully Laden) at the time of departure") port_operation = NumberField( index='PORT_OPERATION', desc="Indicates LOAD/DISCHARGE operations in \n" "the subject Port Call event (0 : N/A, \n" "1 : load, 2 : discharge, 3 : both, 4 : none)") time_at_berth = NumberField(index='TIME_AT_BERTH', desc="The total time in minutes that \n" "the vessel stayed at berth") time_at_port = NumberField(index='TIME_AT_PORT', desc="The total time in minutes that \n" "the vessel stayed at port")
class VoyageForecast(Model): """Get a voyage forecast for a vessel or your MarineTraffic fleet""" mmsi = NumberField( index='MMSI', desc="Maritime Mobile Service Identity - a nine-digit \n" "number sent in digital form over a radio \n" "frequency that identifies the vessel's \n" "transmitter station") speed = NumberField(index='SPEED_CALC', desc="The Speed of the vessel that MarineTraffic \n" "used to produce the ETA_CALC value") destination = TextField(index='DESTINATION', desc="The Destination of the subject vessel \n" "according to the AIS transmissions") last_port_id = NumberField(index='LAST_PORT_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the Last Port") last_port = TextField( index='LAST_PORT', desc="The Name of the Last Port the vessel has visited") last_port_unlocode = TextField(index='LAST_PORT_UNLOCODE', desc="A uniquely assigned ID by \n" "United Nations for the Last Port") last_port_time = DatetimeField( index='LAST_PORT_TIME', desc="The Date and Time (in UTC) that the \n" "subject vessel departed from the Last Port", format='%Y-%m-%dT%H:%M:%S') next_port_id = NumberField(index='NEXT_PORT_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the Next Port") next_port_name = TextField( index='NEXT_PORT_NAME', desc="The Name of the Next Port as derived by \n" "MarineTraffic based on the subject \n" "vessel's reported Destination") next_port_unlocode = TextField(index='NEXT_PORT_UNLOCODE', desc="A uniquely assigned ID by \n" "United Nations for the Next Port") eta = DatetimeField(index='ETA', desc="The Estimated Time of Arrival to \n" "Destination of the subject vessel \n" "according to the AIS transmissions", format='%Y-%m-%dT%H:%M:%S') eta_calc = DatetimeField(index='ETA_CALC', desc="The Estimated Time of Arrival to \n" "Destination of the subject vessel \n" "according to the MarineTraffic calculations", format='%Y-%m-%dT%H:%M:%S') distance_travelled = NumberField( index='DISTANCE_TRAVELLED', desc="The Distance (in NM) that the subject \n" "vessel has travelled since departing \n" "from Last Port") distance_to_go = NumberField(index='DISTANCE_TO_GO', desc="The Remaining Distance (in NM) for \n" "the subject vessel to reach the \n" "reported Destination") draught = NumberField(index='DRAUGHT', desc="The Draught (in metres x10) of the \n" "subject vessel according to the AIS \n" "transmissions") draught_max = NumberField(index='DRAUGHT_MAX', desc="The Maximum Draught that has been \n" "recorded for the subject vessel") load_status_name = TextField( index='LOAD_STATUS_NAME', desc="The Load Condition of the subject vessel \n" "(In Ballast, Partially Loaded, Loaded)") route = LinestringField(index='ROUTE', desc="The estimated route of the subject \n" "vessel to destination in WKT format")
class PortCall(Model): """Get all vessel historical positions for a specific period of time.""" mmsi = NumberField(index='MMSI', desc="Maritime Mobile Service Identity - a \n" "ine-digit number sent in digital form \n" "over a radio frequency that identifies \n" "the vessel's transmitter station") ship_name = TextField(index='SHIPNAME', desc="The Ship name of the subject vessel") load_status = NumberField(index='LOAD_STATUS', desc="The load status of the subject vessel \n" "(0 : N/A, 1 : In Ballast, \n" "2 : Partially Laden, 3 : Fully Laden)") voyage_avg_speed = NumberField(index='VOYAGE_SPEED_AVG', desc="Average Maintained Speed (in knots x10) \n" "since the last Port Call while steaming \n" "at speed > 5 knots - Updated upon Arriva") voyage_max_speed = NumberField(index='VOYAGE_SPEED_MAX', desc="Maximum Recorded Speed (in knots x10) \n" "since the last Port Call - \n" "Updated upon Arrival") local_timestamp = DatetimeField(index='TIMESTAMP_LT', desc="The Date and Time (in Local Time) \n" "of the Port Call", format='%Y-%m-%dT%H:%M:%S') utc_timestamp = DatetimeField(index='TIMESTAMP_UTC', desc="The Date and Time (in UTC) \n" "of the Port Call", format='%Y-%m-%dT%H:%M:%S') ship_id = NumberField(index='SHIP_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the subject vessel") move_type = BooleanField(index='MOVE_TYPE', desc="0 or 1 - specifies the Port Call \n" "type (0 = Arrival, 1 = Departure)") type_name = TextField(index='TYPE_NAME', desc="The Type of the subject vessel") port_id = NumberField(index='PORT_ID', desc="A uniquely assigned ID by \n" "MarineTraffic for the Current Port") port_name = TextField(index='PORT_NAME', desc="The Type of the subject vessel") unlocode = TextField(index='UNLOCODE', desc="A uniquely assigned ID by United \n" "Nations for the subject Port") draught = NumberField(index='DRAUGHT', desc="The Draught (in metres x10) of the \n" "subject vessel according to the \n" "AIS transmissions") port_operation = NumberField(index='PORT_OPERATION', desc="Indicates LOAD/DISCHARGE operations in \n" "the subject Port Call event \n" "(0 : N/A, 1 : load, 2 : discharge, \n" "3 : both, 4 : none)") in_transit = BooleanField(index='INTRANSIT', desc="0 or 1 - specifies whether the vessel \n" "anchored in the Port or was In Transit \n" "(1 = In Transit)") distance_travelled = NumberField(index='DISTANCE_TRAVELLED', desc="The Distance (in NM) that the subject \n" "vessel has travelled since departing \n" "from Last Port") voyage_idle_time = NumberField(index='VOYAGE_IDLE_TIME_MINS', desc="Total time in minutes since the previous \n" "Port Call while the vessel stopped or \n" "moving at speed < 3 knots - \n" "Updated upon Arrival") elapsed_noanch = NumberField(index='ELAPSED_NOANCH', desc="Total time of Voyage since the \n" "previous Port Call except Anchorages \n" "and Canals - Updated upon Arrival") distance_leg = NumberField(index='DISTANCE_LEG', desc="The distance (in NM) between the last \n" "two calls regardless of Port Type") comfleet_grouped_type = TextField(index='COMFLEET_GROUPEDTYPE', desc="The commercial market segment \n" "the subject vessel belongs to") ship_class = TextField(index='SHIPCLASS', desc="The class of the subject vessel \n" "based on vessel type and size")