Calendar Integration Service
Component Detail
Service Layer
high complexity
mobile
2
Dependencies
4
Dependents
1
Entities
0
Integrations
Description
Core service that abstracts all calendar platform interactions behind a single Dart interface. Delegates to the iOS EventKit platform channel or the Android ContentResolver method channel, fetches upcoming events, matches them to known contacts using name/email heuristics, and optionally writes activity entries back to the device calendar. All processing is strictly on-device.
calendar-integration-service
Responsibilities
- Request and query calendar permission status via platform channels (EventKit on iOS, ContentResolver on Android)
- Fetch upcoming calendar events within a configurable look-ahead window
- Match fetched events to known contacts using name and email heuristics
- Surface matched events as CalendarEventSuggestion objects for pre-fill in the activity wizard
- Write calendar entries back to the device calendar for registered activities when write-back is enabled
Interfaces
requestCalendarPermission() → Future<PermissionState>
checkCalendarPermissionStatus() → Future<PermissionState>
fetchUpcomingEvents(lookAheadDays: int) → Future<List<RawCalendarEvent>>
matchEventsToContacts(events: List<RawCalendarEvent>, contacts: List<Contact>) → List<CalendarEventSuggestion>
writeActivityToCalendar(activity: Activity) → Future<void>
revokeCalendarAccess()
Relationships
Dependencies (2)
Components this component depends on
Dependents (4)
Components that depend on this component