diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/scheduling.py b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/scheduling.py
index ad0f892c62c49ab1aff85facfc0e59667e4cd482..037eb1269cc88e11e3b973172704588788ae21b1 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/scheduling.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/scheduling.py
@@ -4,7 +4,8 @@ This file contains the viewsets (based on the elsewhere defined data models and
 
 from django.shortcuts import get_object_or_404
 from rest_framework import viewsets
-from .lofar_viewset import LOFARViewSet, LOFARNestedViewSet, AbstractTemplateViewSet
+from .lofar_viewset import LOFARViewSet, LOFARNestedViewSet, AbstractTemplateViewSet, FILTER_OVERRIDES
+from .specification import NumberInFilter
 from .. import models
 from .. import serializers
 from django_filters import rest_framework as filters
@@ -131,6 +132,12 @@ class DataproductFeedbackTemplateViewSet(AbstractTemplateViewSet):
 
 
 class SubTaskFilter(filters.FilterSet):
+    id = NumberInFilter(field_name='id', lookup_expr='in')
+    id_min = filters.NumberFilter(field_name='id', lookup_expr='gte')
+    id_max = filters.NumberFilter(field_name='id', lookup_expr='lte')
+    state = filters.ModelMultipleChoiceFilter(field_name='state', queryset=models.SubtaskState.objects.all())
+    name = filters.CharFilter(field_name='task_blueprints__scheduling_unit_blueprint__name', lookup_expr='icontains')   # todo: correct name?
+
     class Meta:
         model = Subtask
         fields = {
@@ -139,6 +146,7 @@ class SubTaskFilter(filters.FilterSet):
             'stop_time': ['lt', 'gt'],
             'cluster__name': ['exact', 'icontains'],
         }
+        filter_overrides = FILTER_OVERRIDES
 
 
 class SubtaskViewSet(LOFARViewSet):
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py
index 1f4defdc79838614333a9dbb20f9a1b8a8b98e2d..d52d77d92abc9d2bb4de6520324950d8e7372ff8 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/specification.py
@@ -948,7 +948,7 @@ class SchedulingUnitBlueprintPropertyFilter(property_filters.PropertyFilterSet):
     start_time = property_filters.PropertyIsoDateTimeFromToRangeFilter(field_name='start_time')
     stop_time = property_filters.PropertyIsoDateTimeFromToRangeFilter(field_name='stop_time')
     project = property_filters.PropertyCharFilter(field_name='project', lookup_expr='icontains')
-    status = property_filters.PropertyChoiceFilter(field_name='status', choices=tuple((i.value, i.value) for i in models.SchedulingUnitBlueprint.Status), lookup_expr='iexact')
+    status = property_filters.PropertyMultipleChoiceFilter(field_name='status', choices=tuple((i.value, i.value) for i in models.SchedulingUnitBlueprint.Status), lookup_expr='iexact')
     priority_rank = filters.RangeFilter(field_name='priority_rank')
     id = NumberInFilter(field_name='id', lookup_expr='in')
     id_min = filters.NumberFilter(field_name='id', lookup_expr='gte')
@@ -1113,6 +1113,7 @@ class TaskDraftPropertyFilter(property_filters.PropertyFilterSet):
     scheduling_unit_draft_min = filters.NumberFilter(field_name='scheduling_unit_draft__id', lookup_expr='gte')
     scheduling_unit_draft_max = filters.NumberFilter(field_name='scheduling_unit_draft__id', lookup_expr='lte')
     scheduling_unit_draft_name = filters.CharFilter(field_name='scheduling_unit_draft__name', lookup_expr='icontains')
+    project = property_filters.PropertyCharFilter(field_name='scheduling_unit_draft__scheduling_set__project', lookup_expr='icontains')
     task_blueprints = filters.ModelMultipleChoiceFilter(field_name='task_blueprints', queryset=models.TaskBlueprint.objects.all())
     duration_min = property_filters.PropertyDurationFilter(field_name='duration', lookup_expr='gte')
     duration_max = property_filters.PropertyDurationFilter(field_name='duration', lookup_expr='lte')
@@ -1264,6 +1265,7 @@ class TaskBlueprintPropertyFilter(property_filters.PropertyFilterSet):
     scheduling_unit_blueprint_min = filters.NumberFilter(field_name='scheduling_unit_blueprint__id', lookup_expr='gte')
     scheduling_unit_blueprint_max = filters.NumberFilter(field_name='scheduling_unit_blueprint__id', lookup_expr='lte')
     scheduling_unit_blueprint_name = filters.CharFilter(field_name='scheduling_unit_blueprint__name', lookup_expr='icontains')
+    project = property_filters.PropertyCharFilter(field_name='draft__scheduling_unit_draft__scheduling_set__project', lookup_expr='icontains')
     draft = ModelChoiceInFilter(field_name='draft',  lookup_expr='in', queryset=models.TaskDraft.objects.all())
     draft_min = filters.NumberFilter(field_name='draft__id', lookup_expr='gte')
     draft_max = filters.NumberFilter(field_name='draft__id', lookup_expr='lte')
@@ -1277,7 +1279,7 @@ class TaskBlueprintPropertyFilter(property_filters.PropertyFilterSet):
     relative_stop_time_max = property_filters.PropertyDurationFilter(field_name='relative_stop_time', lookup_expr='lte')
     start_time = property_filters.PropertyIsoDateTimeFromToRangeFilter(field_name='start_time')
     stop_time = property_filters.PropertyIsoDateTimeFromToRangeFilter(field_name='stop_time')
-    status = property_filters.PropertyChoiceFilter(field_name='status', choices=tuple((i.value, i.value) for i in models.SubtaskState.Choices), lookup_expr='iexact')
+    status = property_filters.PropertyMultipleChoiceFilter(field_name='status', choices=tuple((i.value, i.value) for i in models.SubtaskState.Choices), lookup_expr='iexact')
     subtasks = filters.ModelMultipleChoiceFilter(field_name='subtasks', queryset=models.Subtask.objects.all())
     subtasks_min = filters.NumberFilter(field_name='subtasks__id', lookup_expr='gte')
     subtasks_max = filters.NumberFilter(field_name='subtasks__id', lookup_expr='lte')
diff --git a/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py b/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py
index 05a4a49fd9ec04920bc124f172e8c2f110994a23..ee121b6da3a133ca799bdac9e49a994ed03e0586 100755
--- a/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py
+++ b/SAS/TMSS/backend/test/t_tmssapp_specification_REST_API.py
@@ -1940,6 +1940,35 @@ class TaskDraftTestCase(unittest.TestCase):
         self.assertIn(task_draft_2.name, str(response_4))
         self.assertNotIn(task_draft_3.name, str(response_4))
 
+    def test_TaskDraft_filters_for_project(self):
+        """
+        Test we can filter on this property, which is explicitly named on the model-specific property filter
+        """
+        # setup
+        project_1 = models.Project.objects.create(**Project_test_data(name='myproject_draft_partial_1_%s' % uuid.uuid4()))
+        project_2 = models.Project.objects.create(**Project_test_data(name='myproject_draft_partial_2_%s' % uuid.uuid4()))
+        scheduling_set_1 = models.SchedulingSet.objects.create(**SchedulingSet_test_data(project=project_1))
+        scheduling_set_2 = models.SchedulingSet.objects.create(**SchedulingSet_test_data(project=project_2))
+        su_draft_1 = models.SchedulingUnitDraft.objects.create(**SchedulingUnitDraft_test_data(name='sud1_%s' % uuid.uuid4(), scheduling_set=scheduling_set_1))
+        su_draft_2 = models.SchedulingUnitDraft.objects.create(**SchedulingUnitDraft_test_data(name='sud2_%s' % uuid.uuid4(), scheduling_set=scheduling_set_2))
+        task_draft_1 = models.TaskDraft.objects.create(**TaskDraft_test_data("td_%s" % uuid.uuid4(), scheduling_unit_draft=su_draft_1))
+        task_draft_2 = models.TaskDraft.objects.create(**TaskDraft_test_data("td_%s" % uuid.uuid4(), scheduling_unit_draft=su_draft_2))
+
+        # assert
+        response_1 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_draft/?project=%s' % project_1.name, 200)
+        response_2 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_draft/?project=%s' % project_2.name, 200)
+        response_3 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_draft/?project=foo', 200)
+        response_4 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_draft/?project=myproject_draft_partia', 200)
+
+        self.assertEqual(response_1['count'], 1)
+        self.assertEqual(response_1['results'][0]['name'], task_draft_1.name)
+        self.assertEqual(response_2['count'], 1)
+        self.assertEqual(response_2['results'][0]['name'], task_draft_2.name)
+        self.assertEqual(response_3['count'], 0)
+        self.assertEqual(response_4['count'], 2)
+        self.assertEqual({response_4['results'][0]['name'], response_4['results'][1]['name']},
+                         {task_draft_1.name, task_draft_2.name})
+
 
 class TaskRelationDraftTestCase(unittest.TestCase):
     @classmethod
@@ -2705,12 +2734,45 @@ class TaskBlueprintTestCase(unittest.TestCase):
         task_blueprint_1 = models.TaskBlueprint.objects.create(**TaskBlueprint_test_data(name="tb_%s" % uuid.uuid4()))
 
         #  assert
-        response_1 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?status=defined', 200)
+        response_1 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?status=defined&status=finished', 200)
         response_2 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?status=obsolete', 200)
         GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?status=gibberish', 400)
         self.assertGreater(response_1['count'], 0)
         self.assertEqual(response_2['count'], 0)
 
+    def test_TaskBlueprint_filters_for_project(self):
+        """
+        Test we can filter on this property, which is explicitly named on the model-specific property filter
+        """
+        # setup
+        project_1 = models.Project.objects.create(**Project_test_data(name='myproject_partial_1_%s' % uuid.uuid4()))
+        project_2 = models.Project.objects.create(**Project_test_data(name='myproject_partial_2_%s' % uuid.uuid4()))
+        scheduling_set_1 = models.SchedulingSet.objects.create(**SchedulingSet_test_data(project=project_1))
+        scheduling_set_2 = models.SchedulingSet.objects.create(**SchedulingSet_test_data(project=project_2))
+        su_draft_1 = models.SchedulingUnitDraft.objects.create(**SchedulingUnitDraft_test_data(scheduling_set=scheduling_set_1))
+        su_draft_2 = models.SchedulingUnitDraft.objects.create(**SchedulingUnitDraft_test_data(scheduling_set=scheduling_set_2))
+        su_blueprint_1 = models.SchedulingUnitBlueprint.objects.create(**SchedulingUnitBlueprint_test_data(draft=su_draft_1, name='mysub1_%s' % uuid.uuid4()))
+        su_blueprint_2 = models.SchedulingUnitBlueprint.objects.create(**SchedulingUnitBlueprint_test_data(draft=su_draft_2, name='mysub2_%s' % uuid.uuid4()))
+        task_draft_1 = models.TaskDraft.objects.create(**TaskDraft_test_data("td_%s" % uuid.uuid4(), scheduling_unit_draft=su_draft_1))
+        task_draft_2 = models.TaskDraft.objects.create(**TaskDraft_test_data("td_%s" % uuid.uuid4(), scheduling_unit_draft=su_draft_2))
+        task_blueprint_1 = models.TaskBlueprint.objects.create(**TaskBlueprint_test_data(name="tb_%s" % uuid.uuid4(), task_draft=task_draft_1, scheduling_unit_blueprint=su_blueprint_1))
+        task_blueprint_2 = models.TaskBlueprint.objects.create(**TaskBlueprint_test_data(name="tb_%s" % uuid.uuid4(), task_draft=task_draft_2, scheduling_unit_blueprint=su_blueprint_2))
+
+        # assert
+        response_1 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?project=%s' % project_1.name, 200)
+        response_2 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?project=%s' % project_2.name, 200)
+        response_3 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?project=foo', 200)
+        response_4 = GET_and_assert_equal_expected_code(self, BASE_URL + '/task_blueprint/?project=myproject_partia', 200)
+
+        self.assertEqual(response_1['count'], 1)
+        self.assertEqual(response_1['results'][0]['name'], task_blueprint_1.name)
+        self.assertEqual(response_2['count'], 1)
+        self.assertEqual(response_2['results'][0]['name'], task_blueprint_2.name)
+        self.assertEqual(response_3['count'], 0)
+        self.assertEqual(response_4['count'], 2)
+        self.assertEqual(response_4['results'][0]['name'], task_blueprint_1.name)
+        self.assertEqual(response_4['results'][1]['name'], task_blueprint_2.name)
+
 
 class TaskRelationBlueprintTestCase(unittest.TestCase):
 
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js
index 0053d4e1c6233c46cf01ef7c8b38cc50692c1e35..211e39b479cb3a1881e2e546aacd79fd8567fda6 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/components/ViewTable.js
@@ -428,6 +428,11 @@ function MultiSelectFilter({
 }) {
   const [value, setValue] = useState('');
   const [filtertype, setFiltertype] = useState('Any');
+  const [filtered, setFiltered] = useState(false);
+
+  function callSearchFunc(e) {
+    callServerFilter(e);
+  }
   
   React.useEffect(() => {
     if (!filterValue && value) {
@@ -469,29 +474,57 @@ function MultiSelectFilter({
     return [...options.values()]
   }, [id, preFilteredRows]);
 
+    // Function to call the server side filtering
+    const callServerFilter = (event, isCleared) => {
+      hasFilters = true;
+      //_.remove(tableOptionsState.filters, function(filter) { return filter.id === Header });
+      //tableOptionsState.filters.push({id: Header, value: event.target.value});
+      if (isCleared) {
+          hasFilters = false;
+          if (filtered) {
+              _.remove(tableOptionsState.filters, function(filter) { return filter.id === Header });
+              filterCallback(tableOptionsState, setLoaderFunction);
+          }
+      }   else {
+          filterCallback(tableOptionsState, setLoaderFunction);
+      }
+  }; 
+
   // Render a multi-select box
   return (
-    <div onClick={e => { e.stopPropagation() }} >
-      <div style={{ position: 'relative' }} >
-        <MultiSelect data-testid="multi-select" id="multi-select-1" optionLabel="value" optionValue="value" filter={true}
-          value={value}
-          options={options}
-          onChange={e => {
-            setValue(e.target.value);
-            setFilter(e.target.value || undefined);
-            if(storeFilter) {
-              if (e.target.value.length > 0) {
-                TableUtil.saveFilter(currentTableName, Header, e.target.value);
-              } else {
-                TableUtil.clearColumnFilter(currentTableName, Header);
+    <div onClick={e => { e.stopPropagation()}}>
+      <div style={{ position: 'relative', display: 'flex'}} >
+        <diV>
+          <MultiSelect data-testid="multi-select" id="multi-select" optionLabel="name" optionValue="value" filter //={!doServersideFilter}
+            value={value}
+            options={options}
+            onChange={e => {
+              setValue(e.target.value);
+              setFilter(e.target.value || undefined);
+              if(storeFilter) {
+                if (e.target.value.length > 0) {
+                  TableUtil.saveFilter(currentTableName, Header, e.target.value);
+                } else {
+                  TableUtil.clearColumnFilter(currentTableName, Header);
+                }
               }
-            }
-          }}
-          maxSelectedLabels="1"
-          selectedItemsLabel="{0} Selected"
-          className="multi-select"
-          tooltip={(tableToolTipsState[Header])?tableToolTipsState[Header]:"Select one or more value from list to search"}
-        />
+              setFiltered(true);
+              //callServerFilter(e);
+            }}
+            maxSelectedLabels="1"
+            selectedItemsLabel="{0} Selected"
+            className="multi-select"
+            tooltip={(tableToolTipsState[Header])?tableToolTipsState[Header]:"Select one or more value from list and click search icon to search"}
+            style={{width: '8em'}}
+          />
+        </diV>
+        {doServersideFilter &&
+          <div>
+              <button  className="p-link" onClick={callSearchFunc} >
+                <i className="pi pi-search search-btn" />
+              </button>
+          </div>
+        }
       </div>
     </div>
   )
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/layout/sass/_viewtable.scss b/SAS/TMSS/frontend/tmss_webapp/src/layout/sass/_viewtable.scss
index 6a283c3587cad532058feaefd54b1f905799e2f9..c0112826632ed7b79a4249e411793adea771bb04 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/layout/sass/_viewtable.scss
+++ b/SAS/TMSS/frontend/tmss_webapp/src/layout/sass/_viewtable.scss
@@ -199,3 +199,10 @@ body .p-paginator {
 .dialog-delete-msg {
   padding-left: 1em;
 }
+.search-btn {
+  display: inline-block;
+  position: relative;
+  top: 6px;
+  color: dimgray;
+  left: 0.25em;
+}
\ No newline at end of file
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js
index 111cbfb24c68fcf5188034ef4caec1b7f22dcf7a..804838a703147d84cd988e75e94a45efdfc53815 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js
@@ -35,7 +35,7 @@ class SchedulingUnitList extends Component{
        super(props);
        this. setToggleBySorting();
        this.defaultcolumns = {
-        status: {name: "Status",filter: "select"},
+        status: {name: "Status",filter: "multiselect-filter"},
         workflowStatus: {name: "Workflow Status",filter: "select"},
         suid: {name: "Scheduling Unit ID", tooltip: this.COMMA_SEPARATE_TOOLTIP},
         project:{name:"Project"},
@@ -147,7 +147,7 @@ class SchedulingUnitList extends Component{
                 "Linked Draft ID":"filter-input-100",
                 "Linked Blueprint ID":"filter-input-100",
                 "Type": "filter-input-75",
-                "Status":"filter-input-100",
+                "Status":"filter-input-125",
                 "workflowStatus":"filter-input-100",
                 "Stations (CS/RS/IS)":"filter-input-50",
                 "Tasks content (O/P/I)":"filter-input-50",
@@ -407,9 +407,11 @@ class SchedulingUnitList extends Component{
      */
     getStatusList(suFilters) {
         if (suFilters.data.filters['status']) {
+            this.statusList = [];
             suFilters.data.filters['status'].choices.forEach(choice => {
-                this.statusList.push(choice.value);
-            })
+                const tmpVar = {name: _.startCase(choice.value), value: choice.value};
+                this.statusList.push(tmpVar);
+            });
         }
     }
 
@@ -1200,6 +1202,10 @@ class SchedulingUnitList extends Component{
                     // Since it is ModelChoiceFilter, it will allow single parameter, so use last parameter if contains multi parameter
                     const values = _.split(filter.value, ",");
                     this.filterQry += 'observation_strategy_template='+values[values.length-1]+"&";
+                }   else if (filter.id.toLowerCase() === 'status') {
+                    for ( const value of filter.value) {
+                        this.filterQry += 'status='+value+"&";
+                    }
                 }   else {
                     let columnDetails = _.find(this.state.columnMap, {displayName:filter.id});
                     if(columnDetails) {
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/list.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/list.js
index af675d1a59459e9251f0b09cf969471fe7d756db..db8455cd7a83b34cf74cc8b5464558a0926a0ffb 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/list.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/list.js
@@ -76,7 +76,7 @@ export class TaskList extends Component {
                 },
                 status: {
                     name: "Status",
-                    filter: "select"
+                    filter: "multiselect-filter"
                 },
                 scheduling_unit_draft: {
                     name:"Scheduling Unit ID",
@@ -184,7 +184,7 @@ export class TaskList extends Component {
                 "Relative End Time (HH:mm:ss)": "filter-input-75",
                 "Start Time": "filter-input-150",
                 "End Time": "filter-input-150",
-                "Status": "filter-input-100",
+                "Status": "filter-input-125",
                 "#Dataproducts": "filter-input-75",
                 "Data size": "filter-input-50",
                 "Data size on Disk": "filter-input-50",
@@ -651,9 +651,11 @@ export class TaskList extends Component {
      */
      getStatusList(taskFilters) {
         if (taskFilters.data.filters['status']) {
+            this.statusList = [];
             taskFilters.data.filters['status'].choices.forEach(choice => {
-                this.statusList.push(choice.value);
-            })
+                const tmpVar = {name:  _.startCase(choice.value), value: choice.value};
+                this.statusList.push(tmpVar);
+            });
         }
     }
 
@@ -843,6 +845,10 @@ export class TaskList extends Component {
                 let columnDetails = _.find(this.state.columnMap, {displayName:filter.id});
                 const values = UnitConverter.getSubbandOutput(filter.value);
                 this.filterQry +=  columnDetails.orgField+'='+values.toString()+"&";
+            }   else if (filter.id.toLowerCase() === 'status') {
+                for ( const value of filter.value) {
+                    this.filterQry += 'status='+value+"&";
+                }
             }    else {
                 let columnDetails = _.find(this.state.columnMap, {displayName:filter.id});
                 if(columnDetails) {
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/view.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/view.js
index da7b6ff5f534d7a7f87df5ab5b31170c8021c47c..4be3566be8f1d9b73f068c97e27c9668bb6066e5 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/view.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/view.js
@@ -1202,19 +1202,21 @@ export class TimelineView extends Component {
     /**
      * Get Status list for UI drop down list
      */
-     async getStatusList() {
+    async getStatusList() {
         let suStatusList = [];
         let taskStatusList = [];
         const suFilters = await ScheduleService.getSchedulingUnitFilterDefinition('blueprint');
         if (suFilters && suFilters.data.filters['status']) {
             suFilters.data.filters['status'].choices.forEach(choice => {
-                suStatusList.push(choice.value);
+                const tmpVar = {name:  _.startCase(choice.value), value: choice.value};
+                suStatusList.push(tmpVar);
             });
         }
         const taskFilters = await TaskService.getTaskFilterDefinition('blueprint');
         if (taskFilters && taskFilters.data.filters['status']) {
             taskFilters.data.filters['status'].choices.forEach(choice => {
-                taskStatusList.push(choice.value);
+                const tmpVar = {name:  _.startCase(choice.value), value: choice.value};
+                taskStatusList.push(tmpVar);
             });
         }
         this.setState({suStatusList: suStatusList, taskStatusList: taskStatusList});
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/week.view.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/week.view.js
index a4690fda9d0d2cf645b4dba37bddda93fe958de6..c33cd2a91c08c3af6c976a193570990288a63707 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/week.view.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Timeline/week.view.js
@@ -916,19 +916,21 @@ export class WeekTimelineView extends Component {
      /**
      * Get Status list for UI drop down list
      */
-      async getStatusList() {
+    async getStatusList() {
         let suStatusList = [];
         let taskStatusList = [];
         const suFilters = await ScheduleService.getSchedulingUnitFilterDefinition('blueprint');
         if (suFilters && suFilters.data.filters['status']) {
             suFilters.data.filters['status'].choices.forEach(choice => {
-                suStatusList.push(choice.value);
+                const tmpVar = {name:  _.startCase(choice.value), value: choice.value};
+                suStatusList.push(tmpVar);
             });
         }
         const taskFilters = await TaskService.getTaskFilterDefinition('blueprint');
         if (taskFilters && taskFilters.data.filters['status']) {
             taskFilters.data.filters['status'].choices.forEach(choice => {
-                taskStatusList.push(choice.value);
+                const tmpVar = {name:  _.startCase(choice.value), value: choice.value};
+                taskStatusList.push(tmpVar);
             });
         }
         this.setState({suStatusList: suStatusList, taskStatusList: taskStatusList});
@@ -949,7 +951,6 @@ export class WeekTimelineView extends Component {
     }
 
     render() {
-        const  {dynamicScheduler}  = this.state.userrole.userRolePermission;
         if (this.state.redirect) {
             return <Redirect to={{ pathname: this.state.redirect }}></Redirect>
         }
diff --git a/SAS/TMSS/frontend/tmss_webapp/src/shared/timeline.constants.js b/SAS/TMSS/frontend/tmss_webapp/src/shared/timeline.constants.js
index 65d51fe61b2805b6ef729f418282f41f35309a06..9c592d65eb1f14c42f82dc9562a73836edf054d3 100644
--- a/SAS/TMSS/frontend/tmss_webapp/src/shared/timeline.constants.js
+++ b/SAS/TMSS/frontend/tmss_webapp/src/shared/timeline.constants.js
@@ -4,7 +4,7 @@ const TimelineConstants = {
     SU_LIST_DEFAULT_COLUMNS: [{
         status: {
             name:"Status",
-            filter: "select",
+            filter: "multiselect-filter",
         },
         do_cancel: {
             name:"Cancelled"
@@ -82,7 +82,7 @@ const TimelineConstants = {
     }],
     TASK_LIST_DEFAULT_COLUMNS: [{
         status: {
-            name: "Status", filter: "select"
+            name: "Status", filter: "multiselect-filter"
         },
         do_cancel: {
             name: "Cancelled"