diff --git a/examples/geojson/platform_status.json b/examples/geojson/platform_status.json
index 4cfc13142262a90615eafefb4465013e4f082161..4a7b1fcf048d15ca2a831aaf2d0d2cfce9ce9191 100644
--- a/examples/geojson/platform_status.json
+++ b/examples/geojson/platform_status.json
@@ -22,7 +22,7 @@
           "type": "Point",
           "coordinates": [
               -10.122,
-              178.2,
+              78.2,
               50.0,
               20
           ]
@@ -31,7 +31,7 @@
           "type": "Point",
           "coordinates": [
               -10.5,
-              178.5
+              78.5
           ]
       }
   }
diff --git a/examples/mas-dt/waypoint_status.json b/examples/mas-dt/waypoint_status.json
new file mode 100644
index 0000000000000000000000000000000000000000..36529145b9019888546c93cc0a84c04fefbe0210
--- /dev/null
+++ b/examples/mas-dt/waypoint_status.json
@@ -0,0 +1,24 @@
+{
+    "header":{
+        "message_ID": "b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
+        "timestamp": "2024-09-05T00:00:00Z",
+        "version": "v2.0.0-beta.1",
+        "source": "noc-sfmc",
+        "destination": "mas-dt.noc.slocum.unit_xxx.from_platform.platform_status",
+        "delivery_type": "publish",
+        "encoded": false
+    },
+    "payload":{
+        "message_type": "waypoint_status",
+        "platform_ID": "unit_xxx",
+        "platform_timestamp": "2024-09-05T00:00:00Z",
+        "status_source": "simulated",
+        "autonomy_engine_plan_ID": 1,
+        "mission_plan_ID": 1,
+        "mission_track_ID": 4,
+        "waypoint": {
+            "type": "Point",
+            "coordinates": [-10.122, 78.2, 50.0, 20.0]
+        }
+    }
+}
diff --git a/formats/payload.py b/formats/payload.py
index 0868657e81a5208ed8e9a4cbe0cd278777655db7..c1f85dcfd6022e4037ded49367c442490987afcc 100644
--- a/formats/payload.py
+++ b/formats/payload.py
@@ -5,9 +5,9 @@ payload_schema = {
             "alert": "#/components/schemas/alert",
             "instruction_set": "#/components/schemas/instruction_set",
             "mission_plan": "#/components/schemas/mission_plan",
-            "mission_plan_encoded": "#/components/schemas/" + "mission_plan_encoded",
+            "mission_plan_encoded": "#/components/schemas/mission_plan_encoded",
             "observation": "#/components/schemas/observation",
-            "observation_encoded": "#/components/schemas/" + "observation_encoded",
+            "observation_encoded": "#/components/schemas/observation_encoded",
             "planning_configuration": "#/components/schemas/"
             + "planning_configuration",
             "platform_status": "#/components/schemas/platform_status",
@@ -15,7 +15,8 @@ payload_schema = {
             + "platform_status_encoded",
             "acknowledgement": "#/components/schemas/acknowledgement",
             "survey": "#/components/schemas/survey",
-            "survey_encoded": "#/components/schemas/" + "survey_encoded",
+            "survey_encoded": "#/components/schemas/survey_encoded",
+            "waypoint_status": "#/components/schemas/waypoint_status",
         },
     },
     "oneOf": [
@@ -31,5 +32,6 @@ payload_schema = {
         {"$ref": "#/components/schemas/platform_status_encoded"},
         {"$ref": "#/components/schemas/survey"},
         {"$ref": "#/components/schemas/survey_encoded"},
+        {"$ref": "#/components/schemas/waypoint_status"},
     ],
 }
diff --git a/formats/platform_status.py b/formats/platform_status.py
index 47807805ec41636fc35064f96560015644c549b1..0a126155461630eeb4d23a0239637c11df0707ec 100644
--- a/formats/platform_status.py
+++ b/formats/platform_status.py
@@ -25,27 +25,14 @@ sensor_schema = {
     },
 }
 
-platform_status_schema = {
+platform_status_core_fields_schema = {
     "type": "object",
     "properties": {
-        "message_type": {
-            "type": "string",
-            "description": "Type of message",
-            "example": "platform_status",
-            "enum": ["platform_status"],
-        },
         "platform_ID": {
             "type": "string",
             "description": "Unique identifier for this platform",
             "example": "reav-x-1",
         },
-        "status_source": {
-            "type": "string",
-            "enum": ["usbl", "onboard_platform"],
-            "description": "Indicate if this status message is from the"
-            + " platform or USBL",
-            "example": "usbl",
-        },
         "transmission_mode": {
             "type": "string",
             "enum": ["acoustics", "iridium", "wifi", "starlink"],
@@ -172,7 +159,41 @@ platform_status_schema = {
         },
         "sensor_config": sensor_schema,
     },
+}
+
+platform_status_schema = {
+    "type": "object",
+    "properties": {
+        "message_type": {
+            "type": "string",
+            "description": "Type of message",
+            "example": "platform_status",
+            "enum": ["platform_status"],
+        },
+        "status_source": {
+            "type": "string",
+            "enum": ["usbl", "onboard_platform", "simulated"],
+            "description": "Indicate if this status message is from the"
+            + " platform or USBL",
+            "example": "usbl",
+        },
+    },
+    "allOf": [platform_status_core_fields_schema],
     "oneOf": [
+        {
+            "type": "object",
+            "properties": {
+                "no_position_reason": {
+                    "type": "string",
+                    "enum": ["missing", "invalid", "old", "poor_fix"],
+                    "description": "Why position data is unavailable",
+                    "example": "invalid",
+                },
+            },
+            "required": [
+                "no_position_reason",
+            ],
+        },
         {
             "type": "object",
             "properties": {
@@ -254,3 +275,104 @@ platform_status_schema = {
         "platform_timestamp",
     ],
 }
+
+waypoint_status_schema = {
+    "type": "object",
+    "properties": {
+        "message_type": {
+            "type": "string",
+            "description": "Type of message",
+            "example": "waypoint_status",
+            "enum": ["waypoint_status"],
+        },
+        "status_source": {
+            "type": "string",
+            "enum": ["onboard_platform", "simulated", "autonomy"],
+            "description": "Indicate if this status message is from the"
+            + " platform or USBL",
+            "example": "usbl",
+        },
+    },
+    "allOf": [platform_status_core_fields_schema],
+    "oneOf": [
+        {
+            "type": "object",
+            "properties": {
+                "position": {
+                    "$ref": "https://geojson.org/schema/Point.json",
+                },
+                "waypoint": {
+                    "$ref": "https://geojson.org/schema/Point.json",
+                },
+            },
+            "required": [
+                "waypoint",
+            ],
+        },
+        {
+            "type": "object",
+            "properties": {
+                "latitude": {
+                    "type": "number",
+                    "format": "float",
+                    "description": "Latitude (Y-coordinate) in decimal degrees.",
+                    "example": 178.2,
+                },
+                "longitude": {
+                    "type": "number",
+                    "format": "float",
+                    "description": "Longitude (X-coordinate) in decimal degrees.",
+                    "example": -10.122,
+                },
+                "depth": {
+                    "type": "number",
+                    "format": "float",
+                    "description": "Target depth in metres",
+                    "example": 50.0,
+                    "default": 0.0,
+                },
+                "altitude": {
+                    "type": "number",
+                    "format": "float",
+                    "description": "Target altitude in metres",
+                    "example": 20.0,
+                },
+                "waypoint_latitude": {
+                    "type": "number",
+                    "format": "float",
+                    "description": "Latitude (Y-coordinate) in decimal degrees.",
+                    "example": 178.2,
+                },
+                "waypoint_longitude": {
+                    "type": "number",
+                    "format": "float",
+                    "description": "Longitude (X-coordinate) in decimal degrees.",
+                    "example": -10.122,
+                },
+                "waypoint_depth": {
+                    "type": "number",
+                    "format": "float",
+                    "description": "Target depth in metres",
+                    "example": 50.0,
+                    "default": 0.0,
+                },
+                "waypoint_altitude": {
+                    "type": "number",
+                    "format": "float",
+                    "description": "Target altitude in metres",
+                    "example": 20.0,
+                },
+            },
+            "required": [
+                "waypoint_latitude",
+                "waypoint_longitude",
+            ],
+        },
+    ],
+    "required": [
+        "message_type",
+        "platform_ID",
+        "status_source",
+        "platform_timestamp",
+    ],
+}
diff --git a/generate_schema_config.py b/generate_schema_config.py
index 3c0f530a8635479c1af949877718cc11afa89f21..aa784fba7b70f6b27aaff3d962ec0a6bc4057c6d 100644
--- a/generate_schema_config.py
+++ b/generate_schema_config.py
@@ -6,7 +6,7 @@ from formats.observation import observation_schema
 from formats.observation_encoded import observation_encoded_schema
 from formats.payload import payload_schema
 from formats.planning_configuration import planning_configuration_schema
-from formats.platform_status import platform_status_schema
+from formats.platform_status import platform_status_schema, waypoint_status_schema
 from formats.platform_status_encoded import platform_status_encoded_schema
 from formats.survey import survey_schema
 from formats.survey_encoded import survey_encoded_schema
@@ -74,6 +74,7 @@ def get_swagger_config(reload=False):
                 "alert": alert_schema,
                 "instruction_set": instruction_set_schema,
                 "config_file": config_file_schema,
+                "waypoint_status": waypoint_status_schema,
             }
         },
     }
diff --git a/project/soar/swagger.json b/project/soar/swagger.json
index b2a1073cddfce560ff3657e479a753a1f20b725a..c9def1282297b56d2817f02dbc2068900c708fc5 100644
--- a/project/soar/swagger.json
+++ b/project/soar/swagger.json
@@ -1820,7 +1820,8 @@
             "platform_status": "#/components/schemas/platform_status",
             "platform_status_encoded": "#/components/schemas/platform_status_encoded",
             "survey": "#/components/schemas/survey",
-            "survey_encoded": "#/components/schemas/survey_encoded"
+            "survey_encoded": "#/components/schemas/survey_encoded",
+            "waypoint_status": "#/components/schemas/waypoint_status"
           },
           "propertyName": "message_type"
         },
@@ -1860,6 +1861,9 @@
           },
           {
             "$ref": "#/components/schemas/survey_encoded"
+          },
+          {
+            "$ref": "#/components/schemas/waypoint_status"
           }
         ]
       },
@@ -2207,7 +2211,183 @@
         "type": "object"
       },
       "platform_status": {
+        "allOf": [
+          {
+            "properties": {
+              "autonomy_engine_plan_ID": {
+                "description": "Last mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform",
+                "example": 1,
+                "type": "integer"
+              },
+              "battery_output": {
+                "description": "Battery output in kW",
+                "example": 80.2,
+                "format": "float",
+                "type": "number"
+              },
+              "battery_remaining_capacity": {
+                "description": "Battery remaining % provided by respective C2",
+                "example": 80.2,
+                "format": "float",
+                "type": "number"
+              },
+              "endurance": {
+                "description": "Estimate of hours of operation remaining based on present output or performance",
+                "example": 7.4,
+                "format": "float",
+                "type": "number"
+              },
+              "fuel_remaining_capacity": {
+                "description": "Percentage remaining capacity",
+                "example": 80.2,
+                "format": "float",
+                "type": "number"
+              },
+              "fuel_volume": {
+                "description": "Litres of liquid fuel",
+                "example": 12.5,
+                "format": "float",
+                "type": "number"
+              },
+              "heading": {
+                "description": "Angular distance relative to north, usually 000\u00b0 at north, clockwise through 359\u00b0, in degrees",
+                "example": 124.3,
+                "format": "float",
+                "type": "number"
+              },
+              "health_status": {
+                "description": "Health status where 0 is OK, 1 is platform has an ERROR",
+                "example": false,
+                "type": "boolean"
+              },
+              "localisation_east_error": {
+                "description": "Difference in EAST between deadreckoningand USBL update.",
+                "example": 0.000129,
+                "format": "float",
+                "type": "number"
+              },
+              "localisation_north_error": {
+                "description": "Difference in NORTH between deadreckoning and USBL update.",
+                "example": 0.000129,
+                "format": "float",
+                "type": "number"
+              },
+              "mission_plan_ID": {
+                "description": "Mission plan ID according to platform-C2 system",
+                "example": 1,
+                "type": "integer"
+              },
+              "mission_track_ID": {
+                "description": "Track number - stage in mission (e.g. 4 --> Waypoint 3 to Waypoint 4)",
+                "example": 4,
+                "type": "integer"
+              },
+              "platform_ID": {
+                "description": "Unique identifier for this platform",
+                "example": "reav-x-1",
+                "type": "string"
+              },
+              "platform_state": {
+                "description": "Current state executed by platform. E.g. STOP, IDLE, ABORT.",
+                "example": "ABORT",
+                "type": "string"
+              },
+              "platform_timestamp": {
+                "description": "Timestamp for onboard platform status message",
+                "example": "2022-12-21T00:00:00Z",
+                "format": "date-time",
+                "type": "string"
+              },
+              "range_to_go": {
+                "description": "Estimated distance to reach next waypoint",
+                "example": 124.3,
+                "format": "float",
+                "type": "number"
+              },
+              "sensor_config": {
+                "description": "Scanning sensor on platform available to be controlled by  the Autonomy Engine",
+                "properties": {
+                  "additional_data": {
+                    "description": "Any addition fields/data to be added here",
+                    "example": {
+                      "payload": [
+                        1.2,
+                        434
+                      ]
+                    },
+                    "type": "object"
+                  },
+                  "sensor_on": {
+                    "description": "Sensor switched on (true) or off (false)",
+                    "example": true,
+                    "type": "boolean"
+                  },
+                  "sensor_serial": {
+                    "description": "serial number of sensor",
+                    "example": "mbes-002a",
+                    "type": "string"
+                  }
+                },
+                "type": "object"
+              },
+              "speed_over_ground": {
+                "description": "Speed over ground",
+                "example": 124.3,
+                "format": "float",
+                "type": "number"
+              },
+              "thrust_applied": {
+                "description": "Thrust applied",
+                "example": 124.3,
+                "format": "float",
+                "type": "number"
+              },
+              "transmission_mode": {
+                "description": "Mode in which status message was transmitted when on the surface (e.g. iridium/wifi) or underwater (e.g. acoustics)",
+                "enum": [
+                  "acoustics",
+                  "iridium",
+                  "wifi",
+                  "starlink"
+                ],
+                "example": "wifi",
+                "type": "string"
+              },
+              "usbl_fix_seconds_ago": {
+                "description": "USBL Fix received x second ago.",
+                "example": 10.0,
+                "format": "float",
+                "type": "number"
+              },
+              "water_current_velocity": {
+                "description": "Water current magnitude and direction",
+                "example": "124.3NE",
+                "type": "string"
+              }
+            },
+            "type": "object"
+          }
+        ],
         "oneOf": [
+          {
+            "properties": {
+              "no_position_reason": {
+                "description": "Why position data is unavailable",
+                "enum": [
+                  "missing",
+                  "invalid",
+                  "old",
+                  "poor_fix"
+                ],
+                "example": "invalid",
+                "type": "string"
+              }
+            },
+            "required": [
+              "no_position_reason"
+            ],
+            "type": "object"
+          },
           {
             "properties": {
               "position": {
@@ -2283,64 +2463,6 @@
           }
         ],
         "properties": {
-          "autonomy_engine_plan_ID": {
-            "description": "Last mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform",
-            "example": 1,
-            "type": "integer"
-          },
-          "battery_output": {
-            "description": "Battery output in kW",
-            "example": 80.2,
-            "format": "float",
-            "type": "number"
-          },
-          "battery_remaining_capacity": {
-            "description": "Battery remaining % provided by respective C2",
-            "example": 80.2,
-            "format": "float",
-            "type": "number"
-          },
-          "endurance": {
-            "description": "Estimate of hours of operation remaining based on present output or performance",
-            "example": 7.4,
-            "format": "float",
-            "type": "number"
-          },
-          "fuel_remaining_capacity": {
-            "description": "Percentage remaining capacity",
-            "example": 80.2,
-            "format": "float",
-            "type": "number"
-          },
-          "fuel_volume": {
-            "description": "Litres of liquid fuel",
-            "example": 12.5,
-            "format": "float",
-            "type": "number"
-          },
-          "heading": {
-            "description": "Angular distance relative to north, usually 000\u00b0 at north, clockwise through 359\u00b0, in degrees",
-            "example": 124.3,
-            "format": "float",
-            "type": "number"
-          },
-          "health_status": {
-            "description": "Health status where 0 is OK, 1 is platform has an ERROR",
-            "example": false,
-            "type": "boolean"
-          },
-          "localisation_east_error": {
-            "description": "Difference in EAST between deadreckoningand USBL update.",
-            "example": 0.000129,
-            "format": "float",
-            "type": "number"
-          },
-          "localisation_north_error": {
-            "description": "Difference in NORTH between deadreckoning and USBL update.",
-            "example": 0.000129,
-            "format": "float",
-            "type": "number"
-          },
           "message_type": {
             "description": "Type of message",
             "enum": [
@@ -2349,106 +2471,15 @@
             "example": "platform_status",
             "type": "string"
           },
-          "mission_plan_ID": {
-            "description": "Mission plan ID according to platform-C2 system",
-            "example": 1,
-            "type": "integer"
-          },
-          "mission_track_ID": {
-            "description": "Track number - stage in mission (e.g. 4 --> Waypoint 3 to Waypoint 4)",
-            "example": 4,
-            "type": "integer"
-          },
-          "platform_ID": {
-            "description": "Unique identifier for this platform",
-            "example": "reav-x-1",
-            "type": "string"
-          },
-          "platform_state": {
-            "description": "Current state executed by platform. E.g. STOP, IDLE, ABORT.",
-            "example": "ABORT",
-            "type": "string"
-          },
-          "platform_timestamp": {
-            "description": "Timestamp for onboard platform status message",
-            "example": "2022-12-21T00:00:00Z",
-            "format": "date-time",
-            "type": "string"
-          },
-          "range_to_go": {
-            "description": "Estimated distance to reach next waypoint",
-            "example": 124.3,
-            "format": "float",
-            "type": "number"
-          },
-          "sensor_config": {
-            "description": "Scanning sensor on platform available to be controlled by  the Autonomy Engine",
-            "properties": {
-              "additional_data": {
-                "description": "Any addition fields/data to be added here",
-                "example": {
-                  "payload": [
-                    1.2,
-                    434
-                  ]
-                },
-                "type": "object"
-              },
-              "sensor_on": {
-                "description": "Sensor switched on (true) or off (false)",
-                "example": true,
-                "type": "boolean"
-              },
-              "sensor_serial": {
-                "description": "serial number of sensor",
-                "example": "mbes-002a",
-                "type": "string"
-              }
-            },
-            "type": "object"
-          },
-          "speed_over_ground": {
-            "description": "Speed over ground",
-            "example": 124.3,
-            "format": "float",
-            "type": "number"
-          },
           "status_source": {
             "description": "Indicate if this status message is from the platform or USBL",
             "enum": [
               "usbl",
-              "onboard_platform"
+              "onboard_platform",
+              "simulated"
             ],
             "example": "usbl",
             "type": "string"
-          },
-          "thrust_applied": {
-            "description": "Thrust applied",
-            "example": 124.3,
-            "format": "float",
-            "type": "number"
-          },
-          "transmission_mode": {
-            "description": "Mode in which status message was transmitted when on the surface (e.g. iridium/wifi) or underwater (e.g. acoustics)",
-            "enum": [
-              "acoustics",
-              "iridium",
-              "wifi",
-              "starlink"
-            ],
-            "example": "wifi",
-            "type": "string"
-          },
-          "usbl_fix_seconds_ago": {
-            "description": "USBL Fix received x second ago.",
-            "example": 10.0,
-            "format": "float",
-            "type": "number"
-          },
-          "water_current_velocity": {
-            "description": "Water current magnitude and direction",
-            "example": "124.3NE",
-            "type": "string"
           }
         },
         "required": [
@@ -2628,6 +2659,267 @@
           "is_binary"
         ],
         "type": "object"
+      },
+      "waypoint_status": {
+        "allOf": [
+          {
+            "properties": {
+              "autonomy_engine_plan_ID": {
+                "description": "Last mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform",
+                "example": 1,
+                "type": "integer"
+              },
+              "battery_output": {
+                "description": "Battery output in kW",
+                "example": 80.2,
+                "format": "float",
+                "type": "number"
+              },
+              "battery_remaining_capacity": {
+                "description": "Battery remaining % provided by respective C2",
+                "example": 80.2,
+                "format": "float",
+                "type": "number"
+              },
+              "endurance": {
+                "description": "Estimate of hours of operation remaining based on present output or performance",
+                "example": 7.4,
+                "format": "float",
+                "type": "number"
+              },
+              "fuel_remaining_capacity": {
+                "description": "Percentage remaining capacity",
+                "example": 80.2,
+                "format": "float",
+                "type": "number"
+              },
+              "fuel_volume": {
+                "description": "Litres of liquid fuel",
+                "example": 12.5,
+                "format": "float",
+                "type": "number"
+              },
+              "heading": {
+                "description": "Angular distance relative to north, usually 000\u00b0 at north, clockwise through 359\u00b0, in degrees",
+                "example": 124.3,
+                "format": "float",
+                "type": "number"
+              },
+              "health_status": {
+                "description": "Health status where 0 is OK, 1 is platform has an ERROR",
+                "example": false,
+                "type": "boolean"
+              },
+              "localisation_east_error": {
+                "description": "Difference in EAST between deadreckoningand USBL update.",
+                "example": 0.000129,
+                "format": "float",
+                "type": "number"
+              },
+              "localisation_north_error": {
+                "description": "Difference in NORTH between deadreckoning and USBL update.",
+                "example": 0.000129,
+                "format": "float",
+                "type": "number"
+              },
+              "mission_plan_ID": {
+                "description": "Mission plan ID according to platform-C2 system",
+                "example": 1,
+                "type": "integer"
+              },
+              "mission_track_ID": {
+                "description": "Track number - stage in mission (e.g. 4 --> Waypoint 3 to Waypoint 4)",
+                "example": 4,
+                "type": "integer"
+              },
+              "platform_ID": {
+                "description": "Unique identifier for this platform",
+                "example": "reav-x-1",
+                "type": "string"
+              },
+              "platform_state": {
+                "description": "Current state executed by platform. E.g. STOP, IDLE, ABORT.",
+                "example": "ABORT",
+                "type": "string"
+              },
+              "platform_timestamp": {
+                "description": "Timestamp for onboard platform status message",
+                "example": "2022-12-21T00:00:00Z",
+                "format": "date-time",
+                "type": "string"
+              },
+              "range_to_go": {
+                "description": "Estimated distance to reach next waypoint",
+                "example": 124.3,
+                "format": "float",
+                "type": "number"
+              },
+              "sensor_config": {
+                "description": "Scanning sensor on platform available to be controlled by  the Autonomy Engine",
+                "properties": {
+                  "additional_data": {
+                    "description": "Any addition fields/data to be added here",
+                    "example": {
+                      "payload": [
+                        1.2,
+                        434
+                      ]
+                    },
+                    "type": "object"
+                  },
+                  "sensor_on": {
+                    "description": "Sensor switched on (true) or off (false)",
+                    "example": true,
+                    "type": "boolean"
+                  },
+                  "sensor_serial": {
+                    "description": "serial number of sensor",
+                    "example": "mbes-002a",
+                    "type": "string"
+                  }
+                },
+                "type": "object"
+              },
+              "speed_over_ground": {
+                "description": "Speed over ground",
+                "example": 124.3,
+                "format": "float",
+                "type": "number"
+              },
+              "thrust_applied": {
+                "description": "Thrust applied",
+                "example": 124.3,
+                "format": "float",
+                "type": "number"
+              },
+              "transmission_mode": {
+                "description": "Mode in which status message was transmitted when on the surface (e.g. iridium/wifi) or underwater (e.g. acoustics)",
+                "enum": [
+                  "acoustics",
+                  "iridium",
+                  "wifi",
+                  "starlink"
+                ],
+                "example": "wifi",
+                "type": "string"
+              },
+              "usbl_fix_seconds_ago": {
+                "description": "USBL Fix received x second ago.",
+                "example": 10.0,
+                "format": "float",
+                "type": "number"
+              },
+              "water_current_velocity": {
+                "description": "Water current magnitude and direction",
+                "example": "124.3NE",
+                "type": "string"
+              }
+            },
+            "type": "object"
+          }
+        ],
+        "oneOf": [
+          {
+            "properties": {
+              "position": {
+                "$ref": "#/components/schemas/geojson.org.schema.Point.json"
+              },
+              "waypoint": {
+                "$ref": "#/components/schemas/geojson.org.schema.Point.json"
+              }
+            },
+            "required": [
+              "waypoint"
+            ],
+            "type": "object"
+          },
+          {
+            "properties": {
+              "altitude": {
+                "description": "Target altitude in metres",
+                "example": 20.0,
+                "format": "float",
+                "type": "number"
+              },
+              "depth": {
+                "default": 0.0,
+                "description": "Target depth in metres",
+                "example": 50.0,
+                "format": "float",
+                "type": "number"
+              },
+              "latitude": {
+                "description": "Latitude (Y-coordinate) in decimal degrees.",
+                "example": 178.2,
+                "format": "float",
+                "type": "number"
+              },
+              "longitude": {
+                "description": "Longitude (X-coordinate) in decimal degrees.",
+                "example": -10.122,
+                "format": "float",
+                "type": "number"
+              },
+              "waypoint_altitude": {
+                "description": "Target altitude in metres",
+                "example": 20.0,
+                "format": "float",
+                "type": "number"
+              },
+              "waypoint_depth": {
+                "default": 0.0,
+                "description": "Target depth in metres",
+                "example": 50.0,
+                "format": "float",
+                "type": "number"
+              },
+              "waypoint_latitude": {
+                "description": "Latitude (Y-coordinate) in decimal degrees.",
+                "example": 178.2,
+                "format": "float",
+                "type": "number"
+              },
+              "waypoint_longitude": {
+                "description": "Longitude (X-coordinate) in decimal degrees.",
+                "example": -10.122,
+                "format": "float",
+                "type": "number"
+              }
+            },
+            "required": [
+              "waypoint_latitude",
+              "waypoint_longitude"
+            ],
+            "type": "object"
+          }
+        ],
+        "properties": {
+          "message_type": {
+            "description": "Type of message",
+            "enum": [
+              "waypoint_status"
+            ],
+            "example": "waypoint_status",
+            "type": "string"
+          },
+          "status_source": {
+            "description": "Indicate if this status message is from the platform or USBL",
+            "enum": [
+              "onboard_platform",
+              "simulated",
+              "autonomy"
+            ],
+            "example": "usbl",
+            "type": "string"
+          }
+        },
+        "required": [
+          "message_type",
+          "platform_ID",
+          "status_source",
+          "platform_timestamp"
+        ],
+        "type": "object"
       }
     }
   },