Lo mas facial es mostrar lo que ya esta asignado
Código SQL
[-]select IdTurnos, IdCliente, Fecha_entrada, Fecha_salida, Fallo, Hora
from Turnos
where fecha = "01/04/2009"
De ahi uno sabe que horas tiene libres, dependiendo de la cantidad de horas de trabajo diario.
Pero para hacerlo aun mas detallado, tendrias que definir franjas horarias, segun la cantidad de horas de un dia de trabajo y a eso restar la asignadas en turnos, y ahi se veran las horas libres del dia. Ademas de ver si puedes atender a mas de un turno por ves, por que segun "Fecha_entrada" y "Fecha_salida", puede que un vehiculo entre un dia y salga otro, lo que completaria la franja horaria y no te dara turnos libres para ese rango de fechas.