diff --git a/health-services/plan-service/src/main/java/digit/service/PlanEnricher.java b/health-services/plan-service/src/main/java/digit/service/PlanEnricher.java
index 1cff13076dc..7ab443a6f31 100644
--- a/health-services/plan-service/src/main/java/digit/service/PlanEnricher.java
+++ b/health-services/plan-service/src/main/java/digit/service/PlanEnricher.java
@@ -253,31 +253,31 @@ public void enrichSearchRequest(PlanSearchRequest planSearchRequest) {
         PlanSearchCriteria planSearchCriteria = planSearchRequest.getPlanSearchCriteria();
 
         // Filter map for filtering plan metadata present in additional details
-        Map<String, String> filtersMap = new LinkedHashMap<>();
+        Map<String, Set<String>> filtersMap = new LinkedHashMap<>();
 
         // Add facility id as a filter if present in search criteria
-        if (!ObjectUtils.isEmpty(planSearchCriteria.getFacilityId())) {
-            filtersMap.put(FACILITY_ID_SEARCH_PARAMETER_KEY, planSearchCriteria.getFacilityId());
+        if (!ObjectUtils.isEmpty(planSearchCriteria.getFacilityIds())) {
+            filtersMap.put(FACILITY_ID_SEARCH_PARAMETER_KEY, planSearchCriteria.getFacilityIds());
         }
 
         // Add terrain as a filter if present in search criteria
         if (!ObjectUtils.isEmpty(planSearchCriteria.getTerrain())) {
-            filtersMap.put(TERRAIN_CONDITION_SEARCH_PARAMETER_KEY, planSearchCriteria.getTerrain());
+            filtersMap.put(TERRAIN_CONDITION_SEARCH_PARAMETER_KEY, Collections.singleton(planSearchCriteria.getTerrain()));
         }
 
         // Add onRoadCondition as a filter if present in search criteria
         if (!ObjectUtils.isEmpty(planSearchCriteria.getOnRoadCondition())) {
-            filtersMap.put(ROAD_CONDITION_SEARCH_PARAMETER_KEY, planSearchCriteria.getOnRoadCondition());
+            filtersMap.put(ROAD_CONDITION_SEARCH_PARAMETER_KEY, Collections.singleton(planSearchCriteria.getOnRoadCondition()));
         }
 
         // Add securityQ1 as a filter if present in search criteria
         if (!ObjectUtils.isEmpty(planSearchCriteria.getSecurityQ1())) {
-            filtersMap.put(SECURITY_Q1_SEARCH_PARAMETER_KEY, planSearchCriteria.getSecurityQ1());
+            filtersMap.put(SECURITY_Q1_SEARCH_PARAMETER_KEY, Collections.singleton(planSearchCriteria.getSecurityQ1()));
         }
 
         // Add securityQ2 as a filter if present in search criteria
         if (!ObjectUtils.isEmpty(planSearchCriteria.getSecurityQ2())) {
-            filtersMap.put(SECURITY_Q2_SEARCH_PARAMETER_KEY, planSearchCriteria.getSecurityQ2());
+            filtersMap.put(SECURITY_Q2_SEARCH_PARAMETER_KEY, Collections.singleton(planSearchCriteria.getSecurityQ2()));
         }
 
         if(!CollectionUtils.isEmpty(filtersMap))
diff --git a/health-services/plan-service/src/main/java/digit/web/models/PlanSearchCriteria.java b/health-services/plan-service/src/main/java/digit/web/models/PlanSearchCriteria.java
index f71cca497fc..f0b22e87d65 100644
--- a/health-services/plan-service/src/main/java/digit/web/models/PlanSearchCriteria.java
+++ b/health-services/plan-service/src/main/java/digit/web/models/PlanSearchCriteria.java
@@ -40,8 +40,8 @@ public class PlanSearchCriteria {
     @JsonProperty("planConfigurationId")
     private String planConfigurationId = null;
 
-    @JsonProperty("facilityId")
-    private String facilityId = null;
+    @JsonProperty("facilityIds")
+    private Set<String> facilityIds = null;
 
     @JsonProperty("onRoadCondition")
     private String onRoadCondition = null;
@@ -72,6 +72,6 @@ public class PlanSearchCriteria {
     private Integer limit = null;
 
     @JsonIgnore
-    private Map<String, String> filtersMap = null;
+    private Map<String, Set<String>> filtersMap = null;
 
 }