diff --git a/src/caosadvancedtools/models/parser.py b/src/caosadvancedtools/models/parser.py
index da4cffa6f9122af33a352ebbd11fea738a4ef371..11ff991c2e95676ae66b3049366ba231308f8a4c 100644
--- a/src/caosadvancedtools/models/parser.py
+++ b/src/caosadvancedtools/models/parser.py
@@ -521,7 +521,17 @@ class JsonSchemaParser(Parser):
         if name in self.model:
             return ent
         if elt["type"] == "string":
-            ent = db.Property(name=name, datatype=db.TEXT)
+            if "format" in elt and elt["format"] == "date-time":
+                # Treat datetime strings separately
+                ent = db.Property(name=name, datatype=db.DATETIME)
+            else:
+                ent = db.Property(name=name, datatype=db.TEXT)
+        elif elt["type"] == "integer":
+            ent = db.Property(name=name, datatype=db.INTEGER)
+        elif elt["type"] == "number":
+            ent = db.Property(name=name, datatype=db.DOUBLE)
+        elif elt["type"] == "boolean":
+            ent = db.Property(name=name, datatype=db.BOOLEAN)
         elif elt["type"] == "object":
             ent = self._treat_record_type(elt, name)
         else:
diff --git a/unittests/test_json_schema_model_parser.py b/unittests/test_json_schema_model_parser.py
index 4cf4c234216b2aaa8faee51cbe17a96c9394a67d..5b7a2f28f085e6dc2574311065eb729389aaa92a 100644
--- a/unittests/test_json_schema_model_parser.py
+++ b/unittests/test_json_schema_model_parser.py
@@ -70,7 +70,7 @@ def test_datamodel_with_atomic_properties():
 
     rt1 = model["Dataset1"]
     assert isinstance(rt1, db.RecordType)
-    assert rt.name == "Dataset1"
+    assert rt1.name == "Dataset1"
     assert rt1.description == "Some description"
     assert len(rt1.get_properties()) == 3