What?
Just wanted a note to get in my head the logic if checking a requested time slot isn't a double-booking (as in, the time slot doesn't overlap a previous booking.

How?
Given a date/time and a duration, we will work out the requested start and end time:
req_StartTime = input.Date_Field;
req_Duration = 90;
bool_doubleBooked=false;
for each thisRecord in allRecords
{
	thisRecord_StartTime = thisRecord.req_StartTime ;
	thisRecord_EndTime = thisRecord.req_StartTime.addMinutes(req_Duration);
	if(v_StartDate = thisRecord_StartTime)||(v_StartDate = thisRecord_EndTime)
	{
		doubleBooked=true;
	}
}