If you can make use of an Outlook style calendar db, there is one floating around. I may have a copy of it - I've never used it but have looked at it. Thus whether or not it serves your purpose (e.g. cannot book same person to a task during the same time period) I don't know, but the visual view of the calendar should at least show calendar assignments. Perhaps you could modify the db so as to not be able to double book if it doesn't do that already. Post back if you want me to look for a copy.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.