diff --git a/SAS/TMSS/client/lib/tmss_http_rest_client.py b/SAS/TMSS/client/lib/tmss_http_rest_client.py
index bcd7309b82b976177ce4f527435e2bea60b9cb09..9690b30d1e641ab8c2e03980cfbffac8c369cf00 100644
--- a/SAS/TMSS/client/lib/tmss_http_rest_client.py
+++ b/SAS/TMSS/client/lib/tmss_http_rest_client.py
@@ -130,11 +130,13 @@ class TMSSsession(object):
             if status == 'cancelling':
                 json_doc['do_cancel'] = json_doc['stop_time']
 
+        logger.debug("setting subtask id=%s to status=%s", subtask_id, status)
         response = self.session.patch(url='%s/subtask/%s/' % (self.api_url, subtask_id),
                                       json=json_doc,
                                       params={'format':'json'})
 
         if response.status_code >= 200 and response.status_code < 300:
+            logger.info("updated subtask id=%s to status=%s status_code=%s url=%s", subtask_id, status, response.status_code, response.url)
             return json.loads(response.content.decode('utf-8'))
 
         content = response.content.decode('utf-8')
@@ -332,6 +334,14 @@ class TMSSsession(object):
         returns a dict with the 'id' and 'progress', or raises."""
         return self.get_path_as_json_object('subtask/%s/get_progress' % subtask_id)
 
+    def get_subtasks_in_same_scheduling_unit(self, subtask: dict) -> []:
+        """get all subtasks in the same scheduling_unit for the given subtask.
+        returns a list of subtask-dicts upon success, or raises."""
+        task_blueprint = self.get_url_as_json_object(subtask['task_blueprint'])
+        scheduling_unit_blueprint = self.get_url_as_json_object(task_blueprint['scheduling_unit_blueprint'])
+        subtasks = self.get_url_as_json_object(full_url=scheduling_unit_blueprint['url'].rstrip('/') + '/subtasks')
+        return subtasks
+
     def get_setting(self, setting_name: str) -> {}:
         """get the value of a TMSS setting.
         returns the setting value upon success, or raises."""