List Customer Appointments on a Web Page

List Customer Appointments on a Web Page

I am trying to build a customer portal that allows a customer to show what appointments they have been to and what appointments they have in the future.   It seems that there is no API's or widgets available allow me to easily get a view of what appointments exist for a customer.   Any suggestions on how to achieve this would be appreciated.