This is what we ended up with
Set(varStartTime,
LookUp(MasterCalendarV4, dtestarttime.SelectedDate = StartTime
&&
(If(StartTimeofDay.Value = "PM" , Value(StartTimeHour.Value) + 12, Value(StartTimeHour.Value))
<= If(drpstarttimeofday.Selected.Value = "PM", Value(drpstarthour.Selected.Value) + 12, Value(drpstarthour.Selected.Value))
&&
If(EndTimeofDay.Value = "PM" , Value(EndTimeHour.Value) + 12, Value(EndTimeHour.Value))
>= If(dteendtimeofday.Selected.Value = "PM", Value(dteendhour.Selected.Value) + 12, Value(dteendhour.Selected.Value)))
).StartTime);
Set(varOverlap,
LookUp(MasterCalendarV4, dtestarttime.SelectedDate = StartTime
// &&
// (If(StartTimeofDay.Value = "PM" , Value(StartTimeHour.Value) + 12, Value(StartTimeHour.Value))
// <= If(drpstarttimeofday.Selected.Value = "PM", Value(drpstarthour.Selected.Value) + 12, Value(drpstarthour.Selected.Value))
&&
If(dteendtimeofday.Selected.Value = "PM", Value(dteendhour.Selected.Value) + 12, Value(dteendhour.Selected.Value))
> If(StartTimeofDay.Value = "PM" , Value(StartTimeHour.Value) + 12, Value(StartTimeHour.Value))
).StartTime);
If(!IsBlank(varStartTime) || !IsBlank(varOverlap), Set(varError, false));
If(!IsBlank(varStartTime) || !IsBlank(varOverlap) ,
Notify("Schedule conflict", NotificationType.Error, 3000),
Notify("Time and room available", NotificationType.Success, 3000));