{
  "properties": {
    "_links": {
      "description": "Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.",
      "properties": {
        "subscription": {
          "properties": {
            "href": {
              "description": "URI referring to a resource.",
              "format": "uri",
              "type": "string",
              "x-etsi-mec-cardinality": "1",
              "x-etsi-mec-origin-type": "Uri"
            }
          },
          "required": [
            "href"
          ],
          "type": "object",
          "x-etsi-ref": "6.7.2"
        }
      },
      "required": [
        "subscription"
      ],
      "type": "object",
      "x-etsi-mec-cardinality": "0..1",
      "x-etsi-mec-origin-type": "Structure (inlined)"
    },
    "accessPointId": {
      "description": "The identity of the access point.\nFor the events of \"ENTERING_AREA_EVENT\", it indicates the access point that the user is currently within. \nFor the event of \"LEAVING_AREA_EVENT\", it indicates the access point that the user used to be within.\nSee note 2.",
      "type": "string",
      "x-etsi-mec-cardinality": "0..1",
      "x-etsi-mec-origin-type": "String"
    },
    "address": {
      "description": "Address of user (e.g. ‘sip’ URI, ‘tel’ URI, ‘acr’ URI).",
      "format": "uri",
      "type": "string",
      "x-etsi-mec-cardinality": "0..1",
      "x-etsi-mec-origin-type": "Uri"
    },
    "civicInfo": {
      "description": "Indicates a Civic address",
      "type": "object",
      "required": [
        "country"
      ],
      "properties": {
        "country": {
          "description": "The two-letter ISO 3166 country code in capital ASCII letters, e.g., DE or US",
          "type": "string",
          "x-etsi-mec-cardinality": 1,
          "x-etsi-mec-origin-type": "String"
        },
        "A1": {
          "description": "National subdivisions (state, canton, region, province, prefecture)",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "A2": {
          "description": "County, parish, gun (JP), district (IN)",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "A3": {
          "description": "City, township, shi (JP)",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "A4": {
          "description": "City division, borough, city district, ward, chou (JP)",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "A5": {
          "description": "Neighbourhood, block",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "A6": {
          "description": "Group of streets below the neighbourhood level",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "PRD": {
          "description": "Leading street direction",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "POD": {
          "description": "Trailing street suffix",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "STS": {
          "description": "Street suffix or type",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "HNO": {
          "description": "House number",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "HNS": {
          "description": "House number suffix",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "LMK": {
          "description": "Landmark or vanity address",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "LOC": {
          "description": "Additional location information",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "NAM": {
          "description": "Name (residence and office occupant)",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "PC": {
          "description": "Postal/zip code",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "BLD": {
          "description": "Building (structure)",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "UNIT": {
          "description": "Unit (apartment, suite)",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "FLR": {
          "description": "Floor",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "ROOM": {
          "description": "Room",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "PLC": {
          "description": "Place-type",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "PCN": {
          "description": "Postal community name",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "POBOX": {
          "description": "Post office box (P.O. box)",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "ADDCODE": {
          "description": "Additional code",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "SEAT": {
          "description": "Seat (desk, cubicle, workstation)",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "RD": {
          "description": "Primary road or street",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "RDSEC": {
          "description": "Road clause",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "RDBR": {
          "description": "Road branch",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "RDSUBBR": {
          "description": "Road sub-branch",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "PRM": {
          "description": "Road pre-modifier",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "POM": {
          "description": "Road post-modifier",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "usageRules": {
          "description": "When present, this IE shall carry the value of \"usagerules\" Element of the PIDL-LO XML document, with UTF-8 encoding.",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "method": {
          "description": "When present, this IE shall contain the method token, carried by the \"method\" Element of the PIDLLO XML document.",
          "type": "string",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "String"
        },
        "providedBy": {
          "description": "When present, this IE shall carry the value of \"provided-by\" Element of the PIDL-LO XML document, with UTF-8 encoding.",
          "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° to +90°. Cardinality greater than one only if \"shape\" equals 7.",
          "format": "float",
          "items": {
            "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° to +180°. Cardinality greater than one only if \"shape\" equals 7.",
          "format": "float",
          "items": {
            "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° to 180°, 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",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7
          ],
          "type": "integer",
          "x-etsi-mec-cardinality": "1",
          "x-etsi-mec-origin-type": "Enum_inlined"
        },
        "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° to 360°, 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",
              "enum": [
                1,
                2,
                3,
                4
              ],
              "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"
    },
    "notificationType": {
      "description": "Shall be set to \"UserLocationEventNotification\".",
      "type": "string",
      "x-etsi-mec-cardinality": "1",
      "x-etsi-mec-origin-type": "String"
    },
    "relativeLocationInfo": {
      "properties": {
        "X": {
          "description": "Indicates the value (in the unit of meters) on x-axis of the relative location in the Cartesian system. Positive value represents easting from origin.",
          "format": "float",
          "type": "number",
          "x-etsi-mec-cardinality": "1",
          "x-etsi-mec-origin-type": "Float"
        },
        "Y": {
          "description": "Indicates the value (in the unit of meters) on y-axis of the relative location in the Cartesian system. Positive value represents northing from origin.",
          "format": "float",
          "type": "number",
          "x-etsi-mec-cardinality": "1",
          "x-etsi-mec-origin-type": "Float"
        },
        "Z": {
          "description": "Indicates the value (in the unit of meters) on z-axis of the relative location in the Cartesian system for a 3DPoint. Positive value represents height above origin.",
          "format": "float",
          "type": "number",
          "x-etsi-mec-cardinality": "0..1",
          "x-etsi-mec-origin-type": "Float"
        },
        "mapInfo": {
          "properties": {
            "ancillaryMapInfo": {
              "description": "Ancillary map information may be used to convert coordinates between different coordinate systems.",
              "type": "object",
              "x-etsi-mec-cardinality": "0..1",
              "x-etsi-mec-origin-type": "Not_specified"
            },
            "mapId": {
              "description": "Indicates the ID of the map. ",
              "type": "string",
              "x-etsi-mec-cardinality": "1",
              "x-etsi-mec-origin-type": "String"
            },
            "origin": {
              "description": "Indicates the location of the map origin in the local Cartesian coordinate system.",
              "properties": {
                "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"
                },
                "latitude": {
                  "description": "Location latitude, expressed in the range -90° to +90°.",
                  "format": "float",
                  "type": "number",
                  "x-etsi-mec-cardinality": "1",
                  "x-etsi-mec-origin-type": "Float"
                },
                "longitude": {
                  "description": "Location longitude, expressed in the range -180° to +180°.",
                  "format": "float",
                  "type": "number",
                  "x-etsi-mec-cardinality": "1",
                  "x-etsi-mec-origin-type": "Float"
                }
              },
              "required": [
                "latitude",
                "longitude"
              ],
              "type": "object",
              "x-etsi-mec-cardinality": "0..1",
              "x-etsi-mec-origin-type": "Structure(inlined)"
            }
          },
          "required": [
            "mapId"
          ],
          "type": "object",
          "x-etsi-ref": "6.2.4"
        }
      },
      "required": [
        "mapInfo",
        "X",
        "Y"
      ],
      "type": "object",
      "x-etsi-ref": "6.2.3"
    },
    "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": "uint32",
          "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": "uint32",
          "type": "integer",
          "x-etsi-mec-cardinality": "1",
          "x-etsi-mec-origin-type": "Uint32"
        }
      },
      "required": [
        "seconds",
        "nanoSeconds"
      ],
      "type": "object",
      "x-etsi-ref": "6.5.2"
    },
    "userLocationEvent": {
      "description": "This type represents specified event types for UE location report.",
      "enum": [
        "ENTERING_AREA_EVENT",
        "LEAVING_AREA_EVENT"
      ],
      "type": "string"
    },
    "zoneId": {
      "description": "The identity of the zone. \nFor the events of \"ENTERING_AREA_EVENT\", it is the zone that the user is currently within. \nFor the event of \"LEAVING_AREA_EVENT\", it is the zone that the user used to be within.\nSee note 2.",
      "type": "string",
      "x-etsi-mec-cardinality": "0..1",
      "x-etsi-mec-origin-type": "String"
    }
  },
  "required": [
    "notificationType",
    "userLocationEvent",
    "_links"
  ],
  "type": "object",
  "x-etsi-notes": "NOTE 1:\tAs specified in [17], clause 6.1.6.2.14.\nNOTE 2:\tAs specified in [5], clause 5.2.2.7.\nNOTE 3:\tAt least one of these attributes shall be present only when reportingLocationReq is set to TRUE in the UserLocationEventSubscription.",
  "x-etsi-ref": "6.4.4"
}