Alguna vez tuve que hacer algo parecido a la asignacion de turnos y los solucione con algo mas o menos asi (Perdonaras lo rustico

)
Esta es una grid de los componentes TMS, lo que hacia era fijar en las columnas los dias y en las filas los horarios, luego solo pintaba las celdas correspondientes cuando estuvieran programadas... al hacer doble click sobre alguna, te mostraba la información en detalle sobre la cita

... Espero te sirva la idea