{
  "$id": "https://schemas.ruter.no/adt/ota/api/v3.0/pe/dpi/ack/dpi-acknowledge.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "DpiAcknowledge",
  "type": "object",
  "required": [
    "eventTimestamp",
    "traceId",
    "clientId",
    "messageReceived"
  ],
  "description": "The DPI Ack topic.",
  "additionalProperties": true,
  "properties": {
    "eventTimestamp": {
      "$id": "#/properties/eventTimestamp",
      "type": "string",
      "description": "As specified in the [ADT documentation.](https://adt.transhub.io)",
      "format": "date-time"
    },
    "traceId": {
      "$id": "#/properties/traceId",
      "type": "string",
      "description": "A unique identifier - UUID"
    },
    "clientId": {
      "$id": "#/properties/clientId",
      "type": "string",
      "description": "The mqtt clientId of the client receiving the message. Should be persistent and not change from day to day."
    },
    "physicalId": {
      "$id": "#/properties/physicalId",
      "type": "string",
      "description": "The given physical id to the screen. The property is provided by a querystring when configuring a screen"
    },
    "messageReceived": {
      "$id": "#/properties/messageReceived",
      "type": "object",
      "properties": {
        "topic": {
          "type": "string",
          "description": "Local MQTT topic key of received message"
        },
        "eventTimestamp": {
          "$ref": "#/properties/eventTimestamp"
        },
        "traceId": {
          "$ref": "#/properties/traceId"
        }
      },
      "required": [
        "topic",
        "eventTimestamp",
        "traceId"
      ]
    }
  }
}
