← All message topics  ·  schema LocationMonitor/location_event_message.json

header

FieldTypeRequiredAllowed valuesDescription
timestamp string
message_type string event
version string The message format version

msg

FieldTypeRequiredAllowed valuesDescription
experiment_id string
trial_id string
timestamp string
source string
sub_type string Event:location
version string
replay_parent_type string|null TRIAL REPLAY null
replay_parent_id string|null
replay_id string|null

data

FieldTypeRequiredAllowed valuesDescription
participant_id string The participant id this data is associated with
callsign string The Call Sign Assigned to the Player
mission_timer string
elapsed_milliseconds number
cooresponding_observation_number integer The Corresponding Observation Number from the State Message
locations array<object>
locations[].id string The Location's id
locations[].name string The Location's name
connections array<object>
connections[].id string The Connection's id
connections[].name array<string> The location ids which this connections connects
exited_locations array<object>
exited_locations[].id string The Location's id
exited_locations[].name string The Location's name
exited_connections array<object>
exited_connections[].id string The Connection's id
exited_connections[].name array<string> The location ids which this connections connects

Example message

{
  "header": {
    "timestamp": "2020-08-25T01:56:21.517415Z",
    "version": "1.1",
    "message_type": "event"
  },
  "msg": {
    "sub_type": "Event:location",
    "timestamp": "2020-08-22T04:06:18.846Z",
    "experiment_id": "c6f930a2-357b-4c24-9c4e-42b1c8d9458f",
    "trial_id": "25edd30a-2a4b-4229-9237-1304ea8cc439",
    "replay_id": "a44120f7-b5ba-47a3-8a21-0c76ede62f75",
    "version": "3.0",
    "source": "IHMCLocationMonitorAgent"
  },
  "data": {
    "participant_id": "P000999",
    "callsign": "Blue",
    "mission_timer": "8 : 36",
    "elapsed_milliseconds": 15113,
    "corresponding_observation_number": 6857,
    "locations": [
      {
        "id": "lh_2",
        "name": "Part of Left Hallway"
      },
      {
        "id": "lh",
        "name": "Left Hallway"
      }
    ],
    "connections": [
      {
        "id": "ce_112_77_112_79",
        "connected_locations": [
          "lh_1",
          "lh_2"
        ]
      }
    ],
    "exited_locations": [
      {
        "id": "lh_1",
        "name": "Part of Left Hallway"
      }
    ]
  }

}
Raw JSON Schema (resolved)
{
  "$id": "http://asist.aptima.com/schemas/event_player_location.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {},
  "properties": {
    "data": {
      "$id": "#/properties/message/properties/data",
      "properties": {
        "callsign": {
          "$id": "#/properties/data/properties/callsign",
          "examples": [
            "Alpha",
            "Bravo",
            "Delta",
            "Red",
            "Green",
            "Blue"
          ],
          "pattern": "^(.*)$",
          "title": "The Call Sign Assigned to the Player",
          "type": "string"
        },
        "connections": {
          "$id": "#/properties/data/properties/connection_list",
          "default": "",
          "items": {
            "$id": "http://asist.aptima.com/schemas/player_connection.json",
            "$schema": "http://json-schema.org/draft-07/schema#",
            "definitions": {},
            "properties": {
              "id": {
                "$id": "#/properties/event/player/connection/id",
                "pattern": "^(.*)$",
                "title": "The Connection\u0027s id",
                "type": "string"
              },
              "name": {
                "$id": "#/properties/event/player/connection/connected_locations",
                "items": {
                  "type": "string"
                },
                "title": "The location ids which this connections connects",
                "type": "array"
              }
            },
            "required": [
              "id"
            ],
            "title": "The Player Connection Schema",
            "type": "object",
            "version": "1.0"
          },
          "title": "The connection List Schema",
          "type": "array"
        },
        "cooresponding_observation_number": {
          "$id": "#/properties/data/properties/cooresponding_observation_number",
          "default": 0,
          "examples": [
            6857
          ],
          "title": "The Corresponding Observation Number from the State Message",
          "type": "integer"
        },
        "elapsed_milliseconds": {
          "$id": "#/properties/event/state/elapsed_milliseconds",
          "examples": [
            5000,
            77459,
            689457
          ],
          "pattern": "^[0-9]+$",
          "title": "The Elapsed Milliseconds Schema",
          "type": "number"
        },
        "exited_connections": {
          "$id": "#/properties/data/properties/exited_connection_list",
          "default": "",
          "items": {
            "$id": "http://asist.aptima.com/schemas/player_connection.json",
            "$schema": "http://json-schema.org/draft-07/schema#",
            "definitions": {},
            "properties": {
              "id": {
                "$id": "#/properties/event/player/connection/id",
                "pattern": "^(.*)$",
                "title": "The Connection\u0027s id",
                "type": "string"
              },
              "name": {
                "$id": "#/properties/event/player/connection/connected_locations",
                "items": {
                  "type": "string"
                },
                "title": "The location ids which this connections connects",
                "type": "array"
              }
            },
            "required": [
              "id"
            ],
            "title": "The Player Connection Schema",
            "type": "object",
            "version": "1.0"
          },
          "title": "The Exited Connection List Schema",
          "type": "array"
        },
        "exited_locations": {
          "$id": "#/properties/data/properties/exited_location_list",
          "default": "",
          "items": {
            "$id": "http://asist.aptima.com/schemas/player_location.json",
            "$schema": "http://json-schema.org/draft-07/schema#",
            "definitions": {},
            "properties": {
              "id": {
                "$id": "#/properties/event/player/location/id",
                "pattern": "^(.*)$",
                "title": "The Location\u0027s id",
                "type": "string"
              },
              "name": {
                "$id": "#/properties/event/player/location/name",
                "pattern": "^(.*)$",
                "title": "The Location\u0027s name",
                "type": "string"
              }
            },
            "required": [
              "id"
            ],
            "title": "The Player Location Schema",
            "type": "object",
            "version": "1.0"
          },
          "title": "The Exited Location List Schema",
          "type": "array"
        },
        "locations": {
          "$id": "#/properties/data/properties/location_list",
          "default": "",
          "items": {
            "$id": "http://asist.aptima.com/schemas/player_location.json",
            "$schema": "http://json-schema.org/draft-07/schema#",
            "definitions": {},
            "properties": {
              "id": {
                "$id": "#/properties/event/player/location/id",
                "pattern": "^(.*)$",
                "title": "The Location\u0027s id",
                "type": "string"
              },
              "name": {
                "$id": "#/properties/event/player/location/name",
                "pattern": "^(.*)$",
                "title": "The Location\u0027s name",
                "type": "string"
              }
            },
            "required": [
              "id"
            ],
            "title": "The Player Location Schema",
            "type": "object",
            "version": "1.0"
          },
          "title": "The Location List Schema",
          "type": "array"
        },
        "mission_timer": {
          "$id": "#/properties/event/state/mission_timer",
          "examples": [
            "8 : 36"
          ],
          "pattern": "(^([0-9]*? : [+0-9]*?)$)|(^Mission Timer not initialized\\.$)",
          "title": "The Mission Timer Schema",
          "type": "string"
        },
        "participant_id": {
          "$id": "#/properties/data/properties/participant_id",
          "description": "The participant id this data is associated with",
          "examples": [
            "participant_1"
          ],
          "title": "The participant_id schema",
          "type": "string"
        }
      },
      "required": [
        "participant_id",
        "mission_timer",
        "elapsed_milliseconds",
        "corresponding_observation_number"
      ],
      "title": "The Location Change Data Schema",
      "type": "object"
    },
    "header": {
      "$id": "http://asist.aptima.com/schemas/common_header.json",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "definitions": {},
      "properties": {
        "message_type": {
          "$id": "#/properties/message_type",
          "const": "event",
          "enum": [
            "control",
            "observation",
            "chat",
            "status",
            "trial",
            "event",
            "groundtruth",
            "experiment",
            "metadata",
            "agent"
          ],
          "examples": [
            "observation"
          ],
          "pattern": "^([a-z_]*?)$",
          "title": "The Message_type Schema",
          "type": "string"
        },
        "timestamp": {
          "$id": "#/properties/timestamp",
          "examples": [
            "2019-12-26T12:47:23.1234Z"
          ],
          "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}[.]?[0-9]{0,}?Z",
          "title": "The Timestamp Schema",
          "type": "string"
        },
        "version": {
          "$id": "#/properties/version",
          "examples": [
            "1.0",
            "2.3.1"
          ],
          "pattern": "^([0-9]+\\.)?([0-9]+\\.)?([0-9]+)$",
          "title": "The message format version",
          "type": "string"
        }
      },
      "required": [
        "timestamp",
        "message_type",
        "version"
      ],
      "title": "ASIST message common header Schema",
      "type": "object",
      "version": "0.3"
    },
    "msg": {
      "$id": "http://asist.aptima.com/schemas/event_message.json",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "definitions": {},
      "properties": {
        "experiment_id": {
          "$id": "#/properties/experiment_id",
          "default": "",
          "examples": [
            "123e4567-e89b-12d3-a456-426655440000"
          ],
          "pattern": "(([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|Not Set|Null|null)",
          "title": "The Experiment Id Schema",
          "type": "string"
        },
        "replay_id": {
          "$id": "#/properties/replay_id",
          "default": "",
          "examples": [
            "123e4567-e89b-12d3-a456-426655440000"
          ],
          "pattern": "(([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|Not Set|null|Null)",
          "title": "The Replay Id Schema",
          "type": [
            "string",
            "null"
          ]
        },
        "replay_parent_id": {
          "$id": "#/properties/replay_parent_id",
          "default": "",
          "examples": [
            "123e4567-e89b-12d3-a456-426655440000"
          ],
          "pattern": "(([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|Not Set|null|Null)",
          "title": "The Replay Parent Id Schema",
          "type": [
            "string",
            "null"
          ]
        },
        "replay_parent_type": {
          "$id": "#/properties/replay_parent_type",
          "enum": [
            "TRIAL",
            "REPLAY",
            null
          ],
          "title": "The Replay Parent Type Schema",
          "type": [
            "string",
            "null"
          ]
        },
        "source": {
          "$id": "#/properties/source",
          "default": "",
          "examples": [
            "simulator"
          ],
          "pattern": "^(.*)$",
          "title": "The Source Schema",
          "type": "string"
        },
        "sub_type": {
          "$id": "#/properties/sub_type",
          "const": "Event:location",
          "default": "",
          "examples": [
            "equip",
            "triage"
          ],
          "pattern": "^([a-zA-Z0-9_:]*?)$",
          "title": "The Sub Type Schema",
          "type": "string"
        },
        "timestamp": {
          "$id": "#/properties/timestamp",
          "default": "",
          "examples": [
            "2019-12-26T14:05:02.3412Z"
          ],
          "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}[.]?[0-9]{0,}?Z",
          "title": "The Timestamp Schema",
          "type": "string"
        },
        "trial_id": {
          "$id": "#/properties/trial_id",
          "default": "",
          "examples": [
            "123e4567-e89b-12d3-a456-426655440000"
          ],
          "pattern": "(([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|Not Set|null|Null)",
          "title": "The Trial Id Schema",
          "type": "string"
        },
        "version": {
          "$id": "#/properties/version",
          "default": "",
          "examples": [
            "0.1",
            "1.0.1"
          ],
          "pattern": "^([.]*)|(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
          "title": "The Version Schema",
          "type": "string"
        }
      },
      "required": [
        "experiment_id",
        "timestamp",
        "source",
        "sub_type",
        "version"
      ],
      "title": "The Event Message Schema",
      "type": "object",
      "version": "0.5"
    }
  },
  "required": [
    "header",
    "msg",
    "data"
  ],
  "title": "The Event Player Location Schema",
  "type": "object",
  "version": "3.0"
}
Upstream spec documentation

Data Subtype: Event:location Message Format

This data message subtype, Event:location, is used to communicate event data for players in the world.

TOPIC

observations/events/player/location

Message Fields

Field Name Type Description
header object From Common Message Format section
msg object From the event Header Format section
data.participant_id string The participant id this data is associated with
data.callsign string (optional) The callsign of the player
data.mission_timer string the mission time of the event from the State message
data.elapsed_milliseconds number the number of elapsed milliseconds since mission start from the State message
data.corresponding_observation_number integer A sequence number of the number of observations from the beginning of the trial run from the corresponding State message
data.locations List of location (optional) A list of the locations the player is currently in
data.connections List of connection (optional) A list of the connections the player is currently in
data.exited_locations List of location (optional) A list of the locations the player just left
data.exited_connections List of connection (optional) A list of the connections the player just left

Message Example

{
  "header": {
    "timestamp": "2020-08-25T01:56:21.517415Z",
    "version": "1.1",
    "message_type": "event"
  },
  "msg": {
    "sub_type": "Event:location",
    "timestamp": "2020-08-22T04:06:18.846Z",
    "experiment_id": "c6f930a2-357b-4c24-9c4e-42b1c8d9458f",
    "trial_id": "25edd30a-2a4b-4229-9237-1304ea8cc439",
    "replay_id": "a44120f7-b5ba-47a3-8a21-0c76ede62f75",
    "version": "3.0",
    "source": "IHMCLocationMonitorAgent"
  },
  "data": {
    "participant_id": "P000999",
    "callsign": "Blue",
    "mission_timer": "8 : 36",
    "elapsed_milliseconds": 15113,
    "corresponding_observation_number": 6857,
    "locations": [
      {
        "id": "lh_2",
        "name": "Part of Left Hallway"
      },
      {
        "id": "lh",
        "name": "Left Hallway"
      }
    ],
    "connections": [
      {
        "id": "ce_112_77_112_79",
        "connected_locations": [
          "lh_1",
          "lh_2"
        ]
      }
    ],
    "exited_locations": [
      {
        "id": "lh_1",
        "name": "Part of Left Hallway"
      }
    ]
  }

}