Program Definitions

Last updated: August 28, 2026

What is a program in MW?

As a general definition, a program is something that can be registered for and managed. Programs are separated in the system based on their functionality and operational use. Some basic programs that are going to be relevant in this document are Camps, Swim Lessons, Workshops, Sports Leagues, Trips, Afterschool Care, and Special Events. Although most program functionality is uniform throughout these different types, some specialty programs are going to have different definitions because of their functional requirements. Examples of this (which are not included in this document overview) are Group Exercise, Personal Training, Volunteer Programs, and Financial Aid.

What is a session?

Programs can be broken up into time bound periods called sessions. Sessions can be thought of as mini programs within one main program. Every program must have at least one session. Some common examples of programs with multiple sessions would be a camp program with eight 1-week long sessions, or a swim lesson program that is sold per month. Sessions can be multi-selected during registration and can have divisions and plans available within them.

What is a division?

Programs can also be broken up into divisions. Divisions can span across multiple sessions and may contain eligibility requirements such as age, gender, and custom criteria. An example of divisions is a sports league who separates participants based on age and gender (like U8 girls, U9 boys, etc.). Another example is for swim lessons, the divisions correspond to stages as they can be used to break students up by their age and skill level to be placed in the appropriate classes. Divisions automatically filter in registration based on the participants age/gender or any other custom criteria set by the admin. This way, people cannot register for something they are ineligible for (Admins can override this on the backend when manually registering someone).

What is a plan?

Plans are recurring schedules that occur within a program for a user to choose from during registration. They are similar to the concept of what other systems may call rate plans. For example, an afterschool program is available from 3:00PM-5:00PM every day of the week, or swim lessons may have a T/TH or a Saturday class a member can pick from. Plans are flexible in that an admin can have a customer choose an entire plan during registration (like a T/Th recurring class) or the specific days within a plan (like a fulltime or parttime afterschool plan to know what days the child will be attending).

 

What is a session group?

Session groupings allow admins to group sessions of common themes into containers for display purposes on registration. A common example of this is a summer camp where you may have different themes every few weeks and want to show the users the different themes to choose from during registration. Within each theme the user can view available sessions (weeks) to make sure it aligns with their schedule. Session groups have an image, title, and description that can be displayed. Session groupings are optional.