I was thinking of using the Zimbra platform for a resource scheduling application I am developing. At a basic level a user would login as a resource user and create an appointment, set a variety of resource parameters. Once the appointment is saved an external process would be triggered to "poke" those parameters at the resource.

So my question(s) are these.
What are the hooks at the Zimbra server side like for triggering some RPC style program to connect to my resource?
What are the hooks like on the client side to add a new tab into the Appointment pane to collect the data I need?
Does Zimbra provide support (paid of course) to assist in such a development or would we be on our own?

If the above is all possible then can we use Zimbra with another mail system. i.e. can I populate the Contacts list straight from an external LDAP or AD server? and the use this list to Invite in attendees for the appointment?

Thanks in advance - Zimbra looks really nice and I hope all the above is possible without too much pain. We've done plenty of Java/Web/Mail style application development so it should all be doeable, just a question of how much effort.