Skip to main content
View as Markdown

Attendance Status Lifecycle - User Profile

Attendance Status Lifecycle​

The attendanceStatus field tracks user progression through the event lifecycle. Any status can transition to any other status — there are no enforced transition restrictions.

created --> registered --> confirmed --> attended --> participated --> participatedPostEvent
| |
v v
unregistered blocked

invited --> invitedPendingRegistration --> registered --> ...
StatusDescription
createdProfile created, no registration activity yet
registeredUser has registered for the event
unregisteredUser cancelled their registration
invitedUser was invited to the event
invitedPendingRegistrationInvited but registration not yet completed
confirmedUser confirmed attendance
autoConfirmedSystem auto-confirmed the user
attendedUser attended the event
participatedUser actively participated during the event
participatedPostEventUser engaged with content after the event ended
blockedUser blocked from attending

Automatic Side Effects​

Every attendanceStatus change triggers:

  1. previousAttendanceStatus is set to the old status value
  2. statusUpdateTime is set to the current timestamp

The statuses attended, participated, and participatedPostEvent are considered "high attendance" — when a profile first transitions to any of these, firstAttendedStatusTime is automatically recorded. This timestamp is set only once and never overwritten, even if the status later changes.