diff --git a/app/controllers/resources/room_request.php b/app/controllers/resources/room_request.php
index 4c51bebda9665606938c359e5cbc05a618fdfbc3..9178b64eac6fdc7fad2c9fc7e854b75bec52b795 100644
--- a/app/controllers/resources/room_request.php
+++ b/app/controllers/resources/room_request.php
@@ -474,7 +474,7 @@ class Resources_RoomRequestController extends AuthenticatedController
             $end = new DateTime();
             $begin->setTimestamp($interval['begin']);
             $end->setTimestamp($interval['end']);
-            $availability[] = $room->isAvailable($begin, $end, $interval['booking_id'] ? [$interval['booking_id']] : []);
+            $availability[] = $room->isAvailable($begin, $end, !empty($interval['booking_id']) ? [$interval['booking_id']] : []);
         }
 
         return $availability;
@@ -759,7 +759,7 @@ class Resources_RoomRequestController extends AuthenticatedController
             $new_begin->setTime(
                 $begin_time_arr[0],
                 $begin_time_arr[1],
-                $begin_time_arr[2]
+                $begin_time_arr[2] ?? 0
             );
             $new_end = new DateTime();
             $new_end->setDate(
@@ -770,7 +770,7 @@ class Resources_RoomRequestController extends AuthenticatedController
             $new_end->setTime(
                 $end_time_arr[0],
                 $end_time_arr[1],
-                $end_time_arr[2]
+                $end_time_arr[2] ?? 0
             );
 
             try {
@@ -1435,7 +1435,7 @@ class Resources_RoomRequestController extends AuthenticatedController
         $booked_rooms = [];
         foreach($this->request_time_intervals as $key => $data) {
             foreach ($data['intervals'] as $timeslot) {
-                if (!isset($booked_rooms[$timeslot['booked_room']])) {
+                if (!empty($timeslot['booked_room']) && !isset($booked_rooms[$timeslot['booked_room']])) {
                     $room = Room::find($timeslot['booked_room']);
                     if ($room) {
                         $booked_rooms[$timeslot['booked_room']] = $room;
@@ -1739,7 +1739,7 @@ class Resources_RoomRequestController extends AuthenticatedController
         if ($save_only) {
             // redirect to reload all infos and showing the most current ones
             $this->redirect('resources/room_request/resolve/' . $request_id);
-        } elseif (Request::isDialog() && Context::get()->id) {
+        } elseif (Request::isDialog() && Context::get()) {
             $this->response->add_header('X-Dialog-Execute', '{"func": "STUDIP.AdminCourses.App.loadCourse", "payload": "' . Context::get()->id . '"}');
         }
     }
diff --git a/app/views/resources/room_request/_add_edit_form.php b/app/views/resources/room_request/_add_edit_form.php
index 1650961113e5ad110e299800c668638068b1872b..f6c69e89ff1a3920aba912b1828f8128b9fda0c8 100644
--- a/app/views/resources/room_request/_add_edit_form.php
+++ b/app/views/resources/room_request/_add_edit_form.php
@@ -1,6 +1,6 @@
 <? if ($show_form): ?>
     <form class="default" method="post" action="<?= $form_action_link ?>" data-dialog="reload-on-close">
-        <input type="hidden" name="origin_url" value="<?= htmlReady($origin_url) ?>">
+        <input type="hidden" name="origin_url" value="<?= htmlReady($origin_url ?? '') ?>">
         <label>
             <input type="checkbox" <?= ($begin_date_str != $end_date_str) ? 'checked' : ''; ?>
                    onClick="$('#end_date_section').toggle();">
diff --git a/app/views/resources/room_request/resolve_room_tr.php b/app/views/resources/room_request/resolve_room_tr.php
index 42839b7e613777fc17015c3f8bc52ba8d1bd71f2..0d3cf8c894eefe2dd619bae140e7382ee4fe3b9c 100644
--- a/app/views/resources/room_request/resolve_room_tr.php
+++ b/app/views/resources/room_request/resolve_room_tr.php
@@ -1,3 +1,21 @@
+<?php
+/**
+ * @var Room $room
+ * @var User $current_user
+ * @var array $time_intervals
+ * @var Resources_RoomPlanningController $controller
+ * @var string $underload
+ * @var array $room_availability_share
+ * @var array $unavailable_dates
+ * @var array $amount_of_dates
+ * @var array $metadate_availability_share
+ * @var array $selected_rooms
+ * @var array $unavailable_metadate_dates
+ * @var array $amount_of_metadate_dates
+ * @var array $room_availability
+ */
+?>
+
 <tr class="nohover">
     <td class="nowrap">
         <? if ($room->bookingPlanVisibleForUser($current_user)): ?>
@@ -21,7 +39,7 @@
         <? endif ?>
         <?= tooltipIcon($room->room_type) ?>
         ā€“ <?= htmlReady(sprintf('%d SitzplƤtze', $room->seats)) ?>
-        <? if ($underload) : ?>
+        <? if (!empty($underload)) : ?>
             [<?= htmlReady($underload) ?>%]
         <? endif ?>
     </td>
@@ -71,15 +89,15 @@
                         $amount_of_metadate_dates[$room->id][$metadate_id]
                     )) ?>
                 <? endif ?>
-                <? $stats = 0; array_walk($data['intervals'], function(&$item, $key, $room_id) use (&$stats) {
-                    if ($item['booked_room'] == $room_id) {
+                <? $stats = 0; array_walk($data['intervals'], function($item, $key, $room_id) use (&$stats) {
+                    if ($item['booked_room'] === $room_id) {
                         $stats++;
                     }
                 }, $room->id) ?>
                 <? if ($stats > 0) : ?>
                     <?= tooltipIcon(sprintf(
                         _('%s von %s Terminen sind in diesem Raum'),
-                        $stats, sizeof($data['intervals'])
+                        $stats, count($data['intervals'])
                     ));
                     ?>
                 <? endif ?>
@@ -88,7 +106,7 @@
             <? $i = 0 ?>
             <? foreach($data['intervals'] as $interval) : ?>
                 <?
-                $available = $room_availability[$room->id][$metadate_id][$i];
+                $available = !empty($room_availability[$room->id][$metadate_id][$i]);
                 $range_index = $interval['range'] . '_' . $interval['range_id'];
                 $room_radio_name = 'selected_rooms[' . $range_index . ']';
                 ?>
@@ -97,8 +115,8 @@
                         <input type="radio" name="<?= htmlReady($room_radio_name) ?>"
                                class="text-bottom radio-<?= htmlReady($room->id) ?>"
                                value="<?= htmlReady($room->id) ?>"
-                               <?= ($selected_rooms[$range_index] == $room->id
-                                     || $interval['booked_room'] == $room->id)
+                               <?= (!empty($selected_rooms[$range_index]) && $selected_rooms[$range_index] === $room->id
+                                     || (!empty($interval['booked_room']) && $interval['booked_room'] === $room->id))
                                  ? 'checked="checked"'
                                  : ''?>>
                         <?= Icon::create('check-circle', Icon::ROLE_STATUS_GREEN)->asImg(['class' => 'text-bottom']) ?>