{ "type": "object", "properties": { "userInfo": { "properties": { "accessPointId": { "description": "The identity of the access point the user is currently on, see note 1.", "type": "string", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "String" }, "address": { "description": "Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently on the access point, see note 1.", "format": "uri", "type": "string", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "AnyURI" }, "ancillaryInfo": { "description": "Reserved for future use.", "type": "string", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "String" }, "contextLocationInfo": { "description": "Contextual information of a user location (e.g. aisle, floor, room number, etc.).", "type": "string", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "String" }, "locationInfo": { "properties": { "accuracy": { "description": "Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 4, 5 or 6", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "UnsignedInt" }, "accuracyAltitude": { "description": "Altitude accuracy / uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 3 or 4", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "UnsignedInt" }, "accuracySemiMinor": { "description": "Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 4, 5 or 6", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "UnsignedInt" }, "altitude": { "description": "Location altitude relative to the WGS84 ellipsoid surface.", "format": "float", "type": "number", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "Float" }, "confidence": { "description": "Confidence by which the position of a target entity is known to be within the shape description, expressed as a percentage and defined in [14]. Present only if \"shape\" equals 1, 4 or 6", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "UnsignedInt" }, "includedAngle": { "description": "Present only if \"shape\" equals 6", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "UnsignedInt" }, "innerRadius": { "description": "Present only if \"shape\" equals 6", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "UnsignedInt" }, "latitude": { "description": "Location latitude, expressed in the range -90 deg to +90 deg. Cardinality greater than one only if \"shape\" equals 7.", "items": { "format": "float", "type": "number" }, "minItems": 1, "type": "array", "x-etsi-mec-cardinality": "1..N", "x-etsi-mec-origin-type": "Float" }, "longitude": { "description": "Location longitude, expressed in the range -180 deg to +180 deg. Cardinality greater than one only if \"shape\" equals 7.", "items": { "format": "float", "type": "number" }, "minItems": 1, "type": "array", "x-etsi-mec-cardinality": "1..N", "x-etsi-mec-origin-type": "Float" }, "offsetAngle": { "description": "Present only if \"shape\" equals 6", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "UnsignedInt" }, "orientationMajorAxis": { "description": "Angle of orientation of the major axis, expressed in the range 0 deg to 180 deg, as defined in [14]. Present only if \"shape\" equals 4 or 6", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "UnsignedInt" }, "shape": { "description": "Shape information, as detailed in [14], associated with the reported location coordinate:

1 = ELLIPSOID_ARC

2 = ELLIPSOID_POINT

3 = ELLIPSOID_POINT_ALTITUDE

4 = ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID

5 = ELLIPSOID_POINT_UNCERT_CIRCLE

6 = ELLIPSOID_POINT_UNCERT_ELLIPSE

7 = POLYGON", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Enum_inlined" }, "timestamp": { "properties": { "nanoSeconds": { "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", "format": "int32", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, "seconds": { "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", "format": "int32", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" } }, "required": [ "seconds", "nanoSeconds" ], "type": "object", "x-etsi-ref": "6.5.2" }, "uncertaintyRadius": { "description": "Present only if \"shape\" equals 6", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "UnsignedInt" }, "velocity": { "description": "Structure with attributes relating to the target entity's velocity, as defined in [14].", "properties": { "bearing": { "description": "Bearing, expressed in the range 0 deg to 360 deg, as defined in [14].", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "UnsignedInt" }, "horizontalSpeed": { "description": "Horizontal speed, expressed in km/h and defined in [14].", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "UnsignedInt" }, "uncertainty": { "description": "Horizontal uncertainty, as defined in [14]. Present only if \"velocityType\" equals 3 or 4", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "UnsignedInt" }, "velocityType": { "description": "Velocity information, as detailed in [14], associated with the reported location coordinate:

1 = HORIZONTAL

2 = HORIZONTAL_VERTICAL

3 = HORIZONTAL_UNCERT

4 = HORIZONTAL_VERTICAL_UNCERT", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Enum_inlined" }, "verticalSpeed": { "description": "Vertical speed, expressed in km/h and defined in [14]. Present only if \"velocityType\" equals 2 or 4", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "Int" }, "verticalUncertainty": { "description": "Vertical uncertainty, as defined in [14]. Present only if \"velocityType\" equals 4", "type": "integer", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "UnsignedInt" } }, "required": [ "velocityType", "bearing", "horizontalSpeed" ], "type": "object", "x-etsi-mec-cardinality": "0..1", "x-etsi-mec-origin-type": "Structure (inlined)" } }, "required": [ "latitude", "longitude", "shape" ], "type": "object", "x-etsi-ref": "6.5.3" }, "resourceURL": { "description": "Self-referring URL, see note 1.", "type": "string", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "String" }, "timestamp": { "properties": { "nanoSeconds": { "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", "format": "int32", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, "seconds": { "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", "format": "int32", "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" } }, "required": [ "seconds", "nanoSeconds" ], "type": "object", "x-etsi-ref": "6.5.2" }, "zoneId": { "description": "The identity of the zone the user is currently within, see note 1.", "type": "string", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "String" } }, "required": [ "address", "accessPointId", "zoneId", "resourceURL", "timestamp" ], "type": "object", "x-etsi-notes": "NOTE 1:\tAs specified in [5], clause 5.2.2.7.\nNOTE 2: \tAs specified in [5], clause 5.2.2.5.", "x-etsi-ref": "6.2.2" } } }