diff --git a/.gitignore b/.gitignore
index 120bd1401d51dd59127b173c426c65a96cd51571..40a39c473798a332eb65202cfa7cdff288b1de5e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -139,3 +139,4 @@ $RECYCLE.BIN/
 *.lnk
 
 # End of https://www.toptal.com/developers/gitignore/api/rust,linux,windows,database,rust-analyzer,visualstudiocode,venv,dotenv,virtualenv,direnv,jenv,git
+.qodo
diff --git a/src/model/mod.rs b/src/model/mod.rs
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..589f8b525cb934bd951093783737c1e73caf9042 100644
--- a/src/model/mod.rs
+++ b/src/model/mod.rs
@@ -0,0 +1 @@
+pub mod subscriber;
\ No newline at end of file
diff --git a/src/model/subscriber.rs b/src/model/subscriber.rs
new file mode 100644
index 0000000000000000000000000000000000000000..08deb0dc18b7468499a08616d80809dd17f9897c
--- /dev/null
+++ b/src/model/subscriber.rs
@@ -0,0 +1,8 @@
+use rocket::serde::{Deserialize, Serialize};
+
+#[derive(Debug, Clone, Deserialize, Serialize)]
+#[serde(crate = "rocket::serde")]
+pub struct SubscriberRequest {
+    pub url: String,
+    pub name: String,
+}