diff --git a/src/service/notification.rs b/src/service/notification.rs
index dce5cbe374f638cbf07bbced0039db071daa2ac4..a48c4cefc99ba9c014305162d29a6a38a55e0221 100644
--- a/src/service/notification.rs
+++ b/src/service/notification.rs
@@ -8,4 +8,11 @@ use std::thread;
 
 pub struct NotificationService;
 
-impl NotificationService {}
\ No newline at end of file
+impl NotificationService {
+    pub fn subscribe(product_type: &str, subscriber: Subscriber) -> Result<Subscriber> {
+        let product_type_upper = product_type.to_uppercase();
+        let product_type_str = product_type_upper.as_str();
+        let subscriber_result = SubscriberRepository::add(product_type_str, subscriber);
+        return Ok(subscriber_result);
+    }
+}
\ No newline at end of file