{
   "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"
                  ],
                  "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"
         },
         "header":{
            "discriminator":{
               "propertyName":"message_type"
            },
            "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-bvcdfghjgfdd",
                  "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",
                  "type":"number"
               }
            },
            "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"
                        },
                        "altitude":{
                           "description":"Altitude of next action",
                           "example":15.0,
                           "format":"float",
                           "type":"number"
                        },
                        "depth":{
                           "description":"Depth of next action",
                           "example":15.0,
                           "format":"float",
                           "type":"number"
                        },
                        "start_point_latitude":{
                           "description":"Start point, y-coordinate",
                           "example":50.37072283932642,
                           "format":"float",
                           "type":"number"
                        },
                        "start_point_longitude":{
                           "description":"Start point, x-coordinate",
                           "example":-4.187143188645706,
                           "format":"float",
                           "type":"number"
                        },
                        "target_waypoint_latitude":{
                           "description":"Target waypoint, y-coordinate",
                           "example":50.37072283932642,
                           "format":"float",
                           "type":"number"
                        },
                        "target_waypoint_longitude":{
                           "description":"Target waypoint, x-coordinate",
                           "example":-4.187143188645706,
                           "format":"float",
                           "type":"number"
                        },
                        "timeout":{
                           "description":"Timeout set to perform action",
                           "example":1800.0,
                           "format":"float",
                           "type":"number"
                        }
                     },
                     "required":[
                        "target_waypoint_latitude",
                        "target_waypoint_longitude"
                     ],
                     "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",
                  "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/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"
                  },
                  "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"
               },
               "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"
                        }
                     },
                     "type":"object"
                  },
                  "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.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"
                                 }
                              },
                              "required":[
                                 "operator",
                                 "platform_ID",
                                 "active",
                                 "model",
                                 "min_altitude",
                                 "min_velocity",
                                 "max_velocity"
                              ],
                              "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"
                           ],
                           "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",
               "exclusion_zones",
               "region_of_interest"
            ],
            "type":"object"
         },
         "platform_status":{
            "properties":{
               "altitude":{
                  "description":"Target altitude in metres",
                  "example":20.0,
                  "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_remaining_capacity":{
                  "description":"Battery remaining % provided by respective C2",
                  "example":80.2,
                  "format":"float",
                  "type":"number"
               },
               "depth":{
                  "default":0.0,
                  "description":"Target depth in metres",
                  "example":50.0,
                  "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":{
                  "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":{
                  "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,
                  "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"
               },
               "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"
         }
      }
   },
   "info":{
      "description":"SoAR message protocol in schemas",
      "title":"SoAR Backbone Message Formats",
      "version":"1.0"
   },
   "openapi":"3.0.2",
   "paths":{
      
   }
}