How Registration Dates Affect Attendance

Created on Oct 22, 2026, Modified on Thu, Oct 22 at 1:07 PM

Overview

Setup Considerations for District

Step 1: Understand Which Meeting Dates a Student Appears On

Step 2: Registrations with Custom Time Slots

Step 3: Importing Registrations with an Enrollment Status

Step 4: Importing Past Attendance with a Registered Date

Existing Registrations

Troubleshooting

Key Takeaways


Overview

When a student registers for a session that has already started, they should only appear on the meeting dates from the day they registered onward. This document is for district admins, program coordinators and support staff who manage registrations, imports and attendance in ActivityHero.



Setup Considerations for District

Before relying on this behavior, districts should confirm:

  • Staff know that a student registered partway through a session won't appear on earlier meeting dates. This applies whether the student registered online, was added by staff, or came in through an import.

  • Staff who import registrations know that a filled-in enrollment status column is used as-is and doesn't change spot counts.

  • Staff who need to record attendance for dates before a student was entered in ActivityHero (for example, from paper sign-in sheets) know to use the registered_date column in the attendance import.



Step 1: Understand Which Meeting Dates a Student Appears On

When a registration is created, ActivityHero adds the student only to meeting dates from today onward. Meeting dates that have already passed are skipped, even if the session started earlier.

Example: A session runs from Aug 1 to Jun 30. A student is registered on Jun 3.

  • The student appears on Jun 3 and every meeting date after it.

  • The student doesn't appear on any meeting date from Aug 1 to Jun 2, whether on check-in/check-out, Digital Signatures or attendance reports.

If a waitlist invite sets a participant start date, the student is added only from the later of that start date and today.


NOTE: Changing a student's status later (for example, from Waitlisted to Enrolled) doesn't add them to meeting dates that have already passed.




Step 2: Registrations with Custom Time Slots

For sessions where students pick specific dates or time slots:

  • Time slots on dates that have already passed aren't created.

  • Editing a student's time slots only replaces today's and future slots. Past slots stay as they are, so editing a registration can't erase attendance that was already recorded.



Step 3: Importing Registrations with an Enrollment Status

When importing registrations through a CSV:

  • If the enrollment_status column is filled in, the import uses that status as given, even if the session is full. The session's available spots aren't reduced for these rows.

  • If the enrollment_status column is blank, the import works as before. If the session is full, the student is waitlisted. Otherwise they're enrolled and the available spots go down.

This prevents a student who was already enrolled in another system from being imported as "Waitlisted" just because the session looks full in ActivityHero.


NOTE: Because spots aren't reduced for rows that have an enrollment status, check the session's capacity after the import if you need spot counts to match the actual roster.





Step 4: Importing Past Attendance with a Registered Date

The attendance import has an optional column, registered_date. Use it when a student was actually registered on paper (or in another system) before they were entered in ActivityHero, and you need to record attendance for those earlier dates.

  1. Add a registered_date column to the attendance CSV.
  1. For each row, enter the date the student was really registered.
  1. Make sure each row's meeting_date is on or after its registered_date.


When registered_date is provided, the student is added to that meeting date, even if it's in the past, so the attendance can be recorded.


The import rejects a row when:

  • registered_date isn't a valid date.
  • meeting_date is before registered_date.


NOTE: The registered_date column is optional. Without it, past meeting dates the student was never added to won't show the student (see Step 1).




Existing Registrations

A cleanup removes past meeting dates that were attached to existing registrations before the registration was created. It only removes a date when all of these are true:

  • The meeting date is before the day the registration was created.
  • The student wasn't enrolled on that date.
  • The student was never checked in on that date.

Dates with recorded attendance are never removed.




Troubleshooting

Situation

Result

Student registered partway through a session

Appears only on meeting dates from the registration date onward.

Student changed from Waitlisted to Enrolled

Appears as enrolled on today's and future dates. Past dates aren't added.

Registration import with enrollment_status filled in, and the session is full

Imported with the given status. Spots aren't reduced.

Registration import with enrollment_status blank, and the session is full

Imported as Waitlisted, as before.

Attendance import row with meeting_date before registered_date

Row is rejected.

Attendance import row with an invalid registered_date

Row is rejected.

Custom time slots edited after some dates have passed

Past slots and their attendance stay. Only today's and future slots change.



Key Takeaways

  • Students only appear on meeting dates from the day they were registered onward: on check-in/check-out, Digital Signatures and attendance reports.

  • Changing a student's status later doesn't add them to past dates.

  • Registration imports with an enrollment_status use that status as given and don't reduce available spots.

  • Use the optional registered_date column in attendance imports to record paper or backfilled attendance for dates before the student was entered in ActivityHero.

  • Editing custom time slots never removes past attendance.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article