diff --git a/src/main/java/org/tonality/model/Subscription.java b/src/main/java/org/tonality/model/Subscription.java
new file mode 100644
index 0000000000000000000000000000000000000000..74deb62753d0bb6b3a556a1f5e86be247e7b550e
--- /dev/null
+++ b/src/main/java/org/tonality/model/Subscription.java
@@ -0,0 +1,38 @@
+package org.tonality.model;
+
+import org.tonality.type.SubscriptionStatus;
+
+import org.hibernate.annotations.GenericGenerator;
+import org.hibernate.annotations.ColumnDefault;
+
+import javax.persistence.*;
+import java.util.Date;
+
+@Entity(name = "subscription")
+public class Subscription {
+    @Id
+    @GeneratedValue(generator = "increment")
+    @GenericGenerator(name = "increment", strategy = "increment")
+    @Column(name = "subscription_id")
+    private long subscriptionId;
+
+    @Column(name = "user_id")
+    private long userId;
+
+    @Column(name = "album_id")
+    private long albumId;
+
+    @Column(name = "subscription_status")
+    @Enumerated(EnumType.STRING)
+    private SubscriptionStatus status;
+
+    @Column(name = "created_at")
+    @Temporal(TemporalType.TIMESTAMP)
+    @ColumnDefault("'CURRENT_TIMESTAMP'")
+    private Date createdAt;
+
+    @Column(name = "updated_at")
+    @Temporal(TemporalType.TIMESTAMP)
+    @ColumnDefault("'CURRENT_TIMESTAMP'")
+    private Date updatedAt;
+}
diff --git a/src/main/java/org/tonality/type/SubscriptionStatus.java b/src/main/java/org/tonality/type/SubscriptionStatus.java
new file mode 100644
index 0000000000000000000000000000000000000000..5f6c666cd10ae8a4f709160f64e22cf49b991061
--- /dev/null
+++ b/src/main/java/org/tonality/type/SubscriptionStatus.java
@@ -0,0 +1,8 @@
+package org.tonality.type;
+
+public enum SubscriptionStatus {
+    PENDING,
+    ACTIVE,
+    REJECTED,
+    EXPIRED,
+}