Events
The Events feature in social.plus SDK enables users to create, manage, and participate in scheduled events with comprehensive RSVP functionality. Events can be created for communities or user timelines, supporting both virtual and in-person gatherings with livestream integration.Overview
Events in social.plus are time-based social activities that allow users to:- Schedule virtual or in-person events
- Manage event details including location and timezone
- Track attendees through RSVP responses
- Create discussion spaces for event participants
- Integrate livestreaming for virtual events
- Discover upcoming and past events
Key Features
Event Creation
Schedule and organize events
- Virtual and in-person event types
- Timezone-aware scheduling
- Cover images and descriptions
- Location and external URL support
RSVP Management
Track event attendance
- Going, Interested, Not Going responses
- Attendee lists and counts
- User RSVP history
- Response notifications
Event Discovery
Find relevant events
- Query by community or user
- Filter by status and type
- Sort by start time or creation date
- Upcoming and past event views
Livestream Integration
Virtual event broadcasting
- Schedule events with livestream
- Automatic discussion community
- Live chat during broadcasts
- Event-specific permissions
Event Types
Events support two distinct types to accommodate different gathering formats:| Type | Description | Use Cases |
|---|---|---|
| Virtual | Online events accessible remotely | Webinars, online workshops, livestreams, virtual meetups |
| In-Person | Physical location-based events | Conferences, local meetups, community gatherings |
Event Lifecycle
| Status | Description | Characteristics |
|---|---|---|
| Scheduled | Event is upcoming | Can be edited, RSVP open, notifications sent |
| Live | Event is currently happening | Livestream active (if applicable), real-time interaction |
| Ended | Event has concluded | Read-only, archived content, recorded stream available |
| Cancelled | Event was cancelled | No longer active, attendees notified |
Event Permissions
Access control for event management:| Permission | Description | Required For |
|---|---|---|
CREATE_EVENT | Create events in global feed | Creating user timeline events |
CREATE_EVENT_WITH_LIVESTREAM | Create events with livestream capability | Virtual events with broadcasting |
DELETE_EVENT | Delete any event | Removing events (moderator) |
MANAGE_COMMUNITY_EVENTS | Manage events in a community | Community event moderation |
Permission Scope: Permissions can be granted globally or per-community. Check permissions before showing creation options.
Event Origin Types
Events can be created in two contexts:| Origin | Description | Access Control |
|---|---|---|
| Community | Event belongs to a specific community | Community members can view and RSVP |
| User | Event created on user’s timeline | Follows user’s privacy settings |
Quick Start
1
Create an Event
Schedule a new event with essential details
2
RSVP to Event
Respond to an event invitation
3
Query Events
Discover upcoming events
Common Use Cases
Community Events
Create events that bring community members together:- Weekly community calls
- Monthly meetups
- Special announcements
- Collaborative workshops
Virtual Gatherings
Host online events with livestream integration:- Webinars and presentations
- Live Q&A sessions
- Virtual conferences
- Online workshops
Hybrid Events
Combine in-person and virtual attendance:- Livestream physical events
- Multi-location gatherings
- Regional meetups with online participants
Event Data Model
Key fields in theAmityEvent object:
RSVP Response Types
| Status | Description | Use Case |
|---|---|---|
| Going | User will attend | Confirmed attendance |
| Interested | User might attend | Considering attendance |
| Not Going | User won’t attend | Declined invitation |
Best Practices
Timezone Handling
Timezone Handling
Always store and transmit times in ISO 8601 format with timezone information:
- Use UTC for storage
- Include timezone in metadata
- Display times in user’s local timezone
- Account for daylight saving changes
Event Scheduling
Event Scheduling
Consider these factors when scheduling events:
- Allow sufficient lead time for promotion
- Check for conflicting events
- Consider timezone differences for virtual events
- Set appropriate end times
- Send reminder notifications
Permission Management
Permission Management
Implement proper permission checks:
Event Discovery
Event Discovery
Optimize event queries for better discovery:
- Use appropriate filters (status, type, origin)
- Sort by relevant criteria (start time, creation date)
- Implement pagination for large result sets
- Cache frequently accessed events