{ "$schema":                      "https://json-schema.org/draft/2020-12/schema",
  "$id":                          "https://schemas.mpai.community/AIH1/V1.1/data/BehaviouralSignalObject.json",
  "title":                        "Behavioural Signal Object V1.1",
  "description":                  "Behavioural Signal Object w/ Data & Qualifier.",
  "required":                     [ "Header", "BehaviouralSignalObjectID", "EndUserID", "BehaviouralSignalObjectTime",
                                    "BehaviouralSignalData", "BehaviouralSignalQualifier" ],
  "type":                         "object",
  "properties":                   {

    "Header":                     { "type": "string", "const": "AIH-BSO-V1.1" },
    "MInstance":                  { "type": "string" },
    "UEnvironment":               { "type": "string" },
    "BehaviouralSignalObjectID":  { "type": "string", "description": "Identifier of the Behavioural Signal Object." },
    "EndUserID":                  { "type": "string", "description": "ID of the End User the Behavioural Signal Data refers to." },
    "BehaviouralSignalObjectTime":{ "$ref": "https://schemas.mpai.community/OSD/V1.5/data/Time.json" },

    "BehaviouralSignalData":      { "type": "array", "items": { "anyOf": [
                                  { "type": "object", "properties": { "Data": { "type": "string" } } },
                                  { "type": "object", "properties": { "DataLength": { "type": "integer" },
                                                                      "DataURI": { "type": "string", "format": "uri" } } },
                                  { "type": "object", "properties": { "ID": { "type": "string" } } } ] } },

    "BehaviouralSignalQualifier": { "$ref": "https://schemas.mpai.community/TFA/V1.5/data/BehaviouralSignalQualifier.json" },

    "DataXMData":                 { "$ref": "https://schemas.mpai.community/PTF/V1.0/data/DataExchangeMetadata.json" },
    "DescrMetadata":              { "type": "string", "maxLength": 2048 } } }
