Reading external calendar busy times (Google Calendar and Apple Calendar)

Hi

I’m currently building a feature in a project where clients can book meetings with companies for specific times/dates. That’s all good and working well but I now need to add integration with companies existing calendars (Google Calendar and Apple Calendar initially at least) that reads from their calendar and won’t show/allow their existing busy periods (where they already have meetings/are busy) to be booked from our system and cause double bookings.

Has anyone else done similar and if so what approach did you take?

My initial ideas were to use iCal feeds to make it simpler rather than using something like Google account authentication but I’m open to ideas for the best solution.

Thanks

Richard