diff --git a/src/main/java/soapserver/repositories/SubscriptionRepository.java b/src/main/java/soapserver/repositories/SubscriptionRepository.java
index 8ca1ef97718bcf6211e032d39f5f43a1854f2f9b..be111b7ad94e5e888620f3cabbd95fb6581bd45a 100644
--- a/src/main/java/soapserver/repositories/SubscriptionRepository.java
+++ b/src/main/java/soapserver/repositories/SubscriptionRepository.java
@@ -74,6 +74,8 @@ public class SubscriptionRepository {
       Timestamp expirationDate = userSubscription.getExpiration_date();
       Timestamp currentTime = new Timestamp(System.currentTimeMillis());
       if (expirationDate.compareTo(currentTime) < 0) {
+        this.deleteSubscription(idUser);
+
         return false;
       }
 
@@ -93,7 +95,7 @@ public class SubscriptionRepository {
 
       for (int i = 201; i <= 300; i++) {
         Subscription subscription = new Subscription();
-        subscription.setId_user(i + 1);
+        subscription.setId_user(i);
         subscription.setExpiration_date(new Timestamp(System.currentTimeMillis() + (1000 * 60 * 600)));
         session.save(subscription);
       }
@@ -205,4 +207,30 @@ public class SubscriptionRepository {
       return false;
     }
   }
+
+  public boolean deleteSubscription(int idUser) {
+    try {
+      SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
+      Session session = sessionFactory.getCurrentSession();
+
+      session.beginTransaction();
+
+      Subscription subscription = session.find(Subscription.class, idUser);
+      session.remove(subscription);
+      session.flush();
+      session.clear();
+
+      session.getTransaction().commit();
+
+      return true;
+    } catch (Exception e) {
+      SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
+      Session session = sessionFactory.getCurrentSession();
+
+      session.getTransaction().commit();
+
+      System.out.println(e.getMessage());
+      return false;
+    }
+  }
 }
diff --git a/src/main/java/soapserver/services/SubscriptionService.java b/src/main/java/soapserver/services/SubscriptionService.java
index 2d1168200642f3800b3902b8333bb7b9f777452f..c047bb46741256f9caa574d68c3bc10d23884125 100644
--- a/src/main/java/soapserver/services/SubscriptionService.java
+++ b/src/main/java/soapserver/services/SubscriptionService.java
@@ -32,12 +32,12 @@ public class SubscriptionService {
       return e.getMessage();
     }
   }
-  
+
   @WebMethod
   public String seedSubscription() {
     try {
       boolean success = subscriptionRepo.seedSubscription();
-      
+
       return success ? "success" : "seeding failed";
     } catch (Exception e) {
       System.out.println(e.getMessage());
@@ -47,21 +47,20 @@ public class SubscriptionService {
 
   @WebMethod
   public String addSubscription(
-    @WebParam(name = "idUser") int idUser) {
-      try {
-        boolean success = subscriptionRepo.addSubscription(idUser);
+      @WebParam(name = "idUser") int idUser) {
+    try {
+      boolean success = subscriptionRepo.addSubscription(idUser);
 
-        return success? "success" : "failed";
-      } catch (Exception e) {
-        System.out.println(e.getMessage());
-        return "error";
-      }
+      return success ? "success" : "failed";
+    } catch (Exception e) {
+      System.out.println(e.getMessage());
+      return "error";
+    }
   }
-  
+
   @WebMethod
   public String getExpired(
-      @WebParam(name = "idUser") int idUser
-    ) {
+      @WebParam(name = "idUser") int idUser) {
     try {
       String expiredDate = subscriptionRepo.getExpired(idUser);
       
@@ -71,7 +70,7 @@ public class SubscriptionService {
       return e.getMessage();
     }
   }
-  
+
   @WebMethod
   public String extendSubscription(
       @WebParam(name = "idUser") int idUser