Thanks for all your responses.
My appointments will never be from a given time until the end of the day. I teach people on a one to one basis - can you imagine the stress of being with that same person for 6 hours !?
Not many of my appointments need to repeat. If they do, it is most likely to be for a few weeks only so I can easily code this into my script.
I'm thinking that either option will work suitably. I'm thinking of using a TABLE with each cell being a 15 minute time block. Would it be easier to use DURATION or START/END_TIME to display this ? Actually, I reckon START/END_TIME would be easier.
I'll try it and come back here if I encounter any troubles.
Cheers again for your suggestions.