     {
         let snapshotDict:[String:Any]? = snapshot as? [String:Any]
         
+        if let sessionSnapshot:[String:Any] = snapshotDict?[Property.session.rawValue] as? [String:Any]
+        {
+            self.session = FDatabaseModelUserSession(snapshot:sessionSnapshot)
+        }
+        else
+        {
+            self.session = FDatabaseModelUserSession(snapshot:[])
+        }
+        
         if let email:String = snapshotDict?[Property.email.rawValue] as? String
         {
             self.email = email

        else
        {
            self.email = kEmpty
        }
        
        if let token:String = snapshotDict?[Property.token.rawValue] as? String
        {
            self.token = token
        }
        else
        {
            self.token = kEmpty
        }
        
        if let statusInt:Int = snapshotDict?[Property.status.rawValue] as? Int

    
    init(email:String, status:Status, token:String?, version:String)
    {
        self.session = FDatabaseModelUserSession(
            token:token,
            version:version,
            ttl:nil)
        self.email = email
        self.status = status
        created = NSDate().timeIntervalSince1970
