openapi: 3.0.0

info:
  version: '1.4.0-alpha.4'
  title: 'LMF Location'
  description: |
    LMF Location Service.  
    © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    All rights reserved.

externalDocs:
  description: 3GPP TS 29.572 V19.3.0; 5G System; Location Management Services; Stage 3
  url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.572/'

servers:
  - url: '{apiRoot}/nlmf-loc/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501

security:
  - {}
  - oAuth2ClientCredentials:
      - nlmf-loc

paths:
  /determine-location:
    post:
      summary: Determine Location of an UE
      operationId: DetermineLocation
      tags:
        - Determine Location
      security:
        - {}
        - oAuth2ClientCredentials:
          - nlmf-loc
        - oAuth2ClientCredentials:
          - nlmf-loc
          - nlmf-loc:determine-location:invoke
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InputData'
          multipart/related:  # message with binary body part(s)
            schema:
              type: object
              properties: # Request parts
                jsonData:
                  $ref: '#/components/schemas/InputData'
                binaryDataLppMessage:
                  type: string
                  format: binary
            encoding:
              jsonData:
                contentType:  application/json
              binaryDataLppMessage:
                contentType:  application/vnd.3gpp.lpp
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataLppMessageExt1:
                contentType:  application/vnd.3gpp.lpp
                headers:
                  Content-Id:
                    schema:
                      type: string
              binaryDataLppMessageExt2:
                contentType:  application/vnd.3gpp.lpp
                headers:
                  Content-Id:
                    schema:
                      type: string
        required: true
      responses:
        '200':
          description: Expected response to a valid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocationDataExt'
        '204':
          description: Expected response for MO-LR requesting location assistance data.
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '501':
          $ref: 'TS29571_CommonData.yaml#/components/responses/501'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        '504':
          $ref: 'TS29571_CommonData.yaml#/components/responses/504'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'
      callbacks:
        EventNotify:
          '{$request.body#/hgmlcCallBackURI}':
            post:
              requestBody:
                description: UE Event Notification
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/EventNotifyDataExt'
              responses:
                '204':
                  description: Expected response to a valid notification
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '400':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/400'
                '401':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/401'
                '403':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/403'
                '404':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/404'
                '411':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/500'
                '502':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/502'
                '503':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/503'
                '504':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/504'
                default:
                  $ref: 'TS29571_CommonData.yaml#/components/responses/default'
  /up-subscriptions:
    post:
      summary: subscribe about status of a secure LCS-UP connection for a target UE
      operationId: UpSubscriptions
      tags:
        - UP Subscribe
      security:
        - {}
        - oAuth2ClientCredentials:
          - nlmf-loc
        - oAuth2ClientCredentials:
          - nlmf-loc
          - nlmf-loc:up-subscription:invoke
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpSubscription'
        required: true
      responses:
        '201':
          description: Expected response to successful UP Subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpSubscription'
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        '504':
          $ref: 'TS29571_CommonData.yaml#/components/responses/504'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'
      callbacks:
        UPNotify:
          '{$request.body#/upNotifyCallBackUri}':
            post:
              requestBody:
                description: UP Connection Status Notification
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/UpNotifyData'
              responses:
                '204':
                  description: Expected response to a valid notification
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '400':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/400'
                '401':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/401'
                '403':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/403'
                '404':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/404'
                '411':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/500'
                '502':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/502'
                '503':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/503'
                '504':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/504'
                default:
                  $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /up-subscriptions/{subscriptionId}:
    delete:
      summary: Deletes a subscription
      operationId: DeleteSubscription
      tags:
        - UP Unsubscribe
      security:
        - {}
        - oAuth2ClientCredentials:
          - nlmf-loc
        - oAuth2ClientCredentials:
          - nlmf-loc
          - nlmf-loc:up-subscriptions:invoke
      parameters:
        - name: subscriptionId
          in: path
          required: true
          description: Unique subscription Id
          schema:
            type: string
      responses:
        '204':
          description: Expected response to a successful subscription removal
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '501':
          $ref: 'TS29571_CommonData.yaml#/components/responses/501'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'


  /cancel-location:
    post:
      summary: request cancellation of periodic or triggered location
      operationId: CancelLocation
      tags:
        - Cancel Location
      security:
        - {}
        - oAuth2ClientCredentials:
          - nlmf-loc
        - oAuth2ClientCredentials:
          - nlmf-loc
          - nlmf-loc:cancel-location:invoke
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelLocData'
        required: true
      responses:
        '204':
          description: Expected response to a successful cancellation
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        '504':
          $ref: 'TS29571_CommonData.yaml#/components/responses/504'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'
  /location-context-transfer:
    post:
      summary: transfer context information for periodic or triggered location
      operationId: LocationContextTransfer
      tags:
        - Location Context Transfer
      security:
        - {}
        - oAuth2ClientCredentials:
          - nlmf-loc
        - oAuth2ClientCredentials:
          - nlmf-loc
          - nlmf-loc:location-context-transfer:invoke
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocContextData'
        required: true
      responses:
        '204':
          description: Expected response to successful location context transfer
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        '504':
          $ref: 'TS29571_CommonData.yaml#/components/responses/504'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'
  /measure-location:
    post:
      summary: PRU location measurement
      operationId: LocationMeasure
      tags:
        - Location Measure
      security:
        - {}
        - oAuth2ClientCredentials:
          - nlmf-loc
        - oAuth2ClientCredentials:
          - nlmf-loc
          - nlmf-loc:measure-location:invoke
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocMeasurementReq'
        required: true
      responses:
        '200':
          description: Expected response to a valid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LocMeasurementResp'
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        '504':
          $ref: 'TS29571_CommonData.yaml#/components/responses/504'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /configure-up:
    post:
      summary: set up, modify or terminate a secure LCS-UP connection for a target UE
      operationId: UpConfig
      tags:
        - UP Configure
      security:
        - {}
        - oAuth2ClientCredentials:
          - nlmf-loc
        - oAuth2ClientCredentials:
          - nlmf-loc
          - nlmf-loc:configure-up:invoke
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpConfig'
        required: true
      responses:
        '204':
          description: >
            Expected response to successful set up, modify or terminate LCS-UP connection.
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        '504':
          $ref: 'TS29571_CommonData.yaml#/components/responses/504'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            nlmf-loc: Access to the Nlmf_Location API
            nlmf-loc:determine-location:invoke: Access to invoke Determine Location
            nlmf-loc:cancel-location:invoke: Access to invoke Cancel Location
            nlmf-loc:location-context-transfer:invoke: Access to invoke Location Context
            nlmf-loc:measure-location:invoke: Access to invoke Location Measurement
            nlmf-loc:up-subscriptions:invoke: Access to invoke UP Subscription
            nlmf-loc:configure-up:invoke: Access to invoke UP Config

  schemas:
#
# STRUCTURED TYPES
#
    InputData:
      description: Information within Determine Location Request.
      type: object
      not:
        required: [ ecgi, ncgi ]
      properties:
        externalClientType:
          $ref: '#/components/schemas/ExternalClientType'
        correlationID:
          $ref: '#/components/schemas/CorrelationID'
        amfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        locationQoS:
          $ref: '#/components/schemas/LocationQoS'
        supportedGADShapes:
          type: array
          items:
            $ref: '#/components/schemas/SupportedGADShapes'
          minItems: 1
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        pei:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        requestedRangingSlResult:
          type: array
          items:
            $ref: '#/components/schemas/RangingSlResult'
          minItems: 1
        relatedUes:
          type: array
          items:
            $ref: '#/components/schemas/RelatedUe'
          minItems: 1
        ecgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'
        ecgiOnSecondNode:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'
        ncgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
        ncgiOnSecondNode:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
        priority:
          $ref: '#/components/schemas/LcsPriority'
        velocityRequested:
          $ref: '#/components/schemas/VelocityRequested'
        ueLcsCap:
          $ref: '#/components/schemas/UeLcsCapability'
        lcsServiceType:
          $ref: '#/components/schemas/LcsServiceType'
        ldrType:
          $ref: '#/components/schemas/LdrType'
        hgmlcCallBackURI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        lirGmlcCallBackUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        vgmlcAddress:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        ldrReference:
          $ref: '#/components/schemas/LdrReference'
        lirReference:
          $ref: '#/components/schemas/LirReference'
        periodicEventInfo:
          $ref: '#/components/schemas/PeriodicEventInfo'
        areaEventInfo:
          $ref: '#/components/schemas/AreaEventInfo'
        motionEventInfo:
          $ref: '#/components/schemas/MotionEventInfo'
        reportingAccessTypes:
          type: array
          items:
            $ref: '#/components/schemas/ReportingAccessType'
          minItems: 1
        ueConnectivityStates:
          $ref: '#/components/schemas/UeConnectivityState'
        ueLocationServiceInd:
          $ref: '#/components/schemas/UeLocationServiceInd'
        moAssistanceDataTypes:
          $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/LcsBroadcastAssistanceTypesData'
        lppMessage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        lppMessageExt:
          description: Indicates the lpp message extension.
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
          minItems: 1
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        uePositioningCap:
          $ref: '#/components/schemas/UePositioningCapabilities'
        tnapId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TnapId'
        twapId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TwapId'
        ueCountryDetInd:
          type: boolean
        scheduledLocTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        reliableLocReq:
          type: boolean
          default: false
        evtRptAllowedAreas:
          type: array
          items:
            $ref: '#/components/schemas/ReportingArea'
          minItems: 1
          maxItems: 250
        ueUnawareInd:
          type: boolean
          enum:
            - true
        intermediateLocationInd:
          type: boolean
          default: false
        maxRespTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        lpHapType:
          $ref: 'TS29518_Namf_Location.yaml#/components/schemas/LpHapType'
        ueUpPosCaps:
          type: array
          items:
            $ref: '#/components/schemas/UeUpPositioningCapabilities'
          minItems: 1
        reportingInd:
          allOf:
            - $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/ReportingInd'
          default: INSIDE_REPORTING
        mbsrInfo:
          $ref: '#/components/schemas/MbsrInfo'
        mwabSupportInd:
          type: boolean
          enum:
            - true
        integrityRequirements:
          $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/IntegrityRequirements'
        upLocRepAddrAf:
          $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/UpLocRepAddrAf'
        upCumEvtRptCriteria:
          $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/UpCumEvtRptCriteria'
        mappedQoSEps:
          $ref: '#/components/schemas/MappedLocationQoSEps'
        additionalUeInfo:
          $ref: '#/components/schemas/AdditionalUeInfo'
        coordinateID:
          type: integer
        rangingSlCapability:
          $ref: '#/components/schemas/RangingSlCapability'
        slPositioningCapabilities:
          type: array
          items:
            $ref: '#/components/schemas/SlPositioningCapability'
          minItems: 1

    LocationDataExt:
      description: Extended Location Data for UEs
      allOf:
        - $ref: '#/components/schemas/LocationData'
        - $ref: '#/components/schemas/AddLocationDatas'

    LocationData:
      description: Information within Determine Location Response.
      type: object
      required:
        - locationEstimate
      properties:
        locationEstimate:
          $ref: '#/components/schemas/GeographicArea'
        accuracyFulfilmentIndicator:
          $ref: '#/components/schemas/AccuracyFulfilmentIndicator'
        ageOfLocationEstimate:
          $ref: '#/components/schemas/AgeOfLocationEstimate'
        timestampOfLocationEstimate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        velocityEstimate:
          $ref: '#/components/schemas/VelocityEstimate'
        civicAddress:
          $ref: '#/components/schemas/CivicAddress'
        localLocationEstimate:
          $ref: '#/components/schemas/LocalArea'
        positioningDataList:
          type: array
          items:
            $ref: '#/components/schemas/PositioningMethodAndUsage'
          minItems: 1
        gnssPositioningDataList:
          type: array
          items:
            $ref: '#/components/schemas/GnssPositioningMethodAndUsage'
          minItems: 1
        ecgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'
        ncgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
        remoteUeInd:
          type: boolean
          enum:
            - true
        altitude:
          $ref: '#/components/schemas/Altitude'
        barometricPressure:
          $ref: '#/components/schemas/BarometricPressure'
        servingLMFIdentification:
          $ref: '#/components/schemas/LMFIdentification'
        uePositioningCap:
          $ref: '#/components/schemas/UePositioningCapabilities'
        ueAreaInd:
          $ref: '#/components/schemas/UeAreaIndication'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        achievedQos:
          $ref: '#/components/schemas/MinorLocationQoS'
        directReportInd:
          type: boolean
          default: false
        indoorOutdoorInd:
          $ref: '#/components/schemas/IndoorOutdoorInd'
        acceptedPeriodicEventInfo:
          $ref: '#/components/schemas/PeriodicEventInfo'
        haGnssMetrics:
          $ref: '#/components/schemas/HighAccuracyGnssMetrics'
        losNlosMeasureInd:
          $ref: '#/components/schemas/LosNlosMeasureInd'
        relatedApplicationlayerId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationlayerId'
        distanceDirection:
          $ref: '#/components/schemas/RangeDirection'
        2dRelativeLocation:
          $ref: '#/components/schemas/2DRelativeLocation'
        3dRelativeLocation:
          $ref: '#/components/schemas/3DRelativeLocation'
        relativeVelocity:
          $ref: '#/components/schemas/VelocityEstimate'
        rangingSlCapability:
          $ref: '#/components/schemas/RangingSlCapability'
        integrityResult:
          $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/IntegrityResult'
        nrppaPeriodicInd:
          type: boolean
          enum:
            - true


    GeographicArea:
      description: Geographic area specified by different shape.
      anyOf:
        - $ref: '#/components/schemas/Point'
        - $ref: '#/components/schemas/PointUncertaintyCircle'
        - $ref: '#/components/schemas/PointUncertaintyEllipse'
        - $ref: '#/components/schemas/Polygon'
        - $ref: '#/components/schemas/PointAltitude'
        - $ref: '#/components/schemas/PointAltitudeUncertainty'
        - $ref: '#/components/schemas/EllipsoidArc'

    GADShape:
      description: Common base type for GAD shapes.
      type: object
      required:
        - shape
      properties:
        shape:
          $ref: '#/components/schemas/SupportedGADShapes'
      discriminator:
        propertyName: shape
        mapping:
          POINT: '#/components/schemas/Point'
          POINT_UNCERTAINTY_CIRCLE: '#/components/schemas/PointUncertaintyCircle'
          POINT_UNCERTAINTY_ELLIPSE: '#/components/schemas/PointUncertaintyEllipse'
          POLYGON: '#/components/schemas/Polygon'
          POINT_ALTITUDE: '#/components/schemas/PointAltitude'
          POINT_ALTITUDE_UNCERTAINTY: '#/components/schemas/PointAltitudeUncertainty'
          ELLIPSOID_ARC: '#/components/schemas/EllipsoidArc'
          LOCAL_2D_POINT_UNCERTAINTY_ELLIPSE: '#/components/schemas/Local2dPointUncertaintyEllipse'
          LOCAL_3D_POINT_UNCERTAINTY_ELLIPSOID: '#/components/schemas/Local3dPointUncertaintyEllipsoid'

    Point:
      description: Ellipsoid Point.
      allOf:
        - $ref: '#/components/schemas/GADShape'
        - type: object
          required:
            - point
          properties:
            point:
              $ref: '#/components/schemas/GeographicalCoordinates'

    PointUncertaintyCircle:
      description: Ellipsoid point with uncertainty circle.
      allOf:
        - $ref: '#/components/schemas/GADShape'
        - type: object
          required:
            - point
            - uncertainty
          properties:
            point:
              $ref: '#/components/schemas/GeographicalCoordinates'
            uncertainty:
              $ref: '#/components/schemas/Uncertainty'

    PointUncertaintyEllipse:
      description: Ellipsoid point with uncertainty ellipse.
      allOf:
        - $ref: '#/components/schemas/GADShape'
        - type: object
          required:
            - point
            - uncertaintyEllipse
            - confidence
          properties:
            point:
              $ref: '#/components/schemas/GeographicalCoordinates'
            uncertaintyEllipse:
              $ref: '#/components/schemas/UncertaintyEllipse'
            confidence:
              $ref: '#/components/schemas/Confidence'

    Polygon:
      description: Polygon.
      allOf:
        - $ref: '#/components/schemas/GADShape'
        - type: object
          required:
            - pointList
          properties:
            pointList:
              $ref: '#/components/schemas/PointList'

    PointAltitude:
      description: Ellipsoid point with altitude.
      allOf:
        - $ref: '#/components/schemas/GADShape'
        - type: object
          required:
            - point
            - altitude
          properties:
            point:
              $ref: '#/components/schemas/GeographicalCoordinates'
            altitude:
              $ref: '#/components/schemas/Altitude'

    PointAltitudeUncertainty:
      description: Ellipsoid point with altitude and uncertainty ellipsoid.
      allOf:
        - $ref: '#/components/schemas/GADShape'
        - type: object
          required:
            - point
            - altitude
            - uncertaintyEllipse
            - uncertaintyAltitude
            - confidence
          properties:
            point:
              $ref: '#/components/schemas/GeographicalCoordinates'
            altitude:
              $ref: '#/components/schemas/Altitude'
            uncertaintyEllipse:
              $ref: '#/components/schemas/UncertaintyEllipse'
            uncertaintyAltitude:
              $ref: '#/components/schemas/Uncertainty'
            confidence:
              $ref: '#/components/schemas/Confidence'
            vConfidence:
              $ref: '#/components/schemas/Confidence'

    EllipsoidArc:
      description: Ellipsoid Arc.
      allOf:
        - $ref: '#/components/schemas/GADShape'
        - type: object
          required:
            - point
            - innerRadius
            - uncertaintyRadius
            - offsetAngle
            - includedAngle
            - confidence
          properties:
            point:
              $ref: '#/components/schemas/GeographicalCoordinates'
            innerRadius:
              $ref: '#/components/schemas/InnerRadius'
            uncertaintyRadius:
              $ref: '#/components/schemas/Uncertainty'
            offsetAngle:
              $ref: '#/components/schemas/Angle'
            includedAngle:
              $ref: '#/components/schemas/Angle'
            confidence:
              $ref: '#/components/schemas/Confidence'

    LocalOrigin:
      description: Indicates a Local origin in a reference system
      type: object
      required:
        - coordinateId
      properties:
        coordinateId:
          type: string
        point:
          $ref: '#/components/schemas/GeographicalCoordinates'
        area:
          $ref: '#/components/schemas/GeographicArea'
        horizAxesOrientation:
          $ref: '#/components/schemas/HorizAxesOrientation'

    RelativeCartesianLocation:
      description: Relative Cartesian Location
      type: object
      required:
        - x
        - y
      properties:
        x:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
        y:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
        z:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'


    LocalArea:
      description: Local area specified by different shape
      oneOf:
        - $ref: '#/components/schemas/Local2dPointUncertaintyEllipse'
        - $ref: '#/components/schemas/Local3dPointUncertaintyEllipsoid'

    UeAreaIndication:
      description: >
        Indicates area (country, area in a country or international area) where UE is located
      type: object
      oneOf:
        - required:
          - country
        - required:
          - internationalAreaInd
      properties:
        country:
          description: Indicates country or area in a country where UE is located
          type: string
        internationalAreaInd:
          description: >
            Indicates international area indication if UE is located in international area
          type: boolean
          default: false

    Local2dPointUncertaintyEllipse:
      description: Local 2D point with uncertainty ellipse
      allOf:
        - $ref: '#/components/schemas/GADShape'
        - type: object
          required:
            - localOrigin
            - point
            - uncertaintyEllipse
            - confidence
          properties:
            localOrigin:
              $ref: '#/components/schemas/LocalOrigin'
            point:
              $ref: '#/components/schemas/RelativeCartesianLocation'
            uncertaintyEllipse:
              $ref: '#/components/schemas/UncertaintyEllipse'
            confidence:
              $ref: '#/components/schemas/Confidence'

    Local3dPointUncertaintyEllipsoid:
      description: Local 3D point with uncertainty ellipsoid
      allOf:
        - $ref: '#/components/schemas/GADShape'
        - type: object
          required:
            - localOrigin
            - point
            - uncertaintyEllipsoid
            - confidence
          properties:
            localOrigin:
              $ref: '#/components/schemas/LocalOrigin'
            point:
              $ref: '#/components/schemas/RelativeCartesianLocation'
            uncertaintyEllipsoid:
              $ref: '#/components/schemas/UncertaintyEllipsoid'
            confidence:
              $ref: '#/components/schemas/Confidence'
            vConfidence:
              $ref: '#/components/schemas/Confidence'

    GeographicalCoordinates:
      description: Geographical coordinates.
      type: object
      required:
        - lon
        - lat
      properties:
        lon:
          type: number
          format: double
          minimum: -180
          maximum: 180
        lat:
          type: number
          format: double
          minimum: -90
          maximum: 90

    UncertaintyEllipse:
      description: Ellipse with uncertainty.
      type: object
      required:
        - semiMajor
        - semiMinor
        - orientationMajor
      properties:
        semiMajor:
          $ref: '#/components/schemas/Uncertainty'
        semiMinor:
          $ref: '#/components/schemas/Uncertainty'
        orientationMajor:
          $ref: '#/components/schemas/Orientation'

    UncertaintyEllipsoid:
      description: Ellipsoid with uncertainty
      type: object
      required:
        - semiMajor
        - semiMinor
        - vertical
        - orientationMajor
      properties:
        semiMajor:
          $ref: '#/components/schemas/Uncertainty'
        semiMinor:
          $ref: '#/components/schemas/Uncertainty'
        vertical:
          $ref: '#/components/schemas/Uncertainty'
        orientationMajor:
          $ref: '#/components/schemas/Orientation'

    PointList:
      description: List of points.
      type: array
      items:
        $ref: '#/components/schemas/GeographicalCoordinates'
      minItems: 3
      maxItems: 15

    LocationQoS:
      description: QoS of Location request.
      type: object
      properties:
        hAccuracy:
          $ref: '#/components/schemas/Accuracy'
        vAccuracy:
          $ref: '#/components/schemas/Accuracy'
        verticalRequested:
          type: boolean
        responseTime:
          $ref: '#/components/schemas/ResponseTime'
        minorLocQoses:
          type: array
          items:
            $ref: '#/components/schemas/MinorLocationQoS'
          minItems: 1
          maxItems: 2
        lcsQosClass:
          $ref: '#/components/schemas/LcsQosClass'

    PositioningMethodAndUsage:
      description: Indicates the usage of a positioning method.
      type: object
      required:
        - method
        - mode
        - usage
      properties:
        method:
          $ref: '#/components/schemas/PositioningMethod'
        mode:
          $ref: '#/components/schemas/PositioningMode'
        usage:
          $ref: '#/components/schemas/Usage'
        methodCode:
          type: integer
          minimum: 16
          maximum: 31

    GnssPositioningMethodAndUsage:
      description: >
        Indicates the usage of a Global Navigation Satellite System (GNSS) positioning method.
      type: object
      required:
        - mode
        - gnss
        - usage
      properties:
        mode:
          $ref: '#/components/schemas/PositioningMode'
        gnss:
          $ref: '#/components/schemas/GnssId'
        usage:
          $ref: '#/components/schemas/Usage'

    CivicAddress:
      description: Indicates a Civic address.
      type: object
      properties:
        country:
          type: string
        A1:
          type: string
        A2:
          type: string
        A3:
          type: string
        A4:
          type: string
        A5:
          type: string
        A6:
          type: string
        PRD:
          type: string
        POD:
          type: string
        STS:
          type: string
        HNO:
          type: string
        HNS:
          type: string
        LMK:
          type: string
        LOC:
          type: string
        NAM:
          type: string
        PC:
          type: string
        BLD:
          type: string
        UNIT:
          type: string
        FLR:
          type: string
        ROOM:
          type: string
        PLC:
          type: string
        PCN:
          type: string
        POBOX:
          type: string
        ADDCODE:
          type: string
        SEAT:
          type: string
        RD:
          type: string
        RDSEC:
          type: string
        RDBR:
          type: string
        RDSUBBR:
          type: string
        PRM:
          type: string
        POM:
          type: string
        usageRules:
          type: string
        method:
          type: string
        providedBy:
          type: string

    VelocityEstimate:
      description: Velocity estimate.
      anyOf:
        - $ref: '#/components/schemas/HorizontalVelocity'
        - $ref: '#/components/schemas/HorizontalWithVerticalVelocity'
        - $ref: '#/components/schemas/HorizontalVelocityWithUncertainty'
        - $ref: '#/components/schemas/HorizontalWithVerticalVelocityAndUncertainty'
        - $ref: '#/components/schemas/RelativeVelocityWithUncertainty'

    HorizontalVelocity:
      description: Horizontal velocity.
      type: object
      required:
        - hSpeed
        - bearing
      properties:
        hSpeed:
          $ref: '#/components/schemas/HorizontalSpeed'
        bearing:
          $ref: '#/components/schemas/Angle'

    HorizontalWithVerticalVelocity:
      description: Horizontal and vertical velocity.
      type: object
      required:
        - hSpeed
        - bearing
        - vSpeed
        - vDirection
      properties:
        hSpeed:
          $ref: '#/components/schemas/HorizontalSpeed'
        bearing:
          $ref: '#/components/schemas/Angle'
        vSpeed:
          $ref: '#/components/schemas/VerticalSpeed'
        vDirection:
          $ref: '#/components/schemas/VerticalDirection'

    HorizontalVelocityWithUncertainty:
      description: Horizontal velocity with speed uncertainty.
      type: object
      required:
        - hSpeed
        - bearing
        - hUncertainty
      properties:
        hSpeed:
          $ref: '#/components/schemas/HorizontalSpeed'
        bearing:
          $ref: '#/components/schemas/Angle'
        hUncertainty:
          $ref: '#/components/schemas/SpeedUncertainty'

    HorizontalWithVerticalVelocityAndUncertainty:
      description: Horizontal and vertical velocity with speed uncertainty.
      type: object
      required:
        - hSpeed
        - bearing
        - vSpeed
        - vDirection
        - hUncertainty
        - vUncertainty
      properties:
        hSpeed:
          $ref: '#/components/schemas/HorizontalSpeed'
        bearing:
          $ref: '#/components/schemas/Angle'
        vSpeed:
          $ref: '#/components/schemas/VerticalSpeed'
        vDirection:
          $ref: '#/components/schemas/VerticalDirection'
        hUncertainty:
          $ref: '#/components/schemas/SpeedUncertainty'
        vUncertainty:
          $ref: '#/components/schemas/SpeedUncertainty'

    UeLcsCapability:
      description: Indicates the LCS capability supported by the UE..
      type: object
      properties:
        lppSupport:
          type: boolean
          default: true
        ciotOptimisation:
          type: boolean
          default: false

    PeriodicEventInfo:
      description: Indicates the information of periodic event reporting.
      type: object
      required:
        - reportingAmount
        - reportingInterval
      properties:
        reportingAmount:
          $ref: '#/components/schemas/ReportingAmount'
        reportingInterval:
          $ref: '#/components/schemas/ReportingInterval'
        reportingInfiniteInd:
          type: boolean
          enum:
            - true
        reportingIntervalMs:
          $ref: '#/components/schemas/ReportingIntervalMs'

    AreaEventInfo:
      description: Indicates the information of area based event reporting.
      type: object
      required:
        - areaDefinition
      properties:
        areaDefinition:
          type: array
          items:
            $ref: '#/components/schemas/ReportingArea'
          minItems: 1
          maxItems: 250
        occurrenceInfo:
          $ref: '#/components/schemas/OccurrenceInfo'
        minimumInterval:
          $ref: '#/components/schemas/MinimumInterval'
        maximumInterval:
          $ref: '#/components/schemas/MaximumInterval'
        samplingInterval:
          $ref: '#/components/schemas/SamplingInterval'
        reportingDuration:
          $ref: '#/components/schemas/ReportingDuration'
        reportingLocationReq:
          type: boolean
          default: true

    ReportingArea:
      description: Indicates an area for event reporting.
      type: object
      required:
        - areaType
      properties:
        areaType:
          $ref: '#/components/schemas/ReportingAreaType'
        tai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai'
        ecgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'
        ncgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'

    MotionEventInfo:
      description: Indicates the information of motion based event reporting.
      type: object
      required:
        - linearDistance
      properties:
        linearDistance:
          $ref: '#/components/schemas/LinearDistance'
        occurrenceInfo:
          $ref: '#/components/schemas/OccurrenceInfo'
        minimumInterval:
          $ref: '#/components/schemas/MinimumInterval'
        maximumInterval:
          $ref: '#/components/schemas/MaximumInterval'
        samplingInterval:
          $ref: '#/components/schemas/SamplingInterval'
        reportingDuration:
          $ref: '#/components/schemas/ReportingDuration'
        reportingLocationReq:
          type: boolean
          default: true

    CancelLocData:
      description: Information within Cancel Location Request.
      type: object
      required:
        - hgmlcCallBackURI
        - ldrReference
      properties:
        hgmlcCallBackURI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        ldrReference:
          $ref: '#/components/schemas/LdrReference'
        lcsCorrelationID:
          $ref: '#/components/schemas/CorrelationID'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'

    LocContextData:
      description: Information within Transfer Location Context Request.
      type: object
      required:
        - amfId
        - ldrType
        - hgmlcCallBackURI
        - ldrReference
        - eventReportMessage
      properties:
        amfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        locationQoS:
          $ref: '#/components/schemas/LocationQoS'
        supportedGADShapes:
          type: array
          items:
            $ref: '#/components/schemas/SupportedGADShapes'
          minItems: 1
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        addLocContextList:
          type: array
          items:
            $ref: '#/components/schemas/AddLocationContext'
          minItems: 1
        ldrType:
          $ref: '#/components/schemas/LdrType'
        hgmlcCallBackURI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        ldrReference:
          $ref: '#/components/schemas/LdrReference'
        periodicEventInfo:
          $ref: '#/components/schemas/PeriodicEventInfo'
        areaEventInfo:
          $ref: '#/components/schemas/AreaEventInfo'
        motionEventInfo:
          $ref: '#/components/schemas/MotionEventInfo'
        eventReportMessage:
          $ref: '#/components/schemas/EventReportMessage'
        eventReportingStatus:
          $ref: '#/components/schemas/EventReportingStatus'
        ueLocationInfo:
          $ref: '#/components/schemas/UELocationInfo'
        cIoT5GSOptimisation:
          type: boolean
          default: false
        ecgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'
        ncgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
        guami:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        uePositioningCap:
          $ref: '#/components/schemas/UePositioningCapabilities'
        scheduledLocTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        indoorOutdoorInd:
          $ref: '#/components/schemas/IndoorOutdoorInd'
        losNlosMeasureInd:
          $ref: '#/components/schemas/LosNlosMeasureInd'
        upCumEvtRptCriteria:
          $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/UpCumEvtRptCriteria'
        lcsUppExistInd:
          type: boolean
          enum:
            - true

    AddLocationContext:
      description: Information within Location context(s).
      type: object
      required:
        - ldrType
        - hgmlcCallBackURI
        - ldrReference
      properties:
        locationQoS:
          $ref: '#/components/schemas/LocationQoS'
        ldrType:
          $ref: '#/components/schemas/LdrType'
        hgmlcCallBackURI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        ldrReference:
          $ref: '#/components/schemas/LdrReference'
        periodicEventInfo:
          $ref: '#/components/schemas/PeriodicEventInfo'
        areaEventInfo:
          $ref: '#/components/schemas/AreaEventInfo'
        motionEventInfo:
          $ref: '#/components/schemas/MotionEventInfo'
        eventReportMessage:
          $ref: '#/components/schemas/EventReportMessage'
        eventReportingStatus:
          $ref: '#/components/schemas/EventReportingStatus'
        ueLocationInfo:
          $ref: '#/components/schemas/UELocationInfo'
        scheduledLocTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        indoorOutdoorInd:
          $ref: '#/components/schemas/IndoorOutdoorInd'
        losNlosMeasureInd:
          $ref: '#/components/schemas/LosNlosMeasureInd'
        upCumEvtRptCriteria:
          $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/UpCumEvtRptCriteria'
        lcsUppExistInd:
          type: boolean
          enum:
            - true

    EventReportMessage:
      description: Indicates an event report message.
      type: object
      required:
        - eventClass
        - eventContent
      properties:
        eventClass:
          $ref: '#/components/schemas/EventClass'
        eventContent:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'

    EventReportingStatus:
      description: Indicates the status of event reporting.
      type: object
      properties:
        eventReportCounter:
          $ref: '#/components/schemas/EventReportCounter'
        eventReportDuration:
          $ref: '#/components/schemas/EventReportDuration'

    UELocationInfo:
      description: Indicates location information of a UE.
      type: object
      properties:
        locationEstimate:
          $ref: '#/components/schemas/GeographicArea'
        ageOfLocationEstimate:
          $ref: '#/components/schemas/AgeOfLocationEstimate'
        timestampOfLocationEstimate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        velocityEstimate:
          $ref: '#/components/schemas/VelocityEstimate'
        ageOfVelocityEstimate:
          $ref: '#/components/schemas/AgeOfLocationEstimate'
        timestampOfVelocityEstimate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'

    EventNotifyDataExt:
      description: Extended Event Notify Data for UEs
      allOf:
        - $ref: '#/components/schemas/EventNotifyData'
        - $ref: '#/components/schemas/AddEventNotifyDatas'

    EventNotifyData:
      description: Information within Event Notify Request.
      type: object
      required:
        - reportedEventType
        - ldrReference
      properties:
        reportedEventType:
          $ref: '#/components/schemas/ReportedEventType'
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        hgmlcCallBackURI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        ldrReference:
          $ref: '#/components/schemas/LdrReference'
        lirReference:
          $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LirReference'
        locationEstimate:
          $ref: '#/components/schemas/GeographicArea'
        ageOfLocationEstimate:
          $ref: '#/components/schemas/AgeOfLocationEstimate'
        timestampOfLocationEstimate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        civicAddress:
          $ref: '#/components/schemas/CivicAddress'
        localLocationEstimate:
          $ref: '#/components/schemas/LocalArea'
        positioningDataList:
          type: array
          items:
            $ref: '#/components/schemas/PositioningMethodAndUsage'
          minItems: 1
        gnssPositioningDataList:
          type: array
          items:
            $ref: '#/components/schemas/GnssPositioningMethodAndUsage'
          minItems: 1
        servingLMFidentification:
          $ref: '#/components/schemas/LMFIdentification'
        terminationCause:
          $ref: '#/components/schemas/TerminationCause'
        velocityEstimate:
          $ref: '#/components/schemas/VelocityEstimate'
        altitude:
          $ref: '#/components/schemas/Altitude'
        achievedQos:
          $ref: '#/components/schemas/MinorLocationQoS'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        indoorOutdoorInd:
          $ref: '#/components/schemas/IndoorOutdoorInd'
        haGnssMetrics:
          $ref: '#/components/schemas/HighAccuracyGnssMetrics'
        losNlosMeasureInd:
          $ref: '#/components/schemas/LosNlosMeasureInd'
        upLocRepStatAf:
          type: integer
        relatedApplicationlayerId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationlayerId'
        distanceDirection:
          $ref: '#/components/schemas/RangeDirection'
        2dRelativeLocation:
          $ref: '#/components/schemas/2DRelativeLocation'
        3dRelativeLocation:
          $ref: '#/components/schemas/3DRelativeLocation'
        relativeVelocity:
          $ref: '#/components/schemas/VelocityEstimate'
        integrityResult:
          $ref: 'TS29515_Ngmlc_Location.yaml#/components/schemas/IntegrityResult'


    UeConnectivityState:
      description: Indicates the connectivity state of a UE.
      type: object
      required:
        - accessType
      properties:
        accessType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        connectivitystate:
          $ref: 'TS29518_Namf_EventExposure.yaml#/components/schemas/CmState'

    MinorLocationQoS:
      description: Contain Minor Location QoS.
      type: object
      properties:
        hAccuracy:
          $ref: '#/components/schemas/Accuracy'
        vAccuracy:
          $ref: '#/components/schemas/Accuracy'

    MbsrInfo:
      description: MBSR Information
      type: object
      properties:
        ncgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
        ecgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'


    LocMeasurementReq:
      description: Location Measurement Request.
      type: object
      properties:
        ncgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
        ecgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'
        preCalcuLocEstimate:
          $ref: '#/components/schemas/GeographicArea'
        timestampOfPreCalcuLocEstimate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        timeWindows:
          type: array
          items:
            $ref: '#/components/schemas/TimeWindow'
          minItems: 1
        timeWindowsNrppa:
          $ref: '#/components/schemas/TimeWindowsNrppa'
        method:
          $ref: '#/components/schemas/PositioningMethod'
        trpParameters:
          type: array
          items:
            $ref: '#/components/schemas/TrpParameter'
          minItems: 1

    LocMeasurementResp:
      description: Location Measurement Response.
      type: object
      required:
        - locMeasurements
      properties:
        locMeasurements:
          type: array
          items:
            $ref: '#/components/schemas/LocMeasurements'
          minItems: 1

    LocMeasurements:
      description: PRU Location Measurements.
      type: object
      properties:
        locInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'

    HighAccuracyGnssMetrics:
      description: High Accuracy GNSS Positioning Metrics.
      type: object
      properties:
        nrOfUsedSatellites:
          type: integer
          minimum: 0
          maximum: 64
        hdopi:
          type: integer
          minimum: 1
          maximum: 256
        pdopi:
          type: integer
          minimum: 1
          maximum: 256
        age:
          type: integer
          minimum: 0
          maximum: 99
        fixType:
          $ref: '#/components/schemas/FixType'

    UpNotifyData:
      description: UP Subscription
      type: object
      required:
        - notifCorrelationId
        - upConnectionStatus
      properties:
        notifCorrelationId:
          $ref: '#/components/schemas/CorrelationID'
        upConnectionStatus:
          $ref: '#/components/schemas/UpConnectionStatus'
        targetLMFId:
          $ref: '#/components/schemas/LMFIdentification'

    UpSubscription:
      description: UP Subscription
      type: object
      required:
        - upNotifyCallBackUri
        - notifCorrelationId
        - supi
      properties:
        upNotifyCallBackUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        notifCorrelationId:
          $ref: '#/components/schemas/CorrelationID'
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'

    RelatedUe:
      description: Related UE Information
      type: object
      required:
        - applicationlayerId
        - relatedUeType
      properties:
        applicationlayerId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationlayerId'
        relatedUeType:
          $ref: '#/components/schemas/RelatedUeType'

    UpConfig:
      description: UP Config
      type: object
      required:
        - upNotifyCallBackUri
        - notifCorrelationId
      anyOf:
        - required: [supi]
        - required: [gpsi]
      properties:
        upNotifyCallBackUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        notifCorrelationId:
          $ref: '#/components/schemas/CorrelationID'
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        amfReallocationInd:
          type: boolean
          default: false
        lcsUpConnectionInd:
          $ref: '#/components/schemas/LcsUpConnectionInd'
        targetLMFId:
          $ref: '#/components/schemas/LMFIdentification'

    RangeDirection:
      description: Represents a distance and direction from a point A to a point B.
      type: object
      properties:
        distance:
          type: number
        azimuthDirection:
          $ref: '#/components/schemas/Angle'
        elevationDirection:
          $ref: '#/components/schemas/Angle'

    2DRelativeLocation:
      description: Represents a relative 2D location with uncertainty ellipse.
      type: object
      properties:
        semiMinor:
          $ref: '#/components/schemas/Uncertainty'
        semiMajor:
          $ref: '#/components/schemas/Uncertainty'
        orientationAngle:
          $ref: '#/components/schemas/Angle'

    3DRelativeLocation:
      description: Represents a relative 3D location with uncertainty ellipsoid.
      type: object
      properties:
        semiMinor:
          $ref: '#/components/schemas/Uncertainty'
        semiMajor:
          $ref: '#/components/schemas/Uncertainty'
        verticalUncertainty:
          $ref: '#/components/schemas/Uncertainty'
        orientationAngle:
          $ref: '#/components/schemas/Angle'

    AddLocationDatas:
      description: Additional Location Data.
      type: object
      properties:
        addLocationDatas:
          type: array
          items:
            $ref: '#/components/schemas/LocationData'
          minItems: 1

    AddEventNotifyDatas:
      description: Additional Event Notify Data.
      type: object
      properties:
        addEventNotifyDatas:
          type: array
          items:
            $ref: '#/components/schemas/EventNotifyData'
          minItems: 1

    MappedLocationQoSEps:
      description: Mapped Location QoS for EPS.
      type: object
      required:
        - hAccuracy
      properties:
        hAccuracy:
          $ref: '#/components/schemas/Accuracy'
        vAccuracy:
          $ref: '#/components/schemas/Accuracy'

    AdditionalUeInfo:
      description: MBSR UE or MWAB UE Information
      type: object
      properties:
        ncgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
        tai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai'

    TimeWindowsNrppa:
      description: Time windows when network assisted positioning is used.
      type: object
      properties:
        measurementList:
          $ref: '#/components/schemas/TimeWindowInfoMeasurementList'
        srsList:
          $ref: '#/components/schemas/TimeWindowInfoSrsList'
      anyOf:
        - required: [measurementList]
        - required: [srsList]


    RelativeVelocityWithUncertainty:
      description: Relative velocity with radial velocity and transverse velocity.
      type: object
      properties:
        rVelocity:
          $ref: '#/components/schemas/RadialVelocity'
        aTransverseVelocity:
          $ref: '#/components/schemas/AngularVelocity'
        eTransverseVelocity:
          $ref: '#/components/schemas/AngularVelocity'

    RadialVelocity:
      description: Rate of change of a range.
      type: object
      required:
        - unitsRadialVelocity
        - radialVelocity
        - rVelocityUncertainty
      properties:
        unitsRadialVelocity:
          $ref: '#/components/schemas/UnitsLinearVelocity'
        radialVelocity:
          $ref: '#/components/schemas/RadialVelocityValue'
        rVelocityUncertainty:
          $ref: '#/components/schemas/RadialVelocityUncertainty'


    AngularVelocity:
      description: Rate of change of an angle.
      type: object
      required:
        - unitsAngularVelocity
        - angularVelocity
        - aVelocityUncertainty
      properties:
        unitsAngularVelocity:
          $ref: '#/components/schemas/UnitsAngularVelocity'
        angularVelocity:
          $ref: '#/components/schemas/AngularVelocityValue'
        aVelocityUncertainty:
          $ref: '#/components/schemas/AngularVelocityUncertainty'

    TrpParameter:
      description: The identifiers of TRPs if the network assisted positioning is used
      type: object
      properties:
        trpIds:
          type: array
          items:
            $ref: '#/components/schemas/TrpId'
          minItems: 1
        globalGnbId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId'

#
#
# SIMPLE TYPES
#
    Altitude:
      description: Indicates value of altitude.
      type: number
      format: double
      minimum: -32767
      maximum: 32767

    Angle:
      description: Indicates value of angle.
      type: integer
      minimum: 0
      maximum: 360

    Uncertainty:
      description: Indicates value of uncertainty.
      type: number
      format: float
      minimum: 0

    Orientation:
      description: Indicates value of orientation angle.
      type: integer
      minimum: 0
      maximum: 180

    HorizAxesOrientation:
      description: Horizontal axes orientation angle clockwise from northing in 0.1 degrees.
      type: integer
      minimum: 0
      maximum: 3600

    Confidence:
      description: Indicates value of confidence.
      type: integer
      minimum: 0
      maximum: 100

    Accuracy:
      description: Indicates value of accuracy.
      type: number
      format: float
      minimum: 0

    InnerRadius:
      description: Indicates value of the inner radius.
      type: integer
      format: int32
      minimum: 0
      maximum: 327675

    CorrelationID:
      description: LCS Correlation ID.
      type: string
      minLength: 1
      maxLength: 255

    AgeOfLocationEstimate:
      description: Indicates value of the age of the location estimate.
      type: integer
      minimum: 0
      maximum: 32767

    HorizontalSpeed:
      description: Indicates value of horizontal speed.
      type: number
      format: float
      minimum: 0
      maximum: 2047

    VerticalSpeed:
      description: Indicates value of vertical speed.
      type: number
      format: float
      minimum: 0
      maximum: 255

    SpeedUncertainty:
      description: Indicates value of speed uncertainty.
      type: number
      format: float
      minimum: 0
      maximum: 255

    BarometricPressure:
      description: Specifies the measured uncompensated atmospheric pressure.
      type: integer
      minimum: 30000
      maximum: 115000

    LcsServiceType:
      description: LCS service type.
      type: integer
      minimum: 0
      maximum: 127

    LdrReference:
      description: LDR Reference.
      type: string
      minLength: 2
      maxLength: 510

    LirReference:
      description: LIR Reference.
      type: string
      minLength: 2
      maxLength: 510

    ReportingAmount:
      description: Number of required periodic event reports.
      type: integer
      minimum: 1
      maximum: 8639999

    ReportingInterval:
      description: Event reporting periodic interval in seconds.
      type: integer
      minimum: 1
      maximum: 8639999

    ReportingIntervalMs:
      description: Event reporting periodic interval in milliseconds.
      type: integer
      minimum: 1
      maximum: 999

    MinimumInterval:
      description: Minimum interval between event reports.
      type: integer
      minimum: 1
      maximum: 32767

    MaximumInterval:
      description: Maximum interval between event reports.
      type: integer
      minimum: 1
      maximum: 86400

    SamplingInterval:
      description: Maximum time interval between consecutive evaluations by a UE of a trigger event.
      type: integer
      minimum: 1
      maximum: 3600

    ReportingDuration:
      description: Maximum duration of event reporting.
      type: integer
      minimum: 1
      maximum: 8640000

    LinearDistance:
      description: Minimum straight line distance moved by a UE to trigger a motion event report.
      type: integer
      minimum: 1
      maximum: 10000

    LMFIdentification:
      description: LMF identification.
      type: string

    EventReportCounter:
      description: Number of event reports received from the target UE.
      type: integer
      minimum: 1
      maximum: 8640000

    EventReportDuration:
      description: Duration of event reporting.
      type: integer
      minimum: 1
      maximum: 8640000

    UePositioningCapabilities:
      description: >
        Positioning capabilities supported by the UE. A string encoding the
        "ProvideCapabilities-r9-IEs" IE as specified in clause 6.3 of 3GPP
        TS 37.355 (start from octet 1).
      type: string
      format: byte

    TimeWindow:
      description: Time Window when UE assisted positioning is used.
      type: string
      format: byte

    TimeWindowInfoMeasurementList:
      description: Contains the Time Window Information Measurement List.
      type: string
      format: byte

    TimeWindowInfoSrsList:
      description: Contains the Time Window Information SRS List.
      type: string
      format: byte

    RangingSlCapability:
      description: Ranging/Sidelink Positioning Positioning capabilities supported by the UE.
      type: string
      format: byte

    RadialVelocityValue:
      description: Indicates value of rate of change of a range between the device A and device B.
      type: integer
      minimum: -2048
      maximum: 2047


    AngularVelocityValue:
      description: Indicates rate of change of an angle.
      type: integer
      minimum: -1024
      maximum: 1023


    AngularVelocityUncertainty:
      description: Indicates uncertainty for rate of change of an angle.
      type: integer
      minimum: 0
      maximum: 255

    RadialVelocityUncertainty:
      description: Indicates uncertainty for rate of change of an range.
      type: integer
      minimum: 0
      maximum: 255

    TrpId:
      description: Identifiers of TRP.
      type: integer
      minimum: 1
      maximum: 65535

#
# ENUMS
#
    ExternalClientType:
      description: Indicates types of External Clients.
      anyOf:
        - type: string
          enum:
            - EMERGENCY_SERVICES
            - VALUE_ADDED_SERVICES
            - PLMN_OPERATOR_SERVICES
            - LAWFUL_INTERCEPT_SERVICES
            - PLMN_OPERATOR_BROADCAST_SERVICES
            - PLMN_OPERATOR_OM
            - PLMN_OPERATOR_ANONYMOUS_STATISTICS
            - PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT
            - SL_POS
        - type: string

    SupportedGADShapes:
      description: Indicates supported GAD shapes.
      anyOf:
        - type: string
          enum:
            - POINT
            - POINT_UNCERTAINTY_CIRCLE
            - POINT_UNCERTAINTY_ELLIPSE
            - POLYGON
            - POINT_ALTITUDE
            - POINT_ALTITUDE_UNCERTAINTY
            - ELLIPSOID_ARC
            - LOCAL_2D_POINT_UNCERTAINTY_ELLIPSE
            - LOCAL_3D_POINT_UNCERTAINTY_ELLIPSOID
            - DISTANCE_DIRECTION
            - RELATIVE_2D_LOCATION_UNCERTAINTY_ELLIPSE
            - RELATIVE_3D_LOCATION_UNCERTAINTY_ELLIPSOID
        - type: string

    ResponseTime:
      description: Indicates acceptable delay of location request.
      anyOf:
        - type: string
          enum:
            - LOW_DELAY
            - DELAY_TOLERANT
            - NO_DELAY
        - type: string

    PositioningMethod:
      description: Indicates supported positioning methods.
      anyOf:
        - type: string
          enum:
            - CELLID
            - ECID
            - OTDOA
            - BAROMETRIC_PRESSURE
            - WLAN
            - BLUETOOTH
            - MBS
            - MOTION_SENSOR
            - DL_TDOA
            - DL_AOD
            - MULTI-RTT
            - NR_ECID
            - UL_TDOA
            - UL_AOA
            - NETWORK_SPECIFIC
            - SL_TDOA
            - SL_TOA
            - SL_AoA
            - SL_RT
        - type: string

    PositioningMode:
      description: Indicates supported modes used for positioning method.
      anyOf:
        - type: string
          enum:
            - UE_BASED
            - UE_ASSISTED
            - CONVENTIONAL
        - type: string

    GnssId:
      description: Global Navigation Satellite System (GNSS) ID.
      anyOf:
        - type: string
          enum:
            - GPS
            - GALILEO
            - SBAS
            - MODERNIZED_GPS
            - QZSS
            - GLONASS
            - BDS
            - NAVIC
        - type: string

    Usage:
      description: Indicates usage made of the location measurement.
      anyOf:
        - type: string
          enum:
            - UNSUCCESS
            - SUCCESS_RESULTS_NOT_USED
            - SUCCESS_RESULTS_USED_TO_VERIFY_LOCATION
            - SUCCESS_RESULTS_USED_TO_GENERATE_LOCATION
            - SUCCESS_METHOD_NOT_DETERMINED
        - type: string

    LcsPriority:
      description: Indicates priority of the LCS client.
      anyOf:
        - type: string
          enum:
            - HIGHEST_PRIORITY
            - NORMAL_PRIORITY
        - type: string

    VelocityRequested:
      description: Indicates velocity requirement.
      anyOf:
        - type: string
          enum:
            - VELOCITY_IS_NOT_REQUESTED
            - VELOCITY_IS_REQUESTED
        - type: string

    AccuracyFulfilmentIndicator:
      description: Indicates fulfilment of requested accuracy.
      anyOf:
        - type: string
          enum:
            - REQUESTED_ACCURACY_FULFILLED
            - REQUESTED_ACCURACY_NOT_FULFILLED
        - type: string

    VerticalDirection:
      description: Indicates direction of vertical speed.
      type: string
      enum:
        - UPWARD
        - DOWNWARD

    LdrType:
      description: Indicates LDR types.
      anyOf:
        - type: string
          enum:
            - UE_AVAILABLE
            - PERIODIC
            - ENTERING_INTO_AREA
            - LEAVING_FROM_AREA
            - BEING_INSIDE_AREA
            - MOTION
        - type: string

    ReportingAreaType:
      description: Indicates type of event reporting area.
      anyOf:
        - type: string
          enum:
            - EPS_TRACKING_AREA_IDENTITY
            - E-UTRAN_CELL_GLOBAL_IDENTIFICATION
            - 5GS_TRACKING_AREA_IDENTITY
            - NR_CELL_GLOBAL_IDENTITY
        - type: string

    OccurrenceInfo:
      description: Specifies occurrence of event reporting.
      anyOf:
        - type: string
          enum:
            - ONE_TIME_EVENT
            - MULTIPLE_TIME_EVENT
        - type: string

    ReportingAccessType:
      description: Specifies access types of event reporting.
      anyOf:
        - type: string
          enum:
            - NR
            - EUTRA_CONNECTED_TO_5GC
            - NON_3GPP_CONNECTED_TO_5GC
            - NR_LEO
            - NR_MEO
            - NR_GEO
            - NR_OTHER_SAT
            - EUTRA_CONNECTED_TO_EPC
        - type: string

    EventClass:
      description: Specifies event classes.
      anyOf:
        - type: string
          enum:
            - SUPPLEMENTARY_SERVICES
            - DUMMY
        - type: string

    ReportedEventType:
      description: Specifies type of event reporting.
      anyOf:
        - type: string
          enum:
            - PERIODIC_EVENT
            - ENTERING_AREA_EVENT
            - LEAVING_AREA_EVENT
            - BEING_INSIDE_AREA_EVENT
            - MOTION_EVENT
            - MAXIMUM_INTERVAL_EXPIRATION_EVENT
            - LOCATION_CANCELLATION_EVENT
            - INTERMEDIATE_EVENT
            - DIRECT_REPORT_EVENT
            - CUMULATIVE_EVENT_REPORT
        - type: string

    TerminationCause:
      description: Specifies causes of event reporting termination.
      anyOf:
        - type: string
          enum:
            - TERMINATION_BY_UE
            - TERMINATION_BY_NETWORK
            - NORMAL_TERMINATION
        - type: string

    LcsQosClass:
      description: Specifies LCS QoS class.
      anyOf:
        - type: string
          enum:
            - BEST_EFFORT
            - ASSURED
            - MULTIPLE_QOS
        - type: string

    UeLocationServiceInd:
      description: Specifies location service types requested by UE.
      anyOf:
        - type: string
          enum:
            - LOCATION_ESTIMATE
            - LOCATION_ASSISTANCE_DATA
        - type: string

    IndoorOutdoorInd:
      description: Specifies UE location indoor or outdoor.
      anyOf:
        - type: string
          enum:
            - INDOOR
            - OUTDOOR
        - type: string

    FixType:
      description: Specifies the positioning fix type.
      anyOf:
        - type: string
          enum:
            - CARRIER_PHASE_FLOAT
            - CARRIER_PHASE_FIX
        - type: string

    LosNlosMeasureInd:
      description: Specifies LOS measurement or NLOS measurement.
      anyOf:
        - type: string
          enum:
            - LOS
            - NLOS
        - type: string

    UpConnectionStatus:
      description: UP Connection Status.
      anyOf:
        - type: string
          enum:
            - ESTABLISHED
            - RELEASED
            - MOVE
        - type: string

    RangingSlResult:
      description: Specifies the type of result requested for ranging and sidelink positioning.
      anyOf:
        - type: string
          enum:
            - ABSOLUTE_LOCATION
            - RELATIVE_LOCATION
            - RANGING_DIRECTION
            - RANGING
            - DIRECTION
            - VELOCITY
            - RELATIVE_VELOCITY
        - type: string

    RelatedUeType:
      description: Specifies the different roles of UE for ranging and sidelink positioning service.
      anyOf:
        - type: string
          enum:
            - LOCATED_UE
            - REFERENCE_UE
        - type: string

    LcsUpConnectionInd:
      description: LCS UP Connection Indication.
      anyOf:
        - type: string
          enum:
            - TERMINATION
            - SETUP
        - type: string

    UeUpPositioningCapabilities:
      description: User plane positioning capabilities supported by the UE.
      anyOf:
        - type: string
          enum:
            - LCS_UPP
            - SUPL
        - type: string

    SlPositioningCapability:
      description: The Ranging and sidelink positioning capabilities supported by the UE.
      anyOf:
        - type: string
          enum:
            - V2X
            - 5G_PROSE
        - type: string

    UnitsLinearVelocity:
      description: The the units of linear velocity.
      anyOf:
        - type: string
          enum:
            - MPERS
            - CMPERS
        - type: string

    UnitsAngularVelocity:
      description: The units of angular velocity.
      anyOf:
        - type: string
          enum:
            - DEGPERSEC1
            - DEGPERSEC01
        - type: string
