to make it more generic, we could split session table into two, e.g. session-template and session-event - first for specifying session details, and second would be declaring this session as event in specified time period and for it registration would be done.
when creating new event we would be able to use existing session by selecting, then our event became automatically linked to this session template. If we would create event without using existing session, we would create new session-template entity and one or more session-event entity
to selecting date and hour we would add option - "repeat this event each week" with selecting date of last event
as a result we need to create events each week for used period
We need to provide option for cyclic training.