diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8c93a2d343ec3e42a26bf9d8974da86b3a474f74..0f778e449bd4f6b5c0a007e6cffc315f9d875769 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
 
 ### Added
 
+- New message type "autonomy". Long term plan is to integrate this as an object into the planning configuration schema, where if an operation has autonomy, the metadata, configurations, any instructions / default settings shall be within this message structure section.
 - Additional_data field to platform_status to input any other data from a platform to be published
 - Goal object in mission_plan message that consists of a GeoJSON feature (representing the part of primitive that is currently the goal of the given mission plan).
 - A `partial` flag that indicates if a mission plan is a partial plan or the entire mission plan
diff --git a/examples/mas-dt/autonomy.json b/examples/mas-dt/autonomy.json
new file mode 100644
index 0000000000000000000000000000000000000000..3d7dfe46fa61859f8bd84a441f5fb4ce4bbe19af
--- /dev/null
+++ b/examples/mas-dt/autonomy.json
@@ -0,0 +1,17 @@
+{
+  "header":{
+    "message_ID": "a127003c-0000-11aa-a1eb-b1cdf2342fdd",
+    "timestamp": "2025-02-07T00:00:00Z",
+    "version": "v2.0.0-beta.11",
+    "source": "noc-c2",
+    "destination": "mas-dt",
+    "delivery_type": "publish",
+    "encoded": false
+  },
+  "payload":{
+    "message_type": "autonomy",
+    "planning_config_ID": 1,
+    "version": "v0.1.2",
+    "state": "start"
+  }
+}
\ No newline at end of file
diff --git a/formats/autonomy.py b/formats/autonomy.py
new file mode 100644
index 0000000000000000000000000000000000000000..48f860a8f13388cfc9771c627a4649b49f1ddf9c
--- /dev/null
+++ b/formats/autonomy.py
@@ -0,0 +1,37 @@
+"""
+    schemas: Autonomy related data with Autonomy Engine metadata, 
+    configurations and default instructions
+"""
+
+autonomy_schema = {
+    "type": "object",
+    "properties": {
+        "message_type": {
+            "type": "string",
+            "description": "Type of message",
+            "example": "autonomy",
+            "enum": ["autonomy"],
+        },
+        "planning_config_ID": {
+            "type": "integer",
+            "description": "Unique identifier of autonomy engine's planning config ID"
+            + " configuration plan",
+            "example": 3,
+        },
+        "version": {
+            "type": "string",
+            "description": "Version of autonomy engine for given planning config ID",
+            "example": "v1.0.0",
+        },
+        "state": {
+            "type": "string",
+            "enum": ["start", "stop"],
+            "description": "Autonomy engine instruction to start or stop model",
+            "example": "stop",
+        },
+    },
+    "required": [
+        "message_type",
+        "planning_config_ID"
+    ],
+}
diff --git a/generate_schema_config.py b/generate_schema_config.py
index 9875549b14a185003e1ddea6e66a4bdc914fa4d3..825776fd532a9578bcff5873d2583be684b2893c 100644
--- a/generate_schema_config.py
+++ b/generate_schema_config.py
@@ -1,5 +1,6 @@
 from formats.header import message_header
 from formats.message import message_schema
+from formats.autonomy import autonomy_schema
 from formats.mission_plan import mission_plan_schema
 from formats.mission_plan_encoded import mission_plan_encoded_schema
 from formats.observation import observation_schema
@@ -49,9 +50,9 @@ def get_swagger_config(reload=False):
         "swagger_ui": True,
         "specs_route": "/",
         "info": {
-            "title": "SoAR Backbone Message Formats",
+            "title": "Backbone Message Formats",
             "version": "1.0",
-            "description": "SoAR message protocol in schemas",
+            "description": "message protocol in schemas",
         },
         "specs": [
             {
@@ -66,6 +67,7 @@ def get_swagger_config(reload=False):
                 "MESSAGE": message_schema,
                 "header": message_header,
                 "payload": payload_schema,
+                "autonomy": autonomy_schema,
                 "mission_plan": mission_plan_schema,
                 "mission_plan_encoded": mission_plan_encoded_schema,
                 "observation": observation_schema,
diff --git a/project/soar/swagger.json b/project/soar/swagger.json
index 94698e0c59ae0669805f6e7febaf9485b6d0ce43..3984df41e1ef686f0d061a6bd6eb1ca2edadb848 100644
--- a/project/soar/swagger.json
+++ b/project/soar/swagger.json
@@ -111,6 +111,42 @@
         ],
         "type": "object"
       },
+      "autonomy": {
+        "properties": {
+          "message_type": {
+            "description": "Type of message",
+            "enum": [
+              "autonomy"
+            ],
+            "example": "autonomy",
+            "type": "string"
+          },
+          "planning_config_ID": {
+            "description": "Unique identifier of autonomy engine's planning config ID configuration plan",
+            "example": 3,
+            "type": "integer"
+          },
+          "state": {
+            "description": "Autonomy engine instruction to start or stop model",
+            "enum": [
+              "start",
+              "stop"
+            ],
+            "example": "stop",
+            "type": "string"
+          },
+          "version": {
+            "description": "Version of autonomy engine for given planning config ID",
+            "example": "v1.0.0",
+            "type": "string"
+          }
+        },
+        "required": [
+          "message_type",
+          "planning_config_ID"
+        ],
+        "type": "object"
+      },
       "config_file": {
         "properties": {
           "content": {
@@ -2908,8 +2944,8 @@
     }
   },
   "info": {
-    "description": "SoAR message protocol in schemas",
-    "title": "SoAR Backbone Message Formats",
+    "description": "message protocol in schemas",
+    "title": "Backbone Message Formats",
     "version": "1.0"
   },
   "openapi": "3.0.2",
diff --git a/tests/fixtures/swagger.json b/tests/fixtures/swagger.json
index 97eecac3dbb757af97f99eb23b750e56cdf96546..5078b5a3e8e94ecf727264879738534fb97f8455 100644
--- a/tests/fixtures/swagger.json
+++ b/tests/fixtures/swagger.json
@@ -1,1160 +1,2952 @@
 {
-  "components": {
+   "components": {
      "schemas": {
-        "MESSAGE": {
-           "description": "Full message definition with message-metadata in `header` and different message type schemas under `payload`",
-           "properties": {
-              "header": {
-                 "$ref": "#/components/schemas/header"
-              },
-              "payload": {
-                 "$ref": "#/components/schemas/payload"
-              }
-           },
-           "required": [
-              "header",
-              "payload"
-           ],
-           "type": "object"
-        },
-        "acknowledgement": {
-           "properties": {
-              "approved": {
-                 "description": "Human-in-the-loop approval.1 - Plan approved; 0 - Plan Rejected",
-                 "type": "boolean"
-              },
-              "autonomy_engine_plan_ID": {
-                 "description": "Mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform",
-                 "example": 1,
-                 "type": "integer"
-              },
-              "message_type": {
-                 "description": "Type of message",
-                 "enum": [
-                    "acknowledgement"
+       "MESSAGE": {
+         "description": "Full message definition with message-metadata in `header` and different message type schemas under `payload`",
+         "properties": {
+           "header": {
+             "$ref": "#/components/schemas/header"
+           },
+           "payload": {
+             "$ref": "#/components/schemas/payload"
+           }
+         },
+         "required": [
+           "header",
+           "payload"
+         ],
+         "type": "object"
+       },
+       "acknowledgement": {
+         "properties": {
+           "approved": {
+             "description": "Human-in-the-loop approval.1 - Plan approved; 0 - Plan Rejected",
+             "type": "boolean"
+           },
+           "autonomy_engine_plan_ID": {
+             "description": "Mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform",
+             "example": 1,
+             "type": "integer"
+           },
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "acknowledgement"
+             ],
+             "example": "acknowledgement",
+             "type": "string"
+           },
+           "platform_ID": {
+             "description": "Unique identifier for this platform",
+             "example": "reav-x-1",
+             "type": "string"
+           }
+         },
+         "required": [
+           "message_type",
+           "autonomy_engine_plan_ID",
+           "platform_ID",
+           "approved"
+         ],
+         "type": "object"
+       },
+       "alert": {
+         "properties": {
+           "code": {
+             "description": "Alert code",
+             "example": 345,
+             "type": "integer"
+           },
+           "details": {
+             "description": "Detailed reason for the alert ",
+             "example": "Discrepancy between rudder and actuator positions : Rudder Pos=10.31°, Steering Actuator Pos=28.65°, Discrepancy=18.33°",
+             "type": "string"
+           },
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "alert"
+             ],
+             "example": "alert",
+             "type": "string"
+           },
+           "platform_ID": {
+             "description": "Unique identifier for this platform",
+             "example": "usvdecibel",
+             "type": "string"
+           },
+           "platform_timestamp": {
+             "description": "Timestamp for onboard platform status message",
+             "example": "2022-12-21T00:00:00Z",
+             "format": "date-time",
+             "type": "string"
+           },
+           "severity": {
+             "description": "Severity level of alert",
+             "enum": [
+               "Emergency",
+               "Alarm",
+               "Warning",
+               "Caution"
+             ],
+             "example": "Alarm",
+             "type": "string"
+           },
+           "subsystem": {
+             "description": "System that generated the alert",
+             "example": "Onboard Fault Monitor",
+             "type": "string"
+           },
+           "summary": {
+             "description": "High level description of the alert",
+             "example": "Steering Damage - Port Side",
+             "type": "string"
+           }
+         },
+         "required": [
+           "message_type",
+           "platform_ID",
+           "code",
+           "severity"
+         ],
+         "type": "object"
+       },
+       "autonomy": {
+         "properties": {
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "autonomy"
+             ],
+             "example": "autonomy",
+             "type": "string"
+           },
+           "planning_config_ID": {
+             "description": "Unique identifier of autonomy engine's planning config ID configuration plan",
+             "example": 3,
+             "type": "integer"
+           },
+           "state": {
+             "description": "Autonomy engine instruction to start or stop model",
+             "enum": [
+               "start",
+               "stop"
+             ],
+             "example": "stop",
+             "type": "string"
+           },
+           "version": {
+             "description": "Version of autonomy engine for given planning config ID",
+             "example": "v1.0.0",
+             "type": "string"
+           }
+         },
+         "required": [
+           "message_type",
+           "planning_config_ID"
+         ],
+         "type": "object"
+       },
+       "config_file": {
+         "properties": {
+           "content": {
+             "description": "Base64 encoded file content",
+             "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
+             "type": "string"
+           },
+           "mime_type": {
+             "description": "MIME type",
+             "example": "text/plain",
+             "type": "string"
+           },
+           "name": {
+             "description": "Name of file",
+             "example": "yo95.ma",
+             "type": "string"
+           },
+           "static": {
+             "description": "list of the fixed values set by the config file",
+             "type": "object"
+           }
+         },
+         "required": [
+           "name",
+           "content"
+         ],
+         "type": "object"
+       },
+       "geojson.org.schema.Feature.json": {
+         "properties": {
+           "bbox": {
+             "items": {
+               "type": "number"
+             },
+             "minItems": 4,
+             "type": "array"
+           },
+           "geometry": {
+             "oneOf": [
+               {
+                 "properties": {
+                   "bbox": {
+                     "items": {
+                       "type": "number"
+                     },
+                     "minItems": 4,
+                     "type": "array"
+                   },
+                   "coordinates": {
+                     "items": {
+                       "type": "number"
+                     },
+                     "minItems": 2,
+                     "type": "array"
+                   },
+                   "type": {
+                     "enum": [
+                       "Point"
+                     ],
+                     "type": "string"
+                   }
+                 },
+                 "required": [
+                   "type",
+                   "coordinates"
                  ],
-                 "example": "acknowledgement",
-                 "type": "string"
-              },
-              "platform_ID": {
-                 "description": "Unique identifier for this platform",
-                 "example": "reav-x-1",
-                 "type": "string"
-              }
-           },
-           "required": [
-              "message_type",
-              "autonomy_engine_plan_ID",
-              "platform_ID",
-              "approved"
-           ],
-           "type": "object"
-        },
-        "alert": {
-           "properties": {
-              "code": {
-                 "description": "Alert code",
-                 "example": 345,
-                 "type": "integer"
-              },
-              "details": {
-                 "description": "Detailed reason for the alert ",
-                 "example": "Discrepancy between rudder and actuator positions : Rudder Pos=10.31\u00b0, Steering Actuator Pos=28.65\u00b0, Discrepancy=18.33\u00b0",
-                 "type": "string"
-              },
-              "message_type": {
-                 "description": "Type of message",
-                 "enum": [
-                    "alert"
+                 "title": "GeoJSON Point",
+                 "type": "object"
+               },
+               {
+                 "properties": {
+                   "bbox": {
+                     "items": {
+                       "type": "number"
+                     },
+                     "minItems": 4,
+                     "type": "array"
+                   },
+                   "coordinates": {
+                     "items": {
+                       "items": {
+                         "type": "number"
+                       },
+                       "minItems": 2,
+                       "type": "array"
+                     },
+                     "minItems": 2,
+                     "type": "array"
+                   },
+                   "type": {
+                     "enum": [
+                       "LineString"
+                     ],
+                     "type": "string"
+                   }
+                 },
+                 "required": [
+                   "type",
+                   "coordinates"
                  ],
-                 "example": "alert",
-                 "type": "string"
-              },
-              "platform_ID": {
-                 "description": "Unique identifier for this platform",
-                 "example": "usvdecibel",
-                 "type": "string"
-              },
-              "platform_timestamp": {
-                 "description": "Timestamp for onboard platform status message",
-                 "example": "2022-12-21T00:00:00Z",
-                 "format": "date-time",
-                 "type": "string"
-              },
-              "severity": {
-                 "description": "Severity level of alert",
-                 "enum": [
-                    "Emergency",
-                    "Alarm",
-                    "Warning",
-                    "Caution"
+                 "title": "GeoJSON LineString",
+                 "type": "object"
+               },
+               {
+                 "properties": {
+                   "bbox": {
+                     "items": {
+                       "type": "number"
+                     },
+                     "minItems": 4,
+                     "type": "array"
+                   },
+                   "coordinates": {
+                     "items": {
+                       "items": {
+                         "items": {
+                           "type": "number"
+                         },
+                         "minItems": 2,
+                         "type": "array"
+                       },
+                       "minItems": 4,
+                       "type": "array"
+                     },
+                     "type": "array"
+                   },
+                   "type": {
+                     "enum": [
+                       "Polygon"
+                     ],
+                     "type": "string"
+                   }
+                 },
+                 "required": [
+                   "type",
+                   "coordinates"
                  ],
-                 "example": "Alarm",
-                 "type": "string"
-              },
-              "subsystem": {
-                 "description": "System that generated the alert",
-                 "example": "Onboard Fault Monitor",
-                 "type": "string"
-              },
-              "summary": {
-                 "description": "High level description of the alert",
-                 "example": "Steering Damage - Port Side",
-                 "type": "string"
-              }
-           },
-           "required": [
-              "message_type",
-              "platform_ID",
-              "code",
-              "severity"
-           ],
-           "type": "object"
-        },
-        "header": {
-           "discriminator": {
-              "propertyName": "message_type"
-           },
-           "properties": {
-              "delivery_type": {
-                 "default": "publish",
-                 "description": "To publish or broadcast this message.",
-                 "enum": [
-                    "broadcast",
-                    "publish"
+                 "title": "GeoJSON Polygon",
+                 "type": "object"
+               },
+               {
+                 "properties": {
+                   "bbox": {
+                     "items": {
+                       "type": "number"
+                     },
+                     "minItems": 4,
+                     "type": "array"
+                   },
+                   "coordinates": {
+                     "items": {
+                       "items": {
+                         "type": "number"
+                       },
+                       "minItems": 2,
+                       "type": "array"
+                     },
+                     "type": "array"
+                   },
+                   "type": {
+                     "enum": [
+                       "MultiPoint"
+                     ],
+                     "type": "string"
+                   }
+                 },
+                 "required": [
+                   "type",
+                   "coordinates"
                  ],
-                 "example": "publish",
-                 "type": "string"
-              },
-              "destination": {
-                 "description": "Publisher topic; What is the destination of this message",
-                 "example": "ah1",
-                 "type": "string"
-              },
-              "encoded": {
-                 "description": "Indicate that message raw (encoded) or decoded. Options: encoded=true, decoded=false",
-                 "example": false,
-                 "type": "boolean"
-              },
-              "message_ID": {
-                 "description": "An identifier for the type of message received.",
-                 "example": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
-                 "type": "string"
-              },
-              "source": {
-                 "description": "The sender; Where is this message from",
-                 "example": "autonomy_engine",
-                 "type": "string"
-              },
-              "timestamp": {
-                 "description": "Timestamp of message",
-                 "example": "2022-11-16T00:00:00Z",
-                 "format": "date-time",
-                 "type": "string"
-              },
-              "version": {
-                 "description": "Version of comms backbone message format protocol",
-                 "example": 2.0,
-                 "format": "float",
+                 "title": "GeoJSON MultiPoint",
+                 "type": "object"
+               },
+               {
+                 "properties": {
+                   "bbox": {
+                     "items": {
+                       "type": "number"
+                     },
+                     "minItems": 4,
+                     "type": "array"
+                   },
+                   "coordinates": {
+                     "items": {
+                       "items": {
+                         "items": {
+                           "type": "number"
+                         },
+                         "minItems": 2,
+                         "type": "array"
+                       },
+                       "minItems": 2,
+                       "type": "array"
+                     },
+                     "type": "array"
+                   },
+                   "type": {
+                     "enum": [
+                       "MultiLineString"
+                     ],
+                     "type": "string"
+                   }
+                 },
+                 "required": [
+                   "type",
+                   "coordinates"
+                 ],
+                 "title": "GeoJSON MultiLineString",
+                 "type": "object"
+               },
+               {
+                 "properties": {
+                   "bbox": {
+                     "items": {
+                       "type": "number"
+                     },
+                     "minItems": 4,
+                     "type": "array"
+                   },
+                   "coordinates": {
+                     "items": {
+                       "items": {
+                         "items": {
+                           "items": {
+                             "type": "number"
+                           },
+                           "minItems": 2,
+                           "type": "array"
+                         },
+                         "minItems": 4,
+                         "type": "array"
+                       },
+                       "type": "array"
+                     },
+                     "type": "array"
+                   },
+                   "type": {
+                     "enum": [
+                       "MultiPolygon"
+                     ],
+                     "type": "string"
+                   }
+                 },
+                 "required": [
+                   "type",
+                   "coordinates"
+                 ],
+                 "title": "GeoJSON MultiPolygon",
+                 "type": "object"
+               },
+               {
+                 "properties": {
+                   "bbox": {
+                     "items": {
+                       "type": "number"
+                     },
+                     "minItems": 4,
+                     "type": "array"
+                   },
+                   "geometries": {
+                     "items": {
+                       "oneOf": [
+                         {
+                           "properties": {
+                             "bbox": {
+                               "items": {
+                                 "type": "number"
+                               },
+                               "minItems": 4,
+                               "type": "array"
+                             },
+                             "coordinates": {
+                               "items": {
+                                 "type": "number"
+                               },
+                               "minItems": 2,
+                               "type": "array"
+                             },
+                             "type": {
+                               "enum": [
+                                 "Point"
+                               ],
+                               "type": "string"
+                             }
+                           },
+                           "required": [
+                             "type",
+                             "coordinates"
+                           ],
+                           "title": "GeoJSON Point",
+                           "type": "object"
+                         },
+                         {
+                           "properties": {
+                             "bbox": {
+                               "items": {
+                                 "type": "number"
+                               },
+                               "minItems": 4,
+                               "type": "array"
+                             },
+                             "coordinates": {
+                               "items": {
+                                 "items": {
+                                   "type": "number"
+                                 },
+                                 "minItems": 2,
+                                 "type": "array"
+                               },
+                               "minItems": 2,
+                               "type": "array"
+                             },
+                             "type": {
+                               "enum": [
+                                 "LineString"
+                               ],
+                               "type": "string"
+                             }
+                           },
+                           "required": [
+                             "type",
+                             "coordinates"
+                           ],
+                           "title": "GeoJSON LineString",
+                           "type": "object"
+                         },
+                         {
+                           "properties": {
+                             "bbox": {
+                               "items": {
+                                 "type": "number"
+                               },
+                               "minItems": 4,
+                               "type": "array"
+                             },
+                             "coordinates": {
+                               "items": {
+                                 "items": {
+                                   "items": {
+                                     "type": "number"
+                                   },
+                                   "minItems": 2,
+                                   "type": "array"
+                                 },
+                                 "minItems": 4,
+                                 "type": "array"
+                               },
+                               "type": "array"
+                             },
+                             "type": {
+                               "enum": [
+                                 "Polygon"
+                               ],
+                               "type": "string"
+                             }
+                           },
+                           "required": [
+                             "type",
+                             "coordinates"
+                           ],
+                           "title": "GeoJSON Polygon",
+                           "type": "object"
+                         },
+                         {
+                           "properties": {
+                             "bbox": {
+                               "items": {
+                                 "type": "number"
+                               },
+                               "minItems": 4,
+                               "type": "array"
+                             },
+                             "coordinates": {
+                               "items": {
+                                 "items": {
+                                   "type": "number"
+                                 },
+                                 "minItems": 2,
+                                 "type": "array"
+                               },
+                               "type": "array"
+                             },
+                             "type": {
+                               "enum": [
+                                 "MultiPoint"
+                               ],
+                               "type": "string"
+                             }
+                           },
+                           "required": [
+                             "type",
+                             "coordinates"
+                           ],
+                           "title": "GeoJSON MultiPoint",
+                           "type": "object"
+                         },
+                         {
+                           "properties": {
+                             "bbox": {
+                               "items": {
+                                 "type": "number"
+                               },
+                               "minItems": 4,
+                               "type": "array"
+                             },
+                             "coordinates": {
+                               "items": {
+                                 "items": {
+                                   "items": {
+                                     "type": "number"
+                                   },
+                                   "minItems": 2,
+                                   "type": "array"
+                                 },
+                                 "minItems": 2,
+                                 "type": "array"
+                               },
+                               "type": "array"
+                             },
+                             "type": {
+                               "enum": [
+                                 "MultiLineString"
+                               ],
+                               "type": "string"
+                             }
+                           },
+                           "required": [
+                             "type",
+                             "coordinates"
+                           ],
+                           "title": "GeoJSON MultiLineString",
+                           "type": "object"
+                         },
+                         {
+                           "properties": {
+                             "bbox": {
+                               "items": {
+                                 "type": "number"
+                               },
+                               "minItems": 4,
+                               "type": "array"
+                             },
+                             "coordinates": {
+                               "items": {
+                                 "items": {
+                                   "items": {
+                                     "items": {
+                                       "type": "number"
+                                     },
+                                     "minItems": 2,
+                                     "type": "array"
+                                   },
+                                   "minItems": 4,
+                                   "type": "array"
+                                 },
+                                 "type": "array"
+                               },
+                               "type": "array"
+                             },
+                             "type": {
+                               "enum": [
+                                 "MultiPolygon"
+                               ],
+                               "type": "string"
+                             }
+                           },
+                           "required": [
+                             "type",
+                             "coordinates"
+                           ],
+                           "title": "GeoJSON MultiPolygon",
+                           "type": "object"
+                         }
+                       ]
+                     },
+                     "type": "array"
+                   },
+                   "type": {
+                     "enum": [
+                       "GeometryCollection"
+                     ],
+                     "type": "string"
+                   }
+                 },
+                 "required": [
+                   "type",
+                   "geometries"
+                 ],
+                 "title": "GeoJSON GeometryCollection",
+                 "type": "object"
+               }
+             ]
+           },
+           "id": {
+             "oneOf": [
+               {
                  "type": "number"
-              }
+               },
+               {
+                 "type": "string"
+               }
+             ]
            },
-           "type": "object"
-        },
-        "mission_plan": {
            "properties": {
-              "autonomy_engine_plan_ID": {
-                 "description": "Unique identifier for this plangenerated by the Autonomy Engine",
-                 "example": 3,
-                 "type": "integer"
-              },
-              "emergency": {
-                 "default": false,
-                 "description": "To indicate if this is an emergency. true = emergency and false = no emergency",
-                 "example": false,
-                 "type": "boolean"
-              },
-              "message_type": {
-                 "description": "Type of message",
-                 "enum": [
-                    "mission_plan"
-                 ],
-                 "example": "mission_plan",
-                 "type": "string"
-              },
-              "plan": {
-                 "items": {
-                    "properties": {
-                       "action": {
-                          "description": "Autonomy Engine's action from `move`, `payload`, `dive`, `send_hits`, `scanline`, `scanpoint`.",
-                          "enum": [
-                             "move",
-                             "payload",
-                             "dive",
-                             "send_hits",
-                             "scanline",
-                             "scanpoint",
-                             "go_home",
-                             "surface_now",
-                             "stop_mission",
-                             "abort_now"
-                          ],
-                          "example": "move",
-                          "type": "string"
-                       },
-                       "activate_payload": {
-                          "description": "To activate/deactivate sensor for Autosub Hover-1 --> `MBES` sensor and for EcoSUB --> `Sidescan`",
-                          "example": true,
-                          "type": "boolean"
+             "oneOf": [
+               {
+                 "type": "object"
+               }
+             ]
+           },
+           "type": {
+             "enum": [
+               "Feature"
+             ],
+             "type": "string"
+           }
+         },
+         "required": [
+           "type",
+           "properties",
+           "geometry"
+         ],
+         "title": "GeoJSON Feature",
+         "type": "object"
+       },
+       "geojson.org.schema.FeatureCollection.json": {
+         "properties": {
+           "bbox": {
+             "items": {
+               "type": "number"
+             },
+             "minItems": 4,
+             "type": "array"
+           },
+           "features": {
+             "items": {
+               "properties": {
+                 "bbox": {
+                   "items": {
+                     "type": "number"
+                   },
+                   "minItems": 4,
+                   "type": "array"
+                 },
+                 "geometry": {
+                   "oneOf": [
+                     {
+                       "properties": {
+                         "bbox": {
+                           "items": {
+                             "type": "number"
+                           },
+                           "minItems": 4,
+                           "type": "array"
+                         },
+                         "coordinates": {
+                           "items": {
+                             "type": "number"
+                           },
+                           "minItems": 2,
+                           "type": "array"
+                         },
+                         "type": {
+                           "enum": [
+                             "Point"
+                           ],
+                           "type": "string"
+                         }
                        },
-                       "altitude": {
-                          "description": "Altitude of next action",
-                          "example": 15.0,
-                          "format": "float",
-                          "type": "number"
+                       "required": [
+                         "type",
+                         "coordinates"
+                       ],
+                       "title": "GeoJSON Point",
+                       "type": "object"
+                     },
+                     {
+                       "properties": {
+                         "bbox": {
+                           "items": {
+                             "type": "number"
+                           },
+                           "minItems": 4,
+                           "type": "array"
+                         },
+                         "coordinates": {
+                           "items": {
+                             "items": {
+                               "type": "number"
+                             },
+                             "minItems": 2,
+                             "type": "array"
+                           },
+                           "minItems": 2,
+                           "type": "array"
+                         },
+                         "type": {
+                           "enum": [
+                             "LineString"
+                           ],
+                           "type": "string"
+                         }
                        },
-                       "depth": {
-                          "description": "Depth of next action",
-                          "example": 15.0,
-                          "format": "float",
-                          "type": "number"
+                       "required": [
+                         "type",
+                         "coordinates"
+                       ],
+                       "title": "GeoJSON LineString",
+                       "type": "object"
+                     },
+                     {
+                       "properties": {
+                         "bbox": {
+                           "items": {
+                             "type": "number"
+                           },
+                           "minItems": 4,
+                           "type": "array"
+                         },
+                         "coordinates": {
+                           "items": {
+                             "items": {
+                               "items": {
+                                 "type": "number"
+                               },
+                               "minItems": 2,
+                               "type": "array"
+                             },
+                             "minItems": 4,
+                             "type": "array"
+                           },
+                           "type": "array"
+                         },
+                         "type": {
+                           "enum": [
+                             "Polygon"
+                           ],
+                           "type": "string"
+                         }
                        },
-                       "start_point_latitude": {
-                          "description": "Start point, y-coordinate",
-                          "example": 50.37072283932642,
-                          "format": "float",
-                          "type": "number"
+                       "required": [
+                         "type",
+                         "coordinates"
+                       ],
+                       "title": "GeoJSON Polygon",
+                       "type": "object"
+                     },
+                     {
+                       "properties": {
+                         "bbox": {
+                           "items": {
+                             "type": "number"
+                           },
+                           "minItems": 4,
+                           "type": "array"
+                         },
+                         "coordinates": {
+                           "items": {
+                             "items": {
+                               "type": "number"
+                             },
+                             "minItems": 2,
+                             "type": "array"
+                           },
+                           "type": "array"
+                         },
+                         "type": {
+                           "enum": [
+                             "MultiPoint"
+                           ],
+                           "type": "string"
+                         }
                        },
-                       "start_point_longitude": {
-                          "description": "Start point, x-coordinate",
-                          "example": -4.187143188645706,
-                          "format": "float",
-                          "type": "number"
+                       "required": [
+                         "type",
+                         "coordinates"
+                       ],
+                       "title": "GeoJSON MultiPoint",
+                       "type": "object"
+                     },
+                     {
+                       "properties": {
+                         "bbox": {
+                           "items": {
+                             "type": "number"
+                           },
+                           "minItems": 4,
+                           "type": "array"
+                         },
+                         "coordinates": {
+                           "items": {
+                             "items": {
+                               "items": {
+                                 "type": "number"
+                               },
+                               "minItems": 2,
+                               "type": "array"
+                             },
+                             "minItems": 2,
+                             "type": "array"
+                           },
+                           "type": "array"
+                         },
+                         "type": {
+                           "enum": [
+                             "MultiLineString"
+                           ],
+                           "type": "string"
+                         }
                        },
-                       "target_waypoint_latitude": {
-                          "description": "Target waypoint, y-coordinate",
-                          "example": 50.37072283932642,
-                          "format": "float",
-                          "type": "number"
+                       "required": [
+                         "type",
+                         "coordinates"
+                       ],
+                       "title": "GeoJSON MultiLineString",
+                       "type": "object"
+                     },
+                     {
+                       "properties": {
+                         "bbox": {
+                           "items": {
+                             "type": "number"
+                           },
+                           "minItems": 4,
+                           "type": "array"
+                         },
+                         "coordinates": {
+                           "items": {
+                             "items": {
+                               "items": {
+                                 "items": {
+                                   "type": "number"
+                                 },
+                                 "minItems": 2,
+                                 "type": "array"
+                               },
+                               "minItems": 4,
+                               "type": "array"
+                             },
+                             "type": "array"
+                           },
+                           "type": "array"
+                         },
+                         "type": {
+                           "enum": [
+                             "MultiPolygon"
+                           ],
+                           "type": "string"
+                         }
                        },
-                       "target_waypoint_longitude": {
-                          "description": "Target waypoint, x-coordinate",
-                          "example": -4.187143188645706,
-                          "format": "float",
-                          "type": "number"
+                       "required": [
+                         "type",
+                         "coordinates"
+                       ],
+                       "title": "GeoJSON MultiPolygon",
+                       "type": "object"
+                     },
+                     {
+                       "properties": {
+                         "bbox": {
+                           "items": {
+                             "type": "number"
+                           },
+                           "minItems": 4,
+                           "type": "array"
+                         },
+                         "geometries": {
+                           "items": {
+                             "oneOf": [
+                               {
+                                 "properties": {
+                                   "bbox": {
+                                     "items": {
+                                       "type": "number"
+                                     },
+                                     "minItems": 4,
+                                     "type": "array"
+                                   },
+                                   "coordinates": {
+                                     "items": {
+                                       "type": "number"
+                                     },
+                                     "minItems": 2,
+                                     "type": "array"
+                                   },
+                                   "type": {
+                                     "enum": [
+                                       "Point"
+                                     ],
+                                     "type": "string"
+                                   }
+                                 },
+                                 "required": [
+                                   "type",
+                                   "coordinates"
+                                 ],
+                                 "title": "GeoJSON Point",
+                                 "type": "object"
+                               },
+                               {
+                                 "properties": {
+                                   "bbox": {
+                                     "items": {
+                                       "type": "number"
+                                     },
+                                     "minItems": 4,
+                                     "type": "array"
+                                   },
+                                   "coordinates": {
+                                     "items": {
+                                       "items": {
+                                         "type": "number"
+                                       },
+                                       "minItems": 2,
+                                       "type": "array"
+                                     },
+                                     "minItems": 2,
+                                     "type": "array"
+                                   },
+                                   "type": {
+                                     "enum": [
+                                       "LineString"
+                                     ],
+                                     "type": "string"
+                                   }
+                                 },
+                                 "required": [
+                                   "type",
+                                   "coordinates"
+                                 ],
+                                 "title": "GeoJSON LineString",
+                                 "type": "object"
+                               },
+                               {
+                                 "properties": {
+                                   "bbox": {
+                                     "items": {
+                                       "type": "number"
+                                     },
+                                     "minItems": 4,
+                                     "type": "array"
+                                   },
+                                   "coordinates": {
+                                     "items": {
+                                       "items": {
+                                         "items": {
+                                           "type": "number"
+                                         },
+                                         "minItems": 2,
+                                         "type": "array"
+                                       },
+                                       "minItems": 4,
+                                       "type": "array"
+                                     },
+                                     "type": "array"
+                                   },
+                                   "type": {
+                                     "enum": [
+                                       "Polygon"
+                                     ],
+                                     "type": "string"
+                                   }
+                                 },
+                                 "required": [
+                                   "type",
+                                   "coordinates"
+                                 ],
+                                 "title": "GeoJSON Polygon",
+                                 "type": "object"
+                               },
+                               {
+                                 "properties": {
+                                   "bbox": {
+                                     "items": {
+                                       "type": "number"
+                                     },
+                                     "minItems": 4,
+                                     "type": "array"
+                                   },
+                                   "coordinates": {
+                                     "items": {
+                                       "items": {
+                                         "type": "number"
+                                       },
+                                       "minItems": 2,
+                                       "type": "array"
+                                     },
+                                     "type": "array"
+                                   },
+                                   "type": {
+                                     "enum": [
+                                       "MultiPoint"
+                                     ],
+                                     "type": "string"
+                                   }
+                                 },
+                                 "required": [
+                                   "type",
+                                   "coordinates"
+                                 ],
+                                 "title": "GeoJSON MultiPoint",
+                                 "type": "object"
+                               },
+                               {
+                                 "properties": {
+                                   "bbox": {
+                                     "items": {
+                                       "type": "number"
+                                     },
+                                     "minItems": 4,
+                                     "type": "array"
+                                   },
+                                   "coordinates": {
+                                     "items": {
+                                       "items": {
+                                         "items": {
+                                           "type": "number"
+                                         },
+                                         "minItems": 2,
+                                         "type": "array"
+                                       },
+                                       "minItems": 2,
+                                       "type": "array"
+                                     },
+                                     "type": "array"
+                                   },
+                                   "type": {
+                                     "enum": [
+                                       "MultiLineString"
+                                     ],
+                                     "type": "string"
+                                   }
+                                 },
+                                 "required": [
+                                   "type",
+                                   "coordinates"
+                                 ],
+                                 "title": "GeoJSON MultiLineString",
+                                 "type": "object"
+                               },
+                               {
+                                 "properties": {
+                                   "bbox": {
+                                     "items": {
+                                       "type": "number"
+                                     },
+                                     "minItems": 4,
+                                     "type": "array"
+                                   },
+                                   "coordinates": {
+                                     "items": {
+                                       "items": {
+                                         "items": {
+                                           "items": {
+                                             "type": "number"
+                                           },
+                                           "minItems": 2,
+                                           "type": "array"
+                                         },
+                                         "minItems": 4,
+                                         "type": "array"
+                                       },
+                                       "type": "array"
+                                     },
+                                     "type": "array"
+                                   },
+                                   "type": {
+                                     "enum": [
+                                       "MultiPolygon"
+                                     ],
+                                     "type": "string"
+                                   }
+                                 },
+                                 "required": [
+                                   "type",
+                                   "coordinates"
+                                 ],
+                                 "title": "GeoJSON MultiPolygon",
+                                 "type": "object"
+                               }
+                             ]
+                           },
+                           "type": "array"
+                         },
+                         "type": {
+                           "enum": [
+                             "GeometryCollection"
+                           ],
+                           "type": "string"
+                         }
                        },
-                       "timeout": {
-                          "description": "Timeout set to perform action",
-                          "example": 1800.0,
-                          "format": "float",
-                          "type": "number"
-                       }
-                    },
-                    "required": [
-                       "target_waypoint_latitude",
-                       "target_waypoint_longitude"
-                    ],
-                    "type": "object"
+                       "required": [
+                         "type",
+                         "geometries"
+                       ],
+                       "title": "GeoJSON GeometryCollection",
+                       "type": "object"
+                     }
+                   ]
                  },
-                 "type": "array"
-              },
-              "platform_ID": {
-                 "description": "Unique identifier for this platform",
-                 "example": "reav-x-1",
-                 "type": "string"
-              }
-           },
-           "required": [
-              "message_type",
-              "autonomy_engine_plan_ID",
-              "platform_ID",
-              "plan"
-           ],
-           "type": "object"
-        },
-        "mission_plan_encoded": {
-           "properties": {
-              "data": {
-                 "description": "encoded string. E.g. Base64 encoded",
-                 "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
-                 "type": "string"
-              },
-              "file_name": {
-                 "description": "Name of file",
-                 "example": "ah1-0238126349247372.bin",
-                 "type": "string"
-              },
-              "is_binary": {
-                 "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.",
-                 "example": true,
-                 "type": "boolean"
-              },
-              "message_type": {
-                 "description": "Type of message",
-                 "enum": [
-                    "mission_plan_encoded"
-                 ],
-                 "example": "mission_plan_encoded",
-                 "type": "string"
-              },
-              "mime_type": {
-                 "description": "MIME type",
-                 "example": "application/gzip",
-                 "type": "string"
-              }
-           },
-           "required": [
-              "data",
-              "is_binary"
-           ],
-           "type": "object"
-        },
-        "observation": {
-           "properties": {
-              "additional_data": {
-                 "description": "Placeholder field for any additional data",
-                 "example": {
-                    "sensor_payload": false
+                 "id": {
+                   "oneOf": [
+                     {
+                       "type": "number"
+                     },
+                     {
+                       "type": "string"
+                     }
+                   ]
+                 },
+                 "properties": {
+                   "oneOf": [
+                     {
+                       "type": "object"
+                     }
+                   ]
+                 },
+                 "type": {
+                   "enum": [
+                     "Feature"
+                   ],
+                   "type": "string"
                  }
-              },
-              "message_type": {
-                 "description": "Type of message",
-                 "enum": [
-                    "observation"
-                 ],
-                 "example": "observation",
-                 "type": "string"
-              },
-              "platform_ID": {
-                 "description": "Unique identifier for this platform",
-                 "example": "reav-x-1",
-                 "type": "string"
-              },
-              "points_of_interest": {
-                 "description": "Points from features of interest identified by platform if any found.",
+               },
+               "required": [
+                 "type",
+                 "properties",
+                 "geometry"
+               ],
+               "title": "GeoJSON Feature",
+               "type": "object"
+             },
+             "type": "array"
+           },
+           "type": {
+             "enum": [
+               "FeatureCollection"
+             ],
+             "type": "string"
+           }
+         },
+         "required": [
+           "type",
+           "features"
+         ],
+         "title": "GeoJSON FeatureCollection",
+         "type": "object"
+       },
+       "geojson.org.schema.LineString.json": {
+         "properties": {
+           "bbox": {
+             "items": {
+               "type": "number"
+             },
+             "minItems": 4,
+             "type": "array"
+           },
+           "coordinates": {
+             "items": {
+               "items": {
+                 "type": "number"
+               },
+               "minItems": 2,
+               "type": "array"
+             },
+             "minItems": 2,
+             "type": "array"
+           },
+           "type": {
+             "enum": [
+               "LineString"
+             ],
+             "type": "string"
+           }
+         },
+         "required": [
+           "type",
+           "coordinates"
+         ],
+         "title": "GeoJSON LineString",
+         "type": "object"
+       },
+       "geojson.org.schema.MultiLineString.json": {
+         "properties": {
+           "bbox": {
+             "items": {
+               "type": "number"
+             },
+             "minItems": 4,
+             "type": "array"
+           },
+           "coordinates": {
+             "items": {
+               "items": {
                  "items": {
-                    "properties": {
-                       "latitude": {
-                          "description": "Identified y-coordinate of point of interest",
-                          "example": 178.2,
-                          "format": "float",
-                          "type": "number"
-                       },
-                       "longitude": {
-                          "description": "Identified x-coordinate of point of interest",
-                          "example": -10.122,
-                          "format": "float",
-                          "type": "number"
-                       },
-                       "quality_of_point": {
-                          "description": "Quality/strength of points from features of interest identified by platform.",
-                          "example": 0.98,
-                          "format": "float",
-                          "type": "number"
-                       }
-                    },
-                    "required": [
-                       "latitude",
-                       "longitude"
-                    ],
-                    "type": "object"
+                   "type": "number"
                  },
+                 "minItems": 2,
                  "type": "array"
-              },
-              "region_surveyed": {
-                 "description": "Region surveyed by given platform. GEOJSON",
-                 "example": "",
-                 "nullable": true
-              }
-           },
-           "required": [
-              "message_type",
-              "platform_ID"
-           ],
-           "type": "object"
-        },
-        "observation_encoded": {
-           "properties": {
-              "data": {
-                 "description": "encoded string. E.g. Base64 encoded",
-                 "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
+               },
+               "minItems": 2,
+               "type": "array"
+             },
+             "type": "array"
+           },
+           "type": {
+             "enum": [
+               "MultiLineString"
+             ],
+             "type": "string"
+           }
+         },
+         "required": [
+           "type",
+           "coordinates"
+         ],
+         "title": "GeoJSON MultiLineString",
+         "type": "object"
+       },
+       "geojson.org.schema.MultiPoint.json": {
+         "properties": {
+           "bbox": {
+             "items": {
+               "type": "number"
+             },
+             "minItems": 4,
+             "type": "array"
+           },
+           "coordinates": {
+             "items": {
+               "items": {
+                 "type": "number"
+               },
+               "minItems": 2,
+               "type": "array"
+             },
+             "type": "array"
+           },
+           "type": {
+             "enum": [
+               "MultiPoint"
+             ],
+             "type": "string"
+           }
+         },
+         "required": [
+           "type",
+           "coordinates"
+         ],
+         "title": "GeoJSON MultiPoint",
+         "type": "object"
+       },
+       "geojson.org.schema.MultiPolygon.json": {
+         "properties": {
+           "bbox": {
+             "items": {
+               "type": "number"
+             },
+             "minItems": 4,
+             "type": "array"
+           },
+           "coordinates": {
+             "items": {
+               "items": {
+                 "items": {
+                   "items": {
+                     "type": "number"
+                   },
+                   "minItems": 2,
+                   "type": "array"
+                 },
+                 "minItems": 4,
+                 "type": "array"
+               },
+               "type": "array"
+             },
+             "type": "array"
+           },
+           "type": {
+             "enum": [
+               "MultiPolygon"
+             ],
+             "type": "string"
+           }
+         },
+         "required": [
+           "type",
+           "coordinates"
+         ],
+         "title": "GeoJSON MultiPolygon",
+         "type": "object"
+       },
+       "geojson.org.schema.Point.json": {
+         "properties": {
+           "bbox": {
+             "items": {
+               "type": "number"
+             },
+             "minItems": 4,
+             "type": "array"
+           },
+           "coordinates": {
+             "items": {
+               "type": "number"
+             },
+             "minItems": 2,
+             "type": "array"
+           },
+           "type": {
+             "enum": [
+               "Point"
+             ],
+             "type": "string"
+           }
+         },
+         "required": [
+           "type",
+           "coordinates"
+         ],
+         "title": "GeoJSON Point",
+         "type": "object"
+       },
+       "geojson.org.schema.Polygon.json": {
+         "properties": {
+           "bbox": {
+             "items": {
+               "type": "number"
+             },
+             "minItems": 4,
+             "type": "array"
+           },
+           "coordinates": {
+             "items": {
+               "items": {
+                 "items": {
+                   "type": "number"
+                 },
+                 "minItems": 2,
+                 "type": "array"
+               },
+               "minItems": 4,
+               "type": "array"
+             },
+             "type": "array"
+           },
+           "type": {
+             "enum": [
+               "Polygon"
+             ],
+             "type": "string"
+           }
+         },
+         "required": [
+           "type",
+           "coordinates"
+         ],
+         "title": "GeoJSON Polygon",
+         "type": "object"
+       },
+       "header": {
+         "oneOf": [
+           {
+             "properties": {
+               "version": {
+                 "pattern": "^(v{0,1}(0|[1-9][0-9]*)[.](0|[1-9][0-9]*)[.](0|[1-9][0-9]*)(?:-(alpha|beta)[.](0|[1-9][0-9]*))?)$",
                  "type": "string"
-              },
-              "file_name": {
-                 "description": "Name of file",
-                 "example": "ah1-0238126349247372.bin",
+               }
+             },
+             "required": [
+               "version"
+             ],
+             "type": "object"
+           },
+           {
+             "properties": {
+               "version": {
+                 "pattern": "^([0-9a-f]+)$",
                  "type": "string"
-              },
-              "is_binary": {
-                 "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.",
-                 "example": true,
-                 "type": "boolean"
-              },
-              "message_type": {
-                 "description": "Type of message",
+               }
+             },
+             "required": [
+               "version"
+             ],
+             "type": "object"
+           },
+           {
+             "properties": {
+               "version": {
                  "enum": [
-                    "observation_encoded"
+                   "dev",
+                   "master",
+                   "latest"
                  ],
-                 "example": "observation_encoded",
-                 "type": "string"
-              },
-              "mime_type": {
-                 "description": "MIME type",
-                 "example": "application/gzip",
                  "type": "string"
-              }
-           },
-           "required": [
-              "data",
-              "is_binary"
-           ],
-           "type": "object"
-        },
-        "payload": {
-           "discriminator": {
-              "mapping": {
-                 "acknowledgement": "#/components/schemas/acknowledgement",
-                 "alert": "#/components/schemas/alert",
-                 "mission_plan": "#/components/schemas/mission_plan",
-                 "mission_plan_encoded": "#/components/schemas/mission_plan_encoded",
-                 "observation": "#/components/schemas/observation",
-                 "observation_encoded": "#/components/schemas/observation_encoded",
-                 "planning_configuration": "#/components/schemas/planning_configuration",
-                 "platform_status": "#/components/schemas/platform_status",
-                 "platform_status_encoded": "#/components/schemas/platform_status_encoded",
-                 "survey": "#/components/schemas/survey",
-                 "survey_encoded": "#/components/schemas/survey_encoded"
-              },
-              "propertyName": "message_type"
-           },
-           "oneOf": [
-              {
-                 "$ref": "#/components/schemas/alert"
-              },
-              {
-                 "$ref": "#/components/schemas/acknowledgement"
-              },
-              {
-                 "$ref": "#/components/schemas/mission_plan"
-              },
-              {
-                 "$ref": "#/components/schemas/mission_plan_encoded"
-              },
-              {
-                 "$ref": "#/components/schemas/observation"
-              },
-              {
-                 "$ref": "#/components/schemas/observation_encoded"
-              },
-              {
-                 "$ref": "#/components/schemas/planning_configuration"
-              },
-              {
-                 "$ref": "#/components/schemas/platform_status"
-              },
-              {
-                 "$ref": "#/components/schemas/platform_status_encoded"
-              },
-              {
-                 "$ref": "#/components/schemas/survey"
-              },
-              {
-                 "$ref": "#/components/schemas/survey_encoded"
-              }
-           ]
-        },
-        "planning_configuration": {
-           "properties": {
-              "exclusion_zones": {
-                 "description": "Exclusion zones for all platforms",
-                 "items": {
-                    "description": "Using GEOJSON, exact 4-point region (rectangle shaped - 5 points)",
-                    "properties": {
-                       "geometry_coordinates": {
-                          "example": [
-                             [
-                                [
-                                   -4.1777839187560915,
-                                   50.34173405662855
-                                ],
-                                [
-                                   -4.1777839187560915,
-                                   50.33820949229701
-                                ],
-                                [
-                                   -4.143667777943875,
-                                   50.33820949229701
-                                ],
-                                [
-                                   -4.143667777943875,
-                                   50.34173405662855
-                                ],
-                                [
-                                   -4.1777839187560915,
-                                   50.34173405662855
-                                ]
-                             ]
-                          ],
-                          "type": "array"
-                       }
-                    },
-                    "type": "object"
+               }
+             },
+             "required": [
+               "version"
+             ],
+             "type": "object"
+           },
+           {
+             "properties": {
+               "version": {
+                 "example": 2,
+                 "format": "float",
+                 "type": "number"
+               }
+             },
+             "required": [
+               "version"
+             ],
+             "type": "object"
+           }
+         ],
+         "properties": {
+           "delivery_type": {
+             "default": "publish",
+             "description": "To publish or broadcast this message.",
+             "enum": [
+               "broadcast",
+               "publish"
+             ],
+             "example": "publish",
+             "type": "string"
+           },
+           "destination": {
+             "description": "Publisher topic; What is the destination of this message",
+             "example": "ah1",
+             "type": "string"
+           },
+           "encoded": {
+             "description": "Indicate that message raw (encoded) or decoded. Options: encoded=true, decoded=false",
+             "example": false,
+             "type": "boolean"
+           },
+           "message_ID": {
+             "description": "An identifier for the type of message received.",
+             "example": "b427003c-0000-11aa-a1eb-b1cdf2342fdd",
+             "format": "uuid",
+             "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
+             "type": "string"
+           },
+           "source": {
+             "description": "The sender; Where is this message from",
+             "example": "autonomy_engine",
+             "type": "string"
+           },
+           "timestamp": {
+             "description": "Timestamp of message",
+             "example": "2022-11-16T00:00:00Z",
+             "format": "date-time",
+             "type": "string"
+           }
+         },
+         "required": [
+           "message_ID",
+           "timestamp",
+           "source",
+           "destination",
+           "delivery_type",
+           "encoded"
+         ],
+         "type": "object"
+       },
+       "instruction_set": {
+         "properties": {
+           "categories": {
+             "type": "object"
+           },
+           "files": {
+             "items": {
+               "properties": {
+                 "content": {
+                   "description": "Base64 encoded file content",
+                   "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
+                   "type": "string"
                  },
-                 "type": "array"
-              },
-              "message_type": {
-                 "description": "Type of message",
-                 "enum": [
-                    "planning_configuration"
-                 ],
-                 "example": "planning_configuration",
+                 "mime_type": {
+                   "description": "MIME type",
+                   "example": "text/plain",
+                   "type": "string"
+                 },
+                 "name": {
+                   "description": "Name of file",
+                   "example": "yo95.ma",
+                   "type": "string"
+                 },
+                 "static": {
+                   "description": "list of the fixed values set by the config file",
+                   "type": "object"
+                 }
+               },
+               "required": [
+                 "name",
+                 "content"
+               ],
+               "type": "object"
+             },
+             "type": "array"
+           }
+         },
+         "required": [
+           "files"
+         ],
+         "type": "object"
+       },
+       "mission_plan": {
+         "oneOf": [
+           {
+             "properties": {
+               "autonomy_engine_plan_ID": {
+                 "description": "Unique identifier for this plangenerated by the Autonomy Engine",
+                 "format": "uuid",
+                 "pattern": "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
                  "type": "string"
-              },
-              "planning_config_ID": {
-                 "description": "Unique identifier tagged to version of this configuration plan",
+               }
+             }
+           },
+           {
+             "properties": {
+               "autonomy_engine_plan_ID": {
+                 "description": "Unique identifier for this plangenerated by the Autonomy Engine",
                  "example": 3,
                  "type": "integer"
-              },
-              "region_of_interest": {
-                 "description": "Region of interest for the entire operation",
-                 "items": {
-                    "description": "Using GEOJSON, exact 4-point region (rectangle shaped - 5 points)",
-                    "properties": {
-                       "geometry_coordinates": {
-                          "example": [
-                             [
-                                [
-                                   -4.1777839187560915,
-                                   50.34173405662855
-                                ],
-                                [
-                                   -4.1777839187560915,
-                                   50.33820949229701
-                                ],
-                                [
-                                   -4.143667777943875,
-                                   50.33820949229701
-                                ],
-                                [
-                                   -4.143667777943875,
-                                   50.34173405662855
-                                ],
-                                [
-                                   -4.1777839187560915,
-                                   50.34173405662855
-                                ]
-                             ]
-                          ],
-                          "type": "array"
+               }
+             }
+           }
+         ],
+         "properties": {
+           "emergency": {
+             "default": false,
+             "description": "To indicate if this is an emergency. true = emergency and false = no emergency",
+             "example": false,
+             "type": "boolean"
+           },
+           "goal": {
+             "properties": {
+               "feature": {
+                 "$ref": "#/components/schemas/geojson.org.schema.Feature.json"
+               },
+               "timestamp": {
+                 "description": "Timestamp of last state change when autonomy model sets this goal",
+                 "example": "2024-11-21T00:00:00Z",
+                 "format": "date-time",
+                 "type": "string"
+               }
+             },
+             "type": "object"
+           },
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "mission_plan"
+             ],
+             "example": "mission_plan",
+             "type": "string"
+           },
+           "partial": {
+             "description": "To indicate if this mission plan represents a partial (`true`) or the entire (`false`) mission plan. E.g.Partial would be `true` if a full mission plan is broken down into multiple plans.",
+             "example": false,
+             "type": "boolean"
+           },
+           "plan": {
+             "items": {
+               "oneOf": [
+                 {
+                   "properties": {
+                     "start": {
+                       "$ref": "#/components/schemas/geojson.org.schema.Point.json"
+                     },
+                     "target": {
+                       "$ref": "#/components/schemas/geojson.org.schema.Point.json"
+                     }
+                   },
+                   "required": [
+                     "target"
+                   ],
+                   "type": "object"
+                 },
+                 {
+                   "properties": {
+                     "altitude": {
+                       "description": "Altitude of next action",
+                       "example": 15,
+                       "format": "float",
+                       "type": "number"
+                     },
+                     "depth": {
+                       "description": "Depth of next action",
+                       "example": 15,
+                       "format": "float",
+                       "type": "number"
+                     },
+                     "start_point_latitude": {
+                       "description": "Start point, y-coordinate",
+                       "example": 50.3707228393264,
+                       "format": "float",
+                       "type": "number"
+                     },
+                     "start_point_longitude": {
+                       "description": "Start point, x-coordinate",
+                       "example": -4.18714318864571,
+                       "format": "float",
+                       "type": "number"
+                     },
+                     "target_waypoint_latitude": {
+                       "description": "Target waypoint, y-coordinate",
+                       "example": 50.3707228393264,
+                       "format": "float",
+                       "type": "number"
+                     },
+                     "target_waypoint_longitude": {
+                       "description": "Target waypoint, x-coordinate",
+                       "example": -4.18714318864571,
+                       "format": "float",
+                       "type": "number"
+                     }
+                   },
+                   "required": [
+                     "target_waypoint_latitude",
+                     "target_waypoint_longitude"
+                   ],
+                   "type": "object"
+                 }
+               ],
+               "properties": {
+                 "action": {
+                   "description": "Autonomy Engine's action from `move`, `payload`, `dive`, `send_hits`, `scanline`, `scanpoint`.",
+                   "enum": [
+                     "move",
+                     "payload",
+                     "dive",
+                     "send_hits",
+                     "scanline",
+                     "scanpoint",
+                     "go_home",
+                     "surface_now",
+                     "stop_mission",
+                     "abort_now"
+                   ],
+                   "example": "move",
+                   "type": "string"
+                 },
+                 "activate_payload": {
+                   "description": "To activate/deactivate sensor for Autosub Hover-1 --\u003E `MBES` sensor and for EcoSUB --\u003E `Sidescan`",
+                   "example": true,
+                   "type": "boolean"
+                 },
+                 "timeout": {
+                   "description": "Timeout set to perform action",
+                   "example": 1800,
+                   "format": "float",
+                   "type": "number"
+                 }
+               },
+               "type": "object"
+             },
+             "type": "array"
+           },
+           "platform_ID": {
+             "description": "Unique identifier for this platform",
+             "example": "reav-x-1",
+             "type": "string"
+           }
+         },
+         "required": [
+           "message_type",
+           "autonomy_engine_plan_ID",
+           "platform_ID",
+           "plan"
+         ],
+         "type": "object"
+       },
+       "mission_plan_encoded": {
+         "properties": {
+           "data": {
+             "description": "encoded string. E.g. Base64 encoded",
+             "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
+             "type": "string"
+           },
+           "file_name": {
+             "description": "Name of file",
+             "example": "ah1-0238126349247372.bin",
+             "type": "string"
+           },
+           "is_binary": {
+             "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.",
+             "example": true,
+             "type": "boolean"
+           },
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "mission_plan_encoded"
+             ],
+             "example": "mission_plan_encoded",
+             "type": "string"
+           },
+           "mime_type": {
+             "description": "MIME type",
+             "example": "application/gzip",
+             "type": "string"
+           }
+         },
+         "required": [
+           "data",
+           "is_binary"
+         ],
+         "type": "object"
+       },
+       "observation": {
+         "properties": {
+           "additional_data": {
+             "description": "Placeholder field for any additional data",
+             "example": {
+               "sensor_payload": false
+             }
+           },
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "observation"
+             ],
+             "example": "observation",
+             "type": "string"
+           },
+           "platform_ID": {
+             "description": "Unique identifier for this platform",
+             "example": "reav-x-1",
+             "type": "string"
+           },
+           "points_of_interest": {
+             "description": "Points from features of interest identified by platform if any found.",
+             "items": {
+               "properties": {
+                 "latitude": {
+                   "description": "Identified y-coordinate of point of interest",
+                   "example": 178.2,
+                   "format": "float",
+                   "type": "number"
+                 },
+                 "longitude": {
+                   "description": "Identified x-coordinate of point of interest",
+                   "example": -10.122,
+                   "format": "float",
+                   "type": "number"
+                 },
+                 "quality_of_point": {
+                   "description": "Quality/strength of points from features of interest identified by platform.",
+                   "example": 0.98,
+                   "format": "float",
+                   "type": "number"
+                 }
+               },
+               "required": [
+                 "latitude",
+                 "longitude"
+               ],
+               "type": "object"
+             },
+             "type": "array"
+           },
+           "region_surveyed": {
+             "description": "Region surveyed by given platform. GEOJSON",
+             "example": "",
+             "nullable": true
+           }
+         },
+         "required": [
+           "message_type",
+           "platform_ID"
+         ],
+         "type": "object"
+       },
+       "observation_encoded": {
+         "properties": {
+           "data": {
+             "description": "encoded string. E.g. Base64 encoded",
+             "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
+             "type": "string"
+           },
+           "file_name": {
+             "description": "Name of file",
+             "example": "ah1-0238126349247372.bin",
+             "type": "string"
+           },
+           "is_binary": {
+             "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.",
+             "example": true,
+             "type": "boolean"
+           },
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "observation_encoded"
+             ],
+             "example": "observation_encoded",
+             "type": "string"
+           },
+           "mime_type": {
+             "description": "MIME type",
+             "example": "application/gzip",
+             "type": "string"
+           }
+         },
+         "required": [
+           "data",
+           "is_binary"
+         ],
+         "type": "object"
+       },
+       "payload": {
+         "discriminator": {
+           "mapping": {
+             "acknowledgement": "#/components/schemas/acknowledgement",
+             "alert": "#/components/schemas/alert",
+             "mission_plan": "#/components/schemas/mission_plan",
+             "mission_plan_encoded": "#/components/schemas/mission_plan_encoded",
+             "observation": "#/components/schemas/observation",
+             "observation_encoded": "#/components/schemas/observation_encoded",
+             "planning_configuration": "#/components/schemas/planning_configuration",
+             "platform_instruction_set": "#/components/schemas/platform_instruction_set",
+             "platform_status": "#/components/schemas/platform_status",
+             "platform_status_encoded": "#/components/schemas/platform_status_encoded",
+             "survey": "#/components/schemas/survey",
+             "survey_encoded": "#/components/schemas/survey_encoded",
+             "waypoints": "#/components/schemas/waypoints"
+           },
+           "propertyName": "message_type"
+         },
+         "oneOf": [
+           {
+             "$ref": "#/components/schemas/alert"
+           },
+           {
+             "$ref": "#/components/schemas/acknowledgement"
+           },
+           {
+             "$ref": "#/components/schemas/mission_plan"
+           },
+           {
+             "$ref": "#/components/schemas/mission_plan_encoded"
+           },
+           {
+             "$ref": "#/components/schemas/observation"
+           },
+           {
+             "$ref": "#/components/schemas/observation_encoded"
+           },
+           {
+             "$ref": "#/components/schemas/planning_configuration"
+           },
+           {
+             "$ref": "#/components/schemas/platform_instruction_set"
+           },
+           {
+             "$ref": "#/components/schemas/platform_status"
+           },
+           {
+             "$ref": "#/components/schemas/platform_status_encoded"
+           },
+           {
+             "$ref": "#/components/schemas/survey"
+           },
+           {
+             "$ref": "#/components/schemas/survey_encoded"
+           },
+           {
+             "$ref": "#/components/schemas/waypoints"
+           }
+         ]
+       },
+       "planning_configuration": {
+         "properties": {
+           "instructions": {
+             "items": {
+               "properties": {
+                 "categories": {
+                   "type": "object"
+                 },
+                 "files": {
+                   "items": {
+                     "properties": {
+                       "content": {
+                         "description": "Base64 encoded file content",
+                         "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
+                         "type": "string"
+                       },
+                       "mime_type": {
+                         "description": "MIME type",
+                         "example": "text/plain",
+                         "type": "string"
+                       },
+                       "name": {
+                         "description": "Name of file",
+                         "example": "yo95.ma",
+                         "type": "string"
+                       },
+                       "static": {
+                         "description": "list of the fixed values set by the config file",
+                         "type": "object"
                        }
-                    },
-                    "type": "object"
+                     },
+                     "required": [
+                       "name",
+                       "content"
+                     ],
+                     "type": "object"
+                   },
+                   "type": "array"
+                 }
+               },
+               "required": [
+                 "files"
+               ],
+               "type": "object"
+             },
+             "type": "array"
+           },
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "planning_configuration"
+             ],
+             "example": "planning_configuration",
+             "type": "string"
+           },
+           "planning_config_ID": {
+             "description": "Unique identifier tagged to version of this configuration plan",
+             "example": 3,
+             "type": "integer"
+           },
+           "primitives": {
+             "description": "Specification primitives - campaign-wide such as operating area and obstacles",
+             "items": {
+               "oneOf": [
+                 {
+                   "properties": {
+                     "feature": {
+                       "$ref": "#/components/schemas/geojson.org.schema.Feature.json"
+                     },
+                     "instruction": {
+                       "description": "How the associated feature should be used",
+                       "enum": [
+                         "navigate_to",
+                         "follow"
+                       ],
+                       "type": "string"
+                     },
+                     "options": {
+                       "properties": {
+                         "acceptance_radius_m": {
+                           "description": "Acceptance radius (if applicable) to points of geometry in metres",
+                           "example": 10000,
+                           "format": "float",
+                           "type": "number"
+                         },
+                         "repeat": {
+                           "description": "Repeat these set of primitives in order (e.g. 1-\u003E2-\u003E3-\u003E1-\u003E2...)",
+                           "example": true,
+                           "type": "boolean"
+                         },
+                         "reverse": {
+                           "description": "Loop backwards through the set of primitives (e.g 1-\u003E2-\u003E-3-\u003E2-\u003E1...)",
+                           "example": true,
+                           "type": "boolean"
+                         }
+                       },
+                       "type": "object"
+                     }
+                   },
+                   "required": [
+                     "feature",
+                     "instruction"
+                   ]
                  },
-                 "type": "array"
-              },
-              "squads": {
-                 "items": {
-                    "properties": {
-                       "no_of_platforms": {
-                          "description": "Number of platforms",
-                          "example": 3,
-                          "type": "integer"
+                 {
+                   "properties": {
+                     "feature": {
+                       "$ref": "#/components/schemas/geojson.org.schema.Feature.json"
+                     },
+                     "instruction": {
+                       "description": "How the associated feature should be used",
+                       "enum": [
+                         "stay_inside",
+                         "stay_outside",
+                         "cover",
+                         "informational"
+                       ],
+                       "type": "string"
+                     }
+                   },
+                   "required": [
+                     "feature",
+                     "instruction"
+                   ]
+                 }
+               ]
+             },
+             "type": "array"
+           },
+           "squads": {
+             "items": {
+               "properties": {
+                 "no_of_platforms": {
+                   "description": "Number of platforms",
+                   "example": 3,
+                   "type": "integer"
+                 },
+                 "platforms": {
+                   "description": "Squad consists of these platforms",
+                   "items": {
+                     "properties": {
+                       "active": {
+                         "description": "If platform is active = True, and inactive = False",
+                         "example": true,
+                         "type": "boolean"
+                       },
+                       "additional_data": {
+                         "description": "Any addition fields/data to be added here",
+                         "example": {
+                           "new_sensor_a": "test_sensor",
+                           "range": 10
+                         },
+                         "type": "object"
+                       },
+                       "beacon_ID": {
+                         "description": "Unique identifier (number) for the beacon associated to this platform",
+                         "example": 2407,
+                         "type": "number"
+                       },
+                       "emergency": {
+                         "properties": {
+                           "safe_command": {
+                             "description": "Command/Action that is native to respective partner's platform/C2",
+                             "enum": [
+                               "go_home",
+                               "abort_now",
+                               "stop_now",
+                               "surface_now"
+                             ],
+                             "example": "go_home",
+                             "type": "string"
+                           },
+                           "target_depth": {
+                             "description": "Z-coordinate safe place for respective platform . If platform to NOT stay at depth, key in `0.0`",
+                             "example": 10,
+                             "format": "float",
+                             "type": "number"
+                           },
+                           "target_waypoint_latitude": {
+                             "description": "Y-coordinate safe place for respective platform",
+                             "example": 50.365,
+                             "format": "float",
+                             "type": "number"
+                           },
+                           "target_waypoint_longitude": {
+                             "description": "X-coordinate safe place for respective platform",
+                             "example": -7.432,
+                             "format": "float",
+                             "type": "number"
+                           }
+                         },
+                         "required": [
+                           "target_waypoint_latitude",
+                           "target_waypoint_longitude"
+                         ],
+                         "type": "object"
+                       },
+                       "endurance_relative_to_water_speed": {
+                         "properties": {
+                           "avg_battery_rating": {
+                             "description": "Battery endurance rating during standard operational speed usage (m/s)",
+                             "example": 1.9,
+                             "format": "float",
+                             "type": "number"
+                           },
+                           "max_battery_rating": {
+                             "description": "Battery endurance rating during maximum speed usage (m/s)",
+                             "example": 1.23,
+                             "format": "float",
+                             "type": "number"
+                           },
+                           "min_battery_rating": {
+                             "description": "Battery endurance rating during maximum speed usage (m/s)",
+                             "example": 3.32,
+                             "format": "float",
+                             "type": "number"
+                           }
+                         },
+                         "type": "object"
+                       },
+                       "max_velocity": {
+                         "description": "Maximum velocity set for platform",
+                         "example": 0.9,
+                         "format": "float",
+                         "type": "number"
+                       },
+                       "min_altitude": {
+                         "description": "Minimum altitude set for platform",
+                         "example": 15.2,
+                         "format": "float",
+                         "type": "number"
+                       },
+                       "min_velocity": {
+                         "description": "Minimum velocity set for platform",
+                         "example": 0.1,
+                         "format": "float",
+                         "type": "number"
+                       },
+                       "model": {
+                         "example": "reav",
+                         "type": "string"
+                       },
+                       "operator": {
+                         "description": "Operator of platform",
+                         "example": "noc",
+                         "type": "string"
+                       },
+                       "platform_ID": {
+                         "description": "Unique identifier for this platform",
+                         "example": "reav-x-1",
+                         "type": "string"
+                       },
+                       "scan_sensor": {
+                         "properties": {
+                           "angle": {
+                             "description": "Angle of range of swath width (in degrees)",
+                             "example": 140,
+                             "format": "float",
+                             "type": "number"
+                           },
+                           "frequency": {
+                             "description": "Frequency of scanning sensor (in kHz)",
+                             "example": 700,
+                             "format": "float",
+                             "type": "number"
+                           },
+                           "sensor_type": {
+                             "description": "Unique identifier for this platform",
+                             "enum": [
+                               "SIDESCAN",
+                               "MBES"
+                             ],
+                             "example": "MBES",
+                             "type": "string"
+                           },
+                           "swath_width": {
+                             "description": "Function of `target_altitude` for the platform's swath width (in metres)",
+                             "example": 38,
+                             "format": "float",
+                             "type": "number"
+                           },
+                           "warmup_time": {
+                             "description": "Warmup time (seconds) for sensor to start up.",
+                             "example": 180,
+                             "format": "float",
+                             "type": "number"
+                           }
+                         },
+                         "type": "object"
                        },
-                       "platforms": {
-                          "description": "Squad consists of these platforms",
-                          "items": {
+                       "target_altitude": {
+                         "description": "Target altitude set for platform. This affects swath width",
+                         "example": 15,
+                         "format": "float",
+                         "type": "number"
+                       },
+                       "turning_radius": {
+                         "description": "Turning radius of platform (in metres)",
+                         "example": 1,
+                         "format": "float",
+                         "type": "number"
+                       }
+                     },
+                     "required": [
+                       "operator",
+                       "platform_ID",
+                       "active",
+                       "model"
+                     ],
+                     "type": "object"
+                   },
+                   "type": "array"
+                 },
+                 "primitives": {
+                   "description": "Squad primitives - includes platform group navigation instructions",
+                   "items": {
+                     "oneOf": [
+                       {
+                         "properties": {
+                           "feature": {
+                             "$ref": "#/components/schemas/geojson.org.schema.Feature.json"
+                           },
+                           "instruction": {
+                             "description": "How the associated feature should be used",
+                             "enum": [
+                               "navigate_to",
+                               "follow"
+                             ],
+                             "type": "string"
+                           },
+                           "options": {
                              "properties": {
-                                "active": {
-                                   "description": "If platform is active = True, and inactive = False",
-                                   "example": true,
-                                   "type": "boolean"
-                                },
-                                "additional_data": {
-                                   "description": "Any addition fields/data to be added here",
-                                   "example": {
-                                      "new_sensor_a": "test_sensor",
-                                      "range": 10.0
-                                   },
-                                   "type": "object"
-                                },
-                                "beacon_ID": {
-                                   "description": "Unique identifier (number) for the beacon associated to this platform",
-                                   "example": 2407,
-                                   "type": "number"
-                                },
-                                "emergency": {
-                                   "properties": {
-                                      "safe_command": {
-                                         "description": "Command/Action that is native to respective partner's platform/C2",
-                                         "enum": [
-                                            "go_home",
-                                            "abort_now",
-                                            "stop_now",
-                                            "surface_now"
-                                         ],
-                                         "example": "go_home",
-                                         "type": "string"
-                                      },
-                                      "target_depth": {
-                                         "description": "Z-coordinate safe place for respective platform . If platform to NOT stay at depth, key in `0.0`",
-                                         "example": 10.0,
-                                         "format": "float",
-                                         "type": "number"
-                                      },
-                                      "target_waypoint_latitude": {
-                                         "description": "Y-coordinate safe place for respective platform",
-                                         "example": 50.365,
-                                         "format": "float",
-                                         "type": "number"
-                                      },
-                                      "target_waypoint_longitude": {
-                                         "description": "X-coordinate safe place for respective platform",
-                                         "example": -7.432,
-                                         "format": "float",
-                                         "type": "number"
-                                      }
-                                   },
-                                   "required": [
-                                      "target_waypoint_latitude",
-                                      "target_waypoint_longitude",
-                                      "target_depth"
-                                   ],
-                                   "type": "object"
-                                },
-                                "endurance_relative_to_water_speed": {
-                                   "properties": {
-                                      "avg_battery_rating": {
-                                         "description": "Battery endurance rating during standard operational speed usage (m/s)",
-                                         "example": 1.9,
-                                         "format": "float",
-                                         "type": "number"
-                                      },
-                                      "max_battery_rating": {
-                                         "description": "Battery endurance rating during maximum speed usage (m/s)",
-                                         "example": 1.23,
-                                         "format": "float",
-                                         "type": "number"
-                                      },
-                                      "min_battery_rating": {
-                                         "description": "Battery endurance rating during maximum speed usage (m/s)",
-                                         "example": 3.32,
-                                         "format": "float",
-                                         "type": "number"
-                                      }
-                                   },
-                                   "type": "object"
-                                },
-                                "max_velocity": {
-                                   "description": "Maximum velocity set for platform",
-                                   "example": 0.9,
-                                   "format": "float",
-                                   "type": "number"
-                                },
-                                "min_altitude": {
-                                   "description": "Minimum altitude set for platform",
-                                   "example": 15.2,
-                                   "format": "float",
-                                   "type": "number"
-                                },
-                                "min_velocity": {
-                                   "description": "Minimum velocity set for platform",
-                                   "example": 0.1,
-                                   "format": "float",
-                                   "type": "number"
-                                },
-                                "model": {
-                                   "example": "reav",
-                                   "type": "string"
-                                },
-                                "operator": {
-                                   "description": "Operator of platform",
-                                   "example": "noc",
-                                   "type": "string"
-                                },
-                                "platform_ID": {
-                                   "description": "Unique identifier for this platform",
-                                   "example": "reav-x-1",
-                                   "type": "string"
-                                },
-                                "scan_sensor": {
-                                   "properties": {
-                                      "angle": {
-                                         "description": "Angle of range of swath width (in degrees)",
-                                         "example": 140.0,
-                                         "format": "float",
-                                         "type": "number"
-                                      },
-                                      "frequency": {
-                                         "description": "Frequency of scanning sensor (in kHz)",
-                                         "example": 700.0,
-                                         "format": "float",
-                                         "type": "number"
-                                      },
-                                      "sensor_type": {
-                                         "description": "Unique identifier for this platform",
-                                         "enum": [
-                                            "SIDESCAN",
-                                            "MBES"
-                                         ],
-                                         "example": "MBES",
-                                         "type": "string"
-                                      },
-                                      "swath_width": {
-                                         "description": "Function of `target_altitude` for the platform's swath width (in metres)",
-                                         "example": 38.0,
-                                         "format": "float",
-                                         "type": "number"
-                                      },
-                                      "warmup_time": {
-                                         "description": "Warmup time (seconds) for sensor to start up.",
-                                         "example": 180.0,
-                                         "format": "float",
-                                         "type": "number"
-                                      }
-                                   },
-                                   "type": "object"
-                                },
-                                "target_altitude": {
-                                   "description": "Target altitude set for platform. This affects swath width",
-                                   "example": 15.0,
-                                   "format": "float",
-                                   "type": "number"
-                                },
-                                "turning_radius": {
-                                   "description": "Turning radius of platform (in metres)",
-                                   "example": 1.0,
-                                   "format": "float",
-                                   "type": "number"
-                                }
+                               "acceptance_radius_m": {
+                                 "description": "Acceptance radius (if applicable) to points of geometry in metres",
+                                 "example": 10000,
+                                 "format": "float",
+                                 "type": "number"
+                               },
+                               "repeat": {
+                                 "description": "Repeat these set of primitives in order (e.g. 1-\u003E2-\u003E3-\u003E1-\u003E2...)",
+                                 "example": true,
+                                 "type": "boolean"
+                               },
+                               "reverse": {
+                                 "description": "Loop backwards through the set of primitives (e.g 1-\u003E2-\u003E-3-\u003E2-\u003E1...)",
+                                 "example": true,
+                                 "type": "boolean"
+                               }
                              },
-                             "required": [
-                                "operator",
-                                "platform_ID",
-                                "active",
-                                "model"
-                             ],
                              "type": "object"
-                          },
-                          "type": "array"
+                           }
+                         },
+                         "required": [
+                           "feature",
+                           "instruction"
+                         ]
                        },
-                       "squad_ID": {
-                          "description": "Identifier of given squad",
-                          "example": 23,
-                          "type": "integer"
-                       },
-                       "squad_mission_type": {
-                          "description": "Mission of given squad: `tracking`, `survey`, `inspection`",
-                          "enum": [
-                             "tracking",
-                             "survey",
-                             "inspection"
-                          ],
-                          "example": "survey",
-                          "type": "string"
+                       {
+                         "properties": {
+                           "feature": {
+                             "$ref": "#/components/schemas/geojson.org.schema.Feature.json"
+                           },
+                           "instruction": {
+                             "description": "How the associated feature should be used",
+                             "enum": [
+                               "stay_inside",
+                               "stay_outside",
+                               "cover",
+                               "informational"
+                             ],
+                             "type": "string"
+                           }
+                         },
+                         "required": [
+                           "feature",
+                           "instruction"
+                         ]
                        }
-                    },
-                    "required": [
-                       "squad_ID",
-                       "no_of_platforms",
-                       "platforms",
-                       "squad_mission_type"
-                    ],
-                    "type": "object"
+                     ]
+                   },
+                   "type": "array"
+                 },
+                 "squad_ID": {
+                   "description": "Identifier of given squad",
+                   "example": 23,
+                   "type": "integer"
+                 },
+                 "squad_mission_type": {
+                   "description": "Mission of given squad: `tracking`, `survey`, `inspection`",
+                   "enum": [
+                     "tracking",
+                     "survey",
+                     "inspection",
+                     "profiling"
+                   ],
+                   "example": "survey",
+                   "type": "string"
+                 }
+               },
+               "required": [
+                 "squad_ID",
+                 "no_of_platforms",
+                 "platforms",
+                 "squad_mission_type"
+               ],
+               "type": "object"
+             },
+             "type": "array"
+           }
+         },
+         "required": [
+           "message_type",
+           "planning_config_ID",
+           "squads",
+           "primitives"
+         ],
+         "type": "object"
+       },
+       "platform_instruction_set": {
+         "properties": {
+           "instruction_set": {
+             "properties": {
+               "categories": {
+                 "type": "object"
+               },
+               "files": {
+                 "items": {
+                   "properties": {
+                     "content": {
+                       "description": "Base64 encoded file content",
+                       "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
+                       "type": "string"
+                     },
+                     "mime_type": {
+                       "description": "MIME type",
+                       "example": "text/plain",
+                       "type": "string"
+                     },
+                     "name": {
+                       "description": "Name of file",
+                       "example": "yo95.ma",
+                       "type": "string"
+                     },
+                     "static": {
+                       "description": "list of the fixed values set by the config file",
+                       "type": "object"
+                     }
+                   },
+                   "required": [
+                     "name",
+                     "content"
+                   ],
+                   "type": "object"
                  },
                  "type": "array"
-              }
-           },
-           "required": [
-              "message_type",
-              "planning_config_ID",
-              "squads",
-              "exclusion_zones",
-              "region_of_interest"
-           ],
-           "type": "object"
-        },
-        "platform_status": {
-           "properties": {
-              "altitude": {
+               }
+             },
+             "required": [
+               "files"
+             ],
+             "type": "object"
+           },
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "platform_instruction_set"
+             ],
+             "example": "platform_instruction_set",
+             "type": "string"
+           },
+           "platform_ID": {
+             "description": "Unique identifier for this platform",
+             "example": "reav-x-1",
+             "type": "string"
+           }
+         },
+         "required": [
+           "message_type",
+           "platform_ID",
+           "instruction_set"
+         ],
+         "type": "object"
+       },
+       "platform_status": {
+         "oneOf": [
+           {
+             "properties": {
+               "no_position_reason": {
+                 "description": "Why position data is unavailable",
+                 "enum": [
+                   "missing",
+                   "invalid",
+                   "old",
+                   "poor_fix",
+                   "unavailable",
+                   "not_applicable"
+                 ],
+                 "example": "invalid",
+                 "type": "string"
+               }
+             },
+             "required": [
+               "no_position_reason"
+             ],
+             "type": "object"
+           },
+           {
+             "properties": {
+               "position": {
+                 "$ref": "#/components/schemas/geojson.org.schema.Point.json"
+               },
+               "waypoint": {
+                 "$ref": "#/components/schemas/geojson.org.schema.Point.json"
+               }
+             },
+             "required": [
+               "position"
+             ],
+             "type": "object"
+           },
+           {
+             "properties": {
+               "altitude": {
                  "description": "Target altitude in metres",
-                 "example": 20.0,
+                 "example": 20,
                  "format": "float",
                  "type": "number"
-              },
-              "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"
-              },
-              "depth": {
-                 "default": 0.0,
+               },
+               "depth": {
+                 "default": 0,
                  "description": "Target depth in metres",
-                 "example": 50.0,
-                 "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,
+                 "example": 50,
                  "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"
-              },
-              "latitude": {
+               },
+               "latitude": {
                  "description": "Latitude (Y-coordinate) in decimal degrees.",
                  "example": 178.2,
                  "format": "float",
                  "type": "number"
-              },
-              "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"
-              },
-              "longitude": {
+               },
+               "longitude": {
                  "description": "Longitude (X-coordinate) in decimal degrees.",
                  "example": -10.122,
                  "format": "float",
                  "type": "number"
-              },
-              "message_type": {
-                 "description": "Type of message",
-                 "enum": [
-                    "platform_status"
-                 ],
-                 "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"
-                 ],
-                 "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": [
-              "message_type",
-              "platform_ID",
-              "status_source",
-              "platform_timestamp",
-              "latitude",
-              "longitude"
-           ],
-           "type": "object"
-        },
-        "platform_status_encoded": {
-           "properties": {
-              "data": {
-                 "description": "encoded string. E.g. Base64 encoded",
-                 "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
-                 "type": "string"
-              },
-              "file_name": {
-                 "description": "Name of file",
-                 "example": "ah1-0238126349247372.bin",
-                 "type": "string"
-              },
-              "is_binary": {
-                 "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.",
-                 "example": true,
-                 "type": "boolean"
-              },
-              "message_type": {
-                 "description": "Type of message",
-                 "enum": [
-                    "platform_status_encoded"
-                 ],
-                 "example": "platform_status_encoded",
-                 "type": "string"
-              },
-              "mime_type": {
-                 "description": "MIME type",
-                 "example": "application/gzip",
-                 "type": "string"
-              }
-           },
-           "required": [
-              "data",
-              "is_binary"
-           ],
-           "type": "object"
-        },
-        "survey": {
-           "properties": {
-              "latitude_A": {
-                 "description": "Latitude of point A(intersection of normal)from waypoint A to survey line",
-                 "example": 178.2,
-                 "format": "float",
-                 "type": "number"
-              },
-              "latitude_B": {
-                 "description": "Latitude of point B(intersection of normal)from waypoint B to survey line",
-                 "example": 178.2,
-                 "format": "float",
-                 "type": "number"
-              },
-              "latitude_C": {
-                 "description": "Latitude of point C(intersection of normal)from waypoint C to survey line",
-                 "example": 178.2,
+               },
+               "waypoint_altitude": {
+                 "description": "Target altitude in metres",
+                 "example": 20,
                  "format": "float",
                  "type": "number"
-              },
-              "latitude_D": {
-                 "description": "Latitude of point D(intersection of normal)from waypoint D to survey line",
-                 "example": 178.2,
+               },
+               "waypoint_depth": {
+                 "default": 0,
+                 "description": "Target depth in metres",
+                 "example": 50,
                  "format": "float",
                  "type": "number"
-              },
-              "latitude_E": {
-                 "description": "Latitude of point E(intersection of normal)from waypoint E to survey line",
+               },
+               "waypoint_latitude": {
+                 "description": "Latitude (Y-coordinate) in decimal degrees.",
                  "example": 178.2,
                  "format": "float",
                  "type": "number"
-              },
-              "longitude_A": {
-                 "description": "Longitude of point A(intersection of normal)from waypoint A to survey line",
-                 "example": -10.122,
-                 "format": "float",
-                 "type": "number"
-              },
-              "longitude_B": {
-                 "description": "Longitude of point B(intersection of normal)from waypoint B to survey line",
-                 "example": -10.122,
-                 "format": "float",
-                 "type": "number"
-              },
-              "longitude_C": {
-                 "description": "Longitude of point C(intersection of normal)from waypoint C to survey line",
-                 "example": -10.122,
-                 "format": "float",
-                 "type": "number"
-              },
-              "longitude_D": {
-                 "description": "Longitude of point D(intersection of normal)from waypoint D to survey line",
-                 "example": -10.122,
-                 "format": "float",
-                 "type": "number"
-              },
-              "longitude_E": {
-                 "description": "Longitude of point E(intersection of normal)from waypoint E to survey line",
+               },
+               "waypoint_longitude": {
+                 "description": "Longitude (X-coordinate) in decimal degrees.",
                  "example": -10.122,
                  "format": "float",
                  "type": "number"
-              },
-              "message_type": {
-                 "description": "Type of message",
-                 "enum": [
-                    "survey"
-                 ],
-                 "example": "survey",
-                 "type": "string"
-              },
-              "platform_ID": {
-                 "description": "Unique identifier for this platform",
-                 "example": "ecosub-2",
-                 "type": "string"
-              },
-              "timestamp": {
-                 "description": "Timestamp for onboard message",
-                 "example": "2022-12-21T00:00:00Z",
-                 "format": "date-time",
-                 "type": "string"
-              },
-              "track_ID": {
-                 "description": "Track number of action(s) currently executed by platform",
-                 "example": 1,
-                 "type": "integer"
-              }
-           },
-           "required": [
-              "latitude_A",
-              "longitude_A",
-              "latitude_B",
-              "longitude_B",
-              "platform_ID"
-           ],
-           "type": "object"
-        },
-        "survey_encoded": {
-           "properties": {
-              "data": {
-                 "description": "encoded string. E.g. Base64 encoded",
-                 "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
-                 "type": "string"
-              },
-              "file_name": {
-                 "description": "Name of file",
-                 "example": "ah1-0238126349247372.bin",
-                 "type": "string"
-              },
-              "is_binary": {
-                 "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.",
+               }
+             },
+             "required": [
+               "latitude",
+               "longitude"
+             ],
+             "type": "object"
+           }
+         ],
+         "properties": {
+           "additional_data": {
+             "description": "Any addition fields/data to be added here",
+             "example": {
+               "m_coulomb_amphr_total": 95.45837
+             },
+             "type": "object"
+           },
+           "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° at north, clockwise through 359°, 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": [
+               "platform_status"
+             ],
+             "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 --\u003E 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"
-              },
-              "message_type": {
-                 "description": "Type of message",
-                 "enum": [
-                    "survey_encoded"
-                 ],
-                 "example": "survey_encoded",
+               },
+               "sensor_serial": {
+                 "description": "serial number of sensor",
+                 "example": "mbes-002a",
                  "type": "string"
-              },
-              "mime_type": {
-                 "description": "MIME type",
-                 "example": "application/gzip",
-                 "type": "string"
-              }
-           },
-           "required": [
-              "data",
-              "is_binary"
-           ],
-           "type": "object"
-        }
+               }
+             },
+             "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",
+               "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,
+             "format": "float",
+             "type": "number"
+           },
+           "water_current_velocity": {
+             "description": "Water current magnitude and direction",
+             "example": "124.3NE",
+             "type": "string"
+           }
+         },
+         "required": [
+           "message_type",
+           "platform_ID",
+           "status_source",
+           "platform_timestamp"
+         ],
+         "type": "object"
+       },
+       "platform_status_encoded": {
+         "properties": {
+           "data": {
+             "description": "encoded string. E.g. Base64 encoded",
+             "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
+             "type": "string"
+           },
+           "file_name": {
+             "description": "Name of file",
+             "example": "ah1-0238126349247372.bin",
+             "type": "string"
+           },
+           "is_binary": {
+             "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.",
+             "example": true,
+             "type": "boolean"
+           },
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "platform_status_encoded"
+             ],
+             "example": "platform_status_encoded",
+             "type": "string"
+           },
+           "mime_type": {
+             "description": "MIME type",
+             "example": "application/gzip",
+             "type": "string"
+           }
+         },
+         "required": [
+           "data",
+           "is_binary"
+         ],
+         "type": "object"
+       },
+       "survey": {
+         "properties": {
+           "latitude_A": {
+             "description": "Latitude of point A(intersection of normal)from waypoint A to survey line",
+             "example": 178.2,
+             "format": "float",
+             "type": "number"
+           },
+           "latitude_B": {
+             "description": "Latitude of point B(intersection of normal)from waypoint B to survey line",
+             "example": 178.2,
+             "format": "float",
+             "type": "number"
+           },
+           "latitude_C": {
+             "description": "Latitude of point C(intersection of normal)from waypoint C to survey line",
+             "example": 178.2,
+             "format": "float",
+             "type": "number"
+           },
+           "latitude_D": {
+             "description": "Latitude of point D(intersection of normal)from waypoint D to survey line",
+             "example": 178.2,
+             "format": "float",
+             "type": "number"
+           },
+           "latitude_E": {
+             "description": "Latitude of point E(intersection of normal)from waypoint E to survey line",
+             "example": 178.2,
+             "format": "float",
+             "type": "number"
+           },
+           "longitude_A": {
+             "description": "Longitude of point A(intersection of normal)from waypoint A to survey line",
+             "example": -10.122,
+             "format": "float",
+             "type": "number"
+           },
+           "longitude_B": {
+             "description": "Longitude of point B(intersection of normal)from waypoint B to survey line",
+             "example": -10.122,
+             "format": "float",
+             "type": "number"
+           },
+           "longitude_C": {
+             "description": "Longitude of point C(intersection of normal)from waypoint C to survey line",
+             "example": -10.122,
+             "format": "float",
+             "type": "number"
+           },
+           "longitude_D": {
+             "description": "Longitude of point D(intersection of normal)from waypoint D to survey line",
+             "example": -10.122,
+             "format": "float",
+             "type": "number"
+           },
+           "longitude_E": {
+             "description": "Longitude of point E(intersection of normal)from waypoint E to survey line",
+             "example": -10.122,
+             "format": "float",
+             "type": "number"
+           },
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "survey"
+             ],
+             "example": "survey",
+             "type": "string"
+           },
+           "platform_ID": {
+             "description": "Unique identifier for this platform",
+             "example": "ecosub-2",
+             "type": "string"
+           },
+           "timestamp": {
+             "description": "Timestamp for onboard message",
+             "example": "2022-12-21T00:00:00Z",
+             "format": "date-time",
+             "type": "string"
+           },
+           "track_ID": {
+             "description": "Track number of action(s) currently executed by platform",
+             "example": 1,
+             "type": "integer"
+           }
+         },
+         "required": [
+           "latitude_A",
+           "longitude_A",
+           "latitude_B",
+           "longitude_B",
+           "platform_ID"
+         ],
+         "type": "object"
+       },
+       "survey_encoded": {
+         "properties": {
+           "data": {
+             "description": "encoded string. E.g. Base64 encoded",
+             "example": "SDQke4uwyP/YQQAgAhA2AND/nu8nvQAAAAAAAAAACtejPa5HHUGkcBAAAAIAAAAQAAAAAAAAAA9P2cP166ab+9cg==",
+             "type": "string"
+           },
+           "file_name": {
+             "description": "Name of file",
+             "example": "ah1-0238126349247372.bin",
+             "type": "string"
+           },
+           "is_binary": {
+             "description": "true if the data field contains binary format data encoded as base64. false if the data field contains ascii content such as NMEA.",
+             "example": true,
+             "type": "boolean"
+           },
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "survey_encoded"
+             ],
+             "example": "survey_encoded",
+             "type": "string"
+           },
+           "mime_type": {
+             "description": "MIME type",
+             "example": "application/gzip",
+             "type": "string"
+           }
+         },
+         "required": [
+           "data",
+           "is_binary"
+         ],
+         "type": "object"
+       },
+       "waypoints": {
+         "properties": {
+           "message_type": {
+             "description": "Type of message",
+             "enum": [
+               "waypoints"
+             ],
+             "example": "waypoints",
+             "type": "string"
+           },
+           "platform_ID": {
+             "description": "Unique identifier for this platform",
+             "example": "reav-x-1",
+             "type": "string"
+           },
+           "platform_timestamp": {
+             "description": "Timestamp for onboard platform status message",
+             "example": "2022-12-21T00:00:00Z",
+             "format": "date-time",
+             "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"
+           },
+           "waypoints": {
+             "items": {
+               "oneOf": [
+                 {
+                   "$ref": "#/components/schemas/geojson.org.schema.Point.json"
+                 },
+                 {
+                   "properties": {
+                     "altitude": {
+                       "description": "Target altitude in metres",
+                       "example": 20,
+                       "format": "float",
+                       "type": "number"
+                     },
+                     "depth": {
+                       "default": 0,
+                       "description": "Target depth in metres",
+                       "example": 50,
+                       "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"
+                     }
+                   },
+                   "required": [
+                     "latitude",
+                     "longitude"
+                   ],
+                   "type": "object"
+                 }
+               ],
+               "type": "object"
+             },
+             "type": "array"
+           }
+         },
+         "required": [
+           "message_type",
+           "platform_ID",
+           "status_source",
+           "platform_timestamp",
+           "waypoints"
+         ],
+         "type": "object"
+       }
      }
-  },
-  "info":{
-     "description":"SoAR message protocol in schemas",
-     "title":"SoAR Backbone Message Formats",
-     "version":"0.2"
-  },
-  "openapi": "3.0.2",
-  "paths": {}
-}
\ No newline at end of file
+   },
+   "info": {
+     "description": "SoAR message protocol in schemas",
+     "title": "SoAR Backbone Message Formats",
+     "version": "1.0"
+   },
+   "openapi": "3.0.2",
+   "paths": {
+ 
+   }
+ }
\ No newline at end of file