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