{ "$schema":                      "https://json-schema.org/draft/2020-12/schema",
  "$id":                          "https://schemas.mpai.community/XRV1/V1.0/data/VEParticipantStatus.json",
  "title":                        "VE Participant Status V1.0",
  "description":                  "Status of individual and collective participants in a Virtual Environment (VE).",
  "type":                         "object",
  "additionalProperties":         false,
  "required":                     [ "Header", "VEParticipantStatusID", "VEParticipantStatusTime", "VEParticipantStatusData" ],
  "properties":                   {

    "Header":                     { "type": "string", "const": "XRV-VTS-V1.0" },
    "MInstanceID":                { "type": "string" },
    "UEnvironmentID":             { "type": "string" },
    "VEParticipantStatusID":      { "type": "string" },
    "VEParticipantStatusTime":    { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/Time.json" },

    "VEParticipantStatusData":    { "type": "object", "additionalProperties": false, "required": [ "IndividualStatuses", "CollectiveStatuses" ], "properties": {

      "IndividualStatuses":       { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "VEParticipantID" ], "properties": {

        "VEParticipantID":        { "type": "string" },
        "SpatialAttitude":        { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/SpatialAttitude.json" },
        "AudioBehaviour":         { "$ref": "https://schemas.mpai.community/XRV1/V1.0/data/AudioBehaviour.json" },
        "VisualBehaviour":        { "$ref": "https://schemas.mpai.community/XRV1/V1.0/data/VisualBehaviour.json" },
        "PersonalStatus":         { "$ref": "https://schemas.mpai.community/MMC/V2.5/data/PersonalStatus.json" },

        "Brainwavefreq":          { "type": "object", "additionalProperties": false, "properties": {
          "alpha":                { "type": "number" },
          "theta":                { "type": "number" },
          "delta":                { "type": "number" },
          "beta":                 { "type": "number" },
          "gamma":                { "type": "number" } } },

        "BiometricData":          { "$ref": "https://schemas.mpai.community/AIH1/V1.0/data/BiometricData.json" } } } },

      "CollectiveStatuses":       { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "GroupID" ], "properties": {

        "GroupID":                { "type": "string" },
        "CentroidPosition":       { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/Position.json" },
        "PrincipalAxes":          { "$ref": "https://schemas.mpai.community/OSD/V1.5/data/Orientation.json" },

        "PrincipalAxisVariances": { "type": "array", "items": { "type": "number" }, "minItems": 3, "maxItems": 3, "description": "Variances along principal axes [V1, V2, V3]." },
        "ParticipantPercentage":  { "type": "number", "minimum": 0, "maximum": 100 },

        "Brainwavefreq":          { "type": "object", "additionalProperties": false, "properties": {
          "alpha":                { "type": "number" },
          "theta":                { "type": "number" },
          "delta":                { "type": "number" },
          "beta":                 { "type": "number" },
          "gamma":                { "type": "number" } } },

        "AudioBehaviour":         { "$ref": "https://schemas.mpai.community/XRV1/V1.0/data/AudioBehaviour.json" },
        "VisualBehaviour":        { "$ref": "https://schemas.mpai.community/XRV1/V1.0/data/VisualBehaviour.json" },

        "Participants":           { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "ParticipantID" ], "properties": {
          "ParticipantID":        { "type": "string" },
          "DistanceFromCentroid": { "type": "number", "minimum": 0 } } } } } } } } },

    "Dataxmdata":                 { "$ref": "https://schemas.mpai.community/PTF/V1.0/data/DataExchangeMetadata.json" },
    "DescrMetadata":              { "type": "string", "maxLength": 2048 } } }
