diff --git a/webservice/serve_overview.py b/webservice/serve_overview.py
index 3863271e454400c8dad8329e6193a4a5caf7e11d..41b9396891da9300c11e20c7968a4f6423efd8ce 100644
--- a/webservice/serve_overview.py
+++ b/webservice/serve_overview.py
@@ -49,7 +49,6 @@ class RequestHandler(BaseHTTPRequestHandler):
         self.upex_prefix = config["shell-commands"]["upex-prefix"]
         self.tail_log_cmd = config["shell-commands"]["tail-log"]
         self.cat_log_cmd = config["shell-commands"]["cat-log"]
-        self.mappings = config["mappings"]
         self.run_candidates = config["run-candidates"]
 
         self.templates = {}
@@ -164,11 +163,8 @@ class RequestHandler(BaseHTTPRequestHandler):
             for instrument, detectors in cal_config['dark'].items():
                 reports[instrument] = {}
                 for detector in detectors:
-                    det_inset = detector.replace('-', '_')
-                    tmpl = '/gpfs/exfel/exp/{}/*/*/usr/dark/*/{}'.format(
-                        instrument, det_inset)
-                    files = glob.glob(tmpl + '/*pdf')
-                    files += glob.glob(tmpl + '/*/*pdf')
+                    tmpl = f'/gpfs/exfel/d/cal_tst/caldb_store/xfel/reports/{instrument}/{detector}/dark/*pdf'
+                    files = glob.glob(tmpl)
                     files.sort(key=os.path.getmtime, reverse=True)
                     file_info = []
                     for i, file in enumerate(files):
@@ -289,28 +285,22 @@ class RequestHandler(BaseHTTPRequestHandler):
             :param l: Line to parse
             :param key: A key work: DARK or CORRECT
             :return: Detector name, Instrument name, input folder,
-            output folder, list of runs, time of request
+            output folder, path to report, list of runs, time of request
             """
             if key in l:
                 ls = l.split()
-                if key not in ls:
+                # karabo-id and report-to are expected to be
+                # in the log file
+                if any(x not in ls for x in
+                       [key, '--karabo-id', '--report-to']):
                     return None
+
                 dclass = ls[ls.index(key) - 1]
                 in_folder = ls[ls.index("--in-folder") + 1]
+                report_to = ls[ls.index("--report-to") + 1]
                 out_folder = ls[ls.index("--out-folder") + 1]
-
-                if "--db-module" in ls:
-                    detector = ls[ls.index("--db-module") + 1]
-                else:
-                    detector = dclass
-
-                if "--instrument" in ls:
-                    instrument = ls[ls.index("--instrument") + 1]
-                else:
-                    if detector == "PNCCD":
-                        instrument = "SQS"
-                    else:
-                        instrument = in_folder.split('/')[4]
+                detector = ls[ls.index("--karabo-id") + 1]
+                instrument = in_folder.split('/')[4]
 
                 runs = []
                 for rc in self.run_candidates:
@@ -320,28 +310,29 @@ class RequestHandler(BaseHTTPRequestHandler):
                 requested = "{} {}".format(ls[0], ls[1])
 
                 return [dclass, detector, instrument, in_folder, out_folder,
-                        runs, requested]
+                        report_to, runs, requested]
 
         last_chars = {}
         last_calib = {}
         host = config["server-config"]["host"]
         port = config["server-config"]["port"]
         for l in last_n_lines:
-
+            # Extract dark requests
             info = get_run_info(l, 'DARK')
             if info is not None:
-                dclass, detector, instrument, in_folder, out_folder, runs, requested = info  # noqa
+                dclass, detector, instrument, in_folder, out_folder, report_to, runs, requested = info  # noqa
 
-                if f"{instrument}-{detector}" in last_chars:
+                # Check if instrument is in detector name
+                # This is not the case for e.g. CALLAB
+                key = detector if instrument in detector else f"{instrument}-{detector}"  # noqa
+                if key in last_chars:
                     continue
 
-                pdfs = glob.glob(f"{out_folder}/*.pdf")
-                pdfs += glob.glob(f"{out_folder}/*/*.pdf")
+                pdfs = glob.glob(f"{report_to}*.pdf")
                 pdfs.sort()
                 pdfs = {p.split("/")[-1]: p for p in pdfs}
                 fpdfs = []
                 if len(pdfs):
-                    # pdfs = ", ".join(pdfs)
                     for pdf, p in pdfs.items():
                         fpdfs.append(
                             (pdf, f"http://{host}:{port}/{p}"))
@@ -349,15 +340,15 @@ class RequestHandler(BaseHTTPRequestHandler):
                 tsize = 0
                 for run in runs:
                     run = int(run)
-                    if dclass not in self.mappings:
+                    if detector not in cal_config['data-mapping']:
                         continue
-                    for mp in self.mappings[dclass]:
+                    # ToDo calculate tsize based on selected karabo-da
+                    for mp in cal_config['data-mapping'][detector]['karabo-da']:
                         for f in glob.glob(
                                 f"{in_folder}/r{run:04d}/*{mp}*.h5"):
                             tsize += os.stat(f).st_size
-                last_injected = ""
                 constant_valid_from = ""
-                key = f"{instrument}-{detector}"
+
                 last_chars[key] = {"in_path": in_folder,
                                    "out_path": out_folder,
                                    "runs": runs,
@@ -367,16 +358,17 @@ class RequestHandler(BaseHTTPRequestHandler):
                                    "device_type": detector,
                                    "last_valid_from": constant_valid_from}
 
+            # Extract correction requests
             info = get_run_info(l, 'CORRECT')
             if info is not None:
-                _, _, _, in_folder, out_folder, runs, requested = info
+                _, _, _, in_folder, _, report_to, runs, requested = info
                 instrument = in_folder.split('/')[4]
                 if instrument not in last_calib:
                     last_calib[instrument] = []
                 if len(last_calib[instrument]) > config["server-config"]["n-calib"]:   # noqa
                     continue
                 proposal = in_folder.split('/')[6]
-                pdfs = glob.glob(f"{out_folder}/*.pdf")
+                pdfs = glob.glob(f"{report_to}*.pdf")
                 pdfs.sort(key=os.path.getmtime, reverse=True)
                 pdfs = {p.split("/")[-1]: p for p in pdfs}
 
diff --git a/webservice/serve_overview.yaml b/webservice/serve_overview.yaml
index e0ba7cb53e068db29be1d21191784de15f6935b7..14948daae12171a587e67b5643df5694393c5b95 100644
--- a/webservice/serve_overview.yaml
+++ b/webservice/serve_overview.yaml
@@ -18,27 +18,6 @@ shell-commands:
   tail-log: "tail -5000 web.log"
   cat-log: "cat web.log"
 
-mappings:
-  LPD: 
-    - LPD
-  AGIPD: 
-    - AGIPD
-  DSSC: 
-    - DSSC
-  PNCCD: 
-    - PNCCD
-  JUNGFRAU: 
-    - JNGFR 
-    - DA05 
-    - DA04
-  EPIX: 
-    - EPIX
-  EPIX10K: 
-    - EPIX10K
-  FASTCCD: 
-    - DA05
-    - DA01
-
 run-candidates:
     - "--run-high" 
     - "--run-med"
@@ -50,8 +29,6 @@ server-config:
     host: max-exfl016
     dark-timeout: 30
     n-calib: 10
-    cal_db_interface: tcp://max-exfl016:8022
-    cal_db_timeout: 30000
 
 scrpts-cnf:
     req-dark: request_darks.py
diff --git a/webservice/templates/last_characterizations.html b/webservice/templates/last_characterizations.html
index 1eefe10fe21605426ccc890c57d04c6602caed2f..1a9b893740aabbe1a7ffe80f26668a9e9276e18e 100644
--- a/webservice/templates/last_characterizations.html
+++ b/webservice/templates/last_characterizations.html
@@ -8,7 +8,7 @@
            <dt>Output path:</dt><dd>{{ data['out_path'] }}</dd>
            <dt>Input path:</dt><dd>{{ data['in_path'] }}</dd>
            <dt>Input runs:</dt><dd>{{ data['runs'] }}</dd>
-           <dt>Input data size:</dt><dd>{{ data['size'] }}</dd>
+           <dt>Total data size:</dt><dd>{{ data['size'] }}</dd>
            <dt>Output PDFs:</dt><dd>
            {% for pdf in data['pdfs'] %}
                <a href={{ pdf[1] }} target="_blank">{{ pdf[0] }}</a>