{
  "definitions": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schemas.ruter.no/adt/ota/api/v3.0/pe/dpi/command/dpi-command.json",
  "type": "object",
  "title": "DpiCommand",
  "description": "Message sent to bus to control DPI functions",
  "required": [
    "eventTimestamp",
    "traceId",
    "type",
    "payload"
  ],
  "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"
    },
    "type": {
      "$id": "#/properties/type",
      "type": "string",
      "description": "The Type Schema"
    },
    "payload": {
      "$id": "#/properties/payload",
      "type": "object",
      "description": "Command and arguments",
      "required": [
        "command",
        "args"
      ],
      "additionalProperties": true,
      "properties": {
        "command": {
          "$id": "#/properties/payload/properties/command",
          "type": "string",
          "description": "Command name"
        },
        "args": {
          "$id": "#/properties/payload/properties/args",
          "type": "object",
          "description": "Arguments to be passed to command"
        }
      }
    }
  }
}
