openapi: 3.0.0
info:
  description: API for configuring Alerts, Geofences and Hangouts for the ThingPark Location solution.
  title: ThingPark DX Location Alarm Configuration API
  version: 1.5.0
externalDocs:
  description: 'For more information, please check the online examples in this documentation.'
  url: '/location-alarm-config/latest/doc/index.html'
paths:
  /alerts:
    get:
      parameters:
        - description: device on which the alerts are applied
          in: query
          name: deviceEUI
          required: false
          schema:
            type: string
        - description: if the volatile alerts are included
          in: query
          name: volatileIncluded
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: Alerts retrieved successfully.
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Alert'
                type: array
              example:
                - alertType:
                    alertTypeName: AlertTypePosition
                    notifyByEmail: true
                    notifyOnInterface: true
                    coordinates:
                      - 141.43784
                      - -25.95916
                    coordinatesAccuracy: 50
                  deviceEUIList: 70B3D53260001A76
                  ref: 82716e0a-eec9-428e-a85c-dbc0c4d855dd
                - alertType:
                    alertTypeName: AlertTypeSOS
                    notifyByEmail: true
                    notifyOnInterface: true
                  deviceEUIList: 70B3D5326000027F
                  ref: 59c03279-31e4-4c94-a8af-3e2cb83e4909
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Alert
      description: Retrieves a list of alerts existing within authorized scopes.
      summary: Alerts retrieval
      x-since-version: 1.0.0
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Alert'
            examples:
              AlertPosition:
                $ref: '#/components/examples/AlertPosition'
              AlertSOS:
                $ref: '#/components/examples/AlertSOS'
              AlertBattery:
                $ref: '#/components/examples/AlertBattery'
              AlertBatteryStatus:
                $ref: '#/components/examples/AlertBatteryStatus'
              AlertTrackingMode:
                $ref: '#/components/examples/AlertTrackingMode'
              AlertMotion:
                $ref: '#/components/examples/AlertMotion'
              AlertParameter:
                $ref: '#/components/examples/AlertParameter'
          application/xml:
            schema:
              $ref: '#/components/schemas/Alert'
        description: Contents of the alert to create.
        required: true
      responses:
        '201':
          description: Alert created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
              example:
                alertType:
                  alertTypeName: AlertTypePosition
                  notifyByEmail: true
                  notifyOnInterface: true
                  coordinates:
                    - 141.43784
                    - -25.95916
                  coordinatesAccuracy: 50
                deviceEUIList: 70B3D53260001A76
                ref: 971cbcc5-b2b9-4ea1-8c8c-e3be7148ce46
                timeout: 300
                creation_time: "2022-06-01T09:02:13.552Z"
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '403':
          description: Forbidden - User has no access to specified tracker(s)
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Alert
      description: Creates a new alert.
      summary: Alert creation
      x-since-version: 1.0.0
  /alerts/{ref}:
    get:
      parameters:
        - description: Ref of the alert to retrieve.
          in: path
          name: ref
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Alerts retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
              example:
                alertType:
                  alertTypeName: AlertTypePosition
                  notifyByEmail: true
                  notifyOnInterface: true
                  coordinates:
                    - 141.43784
                    - -25.95916
                  coordinatesAccuracy: 50
                deviceEUIList: 70B3D53260001A76
                ref: 971cbcc5-b2b9-4ea1-8c8c-e3be7148ce46
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '404':
          description: Not found
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Alert
      description: Retrieves the alert corresponding to the provided alert ref, if that alert is within authorized scopes.
      summary: Alert retrieval
      x-since-version: 1.0.0
    put:
      parameters:
        - description: Ref of the alert to update.
          in: path
          name: ref
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Alert'
            example:
              alertType:
                alertTypeName: AlertTypePosition
                notifyByEmail: true
                notifyOnInterface: true
                coordinates:
                  - 141.43784
                  - -25.95916
                coordinatesAccuracy: 55
              deviceEUIList: 70B3D53260001A76
          application/xml:
            schema:
              $ref: '#/components/schemas/Alert'
        description: Contents of the alert to update.
        required: true
      responses:
        '200':
          description: Alert updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
              example:
                alertType:
                  alertTypeName: AlertTypePosition
                  notifyByEmail: true
                  notifyOnInterface: true
                  coordinates:
                    - 141.43784
                    - -25.95916
                  coordinatesAccuracy: 55
                deviceEUIList: 70B3D53260001A76
                ref: 82716e0a-eec9-428e-a85c-dbc0c4d855dd
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '403':
          description: Forbidden - User has no access to specified tracker(s)
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Alert
      description: Updates the alert corresponding to the provided alert ref, if that alert is within authorized scopes.
      summary: Alert update
      x-since-version: 1.0.0
    delete:
      parameters:
        - description: Ref of the alert to delete.
          in: path
          name: ref
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Alert deleted successfully.
          content: {}
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '404':
          description: Not Found
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Alert
      description: Deletes the alert corresponding to the provided alert ref, if that alert is within authorized scopes.
      summary: Alert deletion
      x-since-version: 1.0.0
  /geofences:
    get:
      parameters:
        - description: device on which the geofences are applied
          in: query
          name: deviceEUI
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Geofences retrieved successfully
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Geofence'
                type: array
              example:
                - circleRegion:
                    centerCoordinates:
                      - -13.203746
                      - 59.608944
                    radius: 105
                  deviceEUIList: 70B3D5326000027F
                  icon: http://abeeway.com
                  name: TestGeofence
                  ref: cb1d1d28-5cef-4a28-ba8b-ef60736c0519
                  regionShape: CIRCLE
                  transition:
                    notifyByEmail: true
                    notifyOnInterface: true
                    type: ENTERING
                - deviceEUIList: 70B3D5326000027F
                  icon: https://abeeway.com
                  polygonRegion:
                    polygonCoordinates:
                      - - 7.0657907
                        - 43.615955
                      - - 7.0660753
                        - 43.615036
                      - - 7.0676737
                        - 43.615154
                      - - 7.0676093
                        - 43.615982
                      - - 7.0657907
                        - 43.615955
                  ref: 5a50fac7-5358-4db1-90a4-32617db3f2d7
                  regionShape: POLYGON
                  transition:
                    notifyByEmail: true
                    notifyOnInterface: true
                    type: LEAVING
                - deviceEUIList: 70B3D5326000027F
                  icon: https://abeeway.com
                  polygonRegion:
                    polygonCoordinates:
                      - - 7.0072055
                        - 43.63806
                      - - 7.0173216
                        - 43.57517
                      - - 7.113452
                        - 43.582382
                      - - 7.1135497
                        - 43.641727
                      - - 7.0072055
                        - 43.63806
                  ref: 7297347d-0383-418e-ac1d-0d83cff0b6b2
                  regionShape: POLYGON
                  transition:
                    notifyByEmail: true
                    notifyOnInterface: true
                    type: LEAVING
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Geofence
      description: Retrieves a list of geofences existing within authorized scopes.
      summary: Geofences retrieval
      x-since-version: 1.0.0
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Geofence'
            example:
              circleRegion:
                centerCoordinates:
                  - -13.203746
                  - 59.608944
                radius: 105
              deviceEUIList: 70B3D5326000027F
              icon: http://abeeway.com
              name: TestGeofence
              regionShape: CIRCLE
              transition:
                notifyByEmail: true
                notifyOnInterface: true
                type: ENTERING
          application/xml:
            schema:
              $ref: '#/components/schemas/Geofence'
        description: Contents of the geofence to create.
        required: true
      responses:
        '201':
          description: Geofence created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Geofence'
              example:
                circleRegion:
                  centerCoordinates:
                    - -13.203746
                    - 59.608944
                  radius: 105
                deviceEUIList: 70B3D5326000027F
                icon: http://abeeway.com
                name: TestGeofence
                ref: ef806d3a-6c61-4cc7-9d58-3080f1a1da6e
                regionShape: CIRCLE
                transition:
                  notifyByEmail: true
                  notifyOnInterface: true
                  type: ENTERING
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '403':
          description: Forbidden - User has no access to specified tracker(s)
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Geofence
      description: Creates a new geofence.
      summary: Geofence creation
      x-since-version: 1.0.0
  /geofences/{ref}:
    get:
      parameters:
        - description: Ref of the geofence to retrieve.
          in: path
          name: ref
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Geofence retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Geofence'
              example:
                circleRegion:
                  centerCoordinates:
                    - -13.203746
                    - 59.608944
                  radius: 105
                deviceEUIList: 70B3D5326000027F
                icon: http://abeeway.com
                name: TestGeofence
                ref: cb1d1d28-5cef-4a28-ba8b-ef60736c0519
                regionShape: CIRCLE
                transition:
                  notifyByEmail: true
                  notifyOnInterface: true
                  type: ENTERING
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '404':
          description: Not found
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Geofence
      description: Retrieves the geofence corresponding to the provided geofence ref, if that geofence is within authorized scopes.
      summary: Geofence retrieval
      x-since-version: 1.0.0
    put:
      parameters:
        - description: Ref of the geofence to update.
          in: path
          name: ref
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Geofence'
            example:
              circleRegion:
                centerCoordinates:
                  - -13.203746
                  - 59.608944
                radius: 105
              deviceEUIList: 70B3D5326000027F
              icon: http://abeeway.com
              name: TestGeofence
              regionShape: CIRCLE
              transition:
                notifyByEmail: false
                notifyOnInterface: true
                type: ENTERING
          application/xml:
            schema:
              $ref: '#/components/schemas/Geofence'
        description: Contents of the geofence to update.
        required: true
      responses:
        '200':
          description: Geofence updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Geofence'
              example:
                circleRegion:
                  centerCoordinates:
                    - -13.203746
                    - 59.608944
                  radius: 105
                deviceEUIList: 70B3D5326000027F
                icon: http://abeeway.com
                name: TestGeofence
                ref: cb1d1d28-5cef-4a28-ba8b-ef60736c0519
                regionShape: CIRCLE
                transition:
                  notifyByEmail: false
                  notifyOnInterface: true
                  type: ENTERING
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '403':
          description: Forbidden - User has no access to specified tracker(s)
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Geofence
      description: Updates the geofence corresponding to the provided geofence ref, if that geofence is within authorized scopes.
      summary: Geofence update
      x-since-version: 1.0.0
    delete:
      parameters:
        - description: Ref of the geofence to delete.
          in: path
          name: ref
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Geofence deleted successfully.
          content: {}
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '404':
          description: Not found
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Geofence
      description: Deletes the geofence corresponding to the provided geofence ref, if that geofence is within authorized scopes.
      summary: Geofence deletion
      x-since-version: 1.0.0
  /hangouts:
    get:
      parameters:
        - description: device on which the hangouts are applied
          in: query
          name: deviceEUI
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Hangouts retrieved successfully.
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Hangout'
                type: array
              example:
                - deviceEUIList: 70B3D5326000027F
                  hangoutMode:
                    dwellTime: 10
                    notifyByEmail: true
                    notifyOnInterface: true
                  icon: http://abeeway.com
                  polygonRegion:
                    polygonCoordinates:
                      - - 7.0072055
                        - 43.63806
                      - - 7.0173216
                        - 43.57517
                      - - 7.113452
                        - 43.582382
                      - - 7.1135497
                        - 43.641727
                      - - 7.0072055
                        - 43.63806
                  ref: eedb0fd1-b7d2-4a96-840a-9aa4f382c845
                  regionShape: POLYGON
                - circleRegion:
                    centerCoordinates:
                      - -13.203746
                      - 59.608944
                    radius: 5
                  deviceEUIList: 70B3D5326000027F
                  hangoutMode:
                    dwellTime: 10
                    notifyByEmail: true
                    notifyOnInterface: true
                  icon: http://abeeway.com
                  ref: b812c1ee-4dcb-4988-b63c-25ed1130a816
                  regionShape: CIRCLE
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '403':
          description: Forbidden - User has no access to specified tracker(s)
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Hangout
      description: Retrieves a list of hangouts existing within authorized scopes.
      summary: Hangouts retrieval
      x-since-version: 1.0.0
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Hangout'
            example:
              deviceEUIList: 70B3D5326000027F
              hangoutMode:
                dwellTime: 10
                notifyByEmail: true
                notifyOnInterface: true
              icon: http://abeeway.com
              polygonRegion:
                polygonCoordinates:
                  - - 7.0072055
                    - 43.63806
                  - - 7.0173216
                    - 43.57517
                  - - 7.113452
                    - 43.582382
                  - - 7.1135497
                    - 43.641727
                  - - 7.0072055
                    - 43.63806
              regionShape: POLYGON
          application/xml:
            schema:
              $ref: '#/components/schemas/Hangout'
        description: Contents of the hangout to create.
        required: true
      responses:
        '201':
          description: Hangout created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hangout'
              example:
                deviceEUIList: 70B3D5326000027F
                hangoutMode:
                  dwellTime: 10
                  notifyByEmail: true
                  notifyOnInterface: true
                icon: http://abeeway.com
                polygonRegion:
                  polygonCoordinates:
                    - - 7.0072055
                      - 43.63806
                    - - 7.0173216
                      - 43.57517
                    - - 7.113452
                      - 43.582382
                    - - 7.1135497
                      - 43.641727
                    - - 7.0072055
                      - 43.63806
                ref: eedb0fd1-b7d2-4a96-840a-9aa4f382c845
                regionShape: POLYGON
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '403':
          description: Forbidden - User has no access to specified tracker(s)
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Hangout
      description: Creates a new hangout.
      summary: Hangout creation
      x-since-version: 1.0.0
  /hangouts/{ref}:
    get:
      parameters:
        - description: Ref of the hangout to retrieve. Example- eedb0fd1-b7d2-4a96-840a-9aa4f382c845
          in: path
          name: ref
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Hangouts retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hangout'
              example:
                deviceEUIList: 70B3D5326000027F
                hangoutMode:
                  dwellTime: 10
                  notifyByEmail: true
                  notifyOnInterface: true
                icon: http://abeeway.com
                polygonRegion:
                  polygonCoordinates:
                    - - 7.0072055
                      - 43.63806
                    - - 7.0173216
                      - 43.57517
                    - - 7.113452
                      - 43.582382
                    - - 7.1135497
                      - 43.641727
                    - - 7.0072055
                      - 43.63806
                ref: eedb0fd1-b7d2-4a96-840a-9aa4f382c845
                regionShape: POLYGON
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '404':
          description: Not found
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Hangout
      description: Retrieves the hangout corresponding to the provided hangout ref, if that hangout is within authorized scopes.
      summary: Hangout retrieval
      x-since-version: 1.0.0
    put:
      parameters:
        - description: Ref of the hangout to update. Example- eedb0fd1-b7d2-4a96-840a-9aa4f382c845
          in: path
          name: ref
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Hangout'
            example:
              deviceEUIList: 70B3D5326000027F
              hangoutMode:
                dwellTime: 30
                notifyByEmail: true
                notifyOnInterface: true
              icon: http://abeeway.com
              polygonRegion:
                polygonCoordinates:
                  - - 7.0072055
                    - 43.63806
                  - - 7.0173216
                    - 43.57517
                  - - 7.113452
                    - 43.582382
                  - - 7.1135497
                    - 43.641727
                  - - 7.0072055
                    - 43.63806
              regionShape: POLYGON
          application/xml:
            schema:
              $ref: '#/components/schemas/Hangout'
        description: Contents of the hangout to update.
        required: true
      responses:
        '200':
          description: Hangout updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hangout'
              example:
                deviceEUIList: 70B3D5326000027F
                hangoutMode:
                  dwellTime: 30
                  notifyByEmail: true
                  notifyOnInterface: true
                icon: http://abeeway.com
                polygonRegion:
                  polygonCoordinates:
                    - - 7.0072055
                      - 43.63806
                    - - 7.0173216
                      - 43.57517
                    - - 7.113452
                      - 43.582382
                    - - 7.1135497
                      - 43.641727
                    - - 7.0072055
                      - 43.63806
                ref: eedb0fd1-b7d2-4a96-840a-9aa4f382c845
                regionShape: POLYGON
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '403':
          description: Forbidden - User has no access to specified tracker(s)
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Hangout
      description: Updates the hangout corresponding to the provided hangout ref, if that hangout is within authorized scopes.
      summary: Hangout update
      x-since-version: 1.0.0
    delete:
      parameters:
        - description: Ref of the hangout to delete.
          in: path
          name: ref
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Hangout deleted successfully.
          content: {}
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '404':
          description: Not found
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Hangout
      description: Deletes the hangout corresponding to the provided hangout ref, if that hangout is within authorized scopes.
      summary: Hangout deletion
      x-since-version: 1.0.0
  /alarms/{deviceEUI}:
    delete:
      parameters:
        - description: DeviceEUI of the alarms to delete.
          in: path
          name: deviceEUI
          required: true
          schema:
            type: string
        - in: query
          name: dxProfileId
          description: Mandatory in case of B2B operator token. In case of B2B subscriber token, it can be left empty, or the same as in the token.
          required: false
          schema:
            type: string
            example: dev1-api
        - in: query
          name: customerId
          description: Mandatory in case of B2B operator token. In case of B2B subscriber token, it can be left empty, or the same as in the token.
          required: false
          schema:
            type: string
            example: 100001180
        - in: query
          name: parentRealmId
          description: Mandatory in case of B2C operator token.
          required: false
          schema:
            type: string
            example: tpw-users-dev-ope
        - in: query
          name: realmId
          description: Mandatory in case of B2C operator token.
          required: false
          schema:
            type: string
            example: le-lab
        - in: query
          name: userId
          description: Mandatory in case of B2C operator token.
          required: false
          schema:
            type: string
            example: 4b689889-c6e3-465a-85e2-7b6d346e2c11
      responses:
        '204':
          description: Alarms deleted successfully.
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '404':
          description: No alarm found
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
      tags:
        - Alarm
      description: Deletes all the alarms corresponding to the provided deviceEUI, usually invoked while a tracker is removed from user account.
      summary: Remove alarm configurations by DeviceEUI
      x-since-version: 1.0.0
  /bluetoothMap:
    get:
      summary: GeoJson file retrieval
      description: Retrieves the geoJson file containing the list of the beacon identifiers
      tags:
        - Bluetooth map
      responses:
        '200':
          description: GeoJson file retrieved successfully.
        '400':
          description: Bad Request -invalid request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '404':
          description: GeoJson file not found
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
    post:
      summary: GeoJson file upload
      description: Upload the geoJson file containing the list of the beacon identifiers
      tags:
        - Bluetooth map
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  description: GeoJson file
                  type: string
                  format: binary
              required:
                - file
      responses:
        '200':
          description: GeoJson file uploaded successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
              examples:
                map with mac address:
                  $ref: '#/components/examples/GeoJsonMacAddress'
                map with beacon ID:
                  $ref: '#/components/examples/GeoJsonBeaconId'
                map with floor:
                  $ref: '#/components/examples/GeoJsonMacAddressFloor'
            application/xml:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
        '401':
          description: Unauthorized - invalid api key
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
    put:
      summary: GeoJson file update
      description: Update the geoJson file containing the list of the beacon identifiers and the polygons
      tags:
        - Bluetooth map
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  description: GeoJson file
                  type: string
                  format: binary
              required:
                - file
      responses:
        '200':
          description: GeoJson file updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
              examples:
                map with mac address:
                  $ref: '#/components/examples/GeoJsonMacAddress'
                map with beacon ID:
                  $ref: '#/components/examples/GeoJsonBeaconId'
                map with floor:
                  $ref: '#/components/examples/GeoJsonMacAddressFloor'
            application/xml:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInfo'
        '401':
          description: Unauthorized - invalid api key
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
    delete:
      summary: GeoJson file deletion
      description: Delete the GeoJson file of the user map
      responses:
        '204':
          description: GeoJson file  deleted successfully.
        '400':
          description: Any error when processing the request
        '401':
          description: Unauthorized - invalid api key or user not authorized for access
        '404':
          description: No geoJson file found
      tags:
        - Bluetooth map
      security:
        - bearerAuth: []
          Dx-Admin: []
          keycloak: []
tags:
  - description: Alert operations are used to configure and retrieve normal alerts.
    name: Alert
  - description: Geofence operations are used to configure and retrieve geofences.
    name: Geofence
  - description: Hangout operations are used to configure and retrieve hangouts.
    name: Hangout
  - description: Alarm operations are used to update configurations by deviceEUI.
    name: Alarm
  - description: Bluetooth low energy map operations are used to handle the list of beacon identifiers
    name: Bluetooth map
servers:
  - url: '/location-alarm-config/latest/api'
components:
  securitySchemes:
    bearerAuth:
      description: 'Enter your access token here without prefix "bearer " '
      type: http
      scheme: bearer
      bearerFormat: JWT
    keycloak:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: '/auth/realms//protocol/openid-connect/auth'
          scopes: {}
    Dx-Admin:
      type: oauth2
      description: |
        **This authorization is deprecated. Service account authentication should be used.**

        Enter your ThingPark credentials with dx-profile-id as prefix. 

        Example: dev1-api/test@abeeway.com
      flows:
        clientCredentials:
          tokenUrl: '/admin/latest/api/oauth/token'
          scopes: {}
  schemas:
    Alert:
      description: Resource representing an alert detected from devices
      properties:
        alertType:
          $ref: '#/components/schemas/AlertType'
        deviceEUIList:
          description: List of tracker devices EUI affected by the alert. Device EUIs must be separated by commas.
          type: string
        ref:
          description: Ref of the alert.
          type: string
        timeout:
          description: the timeout value of volatile alert if the attribute is present
          type: integer
        creation_time:
          description: showing the creation time in case of volatile alert
          type: string
          format: date-time
      required:
        - alertType
        - deviceEUIList
      type: object
    AlertType:
      description: Resource representing an alert type detected from devices
      discriminator:
        propertyName: alertTypeName
      properties:
        alertTypeName:
          description: Type of Alert provided.
          enum:
            - AlertTypeMotion
            - AlertTypeSOS
            - AlertTypeTrackingMode
            - AlertTypeBattery
            - AlertTypeBatteryStatus
            - AlertTypePosition
            - AlertTypeParameter
          type: string
        notifyByEmail:
          description: Indicates to notify users about alerts by email. Default is false.
          type: boolean
        notifyOnInterface:
          description: Indicates to notify users about  alerts on the GUI. Default is false.
          type: boolean
        emailAddress:
          description: Email address to notify B2B users. 
          type: string
          format: email
      required:
        - alertType
      type: object
    AlertTypeBattery:
      allOf:
        - $ref: '#/components/schemas/AlertType'
        - properties:
            batteryThreshold:
              description: Battery Threshold for receiving Battery Level Notifications. When the battery reaches below this threshold, a notification will be sent
              type: integer
          required:
            - batteryThreshold
          type: object
      description: Resource representing a battery alert detected from devices
    AlertTypeBatteryStatus:
      allOf:
        - $ref: '#/components/schemas/AlertType'
        - properties:
            batteryStatus:
              description: 'Represents the battery status. Possible values are:- ''UNKNOWN'': Not supported value.- ''CHARGING'': The battery is charging.- ''OPERATING'': In this case, the battery level indicates the battery usage. If this property is missing, any mode change will trigger a notification.'
              enum:
                - UNKNOWN
                - CHARGING
                - OPERATING
              type: string
          type: object
      description: Resource representing tracker parameter update alert detected from devices
    AlertTypeMotion:
      allOf:
        - $ref: '#/components/schemas/AlertType'
      description: Resource representing a motion alert detected from devices. Whenever the tracker moves, a notification will be sent.
      type: object
    AlertTypeParameter:
      allOf:
        - $ref: '#/components/schemas/AlertType'
        - properties:
            paramName:
              description: Name of the parameter to watch. Possible values are 'TRACKING_UL_PERIOD' (period in seconds of position messages while in tracking state), 'LORALIVE_PERIOD' (period in seconds of heartbeat messages in idle state), 'ENERGY_STATUS_PERIOD' (period in seconds of energy status messages), 'PERIODIC_POSITION_PERIOD' (period in seconds of the periodic position report), 'GEOLOC_SENSOR_PROFILE' (policy used to decide what Geolocation Sensor is to be used for geolocation scans in tracking state), 'ONESHOT_GEOLOC_METHOD' (what geoloc sensor to use for periodic/on-demand positions), 'EXT_ANTENNA_PROFILE' (0 - use only PCB antenna for GPS scans, 1 - use only ceramic antenna for GPS scans, 2 – automatic selection, use ceramic antenna only when facing the sky), 'MOTION_START_END_NB_TX' (number of position messages to send after motion events in Start/End tracking mode), 'GPS_TIMEOUT' (time in seconds for GPS geoloc timeout), 'XGPS_TIMEOUT' (time in seconds for XGPS geoloc timeout), 'GPS_EHPE' (horizontal error in meters to decide if a GPS fix in GPS geoloc is acceptable), 'GPS_CONVERGENCE' (time in seconds before deciding a GPS fix in GPS geoloc has converged for enough time)
              enum:
                - TRACKING_UL_PERIOD
                - LORALIVE_PERIOD
                - ENERGY_STATUS_PERIOD
                - PERIODIC_POSITION_PERIOD
                - GPS_SCAN_PROFILE
                - GEOLOC_SENSOR_PROFILE
                - ONESHOT_GEOLOC_METHOD
                - EXT_ANTENNA_PROFILE
                - MOTION_START_END_NB_TX
                - GPS_TIMEOUT
                - XGPS_TIMEOUT
                - GPS_EHPE
                - GPS_CONVERGENCE
              type: string
            paramValue:
              description: Value of the parameter to watch. Should always be passed as a string, regardless of the parameter unit type. If this property is missing, any value change in the parameter will trigger a notification.
              type: string
          required:
            - paramName
          type: object
      description: Resource representing tracker parameter update alert detected from devices
    AlertTypePosition:
      allOf:
        - $ref: '#/components/schemas/AlertType'
        - properties:
            coordinates:
              description: Device coordinates, to be used 'as is' in the platform. Expected value is an array of coordinates , i.e.[longitude, latitude].
              items:
                format: double
                type: number
              type: array
            coordinatesAccuracy:
              description: Accuracy in meters of the position provided in "coordinates" property
              format: integer
              type: number
          type: object
      description: Resource representing position on demand alert detected from devices. When the tracker sends a new position, a notification will be sent.
    AlertTypeSOS:
      allOf:
        - $ref: '#/components/schemas/AlertType'
      description: Resource representing a SOS alert detected from devices. When the tracker switches to SOS, a notification will be sent.
      type: object
    AlertTypeTrackingMode:
      allOf:
        - $ref: '#/components/schemas/AlertType'
        - properties:
            newMode:
              description: New mode applied to the trackers. Possible values are 'OFF' (everything is turned OFF to achieve the lowest possible power consumption), 'STANDBY' (the trackeris in idle state. It can use periodic reporting if it is activated, and answers to On-Demand position request), 'MOTION' (tracking state only when moving), 'PERMANENT' (always in tracking state), 'START_END' (motion start and end events), 'ACTIVITY' (the tracker focuses on detecting movements. Every motion detection increases a counter). If this property is missing, any mode change will trigger a notification.
              enum:
                - 'OFF'
                - STANDBY
                - MOTION
                - PERMANENT
                - START_END
                - ACTIVITY
              type: string
          type: object
      description: Resource representing a tracking mode update alert detected from devices. When the tracking mode changes, a notification will be sent
    AlertTypeProfile:
      allOf:
        - $ref: '#/components/schemas/AlertType'
        - type: object
          required:
            - profileNamespace
            - profileName
          properties:
            profileNamespace:
              type: string
              description: Configuration profile namespace to set
            profileName:
              type: string
              description: Configuration profile name to set
      description: Resource representing a profile update alert detected from devices. When the profile changes, a notification will be sent
    Geofence:
      description: Resource representing a geofence, i.e. a region which is monitored in relationship with devices and transitions.
      properties:
        circleRegion:
          $ref: '#/components/schemas/RegionAsCircle'
        deviceEUIList:
          description: List of tracker devices EUI in the geofence. Device EUIs must be separated by commas.
          type: string
        icon:
          description: url of an image describing the geofence icon.
          type: string
        name:
          description: name of the geofence.
          type: string
        polygonRegion:
          $ref: '#/components/schemas/RegionAsPolygon'
        ref:
          description: Ref of the geofence.
          type: string
        regionShape:
          description: Shape of the geofence's monitored region. Possible values are 'CIRCLE' and 'POLYGON'. Depending on this value, either 'circleRegion' or 'polygonRegion' attribute should be set.
          enum:
            - CIRCLE
            - POLYGON
          type: string
        transition:
          $ref: '#/components/schemas/GeofenceTransition'
        timeout:
          description: the timeout value of volatile alert if the attribute is present
          type: integer
        creation_time:
          description: showing the creation time in case of volatile alert
          type: string
          format: date-time
      required:
        - regionShape
        - deviceEUIList
        - transition
        - name
      type: object
    GeofenceTransition:
      description: Resource representing a transition related to a geofence.
      properties:
        notifyByEmail:
          description: Indicates to notify users about geofence alarms by email. Default is false.
          type: boolean
        notifyOnInterface:
          description: Indicates to notify users about geofence alarms on the GUI. Default is false.
          type: boolean
        type:
          description: Type of the transition. Possible values are 'ENTERING' and 'LEAVING'. Support of specific transitions may vary depending on region types.
          enum:
            - ENTERING
            - LEAVING
            - ENTERING_LEAVING
          type: string
        emailAddress:
          description: Email address to notify B2B users. 
          type: string
          format: email
      required:
        - type
      type: object
    Hangout:
      description: Resource representing an hangout detected from devices
      properties:
        circleRegion:
          $ref: '#/components/schemas/RegionAsCircle'
        deviceEUIList:
          description: List of devices EUI in the hangout. Device EUIs must be separated by commas.
          type: string
        hangoutMode:
          $ref: '#/components/schemas/HangoutMode'
        icon:
          description: url of an image describing the hangout icon.
          type: string
        polygonRegion:
          $ref: '#/components/schemas/RegionAsPolygon'
        ref:
          description: Ref of the hangout.
          type: string
        regionShape:
          description: Shape of the hangout's monitored region. Possible values are 'CIRCLE','POLYGON' and 'UNKNOWN'. Depending on this value, either 'circleRegion' or 'polygonRegion' 'unknownRegion' attribute should be set.
          enum:
            - CIRCLE
            - POLYGON
            - UNKNOWN
          type: string
        unknownRegion:
          $ref: '#/components/schemas/RegionAsUnknown'
        timeout:
          description: the timeout value of volatile alert if the attribute is present
          type: integer
        creation_time:
          description: showing the creation time in case of volatile alert
          type: string
          format: date-time
      required:
        - regionShape
        - deviceEUIList
        - hangoutMode
      type: object
    HangoutMode:
      description: Resource representing hangout modes for devices
      properties:
        dwellTime:
          description: Time spent by the device in the hangout region, in seconds.
          format: int32
          type: integer
        notifyByEmail:
          description: Indicates to notify users about the hangout by email. Default is false.
          type: boolean
        notifyOnInterface:
          description: Indicates to notify users about the hangout on the GUI. Default is false.
          type: boolean
        emailAddress:
          description: Email address to notify B2B users. 
          type: string
          format: email
      required:
        - dwellTime
      type: object
    RegionAsCircle:
      description: Resource representing a circle-shaped region.
      properties:
        centerCoordinates:
          description: Coordinates of the center of a circle. Expected value is an array of coordinates as per the GeoJSON specification, i.e. [longitude, latitude].
          items:
            format: double
            type: number
          type: array
        radius:
          description: Radius of the circle, in meters.
          format: int32
          type: integer
      required:
        - centerCoordinates
        - radius
      type: object
    RegionAsPolygon:
      description: Resource representing a polygon region.
      properties:
        polygonCoordinates:
          description: Coordinates of multiple points forming a polygon. Expected value is an 2-level array of coordinate arrays as per the GeoJSON specification, i.e. [ [ [longitude, latitude], [longitude, latitude], [longitude, latitude] ] ].
          items:
            items:
              format: double
              type: number
            type: array
          type: array
      required:
        - polygonCoordinates
      type: object
    RegionAsUnknown:
      description: Resource representing an unknown region.
      properties:
        radius:
          description: Radius of the region, in meters.
          format: int32
          type: integer
      required:
        - radius
      type: object
    FeatureCollection:
      type: object
      description: GeoJson feature collection.
      externalDocs:
        url: http://geojson.org/geojson-spec.html#feature-collection-objects
      properties:
        type:
          type: string
          enum:
            - FeatureCollection
        features:
          type: array
          items:
            $ref: '#/components/schemas/Feature'
    Feature:
      type: object
      description: GeoJson feature
      externalDocs:
        url: http://geojson.org/geojson-spec.html#feature-objects
      required:
        - type
        - geometry
        - properties
      properties:
        type:
          type: string
          enum:
            - Feature
        geometry:
          $ref: '#/components/schemas/Geometry'
        properties:
          $ref: '#/components/schemas/Property'
    Geometry:
      type: object
      description: GeoJson geometry
      discriminator:
        propertyName: type
      required:
        - type
      externalDocs:
        url: http://geojson.org/geojson-spec.html#geometry-objects
      properties:
        type:
          type: string
          enum:
            - Point
            - Polygon
          description: the geometry type
    Point:
      type: object
      description: GeoJSon geometry
      externalDocs:
        url: http://geojson.org/geojson-spec.html#id2
      allOf:
        - $ref: '#/components/schemas/Geometry'
        - properties:
            coordinates:
              type: array
              maxItems: 2
              minItems: 2
              items:
                type: number
                format: double
          required:
            - coordinates
    Polygon:
      type: object
      description: GeoJSon geometry
      externalDocs:
        url: http://geojson.org/geojson-spec.html#id4
      allOf:
        - $ref: '#/components/schemas/Geometry'
        - properties:
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: array
                  maxItems: 2
                  minItems: 2
                  items:
                    type: number
                    format: double
    Property:
      type: object
      additionalProperties: true
      description: Property of the beacon identifier or the polygon
      properties:
        name:
          type: string
          description: Name of the beacon identifier or the polygon
        mac:
          type: string
          description: Address mac of the beacon
        id:
          type: string
          description: Identifier of the beacon
        propagation_loss:
          description: 'It is a property for a beacon. It indicates the value of propagation loss. It is affected by the environement condition. It is recommonded to use <br> 2: For an outdoor beacon. <br> 2.5: For an indoor beacon. <br> 3: For a deep beacon. '
          type: number
          format: double
          minimum: 2
          maximum: 3
        reference_rssi:
          type: integer
          description: It is a property for a beacon. It is the reference value of rssi measurement at one meter
        floor_number:
          type: integer
          description: Indicates the floor number in which the beacon/polygon is installed.
          default: 0
        room_name:
          type: string
          description: Indicates the room name in which the beacon is installed.
        additional_data:
          type: object
          description: Indicates the additional information related to beacon/polygon installation.
        solver_limit_area:
          type: boolean
          description: It is a property for a polygon. It indicates to specify the limit of the device position aera. Default is false.
        ble_rssi_min:
          type: integer
          description: The minimum value of the rssi of the beacon taken in account in the BLE resolution. It is a property for a polygon. It must be the same of all polygons of the same floor
        least_square:
          type: boolean
          default: false
          description: 'The method used to resolve the position. <br> true : The least square method <br> false: the barycenter method'
    ErrorInfo:
      required:
        - code
        - message
      properties:
        code:
          type: string
        message:
          type: string
  examples:
    AlertPosition:
      value:
        alertType:
          alertTypeName: AlertTypePosition
          notifyByEmail: true
          notifyOnInterface: true
          coordinates:
            - 141.43784
            - -25.95916
          coordinatesAccuracy: 50
        deviceEUIList: 70B3D53260001A76
        timeout: 300
    AlertBattery:
      value:
        alertType:
          alertTypeName: AlertTypeBattery
          notifyByEmail: true
          notifyOnInterface: true
          batteryThreshold: 75
        deviceEUIList: 70B3D53260001A77
    AlertBatteryStatus:
      value:
        alertType:
          alertTypeName: AlertTypeBatteryStatus
          notifyByEmail: true
          notifyOnInterface: true
          batteryStatus: OPERATING
        deviceEUIList: 70B3D53260001A76
    AlertMotion:
      value:
        alertType:
          alertTypeName: AlertTypeMotion
          notifyByEmail: true
          notifyOnInterface: true
        deviceEUIList: 70B3D53260001A76
    AlertSOS:
      value:
        alertType:
          alertTypeName: AlertTypeSOS
          notifyByEmail: true
          notifyOnInterface: true
        deviceEUIList: 70B3D53260001A76
    AlertTrackingMode:
      value:
        alertType:
          alertTypeName: AlertTypeTrackingMode
          notifyByEmail: true
          notifyOnInterface: true
          newMode: MOTION
        deviceEUIList: 70B3D53260001A76
    AlertParameter:
      value:
        alertType:
          alertTypeName: AlertTypeTrackingMode
          notifyByEmail: true
          notifyOnInterface: true
          paramName: TRACKING_UL_PERIOD
          paramValue: 300
        deviceEUIList: 70B3D53260001A76
    GeoJsonMacAddress:
      value:
        type: FeatureCollection
        features:
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT1
              id: ''
              mac: AC:23:3F:28:71:90
            geometry:
              type: Point
              coordinates:
                - 7.06638
                - 43.61571
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT2
              id: ''
              mac: AC:23:3F:2A:F7:67
            geometry:
              type: Point
              coordinates:
                - 7.0664
                - 43.61567
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT3
              id: ''
              mac: AC:23:3F:2A:F7:66
            geometry:
              type: Point
              coordinates:
                - 7.0665
                - 43.61568
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT4
              id: ''
              mac: AC:23:3F:2A:F7:6A
            geometry:
              type: Point
              coordinates:
                - 7.06656
                - 43.61574
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT5
              id: ''
              mac: AC:23:3F:2A:F7:6E
            geometry:
              type: Point
              coordinates:
                - 7.06652
                - 43.61582
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT6
              id: ''
              mac: AC:23:3F:2A:F7:5F
            geometry:
              type: Point
              coordinates:
                - 7.0664
                - 43.61583
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT7
              id: ''
              mac: AC:23:3F:28:70:46
            geometry:
              type: Point
              coordinates:
                - 7.06645
                - 43.61576
          - type: Feature
            properties:
              solver_limit_area: true
            geometry:
              type: Polygon
              coordinates:
                - - - 7.066349722445011
                    - 43.61581734490498
                  - - 7.066353410482407
                    - 43.61568505489411
                  - - 7.066388949751854
                    - 43.61566709255826
                  - - 7.066498920321464
                    - 43.615658111388335
                  - - 7.066566310822964
                    - 43.61569767707286
                  - - 7.06657636910677
                    - 43.6157586033214
                  - - 7.066562622785568
                    - 43.61580350908262
                  - - 7.066454328596592
                    - 43.61585205581374
                  - - 7.066349722445011
                    - 43.61581734490498
    GeoJsonMacAddressFloor:
      value:
        type: FeatureCollection
        features:
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT1
              id: ''
              mac: AC:23:3F:28:71:90
              reference_rssi: -47
              propagation_loss: 2.5
              floor_number: 1
              room_name: ROOM_1
            geometry:
              type: Point
              coordinates:
                - 7.06638
                - 43.61571
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT2
              id: ''
              mac: AC:23:3F:2A:F7:67
              floor_number: 1
              reference_rssi: -47
              propagation_loss: 2.5
              room_name: ROOM_1
            geometry:
              type: Point
              coordinates:
                - 7.0664
                - 43.61567
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT3
              id: ''
              mac: AC:23:3F:2A:F7:66
              floor_number: 1
              reference_rssi: -47
              propagation_loss: 2.5
              room_name: ROOM_1
            geometry:
              type: Point
              coordinates:
                - 7.0665
                - 43.61568
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT4
              id: ''
              mac: AC:23:3F:2A:F7:6A
              floor_number: 1
              reference_rssi: -47
              propagation_loss: 2.5
              room_name: Meeting room
            geometry:
              type: Point
              coordinates:
                - 7.06656
                - 43.61574
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT5
              id: ''
              mac: AC:23:3F:2A:F7:6E
              floor_number: 1
              reference_rssi: -47
              propagation_loss: 2.5
              room_name: Entrance
            geometry:
              type: Point
              coordinates:
                - 7.06652
                - 43.61582
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT6
              id: ''
              mac: AC:23:3F:2A:F7:5F
              floor_number: 1
              reference_rssi: -47
              propagation_loss: 2.5
              room_name: ROOM_1
            geometry:
              type: Point
              coordinates:
                - 7.0664
                - 43.61583
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT7
              id: ''
              mac: AC:23:3F:28:70:46
              floor_number: 1
              reference_rssi: -47
              propagation_loss: 2.5
              room_name: ROOM_2
            geometry:
              type: Point
              coordinates:
                - 7.06645
                - 43.61576
          - type: Feature
            properties:
              floor_number: 1
            geometry:
              type: Polygon
              coordinates:
                - - - 7.066349722445011
                    - 43.61581734490498
                  - - 7.066353410482407
                    - 43.61568505489411
                  - - 7.066388949751854
                    - 43.61566709255826
                  - - 7.066498920321464
                    - 43.615658111388335
                  - - 7.066566310822964
                    - 43.61569767707286
                  - - 7.06657636910677
                    - 43.6157586033214
                  - - 7.066562622785568
                    - 43.61580350908262
                  - - 7.066454328596592
                    - 43.61585205581374
                  - - 7.066349722445011
                    - 43.61581734490498
    GeoJsonBeaconId:
      value:
        type: FeatureCollection
        features:
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT1
              id: 00-04-11-11-11-11
              mac: ''
            geometry:
              type: Point
              coordinates:
                - 2.333727702498436
                - 48.874762806385256
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT2
              id: 00-04-22-22-22-22
              mac: ''
            geometry:
              type: Point
              coordinates:
                - 2.333756536245346
                - 48.87465872390924
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT3
              id: 00-04-33-33-33-33
              mac: ''
            geometry:
              type: Point
              coordinates:
                - 2.3336727172136307
                - 48.874723113941144
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT4
              id: 00-04-44-44-44-44
              mac: ''
            geometry:
              type: Point
              coordinates:
                - 2.333812862634659
                - 48.87469973948707
          - type: Feature
            properties:
              marker-color: '#7e7e7e'
              marker-size: medium
              marker-symbol: ''
              name: PT5
              id: 00-04-55-55-55-55
              mac: ''
            geometry:
              type: Point
              coordinates:
                - 2.3339201509952545
                - 48.874743401194294
          - type: Feature
            properties: {}
            geometry:
              type: Polygon
              coordinates:
                - - - 2.3335982859134674
                    - 48.8748986425113
                  - - 2.3335070908069606
                    - 48.874901729691686
                  - - 2.333565428853035
                    - 48.87466533932729
                  - - 2.3335781693458557
                    - 48.87461065184509
                  - - 2.3336640000343323
                    - 48.87460535950492
                  - - 2.3336686939001083
                    - 48.874660488020815
                  - - 2.333936244249344
                    - 48.87464968283646
                  - - 2.3339442908763885
                    - 48.87474560633
                  - - 2.33402106910944
                    - 48.87474362170787
                  - - 2.334052585065365
                    - 48.87487725275617
                  - - 2.333949990570545
                    - 48.874880119424915
                  - - 2.3339382559061046
                    - 48.87475817560173
                  - - 2.3339027166366577
                    - 48.87475839611523
                  - - 2.333890311419964
                    - 48.87475795508823
                  - - 2.333611696958542
                    - 48.87477228846448
                  - - 2.3335982859134674
                    - 48.8748986425113