iCal Problem

I give lessons to people at random times in the week, meaning they are not the same every week.

I also have some sort of subscription wich gives my students 10 lessons (10 x 60 min)

Now, i posed myself the question weather it was possible to set some sort of alarm, so that I remember that these pupils have to renew the subscription after exactly 10*60min.
Is this possible with iCal? Is there some sort of plugin or some sort of script one can write?

Simple, but tricky, eh?
Now it's flu season, and Student A will miss a lesson this week, Student B will miss two lessons, one this week and one next, Student C will miss a lesson three weeks from now.... etc.

You want iCal to keep track of that? I don't know how it could.

I think you need a document listing each student, followed by ten lines on which to enter the date of a lesson. Once you get to 9 lessons, then you make a reminder in iCal that the next one is the 10th.

Closest thing I can think of is originally set their lessons up as recurring every Sunday for 6 weeks. You can set the date range to end 6 weeks out.
Then set the alarm (email you or one of the other options) for each Sunday and you can change the day of the week they decide on for that week.
When you initially set it up, you'll have to remember to go the final Sunday and add a note that their "subscription" is expiring. That way you would see the expiration note when that week comes around.

It's a few manual steps and changes, but there's nothing that will automatically do those steps in iCal.

I just did a test. I set "repeat" to Custom, every week on Monday starting 10/26. I set "end" to After 10 times. It accepted that. Of course, Alarm can be set to whatever your preference is. To allow for absences, I extended it to 20 weeks, and it accepted that as well. I then went to the last occurrence and modified the message, selecting "only this event" rather that all future events. Of course, being the last one, there is no future event, but I was able to do that for an intermediate event as well.