         if let date = objectFromJSON(json, for: property) as? Date {
             return date
         } else if let timestamp = json as? TimeInterval {
-            let scale = timestampScale(property: property)
+            let scale = timestampScaleForDateProperty(property)
             return Date(timeIntervalSince1970: timestamp / scale)
         } else {
             return nil

        if let json = jsonFromObject(date, for: property) {
            return json
        } else {
            let scale = timestampScale(property: property)
            return date.timeIntervalSince1970 * scale
        }
    }

    
    ///Default is 1 means timestamp is on seconds scale
    ///Override and return 1000 in subclass if date timestamp is milli-seconds
    open func timestampScaleForDateProperty(_ property: String) -> Double {
        return 1
    }
    
