LocationAPI.json 152 KB
Newer Older
        "required": ["zoneId", "resourceURL"],
Michel Roy's avatar
Michel Roy committed
        "type": "object"
      },
      "CallbackReference": {
        "properties": {
          "callbackData": {
            "description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "string"
          },
          "notificationFormat": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/NotificationFormat"
Michel Roy's avatar
Michel Roy committed
          },
          "notifyURL": {
            "description": "Notify Callback URL",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "anyURI"
          }
        },
        "required": ["notifyURL"],
Michel Roy's avatar
Michel Roy committed
        "type": "object"
      },
      "CircleNotificationSubscription": {
        "description": "A type containing data for notifications, when the area is defined as a circle.",
        "properties": {
          "address": {
            "description": "Address of terminals to monitor (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "1..N",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "callbackReference": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/CallbackReference"
Michel Roy's avatar
Michel Roy committed
          },
          "checkImmediate": {
            "description": "Check location immediately after establishing notification.",
            "type": "boolean",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-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.",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "string"
          },
          "count": {
            "description": "Maximum number of notifications per individual address. 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": "int"
          },
          "duration": {
            "description": "Period of time (in seconds) notifications are provided for. If set to “0” (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "int"
          },
          "enteringLeavingCriteria": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/EnteringLeavingCriteria"
Michel Roy's avatar
Michel Roy committed
          },
          "frequency": {
            "description": "Maximum frequency (in seconds) of notifications per subscription (can also be considered minimum time between notifications).",
            "type": "integer",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "int"
          },
          "latitude": {
            "description": "Latitude of center point.",
            "format": "float",
            "type": "number",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "float"
          },
          "link": {
            "description": "Link to other resources that are in relationship with the resource.",
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "Link"
          },
          "longitude": {
            "description": "Longitude of center point.",
            "format": "float",
            "type": "number",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "float"
          },
          "radius": {
            "description": "Radius circle around center point in meters.",
            "format": "float",
            "type": "number",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "float"
          },
          "requester": {
            "description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "resourceURL": {
            "description": "Self referring URL",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "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"
          }
        },
        "required": [
          "callbackReference",
          "address",
          "latitude",
          "longitude",
          "radius",
          "trackingAccuracy",
          "enteringLeavingCriteria",
          "checkImmediate",
          "frequency"
        ],
        "type": "object"
      },
      "ConnectionType": {
        "description": "The connection type for the access point",
        "enum": [
          "Femto",
          "LTE-femto",
          "Smallcell",
          "LTE-smallcell",
          "Wifi",
          "Pico",
          "Micro",
          "Macro",
          "Wimax",
          "Unknown"
        ],
        "type": "string"
      },
      "DistanceCriteria": {
        "enum": [
          "AllWithinDistance",
          "AnyWithinDistance",
          "AllBeyondDistance",
          "AnyBeyondDistance"
        ],
        "type": "string"
      },
      "DistanceNotificationSubscription": {
        "description": "A type containing data for distance subscription, with reference to other devices.",
        "properties": {
          "callbackReference": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/CallbackReference"
Michel Roy's avatar
Michel Roy committed
          },
          "checkImmediate": {
            "description": "Check location immediately after establishing notification.",
            "type": "boolean",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-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.",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "string"
          },
          "count": {
            "description": "Maximum number of notifications per individual address. 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": "int"
          },
          "criteria": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/DistanceCriteria"
Michel Roy's avatar
Michel Roy committed
          },
          "distance": {
            "description": "Distance between devices that shall be monitored.",
            "format": "float",
            "type": "number",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "float"
          },
          "duration": {
            "description": "Period of time (in seconds) notifications are provided for. If set to “0” (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "int"
          },
          "frequency": {
            "description": "Maximum frequency (in seconds) of notifications per subscription (can also be considered minimum time between notifications).",
            "type": "integer",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "int"
          },
          "link": {
            "description": "Link to other resources that are in relationship with the resource.",
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "Link"
          },
          "monitoredAddress": {
            "description": "Contains addresses of devices to monitor (e.g., 'sip' URI, 'tel' URI, 'acr' URI)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "1..N",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "referenceAddress": {
            "description": "Indicates address of each device that will be used as reference devices from which the distances towards monitored devices indicated in the Addresses will be monitored (e.g., 'sip' URI, 'tel' URI, 'acr' URI)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "requester": {
            "description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "resourceURL": {
            "description": "Self referring URL",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "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"
          }
        },
        "required": [
          "callbackReference",
          "monitoredAddress",
          "distance",
          "trackingAccuracy",
          "criteria",
          "checkImmediate",
          "frequency"
        ],
        "type": "object"
      },
      "EnteringLeavingCriteria": {
        "enum": ["Entering", "Leaving"],
Michel Roy's avatar
Michel Roy committed
        "type": "string"
      },
      "Link": {
        "description": "Link to other resources",
        "properties": {
          "href": {
            "description": "URI",
            "format": "anyURI",
            "type": "string"
          },
          "rel": {
            "description": "Describes the relationship between the URI and the resource.",
            "type": "string"
          }
        },
        "required": ["rel", "href"],
Michel Roy's avatar
Michel Roy committed
        "type": "object"
      },
      "LocationInfo": {
        "properties": {
          "accuracy": {
            "description": "Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in ETSI TS 123 032 [14]. Present only if \"shape\" equals 4, 5 or 6",
Michel Roy's avatar
Michel Roy committed
            "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 ETSI TS 123 032 [14]. Present only if \"shape\" equals 3 or 4",
Michel Roy's avatar
Michel Roy committed
            "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 ETSI TS 123 032 [14]. Present only if \"shape\" equals 4, 5 or 6",
Michel Roy's avatar
Michel Roy committed
            "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 ETSI TS 123 032 [14]. Present only if \"shape\" equals 1, 4 or 6",
Michel Roy's avatar
Michel Roy committed
            "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.",
            "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° to +180°. 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° to 180°, as defined in ETSI TS 123 032 [14]. Present only if \"shape\" equals 4 or 6",
Michel Roy's avatar
Michel Roy committed
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "UnsignedInt"
          },
          "shape": {
            "description": "Shape information, as detailed in ETSI TS 123 032 [14], associated with the reported location coordinate: <p>1 = ELLIPSOID_ARC <p>2 = ELLIPSOID_POINT <p>3 = ELLIPSOID_POINT_ALTITUDE <p>4 = ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID <p>5 = ELLIPSOID_POINT_UNCERT_CIRCLE <p>6 = ELLIPSOID_POINT_UNCERT_ELLIPSE <p>7 = POLYGON",
Michel Roy's avatar
Michel Roy committed
            "type": "integer",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "Enum_inlined"
          },
          "timestamp": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/TimeStamp"
Michel Roy's avatar
Michel Roy committed
          },
          "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 ETSI TS 123 032 [14].",
Michel Roy's avatar
Michel Roy committed
            "properties": {
              "bearing": {
                "description": "Bearing, expressed in the range 0° to 360°, as defined in ETSI TS 123 032 [14].",
Michel Roy's avatar
Michel Roy committed
                "type": "integer",
                "x-etsi-mec-cardinality": "1",
                "x-etsi-mec-origin-type": "UnsignedInt"
              },
              "horizontalSpeed": {
                "description": "Horizontal speed, expressed in km/h and defined in ETSI TS 123 032 [14].",
Michel Roy's avatar
Michel Roy committed
                "type": "integer",
                "x-etsi-mec-cardinality": "1",
                "x-etsi-mec-origin-type": "UnsignedInt"
              },
              "uncertainty": {
                "description": "Horizontal uncertainty, as defined in ETSI TS 123 032 [14]. Present only if \"velocityType\" equals 3 or 4",
Michel Roy's avatar
Michel Roy committed
                "type": "integer",
                "x-etsi-mec-cardinality": "0..1",
                "x-etsi-mec-origin-type": "UnsignedInt"
              },
              "velocityType": {
                "description": "Velocity information, as detailed in ETSI TS 123 032 [14], associated with the reported location coordinate: <p>1 = HORIZONTAL <p>2 = HORIZONTAL_VERTICAL <p>3 = HORIZONTAL_UNCERT <p>4 = HORIZONTAL_VERTICAL_UNCERT",
Michel Roy's avatar
Michel Roy committed
                "type": "integer",
Michel Roy's avatar
Michel Roy committed
                "x-etsi-mec-cardinality": "1",
                "x-etsi-mec-origin-type": "Enum_inlined"
              },
              "verticalSpeed": {
                "description": "Vertical speed, expressed in km/h and defined in ETSI TS 123 032 [14]. Present only if \"velocityType\" equals 2 or 4",
Michel Roy's avatar
Michel Roy committed
                "type": "integer",
                "x-etsi-mec-cardinality": "0..1",
                "x-etsi-mec-origin-type": "Int"
              },
              "verticalUncertainty": {
                "description": "Vertical uncertainty, as defined in ETSI TS 123 032 [14]. Present only if \"velocityType\" equals 4",
Michel Roy's avatar
Michel Roy committed
                "type": "integer",
                "x-etsi-mec-cardinality": "0..1",
                "x-etsi-mec-origin-type": "UnsignedInt"
              }
            },
            "required": ["velocityType", "bearing", "horizontalSpeed"],
Michel Roy's avatar
Michel Roy committed
            "type": "object",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Structure (inlined)"
          }
        },
        "required": ["latitude", "longitude", "shape"],
Michel Roy's avatar
Michel Roy committed
        "type": "object",
        "x-etsi-ref": "6.5.3"
      },
      "NotificationFormat": {
        "enum": ["XML", "JSON"],
Michel Roy's avatar
Michel Roy committed
        "type": "string"
      },
      "NotificationSubscriptionList": {
        "properties": {
          "circleNotificationSubscription": {
            "description": "Collection of CircleNotificationSubscription elements, see note 2.",
            "items": {
              "$ref": "#/components/schemas/CircleNotificationSubscription"
            },
            "minItems": 0,
            "type": "array",
            "x-etsi-mec-cardinality": "0.. N",
            "x-etsi-mec-origin-type": "CircleNotificationSubscription"
          },
          "distanceNotificationSubscription": {
            "description": "Collection of DistanceNotificationSubscription elements, see note 2.",
            "items": {
              "$ref": "#/components/schemas/DistanceNotificationSubscription"
            },
            "minItems": 0,
            "type": "array",
            "x-etsi-mec-cardinality": "0.. N",
            "x-etsi-mec-origin-type": "DistanceNotificationSubscription"
          },
          "periodicNotificationSubscription": {
            "description": "Collection of PeriodicNotificationSubscription elements, see note 2.",
            "items": {
              "$ref": "#/components/schemas/PeriodicNotificationSubscription"
            },
            "minItems": 0,
            "type": "array",
            "x-etsi-mec-cardinality": "0.. N",
            "x-etsi-mec-origin-type": "PeriodicNotificationSubscription"
          },
          "resourceURL": {
            "description": "Self-referring URL, see note 1.",
            "format": "uri",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "AnyURI"
          },
          "userTrackingSubscription": {
            "description": "Collection of UserTrackingSubscription elements, see note 1.",
            "items": {
              "$ref": "#/components/schemas/UserTrackingSubscription"
            },
            "minItems": 0,
            "type": "array",
            "x-etsi-mec-cardinality": "0.. N",
            "x-etsi-mec-origin-type": "UserTrackingSubscription"
          },
          "zonalTrafficSubscription": {
            "description": "Collection of ZonalTrafficSubscription elements, see note 1.",
            "items": {
              "$ref": "#/components/schemas/ZonalTrafficSubscription"
            },
            "minItems": 0,
            "type": "array",
            "x-etsi-mec-cardinality": "0.. N",
            "x-etsi-mec-origin-type": "ZonalTrafficSubscription"
          },
          "zoneStatusSubscription": {
            "description": "Collection of ZoneStatusSubscription elements, see note 1.",
            "items": {
              "$ref": "#/components/schemas/ZoneStatusSubscription"
            },
            "minItems": 0,
            "type": "array",
            "x-etsi-mec-cardinality": "0.. N",
            "x-etsi-mec-origin-type": "ZoneStatusSubscription"
          }
        },
        "required": ["resourceURL"],
Michel Roy's avatar
Michel Roy committed
        "type": "object",
        "x-etsi-notes": "NOTE 1:\tAs specified in [5], clause 5.2.2.8.\nNOTE 2: \tAs specified in [6], clause 5.2.2.7.",
        "x-etsi-ref": "6.3.3"
      },
      "OperationStatus": {
        "enum": ["Serviceable", "Unserviceable", "Unknown"],
Michel Roy's avatar
Michel Roy committed
        "type": "string"
      },
      "PeriodicNotificationSubscription": {
        "description": "A type containing data for periodic subscription.",
        "properties": {
          "address": {
            "description": "Address of terminals to monitor (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "1..N",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "callbackReference": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/CallbackReference"
Michel Roy's avatar
Michel Roy committed
          },
          "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.",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "string"
          },
          "duration": {
            "description": "Period of time (in seconds) notifications are provided for. If set to “0” (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "int"
          },
          "frequency": {
            "description": "Maximum frequency (in seconds) of notifications (can also be considered minimum time between notifications) per subscription.",
            "type": "integer",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "int"
          },
          "link": {
            "description": "Link to other resources that are in relationship with the resource.",
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "Link"
          },
          "requestedAccuracy": {
            "description": "Accuracy of the provided distance in meters.",
            "type": "integer",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "int"
          },
          "requester": {
            "description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "resourceURL": {
            "description": "Self referring URL",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "anyURI"
          }
        },
        "required": [
          "callbackReference",
          "address",
          "requestedAccuracy",
          "frequency"
        ],
        "type": "object"
      },
      "ProblemDetails": {
        "properties": {
          "detail": {
            "description": "A human-readable explanation specific to this occurrence of the problem",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          },
          "instance": {
            "description": "A URI reference that identifies the specific occurrence of the problem",
            "format": "uri",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "URI"
          },
          "status": {
            "description": "The HTTP status code for this occurrence of the problem",
            "format": "uint32",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "Uint32"
          },
          "title": {
            "description": "A short, human-readable summary of the problem type",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "String"
          },
          "type": {
            "description": "A URI reference according to IETF RFC 3986 that identifies the problem type",
            "format": "uri",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "URI"
          }
        },
        "type": "object"
      },
      "RetrievalStatus": {
        "enum": ["Retrieved", "NotRetrieved", "Error"],
Michel Roy's avatar
Michel Roy committed
        "type": "string"
      },
      "ServiceError": {
        "description": "used to indicate a notification termination or cancellation.",
        "properties": {
          "messageId": {
            "description": "Message identifier, either with prefix SVC or with prefix POL",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "string"
          },
          "text": {
            "description": "Message text, with replacement variables marked with %n, where n is an index into the list of <variables> elements, starting at 1",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "string"
          },
          "variables": {
            "description": "Variables to substitute into text string",
            "items": {
              "type": "string"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "string"
          }
        },
        "required": ["messageId", "text"],
Michel Roy's avatar
Michel Roy committed
        "type": "object"
      },
      "SubscriptionNotification": {
        "description": "A type containing the notification subscription.",
        "properties": {
          "callbackData": {
            "description": "CallbackData if passed by the application in the receiptRequest element during the associated subscription operation",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "string"
          },
          "distanceCriteria": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/DistanceCriteria"
Michel Roy's avatar
Michel Roy committed
          },
          "enteringLeavingCriteria": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/EnteringLeavingCriteria"
Michel Roy's avatar
Michel Roy committed
          },
          "isFinalNotification": {
            "description": "Set to true if it is a final notification about location change.",
            "type": "boolean",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "boolean"
          },
          "link": {
            "description": "Link to other resources that are in relationship with the resource.",
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "Link"
          },
          "terminalLocation": {
            "description": "Collection of the terminal locations.",
            "items": {
              "$ref": "#/components/schemas/TerminalLocation"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "1..N",
            "x-etsi-mec-origin-type": "TerminalLocation"
          }
        },
        "required": ["terminalLocation"],
Michel Roy's avatar
Michel Roy committed
        "type": "object"
      },
      "TerminalDistance": {
        "description": "A type containing information about the distance from a terminal to a location or between two terminals, in addition the accuracy and a timestamp of the information are provided.",
        "properties": {
          "accuracy": {
            "description": "Accuracy of the provided distance in meters",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "integer"
          },
          "distance": {
            "description": "Distance from terminal to a location or between two terminals specified in meters",
            "type": "integer",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "integer"
          },
          "timestamp": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/TimeStamp"
        "required": ["distance"],
Michel Roy's avatar
Michel Roy committed
        "type": "object"
      },
      "TerminalLocation": {
        "description": "A type containing device address, retrieval status and location information.",
        "properties": {
          "address": {
            "description": "Address of the terminal to which the location information applies (e.g., 'sip' URI, 'tel' URI, 'acr' URI).",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "anyURI"
          },
          "currentLocation": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/LocationInfo"
Michel Roy's avatar
Michel Roy committed
          },
          "errorInformation": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/ServiceError"
Michel Roy's avatar
Michel Roy committed
          },
          "locationRetrievalStatus": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/RetrievalStatus"
        "required": ["address", "locationRetrievalStatus"],
Michel Roy's avatar
Michel Roy committed
        "type": "object"
      },
      "TimeStamp": {
        "properties": {
          "nanoSeconds": {
            "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.",
Michel Roy's avatar
Michel Roy committed
            "format": "uint32",
Michel Roy's avatar
Michel Roy committed
            "type": "integer",
Michel Roy's avatar
Michel Roy committed
            "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.",
Michel Roy's avatar
Michel Roy committed
            "format": "uint32",
Michel Roy's avatar
Michel Roy committed
            "type": "integer",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "Uint32"
          }
        },
        "required": ["seconds", "nanoSeconds"],
Michel Roy's avatar
Michel Roy committed
        "type": "object",
        "x-etsi-ref": "6.5.2"
      },
      "UserEventType": {
        "enum": ["Entering", "Leaving", "Transferring"],
Michel Roy's avatar
Michel Roy committed
        "type": "string"
      },
      "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": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/LocationInfo"
Michel Roy's avatar
Michel Roy committed
          },
          "resourceURL": {
            "description": "Self-referring URL, see note 1.",
            "type": "string",
            "x-etsi-mec-cardinality": "1",
            "x-etsi-mec-origin-type": "AnyURI"
Michel Roy's avatar
Michel Roy committed
          },
          "timestamp": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/TimeStamp"
Michel Roy's avatar
Michel Roy committed
          },
          "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",
Michel Roy's avatar
Michel Roy committed
          "timestamp"
Michel Roy's avatar
Michel Roy committed
        ],
        "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"
      },
      "UserList": {
        "description": "A type containing list of users.",
        "properties": {
          "resourceURL": {
            "description": "Self referring URL",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "anyURI"
          },
          "user": {
            "description": "Collection of the zone information list.",
            "items": {
              "$ref": "#/components/schemas/UserInfo"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "UserInfo"
          }
        },
        "required": ["resourceURL"],
Michel Roy's avatar
Michel Roy committed
        "type": "object"
      },
      "UserTrackingSubscription": {
        "description": "A type containing user tracking subscription.",
        "properties": {
          "address": {
            "description": "Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI) to monitor",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "anyURI"
          },
          "callbackReference": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/CallbackReference"
Michel Roy's avatar
Michel Roy committed
          },
          "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.",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "string"
          },
          "resourceURL": {
            "description": "Self referring URL",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "userEventCriteria": {
            "description": "List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.",
            "items": {
              "$ref": "#/components/schemas/UserEventType"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "UserEventType"
          }
        },
        "required": ["callbackReference", "address"],
Michel Roy's avatar
Michel Roy committed
        "type": "object"
      },
      "ZonalPresenceNotification": {
        "description": "A type containing zonal presence notification",
        "properties": {
          "address": {
            "description": "Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI) to monitor",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "anyURI"
          },
          "callbackData": {
            "description": "CallBackData if passed by the application during the associated ZonalTrafficSubscription and UserTrackingSubscription operation. See [REST_NetAPI_Common].",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "string"
          },
          "currentAccessPointId": {
            "description": "Identifier of access point.",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "string"
          },
          "interestRealm": {
            "description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "string"
          },
          "link": {
            "description": "Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification",
            "items": {
              "$ref": "#/components/schemas/Link"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "Link"
          },
          "previousAccessPointId": {
            "description": "Identifier of access point.",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "string"
          },
          "timestamp": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/TimeStamp"
Michel Roy's avatar
Michel Roy committed
          },
          "userEventType": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/UserEventType"
Michel Roy's avatar
Michel Roy committed
          },
          "zoneId": {
            "description": "Identifier of zone",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "string"
          }
        },
        "required": [
          "zoneId",
          "address",
          "userEventType",
          "currentAccessPointId",
          "timestamp"
        ],
        "type": "object"
      },
      "ZonalTrafficSubscription": {
        "description": "A type containing zonal traffic subscription",
        "properties": {
          "callbackReference": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/CallbackReference"
Michel Roy's avatar
Michel Roy committed
          },
          "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.",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "string"
          },
          "duration": {
            "description": "Period (in seconds) of time notifications are provided for. If set to \"0\" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the   period of time for which the subscription will still be valid.",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "unsignedInt"
          },
          "interestRealm": {
            "description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).",
            "items": {
              "type": "string"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "string"
          },
          "resourceURL": {
            "description": "Self referring URL",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "userEventCriteria": {
Michel Roy's avatar
Michel Roy committed
            "description": "List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event.",
            "items": {
              "$ref": "#/components/schemas/UserEventType"
            },
            "type": "array",
Michel Roy's avatar
Michel Roy committed
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "UserEventType"
          },
          "zoneId": {
            "description": "Identifier of zone",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "string"
          }
        },
        "required": ["callbackReference", "zoneId"],
Michel Roy's avatar
Michel Roy committed
        "type": "object"
      },
      "ZoneInfo": {
        "description": "A type containing zone information.",
        "properties": {
          "numberOfAccessPoints": {
            "description": "The number of access points within the zone",
            "type": "integer",