/
vessel_movement.py
38 lines (28 loc) · 1.02 KB
/
vessel_movement.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from dataclasses import dataclass
from typing import List, Optional
from vortexasdk.api.geography import GeographyEntity
from vortexasdk.api.id import ID
from vortexasdk.api.serdes import FromDictMixin
from vortexasdk.api.shared_types import ISODate
from vortexasdk.api.vessel import VesselEntity
@dataclass(frozen=True)
class VesselEvent:
"""Represent an event that occurred to a vessel during a vessel movement."""
event_type: str
location: List[GeographyEntity]
pos: Optional[List[float]] = None
event_id: Optional[ID] = None
start_timestamp: Optional[ISODate] = None
end_timestamp: Optional[ISODate] = None
@dataclass(frozen=True)
class VesselMovement(FromDictMixin):
"""
[Vessel Movement Further Documentation](https://docs.vortexa.com/reference/intro-vessel-movement)
"""
vessel_movement_id: ID
voyage_id: ID
vessel: VesselEntity
origin: VesselEvent
destination: VesselEvent
start_timestamp: Optional[ISODate] = None
end_timestamp: Optional[ISODate] = None