     super.init(coder: aDecoder)
   }
   
+  public var hasRealTime: Bool { return bikePod.hasRealTime }
 }
 
 
-public class TKCarParkLocation: STKModeCoordinate {
+public class TKCarPodLocation: STKModeCoordinate, TKRealTimeLocation {
+  
+  public let carPod: TKCarPodInfo
+  
+  public required init(object: MarshaledObject) throws {
+    carPod = try object.value(for: "carPod")
+    try super.init(object: object)
+  }
+  
+  public required init?(coder aDecoder: NSCoder) {
+    guard let info = aDecoder.decodeObject(forKey: "carPod") as? TKCarPodInfo else { return nil }
+    carPod = info
+    super.init(coder: aDecoder)
+  }
+  
+  public var hasRealTime: Bool { return carPod.hasRealTime }
+}
+
+
+public class TKCarParkLocation: STKModeCoordinate, TKRealTimeLocation {
   
   public let carPark: TKCarParkInfo
   

    super.init(coder: aDecoder)
  }

}

import Marshal
import SGCoreKit


public protocol TKRealTimeLocation {
  
  var hasRealTime: Bool { get }
  
}


public class TKBikePodLocation: STKModeCoordinate, TKRealTimeLocation {
  
  public let bikePod: TKBikePodInfo
  
