diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java
index b0addc22c5955c6864a1a88a1c50517b824f8f8a..69cdebbb0350f335eddcdfdf807d0cd98f69d068 100644
--- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/controllers/InteractiveController.java
@@ -136,11 +136,13 @@ public class InteractiveController {
                 if("offer".equals(newData.get("see").toString())) {
                     MatchedWishlistRecordModel history = matchedWishlistRecordService.getHistoryFromDB(Long.parseLong(newData.get("offerId").toString()), Long.parseLong(newData.get("wishlistId").toString()));
                     history.setOfferResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined);
-                    matchedWishlistRecordService.updateToDB(history);
+                    MatchedWishlistRecordModel record = matchedWishlistRecordService.updateToDB(history);
+                    matchedWishlistRecordService.hostReject(record);
                 } else {
                     MatchedWishlistRecordModel history = matchedWishlistRecordService.getHistoryFromDB(Long.parseLong(newData.get("offerId").toString()), Long.parseLong(newData.get("wishlistId").toString()));
                     history.setWishlistResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined);
-                    matchedWishlistRecordService.updateToDB(history);
+                    MatchedWishlistRecordModel record = matchedWishlistRecordService.updateToDB(history);
+                    matchedWishlistRecordService.visitorReject(record);
                 }
             } else {
                 if(result.getPhone1() == null) {
@@ -155,11 +157,13 @@ public class InteractiveController {
                 if("offer".equals(newData.get("see").toString())) {
                     MatchedWishlistRecordModel history = matchedWishlistRecordService.getHistoryFromDB(Long.parseLong(newData.get("offerId").toString()), Long.parseLong(newData.get("wishlistId").toString()));
                     history.setOfferResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined);
-                    matchedWishlistRecordService.updateToDB(history);
+                    MatchedWishlistRecordModel record = matchedWishlistRecordService.updateToDB(history);
+                    matchedWishlistRecordService.hostReject(record);
                 } else {
                     MatchedWishlistRecordModel history = matchedWishlistRecordService.getHistoryFromDB(Long.parseLong(newData.get("offerId").toString()), Long.parseLong(newData.get("wishlistId").toString()));
                     history.setWishlistResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined);
-                    matchedWishlistRecordService.updateToDB(history);
+                    MatchedWishlistRecordModel record = matchedWishlistRecordService.updateToDB(history);
+                    matchedWishlistRecordService.visitorReject(record);
                 }
             }
             response.setMessage("Saved successfully");
diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/jobs/OfferWishlistMatchingJob.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/jobs/OfferWishlistMatchingJob.java
index 0f0817230b9ac07bdee1aa4bd50a88dce7604a31..8ab9f420740ee20d2071ec3824759a5aa2476497 100644
--- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/jobs/OfferWishlistMatchingJob.java
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/jobs/OfferWishlistMatchingJob.java
@@ -285,8 +285,8 @@ public class OfferWishlistMatchingJob {
         List<MatchedWishlistRecordModel> matchedRecordList = offerList.parallelStream()
                 .filter(offer-> isWithin(wishlistItem.getStartTime(),wishlistItem.getEndTime(),
                         offer.getStartTime(),offer.getEndTime()) && checkAgreedOfferTime(offer, wishlistItem))
-                .map(offer -> new MatchedWishlistRecordModel(wishlistItem.getWishlistItemId(),
-                        offer.getOfferId(), LookupTables.MATCHING_RECORD_USER_RESULT.Waiting,
+                .map(offer -> new MatchedWishlistRecordModel(offer.getOfferId(),
+                        wishlistItem.getWishlistItemId(), LookupTables.MATCHING_RECORD_USER_RESULT.Waiting,
                         LookupTables.MATCHING_RECORD_USER_RESULT.Waiting,
                         wishlistItem.getStartTime(), wishlistItem.getEndTime()))
                 .toList();
diff --git a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java
index 583ad5195ecb7d47b5ebf6c43748e33f24c3cd1d..63c5974f48a0f77a71994404debe6745c134428d 100644
--- a/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java
+++ b/BackendFolder/SwitchRoom/src/main/java/vt/CS5934/SwitchRoom/services/MatchedWishlistRecordService.java
@@ -58,7 +58,11 @@ public class MatchedWishlistRecordService {
     }
 
     public MatchedWishlistRecordModel updateToDB(MatchedWishlistRecordModel updateData) {
-        matchedWishlistRecordRepository.save(updateData);
+        updateData = matchedWishlistRecordRepository.save(updateData);
+        if(updateData.getOfferResult() == LookupTables.MATCHING_RECORD_USER_RESULT.Accepted &&
+                updateData.getWishlistResult() == LookupTables.MATCHING_RECORD_USER_RESULT.Accepted){
+            visitorAccepted(updateData);
+        }
         return updateData;
     }
 
@@ -76,9 +80,9 @@ public class MatchedWishlistRecordService {
         }
     }
 
-    public void hostReject(Long offerId, Long wishlistId){
-        MatchedWishlistRecordModel record = matchedWishlistRecordRepository
-                .findByOfferIdAndWishlistItemId(offerId, wishlistId);
+    public void hostReject(MatchedWishlistRecordModel record){
+        Long wishlistId = record.getWishlistItemId();
+        Long offerId = record.getOfferId();
         if(record != null){
             record.setOfferResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined);
             if(record.getAgreedRecordId() != null){
@@ -93,9 +97,9 @@ public class MatchedWishlistRecordService {
         }
     }
 
-    public void visitorReject(Long offerId, Long wishlistId){
-        MatchedWishlistRecordModel record = matchedWishlistRecordRepository
-                .findByOfferIdAndWishlistItemId(offerId, wishlistId);
+    public void visitorReject(MatchedWishlistRecordModel record){
+        Long wishlistId = record.getWishlistItemId();
+        Long offerId = record.getOfferId();
         if(record != null){
             record.setWishlistResult(LookupTables.MATCHING_RECORD_USER_RESULT.Declined);
             if(record.getAgreedRecordId() != null){
@@ -110,9 +114,9 @@ public class MatchedWishlistRecordService {
         }
     }
 
-    public void visitorAccepted(Long offerId, Long wishlistId){
-        MatchedWishlistRecordModel record = matchedWishlistRecordRepository
-                .findByOfferIdAndWishlistItemId(offerId, wishlistId);
+    public void visitorAccepted(MatchedWishlistRecordModel record){
+        Long offerId = record.getOfferId();
+        Long wishlistId = record.getWishlistItemId();
         if(record != null){
             record.setWishlistResult(LookupTables.MATCHING_RECORD_USER_RESULT.Accepted);
             UserOfferModel offerModel = userOfferRepository.findByUserId(offerId);