{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schemas.ruter.no/adt/ota/api/v3.0/pe/dpi/arriving/dpi-arriving.json",
  "type": "object",
  "title": "DpiArriving",
  "description": "For display of arriving information to passengers",
  "required": [
    "eventTimestamp",
    "traceId",
    "message"
  ],
  "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"
    },
    "expiryTimestamp": {
      "$id": "#/properties/expiryTimestamp",
      "type": "string",
      "description": "As specified in the [ADT documentation.](https://adt.transhub.io). Do not play or display after",
      "format": "date-time"
    },
    "ref": {
      "$id": "#/properties/ref",
      "type": "string",
      "description": "Reference to stop place id"
    },
    "message": {
      "$id": "#/properties/message",
      "type": "object",
      "description": "Message for one or more language",
      "additionalProperties": true,
      "patternProperties": {
        "^[a-z]{2}(-[a-z]{2})?$": {
          "$id": "#/properties/message/patternProperties/multilingualMessage",
          "type": "object",
          "description": "A multilingual message",
          "additionalProperties": true,
          "properties": {
            "title": {
              "$id": "#/properties/message/patternProperties/multilingualMessage/properties/title",
              "type": "string",
              "description": "Title"
            },
            "text": {
              "$id": "#/properties/message/patternProperties/multilingualMessage/properties/text",
              "type": "string",
              "description": "Body text"
            }
          }
        }
      }
    },
    "zoneId": {
      "$id": "#/properties/zoneId",
      "type": "string",
      "description": "Fare zone of next stop"
    }
  }
}
