Core ConceptsSeasons & Sessions

Seasons and sessions

Understand how Seasons group Sessions, Products, and Subproducts in Campium, and learn how to create, copy, and manage capacities, waitlists, and season status.

Overview

Seasons group your sessions (called Products in the admin UI) so families can register for the right offerings in the right time frame. Sessions can also have subproducts/options for variants like time slots or age groups, each with their own price, deposit, capacity, and waitlists.

This guide walks through how Seasons, Sessions/Products, and Subproducts/options work together, and how to configure fields like capacity, dates, and waitlists using the existing admin screens.

Navigation and exact menu labels can vary by deployment. This guide focuses on the modal windows and URLs that appear when you manage Seasons, Sessions/Products, and Subproducts/options in the admin area.

Key definitions

Season

A Season represents a registration period, such as "Summer 2025" or "School Year 2025–26". Each Season contains:

  • Sessions/Products families can register for

  • Associated forms

  • Payment plans

When you copy a Season, Campium copies these items from an existing Season into a new one along with Forms.

Session (Product)

A Session is the main thing a family registers for (for example, "Week 1 Day Camp"). In the admin UI, these may appear with your own term (for example, "Session", "Program", or "Class") based on how you configure labels under Admin → Site Settings → Basic tab.

Sessions:

  • Live inside a Season

  • Have their own name, public name, price, deposit, capacity, and dates

  • Can have one or more Subproducts/options beneath them

  • Link to registration and waitlist reports

Subproduct / Option

A Subproduct/Option is a variant under a Session, for example:

  • Morning vs afternoon track under a week-long camp

  • Age group options under one program

  • Add-ons that appear and register separately

Subproducts/options:

  • Inherit the parent Session context

  • Have their own name, description, price, deposit, capacity, and status

  • Can have their own staff assignment

  • Show separate registration and waitlist links in the options list

Capacity

Capacity controls how many registrations you accept:

  • For Sessions (Products): the Capacity field in the create/edit modal controls the session-level capacity.

  • For Subproducts/options: the Capacity field in the options edit modal controls capacity per option.

Tooltips and helper text indicate that:

  • For Sessions: "Capacity:" has a tooltip Set to zero or leave blank for unlimited.

  • For Subproducts/options: "Capacity" uses helper text blank or 0 for unlimited.

Waitlist

Waitlist links appear in the admin UI so you can see who is waiting when capacity is reached or when your configuration enables waitlists.

Link patterns from the templates:

  • Session waitlist link from the session list: a waitlist report URL that is shown when the Session/Product is configured to show waitlists.

The templates confirm where waitlist links appear and which URLs they use. They do not expose deeper business logic such as how families are added to the waitlist or when they move off the waitlist. Work with your Campium support contact if you need details on waitlist behavior beyond these confirmed links.

Work with Seasons

Copy an existing Season

Copying a Season lets you reuse all of the Sessions (Products), forms, and payment plans from one Season in another, which is useful when you run the same structure each year.

Open the Copy Season modal

  • Go to the Seasons area in the admin.
  • Find the Season you want to copy.
  • Open that Season's row menu and select Copy Season to open the copy modal.

Review the copy note

The Copy Season modal includes an alert describing what the copy does. The text from the template is:

Note: This feature will create a copy of all sessions/products, forms, and payment plans from the selected season to a new season. This operation may take a few moments to complete. Please do not close this window until the process is finished.

The exact label used for sessions/products is configurable under Admin → Site Settings → Basic.

Fill in copy fields

The Copy Season modal includes:

body
Copy From Seasonstring
Required

Read-only label showing the name of the Season you are copying from, displayed as Copy From Season with the selected Season name.

body
New Season Namestring
Required

The name for the new Season that will receive the copied Sessions/Products, forms, and payment plans. For example, Summer 2026.

body
New Season End Datedate
Required

The end date for the new Season. Set this to the date the copied Season should run through.

body
Increase Form and Payment Plan dates by one yearboolean

Checkbox that is checked by default. Leave it checked to shift the copied forms' and payment plans' dates forward by one year, which is what you usually want when reusing last year's setup for a new Season. Uncheck it to copy those dates unchanged.

Start the copy

  • Click Save to start copying the Season.
  • Leave the window open until the process finishes, as the note indicates.
  • Click Cancel if you decide not to copy.

When the copy completes, the new Season appears in your Seasons list with copied Sessions/Products, forms, and payment plans that you can then adjust.

Work with Sessions (Products)

Sessions are created and managed within a Season. The admin UI uses your configured labels (for example, "Session" or "Program") based on Admin → Site Settings → Basic, but the behavior described here is the same regardless of the label text.

Create a new Session/Product

Use the New Session/Product modal to define a session that families can register for.

Open the new session modal

  • Navigate to the Products/Sessions list within the Season.
  • Click the button that opens the New Session/Product modal (the exact label varies based on Admin → Site Settings → Basic).

Fill required naming and pricing fields

The create modal uses the following fields, based on the new-product.html template. Some labels may vary depending on how you configure your terminology under Admin → Site Settings → Basic.

body
Session/Product Namestring
Required

Labeled as the name field for the Session/Product (often marked with an asterisk). Tooltip: This will appear as the name in CampiumDB. Use this for internal/admin reporting and CampiumDB.

body
Public Namestring

Labeled Public Name:. Tooltip: This will appear as the name on the parent site as well as on any invoices. Use this when you want a different display name for families.

body
Descriptionstring

Text area with placeholder Enter description here (e.g., June 16 - 20). This description appears on the parent site to help families understand the session details.

body
Pricenumber
Required

Labeled Price: * with placeholder e.g. 100.50. Enter the full price for the Session/Product.

body
Min. Depositnumber
Required

Labeled Min. Deposit: *. Tooltip: Fixed amount like $100. Enter the minimum amount a family must pay at registration if deposit-based payment plans apply.

Set capacity and purchase rules

Control how many registrations you accept and whether a child can register multiple times.

body
Capacityinteger

Labeled Capacity: with tooltip Set to zero or leave blank for unlimited. Use a positive integer to cap registrations, or 0/blank to allow unlimited registrations at the session level.

body
Allow Discounts To Be Applied?boolean

Yes/No field labeled Allow Discounts To Be Applied?. Choose Yes to allow discount rules to impact this Session/Product; choose No to prevent discounts from applying.

body
Can this be purchased twice for the same child?boolean

Yes/No field labeled Can this be purchased twice for the same child? with default No. Set to Yes if a child may register for this session more than once (for example, multiple weeks).

Configure schedule and stats fields

These fields set the Session's schedule and internal statistics without changing how the Session/Product appears on the parent site, unless otherwise noted.

body
Staffarray

Multi-select field labeled Staff. Use this to associate one or more staff members with the Session/Product.

body
Days of Weekarray

Multi-select dropdown labeled Days of Week. It appears only after you enable the Schedule dates below. Use it to pick which days of the week this Session runs.

body
Number of Weeks Used for admin stats onlyinteger

Labeled Number of Weeks Used for admin stats only. Tooltip explains it is used for multi-week sessions. Enter how many weeks this session spans for internal reporting.

body
Start Datedate

Labeled Start Date under the Schedule heading. Set the day this Session begins. Enabling the schedule dates reveals the Days of Week dropdown above.

body
End Datedate

Labeled End Date under the Schedule heading. Use it with the start date to define the Session's date range.

body
Hide From Attendanceboolean

Checkbox labeled Hide From Attendance. Check this when you do not want this Session/Product to appear in attendance screens.

body
Non-revenue sessionboolean

Checkbox labeled Non-revenue session, shown under Start Date next to Hide From Attendance. Check this when you want the Session/Product excluded from Net Revenue calculations in the Revenue Summary report while leaving pricing and charges unchanged.

body
Expiration Datedate

Labeled Expiration Date Can't be purchased after this date. This date controls the last day families can purchase/register for the Session/Product.

Marking a Session/Product as Non-revenue session does not change what families are charged. It only affects how qualifying registration lines are presented in the Revenue Summary report.

Save the new Session/Product

  • Review all fields for accuracy.
  • Click Save to create the Session/Product.
  • Click Cancel to close without saving.

After saving, the new Session/Product appears in the list for that Season, and registration and reporting links will be available according to your configuration.

Copy an existing Session/Product

Copying a Session/Product lets you reuse most settings from an existing session while changing the name or Season.

Open the copy session modal

  • In the Sessions/Products list, locate the item you want to copy.
  • Use the copy action to open the copy modal (often labeled Copy or similar).

Enter copy details

The copy modal includes:

body
New Session/Product Namestring
Required

Labeled as the new name for the copied Session/Product. Enter the new name for the copied Session/Product. The exact label can vary based on Admin → Site Settings → Basic.

body
Seasonstring
Required

Dropdown labeled Season. Choose which Season should contain the copied Session/Product.

Create the copy

  • Click Copy to create the new Session/Product with the provided name in the selected Season.
  • Click Close to exit without copying.

The new Session/Product will then appear in the chosen Season's Sessions/Products list.

Cancellation fees

Cancellation fees let you create a dedicated fee session inside a Season and reuse it whenever you need to charge the same cancellation amount. You manage them from the Cancellation Fees panel on a Season's Products/Sessions page: enter a Name, Amount, and Description, then select Save Cancellation Fee to add the fee. To change an existing fee, select Edit on its row, update the fields, and select Save Cancellation Fee again — or Cancel Edit to leave without saving.

Cancellation fees are not applied automatically when a registration is cancelled. Creating a fee here only makes it available to reuse — to actually charge it, open the family's profile and add the fee from the Sales tab.

For the full walkthrough — creating, editing, deleting, naming conventions, and troubleshooting — see the Cancellation Fees guide.

Manage Subproducts/options

Subproducts/options let you offer one Session in different ways — by grade, age band, time slot, or another profile answer — each with its own price, deposit, capacity, wait list, and status. Add one with the New Subproduct button, and adjust the Price, Min. Dep., and Capacity columns inline directly in the options list, or open the edit modal for name, description, staff, and status changes.

Each option's Status uses Open and Closed: leave it Open to accept registrations, or set it to Closed to place new users on the wait list instead.

For the full walkthrough of setting up and using subproducts, see the Subproducts guide.

View registrations and waitlists

Use the links in the Sessions/Products list and the Subproducts/options list to open detailed reports for registrations and waitlists.

Session-level registrations and waitlist

From the main Sessions/Products list:

  • Registered link:

    • Opens a report showing users registered for that Session/Product.
  • Wait Listed link:

    • Uses a waitlist report URL generated from your configuration.

    • Opens the waitlist report associated with that Session/Product.

The exact content, filters, and URL of these reports depend on your Campium configuration. The patterns shown here confirm where to click from the Sessions/Products list; the Wait Listed link path can vary.

Subproduct/option registrations and waitlist

From the Subproducts/options list (product-options.html):

  • Wait column:

    • Each option row links to the waitlist report for these users.

    • Opens the waitlist list for that Session/Product.

  • # Reg. column:

    • Each option row links to an enrollment report for these users.

    • Opens a registration report for that specific Subproduct/option under the Session/Product.

These links let you quickly jump from configuring options to monitoring who is registered or waiting at both the Session and Subproduct levels.

Season management overview

Admins can create and manage Seasons from the Seasons area, including adding new Seasons for upcoming registration periods and updating older ones after they end.

  • Create a new Season using the Add New Season action in the Seasons area, then enter the Season name and any related settings your setup requires.

  • Set a Season to Inactive after it has passed so it no longer functions as a current registration period.

  • Use the profile-data snapshot option when needed to save profile information as it existed when you saved the Season. This process runs in the background and can later support historical filtering in customer reports.

Change a Season from Active to Inactive only after that Season has passed. Setting a Season to Inactive can also set users to Inactive unless they are part of another Active Season.

Summary

  • Seasons group Sessions/Products, forms, and payment plans and can be copied with the Copy Season modal.

  • Sessions/Products are created and copied using modals that define names, prices, deposits, capacities, and schedule fields.

  • Subproducts/options extend Sessions with variants, managed through the options list and edit modal with inline editing for price, deposit, and capacity.

  • Registrations and waitlists are accessed through consistent report links from both the Sessions/Products list and the Subproducts/options list.