     
     var color: String
     {
-        let totalDocks = self.freeBikes + self.emptySlots
-        if self.freeBikes == 0 || self.emptySlots == 0
+        guard let freeBikes = self.freeBikes,
+              let emptySlots = self.emptySlots
+        else
+        {
+            return "orange"
+        }
+        let totalDocks = freeBikes + emptySlots
+        if freeBikes == 0 || emptySlots == 0
         {
             return "red"
         }
-        if Double(self.freeBikes) / Double(totalDocks) < 0.25
+        if Double(freeBikes) / Double(totalDocks) < 0.25
         {
             return "orange"
         }
-        else if Double(self.emptySlots) / Double(totalDocks) < 0.10
+        else if Double(emptySlots) / Double(totalDocks) < 0.10
         {
             return "orange"
         }

    let name: String
    let timestamp: Date
    let coordinates: Coordinates
    let freeBikes: Int
    let emptySlots: Int
    let id: String
    let address: String?
    var distance: Double?
    
    var statusDisplayText: String
    {
        return "\(self.freeBikes) 🚲, \(emptySlots) 🆓"
    }
    
    var dateComponentText: String

        return ["name": self.name,
                "timestamp": Constants.dateFormatter.string(from: self.timestamp),
                "longitude": self.coordinates.longitude,
                "free_bikes": self.freeBikes ?? 0,
                "latitude": self.coordinates.latitude,
                "empty_slots": self.emptySlots ?? 0,
                "id": self.id,
                "status": self.statusDisplayText,
                "updated": self.dateComponentText,
