In my Gallery, I set the color of Desks that are available = Green, and Red for booked Desks, if active 'Reservation Details' records are found within selected Date.
Switch(
LookUp(
ForAll(
Filter(
'Reservation Details',
Date >= FromDate_Dp.SelectedDate,
Date <= ToDate_Dp.SelectedDate
&& 'Booking Status' = 'Booking Status (Reservation Details)'.Booked
),
{
DeskName: 'Reserved Desk'.Name,
BookingStatus: Text('Booking Status')
}
),
DeskName = ThisItem.Name
).BookingStatus,
"Booked",
Color.Red,
Color.Green
)
However, with 'Time' value implemented, I have to filter 'Reservation Details' via Date + Time.

What I Tried
Below is the code I tried to include Time, but the results are incorrect. (Booked Desks are still displayed as available in Green color)
Switch(
LookUp(
ForAll(
Filter(
'Reservation Details',
'Start Date Time' >= FromDate_Dp.SelectedDate + Time(Value(FromTimeHour_Ddl.Selected.Value), Value(FromTimeMinutes_Ddl.Selected.Value), 0)
&& 'End Date Time' <= ToDate_Dp.SelectedDate + Time(Value(ToTimeHour_Ddl.Selected.Value), Value(ToTimeMinutes_Ddl.Selected.Value), 0)
&& 'Booking Status' = 'Booking Status (Reservation Details)'.Booked
),
{
DeskName: 'Reserved Desk'.Name,
BookingStatus: Text('Booking Status')
}
),
DeskName = ThisItem.Name
).BookingStatus,
"Booked",
Color.Red,
Color.Green
)
Sample Scenario for Modified Formula Above
Existing Reservation: 27 Feb 9am - 6pm
If user tries to book 27 Feb 12pm - 1pm, the first && condition will fulfil,
'Start Date Time' >= FromDate_Dp.SelectedDate + Time(Value(FromTimeHour_Ddl.Selected.Value), Value(FromTimeMinutes_Ddl.Selected.Value), 0)
but the second && condition below will be missed, so the Desk will still be shown as available.
'End Date Time' <= ToDate_Dp.SelectedDate + Time(Value(ToTimeHour_Ddl.Selected.Value), Value(ToTimeMinutes_Ddl.Selected.Value), 0)
Further Analysis
Below are some permutations that I thought through. However, this logic will also wrongly block Desks if a different day is selected (e.g. 28 Feb). *User is allowed to select multiple dates, but a fixed Start Time and End Time
Existing Reservation : 27 Feb 10am - 6pm
+ Permutations
1. Reservation 'Start Date Time' on/before Selected 'Start Date Time'
2. Reservation 'Start Date Time' on/after Selected 'End Date Time'
3. Reservation 'End Date Time' on/before Selected 'End Date Time'
4. Reservation 'End Date Time' on/after Selected 'End Date Time'
+ Scenarios to block Desk booking (would also wrongly block out Desks if a different day is selected, e.g. 28 Feb)
A) 27 Feb 12pm - 5pm
1. Reservation 'Start Date Time' on/before Selected 'Start Date Time'
3. Reservation 'End Date Time' on/before Selected 'End Date Time'
B) 27 Feb 9am - 5pm
2. Reservation 'Start Date Time' on/after Selected 'End Date Time'
4. Reservation 'End Date Time' on/after Selected 'End Date Time'
C) 27 Feb 12pm - 5pm
1. Reservation 'Start Date Time' on/before Selected 'Start Date Time'
4. Reservation 'End Date Time' on/after Selected 'End Date Time'
D) 27 Feb 9am - 6pm
2. Reservation 'Start Date Time' on/after Selected 'End Date Time'
3. Reservation 'End Date Time' on/before Selected 'End Date Time'