diff --git a/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/HashCode.java b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/HashCode.java
new file mode 100644
index 0000000000000000000000000000000000000000..a7a36b1af506fd5425ea2352f7e41b6eb5dcbb99
--- /dev/null
+++ b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/HashCode.java
@@ -0,0 +1,6 @@
+package eu.fairkom.faircommons.common.model;
+
+public class HashCode {
+    private String algorithm;
+    private String hexValue;
+}
diff --git a/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/IpfsEntry.java b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/IpfsEntry.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ef33f6a6fa9cd598c5dfba53ac4e0103c1db74b
--- /dev/null
+++ b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/IpfsEntry.java
@@ -0,0 +1,6 @@
+package eu.fairkom.faircommons.common.model;
+
+public class IpfsEntry {
+    private String cid;
+    private String path;
+}
diff --git a/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/StorageOption.java b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/StorageOption.java
new file mode 100644
index 0000000000000000000000000000000000000000..de7f34f818018bd59cc0b4db7a788cf0fa5a5a5c
--- /dev/null
+++ b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/StorageOption.java
@@ -0,0 +1,5 @@
+package eu.fairkom.faircommons.common.model;
+
+public class StorageOption {
+
+}
diff --git a/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/Work.java b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/Work.java
new file mode 100644
index 0000000000000000000000000000000000000000..1f3cac48f15239c6136e515ffc097c803a2df762
--- /dev/null
+++ b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/Work.java
@@ -0,0 +1,32 @@
+package eu.fairkom.faircommons.common.model;
+
+import java.time.LocalDateTime;
+import java.time.ZonedDateTime;
+import java.util.List;
+
+public class Work {
+    private String type;
+    private String title; //immutable
+    private String description;
+    private List<String> tags;
+    private String language;
+    private ZonedDateTime creationDate; //immutable
+    private ZonedDateTime registrationDate; //immutable
+
+    private String registrar; //keycloak userId, immutable
+    private String publisher; //immutable
+    private List<String> attribution;
+
+    private String identifier;
+
+
+    private String fileUrl;
+    private String filename;
+    private String visibility; //PRIVATE, PUBLIC
+    private HashCode hashFile; //immutable
+    private HashCode hashMeta; //immutable
+    private IpfsEntry ipfsFile; //immutable
+    private IpfsEntry ipfsMeta; //immutable
+    private String status;
+
+}
diff --git a/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/WorkCreateView.java b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/WorkCreateView.java
new file mode 100644
index 0000000000000000000000000000000000000000..d3bcaf7e84dd6f995bbd48c8e09313629c272bab
--- /dev/null
+++ b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/WorkCreateView.java
@@ -0,0 +1,16 @@
+package eu.fairkom.faircommons.common.model;
+
+import java.time.ZonedDateTime;
+import java.util.List;
+
+public class WorkCreateView {
+    private String type;
+    private String title;
+    private String description;
+    private List<String> tags;
+    private ZonedDateTime creationDate;
+    private String registrar;
+    private String filename;
+    private WorkVisibility visibility;
+    private StorageOption storageOption;
+}
diff --git a/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/WorkView.java b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/WorkView.java
new file mode 100644
index 0000000000000000000000000000000000000000..2fa501f7ed5f836bd52433085f4cc7edc19c95b2
--- /dev/null
+++ b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/WorkView.java
@@ -0,0 +1,4 @@
+package eu.fairkom.faircommons.common.model;
+
+public class WorkView {
+}
diff --git a/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/WorkVisibility.java b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/WorkVisibility.java
new file mode 100644
index 0000000000000000000000000000000000000000..36caee6bd6595e27e6fe7397a36dd8890699c215
--- /dev/null
+++ b/faircommons-services/common/src/main/lombok/eu/fairkom/faircommons/common/model/WorkVisibility.java
@@ -0,0 +1,5 @@
+package eu.fairkom.faircommons.common.model;
+
+public enum WorkVisibility {
+    PUBLIC, PRIVATE
+}