EventParticipant

Tracks a person's participation in an event including invitation delivery, RSVP response, and actual attendance. Supports role assignment, check-in/check-out times, and absence tracking.

19 properties
Schema

Properties

PropertyTypeModeDescriptionRequired
eventEvent
stored

Reference to the Event this participation relates to (can reference any entity extending Event)

Required
participantPerson
stored

Reference to the Person participating in the event

Required
invitationStatusstring
stored

Status of the invitation to this participant

Values: not-sent, sent, delivered, opened, bounced

Example: "delivered"

Required
responseStatusstring
stored

Participant's response to the invitation (RSVP status)

Values: pending, accepted, declined, tentative, no-response

Example: "accepted"

Required
respondedAtdatetime
stored

Date/time when the participant responded to the invitation

Example: "2024-11-25T10:30:00Z"

Optional
attendanceStatusstring
stored

Actual attendance status for the event

Values: expected, attended, no-show, late, left-early, excused

Example: "attended"

Required
checkedInAtdatetime
stored

Date/time when participant checked in or arrived

Example: "2024-12-01T13:55:00Z"

Optional
checkedOutAtdatetime
stored

Date/time when participant left the event

Example: "2024-12-01T15:10:00Z"

Optional
rolestring
stored

Role or function of this participant in the event

Values: organizer, presenter, speaker, moderator, attendee, observer, required, optional

Example: "attendee"

Optional
isRequiredboolean
stored

Whether this participant's attendance is required for the event to proceed

Example: true

Optional
declineReasonstring
stored

Reason provided by participant for declining the invitation

Example: "Schedule conflict with another meeting"

Optional
absenceReasonstring
stored

Reason for not attending (for no-shows or excused absences)

Example: "Unexpected illness"

Optional
notesstring
stored

Additional notes about this participant's involvement

Example: "Will join 15 minutes late due to previous commitment"

Optional
reminderSentboolean
stored

Whether a reminder was sent to this participant

Example: true

Optional
reminderSentAtdatetime
stored

Date/time when the last reminder was sent

Example: "2024-11-30T09:00:00Z"

Optional
metadatajson
stored

Additional participant-specific metadata (dietary restrictions, accessibility needs, etc.)

Example: {"dietaryRestrictions":"vegetarian","accessibilityNeeds":"wheelchair access"}

Optional
hasRespondedboolean
calculated

Whether the participant has responded to the invitation (responseStatus is not pending or no-response)

Optional
willAttendboolean
calculated

Whether the participant confirmed they will attend (responseStatus is accepted)

Optional
didAttendboolean
calculated

Whether the participant actually attended the event (attendanceStatus is attended)

Optional

Examples

Example 1

{
  "@type": "EventParticipant",
  "event": {
    "@type": "Event",
    "title": "Q1 Planning Meeting"
  },
  "participant": {
    "@type": "Person",
    "givenName": "Jane",
    "familyName": "Smith"
  },
  "invitationStatus": "delivered",
  "responseStatus": "accepted",
  "respondedAt": "2024-11-25T10:30:00Z",
  "attendanceStatus": "attended",
  "checkedInAt": "2024-12-01T13:58:00Z",
  "role": "required",
  "isRequired": true,
  "reminderSent": true,
  "reminderSentAt": "2024-11-30T09:00:00Z"
}

Example 2

{
  "@type": "EventParticipant",
  "event": {
    "@type": "Event",
    "title": "Medical Consultation"
  },
  "participant": {
    "@type": "Person",
    "givenName": "John",
    "familyName": "Doe"
  },
  "invitationStatus": "delivered",
  "responseStatus": "accepted",
  "respondedAt": "2024-11-20T14:00:00Z",
  "attendanceStatus": "attended",
  "checkedInAt": "2024-12-01T13:55:00Z",
  "checkedOutAt": "2024-12-01T14:35:00Z",
  "role": "attendee",
  "isRequired": true,
  "reminderSent": true,
  "reminderSentAt": "2024-11-30T18:00:00Z"
}

Example 3

{
  "@type": "EventParticipant",
  "event": {
    "@type": "Event",
    "title": "Team Standup"
  },
  "participant": {
    "@type": "Person",
    "givenName": "Bob",
    "familyName": "Wilson"
  },
  "invitationStatus": "delivered",
  "responseStatus": "declined",
  "respondedAt": "2024-11-28T11:00:00Z",
  "attendanceStatus": "excused",
  "role": "optional",
  "isRequired": false,
  "declineReason": "Conflict with client meeting",
  "absenceReason": "Prior commitment with external client"
}

Example 4

{
  "@type": "EventParticipant",
  "event": {
    "@type": "Event",
    "title": "Board Meeting"
  },
  "participant": {
    "@type": "Person",
    "givenName": "Alice",
    "familyName": "Brown"
  },
  "invitationStatus": "delivered",
  "responseStatus": "accepted",
  "respondedAt": "2024-11-15T09:00:00Z",
  "attendanceStatus": "no-show",
  "role": "required",
  "isRequired": true,
  "absenceReason": "Emergency - family situation",
  "reminderSent": true,
  "reminderSentAt": "2024-11-21T08:00:00Z"
}

Example 5

{
  "@type": "EventParticipant",
  "event": {
    "@type": "Event",
    "title": "Webinar: Product Launch"
  },
  "participant": {
    "@type": "Person",
    "givenName": "Charlie",
    "familyName": "Davis"
  },
  "invitationStatus": "delivered",
  "responseStatus": "tentative",
  "respondedAt": "2024-11-26T16:00:00Z",
  "attendanceStatus": "expected",
  "role": "presenter",
  "isRequired": true,
  "notes": "Preparing presentation slides, will confirm 2 days before",
  "metadata": {
    "presentationTopic": "New Feature Demo",
    "estimatedDuration": "20 minutes"
  }
}