Giving athletes flexibility when following programs
In some situations, you may not want to confine the athlete to following a completely rigid program structure where every session occurs on a specific day of the week. FYTT allows you to create a "flexible" program where the athlete is presented with a week's worth of sessions at a time, which they can complete as they are able, and as they see fit.
This allows you to build out a structured plan for the athlete to follow, but gives them some autonomy and flexibility as to the order and timing of the sessions each week. For example, an athlete's schedule might be highly variable from week to week, so they can't always follow a strict Mon/Wed/Fri workout routine. Creating a flexible program displays all the sessions planned for a given week and allows the athlete to pick when they want to complete each session.
Flexible programs are built the same way as normal programs, in that you build the sessions using the weekly program interface. However, the days on which you build the sessions can be arbitrary, because the athlete will consume each week as a block to be completed at their discretion. For the sake of planning, though, you may choose to build the program in its "ideal" form, but just knowing that the actual execution of the program will likely vary from the plan.
To illustrate, suppose we had a program with the following sessions:
As you can see, this week is laid out with sessions on Monday, Wednesday, and Friday. However, when the athlete views their schedule on their device, the sessions for the entire week are available to them regardless of what day of the week it is.
As you can see, the athlete is able to complete the sessions out of order, and they can easily see what they have planned for the week, and what they've already completed.