I'm trying to design a calander system. Basically a customer calls in to a ISP service center to make an appointment to send out a technician so they can do a cable installation. Each call is a maximum of 1 hour i.e. 9-10am, 10-11am. The call outs are from 9am to 5pm. The technical support representitive queries the database for available times and dates (i.e. he/she searches one week in advance). A scren like this should come up:
As you can see theres a couple of freeslots (john is a technician) the technical support chooses this time for the customer. Now what i don't get is the database design. How am i suppose to store information about a date and wether it has been already taken or if it's free.