Perpetual Programs
It's an incredible PITA to have to constantly give clients a new program because their previous one has ended when there is no way to set a program to continue without end.
1) Not every client will progress at the same rate. Sometimes you need a program to persist for much longer for one client than another.
2) Not every client needs a "program" in the usual sense. Many just want a go-to routine they can do over and over again for some undetermined amount of time.
3) On Demand programs do not give you the ability to schedule their workouts on the calendar (you can do it through the "schedule" drop down in the Training Program section, but that doesn't allow you to set up repeat options. Otherwise, this would be a current "next best fallback" option to having perpetual programs.
4) Some clients will literally need some programming that repeats without end (these might be certain remedial exercises or habits). Often, these would be Add On Programs that run concurrent to their main program that does have an end date.
5) Sometimes we are out sick or go away and the timing with our client programs is not tidy. Any active program that comes to an end with no new program entered by the time it has ended should AUTOMATICALLY go into perpetual mode with either a way to define a repeating cycle (see below) or simply repeating the last two weeks before it ended over and over again until the trainer gets back and can deal with giving the client new material. The current setup means a trainer can be caught out of pocket if one or more programs end when there's no time or internet connection, etc, to deal with giving those clients something new. Those clients then go without programming and are confused and upset.
What we need, therefore, is a way to create a program that has no end date.
We also need a way to set up workout assignments that repeat on the same schedule for the entire duration of the program they're a part of (whether or not that program has an end or not).
And of course, any "endless" program does need the ability to be manually ended if and when that time comes and it's appropriate to finally close it. The important thing is simply that it go on perpetually until further action is taken by the trainer.