diff --git a/tools/gui/kontaktdaten.ui b/tools/gui/kontaktdaten.ui
index 0f339b19..c8fa61eb 100644
--- a/tools/gui/kontaktdaten.ui
+++ b/tools/gui/kontaktdaten.ui
@@ -153,7 +153,7 @@
              <item row="0" column="1">
               <widget class="QLineEdit" name="i_code_impfzentren">
                <property name="toolTip">
-                <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Gib hier deinen ersten Vermittlungscode ein.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Gib hier deinen ersten Vermittlungscode ein. Solltest du keinen Code haben, kannst du hier eifach XXXX-XXXX-XXXX eintragen.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
                </property>
                <property name="inputMask">
                 <string>NNNN-NNNN-NNNN</string>
@@ -935,11 +935,11 @@
         </widget>
        </item>
        <item row="3" column="0">
-          <widget class="QPushButton" name="b_test_pushover">
-           <property name="text">
-            <string>Pushover Testen</string>
-           </property>
-          </widget>
+        <widget class="QPushButton" name="b_test_pushover">
+         <property name="text">
+          <string>Pushover Testen</string>
+         </property>
+        </widget>
        </item>
        <item row="4" column="0">
         <widget class="QLabel" name="spacer_label">
@@ -949,7 +949,7 @@
           </font>
          </property>
          <property name="text">
-          <string></string>
+          <string/>
          </property>
         </widget>
        </item>
@@ -994,11 +994,11 @@
         </widget>
        </item>
        <item row="8" column="0">
-          <widget class="QPushButton" name="b_test_telegram">
-           <property name="text">
-            <string>Telegram Testen</string>
-           </property>
-          </widget>
+        <widget class="QPushButton" name="b_test_telegram">
+         <property name="text">
+          <string>Telegram Testen</string>
+         </property>
+        </widget>
        </item>
       </layout>
      </widget>
diff --git a/tools/gui/qtkontakt.py b/tools/gui/qtkontakt.py
index 806a8172..6e8067e9 100644
--- a/tools/gui/qtkontakt.py
+++ b/tools/gui/qtkontakt.py
@@ -103,8 +103,11 @@ def __init__(self, parent: QtWidgets.QWidget, modus: Modus, standard_speicherpfa
         # Versuche Kontakdaten zu laden 
         self.__lade_alle_werte()
 
-        # Wähle ersten Reiter aus
-        self.tabWidget.setCurrentIndex(0)
+        # Wähle passenden Reiter aus
+        if self.modus == modus.CODE_GENERIEREN:
+            self.tabWidget.setCurrentIndex(1)
+        else:
+            self.tabWidget.setCurrentIndex(0)
 
         # Erstelle Events für LineEdits
         for line_edit in self.vermittlungscodes_tab.findChildren(QtWidgets.QLineEdit):
@@ -154,12 +157,16 @@ def setup(self):
         elif self.modus == Modus.CODE_GENERIEREN:
             # Benötigt wird: PLZ's der Impfzentren, Telefonnummer, Mail
             # Alles andere wird daher deaktiviert
-            # !!!! wir erlauben aktuell alle eingaben, da diese später für die terminsuche benötigt werden. !!!
-            # self.readonly_alle_line_edits(("i_plz_impfzentren", "i_telefon", "i_mail"))
-            # self.i_code_impfzentren.setInputMask("")
 
-            self.i_code_impfzentren.setText("XXXXXXXXXXXX")
-            self.i_code_impfzentren.setReadOnly(True)
+            self.readonly_alle_line_edits(("i_plz_impfzentren", "i_telefon", "i_mail"))
+
+            self.disable_all_dateEdits()
+            self.disable_all_timeEdits()
+            self.disable_all_checkBoxes()
+            self.disable_all_comboBoxes()
+            # '' sind alle Standard-Buttons e.g. Save, Reset
+            self.disable_all_buttons(['', 'b_impfzentren_waehlen'])
+
         else:
             raise RuntimeError("Modus ungueltig!")
 
@@ -266,16 +273,7 @@ def __get_alle_werte(self) -> dict:
         Returns:
             dict: User eingaben
         """
-
         plz_zentrum_raw = self.i_plz_impfzentren.text()
-        codes = self.__get_vermittlungscodes()
-        anrede = self.i_anrede_combo_box.currentText().strip()
-        vorname = self.i_vorname.text().strip()
-        nachname = self.i_nachname.text().strip()
-        strasse = self.i_strasse.text().strip()
-        hausnummer = self.i_hausnummer.text().strip()
-        wohnort = self.i_wohnort.text().strip()
-        plz_wohnort = self.i_plz_wohnort.text().strip()
         telefon = self.i_telefon.text().strip()
         mail = self.i_mail.text().strip()
         notifications = self.__get_notifications()
@@ -284,25 +282,47 @@ def __get_alle_werte(self) -> dict:
         plz_zentren = plz_zentrum_raw.split(",")
         plz_zentren = [plz.strip() for plz in plz_zentren]
 
+
+        if self.modus == Modus.TERMIN_SUCHEN:
+            codes = self.__get_vermittlungscodes()
+            anrede = self.i_anrede_combo_box.currentText().strip()
+            vorname = self.i_vorname.text().strip()
+            nachname = self.i_nachname.text().strip()
+            strasse = self.i_strasse.text().strip()
+            hausnummer = self.i_hausnummer.text().strip()
+            wohnort = self.i_wohnort.text().strip()
+            plz_wohnort = self.i_plz_wohnort.text().strip()
+
+            kontaktdaten = {
+                "plz_impfzentren": plz_zentren,
+                "codes": codes,
+                "kontakt": {
+                    "anrede": anrede,
+                    "vorname": vorname,
+                    "nachname": nachname,
+                    "strasse": strasse,
+                    "hausnummer": hausnummer,
+                    "plz": plz_wohnort,
+                    "ort": wohnort,
+                    "phone": telefon,
+                    "notificationChannel": "email",
+                    "notificationReceiver": mail
+                },
+                "notifications": notifications,
+                "zeitrahmen": self.__get_zeitrahmen()
+            }
+
+            return kontaktdaten
+
         kontaktdaten = {
             "plz_impfzentren": plz_zentren,
-            "codes": codes,
             "kontakt": {
-                "anrede": anrede,
-                "vorname": vorname,
-                "nachname": nachname,
-                "strasse": strasse,
-                "hausnummer": hausnummer,
-                "plz": plz_wohnort,
-                "ort": wohnort,
                 "phone": telefon,
                 "notificationChannel": "email",
                 "notificationReceiver": mail
             },
             "notifications": notifications,
-            "zeitrahmen": self.__get_zeitrahmen()
         }
-
         return kontaktdaten
 
     def __check_werte(self, kontaktdaten: dict):
@@ -311,7 +331,8 @@ def __check_werte(self, kontaktdaten: dict):
 
         Args:
             kontaktdaten (dict): Kontaktdaten
-
+            modus: Modus der geprüft werden soll
+            
         Raises:
             ValidationError: Daten Fehlerhaft
             MissingValuesError: Daten Fehlen
@@ -333,21 +354,21 @@ def __lade_alle_werte(self):
                 # ToDo: Evtl. Meldung anzeigen
                 return
             
-            self.__check_werte(kontaktdaten)
+            kontakt_tools.check_kontaktdaten(kontaktdaten, Modus.CODE_GENERIEREN)
+            kontakt_tools.validate_kontaktdaten(kontaktdaten)
 
             self.i_plz_impfzentren.setText(self.__get_impfzentren_plz(kontaktdaten["plz_impfzentren"]))
             self.i_telefon.setText(kontaktdaten["kontakt"]["phone"])
             self.i_mail.setText(kontaktdaten["kontakt"]["notificationReceiver"])
             
-            if self.modus == Modus.CODE_GENERIEREN:
-                # Versuche alle Werte zu laden, wenn möglich
-                try:
-                    kontakt_tools.check_kontaktdaten(kontaktdaten, Modus.TERMIN_SUCHEN)
-                    kontakt_tools.validate_kontaktdaten(kontaktdaten)
-                except MissingValuesError as exc:
-                    return
-                except ValidationError as exc:
-                    return
+            # Versuche alle Werte zu laden, wenn möglich
+            try:
+                kontakt_tools.check_kontaktdaten(kontaktdaten, Modus.TERMIN_SUCHEN)
+                kontakt_tools.validate_kontaktdaten(kontaktdaten)
+            except MissingValuesError as exc:
+                return
+            except ValidationError as exc:
+                return
             
             # Wird nur bei Terminsuche benötigt
             self.__set_vermittlungscodes(kontaktdaten["codes"])
@@ -428,7 +449,7 @@ def __set_impzentren_plz(self, plz: str):
 
         self.i_plz_impfzentren.setText(plz)
 
-    def readonly_alle_line_edits(self, ausgeschlossen: list):
+    def readonly_alle_line_edits(self, ausgeschlossen: list=list()):
         """
         Setzt alle QLineEdit auf "read only", ausgeschlossen der Widgets in ausgeschlossen.
         Setzt zudem den PlacholderText auf "Daten werden nicht benötigt"
@@ -443,6 +464,79 @@ def readonly_alle_line_edits(self, ausgeschlossen: list):
             if line_edit.objectName() not in ausgeschlossen:
                 line_edit.setReadOnly(True)
                 line_edit.setPlaceholderText("Daten werden nicht benötigt")
+                line_edit.setEnabled(False)
+
+
+    def disable_all_checkBoxes(self, ausgeschlossen: list=list()):
+        """
+        Setzt alle QCheckBox auf "disabled", ausgeschlossen der Widgets in ausgeschlossen.
+
+        Args:
+            ausgeschlossen (list): Liste mit den ObjectNamen der Widgets die ausgeschlossen werden sollen
+        """
+
+        checkBoxes = self.findChildren(QtWidgets.QCheckBox)
+
+        for checkBox in checkBoxes:
+            if checkBox.objectName() not in ausgeschlossen:
+                checkBox.setEnabled(False)
+
+    def disable_all_dateEdits(self, ausgeschlossen: list=list()):
+        """
+        Setzt alle QDateEdit auf "disabled", ausgeschlossen der Widgets in ausgeschlossen.
+
+        Args:
+            ausgeschlossen (list): Liste mit den ObjectNamen der Widgets die ausgeschlossen werden sollen
+        """
+
+        dateEdits = self.findChildren(QtWidgets.QDateEdit)
+
+        for dateEdit in dateEdits:
+            if dateEdit.objectName() not in ausgeschlossen:
+                dateEdit.setEnabled(False)
+
+
+    def disable_all_timeEdits(self, ausgeschlossen: list=list()):
+        """
+        Setzt alle QTimeEdit auf "disabled", ausgeschlossen der Widgets in ausgeschlossen.
+
+        Args:
+            ausgeschlossen (list): Liste mit den ObjectNamen der Widgets die ausgeschlossen werden sollen
+        """
+
+        timeEdits = self.findChildren(QtWidgets.QTimeEdit)
+
+        for timeEdit in timeEdits:
+            if timeEdit.objectName() not in ausgeschlossen:
+                timeEdit.setEnabled(False)           
+
+    def disable_all_comboBoxes(self, ausgeschlossen: list=list()):
+        """
+        Setzt alle QComboBox auf "disabled", ausgeschlossen der Widgets in ausgeschlossen.
+
+        Args:
+            ausgeschlossen (list): Liste mit den ObjectNamen der Widgets die ausgeschlossen werden sollen
+        """
+
+        comboBoxes = self.findChildren(QtWidgets.QComboBox)
+
+        for comboBox in comboBoxes:
+            if comboBox.objectName() not in ausgeschlossen:
+                comboBox.setEnabled(False)
+
+    def disable_all_buttons(self, ausgeschlossen: list=list()):
+        """
+        Setzt alle QPushButtons auf "disabled", ausgeschlossen der Widgets in ausgeschlossen.
+
+        Args:
+            ausgeschlossen (list): Liste mit den ObjectNamen der Widgets die ausgeschlossen werden sollen
+        """
+
+        pushButtons = self.findChildren(QtWidgets.QPushButton)
+
+        for pushButton in pushButtons:
+            if pushButton.objectName() not in ausgeschlossen:
+                pushButton.setEnabled(False)
 
     def __reset_kontakdaten(self):
         """