initial commit of data taken from Walter's mock-up at https://github.com/wol190/ETSI...
authorSebastian Mueller <sebastian.mueller@etsi.org>
Thu, 8 Jun 2017 08:40:29 +0000 (10:40 +0200)
committerSebastian Mueller <sebastian.mueller@etsi.org>
Thu, 8 Jun 2017 08:40:29 +0000 (10:40 +0200)
Change-Id: I8c340d3adfe0f6e53bedfca2b165f94a3357d287
Signed-off-by: Sebastian Mueller <sebastian.mueller@etsi.org>
95 files changed:
LocationAPI.index.yaml [new file with mode: 0644]
LocationAPI.yaml [new file with mode: 0644]
definitions/AccessPointId.yaml [new file with mode: 0644]
definitions/AccessPointInfo.yaml [new file with mode: 0644]
definitions/AccessPointList.yaml [new file with mode: 0644]
definitions/Address.yaml [new file with mode: 0644]
definitions/AncillaryInfo.yaml [new file with mode: 0644]
definitions/CallbackData.yaml [new file with mode: 0644]
definitions/CallbackReference.yaml [new file with mode: 0644]
definitions/ClientCorrelator.yaml [new file with mode: 0644]
definitions/ConnectionType.yaml [new file with mode: 0644]
definitions/ContextLocationInfo.yaml [new file with mode: 0644]
definitions/CurrentAccessPointId.yaml [new file with mode: 0644]
definitions/Duration.yaml [new file with mode: 0644]
definitions/InterestRealm.yaml [new file with mode: 0644]
definitions/Link.yaml [new file with mode: 0644]
definitions/LocationInfo.yaml [new file with mode: 0644]
definitions/NotifyURL.yaml [new file with mode: 0644]
definitions/NumberOfAccessPoints.yaml [new file with mode: 0644]
definitions/NumberOfUnserviceableAccessPoints.yaml [new file with mode: 0644]
definitions/NumberOfUsers.yaml [new file with mode: 0644]
definitions/NumberOfUsersAPThreshold.yaml [new file with mode: 0644]
definitions/NumberOfUsersInAP.yaml [new file with mode: 0644]
definitions/NumberOfUsersInZone.yaml [new file with mode: 0644]
definitions/NumberOfUsersZoneThreshold.yaml [new file with mode: 0644]
definitions/OperationStatus.yaml [new file with mode: 0644]
definitions/PreviousAccessPointId.yaml [new file with mode: 0644]
definitions/ResourceURL.yaml [new file with mode: 0644]
definitions/Timestamp.yaml [new file with mode: 0644]
definitions/Timezone.yaml [new file with mode: 0644]
definitions/UserEventCriteria.yaml [new file with mode: 0644]
definitions/UserEventType.yaml [new file with mode: 0644]
definitions/UserInfo.yaml [new file with mode: 0644]
definitions/UserList.yaml [new file with mode: 0644]
definitions/UserTrackingSubscription.yaml [new file with mode: 0644]
definitions/ZonalPresenceNotification.yaml [new file with mode: 0644]
definitions/ZonalTrafficSubscription.yaml [new file with mode: 0644]
definitions/ZoneId.yaml [new file with mode: 0644]
definitions/ZoneInfo.yaml [new file with mode: 0644]
definitions/ZoneList.yaml [new file with mode: 0644]
definitions/ZoneStatusNotification.yaml [new file with mode: 0644]
definitions/ZoneStatusSubscription.yaml [new file with mode: 0644]
definitions/index.yaml [new file with mode: 0644]
examples/AccessPointInfo.json [new file with mode: 0644]
examples/AccessPointList.json [new file with mode: 0644]
examples/NotiSubsListUserTrac.json [new file with mode: 0644]
examples/NotiSubsListZonaTraf.json [new file with mode: 0644]
examples/NotiSubsListZoneStat.json [new file with mode: 0644]
examples/UserInfo.json [new file with mode: 0644]
examples/UserList.json [new file with mode: 0644]
examples/UserTrackingSubscription.json [new file with mode: 0644]
examples/ZonalTrafficSubscription.json [new file with mode: 0644]
examples/ZoneInfo.json [new file with mode: 0644]
examples/ZoneList.json [new file with mode: 0644]
examples/ZoneStatusSubscription.json [new file with mode: 0644]
externalDocs/index.yaml [new file with mode: 0644]
info/index.yaml [new file with mode: 0644]
parameters/AccessPointId.yaml [new file with mode: 0644]
parameters/InterestRealm.yaml [new file with mode: 0644]
parameters/ZoneId.yaml [new file with mode: 0644]
parameters/index.yaml [new file with mode: 0644]
paths/SubsUserTrack.yaml [new file with mode: 0644]
paths/SubsUserTrackId.yaml [new file with mode: 0644]
paths/SubsUserTrackId_Del.yaml [new file with mode: 0644]
paths/SubsUserTrackId_Get.yaml [new file with mode: 0644]
paths/SubsUserTrackId_Put.yaml [new file with mode: 0644]
paths/SubsUserTrack_Get.yaml [new file with mode: 0644]
paths/SubsUserTrack_Post.yaml [new file with mode: 0644]
paths/SubsZonalTraf.yaml [new file with mode: 0644]
paths/SubsZonalTrafId.yaml [new file with mode: 0644]
paths/SubsZonalTrafId_Del.yaml [new file with mode: 0644]
paths/SubsZonalTrafId_Get.yaml [new file with mode: 0644]
paths/SubsZonalTrafId_Put.yaml [new file with mode: 0644]
paths/SubsZonalTraf_Get.yaml [new file with mode: 0644]
paths/SubsZonalTraf_Post.yaml [new file with mode: 0644]
paths/SubsZoneStat.yaml [new file with mode: 0644]
paths/SubsZoneStatId.yaml [new file with mode: 0644]
paths/SubsZoneStatId_Del.yaml [new file with mode: 0644]
paths/SubsZoneStatId_Get.yaml [new file with mode: 0644]
paths/SubsZoneStatId_Put.yaml [new file with mode: 0644]
paths/SubsZoneStat_Get.yaml [new file with mode: 0644]
paths/SubsZoneStat_Post.yaml [new file with mode: 0644]
paths/Users.yaml [new file with mode: 0644]
paths/UsersId.yaml [new file with mode: 0644]
paths/UsersId_Get.yaml [new file with mode: 0644]
paths/Users_Get.yaml [new file with mode: 0644]
paths/Zones.yaml [new file with mode: 0644]
paths/ZonesId.yaml [new file with mode: 0644]
paths/ZonesIdAps.yaml [new file with mode: 0644]
paths/ZonesIdApsId.yaml [new file with mode: 0644]
paths/ZonesIdApsId_Get.yaml [new file with mode: 0644]
paths/ZonesIdAps_Get.yaml [new file with mode: 0644]
paths/ZonesId_Get.yaml [new file with mode: 0644]
paths/Zones_Get.yaml [new file with mode: 0644]
paths/index.yaml [new file with mode: 0644]

diff --git a/LocationAPI.index.yaml b/LocationAPI.index.yaml
new file mode 100644 (file)
index 0000000..8fc1e88
--- /dev/null
@@ -0,0 +1,52 @@
+################################################################################
+#                        Open API specification version                        #
+################################################################################
+swagger: '2.0'
+
+################################################################################
+#                              Document Information                            #
+################################################################################
+info:
+  $ref: './info/index.yaml'
+
+################################################################################
+#                               External Documents                             #
+################################################################################
+externalDocs: 
+  $ref: './externalDocs/index.yaml'
+
+host: 127.0.0.1:8081
+basePath: /exampleAPI/location/v1/
+schemes:
+- http
+- https
+consumes:
+- application/json
+produces:
+- application/json
+
+################################################################################
+#                                   Parameters                                 #
+################################################################################
+parameters:
+  $ref: './parameters/index.yaml'
+
+################################################################################
+#                                   paths                                      #
+################################################################################
+paths:
+  $ref: './paths/index.yaml'
+
+################################################################################
+#                                 Definitions                                  #
+################################################################################
+definitions:
+  $ref: './definitions/index.yaml'
+  
+################################################################################
+# SEEMINGLY NOT ALLOWED in Swagger/OpenAPI 2.0                                 #
+#                                                                              #
+#                                 Examples                                     #
+################################################################################
+#examples:
+#  $ref: './examples/index.yaml'
\ No newline at end of file
diff --git a/LocationAPI.yaml b/LocationAPI.yaml
new file mode 100644 (file)
index 0000000..6a93d1b
--- /dev/null
@@ -0,0 +1,3114 @@
+swagger: '2.0'
+info:
+  description: >-
+    The MEC-013 Location API described using OpenAPI, which is
+    based on the Open Mobile Alliance's specification RESTful Network API for
+    Zonal Presence
+  version: 1.0.0
+  title: MEC Location API
+  termsOfService: TBD
+  contact:
+    name: TBD
+    url: TBD
+  license:
+    name: ETSI MEC
+    url: TBD
+externalDocs:
+  description: ETSI MEC013 V1.0.1 Location Service API
+  url: 'https://docbox.etsi.org/ISG/MEC/70-Draft/0013LocationApi'
+host: '127.0.0.1:8081'
+basePath: /exampleAPI/location/v1/
+schemes:
+  - http
+  - https
+consumes:
+  - application/json
+produces:
+  - application/json
+parameters:
+  ZoneId:
+    name: zoneId
+    in: query
+    description: Zone ID
+    required: true
+    type: string
+  AccessPointId:
+    name: accessPointId
+    in: query
+    description: 'Identifier of access point, reference "definitions" for string format'
+    required: false
+    type: string
+  InterestRealm:
+    name: interestRealm
+    in: query
+    description: >-
+      Interest realm of access point (e.g. geographical area, a type of industry
+      etc.).
+    required: false
+    type: string
+paths:
+  /zones:
+    get:
+      description: >-
+        Used to get a list of identifiers for zones authorized for use by the
+        application.
+      produces:
+        - application/json
+      responses:
+        '200':
+          description: Successful response to a query regarding the status of a zone
+          schema:
+            properties:
+              zoneList:
+                description: Collection of the zone information list.
+                required:
+                  - resourceURL
+                properties:
+                  zone:
+                    description: Collection of the zone information list.
+                    type: array
+                    items:
+                      description: A type containing zone information.
+                      required:
+                        - zoneId
+                        - numberOfAccessPoints
+                        - numberOfUnservicableAccessPoints
+                        - numberOfUsers
+                        - resourceURL
+                      properties:
+                        zoneId:
+                          description: Identifier of zone
+                          type: string
+                          example: zone01
+                        numberOfAccessPoints:
+                          description: The number of access points within the zone
+                          type: integer
+                          format: uint32
+                          example: '10'
+                        numberOfUnservicableAccessPoints:
+                          description: Number of inoperable access points within the zone.
+                          type: integer
+                          format: uint32
+                          example: '9'
+                        numberOfUsers:
+                          description: The number of users currently on the access point.
+                          type: integer
+                          format: uint32
+                          example: '7'
+                        resourceURL:
+                          description: Self referring URL.
+                          type: string
+                          format: uri
+                          example: >-
+                            http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              zoneList:
+                zone:
+                  - zoneId: zone01
+                    numberOfAccessPoints: '3'
+                    numberOfUnserviceableAccessPoints: '1'
+                    numberOfUsers: '10'
+                    resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01'
+                  - zoneId: zone02
+                    numberOfAccessPoints: '12'
+                    numberOfUnserviceableAccessPoints: '0'
+                    numberOfUsers: '36'
+                    resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone02'
+                resourceURL: 'http://example.com/exampleAPI/location/v1/zones'
+  '/zones/{zoneId}':
+    get:
+      description: Used to get the status of a zone.
+      produces:
+        - application/json
+      parameters:
+        - name: zoneId
+          in: path
+          description: Zone ID
+          required: true
+          type: string
+      responses:
+        '200':
+          description: Successful response to a query regarding the status of a zone
+          schema:
+            properties:
+              zoneInfo:
+                description: A type containing zone information.
+                required:
+                  - zoneId
+                  - numberOfAccessPoints
+                  - numberOfUnservicableAccessPoints
+                  - numberOfUsers
+                  - resourceURL
+                properties:
+                  zoneId:
+                    description: Identifier of zone
+                    type: string
+                    example: zone01
+                  numberOfAccessPoints:
+                    description: The number of access points within the zone
+                    type: integer
+                    format: uint32
+                    example: '10'
+                  numberOfUnservicableAccessPoints:
+                    description: Number of inoperable access points within the zone.
+                    type: integer
+                    format: uint32
+                    example: '9'
+                  numberOfUsers:
+                    description: The number of users currently on the access point.
+                    type: integer
+                    format: uint32
+                    example: '7'
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              zoneInfo:
+                zoneId: zone01
+                numberOfAccessPoints: '3'
+                numberOfUnserviceableAccessPoints: '1'
+                numberOfUsers: '10'
+                resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01'
+  '/zones/{zoneId}/accessPoints':
+    get:
+      description: >-
+        Access point status can be retrieved for sets of access points matching
+        attribute in the request.
+      produces:
+        - application/json
+      parameters:
+        - name: zoneId
+          in: path
+          description: Zone ID
+          required: true
+          type: string
+        - name: interestRealm
+          in: query
+          description: >-
+            Interest realm of access point (e.g. geographical area, a type of
+            industry etc.).
+          required: false
+          type: string
+      responses:
+        '200':
+          description: >-
+            Successful response to a query a named set of access point status
+            request
+          schema:
+            properties:
+              accessPointList:
+                required:
+                  - zoneId
+                  - resourceURL
+                properties:
+                  zoneId:
+                    description: Identifier of zone
+                    type: string
+                    example: zone01
+                  accessPoint:
+                    description: Collection of the access point information list.
+                    type: array
+                    items:
+                      required:
+                        - accessPointId
+                        - connectionType
+                        - operationStatus
+                        - numberOfUsers
+                        - resourceURL
+                      properties:
+                        accessPointId:
+                          description: >-
+                            Identifier of access point, <E-CGI><Cell Portion ID>
+                            (reference ETSI TS 129 171). Where the E-CGI is made
+                            up of the PLMN and Cell Identity (28 bit string).
+                            Then the PLMN is made up of the 3 digit MCC & 2 or 3
+                            digit MNC. The Cell Portion is an optional element
+                          type: string
+                          example: '001010000000000000000000000000001'
+                        locationInfo:
+                          description: >-
+                            A type containing location information with
+                            latitude, longitude and altitude, in addition the
+                            accuracy of the information are provided.
+                          type: object
+                          required:
+                            - latitude
+                            - longitude
+                            - accuracy
+                          properties:
+                            latitude:
+                              type: number
+                              format: float
+                              example: '80.123'
+                            longitude:
+                              type: number
+                              format: float
+                              example: '70.123'
+                            altitude:
+                              type: number
+                              format: float
+                              example: '10.0'
+                            accuracy:
+                              type: integer
+                              format: int32
+                              example: '10'
+                        connectionType:
+                          description: The connection type for the access point
+                          type: string
+                          example: Macro
+                        operationStatus:
+                          description: The operation status of the access point
+                          type: string
+                          example: Serviceable
+                        numberOfUsers:
+                          description: The number of users currently on the access point.
+                          type: integer
+                          format: uint32
+                          example: '7'
+                        timezone:
+                          description: Time zone of access point
+                          type: string
+                          format: date-time
+                          example: '2017-01-01T02:51:43Z'
+                        interestRealm:
+                          description: >-
+                            Interest realm of access point (e.g. geographical
+                            area, a type of industry etc.).
+                          type: string
+                          example: LA
+                        resourceURL:
+                          description: Self referring URL.
+                          type: string
+                          format: uri
+                          example: >-
+                            http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              accessPointList:
+                zoneId: zone01
+                accessPoint:
+                  - accessPointId: '001010000000000000000000000000001'
+                    locationInfo:
+                      latitude: '90.123'
+                      longitude: '80.123'
+                      altitude: '10.0'
+                      accuracy: '0'
+                    connectionType: Macro
+                    operationStatus: Serviceable
+                    numberOfUsers: '5'
+                    interestRealm: LA
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap001
+                  - accessPointId: '001010000000000000000000000000010'
+                    locationInfo:
+                      latitude: '91.123'
+                      longitude: '81.123'
+                      altitude: '12.0'
+                      accuracy: '1'
+                    connectionType: Macro
+                    operationStatus: Unserviceable
+                    numberOfUsers: '0'
+                    interestRealm: DC
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap002
+                  - accessPointId: '001010000000000000000000000000011'
+                    locationInfo:
+                      latitude: '93.123'
+                      longitude: '83.123'
+                      altitude: '16.0'
+                      accuracy: '3'
+                    connectionType: Macro
+                    operationStatus: Serviceable
+                    numberOfUsers: '5'
+                    interestRealm: NJ
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap003
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints
+  '/zones/{zoneId}/accessPoints/{accessPointId}':
+    get:
+      description: >-
+        Access point status can be retrieved for sets of access points matching
+        attribute in the request.
+      produces:
+        - application/json
+      parameters:
+        - name: zoneId
+          in: path
+          description: Zone ID
+          required: true
+          type: string
+        - name: accessPointId
+          in: path
+          description: Access Point ID
+          required: true
+          type: string
+      responses:
+        '200':
+          description: >-
+            Successful response to a query a named set of access point status
+            request
+          schema:
+            properties:
+              accessPointInfo:
+                required:
+                  - accessPointId
+                  - connectionType
+                  - operationStatus
+                  - numberOfUsers
+                  - resourceURL
+                properties:
+                  accessPointId:
+                    description: >-
+                      Identifier of access point, <E-CGI><Cell Portion ID>
+                      (reference ETSI TS 129 171). Where the E-CGI is made up of
+                      the PLMN and Cell Identity (28 bit string). Then the PLMN
+                      is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell
+                      Portion is an optional element
+                    type: string
+                    example: '001010000000000000000000000000001'
+                  locationInfo:
+                    description: >-
+                      A type containing location information with latitude,
+                      longitude and altitude, in addition the accuracy of the
+                      information are provided.
+                    type: object
+                    required:
+                      - latitude
+                      - longitude
+                      - accuracy
+                    properties:
+                      latitude:
+                        type: number
+                        format: float
+                        example: '80.123'
+                      longitude:
+                        type: number
+                        format: float
+                        example: '70.123'
+                      altitude:
+                        type: number
+                        format: float
+                        example: '10.0'
+                      accuracy:
+                        type: integer
+                        format: int32
+                        example: '10'
+                  connectionType:
+                    description: The connection type for the access point
+                    type: string
+                    example: Macro
+                  operationStatus:
+                    description: The operation status of the access point
+                    type: string
+                    example: Serviceable
+                  numberOfUsers:
+                    description: The number of users currently on the access point.
+                    type: integer
+                    format: uint32
+                    example: '7'
+                  timezone:
+                    description: Time zone of access point
+                    type: string
+                    format: date-time
+                    example: '2017-01-01T02:51:43Z'
+                  interestRealm:
+                    description: >-
+                      Interest realm of access point (e.g. geographical area, a
+                      type of industry etc.).
+                    type: string
+                    example: LA
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              accessPointInfo:
+                accessPointId: '001010000000000000000000000000001'
+                locationInfo:
+                  latitude: '90.123'
+                  longitude: '80.123'
+                  altitude: '10.0'
+                  accuracy: '0'
+                connectionType: Macro
+                operationStatus: Serviceable
+                numberOfUsers: '5'
+                interestRealm: LA
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/zones/zone001/accessPoints/ap001
+  /users:
+    get:
+      description: >-
+        Users currently using a zone may be retrieved for sets of access points
+        matching attribute in the request
+      produces:
+        - application/json
+      parameters:
+        - name: zoneId
+          in: query
+          description: Zone ID
+          required: true
+          type: string
+        - name: accessPointId
+          in: query
+          description: >-
+            Identifier of access point, reference "definitions" for string
+            format
+          required: false
+          type: string
+      responses:
+        '200':
+          description: Successful response to a query users within a zone request
+          schema:
+            properties:
+              userList:
+                description: A type containing list of users.
+                required:
+                  - resourceURL
+                properties:
+                  user:
+                    description: Collection of the zone information list.
+                    type: array
+                    items:
+                      required:
+                        - address
+                        - accessPointId
+                        - zoneId
+                        - resourceURL
+                      properties:
+                        address:
+                          description: >-
+                            Address of user (e.g. "sip" URI, "tel" URI, "acr"
+                            URI).
+                          type: string
+                          format: uri
+                          example: 'acr:192.0.2.1'
+                        accessPointId:
+                          description: >-
+                            Identifier of access point, <E-CGI><Cell Portion ID>
+                            (reference ETSI TS 129 171). Where the E-CGI is made
+                            up of the PLMN and Cell Identity (28 bit string).
+                            Then the PLMN is made up of the 3 digit MCC & 2 or 3
+                            digit MNC. The Cell Portion is an optional element
+                          type: string
+                          example: '001010000000000000000000000000001'
+                        zoneId:
+                          description: Identifier of zone
+                          type: string
+                          example: zone01
+                        resourceURL:
+                          description: Self referring URL.
+                          type: string
+                          format: uri
+                          example: >-
+                            http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                        locationInfo:
+                          description: >-
+                            A type containing location information with
+                            latitude, longitude and altitude, in addition the
+                            accuracy of the information are provided.
+                          type: object
+                          required:
+                            - latitude
+                            - longitude
+                            - accuracy
+                          properties:
+                            latitude:
+                              type: number
+                              format: float
+                              example: '80.123'
+                            longitude:
+                              type: number
+                              format: float
+                              example: '70.123'
+                            altitude:
+                              type: number
+                              format: float
+                              example: '10.0'
+                            accuracy:
+                              type: integer
+                              format: int32
+                              example: '10'
+                        contextLocationInfo:
+                          description: >-
+                            Contextual information of a user location (e.g.,
+                            aisle, floor, room number, etc.)
+                          type: string
+                          example: GroundFoor
+                        ancillaryInfo:
+                          required:
+                            - address
+                          properties:
+                            address:
+                              description: >-
+                                Address of user (e.g. "sip" URI, "tel" URI,
+                                "acr" URI).
+                              type: string
+                              format: uri
+                              example: 'acr:192.0.2.1'
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              userList:
+                user:
+                  - address: 'acr:192.0.2.1'
+                    accessPointId: '001010000000000000000000000000001'
+                    zoneId: zone01
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1
+                  - address: 'acr:192.0.2.2'
+                    accessPointId: '001010000000000000000000000000001'
+                    zoneId: zone01
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.2
+                  - address: 'acr:192.0.2.3'
+                    accessPointId: '001010000000000000000000000000010'
+                    zoneId: zone01
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.3
+                  - address: 'acr:192.0.2.4'
+                    accessPointId: '001010000000000000000000000000001'
+                    zoneId: zone02
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.4
+                  - address: 'acr:192.0.2.5'
+                    accessPointId: '001010000000000000000000000000010'
+                    zoneId: zone02
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.5
+                resourceURL: 'http://example.com/exampleAPI/location/v1/users'
+  '/users/{userId}':
+    get:
+      description: >-
+        Users currently using a zone may be retrieved for sets of access points
+        matching attribute in the request
+      produces:
+        - application/json
+      parameters:
+        - name: userId
+          in: path
+          description: User ID
+          required: true
+          type: string
+      responses:
+        '200':
+          description: Successful response to a query users within a zone request
+          schema:
+            properties:
+              userInfo:
+                required:
+                  - address
+                  - accessPointId
+                  - zoneId
+                  - resourceURL
+                properties:
+                  address:
+                    description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+                    type: string
+                    format: uri
+                    example: 'acr:192.0.2.1'
+                  accessPointId:
+                    description: >-
+                      Identifier of access point, <E-CGI><Cell Portion ID>
+                      (reference ETSI TS 129 171). Where the E-CGI is made up of
+                      the PLMN and Cell Identity (28 bit string). Then the PLMN
+                      is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell
+                      Portion is an optional element
+                    type: string
+                    example: '001010000000000000000000000000001'
+                  zoneId:
+                    description: Identifier of zone
+                    type: string
+                    example: zone01
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                  locationInfo:
+                    description: >-
+                      A type containing location information with latitude,
+                      longitude and altitude, in addition the accuracy of the
+                      information are provided.
+                    type: object
+                    required:
+                      - latitude
+                      - longitude
+                      - accuracy
+                    properties:
+                      latitude:
+                        type: number
+                        format: float
+                        example: '80.123'
+                      longitude:
+                        type: number
+                        format: float
+                        example: '70.123'
+                      altitude:
+                        type: number
+                        format: float
+                        example: '10.0'
+                      accuracy:
+                        type: integer
+                        format: int32
+                        example: '10'
+                  contextLocationInfo:
+                    description: >-
+                      Contextual information of a user location (e.g., aisle,
+                      floor, room number, etc.)
+                    type: string
+                    example: GroundFoor
+                  ancillaryInfo:
+                    required:
+                      - address
+                    properties:
+                      address:
+                        description: >-
+                          Address of user (e.g. "sip" URI, "tel" URI, "acr"
+                          URI).
+                        type: string
+                        format: uri
+                        example: 'acr:192.0.2.1'
+          examples:
+            application/json:
+              userInfo:
+                address: 'acr:192.0.2.1'
+                accessPointId: '001010000000000000000000000000001'
+                zoneId: zone01
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1
+                locationInfo:
+                  latitude: '90.123'
+                  longitude: '80.123'
+                  altitude: '10.0'
+                  accuracy: '0'
+                contextLocationInfo: GroundFloor
+  /subscriptions/zonalTraffic:
+    get:
+      description: >-
+        This operation is used for retrieving all active subscriptions to zonal
+        traffic change notifications.
+      produces:
+        - application/json
+      responses:
+        '200':
+          description: Response to retrieve zonal traffic subscriptions
+          schema:
+            type: object
+            properties:
+              notificationSubscriptionList:
+                type: object
+                properties:
+                  zonalTrafficSubscription:
+                    type: array
+                    items:
+                      description: A type containing zonal traffic subscription
+                      type: object
+                      required:
+                        - callbackReference
+                        - zoneId
+                      properties:
+                        clientCorrelator:
+                          description: >-
+                            Uniquely identifies this create subscription
+                            request. If there is a communication failure during
+                            the request, using the same clientCorrelator when
+                            retrying the request allows the operator to avoid
+                            creating a duplicate subscription.
+                          type: string
+                          example: '0123'
+                        callbackReference:
+                          required:
+                            - notifyURL
+                          properties:
+                            notifyURL:
+                              description: The URL of your own listener application.
+                              type: string
+                              format: url
+                              example: >-
+                                http://clientApp.example.com/location_notifications/123456
+                        zoneId:
+                          description: Identifier of zone
+                          type: string
+                          example: zone01
+                        interestRealm:
+                          description: >-
+                            Interest realms of access points within a zone (e.g.
+                            geographical area, a type of industry etc.).
+                          type: array
+                          items:
+                            description: >-
+                              Interest realm of access point (e.g. geographical
+                              area, a type of industry etc.).
+                            type: string
+                            example: LA
+                        userEventCriteria:
+                          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.
+                          type: array
+                          items:
+                            description: User event
+                            type: string
+                            example: Entering
+                        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: string
+                          example: '0'
+                        resourceURL:
+                          description: Self referring URL.
+                          type: string
+                          format: uri
+                          example: >-
+                            http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              notificationSubscriptionList:
+                zonalTrafficSubscription:
+                  - clientCorrelator: '0123'
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123
+                    callbackReference:
+                      notifyURL: >-
+                        http://clientApp.example.com/location_notifications/123456
+                    zoneId: zone01
+                    interestRealm: LA
+                    userEventCriteria: Transferring
+                  - clientCorrelator: '0124'
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription124
+                    callbackReference:
+                      notifyURL: >-
+                        http://clientApp.example.com/location_notifications/123457
+                    zoneId: zone02
+                    interestRealm: LA
+                    userEventCriteria: Transferring
+                resourceURL: 'http://example.com/exampleAPI/location/v1/zonalTraffic'
+    post:
+      description: >-
+        This operation is used for creating a new subscription to zonal traffic
+        change notification.
+      produces:
+        - application/json
+      parameters:
+        - name: zonalTrafficSubscription
+          in: body
+          description: Zonal Traffic Subscription
+          required: true
+          schema:
+            description: A type containing zonal traffic subscription
+            type: object
+            required:
+              - callbackReference
+              - zoneId
+            properties:
+              clientCorrelator:
+                description: >-
+                  Uniquely identifies this create subscription request. If there
+                  is a communication failure during the request, using the same
+                  clientCorrelator when retrying the request allows the operator
+                  to avoid creating a duplicate subscription.
+                type: string
+                example: '0123'
+              callbackReference:
+                required:
+                  - notifyURL
+                properties:
+                  notifyURL:
+                    description: The URL of your own listener application.
+                    type: string
+                    format: url
+                    example: 'http://clientApp.example.com/location_notifications/123456'
+              zoneId:
+                description: Identifier of zone
+                type: string
+                example: zone01
+              interestRealm:
+                description: >-
+                  Interest realms of access points within a zone (e.g.
+                  geographical area, a type of industry etc.).
+                type: array
+                items:
+                  description: >-
+                    Interest realm of access point (e.g. geographical area, a
+                    type of industry etc.).
+                  type: string
+                  example: LA
+              userEventCriteria:
+                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.
+                type: array
+                items:
+                  description: User event
+                  type: string
+                  example: Entering
+              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: string
+                example: '0'
+              resourceURL:
+                description: Self referring URL.
+                type: string
+                format: uri
+                example: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+      responses:
+        '201':
+          description: Response to create new zonal traffic subscription
+          schema:
+            properties:
+              zonalTrafficSubscription:
+                description: A type containing zonal traffic subscription
+                type: object
+                required:
+                  - callbackReference
+                  - zoneId
+                properties:
+                  clientCorrelator:
+                    description: >-
+                      Uniquely identifies this create subscription request. If
+                      there is a communication failure during the request, using
+                      the same clientCorrelator when retrying the request allows
+                      the operator to avoid creating a duplicate subscription.
+                    type: string
+                    example: '0123'
+                  callbackReference:
+                    required:
+                      - notifyURL
+                    properties:
+                      notifyURL:
+                        description: The URL of your own listener application.
+                        type: string
+                        format: url
+                        example: >-
+                          http://clientApp.example.com/location_notifications/123456
+                  zoneId:
+                    description: Identifier of zone
+                    type: string
+                    example: zone01
+                  interestRealm:
+                    description: >-
+                      Interest realms of access points within a zone (e.g.
+                      geographical area, a type of industry etc.).
+                    type: array
+                    items:
+                      description: >-
+                        Interest realm of access point (e.g. geographical area,
+                        a type of industry etc.).
+                      type: string
+                      example: LA
+                  userEventCriteria:
+                    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.
+                    type: array
+                    items:
+                      description: User event
+                      type: string
+                      example: Entering
+                  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: string
+                    example: '0'
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              zonalTrafficSubscription:
+                clientCorrelator: '0123'
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123
+                callbackReference:
+                  notifyURL: 'http://clientApp.example.com/location_notifications/123456'
+                zoneId: zone01
+                interestRealm: LA
+                userEventCriteria: Transferring
+  '/subscriptions/zonalTraffic/{subscriptionId}':
+    get:
+      description: >-
+        This operation is used for updating an individual subscription to zonal
+        traffic change notification.
+      produces:
+        - application/json
+      parameters:
+        - name: subscriptionId
+          in: path
+          description: Subscription ID
+          required: true
+          type: string
+      responses:
+        '200':
+          description: Response to retrieve individual zonal traffic subscription
+          schema:
+            properties:
+              zonalTrafficSubscription:
+                description: A type containing zonal traffic subscription
+                type: object
+                required:
+                  - callbackReference
+                  - zoneId
+                properties:
+                  clientCorrelator:
+                    description: >-
+                      Uniquely identifies this create subscription request. If
+                      there is a communication failure during the request, using
+                      the same clientCorrelator when retrying the request allows
+                      the operator to avoid creating a duplicate subscription.
+                    type: string
+                    example: '0123'
+                  callbackReference:
+                    required:
+                      - notifyURL
+                    properties:
+                      notifyURL:
+                        description: The URL of your own listener application.
+                        type: string
+                        format: url
+                        example: >-
+                          http://clientApp.example.com/location_notifications/123456
+                  zoneId:
+                    description: Identifier of zone
+                    type: string
+                    example: zone01
+                  interestRealm:
+                    description: >-
+                      Interest realms of access points within a zone (e.g.
+                      geographical area, a type of industry etc.).
+                    type: array
+                    items:
+                      description: >-
+                        Interest realm of access point (e.g. geographical area,
+                        a type of industry etc.).
+                      type: string
+                      example: LA
+                  userEventCriteria:
+                    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.
+                    type: array
+                    items:
+                      description: User event
+                      type: string
+                      example: Entering
+                  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: string
+                    example: '0'
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              zonalTrafficSubscription:
+                clientCorrelator: '0123'
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123
+                callbackReference:
+                  notifyURL: 'http://clientApp.example.com/location_notifications/123456'
+                zoneId: zone01
+                interestRealm: LA
+                userEventCriteria: Transferring
+    put:
+      description: >-
+        This operation is used for updating an individual subscription to zonal
+        traffic change notification.
+      produces:
+        - application/json
+      parameters:
+        - name: subscriptionId
+          in: path
+          description: Subscription ID
+          required: true
+          type: string
+        - name: zonalTrafficSubscription
+          in: body
+          description: Zonal Traffic Subscription
+          required: true
+          schema:
+            description: A type containing zonal traffic subscription
+            type: object
+            required:
+              - callbackReference
+              - zoneId
+            properties:
+              clientCorrelator:
+                description: >-
+                  Uniquely identifies this create subscription request. If there
+                  is a communication failure during the request, using the same
+                  clientCorrelator when retrying the request allows the operator
+                  to avoid creating a duplicate subscription.
+                type: string
+                example: '0123'
+              callbackReference:
+                required:
+                  - notifyURL
+                properties:
+                  notifyURL:
+                    description: The URL of your own listener application.
+                    type: string
+                    format: url
+                    example: 'http://clientApp.example.com/location_notifications/123456'
+              zoneId:
+                description: Identifier of zone
+                type: string
+                example: zone01
+              interestRealm:
+                description: >-
+                  Interest realms of access points within a zone (e.g.
+                  geographical area, a type of industry etc.).
+                type: array
+                items:
+                  description: >-
+                    Interest realm of access point (e.g. geographical area, a
+                    type of industry etc.).
+                  type: string
+                  example: LA
+              userEventCriteria:
+                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.
+                type: array
+                items:
+                  description: User event
+                  type: string
+                  example: Entering
+              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: string
+                example: '0'
+              resourceURL:
+                description: Self referring URL.
+                type: string
+                format: uri
+                example: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+      responses:
+        '200':
+          description: Response to update individual zonal traffic subscription
+          schema:
+            properties:
+              zonalTrafficSubscription:
+                description: A type containing zonal traffic subscription
+                type: object
+                required:
+                  - callbackReference
+                  - zoneId
+                properties:
+                  clientCorrelator:
+                    description: >-
+                      Uniquely identifies this create subscription request. If
+                      there is a communication failure during the request, using
+                      the same clientCorrelator when retrying the request allows
+                      the operator to avoid creating a duplicate subscription.
+                    type: string
+                    example: '0123'
+                  callbackReference:
+                    required:
+                      - notifyURL
+                    properties:
+                      notifyURL:
+                        description: The URL of your own listener application.
+                        type: string
+                        format: url
+                        example: >-
+                          http://clientApp.example.com/location_notifications/123456
+                  zoneId:
+                    description: Identifier of zone
+                    type: string
+                    example: zone01
+                  interestRealm:
+                    description: >-
+                      Interest realms of access points within a zone (e.g.
+                      geographical area, a type of industry etc.).
+                    type: array
+                    items:
+                      description: >-
+                        Interest realm of access point (e.g. geographical area,
+                        a type of industry etc.).
+                      type: string
+                      example: LA
+                  userEventCriteria:
+                    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.
+                    type: array
+                    items:
+                      description: User event
+                      type: string
+                      example: Entering
+                  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: string
+                    example: '0'
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              zonalTrafficSubscription:
+                clientCorrelator: '0123'
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123
+                callbackReference:
+                  notifyURL: 'http://clientApp.example.com/location_notifications/123456'
+                zoneId: zone01
+                interestRealm: LA
+                userEventCriteria: Transferring
+    delete:
+      description: >-
+        This operation is used for cancelling a subscription and stopping
+        corresponding notifications.
+      produces:
+        - application/json
+      parameters:
+        - name: subscriptionId
+          in: path
+          description: Subscription ID
+          required: true
+          type: string
+      responses:
+        '204':
+          description: No content
+  /subscriptions/userTracking:
+    get:
+      description: >-
+        This operation is used for retrieving all active subscriptions to user
+        tracking change notifications.
+      produces:
+        - application/json
+      responses:
+        '200':
+          description: Response to retrieve user tracking subscriptions
+          schema:
+            type: object
+            properties:
+              notificationSubscriptionList:
+                type: object
+                properties:
+                  userTrackingSubscription:
+                    type: array
+                    items:
+                      required:
+                        - callbackReference
+                        - address
+                      properties:
+                        clientCorrelator:
+                          description: >-
+                            Uniquely identifies this create subscription
+                            request. If there is a communication failure during
+                            the request, using the same clientCorrelator when
+                            retrying the request allows the operator to avoid
+                            creating a duplicate subscription.
+                          type: string
+                          example: '0123'
+                        callbackReference:
+                          required:
+                            - notifyURL
+                          properties:
+                            notifyURL:
+                              description: The URL of your own listener application.
+                              type: string
+                              format: url
+                              example: >-
+                                http://clientApp.example.com/location_notifications/123456
+                        address:
+                          description: >-
+                            Address of user (e.g. "sip" URI, "tel" URI, "acr"
+                            URI).
+                          type: string
+                          format: uri
+                          example: 'acr:192.0.2.1'
+                        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.
+                          type: array
+                          items:
+                            description: User event
+                            type: string
+                            example: Entering
+                        resourceURL:
+                          description: Self referring URL.
+                          type: string
+                          format: uri
+                          example: >-
+                            http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              notificationSubscriptionList:
+                userTrackingSubscription:
+                  - clientCorrelator: '0123'
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                    callbackReference:
+                      notifyURL: >-
+                        http://clientApp.example.com/location_notifications/123456
+                    address: 'acr:192.0.2.1'
+                    userEventCriteria: Transferring
+                  - clientCorrelator: '0124'
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription124
+                    callbackReference:
+                      notifyURL: >-
+                        http://clientApp.example.com/location_notifications/123456
+                    address: 'acr:192.0.2.2'
+                    userEventCriteria: Transferring
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/userTracking
+    post:
+      description: >-
+        This operation is used for creating a new subscription to user tracking
+        change notification
+      produces:
+        - application/json
+      parameters:
+        - name: userTrackingSubscription
+          in: body
+          description: User Tracking Subscription
+          required: true
+          schema:
+            required:
+              - callbackReference
+              - address
+            properties:
+              clientCorrelator:
+                description: >-
+                  Uniquely identifies this create subscription request. If there
+                  is a communication failure during the request, using the same
+                  clientCorrelator when retrying the request allows the operator
+                  to avoid creating a duplicate subscription.
+                type: string
+                example: '0123'
+              callbackReference:
+                required:
+                  - notifyURL
+                properties:
+                  notifyURL:
+                    description: The URL of your own listener application.
+                    type: string
+                    format: url
+                    example: 'http://clientApp.example.com/location_notifications/123456'
+              address:
+                description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+                type: string
+                format: uri
+                example: 'acr:192.0.2.1'
+              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.
+                type: array
+                items:
+                  description: User event
+                  type: string
+                  example: Entering
+              resourceURL:
+                description: Self referring URL.
+                type: string
+                format: uri
+                example: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+      responses:
+        '201':
+          description: Response to create new user tracking subscription
+          schema:
+            properties:
+              userTrackingSubscription:
+                required:
+                  - callbackReference
+                  - address
+                properties:
+                  clientCorrelator:
+                    description: >-
+                      Uniquely identifies this create subscription request. If
+                      there is a communication failure during the request, using
+                      the same clientCorrelator when retrying the request allows
+                      the operator to avoid creating a duplicate subscription.
+                    type: string
+                    example: '0123'
+                  callbackReference:
+                    required:
+                      - notifyURL
+                    properties:
+                      notifyURL:
+                        description: The URL of your own listener application.
+                        type: string
+                        format: url
+                        example: >-
+                          http://clientApp.example.com/location_notifications/123456
+                  address:
+                    description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+                    type: string
+                    format: uri
+                    example: 'acr:192.0.2.1'
+                  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.
+                    type: array
+                    items:
+                      description: User event
+                      type: string
+                      example: Entering
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              userTrackingSubscription:
+                clientCorrelator: '0123'
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                callbackReference:
+                  notifyURL: 'http://clientApp.example.com/location_notifications/123456'
+                address: 'acr:192.0.2.1'
+                userEventCriteria: Transferring
+  '/subscriptions/userTracking/{subscriptionId}':
+    get:
+      description: >-
+        This operation is used for retrieving an individual subscription to user
+        tracking change notification.
+      produces:
+        - application/json
+      parameters:
+        - name: subscriptionId
+          in: path
+          description: Subscription ID
+          required: true
+          type: string
+      responses:
+        '200':
+          description: Response to retrieve individual user tracking subscription
+          schema:
+            properties:
+              userTrackingSubscription:
+                required:
+                  - callbackReference
+                  - address
+                properties:
+                  clientCorrelator:
+                    description: >-
+                      Uniquely identifies this create subscription request. If
+                      there is a communication failure during the request, using
+                      the same clientCorrelator when retrying the request allows
+                      the operator to avoid creating a duplicate subscription.
+                    type: string
+                    example: '0123'
+                  callbackReference:
+                    required:
+                      - notifyURL
+                    properties:
+                      notifyURL:
+                        description: The URL of your own listener application.
+                        type: string
+                        format: url
+                        example: >-
+                          http://clientApp.example.com/location_notifications/123456
+                  address:
+                    description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+                    type: string
+                    format: uri
+                    example: 'acr:192.0.2.1'
+                  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.
+                    type: array
+                    items:
+                      description: User event
+                      type: string
+                      example: Entering
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              userTrackingSubscription:
+                clientCorrelator: '0123'
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                callbackReference:
+                  notifyURL: 'http://clientApp.example.com/location_notifications/123456'
+                address: 'acr:192.0.2.1'
+                userEventCriteria: Transferring
+    put:
+      description: >-
+        This operation is used for updating an individual subscription to user
+        tracking change notification.
+      produces:
+        - application/json
+      parameters:
+        - name: subscriptionId
+          in: path
+          description: Subscription ID
+          required: true
+          type: string
+        - name: userTrackingSubscription
+          in: body
+          description: User Tracking Subscription
+          required: true
+          schema:
+            required:
+              - callbackReference
+              - address
+            properties:
+              clientCorrelator:
+                description: >-
+                  Uniquely identifies this create subscription request. If there
+                  is a communication failure during the request, using the same
+                  clientCorrelator when retrying the request allows the operator
+                  to avoid creating a duplicate subscription.
+                type: string
+                example: '0123'
+              callbackReference:
+                required:
+                  - notifyURL
+                properties:
+                  notifyURL:
+                    description: The URL of your own listener application.
+                    type: string
+                    format: url
+                    example: 'http://clientApp.example.com/location_notifications/123456'
+              address:
+                description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+                type: string
+                format: uri
+                example: 'acr:192.0.2.1'
+              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.
+                type: array
+                items:
+                  description: User event
+                  type: string
+                  example: Entering
+              resourceURL:
+                description: Self referring URL.
+                type: string
+                format: uri
+                example: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+      responses:
+        '200':
+          description: Response to update individual user tracking subscription
+          schema:
+            properties:
+              userTrackingSubscription:
+                required:
+                  - callbackReference
+                  - address
+                properties:
+                  clientCorrelator:
+                    description: >-
+                      Uniquely identifies this create subscription request. If
+                      there is a communication failure during the request, using
+                      the same clientCorrelator when retrying the request allows
+                      the operator to avoid creating a duplicate subscription.
+                    type: string
+                    example: '0123'
+                  callbackReference:
+                    required:
+                      - notifyURL
+                    properties:
+                      notifyURL:
+                        description: The URL of your own listener application.
+                        type: string
+                        format: url
+                        example: >-
+                          http://clientApp.example.com/location_notifications/123456
+                  address:
+                    description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+                    type: string
+                    format: uri
+                    example: 'acr:192.0.2.1'
+                  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.
+                    type: array
+                    items:
+                      description: User event
+                      type: string
+                      example: Entering
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              userTrackingSubscription:
+                clientCorrelator: '0123'
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                callbackReference:
+                  notifyURL: 'http://clientApp.example.com/location_notifications/123456'
+                address: 'acr:192.0.2.1'
+                userEventCriteria: Transferring
+    delete:
+      description: >-
+        This operation is used for retrieving an individual subscription to user
+        tracking change notification.
+      produces:
+        - application/json
+      parameters:
+        - name: subscriptionId
+          in: path
+          description: Subscription ID
+          required: true
+          type: string
+      responses:
+        '204':
+          description: No Content
+  /subscriptions/zonalStatus:
+    get:
+      description: >-
+        This operation is used for creating a new subscription to zone status
+        change notification.
+      produces:
+        - application/json
+      responses:
+        '200':
+          description: Response to retrieve zone status subscriptions
+          schema:
+            type: object
+            properties:
+              notificationSubscriptionList:
+                type: object
+                properties:
+                  zonalTrafficSubscription:
+                    type: array
+                    items:
+                      required:
+                        - callbackReference
+                        - zoneId
+                      properties:
+                        clientCorrelator:
+                          description: >-
+                            Uniquely identifies this create subscription
+                            request. If there is a communication failure during
+                            the request, using the same clientCorrelator when
+                            retrying the request allows the operator to avoid
+                            creating a duplicate subscription.
+                          type: string
+                          example: '0123'
+                        resourceURL:
+                          description: Self referring URL.
+                          type: string
+                          format: uri
+                          example: >-
+                            http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                        callbackReference:
+                          required:
+                            - notifyURL
+                          properties:
+                            notifyURL:
+                              description: The URL of your own listener application.
+                              type: string
+                              format: url
+                              example: >-
+                                http://clientApp.example.com/location_notifications/123456
+                        zoneId:
+                          description: Identifier of zone
+                          type: string
+                          example: zone01
+                        numberOfUsersZoneThreshold:
+                          description: >-
+                            Threshold number of users in a zone which if crossed
+                            shall cause a notification.
+                          type: integer
+                          format: uint32
+                          example: '40'
+                        numberOfUsersAPThreshold:
+                          description: >-
+                            Threshold number of users in an access point which
+                            if crossed shall cause a notification.
+                          type: integer
+                          format: uint32
+                          example: '20'
+                        operationStatus:
+                          description: >-
+                            List of operation status values to generate
+                            notifications for (these apply to all access points
+                            within a zone).
+                          type: array
+                          items:
+                            description: The operation status of the access point
+                            type: string
+                            example: Serviceable
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+          examples:
+            application/json:
+              notificationSubscriptionList:
+                zoneStatusSubscription:
+                  - clientCorrelator: '0123'
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123
+                    callbackReference:
+                      notifyURL: >-
+                        http://clientApp.example.com/location_notifications/123456
+                    zoneId: zone01
+                    numberOfUsersZoneThreshold: '500'
+                    operationStatus: Serviceable
+                  - clientCorrelator: '0124'
+                    resourceURL: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription124
+                    callbackReference:
+                      notifyURL: >-
+                        http://clientApp.example.com/location_notifications/123457
+                    zoneId: zone02
+                    numberOfUsersAPThreshold: '50'
+                    operationStatus: Serviceable
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus
+    post:
+      description: >-
+        This operation is used for creating a new subscription to zone status
+        change notification.
+      produces:
+        - application/json
+      parameters:
+        - name: zoneStatusSubscription
+          in: body
+          description: Zone Status Subscription
+          required: true
+          schema:
+            required:
+              - callbackReference
+              - zoneId
+            properties:
+              clientCorrelator:
+                description: >-
+                  Uniquely identifies this create subscription request. If there
+                  is a communication failure during the request, using the same
+                  clientCorrelator when retrying the request allows the operator
+                  to avoid creating a duplicate subscription.
+                type: string
+                example: '0123'
+              resourceURL:
+                description: Self referring URL.
+                type: string
+                format: uri
+                example: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+              callbackReference:
+                required:
+                  - notifyURL
+                properties:
+                  notifyURL:
+                    description: The URL of your own listener application.
+                    type: string
+                    format: url
+                    example: 'http://clientApp.example.com/location_notifications/123456'
+              zoneId:
+                description: Identifier of zone
+                type: string
+                example: zone01
+              numberOfUsersZoneThreshold:
+                description: >-
+                  Threshold number of users in a zone which if crossed shall
+                  cause a notification.
+                type: integer
+                format: uint32
+                example: '40'
+              numberOfUsersAPThreshold:
+                description: >-
+                  Threshold number of users in an access point which if crossed
+                  shall cause a notification.
+                type: integer
+                format: uint32
+                example: '20'
+              operationStatus:
+                description: >-
+                  List of operation status values to generate notifications for
+                  (these apply to all access points within a zone).
+                type: array
+                items:
+                  description: The operation status of the access point
+                  type: string
+                  example: Serviceable
+      responses:
+        '201':
+          description: Response to create new zone status subscription
+          schema:
+            properties:
+              zonalTrafficSubscription:
+                required:
+                  - callbackReference
+                  - zoneId
+                properties:
+                  clientCorrelator:
+                    description: >-
+                      Uniquely identifies this create subscription request. If
+                      there is a communication failure during the request, using
+                      the same clientCorrelator when retrying the request allows
+                      the operator to avoid creating a duplicate subscription.
+                    type: string
+                    example: '0123'
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                  callbackReference:
+                    required:
+                      - notifyURL
+                    properties:
+                      notifyURL:
+                        description: The URL of your own listener application.
+                        type: string
+                        format: url
+                        example: >-
+                          http://clientApp.example.com/location_notifications/123456
+                  zoneId:
+                    description: Identifier of zone
+                    type: string
+                    example: zone01
+                  numberOfUsersZoneThreshold:
+                    description: >-
+                      Threshold number of users in a zone which if crossed shall
+                      cause a notification.
+                    type: integer
+                    format: uint32
+                    example: '40'
+                  numberOfUsersAPThreshold:
+                    description: >-
+                      Threshold number of users in an access point which if
+                      crossed shall cause a notification.
+                    type: integer
+                    format: uint32
+                    example: '20'
+                  operationStatus:
+                    description: >-
+                      List of operation status values to generate notifications
+                      for (these apply to all access points within a zone).
+                    type: array
+                    items:
+                      description: The operation status of the access point
+                      type: string
+                      example: Serviceable
+          examples:
+            application/json:
+              zoneStatusSubscription:
+                clientCorrelator: '0123'
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123
+                callbackReference:
+                  notifyURL: 'http://clientApp.example.com/location_notifications/123456'
+                zoneId: zone01
+                numberOfUsersZoneThreshold: '500'
+                operationStatus: Serviceable
+  '/subscriptions/zoneStatus/{subscriptionId}':
+    get:
+      description: >-
+        This operation is used for retrieving an individual subscription to zone
+        status change notification.
+      produces:
+        - application/json
+      parameters:
+        - name: subscriptionId
+          in: path
+          description: Subscription ID
+          required: true
+          type: string
+      responses:
+        '200':
+          description: Response to retrieve individual zone status subscription
+          schema:
+            properties:
+              zoneStatusSubscription:
+                required:
+                  - callbackReference
+                  - zoneId
+                properties:
+                  clientCorrelator:
+                    description: >-
+                      Uniquely identifies this create subscription request. If
+                      there is a communication failure during the request, using
+                      the same clientCorrelator when retrying the request allows
+                      the operator to avoid creating a duplicate subscription.
+                    type: string
+                    example: '0123'
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                  callbackReference:
+                    required:
+                      - notifyURL
+                    properties:
+                      notifyURL:
+                        description: The URL of your own listener application.
+                        type: string
+                        format: url
+                        example: >-
+                          http://clientApp.example.com/location_notifications/123456
+                  zoneId:
+                    description: Identifier of zone
+                    type: string
+                    example: zone01
+                  numberOfUsersZoneThreshold:
+                    description: >-
+                      Threshold number of users in a zone which if crossed shall
+                      cause a notification.
+                    type: integer
+                    format: uint32
+                    example: '40'
+                  numberOfUsersAPThreshold:
+                    description: >-
+                      Threshold number of users in an access point which if
+                      crossed shall cause a notification.
+                    type: integer
+                    format: uint32
+                    example: '20'
+                  operationStatus:
+                    description: >-
+                      List of operation status values to generate notifications
+                      for (these apply to all access points within a zone).
+                    type: array
+                    items:
+                      description: The operation status of the access point
+                      type: string
+                      example: Serviceable
+          examples:
+            application/json:
+              zoneStatusSubscription:
+                clientCorrelator: '0123'
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123
+                callbackReference:
+                  notifyURL: 'http://clientApp.example.com/location_notifications/123456'
+                zoneId: zone01
+                numberOfUsersZoneThreshold: '500'
+                operationStatus: Serviceable
+    put:
+      description: >-
+        This operation is used for updating an individual subscription to zone
+        status change notification.
+      produces:
+        - application/json
+      parameters:
+        - name: subscriptionId
+          in: path
+          description: Subscription ID
+          required: true
+          type: string
+        - name: zoneStatusSubscription
+          in: body
+          description: Zone Status Subscription
+          required: true
+          schema:
+            required:
+              - callbackReference
+              - zoneId
+            properties:
+              clientCorrelator:
+                description: >-
+                  Uniquely identifies this create subscription request. If there
+                  is a communication failure during the request, using the same
+                  clientCorrelator when retrying the request allows the operator
+                  to avoid creating a duplicate subscription.
+                type: string
+                example: '0123'
+              resourceURL:
+                description: Self referring URL.
+                type: string
+                format: uri
+                example: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+              callbackReference:
+                required:
+                  - notifyURL
+                properties:
+                  notifyURL:
+                    description: The URL of your own listener application.
+                    type: string
+                    format: url
+                    example: 'http://clientApp.example.com/location_notifications/123456'
+              zoneId:
+                description: Identifier of zone
+                type: string
+                example: zone01
+              numberOfUsersZoneThreshold:
+                description: >-
+                  Threshold number of users in a zone which if crossed shall
+                  cause a notification.
+                type: integer
+                format: uint32
+                example: '40'
+              numberOfUsersAPThreshold:
+                description: >-
+                  Threshold number of users in an access point which if crossed
+                  shall cause a notification.
+                type: integer
+                format: uint32
+                example: '20'
+              operationStatus:
+                description: >-
+                  List of operation status values to generate notifications for
+                  (these apply to all access points within a zone).
+                type: array
+                items:
+                  description: The operation status of the access point
+                  type: string
+                  example: Serviceable
+      responses:
+        '200':
+          description: Response to update individual zone status subscription
+          schema:
+            properties:
+              zoneStatusSubscription:
+                required:
+                  - callbackReference
+                  - zoneId
+                properties:
+                  clientCorrelator:
+                    description: >-
+                      Uniquely identifies this create subscription request. If
+                      there is a communication failure during the request, using
+                      the same clientCorrelator when retrying the request allows
+                      the operator to avoid creating a duplicate subscription.
+                    type: string
+                    example: '0123'
+                  resourceURL:
+                    description: Self referring URL.
+                    type: string
+                    format: uri
+                    example: >-
+                      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+                  callbackReference:
+                    required:
+                      - notifyURL
+                    properties:
+                      notifyURL:
+                        description: The URL of your own listener application.
+                        type: string
+                        format: url
+                        example: >-
+                          http://clientApp.example.com/location_notifications/123456
+                  zoneId:
+                    description: Identifier of zone
+                    type: string
+                    example: zone01
+                  numberOfUsersZoneThreshold:
+                    description: >-
+                      Threshold number of users in a zone which if crossed shall
+                      cause a notification.
+                    type: integer
+                    format: uint32
+                    example: '40'
+                  numberOfUsersAPThreshold:
+                    description: >-
+                      Threshold number of users in an access point which if
+                      crossed shall cause a notification.
+                    type: integer
+                    format: uint32
+                    example: '20'
+                  operationStatus:
+                    description: >-
+                      List of operation status values to generate notifications
+                      for (these apply to all access points within a zone).
+                    type: array
+                    items:
+                      description: The operation status of the access point
+                      type: string
+                      example: Serviceable
+          examples:
+            application/json:
+              zoneStatusSubscription:
+                clientCorrelator: '0123'
+                resourceURL: >-
+                  http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123
+                callbackReference:
+                  notifyURL: 'http://clientApp.example.com/location_notifications/123456'
+                zoneId: zone01
+                numberOfUsersZoneThreshold: '500'
+                operationStatus: Serviceable
+definitions:
+  AccessPointId:
+    description: >-
+      Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI TS
+      129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit
+      string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC.
+      The Cell Portion is an optional element
+    type: string
+    example: '001010000000000000000000000000001'
+  AccessPointInfo:
+    required:
+      - accessPointId
+      - connectionType
+      - operationStatus
+      - numberOfUsers
+      - resourceURL
+    properties:
+      accessPointId:
+        description: >-
+          Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI
+          TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity
+          (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3
+          digit MNC. The Cell Portion is an optional element
+        type: string
+        example: '001010000000000000000000000000001'
+      locationInfo:
+        description: >-
+          A type containing location information with latitude, longitude and
+          altitude, in addition the accuracy of the information are provided.
+        type: object
+        required:
+          - latitude
+          - longitude
+          - accuracy
+        properties:
+          latitude:
+            type: number
+            format: float
+            example: '80.123'
+          longitude:
+            type: number
+            format: float
+            example: '70.123'
+          altitude:
+            type: number
+            format: float
+            example: '10.0'
+          accuracy:
+            type: integer
+            format: int32
+            example: '10'
+      connectionType:
+        description: The connection type for the access point
+        type: string
+        example: Macro
+      operationStatus:
+        description: The operation status of the access point
+        type: string
+        example: Serviceable
+      numberOfUsers:
+        description: The number of users currently on the access point.
+        type: integer
+        format: uint32
+        example: '7'
+      timezone:
+        description: Time zone of access point
+        type: string
+        format: date-time
+        example: '2017-01-01T02:51:43Z'
+      interestRealm:
+        description: >-
+          Interest realm of access point (e.g. geographical area, a type of
+          industry etc.).
+        type: string
+        example: LA
+      resourceURL:
+        description: Self referring URL.
+        type: string
+        format: uri
+        example: >-
+          http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+  AccessPointList:
+    required:
+      - zoneId
+      - resourceURL
+    properties:
+      zoneId:
+        description: Identifier of zone
+        type: string
+        example: zone01
+      accessPoint:
+        description: Collection of the access point information list.
+        type: array
+        items:
+          required:
+            - accessPointId
+            - connectionType
+            - operationStatus
+            - numberOfUsers
+            - resourceURL
+          properties:
+            accessPointId:
+              description: >-
+                Identifier of access point, <E-CGI><Cell Portion ID> (reference
+                ETSI TS 129 171). Where the E-CGI is made up of the PLMN and
+                Cell Identity (28 bit string). Then the PLMN is made up of the 3
+                digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional
+                element
+              type: string
+              example: '001010000000000000000000000000001'
+            locationInfo:
+              description: >-
+                A type containing location information with latitude, longitude
+                and altitude, in addition the accuracy of the information are
+                provided.
+              type: object
+              required:
+                - latitude
+                - longitude
+                - accuracy
+              properties:
+                latitude:
+                  type: number
+                  format: float
+                  example: '80.123'
+                longitude:
+                  type: number
+                  format: float
+                  example: '70.123'
+                altitude:
+                  type: number
+                  format: float
+                  example: '10.0'
+                accuracy:
+                  type: integer
+                  format: int32
+                  example: '10'
+            connectionType:
+              description: The connection type for the access point
+              type: string
+              example: Macro
+            operationStatus:
+              description: The operation status of the access point
+              type: string
+              example: Serviceable
+            numberOfUsers:
+              description: The number of users currently on the access point.
+              type: integer
+              format: uint32
+              example: '7'
+            timezone:
+              description: Time zone of access point
+              type: string
+              format: date-time
+              example: '2017-01-01T02:51:43Z'
+            interestRealm:
+              description: >-
+                Interest realm of access point (e.g. geographical area, a type
+                of industry etc.).
+              type: string
+              example: LA
+            resourceURL:
+              description: Self referring URL.
+              type: string
+              format: uri
+              example: >-
+                http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+      resourceURL:
+        description: Self referring URL.
+        type: string
+        format: uri
+        example: >-
+          http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+  Address:
+    description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+    type: string
+    format: uri
+    example: 'acr:192.0.2.1'
+  AncillaryInfo:
+    required:
+      - address
+    properties:
+      address:
+        description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+        type: string
+        format: uri
+        example: 'acr:192.0.2.1'
+  CallbackData:
+    description: >-
+      CallBackData if passed by the application during the associated
+      ZonalTrafficSubscription and UserTrackingSubscription operation. See
+      [REST_NetAPI_Common].
+    type: string
+    example: '1234'
+  CallbackReference:
+    required:
+      - notifyURL
+    properties:
+      notifyURL:
+        description: The URL of your own listener application.
+        type: string
+        format: url
+        example: 'http://clientApp.example.com/location_notifications/123456'
+  ClientCorrelator:
+    description: >-
+      Uniquely identifies this create subscription request. If there is a
+      communication failure during the request, using the same clientCorrelator
+      when retrying the request allows the operator to avoid creating a
+      duplicate subscription.
+    type: string
+    example: '0123'
+  ConnectionType:
+    description: The connection type for the access point
+    type: string
+    example: Macro
+  ContextLocationInfo:
+    description: >-
+      Contextual information of a user location (e.g., aisle, floor, room
+      number, etc.)
+    type: string
+    example: GroundFoor
+  CurrentAccessPointId:
+    description: Zone ID
+    type: string
+    example: zone01
+  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: string
+    example: '0'
+  InterestRealm:
+    description: >-
+      Interest realm of access point (e.g. geographical area, a type of industry
+      etc.).
+    type: string
+    example: LA
+  Link:
+    required:
+      - rel
+      - href
+    properties:
+      rel:
+        description: Describes the relationship between the URI and the resource.
+        type: object
+        format: string
+      href:
+        description: URI
+        type: object
+        format: anyURI
+  LocationInfo:
+    description: >-
+      A type containing location information with latitude, longitude and
+      altitude, in addition the accuracy of the information are provided.
+    type: object
+    required:
+      - latitude
+      - longitude
+      - accuracy
+    properties:
+      latitude:
+        type: number
+        format: float
+        example: '80.123'
+      longitude:
+        type: number
+        format: float
+        example: '70.123'
+      altitude:
+        type: number
+        format: float
+        example: '10.0'
+      accuracy:
+        type: integer
+        format: int32
+        example: '10'
+  NotifyURL:
+    description: The URL of your own listener application.
+    type: string
+    format: url
+    example: 'http://clientApp.example.com/location_notifications/123456'
+  NumberOfAccessPoints:
+    description: The number of access points within the zone
+    type: integer
+    format: uint32
+    example: '10'
+  NumberOfUnserviceableAccessPoints:
+    description: Number of inoperable access points within the zone.
+    type: integer
+    format: uint32
+    example: '9'
+  NumberOfUsers:
+    description: The number of users currently on the access point.
+    type: integer
+    format: uint32
+    example: '7'
+  NumberOfUsersAPThreshold:
+    description: >-
+      Threshold number of users in an access point which if crossed shall cause
+      a notification.
+    type: integer
+    format: uint32
+    example: '20'
+  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
+    format: uint32
+    example: '12'
+  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
+    format: uint32
+    example: '20'
+  NumberOfUsersZoneThreshold:
+    description: >-
+      Threshold number of users in a zone which if crossed shall cause a
+      notification.
+    type: integer
+    format: uint32
+    example: '40'
+  OperationStatus:
+    description: The operation status of the access point
+    type: string
+    example: Serviceable
+  PreviousAccessPointId:
+    description: Zone ID
+    type: string
+    example: zone02
+  ResourceURL:
+    description: Self referring URL.
+    type: string
+    format: uri
+    example: >-
+      http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+  Timestamp:
+    description: Indicates the time of day for zonal presence notification.
+    type: string
+    format: date-time
+    example: '2017-01-01T02:51:43Z'
+  Timezone:
+    description: Time zone of access point
+    type: string
+    format: date-time
+    example: '2017-01-01T02:51:43Z'
+  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.
+    type: array
+    items:
+      description: User event
+      type: string
+      example: Entering
+  UserEventType:
+    description: User event
+    type: string
+    example: Entering
+  UserInfo:
+    required:
+      - address
+      - accessPointId
+      - zoneId
+      - resourceURL
+    properties:
+      address:
+        description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+        type: string
+        format: uri
+        example: 'acr:192.0.2.1'
+      accessPointId:
+        description: >-
+          Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI
+          TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity
+          (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3
+          digit MNC. The Cell Portion is an optional element
+        type: string
+        example: '001010000000000000000000000000001'
+      zoneId:
+        description: Identifier of zone
+        type: string
+        example: zone01
+      resourceURL:
+        description: Self referring URL.
+        type: string
+        format: uri
+        example: >-
+          http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+      locationInfo:
+        description: >-
+          A type containing location information with latitude, longitude and
+          altitude, in addition the accuracy of the information are provided.
+        type: object
+        required:
+          - latitude
+          - longitude
+          - accuracy
+        properties:
+          latitude:
+            type: number
+            format: float
+            example: '80.123'
+          longitude:
+            type: number
+            format: float
+            example: '70.123'
+          altitude:
+            type: number
+            format: float
+            example: '10.0'
+          accuracy:
+            type: integer
+            format: int32
+            example: '10'
+      contextLocationInfo:
+        description: >-
+          Contextual information of a user location (e.g., aisle, floor, room
+          number, etc.)
+        type: string
+        example: GroundFoor
+      ancillaryInfo:
+        required:
+          - address
+        properties:
+          address:
+            description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+            type: string
+            format: uri
+            example: 'acr:192.0.2.1'
+  UserList:
+    description: A type containing list of users.
+    required:
+      - resourceURL
+    properties:
+      user:
+        description: Collection of the zone information list.
+        type: array
+        items:
+          required:
+            - address
+            - accessPointId
+            - zoneId
+            - resourceURL
+          properties:
+            address:
+              description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+              type: string
+              format: uri
+              example: 'acr:192.0.2.1'
+            accessPointId:
+              description: >-
+                Identifier of access point, <E-CGI><Cell Portion ID> (reference
+                ETSI TS 129 171). Where the E-CGI is made up of the PLMN and
+                Cell Identity (28 bit string). Then the PLMN is made up of the 3
+                digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional
+                element
+              type: string
+              example: '001010000000000000000000000000001'
+            zoneId:
+              description: Identifier of zone
+              type: string
+              example: zone01
+            resourceURL:
+              description: Self referring URL.
+              type: string
+              format: uri
+              example: >-
+                http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+            locationInfo:
+              description: >-
+                A type containing location information with latitude, longitude
+                and altitude, in addition the accuracy of the information are
+                provided.
+              type: object
+              required:
+                - latitude
+                - longitude
+                - accuracy
+              properties:
+                latitude:
+                  type: number
+                  format: float
+                  example: '80.123'
+                longitude:
+                  type: number
+                  format: float
+                  example: '70.123'
+                altitude:
+                  type: number
+                  format: float
+                  example: '10.0'
+                accuracy:
+                  type: integer
+                  format: int32
+                  example: '10'
+            contextLocationInfo:
+              description: >-
+                Contextual information of a user location (e.g., aisle, floor,
+                room number, etc.)
+              type: string
+              example: GroundFoor
+            ancillaryInfo:
+              required:
+                - address
+              properties:
+                address:
+                  description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+                  type: string
+                  format: uri
+                  example: 'acr:192.0.2.1'
+      resourceURL:
+        description: Self referring URL.
+        type: string
+        format: uri
+        example: >-
+          http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+  UserTrackingSubscription:
+    required:
+      - callbackReference
+      - address
+    properties:
+      clientCorrelator:
+        description: >-
+          Uniquely identifies this create subscription request. If there is a
+          communication failure during the request, using the same
+          clientCorrelator when retrying the request allows the operator to
+          avoid creating a duplicate subscription.
+        type: string
+        example: '0123'
+      callbackReference:
+        required:
+          - notifyURL
+        properties:
+          notifyURL:
+            description: The URL of your own listener application.
+            type: string
+            format: url
+            example: 'http://clientApp.example.com/location_notifications/123456'
+      address:
+        description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+        type: string
+        format: uri
+        example: 'acr:192.0.2.1'
+      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.
+        type: array
+        items:
+          description: User event
+          type: string
+          example: Entering
+      resourceURL:
+        description: Self referring URL.
+        type: string
+        format: uri
+        example: >-
+          http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+  ZonalPresenceNotification:
+    required:
+      - zoneId
+      - address
+      - userEventType
+      - currentAccessPointId
+      - timestamp
+    properties:
+      callbackData:
+        description: >-
+          CallBackData if passed by the application during the associated
+          ZonalTrafficSubscription and UserTrackingSubscription operation. See
+          [REST_NetAPI_Common].
+        type: string
+        example: '1234'
+      zoneId:
+        description: Identifier of zone
+        type: string
+        example: zone01
+      address:
+        description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
+        type: string
+        format: uri
+        example: 'acr:192.0.2.1'
+      interestRealm:
+        description: >-
+          Interest realm of access point (e.g. geographical area, a type of
+          industry etc.).
+        type: string
+        example: LA
+      userEventType:
+        description: User event
+        type: string
+        example: Entering
+      currentAccessPointId:
+        description: Zone ID
+        type: string
+        example: zone01
+      previousAccessPointId:
+        description: Zone ID
+        type: string
+        example: zone02
+      timestamp:
+        description: Indicates the time of day for zonal presence notification.
+        type: string
+        format: date-time
+        example: '2017-01-01T02:51:43Z'
+      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.
+        type: array
+        items:
+          required:
+            - rel
+            - href
+          properties:
+            rel:
+              description: Describes the relationship between the URI and the resource.
+              type: object
+              format: string
+            href:
+              description: URI
+              type: object
+              format: anyURI
+        example: >-
+          rel="ZonalTrafficSubscription"
+          href="http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/sub123"/
+  ZonalTrafficSubscription:
+    description: A type containing zonal traffic subscription
+    type: object
+    required:
+      - callbackReference
+      - zoneId
+    properties:
+      clientCorrelator:
+        description: >-
+          Uniquely identifies this create subscription request. If there is a
+          communication failure during the request, using the same
+          clientCorrelator when retrying the request allows the operator to
+          avoid creating a duplicate subscription.
+        type: string
+        example: '0123'
+      callbackReference:
+        required:
+          - notifyURL
+        properties:
+          notifyURL:
+            description: The URL of your own listener application.
+            type: string
+            format: url
+            example: 'http://clientApp.example.com/location_notifications/123456'
+      zoneId:
+        description: Identifier of zone
+        type: string
+        example: zone01
+      interestRealm:
+        description: >-
+          Interest realms of access points within a zone (e.g. geographical
+          area, a type of industry etc.).
+        type: array
+        items:
+          description: >-
+            Interest realm of access point (e.g. geographical area, a type of
+            industry etc.).
+          type: string
+          example: LA
+      userEventCriteria:
+        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.
+        type: array
+        items:
+          description: User event
+          type: string
+          example: Entering
+      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: string
+        example: '0'
+      resourceURL:
+        description: Self referring URL.
+        type: string
+        format: uri
+        example: >-
+          http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+  ZoneId:
+    description: Identifier of zone
+    type: string
+    example: zone01
+  ZoneInfo:
+    description: A type containing zone information.
+    required:
+      - zoneId
+      - numberOfAccessPoints
+      - numberOfUnservicableAccessPoints
+      - numberOfUsers
+      - resourceURL
+    properties:
+      zoneId:
+        description: Identifier of zone
+        type: string
+        example: zone01
+      numberOfAccessPoints:
+        description: The number of access points within the zone
+        type: integer
+        format: uint32
+        example: '10'
+      numberOfUnservicableAccessPoints:
+        description: Number of inoperable access points within the zone.
+        type: integer
+        format: uint32
+        example: '9'
+      numberOfUsers:
+        description: The number of users currently on the access point.
+        type: integer
+        format: uint32
+        example: '7'
+      resourceURL:
+        description: Self referring URL.
+        type: string
+        format: uri
+        example: >-
+          http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+  ZoneList:
+    description: Collection of the zone information list.
+    required:
+      - resourceURL
+    properties:
+      zone:
+        description: Collection of the zone information list.
+        type: array
+        items:
+          description: A type containing zone information.
+          required:
+            - zoneId
+            - numberOfAccessPoints
+            - numberOfUnservicableAccessPoints
+            - numberOfUsers
+            - resourceURL
+          properties:
+            zoneId:
+              description: Identifier of zone
+              type: string
+              example: zone01
+            numberOfAccessPoints:
+              description: The number of access points within the zone
+              type: integer
+              format: uint32
+              example: '10'
+            numberOfUnservicableAccessPoints:
+              description: Number of inoperable access points within the zone.
+              type: integer
+              format: uint32
+              example: '9'
+            numberOfUsers:
+              description: The number of users currently on the access point.
+              type: integer
+              format: uint32
+              example: '7'
+            resourceURL:
+              description: Self referring URL.
+              type: string
+              format: uri
+              example: >-
+                http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+      resourceURL:
+        description: Self referring URL.
+        type: string
+        format: uri
+        example: >-
+          http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+  ZoneStatusNotification:
+    required:
+      - zoneId
+      - timestamp
+    properties:
+      callbackData:
+        description: >-
+          CallBackData if passed by the application during the associated
+          ZonalTrafficSubscription and UserTrackingSubscription operation. See
+          [REST_NetAPI_Common].
+        type: string
+        example: '1234'
+      zoneId:
+        description: Identifier of zone
+        type: string
+        example: zone01
+      accessPointId:
+        description: >-
+          Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI
+          TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity
+          (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3
+          digit MNC. The Cell Portion is an optional element
+        type: string
+        example: '001010000000000000000000000000001'
+      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
+        format: uint32
+        example: '20'
+      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
+        format: uint32
+        example: '12'
+      operationStatus:
+        description: The operation status of the access point
+        type: string
+        example: Serviceable
+      timestamp:
+        description: Indicates the time of day for zonal presence notification.
+        type: string
+        format: date-time
+        example: '2017-01-01T02:51:43Z'
+      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.
+        type: array
+        items:
+          required:
+            - rel
+            - href
+          properties:
+            rel:
+              description: Describes the relationship between the URI and the resource.
+              type: object
+              format: string
+            href:
+              description: URI
+              type: object
+              format: anyURI
+        example: >-
+          rel="ZonalStatusSubscription"
+          href="http://example.com/exampleAPI/location/v1/subscriptions/zonalStatus/sub123"
+  ZoneStatusSubscription:
+    required:
+      - callbackReference
+      - zoneId
+    properties:
+      clientCorrelator:
+        description: >-
+          Uniquely identifies this create subscription request. If there is a
+          communication failure during the request, using the same
+          clientCorrelator when retrying the request allows the operator to
+          avoid creating a duplicate subscription.
+        type: string
+        example: '0123'
+      resourceURL:
+        description: Self referring URL.
+        type: string
+        format: uri
+        example: >-
+          http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123
+      callbackReference:
+        required:
+          - notifyURL
+        properties:
+          notifyURL:
+            description: The URL of your own listener application.
+            type: string
+            format: url
+            example: 'http://clientApp.example.com/location_notifications/123456'
+      zoneId:
+        description: Identifier of zone
+        type: string
+        example: zone01
+      numberOfUsersZoneThreshold:
+        description: >-
+          Threshold number of users in a zone which if crossed shall cause a
+          notification.
+        type: integer
+        format: uint32
+        example: '40'
+      numberOfUsersAPThreshold:
+        description: >-
+          Threshold number of users in an access point which if crossed shall
+          cause a notification.
+        type: integer
+        format: uint32
+        example: '20'
+      operationStatus:
+        description: >-
+          List of operation status values to generate notifications for (these
+          apply to all access points within a zone).
+        type: array
+        items:
+          description: The operation status of the access point
+          type: string
+          example: Serviceable
+
diff --git a/definitions/AccessPointId.yaml b/definitions/AccessPointId.yaml
new file mode 100644 (file)
index 0000000..6c4cf1b
--- /dev/null
@@ -0,0 +1,4 @@
+description: >-
+  Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element
+type: string
+example: "001010000000000000000000000000001"
\ No newline at end of file
diff --git a/definitions/AccessPointInfo.yaml b/definitions/AccessPointInfo.yaml
new file mode 100644 (file)
index 0000000..7dfc453
--- /dev/null
@@ -0,0 +1,23 @@
+required:
+- accessPointId
+- connectionType
+- operationStatus
+- numberOfUsers
+- resourceURL
+properties:
+  accessPointId:
+    $ref: '#/definitions/AccessPointId'
+  locationInfo:
+    $ref: '#/definitions/LocationInfo'
+  connectionType:
+    $ref: '#/definitions/ConnectionType'
+  operationStatus:
+    $ref: '#/definitions/OperationStatus'
+  numberOfUsers:
+    $ref: '#/definitions/NumberOfUsers'
+  timezone:
+    $ref: '#/definitions/Timezone'
+  interestRealm:
+    $ref: '#/definitions/InterestRealm'
+  resourceURL:
+    $ref: '#/definitions/ResourceURL'
\ No newline at end of file
diff --git a/definitions/AccessPointList.yaml b/definitions/AccessPointList.yaml
new file mode 100644 (file)
index 0000000..e324425
--- /dev/null
@@ -0,0 +1,13 @@
+required:
+- zoneId
+- resourceURL
+properties:
+  zoneId:
+    $ref: '#/definitions/ZoneId'
+  accessPoint:
+    description: Collection of the access point information list.
+    type: array
+    items:
+      $ref: '#/definitions/AccessPointInfo'
+  resourceURL:
+    $ref: '#/definitions/ResourceURL'
\ No newline at end of file
diff --git a/definitions/Address.yaml b/definitions/Address.yaml
new file mode 100644 (file)
index 0000000..2610e1f
--- /dev/null
@@ -0,0 +1,4 @@
+description: Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).
+type: string
+format: uri
+example: "acr:192.0.2.1"
\ No newline at end of file
diff --git a/definitions/AncillaryInfo.yaml b/definitions/AncillaryInfo.yaml
new file mode 100644 (file)
index 0000000..90cf1f0
--- /dev/null
@@ -0,0 +1,5 @@
+required:
+- address
+properties:
+  address:
+    $ref: '#/definitions/Address'
\ No newline at end of file
diff --git a/definitions/CallbackData.yaml b/definitions/CallbackData.yaml
new file mode 100644 (file)
index 0000000..e2e5f40
--- /dev/null
@@ -0,0 +1,3 @@
+description: CallBackData if passed by the application during the associated ZonalTrafficSubscription and UserTrackingSubscription operation. See [REST_NetAPI_Common].
+type: string
+example: "1234"
\ No newline at end of file
diff --git a/definitions/CallbackReference.yaml b/definitions/CallbackReference.yaml
new file mode 100644 (file)
index 0000000..fb5a1e8
--- /dev/null
@@ -0,0 +1,5 @@
+required:
+- notifyURL
+properties:
+  notifyURL:
+    $ref: '#/definitions/NotifyURL'
\ No newline at end of file
diff --git a/definitions/ClientCorrelator.yaml b/definitions/ClientCorrelator.yaml
new file mode 100644 (file)
index 0000000..17d15a7
--- /dev/null
@@ -0,0 +1,3 @@
+description: Uniquely identifies this create subscription request. If there is a communication failure during the request, using the same clientCorrelator when retrying the request allows the operator to avoid creating a duplicate subscription.
+type: string
+example: "0123"
\ No newline at end of file
diff --git a/definitions/ConnectionType.yaml b/definitions/ConnectionType.yaml
new file mode 100644 (file)
index 0000000..9be13a6
--- /dev/null
@@ -0,0 +1,3 @@
+description: The connection type for the access point
+type: string
+example: "Macro"
\ No newline at end of file
diff --git a/definitions/ContextLocationInfo.yaml b/definitions/ContextLocationInfo.yaml
new file mode 100644 (file)
index 0000000..5326e7d
--- /dev/null
@@ -0,0 +1,3 @@
+description: Contextual information of a user location (e.g., aisle, floor, room number, etc.)
+type: string
+example: "GroundFoor"
\ No newline at end of file
diff --git a/definitions/CurrentAccessPointId.yaml b/definitions/CurrentAccessPointId.yaml
new file mode 100644 (file)
index 0000000..9f454cf
--- /dev/null
@@ -0,0 +1,3 @@
+description: Zone ID
+type: string
+example: "zone01"
\ No newline at end of file
diff --git a/definitions/Duration.yaml b/definitions/Duration.yaml
new file mode 100644 (file)
index 0000000..318a0b6
--- /dev/null
@@ -0,0 +1,3 @@
+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: string
+example: "0"
\ No newline at end of file
diff --git a/definitions/InterestRealm.yaml b/definitions/InterestRealm.yaml
new file mode 100644 (file)
index 0000000..9fc7809
--- /dev/null
@@ -0,0 +1,3 @@
+description: Interest realm of access point (e.g. geographical area, a type of industry etc.).
+type: string
+example: "LA"
\ No newline at end of file
diff --git a/definitions/Link.yaml b/definitions/Link.yaml
new file mode 100644 (file)
index 0000000..163887f
--- /dev/null
@@ -0,0 +1,12 @@
+required:
+- rel
+- href
+properties:
+  rel:
+    description: Describes the relationship between the URI and the resource. 
+    type: object
+    format: string
+  href: 
+    description: URI 
+    type: object
+    format: anyURI
diff --git a/definitions/LocationInfo.yaml b/definitions/LocationInfo.yaml
new file mode 100644 (file)
index 0000000..f74e791
--- /dev/null
@@ -0,0 +1,23 @@
+description: A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.
+type: object
+required:
+- latitude
+- longitude
+- accuracy
+properties:
+  latitude:
+    type: number
+    format: float
+    example: "80.123"
+  longitude:
+    type: number
+    format: float
+    example: "70.123"
+  altitude:
+    type: number
+    format: float
+    example: "10.0"
+  accuracy:
+    type: integer
+    format: int32
+    example: "10"
\ No newline at end of file
diff --git a/definitions/NotifyURL.yaml b/definitions/NotifyURL.yaml
new file mode 100644 (file)
index 0000000..87b0555
--- /dev/null
@@ -0,0 +1,4 @@
+description: The URL of your own listener application.
+type: string
+format: url
+example: "http://clientApp.example.com/location_notifications/123456"
\ No newline at end of file
diff --git a/definitions/NumberOfAccessPoints.yaml b/definitions/NumberOfAccessPoints.yaml
new file mode 100644 (file)
index 0000000..4792bf3
--- /dev/null
@@ -0,0 +1,4 @@
+description: The number of access points within the zone
+type: integer
+format: uint32
+example: "10"
\ No newline at end of file
diff --git a/definitions/NumberOfUnserviceableAccessPoints.yaml b/definitions/NumberOfUnserviceableAccessPoints.yaml
new file mode 100644 (file)
index 0000000..0817f18
--- /dev/null
@@ -0,0 +1,4 @@
+description: Number of inoperable access points within the zone.
+type: integer
+format: uint32
+example: "9"
\ No newline at end of file
diff --git a/definitions/NumberOfUsers.yaml b/definitions/NumberOfUsers.yaml
new file mode 100644 (file)
index 0000000..c1f672a
--- /dev/null
@@ -0,0 +1,4 @@
+description: The number of users currently on the access point.
+type: integer
+format: uint32
+example: "7"
\ No newline at end of file
diff --git a/definitions/NumberOfUsersAPThreshold.yaml b/definitions/NumberOfUsersAPThreshold.yaml
new file mode 100644 (file)
index 0000000..55dc370
--- /dev/null
@@ -0,0 +1,4 @@
+description: Threshold number of users in an access point which if crossed shall cause a notification.
+type: integer
+format: uint32
+example: "20"
\ No newline at end of file
diff --git a/definitions/NumberOfUsersInAP.yaml b/definitions/NumberOfUsersInAP.yaml
new file mode 100644 (file)
index 0000000..0cbd5d8
--- /dev/null
@@ -0,0 +1,4 @@
+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
+format: uint32
+example: "12"
\ No newline at end of file
diff --git a/definitions/NumberOfUsersInZone.yaml b/definitions/NumberOfUsersInZone.yaml
new file mode 100644 (file)
index 0000000..24012a2
--- /dev/null
@@ -0,0 +1,4 @@
+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
+format: uint32
+example: "20"
\ No newline at end of file
diff --git a/definitions/NumberOfUsersZoneThreshold.yaml b/definitions/NumberOfUsersZoneThreshold.yaml
new file mode 100644 (file)
index 0000000..097fe6f
--- /dev/null
@@ -0,0 +1,4 @@
+description: Threshold number of users in a zone which if crossed shall cause a notification.
+type: integer
+format: uint32
+example: "40"
\ No newline at end of file
diff --git a/definitions/OperationStatus.yaml b/definitions/OperationStatus.yaml
new file mode 100644 (file)
index 0000000..8ad47b5
--- /dev/null
@@ -0,0 +1,3 @@
+description: The operation status of the access point
+type: string
+example: "Serviceable"
\ No newline at end of file
diff --git a/definitions/PreviousAccessPointId.yaml b/definitions/PreviousAccessPointId.yaml
new file mode 100644 (file)
index 0000000..b909c75
--- /dev/null
@@ -0,0 +1,3 @@
+description: Zone ID
+type: string
+example: "zone02"
\ No newline at end of file
diff --git a/definitions/ResourceURL.yaml b/definitions/ResourceURL.yaml
new file mode 100644 (file)
index 0000000..426a17f
--- /dev/null
@@ -0,0 +1,4 @@
+description: Self referring URL.
+type: string
+format: uri
+example: "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123"
\ No newline at end of file
diff --git a/definitions/Timestamp.yaml b/definitions/Timestamp.yaml
new file mode 100644 (file)
index 0000000..46724f0
--- /dev/null
@@ -0,0 +1,4 @@
+description: Indicates the time of day for zonal presence notification.
+type: string
+format: date-time  
+example: "2017-01-01T02:51:43Z"
\ No newline at end of file
diff --git a/definitions/Timezone.yaml b/definitions/Timezone.yaml
new file mode 100644 (file)
index 0000000..7846b71
--- /dev/null
@@ -0,0 +1,4 @@
+description: Time zone of access point
+type: string
+format: date-time
+example: "2017-01-01T02:51:43Z"
\ No newline at end of file
diff --git a/definitions/UserEventCriteria.yaml b/definitions/UserEventCriteria.yaml
new file mode 100644 (file)
index 0000000..bb02d36
--- /dev/null
@@ -0,0 +1,4 @@
+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.
+type: array
+items:
+  $ref: '#/definitions/UserEventType'
\ No newline at end of file
diff --git a/definitions/UserEventType.yaml b/definitions/UserEventType.yaml
new file mode 100644 (file)
index 0000000..642f32e
--- /dev/null
@@ -0,0 +1,3 @@
+description: User event
+type: string
+example: "Entering"
\ No newline at end of file
diff --git a/definitions/UserInfo.yaml b/definitions/UserInfo.yaml
new file mode 100644 (file)
index 0000000..5f2bf93
--- /dev/null
@@ -0,0 +1,20 @@
+required:
+- address
+- accessPointId
+- zoneId
+- resourceURL
+properties:
+  address:
+    $ref: '#/definitions/Address'
+  accessPointId:
+    $ref: '#/definitions/AccessPointId'
+  zoneId:
+    $ref: '#/definitions/ZoneId'
+  resourceURL:
+    $ref: '#/definitions/ResourceURL'
+  locationInfo:
+    $ref: '#/definitions/LocationInfo'
+  contextLocationInfo:
+    $ref: '#/definitions/ContextLocationInfo'
+  ancillaryInfo:
+    $ref: '#/definitions/AncillaryInfo'
\ No newline at end of file
diff --git a/definitions/UserList.yaml b/definitions/UserList.yaml
new file mode 100644 (file)
index 0000000..bfdd096
--- /dev/null
@@ -0,0 +1,11 @@
+description: A type containing list of users.
+required:
+- resourceURL
+properties:
+  user:
+    description: Collection of the zone information list.
+    type: array
+    items:
+      $ref: '#/definitions/UserInfo'
+  resourceURL:
+    $ref: '#/definitions/ResourceURL'
\ No newline at end of file
diff --git a/definitions/UserTrackingSubscription.yaml b/definitions/UserTrackingSubscription.yaml
new file mode 100644 (file)
index 0000000..4253016
--- /dev/null
@@ -0,0 +1,14 @@
+required:
+- callbackReference
+- address
+properties:
+  clientCorrelator:
+    $ref: '#/definitions/ClientCorrelator'
+  callbackReference:
+    $ref: '#/definitions/CallbackReference'
+  address:
+    $ref: '#/definitions/Address'
+  userEventCriteria:
+    $ref: '#/definitions/UserEventCriteria'
+  resourceURL:
+    $ref: '#/definitions/ResourceURL'
\ No newline at end of file
diff --git a/definitions/ZonalPresenceNotification.yaml b/definitions/ZonalPresenceNotification.yaml
new file mode 100644 (file)
index 0000000..3359e3d
--- /dev/null
@@ -0,0 +1,29 @@
+required:
+- zoneId
+- address
+- userEventType
+- currentAccessPointId
+- timestamp
+properties:
+  callbackData:
+    $ref: '#/definitions/CallbackData'
+  zoneId:
+    $ref: '#/definitions/ZoneId'
+  address:
+    $ref: '#/definitions/Address'
+  interestRealm:
+    $ref: '#/definitions/InterestRealm'
+  userEventType:
+    $ref: '#/definitions/UserEventType'
+  currentAccessPointId:
+    $ref: '#/definitions/CurrentAccessPointId'
+  previousAccessPointId:
+    $ref: '#/definitions/PreviousAccessPointId'
+  timestamp:
+    $ref: '#/definitions/Timestamp'
+  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.
+    type: array
+    items:
+      $ref: '#/definitions/Link'
+    example: rel="ZonalTrafficSubscription" href="http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/sub123"/
diff --git a/definitions/ZonalTrafficSubscription.yaml b/definitions/ZonalTrafficSubscription.yaml
new file mode 100644 (file)
index 0000000..0ab3cfe
--- /dev/null
@@ -0,0 +1,27 @@
+description: A type containing zonal traffic subscription
+type: object
+required: 
+- callbackReference
+- zoneId
+properties:
+  clientCorrelator:
+    $ref: '#/definitions/ClientCorrelator'
+  callbackReference:
+    $ref: '#/definitions/CallbackReference'
+  zoneId:
+    $ref: '#/definitions/ZoneId'
+  interestRealm:
+    description: Interest realms of access points within a zone (e.g. geographical area, a type of industry etc.).
+    type: array
+    items:
+      $ref: '#/definitions/InterestRealm'
+  userEventCriteria:
+#    $ref: '#/definitions/UserEventCriteria'
+    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.
+    type: array
+    items:
+      $ref: '#/definitions/UserEventType'
+  duration:
+    $ref: '#/definitions/Duration'
+  resourceURL:
+    $ref: '#/definitions/ResourceURL'
\ No newline at end of file
diff --git a/definitions/ZoneId.yaml b/definitions/ZoneId.yaml
new file mode 100644 (file)
index 0000000..9ccb59f
--- /dev/null
@@ -0,0 +1,3 @@
+description: Identifier of zone
+type: string
+example: "zone01"
\ No newline at end of file
diff --git a/definitions/ZoneInfo.yaml b/definitions/ZoneInfo.yaml
new file mode 100644 (file)
index 0000000..8f74b65
--- /dev/null
@@ -0,0 +1,18 @@
+description: A type containing zone information.
+required:
+- zoneId
+- numberOfAccessPoints
+- numberOfUnservicableAccessPoints
+- numberOfUsers
+- resourceURL
+properties:
+  zoneId:
+    $ref: '#/definitions/ZoneId'
+  numberOfAccessPoints:
+    $ref: '#/definitions/NumberOfAccessPoints'
+  numberOfUnservicableAccessPoints:
+    $ref: '#/definitions/NumberOfUnserviceableAccessPoints'
+  numberOfUsers:
+    $ref: '#/definitions/NumberOfUsers'
+  resourceURL:
+    $ref: '#/definitions/ResourceURL'
\ No newline at end of file
diff --git a/definitions/ZoneList.yaml b/definitions/ZoneList.yaml
new file mode 100644 (file)
index 0000000..e5945c3
--- /dev/null
@@ -0,0 +1,11 @@
+description: Collection of the zone information list.
+required:
+- resourceURL
+properties:
+  zone:
+    description: Collection of the zone information list.
+    type: array
+    items:
+      $ref: '#/definitions/ZoneInfo'
+  resourceURL:
+    $ref: '#/definitions/ResourceURL'
diff --git a/definitions/ZoneStatusNotification.yaml b/definitions/ZoneStatusNotification.yaml
new file mode 100644 (file)
index 0000000..5d94491
--- /dev/null
@@ -0,0 +1,24 @@
+required:
+- zoneId
+- timestamp
+properties:
+  callbackData:
+    $ref: '#/definitions/CallbackData'
+  zoneId:
+    $ref: '#/definitions/ZoneId'
+  accessPointId:
+    $ref: '#/definitions/AccessPointId'
+  numberOfUsersInZone:
+    $ref: '#/definitions/NumberOfUsersInZone'
+  numberOfUsersInAP:
+    $ref: '#/definitions/NumberOfUsersInAP'
+  operationStatus:
+    $ref: '#/definitions/OperationStatus'
+  timestamp:
+    $ref: '#/definitions/Timestamp'
+  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.
+    type: array
+    items:
+      $ref: '#/definitions/Link'
+    example: rel="ZonalStatusSubscription" href="http://example.com/exampleAPI/location/v1/subscriptions/zonalStatus/sub123"
diff --git a/definitions/ZoneStatusSubscription.yaml b/definitions/ZoneStatusSubscription.yaml
new file mode 100644 (file)
index 0000000..7c9ecb3
--- /dev/null
@@ -0,0 +1,21 @@
+required:
+- callbackReference
+- zoneId
+properties:
+  clientCorrelator:
+    $ref: '#/definitions/ClientCorrelator'
+  resourceURL:
+    $ref: '#/definitions/ResourceURL'
+  callbackReference:
+    $ref: '#/definitions/CallbackReference'
+  zoneId:
+    $ref: '#/definitions/ZoneId'
+  numberOfUsersZoneThreshold:
+    $ref: '#/definitions/NumberOfUsersZoneThreshold'
+  numberOfUsersAPThreshold:
+    $ref: '#/definitions/NumberOfUsersAPThreshold'
+  operationStatus:
+    description: List of operation status values to generate notifications for (these apply to all access points within a zone).
+    type: array
+    items:
+      $ref: '#/definitions/OperationStatus'
\ No newline at end of file
diff --git a/definitions/index.yaml b/definitions/index.yaml
new file mode 100644 (file)
index 0000000..03e08bb
--- /dev/null
@@ -0,0 +1,119 @@
+AccessPointId:
+  $ref: ./AccessPointId.yaml
+
+AccessPointInfo:
+  $ref: ./AccessPointInfo.yaml
+         
+AccessPointList:
+  $ref: ./AccessPointList.yaml
+        
+Address:
+  $ref: ./Address.yaml
+
+AncillaryInfo:
+  $ref: ./AncillaryInfo.yaml
+
+CallbackData:
+  $ref: ./CallbackData.yaml
+
+CallbackReference:
+  $ref: ./CallbackReference.yaml
+
+ClientCorrelator:
+  $ref: ./ClientCorrelator.yaml
+       
+ConnectionType:
+  $ref: ./ConnectionType.yaml
+
+ContextLocationInfo:
+  $ref: ./ContextLocationInfo.yaml
+
+CurrentAccessPointId:
+  $ref: ./CurrentAccessPointId.yaml
+       
+Duration:
+  $ref: ./Duration.yaml
+       
+InterestRealm:
+  $ref: ./InterestRealm.yaml
+
+Link:
+  $ref: ./Link.yaml
+
+LocationInfo:
+  $ref: ./LocationInfo.yaml
+       
+NotifyURL:
+  $ref: ./NotifyURL.yaml
+        
+NumberOfAccessPoints:
+  $ref: ./NumberOfAccessPoints.yaml
+
+NumberOfUnserviceableAccessPoints:
+  $ref: ./NumberOfUnserviceableAccessPoints.yaml
+
+NumberOfUsers:
+  $ref: ./NumberOfUsers.yaml
+        
+NumberOfUsersAPThreshold:
+  $ref: ./NumberOfUsersAPThreshold.yaml
+
+NumberOfUsersInAP:
+  $ref: ./NumberOfUsersInAP.yaml
+        
+NumberOfUsersInZone:
+  $ref: ./NumberOfUsersInZone.yaml
+
+NumberOfUsersZoneThreshold:
+  $ref: ./NumberOfUsersZoneThreshold.yaml
+
+OperationStatus:
+  $ref: ./OperationStatus.yaml
+
+PreviousAccessPointId:
+  $ref: ./PreviousAccessPointId.yaml
+
+ResourceURL:
+  $ref: ./ResourceURL.yaml
+
+Timestamp:
+  $ref: ./Timestamp.yaml
+        
+Timezone:
+  $ref: ./Timezone.yaml
+
+UserEventCriteria:
+  $ref: ./UserEventCriteria.yaml
+
+UserEventType:
+  $ref: ./UserEventType.yaml
+
+UserInfo:
+  $ref: ./UserInfo.yaml
+
+UserList:
+  $ref: ./UserList.yaml
+
+UserTrackingSubscription:
+  $ref: ./UserTrackingSubscription.yaml
+
+ZonalPresenceNotification:
+  $ref: ./ZonalPresenceNotification.yaml
+
+ZonalTrafficSubscription:
+  $ref: ./ZonalTrafficSubscription.yaml
+
+ZoneId:
+  $ref: ./ZoneId.yaml
+
+ZoneInfo:
+  $ref: ./ZoneInfo.yaml
+
+ZoneList:
+  $ref: ./ZoneList.yaml
+
+ZoneStatusNotification:
+  $ref: ./ZoneStatusNotification.yaml
+
+ZoneStatusSubscription:
+  $ref: ./ZoneStatusSubscription.yaml
\ No newline at end of file
diff --git a/examples/AccessPointInfo.json b/examples/AccessPointInfo.json
new file mode 100644 (file)
index 0000000..d648cd5
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "accessPointInfo": {
+    "accessPointId": "001010000000000000000000000000001",
+    "locationInfo": {
+      "latitude": "90.123",
+      "longitude": "80.123",
+      "altitude": "10.0",
+      "accuracy": "0"
+    },
+    "connectionType": "Macro",
+    "operationStatus": "Serviceable",
+    "numberOfUsers": "5",
+    "interestRealm": "LA",
+    "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone001/accessPoints/ap001"
+  }
+}
\ No newline at end of file
diff --git a/examples/AccessPointList.json b/examples/AccessPointList.json
new file mode 100644 (file)
index 0000000..7ef28bc
--- /dev/null
@@ -0,0 +1,47 @@
+{
+  "accessPointList": {
+    "zoneId": "zone01",
+    "accessPoint": [{
+        "accessPointId": "001010000000000000000000000000001",
+        "locationInfo": {
+          "latitude": "90.123",
+          "longitude": "80.123",
+          "altitude": "10.0",
+          "accuracy": "0"
+        },
+        "connectionType": "Macro",
+        "operationStatus": "Serviceable",
+        "numberOfUsers": "5",
+        "interestRealm": "LA",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap001"
+      }, {
+        "accessPointId": "001010000000000000000000000000010",
+        "locationInfo": {
+          "latitude": "91.123",
+          "longitude": "81.123",
+          "altitude": "12.0",
+          "accuracy": "1"
+        },
+        "connectionType": "Macro",
+        "operationStatus": "Unserviceable",
+        "numberOfUsers": "0",
+        "interestRealm": "DC",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap002"
+      }, {
+        "accessPointId": "001010000000000000000000000000011",
+        "locationInfo": {
+          "latitude": "93.123",
+          "longitude": "83.123",
+          "altitude": "16.0",
+          "accuracy": "3"
+        },
+        "connectionType": "Macro",
+        "operationStatus": "Serviceable",
+        "numberOfUsers": "5",
+        "interestRealm": "NJ",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap003"
+      }
+    ],
+    "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints"
+  }
+}
\ No newline at end of file
diff --git a/examples/NotiSubsListUserTrac.json b/examples/NotiSubsListUserTrac.json
new file mode 100644 (file)
index 0000000..f945e76
--- /dev/null
@@ -0,0 +1,24 @@
+{
+  "notificationSubscriptionList": {
+    "userTrackingSubscription":
+    [{
+        "clientCorrelator": "0123",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123",
+        "callbackReference": {
+          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
+        },
+        "address": "acr:192.0.2.1",
+        "userEventCriteria": "Transferring"
+      }, {
+        "clientCorrelator": "0124",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription124",
+        "callbackReference": {
+          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
+        },
+        "address": "acr:192.0.2.2",
+        "userEventCriteria": "Transferring"
+      }
+    ],
+    "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking"
+  }
+}
\ No newline at end of file
diff --git a/examples/NotiSubsListZonaTraf.json b/examples/NotiSubsListZonaTraf.json
new file mode 100644 (file)
index 0000000..c80456b
--- /dev/null
@@ -0,0 +1,26 @@
+{
+  "notificationSubscriptionList": {
+    "zonalTrafficSubscription":
+    [{
+        "clientCorrelator": "0123",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123",
+        "callbackReference": {
+          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
+        },
+        "zoneId": "zone01",
+        "interestRealm": "LA",
+        "userEventCriteria": "Transferring"
+      }, {
+        "clientCorrelator": "0124",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription124",
+        "callbackReference": {
+          "notifyURL": "http://clientApp.example.com/location_notifications/123457"
+        },
+        "zoneId": "zone02",
+        "interestRealm": "LA",
+        "userEventCriteria": "Transferring"
+      }
+    ],
+    "resourceURL": "http://example.com/exampleAPI/location/v1/zonalTraffic"
+  }
+}
\ No newline at end of file
diff --git a/examples/NotiSubsListZoneStat.json b/examples/NotiSubsListZoneStat.json
new file mode 100644 (file)
index 0000000..4d9904d
--- /dev/null
@@ -0,0 +1,26 @@
+{
+  "notificationSubscriptionList": {
+    "zoneStatusSubscription":
+    [{
+        "clientCorrelator": "0123",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123",
+        "callbackReference": {
+          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
+        },
+        "zoneId": "zone01",
+        "numberOfUsersZoneThreshold": "500",
+        "operationStatus": "Serviceable"
+      }, {
+        "clientCorrelator": "0124",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription124",
+        "callbackReference": {
+          "notifyURL": "http://clientApp.example.com/location_notifications/123457"
+        },
+        "zoneId": "zone02",
+        "numberOfUsersAPThreshold": "50",
+        "operationStatus": "Serviceable"
+      }
+    ],
+    "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus"
+  }
+}
\ No newline at end of file
diff --git a/examples/UserInfo.json b/examples/UserInfo.json
new file mode 100644 (file)
index 0000000..4e0d8ce
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "userInfo": {
+    "address": "acr:192.0.2.1",
+    "accessPointId": "001010000000000000000000000000001",
+    "zoneId": "zone01",
+    "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1",
+    "locationInfo": {
+      "latitude": "90.123",
+      "longitude": "80.123",
+      "altitude": "10.0",
+      "accuracy": "0"
+    },
+    "contextLocationInfo": "GroundFloor"
+  }
+}
\ No newline at end of file
diff --git a/examples/UserList.json b/examples/UserList.json
new file mode 100644 (file)
index 0000000..db06083
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "userList": {
+    "user": [{
+        "address": "acr:192.0.2.1",
+        "accessPointId": "001010000000000000000000000000001",
+        "zoneId": "zone01",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1"
+      }, {
+        "address": "acr:192.0.2.2",
+        "accessPointId": "001010000000000000000000000000001",
+        "zoneId": "zone01",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.2"
+      }, {
+        "address": "acr:192.0.2.3",
+        "accessPointId": "001010000000000000000000000000010",
+        "zoneId": "zone01",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.3"
+      }, {
+        "address": "acr:192.0.2.4",
+        "accessPointId": "001010000000000000000000000000001",
+        "zoneId": "zone02",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.4"
+      }, {
+        "address": "acr:192.0.2.5",
+        "accessPointId": "001010000000000000000000000000010",
+        "zoneId": "zone02",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.5"
+      }
+    ],
+    "resourceURL": "http://example.com/exampleAPI/location/v1/users"
+  }
+}
\ No newline at end of file
diff --git a/examples/UserTrackingSubscription.json b/examples/UserTrackingSubscription.json
new file mode 100644 (file)
index 0000000..2c7d292
--- /dev/null
@@ -0,0 +1,11 @@
+{
+  "userTrackingSubscription": {
+    "clientCorrelator": "0123",
+    "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123",
+    "callbackReference": {
+      "notifyURL": "http://clientApp.example.com/location_notifications/123456"
+    },
+    "address": "acr:192.0.2.1",
+    "userEventCriteria": "Transferring"
+  }
+}
\ No newline at end of file
diff --git a/examples/ZonalTrafficSubscription.json b/examples/ZonalTrafficSubscription.json
new file mode 100644 (file)
index 0000000..6e474ef
--- /dev/null
@@ -0,0 +1,12 @@
+{
+  "zonalTrafficSubscription": {
+    "clientCorrelator": "0123",
+    "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123",
+    "callbackReference": {
+      "notifyURL": "http://clientApp.example.com/location_notifications/123456"
+    },
+    "zoneId": "zone01",
+    "interestRealm": "LA",
+    "userEventCriteria": "Transferring"
+  }
+}
\ No newline at end of file
diff --git a/examples/ZoneInfo.json b/examples/ZoneInfo.json
new file mode 100644 (file)
index 0000000..2930133
--- /dev/null
@@ -0,0 +1,9 @@
+{
+  "zoneInfo": {
+    "zoneId": "zone01",
+    "numberOfAccessPoints": "3",
+    "numberOfUnserviceableAccessPoints": "1",
+    "numberOfUsers": "10",
+    "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01"
+  }
+}
\ No newline at end of file
diff --git a/examples/ZoneList.json b/examples/ZoneList.json
new file mode 100644 (file)
index 0000000..bf33751
--- /dev/null
@@ -0,0 +1,20 @@
+{
+  "zoneList": {
+    "zone":
+    [{
+        "zoneId": "zone01",
+        "numberOfAccessPoints": "3",
+        "numberOfUnserviceableAccessPoints": "1",
+        "numberOfUsers": "10",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01"
+      }, {
+        "zoneId": "zone02",
+        "numberOfAccessPoints": "12",
+        "numberOfUnserviceableAccessPoints": "0",
+        "numberOfUsers": "36",
+        "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone02"
+      }
+    ],
+    "resourceURL": "http://example.com/exampleAPI/location/v1/zones"
+  }
+}
\ No newline at end of file
diff --git a/examples/ZoneStatusSubscription.json b/examples/ZoneStatusSubscription.json
new file mode 100644 (file)
index 0000000..8553279
--- /dev/null
@@ -0,0 +1,12 @@
+{
+  "zoneStatusSubscription": {
+    "clientCorrelator": "0123",
+    "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123",
+    "callbackReference": {
+      "notifyURL": "http://clientApp.example.com/location_notifications/123456"
+    },
+    "zoneId": "zone01",
+    "numberOfUsersZoneThreshold": "500",
+    "operationStatus": "Serviceable"
+  }
+}
\ No newline at end of file
diff --git a/externalDocs/index.yaml b/externalDocs/index.yaml
new file mode 100644 (file)
index 0000000..132dc24
--- /dev/null
@@ -0,0 +1,2 @@
+  description: "ETSI MEC013 V1.0.1 Location Service API"
+  url: "https://docbox.etsi.org/ISG/MEC/70-Draft/0013LocationApi"
\ No newline at end of file
diff --git a/info/index.yaml b/info/index.yaml
new file mode 100644 (file)
index 0000000..1c562e9
--- /dev/null
@@ -0,0 +1,10 @@
+  description: "The MEC-012 Location API described using OpenAPI, which is based on the Open Mobile Alliance's specification RESTful Network API for Zonal Presence"
+  version: '1.0.1'
+  title: 'MEC Location API'
+  termsOfService: "TBD"
+  contact:
+    name: "TBD"
+    url: "TBD"
+  license:
+    name: "ETSI MEC"
+    url: "TBD"
\ No newline at end of file
diff --git a/parameters/AccessPointId.yaml b/parameters/AccessPointId.yaml
new file mode 100644 (file)
index 0000000..06c6497
--- /dev/null
@@ -0,0 +1,6 @@
+name: accessPointId
+in: query
+description: >-
+  Identifier of access point, reference "definitions" for string format
+required: false
+type: string
\ No newline at end of file
diff --git a/parameters/InterestRealm.yaml b/parameters/InterestRealm.yaml
new file mode 100644 (file)
index 0000000..72fb89c
--- /dev/null
@@ -0,0 +1,5 @@
+name: interestRealm
+in: query
+description: Interest realm of access point (e.g. geographical area, a type of industry etc.).
+required: false
+type: string
\ No newline at end of file
diff --git a/parameters/ZoneId.yaml b/parameters/ZoneId.yaml
new file mode 100644 (file)
index 0000000..1515905
--- /dev/null
@@ -0,0 +1,5 @@
+name: zoneId
+in: query
+description: Zone ID
+required: true
+type: string
\ No newline at end of file
diff --git a/parameters/index.yaml b/parameters/index.yaml
new file mode 100644 (file)
index 0000000..249147f
--- /dev/null
@@ -0,0 +1,6 @@
+ZoneId:
+  $ref: ./ZoneId.yaml
+AccessPointId:
+  $ref: ./AccessPointId.yaml
+InterestRealm:
+  $ref: ./InterestRealm.yaml
\ No newline at end of file
diff --git a/paths/SubsUserTrack.yaml b/paths/SubsUserTrack.yaml
new file mode 100644 (file)
index 0000000..45f6e4c
--- /dev/null
@@ -0,0 +1,5 @@
+get:
+  $ref: ./SubsUserTrack_Get.yaml
+
+post:
+  $ref: ./SubsUserTrack_Post.yaml
\ No newline at end of file
diff --git a/paths/SubsUserTrackId.yaml b/paths/SubsUserTrackId.yaml
new file mode 100644 (file)
index 0000000..941cd05
--- /dev/null
@@ -0,0 +1,8 @@
+get:
+  $ref: ./SubsUserTrackId_Get.yaml
+
+put:
+  $ref: ./SubsUserTrackId_Put.yaml
+
+delete:
+  $ref: ./SubsUserTrackId_Del.yaml
\ No newline at end of file
diff --git a/paths/SubsUserTrackId_Del.yaml b/paths/SubsUserTrackId_Del.yaml
new file mode 100644 (file)
index 0000000..0752b6a
--- /dev/null
@@ -0,0 +1,14 @@
+description:
+  This operation is used for retrieving an individual subscription to user tracking change notification.
+produces:
+- application/json
+parameters:
+- name: subscriptionId
+  in: path
+  description: Subscription ID
+  required: true
+  type: string
+
+responses:
+  204:
+    description: No Content
\ No newline at end of file
diff --git a/paths/SubsUserTrackId_Get.yaml b/paths/SubsUserTrackId_Get.yaml
new file mode 100644 (file)
index 0000000..8ec55f7
--- /dev/null
@@ -0,0 +1,22 @@
+description:
+  This operation is used for retrieving an individual subscription to user tracking change notification.
+produces:
+- application/json
+parameters:
+- name: subscriptionId
+  in: path
+  description: Subscription ID
+  required: true
+  type: string
+
+responses:
+  200:
+    description: Response to retrieve individual user tracking subscription
+    schema:
+      properties:
+        userTrackingSubscription:
+          $ref: '#/definitions/UserTrackingSubscription'
+
+    examples:
+      application/json:
+        $ref: '../examples/UserTrackingSubscription.json'
\ No newline at end of file
diff --git a/paths/SubsUserTrackId_Put.yaml b/paths/SubsUserTrackId_Put.yaml
new file mode 100644 (file)
index 0000000..845be5e
--- /dev/null
@@ -0,0 +1,28 @@
+description:
+  This operation is used for updating an individual subscription to user tracking change notification.
+produces:
+- application/json
+parameters:
+- name: subscriptionId
+  in: path
+  description: Subscription ID
+  required: true
+  type: string
+- name: userTrackingSubscription
+  in: body
+  description: User Tracking Subscription
+  required: true
+  schema: 
+    $ref: '#/definitions/UserTrackingSubscription'
+
+responses:
+  200:
+    description: Response to update individual user tracking subscription
+    schema:
+      properties:
+        userTrackingSubscription:
+          $ref: '#/definitions/UserTrackingSubscription'
+
+    examples:
+      application/json:
+        $ref: '../examples/UserTrackingSubscription.json'
\ No newline at end of file
diff --git a/paths/SubsUserTrack_Get.yaml b/paths/SubsUserTrack_Get.yaml
new file mode 100644 (file)
index 0000000..a02692c
--- /dev/null
@@ -0,0 +1,24 @@
+description:
+  This operation is used for retrieving all active subscriptions to user tracking change notifications.
+produces:
+- application/json
+
+responses:
+  200:
+    description: Response to retrieve user tracking subscriptions
+    schema:
+      type: object
+      properties:
+        notificationSubscriptionList:
+          type: object
+          properties:
+              userTrackingSubscription:
+                type: array
+                items:
+                    $ref: '#/definitions/UserTrackingSubscription'
+              resourceURL:
+                $ref: '#/definitions/ResourceURL'
+
+    examples:
+      application/json:
+        $ref: '../examples/NotiSubsListUserTrac.json'
\ No newline at end of file
diff --git a/paths/SubsUserTrack_Post.yaml b/paths/SubsUserTrack_Post.yaml
new file mode 100644 (file)
index 0000000..d1c7021
--- /dev/null
@@ -0,0 +1,23 @@
+description:
+  This operation is used for creating a new subscription to user tracking change notification
+produces:
+- application/json
+parameters:
+- name: userTrackingSubscription
+  in: body
+  description: User Tracking Subscription
+  required: true
+  schema: 
+    $ref: '#/definitions/UserTrackingSubscription'
+
+responses:
+  201:
+    description: Response to create new user tracking subscription
+    schema:
+      properties:
+        userTrackingSubscription:
+          $ref: '#/definitions/UserTrackingSubscription'
+
+    examples:
+      application/json:
+        $ref: '../examples/UserTrackingSubscription.json'
diff --git a/paths/SubsZonalTraf.yaml b/paths/SubsZonalTraf.yaml
new file mode 100644 (file)
index 0000000..240da16
--- /dev/null
@@ -0,0 +1,5 @@
+get:
+  $ref: ./SubsZonalTraf_Get.yaml
+
+post:
+  $ref: ./SubsZonalTraf_Post.yaml
\ No newline at end of file
diff --git a/paths/SubsZonalTrafId.yaml b/paths/SubsZonalTrafId.yaml
new file mode 100644 (file)
index 0000000..bc9d3aa
--- /dev/null
@@ -0,0 +1,8 @@
+get:
+  $ref: ./SubsZonalTrafId_Get.yaml
+
+put:
+  $ref: ./SubsZonalTrafId_Put.yaml
+
+delete:
+  $ref: ./SubsZonalTrafId_Del.yaml
\ No newline at end of file
diff --git a/paths/SubsZonalTrafId_Del.yaml b/paths/SubsZonalTrafId_Del.yaml
new file mode 100644 (file)
index 0000000..08e1dc2
--- /dev/null
@@ -0,0 +1,14 @@
+description:
+  This operation is used for cancelling a subscription and stopping corresponding notifications.
+produces:
+- application/json
+parameters:
+- name: subscriptionId
+  in: path
+  description: Subscription ID
+  required: true
+  type: string
+
+responses:
+  204:
+    description: No content
\ No newline at end of file
diff --git a/paths/SubsZonalTrafId_Get.yaml b/paths/SubsZonalTrafId_Get.yaml
new file mode 100644 (file)
index 0000000..7db22b1
--- /dev/null
@@ -0,0 +1,22 @@
+description:
+  This operation is used for updating an individual subscription to zonal traffic change notification.
+produces:
+- application/json
+parameters:
+- name: subscriptionId
+  in: path
+  description: Subscription ID
+  required: true
+  type: string
+
+responses:
+  200:
+    description: Response to retrieve individual zonal traffic subscription
+    schema:
+      properties:
+        zonalTrafficSubscription:
+          $ref: '#/definitions/ZonalTrafficSubscription'
+
+    examples:
+      application/json:
+        $ref: '../examples/ZonalTrafficSubscription.json'
\ No newline at end of file
diff --git a/paths/SubsZonalTrafId_Put.yaml b/paths/SubsZonalTrafId_Put.yaml
new file mode 100644 (file)
index 0000000..10a84a3
--- /dev/null
@@ -0,0 +1,28 @@
+description:
+  This operation is used for updating an individual subscription to zonal traffic change notification.
+produces:
+- application/json
+parameters:
+- name: subscriptionId
+  in: path
+  description: Subscription ID
+  required: true
+  type: string
+- name: zonalTrafficSubscription
+  in: body
+  description: Zonal Traffic Subscription
+  required: true
+  schema: 
+    $ref: '#/definitions/ZonalTrafficSubscription'
+
+responses:
+  200:
+    description: Response to update individual zonal traffic subscription
+    schema:
+      properties:
+        zonalTrafficSubscription:
+          $ref: '#/definitions/ZonalTrafficSubscription'
+
+    examples:
+      application/json:
+        $ref: '../examples/ZonalTrafficSubscription.json'
\ No newline at end of file
diff --git a/paths/SubsZonalTraf_Get.yaml b/paths/SubsZonalTraf_Get.yaml
new file mode 100644 (file)
index 0000000..7afc524
--- /dev/null
@@ -0,0 +1,24 @@
+description:
+  This operation is used for retrieving all active subscriptions to zonal traffic change notifications.
+produces:
+- application/json
+
+responses:
+  200:
+    description: Response to retrieve zonal traffic subscriptions
+    schema:
+      type: object
+      properties:
+        notificationSubscriptionList:
+          type: object
+          properties:
+              zonalTrafficSubscription:
+                type: array
+                items:
+                    $ref: '#/definitions/ZonalTrafficSubscription'
+              resourceURL:
+                $ref: '#/definitions/ResourceURL'
+
+    examples:
+      application/json:
+        $ref: '../examples/NotiSubsListZonaTraf.json'
\ No newline at end of file
diff --git a/paths/SubsZonalTraf_Post.yaml b/paths/SubsZonalTraf_Post.yaml
new file mode 100644 (file)
index 0000000..37332ca
--- /dev/null
@@ -0,0 +1,23 @@
+description:
+  This operation is used for creating a new subscription to zonal traffic change notification.
+produces:
+- application/json
+parameters:
+- name: zonalTrafficSubscription
+  in: body
+  description: Zonal Traffic Subscription
+  required: true
+  schema: 
+    $ref: '#/definitions/ZonalTrafficSubscription'
+      
+responses:
+  201:
+    description: Response to create new zonal traffic subscription
+    schema:
+      properties:
+        zonalTrafficSubscription:
+          $ref: '#/definitions/ZonalTrafficSubscription'
+
+    examples:
+      application/json:
+        $ref: '../examples/ZonalTrafficSubscription.json'
\ No newline at end of file
diff --git a/paths/SubsZoneStat.yaml b/paths/SubsZoneStat.yaml
new file mode 100644 (file)
index 0000000..d505bb6
--- /dev/null
@@ -0,0 +1,5 @@
+get:
+  $ref: ./SubsZoneStat_Get.yaml
+
+post:
+  $ref: ./SubsZoneStat_Post.yaml
\ No newline at end of file
diff --git a/paths/SubsZoneStatId.yaml b/paths/SubsZoneStatId.yaml
new file mode 100644 (file)
index 0000000..4f330a3
--- /dev/null
@@ -0,0 +1,5 @@
+get:
+  $ref: ./SubsZoneStatId_Get.yaml
+
+put:
+  $ref: ./SubsZoneStatId_Put.yaml
\ No newline at end of file
diff --git a/paths/SubsZoneStatId_Del.yaml b/paths/SubsZoneStatId_Del.yaml
new file mode 100644 (file)
index 0000000..08e1dc2
--- /dev/null
@@ -0,0 +1,14 @@
+description:
+  This operation is used for cancelling a subscription and stopping corresponding notifications.
+produces:
+- application/json
+parameters:
+- name: subscriptionId
+  in: path
+  description: Subscription ID
+  required: true
+  type: string
+
+responses:
+  204:
+    description: No content
\ No newline at end of file
diff --git a/paths/SubsZoneStatId_Get.yaml b/paths/SubsZoneStatId_Get.yaml
new file mode 100644 (file)
index 0000000..30b2cbd
--- /dev/null
@@ -0,0 +1,22 @@
+description:
+  This operation is used for retrieving an individual subscription to zone status change notification.
+produces:
+- application/json
+parameters:
+- name: subscriptionId
+  in: path
+  description: Subscription ID
+  required: true
+  type: string
+
+responses:
+  200:
+    description: Response to retrieve individual zone status subscription
+    schema:
+      properties:
+        zoneStatusSubscription:
+          $ref: '#/definitions/ZoneStatusSubscription'
+
+    examples:
+      application/json:
+        $ref: '../examples/ZoneStatusSubscription.json'
\ No newline at end of file
diff --git a/paths/SubsZoneStatId_Put.yaml b/paths/SubsZoneStatId_Put.yaml
new file mode 100644 (file)
index 0000000..a4358d9
--- /dev/null
@@ -0,0 +1,28 @@
+description:
+  This operation is used for updating an individual subscription to zone status change notification.
+produces:
+- application/json
+parameters:
+- name: subscriptionId
+  in: path
+  description: Subscription ID
+  required: true
+  type: string
+- name: zoneStatusSubscription
+  in: body
+  description: Zone Status Subscription
+  required: true
+  schema: 
+    $ref: '#/definitions/ZoneStatusSubscription'
+
+responses:
+  200:
+    description: Response to update individual zone status subscription
+    schema:
+      properties:
+        zoneStatusSubscription:
+          $ref: '#/definitions/ZoneStatusSubscription'
+
+    examples:
+      application/json:
+        $ref: '../examples/ZoneStatusSubscription.json'
\ No newline at end of file
diff --git a/paths/SubsZoneStat_Get.yaml b/paths/SubsZoneStat_Get.yaml
new file mode 100644 (file)
index 0000000..369111c
--- /dev/null
@@ -0,0 +1,24 @@
+description:
+  This operation is used for creating a new subscription to zone status change notification.
+produces:
+- application/json
+
+responses:
+  200:
+    description: Response to retrieve zone status subscriptions
+    schema:
+      type: object
+      properties:
+        notificationSubscriptionList:
+          type: object
+          properties:
+              zonalTrafficSubscription:
+                type: array
+                items:
+                    $ref: '#/definitions/ZoneStatusSubscription'
+              resourceURL:
+                $ref: '#/definitions/ResourceURL'
+                
+    examples:
+      application/json:
+        $ref: '../examples/NotiSubsListZoneStat.json'
\ No newline at end of file
diff --git a/paths/SubsZoneStat_Post.yaml b/paths/SubsZoneStat_Post.yaml
new file mode 100644 (file)
index 0000000..527f156
--- /dev/null
@@ -0,0 +1,24 @@
+description:
+  This operation is used for creating a new subscription to zone status change notification.
+produces:
+- application/json
+parameters:
+- name: zoneStatusSubscription
+  in: body
+  description: Zone Status Subscription
+  required: true
+  schema: 
+    $ref: '#/definitions/ZoneStatusSubscription'
+
+
+responses:
+  201:
+    description: Response to create new zone status subscription
+    schema:
+      properties: 
+        zonalTrafficSubscription:
+          $ref: '#/definitions/ZoneStatusSubscription'
+
+    examples:
+      application/json:
+        $ref: '../examples/ZoneStatusSubscription.json'
\ No newline at end of file
diff --git a/paths/Users.yaml b/paths/Users.yaml
new file mode 100644 (file)
index 0000000..3bfab8f
--- /dev/null
@@ -0,0 +1,2 @@
+get:
+  $ref: ./Users_Get.yaml
\ No newline at end of file
diff --git a/paths/UsersId.yaml b/paths/UsersId.yaml
new file mode 100644 (file)
index 0000000..3e3c581
--- /dev/null
@@ -0,0 +1,2 @@
+get:
+  $ref: ./UsersId_Get.yaml
\ No newline at end of file
diff --git a/paths/UsersId_Get.yaml b/paths/UsersId_Get.yaml
new file mode 100644 (file)
index 0000000..0dc6e99
--- /dev/null
@@ -0,0 +1,22 @@
+description:
+  Users currently using a zone may be retrieved for sets of access points matching attribute in the request
+produces:
+- application/json
+parameters:
+- name: userId
+  in: path
+  description: User ID
+  required: true
+  type: string
+  
+responses:
+  200:
+    description: Successful response to a query users within a zone request
+    schema:
+      properties:
+        userInfo:
+          $ref: '#/definitions/UserInfo'
+
+    examples:
+      application/json:
+        $ref: '../examples/UserInfo.json'
\ No newline at end of file
diff --git a/paths/Users_Get.yaml b/paths/Users_Get.yaml
new file mode 100644 (file)
index 0000000..bce8763
--- /dev/null
@@ -0,0 +1,19 @@
+description:
+  Users currently using a zone may be retrieved for sets of access points matching attribute in the request
+produces:
+- application/json
+parameters:
+- $ref: '#/parameters/ZoneId'
+- $ref: '#/parameters/AccessPointId'
+
+responses:
+  200:
+    description: Successful response to a query users within a zone request
+    schema:
+      properties:
+        userList:
+          $ref: '#/definitions/UserList'
+
+    examples:
+      application/json:
+        $ref: '../examples/UserList.json'
\ No newline at end of file
diff --git a/paths/Zones.yaml b/paths/Zones.yaml
new file mode 100644 (file)
index 0000000..b0012d7
--- /dev/null
@@ -0,0 +1,2 @@
+get:
+  $ref: ./Zones_Get.yaml
\ No newline at end of file
diff --git a/paths/ZonesId.yaml b/paths/ZonesId.yaml
new file mode 100644 (file)
index 0000000..b5b3ebc
--- /dev/null
@@ -0,0 +1,2 @@
+get:
+  $ref: ./ZonesId_Get.yaml
\ No newline at end of file
diff --git a/paths/ZonesIdAps.yaml b/paths/ZonesIdAps.yaml
new file mode 100644 (file)
index 0000000..37e8cef
--- /dev/null
@@ -0,0 +1,2 @@
+get:
+  $ref: ./ZonesIdAps_Get.yaml
\ No newline at end of file
diff --git a/paths/ZonesIdApsId.yaml b/paths/ZonesIdApsId.yaml
new file mode 100644 (file)
index 0000000..2992904
--- /dev/null
@@ -0,0 +1,2 @@
+get:
+  $ref: ./ZonesIdApsId_Get.yaml
\ No newline at end of file
diff --git a/paths/ZonesIdApsId_Get.yaml b/paths/ZonesIdApsId_Get.yaml
new file mode 100644 (file)
index 0000000..9ed91cd
--- /dev/null
@@ -0,0 +1,27 @@
+description:
+  Access point status can be retrieved for sets of access points matching attribute in the request.
+produces:
+- application/json
+parameters:
+- name: zoneId
+  in: path
+  description: Zone ID
+  required: true
+  type: string
+- name: accessPointId
+  in: path
+  description: Access Point ID
+  required: true
+  type: string
+
+responses:
+  200:
+    description: Successful response to a query a named set of access point status request
+    schema:
+      properties:
+        accessPointInfo:
+          $ref: '#/definitions/AccessPointInfo'
+
+    examples:
+      application/json:
+        $ref: '../examples/AccessPointInfo.json' 
\ No newline at end of file
diff --git a/paths/ZonesIdAps_Get.yaml b/paths/ZonesIdAps_Get.yaml
new file mode 100644 (file)
index 0000000..7edf33c
--- /dev/null
@@ -0,0 +1,23 @@
+description:
+  Access point status can be retrieved for sets of access points matching attribute in the request.
+produces:
+- application/json
+parameters:
+- name: zoneId
+  in: path
+  description: Zone ID
+  required: true
+  type: string
+- $ref: '#/parameters/InterestRealm'
+
+responses:
+  200:
+    description: Successful response to a query a named set of access point status request
+    schema:
+      properties:
+        accessPointList:
+          $ref: '#/definitions/AccessPointList'
+
+    examples:
+      application/json:
+        $ref: '../examples/AccessPointList.json'
\ No newline at end of file
diff --git a/paths/ZonesId_Get.yaml b/paths/ZonesId_Get.yaml
new file mode 100644 (file)
index 0000000..24d9b3b
--- /dev/null
@@ -0,0 +1,22 @@
+description: 
+  Used to get the status of a zone.
+produces:
+- application/json
+parameters:
+- name: zoneId
+  in: path
+  description: Zone ID
+  required: true
+  type: string
+
+responses:
+  200:
+    description: Successful response to a query regarding the status of a zone
+    schema:
+      properties:
+        zoneInfo:
+          $ref: '#/definitions/ZoneInfo'
+      
+    examples:
+      application/json:
+        $ref: '../examples/ZoneInfo.json'
\ No newline at end of file
diff --git a/paths/Zones_Get.yaml b/paths/Zones_Get.yaml
new file mode 100644 (file)
index 0000000..7682663
--- /dev/null
@@ -0,0 +1,64 @@
+description: Used to get a list of identifiers for zones authorized for use by the application.
+produces:
+- application/json
+
+responses:
+  200:
+    description: Successful response to a query regarding the status of a zone
+    schema:
+      properties:
+        zoneList:
+          $ref: '#/definitions/ZoneList'
+      
+    examples:
+      application/json:
+        $ref: '../examples/ZoneList.json'
+
+# works, but what does it add?!
+#      application/json:
+#        $ref: '../examples/index.yaml#/ZonesGetResponse'
+
+# works
+#      application/json:
+#        $ref: '../examples/ZonesGetResponse.json'
+
+# works
+#      application/json:
+#        {
+#              "zoneList": {
+#                      "zone": 
+#                      [
+#                        {
+#                                      "zoneId": "zone01",
+#                                      "numberOfAccessPoints": "3",
+#                                      "numberOfUnserviceableAccessPoints": "1",
+#                                      "numberOfUsers": "10",
+#                                      "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01"
+#                              }, 
+#                              {
+#                                      "zoneId": "zone02",
+#                                      "numberOfAccessPoints": "12",
+#                                      "numberOfUnserviceableAccessPoints": "0",
+#                                      "numberOfUsers": "36",
+#                                      "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone02"
+#                              }
+#                      ],
+#                      "resourceURL": "http://example.com/exampleAPI/location/v1/zones"
+#              }            
+#        } 
+
+# works
+#      application/json:
+#        zoneList:
+#          zone:
+#          - zoneId: zone01
+#            numberOfAccessPoints: '3'
+#            numberOfUnserviceableAccessPoints: '1'
+#            numberOfUsers: '10'
+#            resourceURL: http://example.com/exampleAPI/location/v1/zones/zone01
+#          - zoneId: zone02
+#            numberOfAccessPoints: '12'
+#            numberOfUnserviceableAccessPoints: '0'
+#            numberOfUsers: '36'
+#            resourceURL: http://example.com/exampleAPI/location/v1/zones/zone02
+#          resourceURL: http://example.com/exampleAPI/location/v1/zones
\ No newline at end of file
diff --git a/paths/index.yaml b/paths/index.yaml
new file mode 100644 (file)
index 0000000..ef06924
--- /dev/null
@@ -0,0 +1,35 @@
+/zones:
+  $ref: ./Zones.yaml
+
+/zones/{zoneId}:
+  $ref: ./ZonesId.yaml
+
+/zones/{zoneId}/accessPoints:
+  $ref: ./ZonesIdAps.yaml
+
+/zones/{zoneId}/accessPoints/{accessPointId}:
+  $ref: ./ZonesIdApsId.yaml
+
+/users:
+  $ref: ./Users.yaml
+
+/users/{userId}:
+  $ref: ./UsersId.yaml
+
+/subscriptions/zonalTraffic:
+  $ref: ./SubsZonalTraf.yaml
+
+/subscriptions/zonalTraffic/{subscriptionId}:
+  $ref: ./SubsZonalTrafId.yaml
+
+/subscriptions/userTracking:
+  $ref: ./SubsUserTrack.yaml
+
+/subscriptions/userTracking/{subscriptionId}:
+  $ref: ./SubsUserTrackId.yaml
+
+/subscriptions/zonalStatus:
+  $ref: ./SubsZoneStat.yaml
+
+/subscriptions/zoneStatus/{subscriptionId}:
+  $ref: ./SubsZoneStatId.yaml
\ No newline at end of file