Event
Represents a temporal occurrence or happening with defined time boundaries, status, location, and participants. Supports scheduling, calendar integration, and attendance tracking for any time-based activity.
Properties
| Property | Type | Mode | Description | Required |
|---|---|---|---|---|
| period | Period | stored | Temporal boundaries (start and end) defining when this event occurs. | Optional |
| title | string | stored | Title or name of the event Example: | Required |
| description | string | stored | Detailed description of the event Example: | Optional |
| status | string | stored | Current status of the event Values: Example: | Required |
| cancellationReason | string | stored | Reason why the event was cancelled (if status is cancelled) Example: | Optional |
| nonOccurrenceReason | string | stored | Reason why the event did not occur (for no-shows or other non-completion reasons) Example: | Optional |
| location | Location | stored | Reference to the Location where this event takes place (physical or virtual) | Optional |
| organizer | Person | stored | Reference to the Person organizing or responsible for this event | Optional |
| participants | EventParticipant[] | stored | List of participants with their invitation, response, and attendance status | Optional |
| isAllDay | boolean | stored | Whether this is an all-day event (ignores specific times) | Optional |
| timezone | Timezone | stored | Timezone for this event (reference to Timezone entity) | Optional |
| metadata | json | stored | Additional event-specific metadata and custom fields | Optional |
| isCancelled | boolean | calculated | Whether the event was cancelled (status is cancelled) | Optional |
| isCompleted | boolean | calculated | Whether the event was completed (status is completed) | Optional |
| participantsCount | number | calculated | Total number of participants invited to the event | Optional |
| acceptedCount | number | calculated | Number of participants who accepted the invitation | Optional |
| attendedCount | number | calculated | Number of participants who actually attended | Optional |
| attendanceRate | number | calculated | Percentage of accepted participants who actually attended (attendedCount / acceptedCount * 100) | Optional |
Examples
Example 1
{
"@type": "Event",
"title": "Q1 Planning Meeting",
"description": "Quarterly planning session for objectives and key results",
"status": "scheduled",
"period": {
"@type": "Period",
"start": "2025-01-15T14:00:00Z",
"end": "2025-01-15T16:00:00Z"
},
"organizer": {
"@type": "Person",
"givenName": "Marie",
"familyName": "Dupont"
},
"isAllDay": false
}Example 2
{
"@type": "Event",
"title": "Annual Conference",
"description": "Company-wide annual gathering",
"status": "confirmed",
"period": {
"@type": "Period",
"start": "2025-03-20T09:00:00Z",
"end": "2025-03-20T18:00:00Z"
},
"location": {
"@type": "Location",
"name": "Convention Center"
},
"isAllDay": true
}Example 3
{
"@type": "Event",
"title": "Weekly Team Sync",
"status": "completed",
"period": {
"@type": "Period",
"start": "2024-11-25T10:00:00Z",
"end": "2024-11-25T10:30:00Z"
},
"isAllDay": false
}Example 4
{
"@type": "Event",
"title": "Client Workshop",
"status": "cancelled",
"cancellationReason": "Client requested reschedule",
"period": {
"@type": "Period",
"start": "2024-12-01T09:00:00Z",
"end": "2024-12-01T12:00:00Z"
}
}