Skip to content
LocationAPI.json 149 KiB
Newer Older
      "UserLocationEventSubscription": {
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/_links"
          },
          "address": {
            "description": "Address of user (e.g. ‘sip’ URI, ‘tel’ URI, ‘acr’ URI) to monitor.",
            "format": "uri",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "Uri"
          },
          "callbackReference": {
            "description": "URI exposed by the client on which to receive notifications via HTTP. See note 1.",
            "format": "uri",
            "type": "string",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Uri"
          "clientCorrelator": {
            "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. See note 2.",
            "type": "string",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "expiryDeadline": {
            "$ref": "#/components/schemas/TimeStamp"
          },
          "locationEventCriteria": {
            "description": "List of user event values to generate notifications for (these apply to address specified). ",
Michel Roy's avatar
Michel Roy committed
            "items": {
              "$ref": "#/components/schemas/LocationEventType"
Michel Roy's avatar
Michel Roy committed
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "Array(LocationEventType)"
          },
          "requestTestNotification": {
            "description": "Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4], clause 6.12a.",
            "type": "boolean",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Boolean"
          },
          "subscriptionType": {
            "description": "Shall be set to \"UserLocationEventSubscription\".",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
          },
          "userEventPara": {
            "$ref": "#/components/schemas/UserEventPara"
          },
          "websockNotifConfig": {
            "$ref": "#/components/schemas/WebsockNotifConfig"
          }
        },
        "required": ["subscriptionType", "address"],
        "type": "object",
        "x-etsi-notes": "NOTE 1:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to location server to select an alternative and return only that alternative in the response, as specified in ETSI GS MEC 009 [4], clause 6.12a.\nNOTE 2:\tThis allows the client to recover from communication failures during resource creation and therefore avoids duplicate subscription creation in such situations. In case the element is present, the server shall not alter its value, and shall provide it as part of the representation of this resource. In case the element is not present, the server shall not generate it.",
        "x-etsi-ref": "6.3.4"
      },
      "UserLocationPeriodicSubscription": {
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/_links"
          "address": {
            "description": "Address of user (e.g. ‘sip’ URI, ‘tel’ URI, ‘acr’ URI) to monitor.",
            "format": "uri",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "Uri"
          "callbackReference": {
            "description": "URI exposed by the client on which to receive notifications via HTTP. See note 1.",
            "format": "uri",
            "type": "string",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Uri"
          "clientCorrelator": {
            "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. See note 2.",
            "type": "string",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "expiryDeadline": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/TimeStamp"
          "periodicEventInfo": {
            "$ref": "#/components/schemas/PeriodicEventInfo"
          "requestTestNotification": {
            "description": "Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4], clause 6.12a.",
            "type": "boolean",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Boolean"
          },
          "subscriptionType": {
            "description": "Shall be set to \"UserLocationPeriodicSubscription\".",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
          },
          "websockNotifConfig": {
            "$ref": "#/components/schemas/WebsockNotifConfig"
        "required": ["subscriptionType", "address", "periodicEventInfo"],
Michel Roy's avatar
Michel Roy committed
        "type": "object",
        "x-etsi-notes": "NOTE 1:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to location server to select an alternative and return only that alternative in the response, as specified in ETSI GS MEC 009 [4], clause 6.12a.\nNOTE 2:\tThis allows the client to recover from communication failures during resource creation and therefore avoids duplicate subscription creation in such situations. In case the element is present, the server shall not alter its value, and shall provide it as part of the representation of this resource. In case the element is not present, the server shall not generate it.\nNOTE 3:\tAs specified in [17], clause 6.1.6.2.24.",
        "x-etsi-ref": "6.3.5"
      "PeriodicEventInfo": {
        "description": "NOTE: reportingAmount x reportingInterval shall not exceed 8639999 (99 days, 23 hours, 59 minutes and 59 seconds) for compatibility with OMA MLP and RLP.",
        "type": "object",
        "required": ["reportingAmount", "reportingInterval"],
Michel Roy's avatar
Michel Roy committed
        "properties": {
          "reportingAmount": {
            "description": "Number of event reports",
            "type": "number",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "ReportingAmount"
          "reportingInterval": {
            "description": "Interval of event reports",
            "type": "number",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "reportingInterval"
          }
        }
      },
      "ZoneLocationEventSubscription": {
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/_links"
          "addressList": {
            "description": "List of the users to be monitored. If not present, all the users need to be monitored.",
Michel Roy's avatar
Michel Roy committed
            "items": {
Michel Roy's avatar
Michel Roy committed
            },
            "minItems": 0,
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "Array(Uri)"
          "callbackReference": {
            "description": "URI exposed by the client on which to receive notifications via HTTP. See note 1.",
Michel Roy's avatar
Michel Roy committed
            "format": "uri",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Uri"
          "clientCorrelator": {
            "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. See note 2.",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "expiryDeadline": {
            "$ref": "#/components/schemas/TimeStamp"
          "locationEventCriteria": {
            "description": "List of user event values to generate notifications for. ",
Michel Roy's avatar
Michel Roy committed
            "items": {
              "$ref": "#/components/schemas/LocationEventType"
Michel Roy's avatar
Michel Roy committed
            },
            "minItems": 0,
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "Array(LocationEventType)"
          },
          "reportingCtrl": {
            "$ref": "#/components/schemas/ReportingCtrl"
          },
          "requestTestNotification": {
            "description": "Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4], clause 6.12a.",
            "type": "boolean",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Boolean"
          },
          "subscriptionType": {
            "description": "Shall be set to \"ZoneLocationEventSubscription\".",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
          },
          "websockNotifConfig": {
            "$ref": "#/components/schemas/WebsockNotifConfig"
          },
          "zoneId": {
            "description": "Identifier of zone (e.g. zone001) to monitor.",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
        "required": ["subscriptionType", "zoneId"],
Michel Roy's avatar
Michel Roy committed
        "type": "object",
        "x-etsi-notes": "NOTE 1:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to location server to select an alternative and return only that alternative in the response, as specified in ETSI GS MEC 009 [4], clause 6.12a.\nNOTE 2:\tThis allows the client to recover from communication failures during resource creation and therefore avoids duplicate subscription creation in such situations. In case the element is present, the server shall not alter its value, and shall provide it as part of the representation of this resource. In case the element is not present, the server shall not generate it.",
        "x-etsi-ref": "6.3.6"
      "UserAreaSubscription": {
Michel Roy's avatar
Michel Roy committed
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/_links"
          },
          "addressList": {
            "description": "List of the users to be monitored. ",
Michel Roy's avatar
Michel Roy committed
            "items": {
              "type": "string"
            },
Michel Roy's avatar
Michel Roy committed
            "type": "array",
            "x-etsi-mec-cardinality": "1..N",
            "x-etsi-mec-origin-type": "Array(Uri)"
          "areaDefine": {
            "$ref": "#/components/schemas/AreaInfo"
          "callbackReference": {
            "description": "URI exposed by the client on which to receive notifications via HTTP. See note 1.",
            "format": "uri",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Uri"
          "clientCorrelator": {
            "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. See note 2.",
            "type": "string",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "expiryDeadline": {
            "$ref": "#/components/schemas/TimeStamp"
          "locationEventCriteria": {
            "description": "List of user event values to generate notifications for (these apply to address specified). ",
Michel Roy's avatar
Michel Roy committed
            "items": {
              "$ref": "#/components/schemas/LocationEventType"
Michel Roy's avatar
Michel Roy committed
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "Array(LocationEventType)"
          "reportingCtrl": {
            "$ref": "#/components/schemas/ReportingCtrl"
          "reportingLocationReq": {
            "description": "This IE shall be set to true if a location estimate is required for each event report.",
            "type": "boolean",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "boolean"
          "requestTestNotification": {
            "description": "Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4], clause 6.12a.",
            "type": "boolean",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Boolean"
          },
          "subscriptionType": {
            "description": "Shall be set to \"UserAreaSubscription\".",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
          },
          "trackingAccuracy": {
            "description": "Number of meters of acceptable error.",
            "format": "float",
            "type": "number",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "Float"
          },
          "websockNotifConfig": {
            "$ref": "#/components/schemas/WebsockNotifConfig"
Michel Roy's avatar
Michel Roy committed
          }
        },
        "required": [
          "subscriptionType",
          "areaDefine",
          "addressList",
          "trackingAccuracy"
        "type": "object",
        "x-etsi-notes": "NOTE 1:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to location server to select an alternative and return only that alternative in the response, as specified in ETSI GS MEC 009 [4], clause 6.12a.\nNOTE 2:\tThis allows the client to recover from communication failures during resource creation and therefore avoids duplicate subscription creation in such situations. In case the element is present, the server shall not alter its value, and shall provide it as part of the representation of this resource. In case the element is not present, the server shall not generate it.",
        "x-etsi-ref": "6.3.8"
      "UserDistanceSubscription": {
Michel Roy's avatar
Michel Roy committed
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/_links"
          "callbackReference": {
            "description": "URI exposed by the client on which to receive notifications via HTTP. See note 1.",
Michel Roy's avatar
Michel Roy committed
            "format": "uri",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Uri"
          "checkImmediate": {
            "type": "boolean"
          "clientCorrelator": {
            "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. See note 2.",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          },
          "criteria": {
            "$ref": "#/components/schemas/DistanceCriteria"
          "distance": {
            "description": "Distance between users that shall be monitored. The unit is meter.",
            "format": "float",
            "type": "number",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "Float"
          "expiryDeadline": {
            "$ref": "#/components/schemas/TimeStamp"
          },
          "monitoredAddress": {
            "description": "Contains addresses of users to monitor (e.g., ‘sip’ URI, ‘tel’ URI, ‘acr’ URI). Reference to a group could be provided here if supported by implementation.\nIf the ReferenceAddress is specified, then the distance between each monitored user and reference user(s) will be monitored.\nIf the ReferenceAddress is not present, then the distance between each pair of the monitored users will be monitored. Note that in that case there shall be at least two addresses specified here.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array",
            "x-etsi-mec-cardinality": "1..N",
            "x-etsi-mec-origin-type": "Array(Uri)"
          },
          "referenceAddress": {
            "description": "If specified, indicates address of each user that will be used as reference users from which the distances towards monitored users indicated in the Addresses will be monitored (e.g., ‘sip’ URI, ‘tel’ URI, ‘acr’ URI). Reference to a group could be provided here if supported by implementation.",
Michel Roy's avatar
Michel Roy committed
            "items": {
              "type": "string"
            },
Michel Roy's avatar
Michel Roy committed
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "Array(Uri)"
          },
          "reportingCtrl": {
            "$ref": "#/components/schemas/ReportingCtrl"
          },
          "requestTestNotification": {
            "description": "Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4], clause 6.12a.",
            "type": "boolean",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Boolean"
          },
          "subscriptionType": {
            "description": "Shall be set to \"UserDistanceSubscription\".",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
          },
          "trackingAccuracy": {
            "description": "Number of meters of acceptable error in tracking distance.",
            "format": "float",
            "type": "number",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "Float"
          },
          "websockNotifConfig": {
            "$ref": "#/components/schemas/WebsockNotifConfig"
        "required": [
          "subscriptionType",
          "monitoredAddress",
          "distance",
          "trackingAccuracy",
          "criteria",
          "checkImmediate"
        ],
        "type": "object",
        "x-etsi-notes": "NOTE 1:\tAt least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to location server to select an alternative and return only that alternative in the response, as specified in ETSI GS MEC 009 [4], clause 6.12a.\nNOTE 2:\tThis allows the client to recover from communication failures during resource creation and therefore avoids duplicate subscription creation in such situations. In case the element is present, the server shall not alter its value, and shall provide it as part of the representation of this resource. In case the element is not present, the server shall not generate it.\nNOTE 3:\tAs specified in [6], clause 5.2.3.2.",
        "x-etsi-ref": "6.3.9"
      },
      "DistanceCriteria": {
        "description": "An enumeration, defining the distance criteria between devices.",
        "enum": [
          "AllWithinDistance",
          "AnyWithinDistance",
          "AllBeyondDistance",
          "AnyBeyondDistance"
        ],
        "type": "string"
      "UserDistanceNotification": {
Michel Roy's avatar
Michel Roy committed
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/_links"
          "distanceEvent": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/DistanceCriteria"
          "monitoredUsers": {
            "$ref": "#/components/schemas/UserList"
          "notificationType": {
            "description": "Shall be set to \"UserDistanceNotification\".",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
          "timeStamp": {
            "$ref": "#/components/schemas/TimeStamp"
        "required": [
          "notificationType",
          "monitoredUsers",
          "distanceEvent",
          "_links"
        ],
        "type": "object",
        "x-etsi-notes": "NOTE:\tAs specified in [6], clause 5.2.3.2.",
        "x-etsi-ref": "6.4.9"
      "UserLocationEventNotification": {
Michel Roy's avatar
Michel Roy committed
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/_links"
          "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"
Michel Roy's avatar
Michel Roy committed
          },
          "address": {
            "description": "Address of user (e.g. ‘sip’ URI, ‘tel’ URI, ‘acr’ URI).",
            "format": "uri",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Uri"
          "civicInfo": {
            "$ref": "#/components/schemas/CivicAddress"
          "locationInfo": {
            "$ref": "#/components/schemas/LocationInfo"
          "notificationType": {
            "description": "Shall be set to \"UserLocationEventNotification\".",
            "type": "string",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
          "relativeLocationInfo": {
            "$ref": "#/components/schemas/RelativeLocationInfo"
          },
          "timeStamp": {
            "$ref": "#/components/schemas/TimeStamp"
          },
          "userLocationEvent": {
            "$ref": "#/components/schemas/LocationEventType"
          },
          "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"],
Michel Roy's avatar
Michel Roy committed
        "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"
      "UserLocationPeriodicNotification": {
Michel Roy's avatar
Michel Roy committed
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/_links"
          },
Michel Roy's avatar
Michel Roy committed
          "accessPointId": {
            "description": "The identity of the access point that the user is currently within. \nSee note 2.",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-origin-type": "String"
          },
          "address": {
            "description": "Address of user (e.g. ‘sip’ URI, ‘tel’ URI, ‘acr’ URI).",
Michel Roy's avatar
Michel Roy committed
            "format": "uri",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Uri"
          "civicInfo": {
            "$ref": "#/components/schemas/CivicAddress"
          },
          "isFinalNotification": {
            "description": "Shall be set to true if it is a final notification.",
            "type": "boolean",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Boolean"
          },
          "locationInfo": {
            "$ref": "#/components/schemas/LocationInfo"
          },
          "notificationType": {
            "description": "Shall be set to \"UserLocationPeriodicNotification\".",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-origin-type": "String"
          },
          "relativeLocationInfo": {
            "$ref": "#/components/schemas/RelativeLocationInfo"
          },
          "result": {
            "$ref": "#/components/schemas/NotificationResult"
          },
          "timeStamp": {
            "$ref": "#/components/schemas/TimeStamp"
          },
          "zoneId": {
            "description": "The identity of the zone that the user is currently within. \nSee note 2.",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          }
        },
        "required": ["notificationType", "result", "_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:\tIf the result is SUCCESS, at least one of locationInfo, civicInfo and relativeLocationInfo shall be present.",
        "x-etsi-ref": "6.4.5"
      },
      "ZoneLocationEventNotification": {
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/_links"
          "address": {
            "description": "Address of user (e.g. ‘sip’ URI, ‘tel’ URI, ‘acr’ URI).",
            "format": "uri",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "Uri"
          "notificationType": {
            "description": "Shall be set to \"ZoneLocationEventNotification\".",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/TimeStamp"
          "userLocationEvent": {
            "$ref": "#/components/schemas/LocationEventType"
          },
Michel Roy's avatar
Michel Roy committed
          "zoneId": {
            "description": "The identity of the zone. ",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
          }
        },
        "required": [
          "notificationType",
Michel Roy's avatar
Michel Roy committed
          "address",
          "userLocationEvent",
Michel Roy's avatar
Michel Roy committed
          "zoneId",
Michel Roy's avatar
Michel Roy committed
        ],
        "type": "object",
        "x-etsi-ref": "6.4.6"
      "UserAreaNotification": {
Michel Roy's avatar
Michel Roy committed
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/_links"
          },
          "address": {
            "description": "Address of user (e.g. ‘sip’ URI, ‘tel’ URI, ‘acr’ URI).",
            "format": "uri",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "Uri"
          "civicInfo": {
            "$ref": "#/components/schemas/CivicAddress"
          },
          "locationInfo": {
            "$ref": "#/components/schemas/LocationInfo"
          },
          "notificationType": {
            "description": "Shall be set to \"UserAreaNotification\".",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
          },
          "relativeLocationInfo": {
            "$ref": "#/components/schemas/RelativeLocationInfo"
          },
          "timeStamp": {
            "$ref": "#/components/schemas/TimeStamp"
          },
          "userLocationEvent": {
            "$ref": "#/components/schemas/LocationEventType"
          }
        },
        "required": [
          "notificationType",
          "address",
          "userLocationEvent",
          "_links"
        ],
        "type": "object",
        "x-etsi-notes": "NOTE 1:\tAs specified in [17], clause 6.1.6.2.14.\nNOTE 2:\tAt least one of these attributes shall be present only when reportingLocationReq is set to TRUE in the UserAreaSubscription.",
        "x-etsi-ref": "6.4.8"
      },
      "AreaInfo": {
        "properties": {
          "points": {
            "description": "Shall include one point if the shape is CIRCLE. Shall include 3-15 points if the shape is POLYGON.",
Michel Roy's avatar
Michel Roy committed
            "items": {
              "$ref": "#/components/schemas/Point"
Michel Roy's avatar
Michel Roy committed
            "type": "array",
            "x-etsi-mec-cardinality": "1..N",
            "x-etsi-mec-origin-type": "Array(Point)"
          },
          "radius": {
            "description": "Shall be present if the shape is CIRCLE.",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "UnsignedInt"
          },
          "shape": {
            "description": "The shape of the area monitored: 1 = CIRCLE. 2 = POLYGON",
            "enum": ["SEE_DESCRIPTION"],
            "type": "integer",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "Enum(inlined)"
        "required": ["shape", "points"],
        "type": "object",
        "x-etsi-ref": "6.5.7"
Michel Roy's avatar
Michel Roy committed
        "properties": {
          "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-ref": "6.5.8"
      },
      "ReportingCtrl": {
        "properties": {
          "maximumCount": {
            "description": "Maximum number of notifications. For no maximum, either do not include this element or specify a value of zero. Default value is 0.",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "UnsignedInt"
          "maximumFrequency": {
            "description": "Maximum frequency (in seconds) of notifications per subscription.",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "UnsignedInt"
          },
          "minimumInterval": {
            "description": "Minimum interval between reports in case frequently reporting. Unit is second.",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "UnsignedInt"
          }
        },
        "type": "object",
        "x-etsi-ref": "6.5.6"
      },
      "_links": {
        "description": "Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.",
        "properties": {
          "self": {
            "$ref": "#/components/schemas/LinkType"
          }
        },
        "required": ["self"],
        "type": "object",
        "x-etsi-mec-cardinality": "0..1",
        "x-etsi-mec-origin-type": "Structure (inlined)"
      },
      "UserEventPara": {
        "properties": {
          "accessPointList": {
            "description": "One or more access points forming a monitoring area that could be any shape. See note 1.",
            "items": {
              "type": "string"
            },
            "minItems": 0,
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "Array(String)"
          },
          "occurrenceInfo": {
            "$ref": "#/components/schemas/OccurrenceInfo"
          },
          "reportingLocationReq": {
            "description": "This IE shall be set to true if a location estimate is required for each event report.",
            "type": "boolean",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "boolean"
          },
          "zoneId": {
            "description": "Identifier of zone (e.g. zone001) to monitor. See note 1.",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          }
        },
        "type": "object",
        "x-etsi-notes": "NOTE 1:\tOnly one of accessPointList and zoneId may be present.\nNOTE 2:\tAs specified in [17], clause 6.1.6.3.16.",
        "x-etsi-ref": "6.5.5"
      },
      "WebsockNotifConfig": {
        "properties": {
          "requestWebsocketUri": {
            "description": "Set to true by the service consumer to indicate that Websocket delivery is requested.",
            "type": "boolean",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Boolean"
          "websocketUri": {
            "description": "Set by location server to indicate to the service consumer the Websocket URI to be used for delivering notifications.",
            "format": "uri",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Uri"
          }
        },
        "type": "object",
        "x-etsi-ref": "6.5.4"
      },
      "TestNotification": {
        "properties": {
          "_links": {
            "$ref": "#/components/schemas/_links"
          "notificationType": {
            "description": "Shall be set to \"TestNotification\".",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "String"
        "required": ["notificationType", "_links"],
        "type": "object",
        "x-etsi-ref": "6.4.3"
      "LocationEventType": {
        "description": "This type represents specified event types for UE location report.",
        "enum": ["ENTERING_AREA_EVENT", "LEAVING_AREA_EVENT"],
        "type": "string"
      },
      "NotificationResult": {
        "description": "This enumeration represents the result of a localization associated with a notification",
        "enum": ["SUCCESS", "ABNORMAL"],
        "type": "string"
      },
      "OccurrenceInfo": {
        "description": "The enumeration OccurrenceInfo indicates whether event reporting is one time.",
        "enum": ["ONE_TIME_EVENT", "MULTIPLE_TIME_EVENT"],
        "type": "string"
      },
      "CivicAddress": {
        "description": "Indicates a Civic address",
        "type": "object",
        "required": ["country"],
Michel Roy's avatar
Michel Roy committed
        "properties": {
          "country": {
            "description": "The two-letter ISO 3166 country code in capital ASCII letters, e.g., DE or US",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "String"
          "A1": {
            "description": "National subdivisions (state, canton, region, province, prefecture)",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "A2": {
            "description": "County, parish, gun (JP), district (IN)",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "A3": {
            "description": "City, township, shi (JP)",
Michel Roy's avatar
Michel Roy committed
            "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",
Michel Roy's avatar
Michel Roy committed
            "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",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "STS": {
            "description": "Street suffix or type",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "HNO": {
            "description": "House number",
            "type": "string",
Michel Roy's avatar
Michel Roy committed
            "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",
Michel Roy's avatar
Michel Roy committed
            "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)",
Michel Roy's avatar
Michel Roy committed
            "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)",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "FLR": {
            "description": "Floor",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          },
          "ROOM": {
            "description": "Room",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "PLC": {
            "description": "Place-type",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "PCN": {
            "description": "Postal community name",
Michel Roy's avatar
Michel Roy committed
            "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",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "SEAT": {
            "description": "Seat (desk, cubicle, workstation)",
            "type": "string",
Michel Roy's avatar
Michel Roy committed
            "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",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "RDSUBBR": {
            "description": "Road sub-branch",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "PRM": {
            "description": "Road pre-modifier",
            "type": "string",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          "POM": {
            "description": "Road post-modifier",
            "type": "string",
Michel Roy's avatar
Michel Roy committed
            "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.",
Michel Roy's avatar
Michel Roy committed
            "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.",
Michel Roy's avatar
Michel Roy committed
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"