There are different layers on top of which Core's program system is built. The layers (program, division, and session) allow the system to adapt to the complex offerings an association may have. In order for programs to display correctly, these layers have to be set up.
Program (The overall concept you refer to them). Example: Soccer
Division Each subdivision of the program. Example: Middle School Girls, 10 and Under, Beginner/Intermediate/Advanced
Session The time when it happens. Example: Fall Session
Programs
Programs are association wide concepts. If your association has multiple branches we strongly recommend setting up all your branch programs under the same umbrella so your members (and your front desk) can find what they are looking for effectively.
Setting up multiple programs for the same thing WILL hurt your members experience.
Programs have specific information to them that is typically the same across multiple divisions, age groups, dates etc. To keep with the soccer example, the general philosophy of the association is a good thing to use for this description. If you have any links to rules or information that doesn't change season to season this is a good place to put it. These are some things to keep in mind when creating your program.
Name: The name of the program should be short and simple. Most of the time it does not need to include the season, year or session name as you will continue to add seasons to this same program as time continues. Also most of that other information is always displayed alongside the program and pulled from other fields dynamically.
Tags: Tags do not need to be descriptions! Tags are keywords people might use to look up a program, but that wouldn't necessarily be in the name or the description. For example, if you have a Speed Skating program you should add ice and race to the tags but you do not need to add speed and skating again. Also, remember each division can have its own set of tags so you do not need to include all the tags for the division at the program level.
Categories: Every program should have a category. In general people are looking for main program categories. Youth, Sports, Adults, Senior, Swim. The categories help members see all of the program you have available for say Youth Sports or Adult Sports
Questions: Core automatically ask some questions for every program registration and they get updated along with the information attached to the membership (member name, address, emergency contact and special health needs/ allergies).
Asking questions like address or phone number again will perpetuate BAD DATA in the system
Once you have saved your program you can add divisions!
Divisions
Divisions are, well, each division of the program. Some programs do not have multiple divisions, but there is a lot of information that Core stores at the division level. For associations with multiple branches, divisions are where you make the distinction of one branch's division versus the other one. Here are some things to keep in mind when setting up divisions.
Name: The name for the division is always displayed alongside the name of the program, so you NEVER want to repeat the name of the program in the division. Actually you NEVER want to repeat the name of the program in any other label Core uses so you avoid program displaying as 2018 Fall Youth Soccer - U9 Girls Youth Soccer - Fall U9 Girls Soccer. You also want to avoid putting the name of the branch or any dates on this name as they get displayed dynamically from other fields.
Tags, Descriptions, and Categories: All the comments from the programs section apply.
Notification Email(s): This email address will be notified every time there is a program registration. If you only want to receive alerts for ONLINE program registration you can type the word ONLINE followed by the email address(es). For example:
ONLINE director@association.com, john@association.com
Consecutive Registrations: You can specify if you want online registrations or both online and staff registrations to be forced to register for all the future sessions. For example, you might want to force people to register to all the weeks of you childcare program instead of selecting a few weeks at a time. Selecting 'Force Similar Session Parameters' will check the selected session as well as any future sessions matching the days of the week, duration, time of day, and label.
Applicable Branches: You can select the branch or branches this particular division applies to. If everything about a division is the same for multiple branches you can use just 1 division and hold
CTRL
on your keyboard as you select other ones. If some of the information is different across branches (like they have different fees or different dates) you might need to create different divisions for each.
Be careful not to unselect a branch applicable for a division when adding another branch to a division.
Age Restrictions
You can set age restrictions, gender restrictions, and restrictions to prevent members from registering to the same session multiple times. For example, you usually don't want the same kid to sign up for the same week of camp twice but you may allow the same member to sign up for multiple personal training sessions.
The age restrictions are inclusive; this means if you enter 4-6 years, then a 6 year old will be allowed to register up until the day before their 7th birthday.
Registration Fees and Settings
This is what tells Core when, how, who and at what price they can register. If you do not add a group the system will show registration as closed. A typical program registration looks like the one below; not all row and columns are required.
The registration settings apply to ALL the sessions and the dates should NOT overlap
The one time registration fee is charged to each member only once regardless for how many session they register for in that division. It's most used for situations like childcare when you charge a set amount upfront regardless of how many sessions they sign up for.
If you want a program to be free, you still need to add a registration group with 0.00 as the amount.
NOTE: 0.00 means FREE while leaving it empty means that membership category will not be able to register (NA).
Resetting the one time fee
Sometimes you need to reset how far back the system looks at when calculating whether or not the one time fee needs to be charged again. The most common scenario for this are childcare programs where you want participants to pay a one time fee for every new year. Once you are ready to start collecting on the one time fee again for people that have registered before you want to enter the reset date as the date of the new first session.
By default, Core looks if the member is already registered to a session that starts past the cut off date to determine if it needs to bill the one time fee again. You can check the "Based on reg. date" box to use the last registration date instead of the session date as the determining factor.
Sessions
Sessions are the time component of a program. They are the objects that know when the program starts, when it ends, and how many people can attend. Sessions are what members actually register for. Below are some common type of session set ups.
Sports Season sessions going from beginning of season to the end
Childcare Weekly session for each week you can register for
Personal Training Year long session that you can register for multiple times
Parents Night out Daily session you sign up for
When setting up a session ask yourself 'What is the member paying for?' Are they paying for the day, week, month? Can it be a year long session and they sign up for it as many times as they need (Like personal training)?
Below are some things to keep in mind when setting up sessions.
Close registration: By default, for recurring sessions, registration closes once the session ends. If you have a situation where you want people to register a week before the next session starts for staffing purposes here is where you change the value.
Deposit Due at Registration: This is most used for programs that members sign up weeks in advanced and you want to collect a portion of the registration fee up front and the rest once the session starts.
Extra fee: The price calculated for the session goes off of the Registration fees and settings but you can enter an amount here if you need to charge a little extra for a particular week (maybe because it's spring break). You can also enter a negative value if that session is less than the rest.
Due By: By default fees are due at registration. But if you want fees to be due at a later date you can select from the options here. For example: most childcare programs members register for a full semester but their fee is not due until the week before each one starts.
Days of the week, Times of day, and Labels: These fields only show up when you are editing a session and they don't show up when you are creating a new one. These are fields you set up ONLY if you have multiple sessions in the same division that need different identifying information. The best example for when to use them are in swimming classes where you might have a Tuesday at 5:00pm option or a Thursday at 7:00. Please resist any urges to include the program and/or division name again on the session label.