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 --> ...
| Status | Description |
|---|---|
created | Profile created, no registration activity yet |
registered | User has registered for the event |
unregistered | User cancelled their registration |
invited | User was invited to the event |
invitedPendingRegistration | Invited but registration not yet completed |
confirmed | User confirmed attendance |
autoConfirmed | System auto-confirmed the user |
attended | User attended the event |
participated | User actively participated during the event |
participatedPostEvent | User engaged with content after the event ended |
blocked | User blocked from attending |
Automatic Side Effects
Every attendanceStatus change triggers:
previousAttendanceStatusis set to the old status valuestatusUpdateTimeis 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.