LocationAPI.json 156 KB
Newer Older
Michel Roy's avatar
Michel Roy committed
{
  "openapi": "3.1.0",
Michel Roy's avatar
Michel Roy committed
  "info": {
Michel Roy's avatar
Michel Roy committed
    "contact": {
      "url": "https://forge.etsi.org/rep/mec/gs013-location-api"
    },
Michel Roy's avatar
Michel Roy committed
    "title": "ETSI GS MEC 013 - Location API",
    "version": "2.1.1",
Michel Roy's avatar
Michel Roy committed
    "description": "The ETSI MEC ISG MEC013 Location API described using OpenAPI.",
Michel Roy's avatar
Michel Roy committed
    "license": {
      "name": "BSD-3-Clause",
      "url": "https://forge.etsi.org/legal-matters"
    }
  },
  "externalDocs": {
    "description": "ETSI MEC013 V2.1.1 Location API",
    "url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/02.01.01_60/gs_mec013v020101p.pdf"
  },
  "servers": [
    {
Michel Roy's avatar
Michel Roy committed
      "url": "https://localhost/location/v2"
    }
  ],
  "tags": [
    {
      "name": "location"
Michel Roy's avatar
Michel Roy committed
    }
  ],
  "paths": {
    "/queries/distance": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "UE Distance Lookup of a specific UE",
        "description": "UE Distance Lookup between terminals or a terminal and a location",
        "operationId": "distanceGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Query.Requester"
          },
          {
            "$ref": "#/components/parameters/Query.AddressMandatory"
          },
          {
            "$ref": "#/components/parameters/Query.Latitude"
          },
          {
            "$ref": "#/components/parameters/Query.Longitude"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response to a distance request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "terminalDistance": {
                      "$ref": "#/components/schemas/TerminalDistance"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "queries"
      }
    },
    "/queries/users": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "UE Location Lookup of a specific UE or group of UEs",
        "description": "UE Location Lookup of a specific UE or group of UEs",
        "operationId": "usersGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Query.ZoneId"
          },
          {
            "$ref": "#/components/parameters/Query.AccessPointId"
          },
          {
            "$ref": "#/components/parameters/Query.Address"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response to users request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "userList": {
                      "$ref": "#/components/schemas/UserList"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "queries"
      }
    },
    "/queries/zones": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Zones information Lookup",
        "description": "Used to get a list of identifiers for zones authorized for use by the application.",
        "operationId": "zonesGET",
        "responses": {
          "200": {
            "description": "Successful response to zones request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "zoneList": {
                      "$ref": "#/components/schemas/ZoneList"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "queries"
      }
    },
    "/queries/zones/{zoneId}": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Zones information Lookup",
        "description": "Used to get the information for an authorized zone for use by the application.",
        "operationId": "zonesGetById",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.ZoneId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response to an access point Id request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "zoneInfo": {
                      "$ref": "#/components/schemas/ZoneInfo"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "queries"
      }
    },
    "/queries/zones/{zoneId}/accessPoints": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Radio Node Location Lookup",
        "description": "Radio Node Location Lookup to retrieve a list of radio nodes associated to a zone.",
        "operationId": "apGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.ZoneId"
          },
          {
            "$ref": "#/components/parameters/Query.InterestRealm"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response to an access point Id request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accessPointList": {
                      "$ref": "#/components/schemas/AccessPointList"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "queries"
      }
    },
    "/queries/zones/{zoneId}/accessPoints/{accessPointId}": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Radio Node Location Lookup",
        "description": "Radio Node Location Lookup to retrieve a radio node associated to a zone.",
        "operationId": "apByIdGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.ZoneId"
          },
          {
            "$ref": "#/components/parameters/Path.AccessPointId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response to an access point Id request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accessPointInfo": {
                      "$ref": "#/components/schemas/AccessPointInfo"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "queries"
      }
    },
    "/subscriptions/area/circle": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieves all active subscriptions to area change notifications",
        "description": "This operation is used for retrieving all active subscriptions to area change notifications.",
        "operationId": "areaCircleSubListGET",
        "responses": {
          "200": {
            "description": "Response to retrieve area subscriptions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "notificationSubscriptionList"
                  ],
                  "properties": {
                    "notificationSubscriptionList": {
                      "$ref": "#/components/schemas/NotificationSubscriptionList"
                    }
                  },
                  "examples": [
                    {
                      "notificationSubscriptionList": {
                        "circleNotificationSubscription": [
                          {
                            "clientCorrelator": "0123",
                            "callbackReference": {
                              "callbackData": "1234",
                              "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                            },
                            "address": "acr:10.0.0.1",
                            "checkImmediate": true,
                            "enteringLeavingCriteria": "Entering",
                            "frequency": 10,
                            "latitude": -80.88,
                            "longitude": 41.277,
                            "radius": 500,
                            "trackingAccuracy": 10,
                            "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123"
                          }
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Creates a subscription for area change notification",
        "description": "Creates a subscription to the Location Service for an area change notification.",
        "operationId": "areaCircleSubPOST",
        "requestBody": {
          "description": "Subscription to be created",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "circleNotificationSubscription": {
                    "$ref": "#/components/schemas/CircleNotificationSubscription"
                  }
                },
                "examples": [
                  {
                    "circleNotificationSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "callbackData": "1234",
                        "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                      },
                      "address": "acr:10.0.0.1",
                      "checkImmediate": true,
                      "enteringLeavingCriteria": "Entering",
                      "frequency": 10,
                      "latitude": -80.88,
                      "longitude": 41.277,
                      "radius": 500,
                      "trackingAccuracy": 10
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful subscription",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "circleNotificationSubscription": {
                      "$ref": "#/components/schemas/CircleNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "circleNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "address": "acr:10.0.0.1",
                        "checkImmediate": true,
                        "enteringLeavingCriteria": "Entering",
                        "frequency": 10,
                        "latitude": -80.88,
                        "longitude": 41.277,
                        "radius": 500,
                        "trackingAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "callbacks": {
          "notification": {
            "{$request.body#/circleNotificationSubscription.callbackReference.notifyURL}": {
              "post": {
Michel Roy's avatar
Michel Roy committed
                "summary": "Callback POST used to send a notification",
                "description": "Notification from Location service, content based on subscription type",
                "operationId": "circleNotificationPOST",
Michel Roy's avatar
Michel Roy committed
                "requestBody": {
                  "description": "Subscription notification",
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "type": "object",
                        "properties": {
                          "subscriptionNotification": {
                            "$ref": "#/components/schemas/SubscriptionNotification"
                          }
                        },
                        "examples": [
                          {
                            "subscriptionNotification": {
                              "enteringLeavingCriteria": "Entering",
                              "isFinalNotification": "false,",
                              "link": {
                                "rel": "CircleNotificationSubscription",
                                "href": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/sub123"
Michel Roy's avatar
Michel Roy committed
                              },
                              "terminalLocation": {
                                "address": "acr:10.0.0.1",
                                "currentLocation": {
                                  "accuracy": 100,
                                  "altitude": 1001,
                                  "latitude": -80.86302,
                                  "longitude": 41.277306,
                                  "timestamp": {
                                    "seconds": 1483231138,
                                    "nanoSeconds\"": 0
                                  }
                                },
                                "locationRetrievalStatus": "Retrieved"
                              }
Michel Roy's avatar
Michel Roy committed
                      }
                    }
                  }
                },
                "responses": {
                  "204": {
                    "$ref": "#/components/responses/204"
                  }
                }
              }
            }
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/area/circle/{subscriptionId}": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieve subscription information",
        "description": "Get subscription information.",
        "operationId": "areaCircleSubGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription information regarding subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "circleNotificationSubscription"
                  ],
                  "properties": {
                    "circleNotificationSubscription": {
                      "$ref": "#/components/schemas/CircleNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "circleNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "address": "acr:10.0.0.1",
                        "checkImmediate": true,
                        "enteringLeavingCriteria": "Entering",
                        "frequency": 10,
                        "latitude": -80.88,
                        "longitude": 41.277,
                        "radius": 500,
                        "trackingAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "put": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Updates a subscription information",
        "description": "Updates a subscription.",
        "operationId": "areaCircleSubPUT",
        "requestBody": {
          "description": "Subscription to be modified",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "circleNotificationSubscription": {
                    "$ref": "#/components/schemas/CircleNotificationSubscription"
                  }
                },
                "examples": [
                  {
                    "circleNotificationSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "callbackData": "1234",
                        "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                      },
                      "address": "acr:10.0.0.1",
                      "checkImmediate": true,
                      "enteringLeavingCriteria": "Entering",
                      "frequency": 10,
                      "latitude": -80.88,
                      "longitude": 41.277,
                      "radius": 500,
                      "trackingAccuracy": 10,
                      "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123"
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful subscription to response to subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "circleNotificationSubscription": {
                      "$ref": "#/components/schemas/CircleNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "circleNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "address": "acr:10.0.0.1",
                        "checkImmediate": true,
                        "enteringLeavingCriteria": "Entering",
                        "frequency": 10,
                        "latitude": -80.88,
                        "longitude": 41.277,
                        "radius": 500,
                        "trackingAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "412": {
            "$ref": "#/components/responses/412"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "delete": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Cancel a subscription",
        "description": "Method to delete a subscription.",
        "operationId": "areaCircleSubDELETE",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/distance": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieves all active subscriptions to distance change notifications",
        "description": "This operation is used for retrieving all active subscriptions to a distance change notifications.",
        "operationId": "distanceSubListGET",
        "responses": {
          "200": {
            "description": "Response to retrieve area subscriptions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "notificationSubscriptionList"
                  ],
                  "properties": {
                    "notificationSubscriptionList": {
                      "$ref": "#/components/schemas/NotificationSubscriptionList"
                    }
                  },
                  "examples": [
                    {
                      "notificationSubscriptionList": {
                        "distanceNotificationSubscription": [
                          {
                            "clientCorrelator": "0123",
                            "callbackReference": {
                              "callbackData": "1234",
                              "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                            },
                            "monitoredAddress": [
                              "acr:10.0.0.1",
                              "acr:10.0.0.2"
                            ],
                            "checkImmediate": true,
                            "criteria": "AllWithinDistance",
                            "distance": 100,
                            "frequency": 10,
                            "referenceAddress": "acr:10.0.0.3",
                            "trackingAccuracy": 10,
                            "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/sub123"
                          }
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Creates a subscription for distance change notification",
        "description": "Creates a subscription to the Location Service for a distance change notification.",
        "operationId": "distanceSubPOST",
        "requestBody": {
          "description": "Subscription to be created",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "distanceNotificationSubscription": {
                    "$ref": "#/components/schemas/DistanceNotificationSubscription"
                  }
                },
                "examples": [
                  {
                    "distanceNotificationSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "callbackData": "1234",
                        "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                      },
                      "monitoredAddress": [
                        "acr:10.0.0.1",
                        "acr:10.0.0.2"
                      ],
                      "checkImmediate": true,
                      "criteria": "AllWithinDistance",
                      "distance": 100,
                      "frequency": 10,
                      "referenceAddress": "acr:10.0.0.3",
                      "trackingAccuracy": 10
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful subscription",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "distanceNotificationSubscription": {
                      "$ref": "#/components/schemas/DistanceNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "distanceNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "monitoredAddress": [
                          "acr:10.0.0.1",
                          "acr:10.0.0.2"
                        ],
                        "checkImmediate": true,
                        "criteria": "AllWithinDistance",
                        "distance": 100,
                        "frequency": 10,
                        "referenceAddress": "acr:10.0.0.3",
                        "trackingAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "callbacks": {
          "notification": {
            "{$request.body#/distanceNotificationSubscription.callbackReference.notifyURL}": {
              "post": {
Michel Roy's avatar
Michel Roy committed
                "summary": "Callback POST used to send a notification",
                "description": "Notification from Location service, content based on subscription type",
                "operationId": "distanceNotificationPOST",
Michel Roy's avatar
Michel Roy committed
                "requestBody": {
                  "description": "Subscription notification",
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "type": "object",
                        "properties": {
                          "subscriptionNotification": {
                            "$ref": "#/components/schemas/SubscriptionNotification"
                          }
                        },
                        "examples": [
                          {
                            "subscriptionNotification": {
                              "distanceCriteria": "AllWithinDistance",
                              "isFinalNotification": "false,",
                              "link": {
                                "rel": "DistanceNotificationSubscription",
                                "href": "http://meAppServer.example.com/location/v2/subscriptions/distance/sub123"
Michel Roy's avatar
Michel Roy committed
                              },
                              "terminalLocation": [
                                {
                                  "address": "acr:10.0.0.1",
                                  "currentLocation": {
                                    "accuracy": 100,
                                    "altitude": 1001,
                                    "latitude": -80.86302,
                                    "longitude": 41.277306,
                                    "timestamp": {
                                      "seconds": 1483231138,
                                      "nanoSeconds\"": 0
                                    }
                                  },
                                  "locationRetrievalStatus": "Retrieved"
Michel Roy's avatar
Michel Roy committed
                                },
                                {
                                  "address": "acr:10.0.0.2",
                                  "currentLocation": {
                                    "accuracy": 100,
                                    "altitude": 1001,
                                    "latitude": -80.86301,
                                    "longitude": 41.277306,
                                    "timestamp": {
                                      "seconds": 1483231138,
                                      "nanoSeconds\"": 0
                                    }
                                  },
                                  "locationRetrievalStatus": "Retrieved"
                                }
                              ]
                            }
Michel Roy's avatar
Michel Roy committed
                      }
                    }
                  }
                },
                "responses": {
                  "204": {
                    "$ref": "#/components/responses/204"
                  }
                }
              }
            }
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/distance/{subscriptionId}": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieve subscription information",
        "description": "Get subscription information.",
        "operationId": "distanceSubGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription information regarding subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "distanceNotificationSubscription"
                  ],
                  "properties": {
                    "distanceNotificationSubscription": {
                      "$ref": "#/components/schemas/DistanceNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "distanceNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "monitoredAddress": [
                          "acr:10.0.0.1",
                          "acr:10.0.0.2"
                        ],
                        "checkImmediate": true,
                        "criteria": "AllWithinDistance",
                        "distance": 100,
                        "frequency": 10,
                        "referenceAddress": "acr:10.0.0.3",
                        "trackingAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "put": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Updates a subscription information",
        "description": "Updates a subscription.",
        "operationId": "distanceSubPUT",
        "requestBody": {
          "description": "Subscription to be modified",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "distanceNotificationSubscription": {
                    "$ref": "#/components/schemas/DistanceNotificationSubscription"
                  }
                },
                "examples": [
                  {
                    "distanceNotificationSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "callbackData": "1234",
                        "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                      },
                      "monitoredAddress": [
                        "acr:10.0.0.1",
                        "acr:10.0.0.2"
                      ],
                      "checkImmediate": true,
                      "criteria": "AllWithinDistance",
                      "distance": 100,
                      "frequency": 10,
                      "referenceAddress": "acr:10.0.0.3",
                      "trackingAccuracy": 10,
                      "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123"
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful subscription to response to subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "distanceNotificationSubscription": {
                      "$ref": "#/components/schemas/DistanceNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "distanceNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "monitoredAddress": [
                          "acr:10.0.0.1",
                          "acr:10.0.0.2"
                        ],
                        "checkImmediate": true,
                        "criteria": "AllWithinDistance",
                        "distance": 100,
                        "frequency": 10,
                        "referenceAddress": "acr:10.0.0.3",
                        "trackingAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "412": {
            "$ref": "#/components/responses/412"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "delete": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Cancel a subscription",
        "description": "Method to delete a subscription.",
        "operationId": "distanceSubDELETE",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/periodic": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieves all active subscriptions to periodic notifications",
        "description": "This operation is used for retrieving all active subscriptions to periodic notifications.",
        "operationId": "periodicSubListGET",
        "responses": {
          "200": {
            "description": "Response to retrieve area subscriptions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "notificationSubscriptionList"
                  ],
                  "properties": {
                    "notificationSubscriptionList": {
                      "$ref": "#/components/schemas/NotificationSubscriptionList"
                    }
                  },
                  "examples": [
                    {
                      "notificationSubscriptionList": {
                        "periodicNotificationSubscription": [
                          {
                            "clientCorrelator": "0123",
                            "callbackReference": {
                              "callbackData": "1234",
                              "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                            },
                            "address": "acr:10.0.0.1",
                            "frequency": 10,
                            "requestedAccuracy": 10,
                            "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123"
                          }
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic"
                      }
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Creates a subscription for periodic notification",
        "description": "Creates a subscription to the Location Service for a periodic notification.",
        "operationId": "periodicSubPOST",
        "requestBody": {
          "description": "Subscription to be created",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "periodicNotificationSubscription": {
                    "$ref": "#/components/schemas/PeriodicNotificationSubscription"
                  }
                },
                "examples": [
                  {
                    "periodicNotificationSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "callbackData": "1234",
                        "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                      },
                      "address": "acr:10.0.0.1",
                      "frequency": 10,
                      "requestedAccuracy": 10
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful subscription",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "periodicNotificationSubscription": {
                      "$ref": "#/components/schemas/PeriodicNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "periodicNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "address": "acr:10.0.0.1",
                        "frequency": 10,
                        "requestedAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "callbacks": {
          "notification": {
            "{$request.body#/periodicNotificationSubscription.callbackReference.notifyURL}": {
              "post": {
Michel Roy's avatar
Michel Roy committed
                "summary": "Callback POST used to send a notification",
                "description": "Notification from Location service, content based on subscription type",
                "operationId": "periodicNotificationPOST",
Michel Roy's avatar
Michel Roy committed
                "requestBody": {
                  "description": "Subscription notification",
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "type": "object",
                        "properties": {
                          "subscriptionNotification": {
                            "$ref": "#/components/schemas/SubscriptionNotification"
                          }
                        },
                        "examples": [
                          {
                            "subscriptionNotification": {
                              "isFinalNotification": "false,",
                              "link": {
                                "rel": "PeriodicNotificationSubscription",
                                "href": "http://meAppServer.example.com/location/v2/subscriptions/periodic/sub123"
                              "terminalLocation": {
                                "address": "acr:10.0.0.1",
                                "currentLocation": {
                                  "accuracy": 100,
                                  "altitude": 1001,
                                  "latitude": -80.86302,
                                  "longitude": 41.277306,
                                  "timestamp": {
                                    "seconds": 1483231138,
                                    "nanoSeconds\"": 0
                                  }
                                },
                                "locationRetrievalStatus": "Retrieved"
                              }
Michel Roy's avatar
Michel Roy committed
                      }
                    }
                  }
                },
                "responses": {
                  "204": {
                    "$ref": "#/components/responses/204"
                  }
                }
              }
            }
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/periodic/{subscriptionId}": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieve subscription information",
        "description": "Get subscription information.",
        "operationId": "periodicSubGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription information regarding subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "periodicNotificationSubscription"
                  ],
                  "properties": {
                    "periodicNotificationSubscription": {
                      "$ref": "#/components/schemas/PeriodicNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "periodicNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "address": "acr:10.0.0.1",
                        "frequency": 10,
                        "requestedAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "put": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Updates a subscription information",
        "description": "Updates a subscription.",
        "operationId": "periodicSubPUT",
        "requestBody": {
          "description": "Subscription to be modified",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "periodicNotificationSubscription": {
                    "$ref": "#/components/schemas/PeriodicNotificationSubscription"
                  }
                },
                "examples": [
                  {
                    "periodicNotificationSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "callbackData": "1234",
                        "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                      },
                      "address": "acr:10.0.0.1",
                      "frequency": 10,
                      "requestedAccuracy": 10,
                      "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123"
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful subscription to response to subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "periodicNotificationSubscription": {
                      "$ref": "#/components/schemas/PeriodicNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "periodicNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "address": "acr:10.0.0.1",
                        "frequency": 10,
                        "requestedAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "412": {
            "$ref": "#/components/responses/412"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "delete": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Cancel a subscription",
        "description": "Method to delete a subscription.",
        "operationId": "periodicSubDELETE",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/userTracking": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieves all active subscriptions to user tracking notifications",
        "description": "This operation is used for retrieving all active subscriptions to user tracking notifications.",
        "operationId": "userTrackingSubListGET",
        "responses": {
          "200": {
            "description": "Response to retrieve user tracking subscriptions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "notificationSubscriptionList"
                  ],
                  "properties": {
                    "notificationSubscriptionList": {
                      "$ref": "#/components/schemas/NotificationSubscriptionList"
                    }
                  },
                  "examples": [
                    {
                      "notificationSubscriptionList": {
                        "userTrackingSubscription": [
                          {
                            "clientCorrelator": "0123",
                            "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/subscription123",
                            "callbackReference": {
                              "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                            },
                            "address": "acr:192.0.2.1",
                            "userEventCriteria": [
                              "Transferring"
                            ]
                          {
                            "clientCorrelator": "0124",
                            "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/subscription124",
                            "callbackReference": {
                              "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                            },
                            "address": "acr:192.0.2.2",
                            "userEventCriteria": [
                              "Transferring"
                            ]
                          }
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking"
                      }
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Creates a subscription for user tracking notification",
        "description": "Creates a subscription to the Location Service for user tracking change notification.",
        "operationId": "userTrackingSubPOST",
        "requestBody": {
          "description": "Subscription to be created",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userTrackingSubscription": {
                    "$ref": "#/components/schemas/UserTrackingSubscription"
                  }
                },
                "examples": [
                  {
                    "userTrackingSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "notifyURL": "http://my.callback.com/location_notifications/some-id"
                      },
                      "address": "acr:10.0.0.1",
                      "userEventCriteria": [
                        "Transferring"
                      ]
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful subscription",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "userTrackingSubscription": {
                      "$ref": "#/components/schemas/UserTrackingSubscription"
                    }
                  },
                  "examples": [
                    {
                      "userTrackingSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "notifyURL": "http://my.callback.com/location_notifications/some-id"
                        },
                        "address": "acr:10.0.0.1",
                        "userEventCriteria": [
                          "Transferring"
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "callbacks": {
          "notification": {
            "{$request.body#/userTrackingSubscription.callbackReference.notifyURL}": {
              "post": {
Michel Roy's avatar
Michel Roy committed
                "summary": "Callback POST used to send a notification",
                "description": "Notification from Location service, content based on subscription type",
                "operationId": "userTrackingNotificationPOST",
Michel Roy's avatar
Michel Roy committed
                "requestBody": {
                  "description": "Subscription notification",
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "type": "object",
                        "properties": {
                          "zonalPresenceNotification": {
                            "$ref": "#/components/schemas/ZonalPresenceNotification"
                          }
                        },
                        "examples": [
                          {
                            "zonalPresenceNotification": {
                              "clientCorrelator": "0123",
                              "zoneId": "zone01",
                              "address": "acr:10.0.0.1",
                              "userEventType": "Transferring",
                              "currentAccessPointId": "ap2",
                              "previousAccessPointId": "ap1",
                              "timestamp": {
                                "seconds": 1483231138,
                                "nanoseconds": 0
                              },
                              "link": {
                                "rel": "UserTrackingSubscription",
                                "href": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123"
                              }
Michel Roy's avatar
Michel Roy committed
                      }
                    }
                  }
                },
                "responses": {
                  "204": {
                    "$ref": "#/components/responses/204"
                  }
                }
              }
            }
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/userTracking/{subscriptionId}": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieve subscription information",
        "description": "Get subscription information.",
        "operationId": "userTrackingSubGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription information regarding subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "userTrackingSubscription"
                  ],
                  "properties": {
                    "userTrackingSubscription": {
                      "$ref": "#/components/schemas/UserTrackingSubscription"
                    }
                  },
                  "examples": [
                    {
                      "userTrackingSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "notifyURL": "http://my.callback.com/location_notifications/some-id"
                        },
                        "address": "acr:10.0.0.1",
                        "userEventCriteria": [
                          "Transferring"
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "put": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Updates a subscription information",
        "description": "Updates a subscription.",
        "operationId": "userTrackingSubPUT",
        "requestBody": {
          "description": "Subscription to be modified",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userTrackingSubscription": {
                    "$ref": "#/components/schemas/UserTrackingSubscription"
                  }
                },
                "examples": [
                  {
                    "userTrackingSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "notifyURL": "http://my.callback.com/location_notifications/some-id"
                      },
                      "address": "acr:10.0.0.1",
                      "userEventCriteria": [
                        "Transferring"
                      ],
                      "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123"
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful subscription to response to subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "userTrackingSubscription": {
                      "$ref": "#/components/schemas/UserTrackingSubscription"
                    }
                  },
                  "examples": [
                    {
                      "userTrackingSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "notifyURL": "http://my.callback.com/location_notifications/some-id"
                        },
                        "address": "acr:10.0.0.1",
                        "userEventCriteria": [
                          "Transferring"
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123"
                      }
                    }
                  ]
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "412": {
            "$ref": "#/components/responses/412"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "delete": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Cancel a subscription",
        "description": "Method to delete a subscription.",
        "operationId": "userTrackingSubDELETE",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/zonalTraffic": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieves all active subscriptions to zonal traffic notifications",
        "description": "This operation is used for retrieving all active subscriptions to zonal traffic change notifications.",
        "operationId": "zonalTrafficSubListGET",
        "responses": {
          "200": {
            "description": "Response to retrieve zonal traffic subscriptions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "notificationSubscriptionList"
                  ],
                  "properties": {
                    "notificationSubscriptionList": {
                      "$ref": "#/components/schemas/NotificationSubscriptionList"
                    }
                  },
                  "examples": [
                    {
                      "notificationSubscriptionList": {
                        "zonalTrafficSubscription": [
                          {
                            "clientCorrelator": "0123",
                            "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/subscription123",
                            "callbackReference": {
                              "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                            },
                            "zoneId": "zone01",
                            "userEventCriteria": [
                              "Transferring"
                            ]
                          {
                            "clientCorrelator": "0124",
                            "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/subscription124",
                            "callbackReference": {
                              "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                            },
                            "zoneId": "zone02",
                            "userEventCriteria": [
                              "Transferring"
                            ]
                          }
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic"
                      }
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Creates a subscription for zonal traffic notification",
        "description": "Creates a subscription to the Location Service for zonal traffic change notification.",
        "operationId": "zonalTrafficSubPOST",
        "requestBody": {
          "description": "Subscription to be created",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "zonalTrafficSubscription": {
                    "$ref": "#/components/schemas/ZonalTrafficSubscription"
                  }
                },
                "examples": [
                  {
                    "zonalTrafficSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "notifyURL": "http://my.callback.com/location_notifications/some-id"
                      },
                      "zoneId": "zone01",
                      "userEventCriteria": [
                        "Transferring"
                      ]
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful subscription",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "zonalTrafficSubscription": {
                      "$ref": "#/components/schemas/ZonalTrafficSubscription"
                    }
                  },
                  "examples": [
                    {
                      "zonalTrafficSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "notifyURL": "http://my.callback.com/location_notifications/some-id"
                        },
                        "zoneId": "zone01",
                        "userEventCriteria": [
                          "Transferring"
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "callbacks": {
          "notification": {
            "{$request.body#/zonalTrafficSubscription.callbackReference.notifyURL}": {
              "post": {
Michel Roy's avatar
Michel Roy committed
                "summary": "Callback POST used to send a notification",
                "description": "Notification from Location service, content based on subscription type",
                "operationId": "zonalTrafficNotificationPOST",
Michel Roy's avatar
Michel Roy committed
                "requestBody": {
                  "description": "Subscription notification",
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "type": "object",
                        "properties": {
                          "zonalPresenceNotification": {
                            "$ref": "#/components/schemas/ZonalPresenceNotification"
                          }
                        },
                        "examples": [
                          {
                            "zonalPresenceNotification": {
                              "clientCorrelator": "0123",
                              "zoneId": "zone01",
                              "address": "acr:10.0.0.1",
                              "userEventType": "Transferring",
                              "currentAccessPointId": "ap2",
                              "previousAccessPointId": "ap1",
                              "timestamp": {
                                "seconds": 1483231138,
                                "nanoseconds": 0
                              },
                              "link": {
                                "rel": "ZonalTrafficSubscription",
                                "href": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123"
                              }
Michel Roy's avatar
Michel Roy committed
                      }
                    }
                  }
                },
                "responses": {
                  "204": {
                    "$ref": "#/components/responses/204"
                  }
                }
              }
            }
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/zonalTraffic/{subscriptionId}": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieve subscription information",
        "description": "Get subscription information.",
Michel Roy's avatar
Michel Roy committed
        "operationId": "zonalTrafficSubGET",
Michel Roy's avatar
Michel Roy committed
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription information regarding subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "zonalTrafficSubscription"
                  ],
                  "properties": {
                    "zonalTrafficSubscription": {
                      "$ref": "#/components/schemas/ZonalTrafficSubscription"
                    }
                  },
                  "examples": [
                    {
                      "zonalTrafficSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "notifyURL": "http://my.callback.com/location_notifications/some-id"
                        },
                        "zoneId": "zone01",
                        "userEventCriteria": [
                          "Transferring"
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "put": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Updates a subscription information",
        "description": "Updates a subscription.",
        "operationId": "zonalTrafficSubPUT",
        "requestBody": {
          "description": "Subscription to be modified",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "zonalTrafficSubscription": {
                    "$ref": "#/components/schemas/ZonalTrafficSubscription"
                  }
                },
                "examples": [
                  {
                    "zonalTrafficSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "notifyURL": "http://my.callback.com/location_notifications/some-id"
                      },
                      "zoneId": "zone01",
                      "userEventCriteria": [
                        "Transferring"
                      ],
                      "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123"
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful subscription to response to subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "zonalTrafficSubscription": {
                      "$ref": "#/components/schemas/ZonalTrafficSubscription"
                    }
                  },
                  "examples": [
                    {
                      "zonalTrafficSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "notifyURL": "http://my.callback.com/location_notifications/some-id"
                        },
                        "zoneId": "zone01",
                        "userEventCriteria": [
                          "Transferring"
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123"
                      }
                    }
                  ]
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "412": {
            "$ref": "#/components/responses/412"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "delete": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Cancel a subscription",
        "description": "Method to delete a subscription.",
        "operationId": "zonalTrafficSubDELETE",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/zoneStatus": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieves all active subscriptions to zone status notifications",
        "description": "This operation is used for retrieving all active subscriptions to zone status change notifications.",
        "operationId": "zoneStatusSubListGET",
        "responses": {
          "200": {
            "description": "Response to retrieve zone status subscriptions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "notificationSubscriptionList"
                  ],
                  "properties": {
                    "notificationSubscriptionList": {
                      "$ref": "#/components/schemas/NotificationSubscriptionList"
                    }
                  },
                  "examples": [
                    {
                      "notificationSubscriptionList": {
                        "zoneStatusSubscription": [
                          {
                            "clientCorrelator": "0123",
                            "resourceURL": "http://example.com/exampleAPI/location/v2/subscriptions/zoneStatus/subscription123",
                            "callbackReference": {
                              "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                            },
                            "zoneId": "zone01",
                            "numberOfUsersZoneThreshold": 500,
                            "operationStatus": [
                              "Serviceable"
                            ]
                          }
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus"
                      }
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Creates a subscription for zone status notification",
        "description": "Creates a subscription to the Location Service for zone status change notification.",
        "operationId": "zoneStatusSubPOST",
        "requestBody": {
          "description": "Subscription to be created",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "zoneStatusSubscription": {
                    "$ref": "#/components/schemas/ZoneStatusSubscription"
                  }
                },
                "examples": [
                  {
                    "zoneStatusSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "notifyURL": "http://my.callback.com/location_notifications/some-id"
                      },
                      "zoneId": "zone01",
                      "numberOfUsersZoneThreshold": 500,
                      "operationStatus": [
                        "Serviceable"
                      ]
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful subscription",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "zoneStatusSubscription": {
                      "$ref": "#/components/schemas/ZoneStatusSubscription"
                    }
                  },
                  "examples": [
                    {
                      "zoneStatusSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "notifyURL": "http://my.callback.com/location_notifications/some-id"
                        },
                        "zoneId": "zone01",
                        "numberOfUsersZoneThreshold": 500,
                        "operationStatus": [
                          "Serviceable"
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "callbacks": {
          "notification": {
            "{$request.body#/zoneStatusSubscription.callbackReference.notifyURL}": {
              "post": {
Michel Roy's avatar
Michel Roy committed
                "summary": "Callback POST used to send a notification",
                "description": "Notification from Location service, content based on subscription type",
                "operationId": "zoneStatusNotificationPOST",
Michel Roy's avatar
Michel Roy committed
                "requestBody": {
                  "description": "Subscription notification",
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "type": "object",
                        "properties": {
                          "zoneStatusNotification": {
                            "$ref": "#/components/schemas/ZoneStatusNotification"
                          }
                        },
                        "examples": [
                          {
                            "zoneStatusNotification": {
                              "clientCorrelator": "0123",
                              "zoneId": "zone01",
                              "accessPointId": "poa1",
                              "operationStatus": "Serviceable",
                              "numberOfUsersInZone": "20",
                              "numberOfUsersInAP": "12",
                              "timestamp": {
                                "seconds": 1483231138,
                                "nanoseconds": 0
                              },
                              "link": {
                                "rel": "ZoneStatusSubscription",
                                "href": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123"
                              }
Michel Roy's avatar
Michel Roy committed
                      }
                    }
                  }
                },
                "responses": {
                  "204": {
                    "$ref": "#/components/responses/204"
                  }
                }
              }
            }
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/zoneStatus/{subscriptionId}": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieve subscription information",
        "description": "Get subscription information.",
        "operationId": "zoneStatusSubGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription information regarding subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "zoneStatusSubscription"
                  ],
                  "properties": {
                    "zoneStatusSubscription": {
                      "$ref": "#/components/schemas/ZoneStatusSubscription"
                    }
                  },
                  "examples": [
                    {
                      "zoneStatusSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "notifyURL": "http://my.callback.com/location_notifications/some-id"
                        },
                        "zoneId": "zone01",
                        "numberOfUsersZoneThreshold": 500,
                        "operationStatus": [
                          "Serviceable"
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "put": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Updates a subscription information",
        "description": "Updates a subscription.",
        "operationId": "zoneStatusSubPUT",
        "requestBody": {
          "description": "Subscription to be modified",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "zoneStatusSubscription": {
                    "$ref": "#/components/schemas/ZoneStatusSubscription"
                  }
                },
                "examples": [
                  {
                    "zoneStatusSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "notifyURL": "http://my.callback.com/location_notifications/some-id"
                      },
                      "zoneId": "zone01",
                      "numberOfUsersZoneThreshold": 500,
                      "operationStatus": [
                        "Serviceable"
                      ],
                      "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123"
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful subscription to response to subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "zoneStatusSubscription": {
                      "$ref": "#/components/schemas/ZoneStatusSubscription"
                    }
                  },
                  "examples": [
                    {
                      "zoneStatusSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "notifyURL": "http://my.callback.com/location_notifications/some-id"
                        },
                        "zoneId": "zone01",
                        "numberOfUsersZoneThreshold": 500,
                        "operationStatus": [
                          "Serviceable"
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123"
                      }
                    }
                  ]
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "412": {
            "$ref": "#/components/responses/412"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      },
      "delete": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Cancel a subscription",
        "description": "Method to delete a subscription.",
        "operationId": "zoneStatusSubDELETE",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    }
  },
  "components": {
    "responses": {
      "200": {
        "description": "OK"
      },
      "204": {
        "description": "No Content"
      },
      "400": {
        "description": "Bad Request : used to indicate that incorrect parameters were passed to the request.",
        "content": {
Michel Roy's avatar
Michel Roy committed
          "application/problem+json": {
Michel Roy's avatar
Michel Roy committed
            "schema": {
Michel Roy's avatar
Michel Roy committed
              "$ref": "#/components/schemas/ProblemDetails"
Michel Roy's avatar
Michel Roy committed
            }
          }
        }
      },
      "401": {
        "description": "Unauthorized :  used when the client did not submit credentials.",
        "content": {
Michel Roy's avatar
Michel Roy committed
          "application/problem+json": {
Michel Roy's avatar
Michel Roy committed
            "schema": {
Michel Roy's avatar
Michel Roy committed
              "$ref": "#/components/schemas/ProblemDetails"
Michel Roy's avatar
Michel Roy committed
            }
          }
        }
      },
      "403": {
        "description": "Forbidden :  operation is not allowed given the current status of the resource.",
        "content": {
Michel Roy's avatar
Michel Roy committed
          "application/problem+json": {
Michel Roy's avatar
Michel Roy committed
            "schema": {
Michel Roy's avatar
Michel Roy committed
              "$ref": "#/components/schemas/ProblemDetails"
Michel Roy's avatar
Michel Roy committed
            }
          }
        }
      },
      "404": {
        "description": "Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.",
        "content": {
Michel Roy's avatar
Michel Roy committed
          "application/problem+json": {
Michel Roy's avatar
Michel Roy committed
            "schema": {
Michel Roy's avatar
Michel Roy committed
              "$ref": "#/components/schemas/ProblemDetails"
Michel Roy's avatar
Michel Roy committed
            }
          }
        }
      },
      "406": {
        "description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
        "content": {
Michel Roy's avatar
Michel Roy committed
          "application/problem+json": {
Michel Roy's avatar
Michel Roy committed
            "schema": {
Michel Roy's avatar
Michel Roy committed
              "$ref": "#/components/schemas/ProblemDetails"
Michel Roy's avatar
Michel Roy committed
            }
          }
        }
      },
      "412": {
        "description": "Precondition failed :  used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT",
        "content": {
Michel Roy's avatar
Michel Roy committed
          "application/problem+json": {
Michel Roy's avatar
Michel Roy committed
            "schema": {
Michel Roy's avatar
Michel Roy committed
              "$ref": "#/components/schemas/ProblemDetails"
Michel Roy's avatar
Michel Roy committed
            }
          }
        }
      },
      "414": {
        "description": "URI Too Long : used to indicate that the server is refusing to process the request because the request URI is longer than the server is willing or able to process.",
        "content": {
Michel Roy's avatar
Michel Roy committed
          "application/problem+json": {
Michel Roy's avatar
Michel Roy committed
            "schema": {
Michel Roy's avatar
Michel Roy committed
              "$ref": "#/components/schemas/ProblemDetails"
Michel Roy's avatar
Michel Roy committed
            }
          }
        }
      },
      "415": {
        "description": "Unsupported Media Type :  used to indicate that the server or the client does not support the content type of the entity body.",
        "content": {
Michel Roy's avatar
Michel Roy committed
          "application/problem+json": {
Michel Roy's avatar
Michel Roy committed
            "schema": {
Michel Roy's avatar
Michel Roy committed
              "$ref": "#/components/schemas/ProblemDetails"
Michel Roy's avatar
Michel Roy committed
            }
          }
        }
      },
      "422": {
        "description": "Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.",
        "content": {
Michel Roy's avatar
Michel Roy committed
          "application/problem+json": {
Michel Roy's avatar
Michel Roy committed
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
Michel Roy's avatar
Michel Roy committed
            }
          }
        }
      },
      "429": {
        "description": "Too Many Requests : used when a rate limiter has triggered.",
        "content": {
Michel Roy's avatar
Michel Roy committed
          "application/problem+json": {
Michel Roy's avatar
Michel Roy committed
            "schema": {
Michel Roy's avatar
Michel Roy committed
              "$ref": "#/components/schemas/ProblemDetails"
Michel Roy's avatar
Michel Roy committed
            }
          }
        }
      }
    },
    "parameters": {
      "Path.AccessPointId": {
        "name": "accessPointId",
        "in": "path",
        "description": "Identifier of access Point",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-exportParamName": "AccessPointId"
      },
      "Path.SubscrId": {
        "name": "subscriptionId",
        "in": "path",
        "description": "Subscription Identifier, specifically the \"self\" returned in the subscription request",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uri"
        },
        "x-exportParamName": "SubscriptionId"
      },
      "Path.ZoneId": {
        "name": "zoneId",
        "in": "path",
        "description": "Indentifier of zone",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-exportParamName": "ZoneId"
      },
      "Query.AccessPointId": {
        "name": "accessPointId",
        "in": "query",
        "description": "Identifier of access point",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "x-exportParamName": "AccessPointId"
      },
      "Query.Address": {
        "name": "address",
        "in": "query",
        "description": "address of users (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "x-exportParamName": "Address"
      },
      "Query.AddressMandatory": {
        "name": "address",
        "in": "query",
        "description": "address of users (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)",
        "required": true,
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "x-exportParamName": "AddressMandatory"
      },
      "Query.InterestRealm": {
        "name": "interestRealm",
        "in": "query",
        "description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).",
        "required": false,
        "schema": {
          "type": "string"
        },
        "x-exportParamName": "InterestRealm"
      },
      "Query.Latitude": {
        "name": "latitude",
        "in": "query",
        "description": "Latitude geo position",
        "required": false,
        "schema": {
          "type": "number",
          "format": "float"
        },
        "x-exportParamName": "Latitude"
      },
      "Query.Longitude": {
        "name": "longitude",
        "in": "query",
        "description": "Longitude geo position",
        "required": false,
        "schema": {
          "type": "number",
          "format": "float"
        },
        "x-exportParamName": "Longitude"
      },
      "Query.Requester": {
        "name": "requester",
        "in": "query",
        "description": "Entity that is requesting the information",
        "required": false,
        "schema": {
          "type": "string"
        },
        "x-exportParamName": "Requester"
      },
      "Query.ZoneId": {
        "name": "zoneId",
        "in": "query",
        "description": "Identifier of zone",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "x-exportParamName": "ZoneId"
      }
    },
    "schemas": {
      "AccessPointInfo": {
        "description": "A type containing access point information.",
        "properties": {
          "accessPointId": {
            "description": "Identifier of access point.",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "string"
          },
          "connectionType": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/ConnectionType"
Michel Roy's avatar
Michel Roy committed
          },
          "interestRealm": {
            "description": "Interest realm of access point.",
            "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
          },
          "numberOfUsers": {
            "description": "Number of users currently on the access point.",
            "type": "integer",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "integer"
          },
          "operationStatus": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/OperationStatus"
Michel Roy's avatar
Michel Roy committed
          },
          "resourceURL": {
            "description": "Self referring URL",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "anyURI"
          },
          "timezone": {
            "description": "Time zone of access point.",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "dateTimeStamp"
          }
        },
        "required": [
          "accessPointId",
          "connectionType",
          "operationStatus",
          "numberOfUsers",
          "resourceURL"
        ],
        "type": "object"
      },
      "AccessPointList": {
        "description": "A type containing list of access points.",
        "properties": {
          "accessPoint": {
            "description": "Collection of the access point information list.",
            "items": {
              "$ref": "#/components/schemas/AccessPointInfo"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "AccessPointInfo"
          },
          "resourceURL": {
            "description": "Self referring URL",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "anyURI"
          },
          "zoneId": {
            "description": "Identifier of zone",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "string"
          }
        },
        "required": [
          "zoneId",
          "resourceURL"
        ],
        "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"
        ],
        "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"
        ],
        "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"
        ],
        "type": "object"
      },
      "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.",
            "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 [14]. Present only if \"shape\" equals 4 or 6",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "UnsignedInt"
          },
          "shape": {
Michel Roy's avatar
Michel Roy committed
            "description": "Shape information, as detailed in [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",
            "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 [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": {
Michel Roy's avatar
Michel Roy committed
                "description": "Velocity information, as detailed in [14], associated with the reported location coordinate: <p>1 = HORIZONTAL <p>2 = HORIZONTAL_VERTICAL <p>3 = HORIZONTAL_UNCERT <p>4 = HORIZONTAL_VERTICAL_UNCERT",
                "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 [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",
Michel Roy's avatar
Michel Roy committed
          "shape"
Michel Roy's avatar
Michel Roy committed
        ],
        "type": "object",
        "x-etsi-ref": "6.5.3"
      },
      "NotificationFormat": {
        "enum": [
          "XML",
          "JSON"
        ],
        "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"
        ],
        "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"
        ],
        "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"
        ],
        "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"
        ],
        "type": "object"
      },
      "SubscriptionCancellationNotification": {
        "description": "A type containing the subscription cancellation notification.",
        "properties": {
          "address": {
            "description": "Address of terminal if the error applies to an individual terminal.",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "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"
          },
          "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"
          },
          "reason": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/ServiceError"
Michel Roy's avatar
Michel Roy committed
          }
        },
        "required": [
          "terminalLocation"
        ],
        "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"
        ],
        "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"
Michel Roy's avatar
Michel Roy committed
          }
        },
        "required": [
          "distance"
        ],
        "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"
Michel Roy's avatar
Michel Roy committed
          }
        },
        "required": [
          "address",
          "locationRetrievalStatus"
        ],
        "type": "object"
      },
      "TerminalLocationList": {
        "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"
      },
      "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"
        ],
        "type": "object",
        "x-etsi-ref": "6.5.2"
      },
      "UserEventType": {
        "enum": [
          "Entering",
          "Leaving",
          "Transferring"
        ],
        "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": "String"
          },
          "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"
        ],
        "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"
        ],
        "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"
        ],
        "type": "object"
      },
      "ZoneInfo": {
        "description": "A type containing zone information.",
        "properties": {
          "numberOfAccessPoints": {
            "description": "The number of access points within the zone",
            "type": "integer",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "unsignedInt"
          },
          "numberOfUnserviceableAccessPoints": {
            "description": "Number of inoperable access points within the zone.",
            "type": "integer",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "unsignedInt"
          },
          "numberOfUsers": {
            "description": "The number of users currently on the access point.",
            "type": "integer",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "unsignedInt"
          },
          "resourceURL": {
            "description": "Self referring URL",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "anyURI"
          },
          "zoneId": {
            "description": "Identifier of zone",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "string"
          }
        },
        "required": [
          "zoneId",
          "numberOfAccessPoints",
          "numberOfUnserviceableAccessPoints",
          "numberOfUsers",
          "resourceURL"
        ],
        "type": "object"
      },
      "ZoneList": {
        "description": "A type containing a list of zones.",
        "properties": {
          "resourceURL": {
            "description": "Self referring URL",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "anyURI"
          },
          "zone": {
            "description": "Collection of the zone information list.",
            "items": {
              "$ref": "#/components/schemas/ZoneInfo"
            },
            "type": "array"
          }
        },
        "required": [
          "resourceURL"
        ],
        "type": "object"
      },
      "ZoneStatusNotification": {
        "description": "A type containing zone status notification.",
        "properties": {
          "accessPointId": {
            "description": "Identifier of an access point.",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "string"
          },
          "callbackData": {
            "description": "CallBackData if passed by the application during the associated ZoneStatusSubscription operation. See [REST_NetAPI_Common].",
            "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"
          },
          "numberOfUsersInAP": {
            "description": "This element shall be present when ZoneStatusSubscription includes numberOfUsersAPThreshold element and the number of users in an access point exceeds the threshold defined in the subscription.",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "unsignedInt"
          },
          "numberOfUsersInZone": {
            "description": "This element shall be present when ZoneStatusSubscription includes numberOfUsersZoneThreshold element and the number of users in a zone exceeds the threshold defined in this subscription.",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "unsignedInt"
          },
          "operationStatus": {
Michel Roy's avatar
Michel Roy committed
            "$ref": "#/components/schemas/OperationStatus"
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": "Identifier of zone",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "string"
          }
        },
        "required": [
          "zoneId",
          "timestamp"
        ],
        "type": "object"
      },
      "ZoneStatusSubscription": {
        "description": "A type containing zone status 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"
          },
          "numberOfUsersAPThreshold": {
            "description": "Threshold number of users in an access point which if crossed shall cause a notification",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "unsignedInt"
          },
          "numberOfUsersZoneThreshold": {
            "description": "Threshold number of users in a zone which if crossed shall cause a notification",
            "type": "integer",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "unsignedInt"
          },
          "operationStatus": {
            "description": "List of operation status values to generate notifications for (these apply to all access points within a zone).",
            "items": {
              "$ref": "#/components/schemas/OperationStatus"
            },
            "type": "array",
            "x-etsi-mec-cardinality": "0..N",
            "x-etsi-mec-origin-type": "OperationStatus"
          },
          "resourceURL": {
            "description": "Self referring URL",
            "type": "string",
            "x-etsi-mec-cardinality": "0..1",
            "x-etsi-mec-origin-type": "anyURI"
          },
          "zoneId": {
            "description": "Identifier of zone",
            "type": "string",
            "x-etsi-mec-cardinality": 1,
            "x-etsi-mec-origin-type": "string"
          }
        },
        "required": [
          "callbackReference",
          "zoneId"
        ],
        "type": "object"
      }
    }
  }
Michel Roy's avatar
Michel Roy committed
}