Bence ilk önce saat aralıkları diye tablo yarat

---------------------
saat_araligi :
id int = mutalaka id olmalı, id sistemli db ler hızlı çalışıyor (otomatik sayı olmalı)
aciklama varchar
bas_saat time = tarih aralıklarında çalışacağı saatin başlangıcı
son_saat time = tarih aralıklarında çalışacağı saatin bitişi
hizmetci_id int = buraya hizmetçi id numarasını giricez
calisagi_gun_bas date = çalışacağı tarih aralığının başlangıcı
calisagi_gun_son date = çalışacağı tarih aralığının sonu

---------------------

Birde Hizmetçi tablosu yaratmalı

---------------------
hizmetci:
id int
adi_soyadi varchar
calisiyor boolean

---------------------

Hizmetçiye istediğin gibi ayrıntıyı girersin

bundan sonra yapman geren çok basit, admin panelde ilk önce "Hizmetçi" Bilgisi girdireceksin. Ondan sonra "tarih aralığı" sayfasından hizmetçiyi seçtirip çalışacağı tarih aralıklarını ve o aralıklarda çalışacağı saatleri seçtirip kaydediceksin. Ondan sonra şu aşağıda ki sql sana hizmetçinin çalıştığı tarihleri ve saatleri göstericek;

select h.adi_soyadi, h.calisiyor, s.aciklama, s.bas_saat, s.son_saat, s.calisagi_gun_bas, s.calisagi_gun_son from hizmetci as h, saat_araligi as s
where h.id = s.hizmetci_id
and h.id= buraya hizmetçi id gireceksin

başka eklenicek bişey varsa yardımcı olabilirm (: