Make a personal calendar a customer can manage himself through the portal

Make a personal calendar a customer can manage himself through the portal

I have 2 forms : A customer form and a subsciption form that states how many weekly deliveries, the week they start and which day of the week they happen. I want to initiate at my convinience the creation of the calendars of my customers (for example when I receive the first payment)

I want my customers to see, through the portal access, their own calendar of those deliveries and be abble to make changes within few parameters (ex. 2 changes per season, not exceed the original number of delivery, possibility of change the day in the week and few other things).

My super best solution would be a standard calendar with icons on the days of delivery, if they put the cursor over the icon they can see things like "Montréal, monday, 4 to 6 pm (from the subscription form) and if they click on the icon they see a subform to change that delivery to anothe day (and the calendar is modified accordingly).

I have no idea where to start from, please point me the direction !

Sylvain