Have a way to enter appointments that reoccur in the calendar, say every Wednesday at 5pm between the start date and entered "end" date, (11/7/17- 12/5/17). Then it will show up every Wednesday, up and and including the 5th of December.
All activities from clients in the client portal should be noted and logged in "Activities". Such as, when a client schedules, cancels, or reschedules an appointment in the portal.