Führe Zeitarten ein. Z.B. Pause, Produktion, Dienstreise, Urlaub usw. Dann kriegst Du bei einer Abfrage auf einen gewünschten Zeitraum alldiese Zeitarten lückenlos aneinandergereiht, z.B. als Objekte in einer verketteten Liste [{ZA:Prod,von:0600,bis:0800},{ZA:Pause,von:0800,bis:0815}]
usw.
Das schickst Du alles zum Browser, macht damit ein View und wenn der Anwender Details sehen will machst Du das mit Klickevents entsprechend sichtbar (Templates umschalten).
Alternative zu JS: Verschiedene Views auf verschiedene Parameter abbilden, Templates serverseitig rendern.
MfG