Gestione programma di un centro assistenza.

Ho in archivio i seguenti valori:
Giorno e ora di entrata
Giorno e ora di termine lavoro

Devo considerare che:
Il centro assistenza è operativo dalle ore 09.00 alle 13.00 e dalle 16.00 alle 20.00
Il sabato dalle 09.00 alle 13.00
La domenica chiuso

Facendo la classica media vengono considerati anche i tempi morti.

Come posso fare in modo abbastanza semplice per escludere i tempi morti?
Qualcuno ha già affrontato un problema simile?

Grazie