     public let scheduledTime: Date
     public let state: State
     public let routeChanges: [String]?
-    public let diva: Diva
+    public let diva: Diva?
 
     public var actualEta: Int? {
         guard let realTime = realTime else { return nil }

            let direction = json["Direction"] as? String,
            let platformJson = json["Platform"],
            let modeStr = json["Mot"] as? String, let mode = Mode(rawValue: modeStr.lowercased()),
            let scheduledTimeStr = json["ScheduledTime"] as? String, let scheduledTime = Date(from: scheduledTimeStr),
            let divaStr = json["Diva"] else {
                throw DVBError.decode
        }

        let platform = try Platform(anyJSON: platformJson)
        let diva = try Diva(anyJSON: divaStr)

        self.id = id
        self.line = line

        self.mode = mode
        self.scheduledTime = scheduledTime
        self.routeChanges = json["RouteChanges"] as? [String]

        if let divaStr = json["Diva"] {
            self.diva = try Diva(anyJSON: divaStr)
        } else {
            self.diva = nil
        }

        if let realTimeStr = json["RealTime"] as? String,
            let realTime = Date(from: realTimeStr) {
