---
title: Attendance Status Lifecycle
url: https://docs.kaltura.com/docs/events-collaboration/user-profile-api/user-profile-attendance-status-lifecycle
---

## 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:
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.
