Sorry for the delay.
So, answering your questions:
1- Yes, AppointmentCollection is dynamically updated. We get our appointments from a server and display on Schedule.
2- Cause we are experiencing a lack of performance on Schedule, we decided to use only Dates on our objects. So, we basecally have a list of dates, iterate over them creating ScheduleAppointments, and adding to the collection. The ScheduleAppointments are set to have StartTime, EndTime and Color(only one color)
3- We only tested on Android
4- It's hard to say how much appointments, but the limit is 30 (since we are only populating one appointment per day).
I uploaded a sample at github, could you take a look please?
Thank you and sorry for the poor english.