We, Aplikacja.info are delivering online booking services for Polish customers using med.aplikacja.info service since 2008. The service is mainly targeted at small/medium medical businesses and allows to integrate seamlessly with existing webpage.
I was asked recently about integration with hosted Microsoft Exchange calendar. Customer (also medical business) is using currently iPhone to record visits and would like to use existing contacts and calendar events and allow his customers to book online.
Our current persistence mechanism is local SQL database. In order to integrate with external contact / event source we have the following options:
- keep local SQL storage and make periodical import/export of events/contacts to Microsoft Exchange
- replace local SQL storage with remote-only storage thus import/export will not be needed
First option drawback is possible de-synchronisation / higher probability of conflicts. The benefit is that local storage is more reliable than rely only on remote system availability. Also some customers doesn't have existing calendars we can connect to. Then setup is much simpler (just signup to our online service).
The latter gives better guarantees of eliminating conflicts, but may be slower / less reliable (when remote system is unavailable for some reason).
We started few weeks ago attempt to integrate with Google Calendar – the interface is pretty well documented. Current option that will probably win is to rely only on remote storage with some data cached locally to make things go faster. Maybe the same approach will be used for MS Exchange (probably CalDAV as transport option).