LocationAPI.yaml 127 KB
Newer Older
Michel Roy's avatar
Michel Roy committed
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
      x-swagger-router-controller: 'subscriptions'
    delete:
      tags:
Michel Roy's avatar
Michel Roy committed
      summary: 'Cancel a subscription'
      description: 'The DELETE method is used to cancel the existing subscription.'
      operationId: userSubDELETE
Michel Roy's avatar
Michel Roy committed
      parameters:
        - $ref: '#/components/parameters/Path.SubscrId'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      x-swagger-router-controller: 'subscriptions'
  /subscriptions/zones:
Michel Roy's avatar
Michel Roy committed
    get:
      tags:
      summary: 'Retrieves all active subscriptions to zone notifications'
      description: 'This operation is used for retrieving all active subscriptions to zone notifications.'
      operationId: zoneSubListGET
      parameters:
        - $ref: '#/components/parameters/Query.Subscription_type_3'
        - $ref: '#/components/parameters/Query.ZoneId_2'
Michel Roy's avatar
Michel Roy committed
      responses:
        '200':
          description: "Upon success, a response body containing the list of links to requestor's subscriptions is returned."
Michel Roy's avatar
Michel Roy committed
          content:
            application/json:
              schema:
                type: object
                required:
                  - notificationSubscriptionList
                properties:
                  notificationSubscriptionList:
                    $ref: '#/components/schemas/NotificationSubscriptionList'
                examples:
                  - notificationSubscriptionList:
                      subscription:
                        - href: 'http://meAppServer.example.com/location/v2/subscriptions/zones/subscription123'
                          subscriptionType: 'ZoneLocationEventSubscription'
                        - href: 'http://meAppServer.example.com/location/v2/subscriptions/zones/subscription456'
                          subscriptionType: 'ZoneStatusSubscription'
                      resourceURL:
                          href: 'http://meAppServer.example.com/location/v2/subscriptions/zones'
Michel Roy's avatar
Michel Roy committed
    post:
      tags:
      summary: 'Creates a subscription to zone notifications'
      description: 'The POST method is used to create a new subscription to zone notifications.'
      operationId: zoneSubPOST
Michel Roy's avatar
Michel Roy committed
      requestBody:
        description: 'Subscription to be created'
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                zoneLocationEventSubscription:
                  $ref: '#/components/schemas/ZoneLocationEventSubscription'
                zoneStatusSubscription:
                  $ref: '#/components/schemas/ZoneStatusSubscription'
              examples:
                - zoneLocationEventSubscription:
                    subscriptionType: 'ZoneLocationEventSubscription'
                    callbackReference: 'http://my.callback.com/zone-notification/some-id'
                    zoneId: 'zone01'
                    locationEventCriteria: 
                      - ENTERING_AREA_EVENT
                    expiryDeadline":
                      seconds: 1977836800
                      nanoseconds": 0
Michel Roy's avatar
Michel Roy committed
      responses:
        '201':
          description: 'Indicates successful resource creation'
Michel Roy's avatar
Michel Roy committed
          content:
            application/json:
              schema:
                type: object
                properties:
                  zoneLocationEventSubscription:
                    $ref: '#/components/schemas/ZoneLocationEventSubscription'
                  zoneStatusSubscription:
                    $ref: '#/components/schemas/ZoneStatusSubscription'
                examples:
                  - zoneLocationEventSubscription:
                      subscriptionType: 'ZoneLocationEventSubscription'
                      callbackReference: 'http://my.callback.com/zone-notification/some-id'
                      zoneId: 'zone01'
                      locationEventCriteria: 
                        - ENTERING_AREA_EVENT
                      expiryDeadline":
                        seconds: 1977836800
                        nanoseconds": 0
Michel Roy's avatar
Michel Roy committed
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '415':
          $ref: '#/components/responses/415'
        '422':
          $ref: '#/components/responses/422'
Michel Roy's avatar
Michel Roy committed
        '429':
          $ref: '#/components/responses/429'
      callbacks:
        notification:
          '{$request.body#/zoneLocationEventSubscription.callbackReference}':
Michel Roy's avatar
Michel Roy committed
            post:
Michel Roy's avatar
Michel Roy committed
              summary: 'Callback POST used to send a notification'
              description: 'Notification from Location service, content based on subscription type'
              operationId: zoneNotificationPOST
Michel Roy's avatar
Michel Roy committed
              requestBody:
Michel Roy's avatar
Michel Roy committed
                description: 'Subscription notification'
                required: true
                content:
                  application/json:
                    schema:
                      type: object
                      properties:
                        zoneLocationEventNotification:
                          $ref: '#/components/schemas/ZoneLocationEventNotification'
                        zoneStatusNotification:
                          $ref: '#/components/schemas/ZoneStatusNotification'
                      examples:
                        - zoneLocationEventNotification:
                            notificationType: 'ZoneLocationEventNotification'
                            timestamp:
                              seconds: 1673507343
                              nanoseconds: 0
                            address: 'acr:10.0.0.1'
                            zoneId: 'zone01'
                            _links:
                              subscription:
                                href: "http://meAppServer.example.com/location/v3/subscriptions/zone/subscription123"
Michel Roy's avatar
Michel Roy committed
              responses:
                '204':
                  $ref: '#/components/responses/204'
      x-swagger-router-controller: 'subscriptions'
  /subscriptions/zones/{subscriptionId}:
Michel Roy's avatar
Michel Roy committed
    get:
      tags:
      summary: 'Retrieve zone subscription information'
      description: 'The GET method is used to retrieve information about zone subscription. '
      operationId: zoneSubGET
Michel Roy's avatar
Michel Roy committed
      parameters:
        - $ref: '#/components/parameters/Path.SubscrId'
      responses:
        '200':
          description: 'Upon success, a response body containing data type describing the specific zone subscription is returned.'
Michel Roy's avatar
Michel Roy committed
          content:
            application/json:
              schema:
                type: object
                required:
                  - zoneLocationEventSubscription
                  - zoneStatusSubscription
Michel Roy's avatar
Michel Roy committed
                properties:
                  zoneLocationEventSubscription:
                    $ref: '#/components/schemas/ZoneLocationEventSubscription'
                  zoneStatusSubscription:
                    $ref: '#/components/schemas/ZoneStatusSubscription'
                examples:
                  - zoneLocationEventSubscription:
                      subscriptionType: 'ZoneLocationEventSubscription'
                      callbackReference: 'http://my.callback.com/zone-notification/some-id'
                      zoneId: 'zone01'
                      locationEventCriteria: 
                        - ENTERING_AREA_EVENT
                      expiryDeadline":
                        seconds: 1977836800
                        nanoseconds": 0
Michel Roy's avatar
Michel Roy committed
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '429':
          $ref: '#/components/responses/429'
      x-swagger-router-controller: 'subscriptions'
Michel Roy's avatar
Michel Roy committed
    put:
      tags:
      summary: 'Updates a zone subscription information'
      description: 'The PUT method is used to update the existing zone subscription.'
      operationId: zoneSubPUT
Michel Roy's avatar
Michel Roy committed
      requestBody:
        description: 'Subscription to be modified'
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                zoneLocationEventSubscription:
                  $ref: '#/components/schemas/ZoneLocationEventSubscription'
                zoneStatusSubscription:
                  $ref: '#/components/schemas/ZoneStatusSubscription'
              examples:
                - zoneLocationEventSubscription:
                    subscriptionType: 'ZoneLocationEventSubscription'
                    callbackReference: 'http://my.callback.com/zone-notification/some-id'
                    zoneId: 'zone01'
                    locationEventCriteria: 
                      - ENTERING_AREA_EVENT
                    expiryDeadline":
                      seconds: 1977836800
                      nanoseconds": 0
Michel Roy's avatar
Michel Roy committed
      parameters:
        - $ref: '#/components/parameters/Path.SubscrId'
      responses:
        '200':
          description: 'Upon success, a response body containing data type describing the updated subscription is returned.'
Michel Roy's avatar
Michel Roy committed
          content:
            application/json:
              schema:
                type: object
                properties:
                  zoneLocationEventSubscription:
                    $ref: '#/components/schemas/ZoneLocationEventSubscription'
                  zoneStatusSubscription:
                    $ref: '#/components/schemas/ZoneStatusSubscription'
                  - zoneLocationEventSubscription:
                      subscriptionType: 'ZoneLocationEventSubscription'
                      callbackReference: 'http://my.callback.com/zone-notification/some-id'
                      zoneId: 'zone01'
                      locationEventCriteria: 
                        - ENTERING_AREA_EVENT
                      expiryDeadline":
                        seconds: 1977836800
                        nanoseconds": 0
Michel Roy's avatar
Michel Roy committed
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '406':
          $ref: '#/components/responses/406'
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
      x-swagger-router-controller: 'subscriptions'
    delete:
      tags:
      summary: 'Cancel a zone subscription'
      description: 'The DELETE method is used to cancel the existing zone subscription.'
      operationId: zoneSubDELETE
Michel Roy's avatar
Michel Roy committed
      parameters:
        - $ref: '#/components/parameters/Path.SubscrId'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
      x-swagger-router-controller: 'subscriptions'
components:
  responses:
Michel Roy's avatar
Michel Roy committed
      description: 'OK'
Michel Roy's avatar
Michel Roy committed
      description: 'No Content'
Michel Roy's avatar
Michel Roy committed
      description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
      content:
Michel Roy's avatar
Michel Roy committed
        application/problem+json:
Michel Roy's avatar
Michel Roy committed
          schema:
Michel Roy's avatar
Michel Roy committed
            $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
      description: 'Unauthorized :  used when the client did not submit credentials.'
      content:
Michel Roy's avatar
Michel Roy committed
        application/problem+json:
Michel Roy's avatar
Michel Roy committed
          schema:
Michel Roy's avatar
Michel Roy committed
            $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
      description: 'Forbidden :  operation is not allowed given the current status of the resource.'
      content:
Michel Roy's avatar
Michel Roy committed
        application/problem+json:
Michel Roy's avatar
Michel Roy committed
          schema:
Michel Roy's avatar
Michel Roy committed
            $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
      description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
      content:
Michel Roy's avatar
Michel Roy committed
        application/problem+json:
Michel Roy's avatar
Michel Roy committed
          schema:
Michel Roy's avatar
Michel Roy committed
            $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
      description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.'
      content:
Michel Roy's avatar
Michel Roy committed
        application/problem+json:
Michel Roy's avatar
Michel Roy committed
          schema:
Michel Roy's avatar
Michel Roy committed
            $ref: '#/components/schemas/ProblemDetails'
      description:
        'Precondition failed :  used when a condition has failed during conditional requests, e.g. when
Michel Roy's avatar
Michel Roy committed
        using ETags to avoid write conflicts when using PUT'
      content:
Michel Roy's avatar
Michel Roy committed
        application/problem+json:
Michel Roy's avatar
Michel Roy committed
          schema:
Michel Roy's avatar
Michel Roy committed
            $ref: '#/components/schemas/ProblemDetails'
      description:
        'URI Too Long : used to indicate that the server is refusing to process the request because the request URI is
Michel Roy's avatar
Michel Roy committed
        longer than the server is willing or able to process.'
      content:
Michel Roy's avatar
Michel Roy committed
        application/problem+json:
Michel Roy's avatar
Michel Roy committed
          schema:
Michel Roy's avatar
Michel Roy committed
            $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
      description: 'Unsupported Media Type :  used to indicate that the server or the client does not support the content type of the entity body.'
      content:
Michel Roy's avatar
Michel Roy committed
        application/problem+json:
Michel Roy's avatar
Michel Roy committed
          schema:
Michel Roy's avatar
Michel Roy committed
            $ref: '#/components/schemas/ProblemDetails'
      description:
        'Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the
Michel Roy's avatar
Michel Roy committed
        syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an
        JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This
        error condition can also occur if the capabilities required by the request are not supported.'
      content:
Michel Roy's avatar
Michel Roy committed
        application/problem+json:
Michel Roy's avatar
Michel Roy committed
          schema:
Michel Roy's avatar
Michel Roy committed
            $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
      description: 'Too Many Requests : used when a rate limiter has triggered.'
      content:
Michel Roy's avatar
Michel Roy committed
        application/problem+json:
Michel Roy's avatar
Michel Roy committed
          schema:
Michel Roy's avatar
Michel Roy committed
            $ref: '#/components/schemas/ProblemDetails'
Michel Roy's avatar
Michel Roy committed
  parameters:
    Path.AccessPointId:
      name: accessPointId
      in: path
      description: 'Identifier of access Point'
      required: true
      schema:
        type: string
      x-exportParamName: AccessPointId
    Path.SubscrId:
      name: subscriptionId
      in: path
      description: 'Subscription Identifier, specifically the "self" returned in the subscription request'
      required: true
      schema:
        type: string
        format: uri
      x-exportParamName: SubscriptionId
    Path.ZoneId:
      name: zoneId
      in: path
      description: 'Indentifier of zone'
      required: true
      schema:
        type: string
      x-exportParamName: ZoneId
    Query.Subscription_type:
      name: subscription_type
      in: query
      description: "Query parameter to filter on a specific subscription type. Permitted values:
        event"
      required: false
      schema:
        type: string
      x-exportParamName: Subscription_type
    Query.Subscription_type_2:
      name: subscription_type
      in: query
      description: "Query parameter to filter on a specific subscription type. Permitted values:
        -event
        -periodic"
      required: false
      schema:
        type: string
      x-exportParamName: Subscription_type_2
    Query.Subscription_type_3:
      name: subscription_type
      in: query
      description: "Query parameter to filter on a specific subscription type. Permitted values:
        -event
        -status"
      required: false
      schema:
        type: string
      x-exportParamName: Subscription_type_3
Michel Roy's avatar
Michel Roy committed
    Query.AccessPointId:
      name: accessPointId
      in: query
      description: Identifier of access point
      required: false
      schema:
        type: array
        items:
          type: string
      x-exportParamName: AccessPointId
    Query.Address:
      name: address
      in: query
      description: One or two addresses of user to check.
        The second "address" parameter shall not be included when the distance between a user and a location is requested. 
        The second "address" parameter shall be included when a location is not provided.
Michel Roy's avatar
Michel Roy committed
      required: false
      schema:
        type: array
        items:
          type: string
      x-exportParamName: Address
Michel Roy's avatar
Michel Roy committed
      name: address
      in: query
      description: Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI).
Michel Roy's avatar
Michel Roy committed
      required: false
      schema:
        type: string
      x-exportParamName: Address_2
    Query.Address_3:
      name: address
Michel Roy's avatar
Michel Roy committed
      in: query
      description: Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI).
Michel Roy's avatar
Michel Roy committed
      required: false
      schema:
        type: array
        items:
          type: string
      x-exportParamName: Address_3
    Query.Location:
      name: location
Michel Roy's avatar
Michel Roy committed
      in: query
      description: Shall not be included when the distance between two terminals is requested.
Michel Roy's avatar
Michel Roy committed
      required: false
      schema:
        type: object
        properties:
          latitude:
            description: "Location latitude, expressed in the range -90\xB0 to +90\xB0."
            format: float
            type: number
            x-etsi-mec-cardinality: '1'
            x-etsi-mec-origin-type: Float
          longitude:
            description: "Location longitude, expressed in the range -180\xB0 to +180\xB0."
            format: float
            type: number
            x-etsi-mec-cardinality: '1'
            x-etsi-mec-origin-type: Float
      x-exportParamName: Location
Michel Roy's avatar
Michel Roy committed
    Query.ZoneId:
      name: zoneId
      in: query
      description: Identifier of zone
      required: false
      schema:
        type: array
        items:
          type: string
      x-exportParamName: ZoneId
    Query.ZoneId_2:
      name: zoneId
      in: query
      description: The identity of the zone
      required: false
      schema:
        type: string
      x-exportParamName: ZoneId_2
Michel Roy's avatar
Michel Roy committed
  schemas:
    AccessPointInfo:
      description: A type containing access point information.
      properties:
        accessPointId:
          description: Identifier of access point.
          type: string
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: string
        connectionType:
Michel Roy's avatar
Michel Roy committed
          $ref: '#/components/schemas/ConnectionType'
Michel Roy's avatar
Michel Roy committed
        interestRealm:
          description: Interest realm of access point.
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: string
        locationInfo:
Michel Roy's avatar
Michel Roy committed
          $ref: '#/components/schemas/LocationInfo'
Michel Roy's avatar
Michel Roy committed
        numberOfUsers:
          description: Number of users currently on the access point.
          type: integer
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: integer
        operationStatus:
Michel Roy's avatar
Michel Roy committed
          $ref: '#/components/schemas/OperationStatus'
Michel Roy's avatar
Michel Roy committed
        resourceURL:
          description: Self referring URL
          type: string
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: anyURI
        timezone:
          description: Time zone of access point.
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: dateTimeStamp
      required:
        - accessPointId
        - connectionType
        - operationStatus
        - numberOfUsers
        - resourceURL
Michel Roy's avatar
Michel Roy committed
      type: object
    
    OperationStatus:
      description: An enumeration defining the operations status of an access point.
      enum:
        - Serviceable
        - Unserviceable
        - Unknown
      type: string
    
Michel Roy's avatar
Michel Roy committed
    AccessPointList:
      description: A type containing list of access points.
      properties:
        accessPoint:
          description: Collection of the access point information list.
          items:
            $ref: '#/components/schemas/AccessPointInfo'
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: AccessPointInfo
        resourceURL:
          description: Self referring URL
          type: string
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: anyURI
        zoneId:
          description: Identifier of zone
          type: string
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: string
      required:
        - zoneId
        - resourceURL
Michel Roy's avatar
Michel Roy committed
      type: object

    ConnectionType:
      description: This enumeration represents the connection type of an access point
      enum:
        - LTE
        - Wifi
        - Wimax
        - 5G NR
        - UNKNOWN
      type: string
    
    LocationInfo:
Michel Roy's avatar
Michel Roy committed
      properties:
        accuracy:
          description: Horizontal accuracy/(semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if "shape" equals 4, 5 or 6.
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: UnsignedInt
        accuracyAltitude:
          description: Altitude accuracy/uncertainty of location provided in meters, as defined in [14]. Present only if "shape" equals 3 or 4.
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: UnsignedInt
        accuracySemiMinor:
          description: Horizontal accuracy/(semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if "shape" equals 4, 5 or 6.
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: UnsignedInt
        altitude:
          description: Location altitude relative to the WGS84 ellipsoid surface.
          format: float
          type: number
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Float
        confidence:
          description: Confidence by which the position of a target entity is known to be within the shape description, expressed as a percentage and defined in [14]. Present only if "shape" equals 1, 4 or 6.
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: UnsignedInt
        includedAngle:
          description: Present only if "shape" equals 6.
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: UnsignedInt
        innerRadius:
          description: Present only if "shape" equals 6.
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: UnsignedInt
        latitude:
Michel Roy's avatar
Michel Roy committed
          description: "Location latitude, expressed in the range -90\xB0 to +90\xB0. Cardinality greater than one only if \"shape\" equals 7."
Michel Roy's avatar
Michel Roy committed
          items:
            type: number
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: Float
        longitude:
Michel Roy's avatar
Michel Roy committed
          description: "Location longitude, expressed in the range -180\xB0 to +180\xB0. Cardinality greater than one only if \"shape\" equals 7."
Michel Roy's avatar
Michel Roy committed
          items:
            type: number
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: Float
        offsetAngle:
          description: Present only if "shape" equals 6.
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: UnsignedInt
        orientationMajorAxis:
          description: "Angle of orientation of the major axis, expressed in the range 0\xB0 to 180\xB0, as defined in [14]. Present only if \"shape\" equals 4 or 6."
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: UnsignedInt
        shape:
          description: 'Shape information, as detailed in [14], associated with the reported location coordinate:
            1 = Ellipsoid_Arc
            2 = ellipsoid_Point
            3 = ellipsoid_Point_Altitude
            4 = ellipsoid_Point_Altitude_Uncert_Ellipsoid
            5 = ellipsoid_Point_Uncert_Circle
            6 = ellipsoid_Point_Uncert_Ellipse
            7 = polygon'
          enum:
          - SEE_DESCRIPTION
Michel Roy's avatar
Michel Roy committed
          type: integer
Michel Roy's avatar
Michel Roy committed
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Enum_inlined
        uncertaintyRadius:
          description: Present only if "shape" equals 6.
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: UnsignedInt
        velocity:
          $ref: '#/components/schemas/Velocity'
Michel Roy's avatar
Michel Roy committed
      required:
      - latitude
      - longitude
      - shape
Michel Roy's avatar
Michel Roy committed
      type: object
      x-etsi-ref: 6.5.3

    Velocity:
      description: "Structure with attributes relating to the target entity\u2019s velocity, as defined in [14]."
Michel Roy's avatar
Michel Roy committed
      properties:
        bearing:
          description: "Bearing, expressed in the range 0\xB0 to 360\xB0, as defined in [14]."
          type: integer
Michel Roy's avatar
Michel Roy committed
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: UnsignedInt
        horizontalSpeed:
          description: Horizontal speed, expressed in km/h and defined in [14].
          type: integer
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: UnsignedInt
        uncertainty:
          description: Horizontal uncertainty, as defined in [14]. Present only if "velocityType" equals 3 or 4.
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: UnsignedInt
        velocityType:
          description: 'Velocity information, as detailed in [14], associated with the reported location coordinate:
            1 = Horizontal
            2 = Horizontal_Vertical
            3 = Horizontal_Uncert
            4 = Horizontal_Vertical_Uncert'
          enum:
          - SEE_DESCRIPTION
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Enum_inlined
        verticalSpeed:
          description: Vertical speed, expressed in km/h and defined in [14]. Present only if "velocityType" equals 2 or 4.
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Int
        verticalUncertainty:
          description: Vertical uncertainty, as defined in [14]. Present only if "velocityType" equals 4.
          type: integer
Michel Roy's avatar
Michel Roy committed
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: UnsignedInt
Michel Roy's avatar
Michel Roy committed
      required:
      - velocityType
      - bearing
      - horizontalSpeed
Michel Roy's avatar
Michel Roy committed
      type: object
      x-etsi-mec-cardinality: 0..1
      x-etsi-mec-origin-type: Structure (inlined)

    NotificationSubscriptionList:
      description: This type contains a list of subscriptions.
      properties:
        resourceURL:
          $ref: '#/components/schemas/LinkType'
        subscription:
          items:
            $ref: '#/components/schemas/Subscription'
          type: array
      required:
      - resourceURL
      type: object
      x-etsi-ref: 6.3.3

Michel Roy's avatar
Michel Roy committed
    ProblemDetails:
      properties:
        detail:
Michel Roy's avatar
Michel Roy committed
          description: A human-readable explanation specific to this occurrence of the problem
Michel Roy's avatar
Michel Roy committed
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        instance:
Michel Roy's avatar
Michel Roy committed
          description: A URI reference that identifies the specific occurrence of the problem
Michel Roy's avatar
Michel Roy committed
          format: uri
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: URI
        status:
          description: The HTTP status code for this occurrence of the problem
          format: uint32
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Uint32
        title:
          description: A short, human-readable summary of the problem type
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        type:
Michel Roy's avatar
Michel Roy committed
          description: A URI reference according to IETF RFC 3986 that identifies the problem type
Michel Roy's avatar
Michel Roy committed
          format: uri
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: URI
      type: object
Michel Roy's avatar
Michel Roy committed
    TerminalDistance:
Michel Roy's avatar
Michel Roy committed
      description: A type containing information about the distance from a terminal to a location or between two terminals, in addition the accuracy and a timestamp of the information are provided.
Michel Roy's avatar
Michel Roy committed
      properties:
        accuracy:
          description: Accuracy of the provided distance in meters
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: integer
        distance:
Michel Roy's avatar
Michel Roy committed
          description: Distance from terminal to a location or between two terminals specified in meters
Michel Roy's avatar
Michel Roy committed
          type: integer
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: integer
        timestamp:
Michel Roy's avatar
Michel Roy committed
          $ref: '#/components/schemas/TimeStamp'
Michel Roy's avatar
Michel Roy committed
      required:
Michel Roy's avatar
Michel Roy committed
      type: object
Michel Roy's avatar
Michel Roy committed
    TerminalLocation:
Michel Roy's avatar
Michel Roy committed
      description: A type containing device address, retrieval status and location information.
Michel Roy's avatar
Michel Roy committed
      properties:
        address:
Michel Roy's avatar
Michel Roy committed
          description: Address of the terminal to which the location information applies (e.g., 'sip' URI, 'tel' URI, 'acr' URI).
Michel Roy's avatar
Michel Roy committed
          type: string
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: anyURI
        currentLocation:
Michel Roy's avatar
Michel Roy committed
          $ref: '#/components/schemas/LocationInfo'
Michel Roy's avatar
Michel Roy committed
        errorInformation:
Michel Roy's avatar
Michel Roy committed
          $ref: '#/components/schemas/ServiceError'
Michel Roy's avatar
Michel Roy committed
        locationRetrievalStatus:
Michel Roy's avatar
Michel Roy committed
          $ref: '#/components/schemas/RetrievalStatus'
Michel Roy's avatar
Michel Roy committed
      required:
        - address
        - locationRetrievalStatus
Michel Roy's avatar
Michel Roy committed
      type: object

    RetrievalStatus:
      enum:
        - Retrieved
        - NotRetrieved
        - Error
      type: string

    ServiceError:
      description: Used to indicate a notification termination or cancellation.
Michel Roy's avatar
Michel Roy committed
      properties:
        messageId:
          description: Message identifier, either with prefix SVC or with prefix POL
          type: string
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: string
        text:
          description: Message text, with replacement variables marked with %n, where n is an index into the list of <variables> elements, starting at 1
          type: string
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: string
        variables:
          description: Variables to substitute into text string
          items:
            type: string
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: string
      required:
        - messageId
        - text
      type: object

    TimeStamp:
      properties:
        nanoSeconds:
          description: 'The nanoseconds part of the time. Time is defined as
Michel Roy's avatar
Michel Roy committed
            Unix-time since January 1, 1970, 00:00:00 UTC.'
Michel Roy's avatar
Michel Roy committed
          format: uint32
Michel Roy's avatar
Michel Roy committed
          type: integer
Michel Roy's avatar
Michel Roy committed
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Uint32
        seconds:
          description: 'The seconds part of the time. Time is defined as
            Unix-time since January 1, 1970, 00:00:00 UTC.'
Michel Roy's avatar
Michel Roy committed
          format: uint32
Michel Roy's avatar
Michel Roy committed
          type: integer
Michel Roy's avatar
Michel Roy committed
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Uint32
      required:
        - seconds
        - nanoSeconds
Michel Roy's avatar
Michel Roy committed
      type: object
      x-etsi-ref: 6.5.2
Michel Roy's avatar
Michel Roy committed
    UserInfo:
      description: This type represents the information related to a user attached to an access point
        associated to the MEC host, such access point is in scope of the Location Service instance.
      required:
        - address
        - accessPointId
        - zoneId
        - resourceURL
        - timestamp
      type: object
      x-etsi-notes: "NOTE 1:\tAs specified in [5], clause 5.2.2.7.\nNOTE 2: \tAs specified in [5], clause 5.2.2.5."
      x-etsi-ref: 6.2.2
Michel Roy's avatar
Michel Roy committed
      properties:
        address:
Michel Roy's avatar
Michel Roy committed
          description: Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently on the access point, see note 1.
Michel Roy's avatar
Michel Roy committed
          format: uri
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: AnyURI
        AccessPointId:
          description: The identity of the access point the user is currently on, see note 1.
Michel Roy's avatar
Michel Roy committed
          type: string
          x-etsi-mec-cardinality: '1'
Michel Roy's avatar
Michel Roy committed
          x-etsi-mec-origin-type: String
        zoneId:
          description: The identity of the zone the user is currently within, see note 1.
Michel Roy's avatar
Michel Roy committed
          type: string
          x-etsi-mec-cardinality: '1'
Michel Roy's avatar
Michel Roy committed
          x-etsi-mec-origin-type: String
        resourceURL:
          description: Self-referring URL, see note 1.
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: AnyURI
Michel Roy's avatar
Michel Roy committed
        timestamp:
Michel Roy's avatar
Michel Roy committed
          $ref: '#/components/schemas/TimeStamp'
        locationInfo:
          $ref: '#/components/schemas/LocationInfo'
        civicInfo:
          $ref: '#/components/schemas/CivicAddress'
        ancillaryInfo:
          description: Reserved for future use.
Michel Roy's avatar
Michel Roy committed
          type: string
          x-etsi-mec-cardinality: 0..1
Michel Roy's avatar
Michel Roy committed
          x-etsi-mec-origin-type: String
        relativeLocationInfo:
          $ref: '#/components/schemas/RelativeLocationInfo'

Michel Roy's avatar
Michel Roy committed
    UserList:
      description: A type containing list of users.
      properties:
        resourceURL:
          description: Self referring URL
          type: string
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: anyURI
        user:
          description: Collection of the zone information list.
          items:
            $ref: '#/components/schemas/UserInfo'
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: UserInfo
      required:
        - resourceURL
Michel Roy's avatar
Michel Roy committed
      type: object
Michel Roy's avatar
Michel Roy committed
    ZoneInfo:
      description: A type containing zone information.
      properties:
        numberOfAccessPoints:
          description: The number of access points within the zone
          type: integer
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: unsignedInt
        numberOfUnserviceableAccessPoints:
          description: Number of inoperable access points within the zone.
          type: integer
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: unsignedInt
        numberOfUsers:
          description: The number of users currently on the access point.
          type: integer
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: unsignedInt
        resourceURL:
          description: Self referring URL
          type: string
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: anyURI
        zoneId:
          description: Identifier of zone
          type: string
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: string
      required:
        - zoneId
        - numberOfAccessPoints
        - numberOfUnserviceableAccessPoints
        - numberOfUsers
        - resourceURL
Michel Roy's avatar
Michel Roy committed
      type: object
Michel Roy's avatar
Michel Roy committed
    ZoneList:
      description: A type containing a list of zones.
      properties:
        resourceURL:
          description: Self referring URL
          type: string
          x-etsi-mec-cardinality: 1
          x-etsi-mec-origin-type: anyURI
        zone:
          description: Collection of the zone information list.
          items:
            $ref: '#/components/schemas/ZoneInfo'
          type: array
      required:
        - resourceURL
Michel Roy's avatar
Michel Roy committed
      type: object
Michel Roy's avatar
Michel Roy committed
    ZoneStatusNotification:
      properties:
        _links:
          $ref: '#/components/schemas/_links'
Michel Roy's avatar
Michel Roy committed
        accessPointId:
          description: Identifier of an access point (e.g. ap01). Shall be included when userNumEvent related with access point or operationStatus is included.
Michel Roy's avatar
Michel Roy committed
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String