From a4e568f32daaaac182c1cfa6d65c61d02653881f Mon Sep 17 00:00:00 2001 From: Alex Spedding Date: Fri, 17 Apr 2026 12:10:23 +0100 Subject: [PATCH 1/3] chore: Add quantities --- vortexasdk/api/cargo_movement.py | 12 ++++++++++++ vortexasdk/version.py | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/vortexasdk/api/cargo_movement.py b/vortexasdk/api/cargo_movement.py index 7efd7615..42eda5ae 100644 --- a/vortexasdk/api/cargo_movement.py +++ b/vortexasdk/api/cargo_movement.py @@ -182,7 +182,19 @@ class CargoMovement(BaseModel): """ cargo_movement_id: ID + + # `quantity` and `discharge_quantity` are in the unit specified by the + # `cm_unit` parameter passed to `CargoMovements().search()`. + # The remaining quantity fields are always returned in their explicit units. quantity: Optional[int] = None + discharge_quantity: Optional[int] = None + + quantity_barrels: Optional[int] = None + quantity_tonnes: Optional[int] = None + quantity_cubic_metres: Optional[int] = None + quantity_discharge_barrels: Optional[int] = None + quantity_discharge_tonnes: Optional[int] = None + quantity_discharge_cubic_metres: Optional[int] = None status: Optional[str] = None vessels: Optional[List[VesselEntity]] = None product: Optional[List[CargoMovementProductEntry]] = None diff --git a/vortexasdk/version.py b/vortexasdk/version.py index 89e4f67f..00188284 100644 --- a/vortexasdk/version.py +++ b/vortexasdk/version.py @@ -1 +1 @@ -__version__ = "1.0.23" +__version__ = "1.0.24" From d5bc4dcb6dbc52d273b5db2ebc58563a51fdeb9c Mon Sep 17 00:00:00 2001 From: Alex Spedding Date: Fri, 17 Apr 2026 12:19:03 +0100 Subject: [PATCH 2/3] chore: add test --- tests/api/examples/cargo_movements.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/api/examples/cargo_movements.json b/tests/api/examples/cargo_movements.json index 100ae732..8ddb68ff 100644 --- a/tests/api/examples/cargo_movements.json +++ b/tests/api/examples/cargo_movements.json @@ -2,6 +2,13 @@ { "cargo_movement_id": "00886b05a0747522b67322f50123ee60e61e219fc9a9c6011be1a1dade65f63e", "quantity": 4401, + "discharge_quantity": 4380, + "quantity_barrels": 4401, + "quantity_tonnes": 612, + "quantity_cubic_metres": 700, + "quantity_discharge_barrels": 4380, + "quantity_discharge_tonnes": 609, + "quantity_discharge_cubic_metres": 697, "status": "unloaded_state", "vessels": [ { From c036a67b213aa754b4a222287823d4b410ea0f01 Mon Sep 17 00:00:00 2001 From: Alex Spedding Date: Fri, 17 Apr 2026 12:37:12 +0100 Subject: [PATCH 3/3] chore: fix test --- tests/api/test_cargo_movement.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/api/test_cargo_movement.py b/tests/api/test_cargo_movement.py index c6df324a..792ef233 100644 --- a/tests/api/test_cargo_movement.py +++ b/tests/api/test_cargo_movement.py @@ -14,6 +14,13 @@ class TestCargoMovement(TestCase): dictionary = { "cargo_movement_id": "00886b05a0747522b67322f50123ee60e61e219fc9a9c6011be1a1dade65f63e", "quantity": 4401, + "discharge_quantity": 4380, + "quantity_barrels": 4401, + "quantity_tonnes": 612, + "quantity_cubic_metres": 700, + "quantity_discharge_barrels": 4380, + "quantity_discharge_tonnes": 609, + "quantity_discharge_cubic_metres": 697, "status": "unloaded_state", "vessels": [ { @@ -174,6 +181,13 @@ def test_convert_to_flat_dict(self) -> None: "product.grade.external_sources.0.sorting_order": 1, "product.grade.external_sources.0.type": "bol", "quantity": 4401, + "discharge_quantity": 4380, + "quantity_barrels": 4401, + "quantity_tonnes": 612, + "quantity_cubic_metres": 700, + "quantity_discharge_barrels": 4380, + "quantity_discharge_tonnes": 609, + "quantity_discharge_cubic_metres": 697, "status": "unloaded_state", "vessels.0.corporate_entities.effective_controller.id": "f9bd45e65e292909a7b751b0026dcf7795c6194b3c0712910a241caee32c99b8", "vessels.0.corporate_entities.effective_controller.label": "Essberger J.T.",