A capacitor plugin for managing calendar events on iOS and Android, with reminders support on iOS.
npm install @ebarooni/capacitor-calendar

A capacitor plugin for managing calendar events on iOS and Android, with reminders support on iOS.
- Installation
- Demo
- Setup
- Documentation
- Changelog
- API
- Contributing
- License
``bash`
npm install @ebarooni/capacitor-calendar
npx cap sync
| iOS 26 | Android 16 |
| :-----------------------------: | :---------------------------------: |
|  |  |
This plugin requires additional platform-specific configuration. Follow the official guides:
- iOS: Migrating to the Latest Calendar Access Levels
- Android: Calendar Provider User Permissions
For comprehensive usage examples, detailed explanations, and API references, check out:
- Online documentation
- Type definitions & examples
See CHANGELOG.md for the latest updates and release history.
> [!NOTE]
> Version 7.1.0 introduces breaking changes.
* checkPermission(...)
* checkAllPermissions()
* requestPermission(...)
* requestAllPermissions()
* requestWriteOnlyCalendarAccess()
* requestReadOnlyCalendarAccess()
* requestFullCalendarAccess()
* requestFullRemindersAccess()
* createEventWithPrompt(...)
* modifyEventWithPrompt(...)
* createEvent(...)
* modifyEvent(...)
* deleteEventsById(...)
* deleteEvent(...)
* deleteEventWithPrompt(...)
* listEventsInRange(...)
* commit()
* selectCalendarsWithPrompt(...)
* fetchAllCalendarSources()
* listCalendars()
* getDefaultCalendar()
* openCalendar(...)
* createCalendar(...)
* deleteCalendar(...)
* modifyCalendar(...)
* fetchAllRemindersSources()
* openReminders()
* getDefaultRemindersList()
* getRemindersLists()
* createReminder(...)
* deleteRemindersById(...)
* deleteReminder(...)
* modifyReminder(...)
* getReminderById(...)
* getRemindersFromLists(...)
* deleteReminderWithPrompt(...)
* Interfaces
* Type Aliases
* Enums
`typescript`
checkPermission(options: { scope: CalendarPermissionScope; }) => Promise<{ result: PermissionState; }>
Retrieves the current permission state for a given scope.
| Param | Type |
| ------------- | --------------------------------------------------------------------------------------- |
| options | { scope: CalendarPermissionScope; } |
Returns: Promise<{ result: PermissionState; }>
Since: 0.1.0
Platform: Android, iOS
--------------------
`typescript`
checkAllPermissions() => Promise<{ result: CheckAllPermissionsResult; }>
Retrieves the current state of all permissions.
Returns: Promise<{ result: CheckAllPermissionsResult; }>
Since: 0.1.0
Platform: Android, iOS
--------------------
`typescript`
requestPermission(options: { scope: CalendarPermissionScope; }) => Promise<{ result: PermissionState; }>
Requests permission for a given scope.
| Param | Type |
| ------------- | --------------------------------------------------------------------------------------- |
| options | { scope: CalendarPermissionScope; } |
Returns: Promise<{ result: PermissionState; }>
Since: 0.1.0
Platform: Android, iOS
--------------------
`typescript`
requestAllPermissions() => Promise<{ result: RequestAllPermissionsResult; }>
Requests permission for all calendar and reminder permissions.
Returns: Promise<{ result: CheckAllPermissionsResult; }>
Since: 0.1.0
Platform: Android, iOS
--------------------
`typescript`
requestWriteOnlyCalendarAccess() => Promise<{ result: PermissionState; }>
Requests write access to the calendar.
Returns: Promise<{ result: PermissionState; }>
Since: 5.4.0
Platform: Android, iOS
--------------------
`typescript`
requestReadOnlyCalendarAccess() => Promise<{ result: PermissionState; }>
Requests read access to the calendar.
Returns: Promise<{ result: PermissionState; }>
Since: 5.4.0
Platform: Android
--------------------
`typescript`
requestFullCalendarAccess() => Promise<{ result: PermissionState; }>
Requests read and write access to the calendar.
Returns: Promise<{ result: PermissionState; }>
Since: 5.4.0
Platform: Android, iOS
--------------------
`typescript`
requestFullRemindersAccess() => Promise<{ result: PermissionState; }>
Requests read and write access to the reminders.
Returns: Promise<{ result: PermissionState; }>
Since: 5.4.0
Platform: iOS
--------------------
`typescript`
createEventWithPrompt(options?: CreateEventWithPromptOptions | undefined) => Promise<{ id: string | null; }>
Opens the system calendar interface to create a new event.
On Android always returns null.
Fetch the events to find the ID of the newly created event.
| Param | Type |
| ------------- | ------------------------------------------------------------------------------------- |
| options | CreateEventWithPromptOptions |
Returns: Promise<{ id: string | null; }>
Since: 0.1.0
Platform: Android, iOS
--------------------
`typescript`
modifyEventWithPrompt(options: ModifyEventWithPromptOptions) => Promise<{ result: EventEditAction | null; }>
Opens a system calendar interface to modify an event.
On Android always returns null.
| Param | Type |
| ------------- | ------------------------------------------------------------------------------------- |
| options | ModifyEventWithPromptOptions |
Returns: Promise<{ result: EventEditAction | null; }>
Since: 6.6.0
Platform: Android, iOS
--------------------
`typescript`
createEvent(options: CreateEventOptions) => Promise<{ id: string; }>
Creates an event in the calendar.
| Param | Type |
| ------------- | ----------------------------------------------------------------- |
| options | CreateEventOptions |
Returns: Promise<{ id: string; }>
Since: 0.4.0
Platform: iOS, Android
--------------------
`typescript`
modifyEvent(options: ModifyEventOptions) => Promise
Modifies an event.
| Param | Type |
| ------------- | ----------------------------------------------------------------- |
| options | ModifyEventOptions |
Since: 6.6.0
Platform: Android, iOS
--------------------
`typescript`
deleteEventsById(options: DeleteEventsByIdOptions) => Promise<{ result: DeleteEventsByIdResult; }>
Deletes multiple events.
| Param | Type |
| ------------- | --------------------------------------------------------------------------- |
| options | DeleteEventsByIdOptions |
Returns: Promise<{ result: DeleteEventsByIdResult; }>
Since: 0.11.0
Platform: Android, iOS
--------------------
`typescript`
deleteEvent(options: DeleteEventOptions) => Promise
Deletes an event.
| Param | Type |
| ------------- | ----------------------------------------------------------------- |
| options | DeleteEventOptions |
Since: 7.1.0
Platform: Android, iOS
--------------------
`typescript`
deleteEventWithPrompt(options: DeleteEventWithPromptOptions) => Promise<{ deleted: boolean; }>
Opens a dialog to delete an event.
| Param | Type |
| ------------- | ------------------------------------------------------------------------------------- |
| options | DeleteEventWithPromptOptions |
Returns: Promise<{ deleted: boolean; }>
Since: 7.1.0
Platform: Android, iOS
--------------------
`typescript`
listEventsInRange(options: ListEventsInRangeOptions) => Promise<{ result: CalendarEvent[]; }>
Retrieves the events within a date range.
| Param | Type |
| ------------- | ----------------------------------------------------------------------------- |
| options | ListEventsInRangeOptions |
Returns: Promise<{ result: CalendarEvent[]; }>
Since: 0.10.0
Platform: Android, iOS
--------------------
`typescript`
commit() => Promise
Save the changes to the calendar.
Since: 7.1.0
Platform: iOS
--------------------
`typescript`
selectCalendarsWithPrompt(options?: SelectCalendarsWithPromptOptions | undefined) => Promise<{ result: Calendar[]; }>
Opens a system interface to choose one or multiple calendars.
| Param | Type |
| ------------- | --------------------------------------------------------------------------------------------- |
| options | SelectCalendarsWithPromptOptions |
Returns: Promise<{ result: Calendar[]; }>
Since: 0.2.0
Platform: iOS
--------------------
`typescript`
fetchAllCalendarSources() => Promise<{ result: CalendarSource[]; }>
Retrieves a list of calendar sources.
Returns: Promise<{ result: CalendarSource[]; }>
Since: 6.6.0
Platform: iOS
--------------------
`typescript`
listCalendars() => Promise<{ result: Calendar[]; }>
Retrieves a list of all available calendars.
Returns: Promise<{ result: Calendar[]; }>
Since: 7.1.0
Platform: Android, iOS
--------------------
`typescript`
getDefaultCalendar() => Promise<{ result: Calendar | null; }>
Retrieves the default calendar.
Returns: Promise<{ result: Calendar | null; }>
Since: 0.3.0
Platform: Android, iOS
--------------------
`typescript`
openCalendar(options?: OpenCalendarOptions | undefined) => Promise
Opens the calendar app.
| Param | Type |
| ------------- | ------------------------------------------------------------------- |
| options | OpenCalendarOptions |
Since: 7.1.0
Platform: Android, iOS
--------------------
`typescript`
createCalendar(options: CreateCalendarOptions) => Promise<{ id: string; }>
Creates a calendar.
| Param | Type |
| ------------- | ----------------------------------------------------------------------- |
| options | CreateCalendarOptions |
Returns: Promise<{ id: string; }>
Since: 5.2.0
Platform: Android, iOS
--------------------
`typescript`
deleteCalendar(options: DeleteCalendarOptions) => Promise
Deletes a calendar by id.
| Param | Type |
| ------------- | ----------------------------------------------------------------------- |
| options | DeleteCalendarOptions |
Since: 5.2.0
Platform: Android, iOS
--------------------
`typescript`
modifyCalendar(options: ModifyCalendarOptions) => Promise
Modifies a calendar with options.
| Param | Type |
| ------------- | ----------------------------------------------------------------------- |
| options | ModifyCalendarOptions |
Since: 7.2.0
Platform: Android, iOS
--------------------
`typescript`
fetchAllRemindersSources() => Promise<{ result: CalendarSource[]; }>
Retrieves a list of calendar sources.
Returns: Promise<{ result: CalendarSource[]; }>
Since: 6.6.0
Platform: iOS
--------------------
`typescript`
openReminders() => Promise
Opens the reminders app.
Since: 7.1.0
Platform: iOS
--------------------
`typescript`
getDefaultRemindersList() => Promise<{ result: RemindersList | null; }>
Retrieves the default reminders list.
Returns: Promise<{ result: Calendar | null; }>
Since: 7.1.0
Platform: iOS
--------------------
`typescript`
getRemindersLists() => Promise<{ result: RemindersList[]; }>
Retrieves all available reminders lists.
Returns: Promise<{ result: Calendar[]; }>
Since: 7.1.0
Platform: iOS
--------------------
`typescript`
createReminder(options: CreateReminderOptions) => Promise<{ id: string; }>
Creates a reminder.
| Param | Type |
| ------------- | ----------------------------------------------------------------------- |
| options | CreateReminderOptions |
Returns: Promise<{ id: string; }>
Since: 0.5.0
Platform: iOS
--------------------
`typescript`
deleteRemindersById(options: DeleteRemindersByIdOptions) => Promise<{ result: DeleteRemindersByIdResult; }>
Deletes multiple reminders.
| Param | Type |
| ------------- | --------------------------------------------------------------------------------- |
| options | DeleteRemindersByIdOptions |
Returns: Promise<{ result: DeleteRemindersByIdResult; }>
Since: 5.3.0
Platform: iOS
--------------------
`typescript`
deleteReminder(options: DeleteReminderOptions) => Promise
Deletes a reminder.
| Param | Type |
| ------------- | ----------------------------------------------------------------------- |
| options | DeleteReminderOptions |
Since: 7.1.0
Platform: iOS
--------------------
`typescript`
modifyReminder(options: ModifyReminderOptions) => Promise
Modifies a reminder.
| Param | Type |
| ------------- | ----------------------------------------------------------------------- |
| options | ModifyReminderOptions |
Since: 6.7.0
Platform: iOS
--------------------
`typescript`
getReminderById(options: GetReminderByIdOptions) => Promise<{ result: Reminder | null; }>
Retrieve a reminder by ID.
| Param | Type |
| ------------- | ------------------------------------------------------------------------- |
| options | GetReminderByIdOptions |
Returns: Promise<{ result: Reminder | null; }>
Since: 7.1.0
Platform: iOS
--------------------
`typescript`
getRemindersFromLists(options: GetRemindersFromListsOptions) => Promise<{ result: Reminder[]; }>
Retrieves reminders from multiple lists.
| Param | Type |
| ------------- | ------------------------------------------------------------------------------------- |
| options | GetRemindersFromListsOptions |
Returns: Promise<{ result: Reminder[]; }>
Since: 5.3.0
Platform: iOS
--------------------
`typescript`
deleteReminderWithPrompt(options: DeleteReminderWithPromptOptions) => Promise<{ deleted: boolean; }>
Opens a dialog to delete a reminder.
| Param | Type |
| ------------- | ------------------------------------------------------------------------------------------- |
| options | DeleteReminderWithPromptOptions |
Returns: Promise<{ deleted: boolean; }>
Since: 7.2.0
Platform: iOS
--------------------
#### CreateEventWithPromptOptions
| Prop | Type | Description | Since | Platform |
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----- | ------------ |
| alerts | number[] | Alert times in minutes relative to the event start. Use negative numbers for reminders before the start, and positive numbers for reminders after the start. On iOS only 2 alerts are supported. | 7.1.0 | iOS |
| availability | EventAvailability | | 7.1.0 | Android, iOS |
| calendarId | string | | 0.1.0 | iOS |
| description | string | | 7.1.0 | Android, iOS |
| endDate | number | | 0.1.0 | Android, iOS |
| invitees | string[] | An array of emails to invite. | 7.1.0 | Android |
| isAllDay | boolean | | 0.1.0 | Android, iOS |
| location | string | | 0.1.0 | Android, iOS |
| recurrence | EventRecurrenceRule | Rules for creating a recurring event. | 7.3.0 | Android, iOS |
| startDate | number | | 0.1.0 | Android, iOS |
| title | string | | 0.1.0 | Android, iOS |
| url | string | | 0.1.0 | iOS |
#### EventRecurrenceRule
| Prop | Type | Description | Default | Since | Platform |
| -------------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ----- | ------------ |
| byMonth | number[] | Limits a yearly recurrence to specific months of the year. The values should be between 1 and 12. | | 7.1.0 | Android, iOS |
| byMonthDay | number[] | Limits a monthly recurrence to specific days of the month. The values should be between 1 and 31. | | 7.1.0 | Android, iOS |
| byWeekDay | number[] | Limits a weekly recurrence to specific weekdays. The values should be between 1 and 7. 1 means Monday and 7 means Sunday. | | 7.3.0 | Android, iOS |
| count | number | The total number of occurrences. If set, the recurrence ends after this many occurrences. If count is provided, end is ignored. | | 7.3.0 | Android, iOS |daysOfTheYear
| | endnumber[] | Limits a yearly recurrence to specific days of the year (1 to 366). | | 7.3.0 | iOS |
| | frequencynumber | End date of the recurrence series as a Unix timestamp in milliseconds. | | 7.1.0 | Android, iOS |
| | intervalRecurrenceFrequency | How often the event repeats. | | 7.3.0 | Android, iOS |
| | frequencynumber | The interval between recurrences. Use in combination with . For example, a weekly event with an interval of 2, results in the event occurring every 2 weeks. | weeksOfTheYear1 | 7.3.0 | Android, iOS |
| | number[] | Limits a yearly recurrence to specific ISO week numbers (1 to 53). | | 7.3.0 | iOS |
#### ModifyEventWithPromptOptions
| Prop | Type | Description | Since | Platform |
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----- | ------------ |
| alerts | number[] | Alert times in minutes relative to the event start. Use negative numbers for reminders before the start, and positive numbers for reminders after the start. On iOS only 2 alerts are supported. | 7.1.0 | iOS |
| availability | EventAvailability | | 7.1.0 | Android, iOS |
| calendarId | string | | 0.1.0 | iOS |
| description | string | | 7.1.0 | Android, iOS |
| endDate | number | | 0.1.0 | Android, iOS |
| invitees | string[] | An array of emails to invite. | 7.1.0 | Android |
| isAllDay | boolean | | 0.1.0 | Android, iOS |
| location | string | | 0.1.0 | Android, iOS |
| recurrence | EventRecurrenceRule | Rules for creating a recurring event. | 7.3.0 | Android, iOS |
| startDate | number | | 0.1.0 | Android, iOS |
| title | string | | 0.1.0 | Android, iOS |
| url | string | | 0.1.0 | iOS |
| id | string | The ID of the event to be modified. | 7.1.0 | Android, iOS |
#### CreateEventOptions
| Prop | Type | Description | Default | Since | Platform |
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------- | ----- | ------------ |
| alerts | number[] | Alert times in minutes relative to the event start. Use negative numbers for alerts before the start, and positive numbers for alerts after the start. | | 7.1.0 | Android, iOS |
| attendees | EventGuest[] | The event guests. | | 7.1.0 | Android |
| availability | EventAvailability | | | 7.1.0 | Android, iOS |
| calendarId | string | | | 0.1.0 | Android, iOS |
| color | string | | | 7.1.0 | Android |
| commit | boolean | Whether to save immediately (true) or batch changes for later (false). | descriptiontrue | 7.1.0 | iOS |
| | durationstring | | | 7.1.0 | Android, iOS |
| | endDatestring | Duration of the event in RFC2445 format. | | 7.1.0 | Android |
| | isAllDaynumber | | | 0.1.0 | Android, iOS |
| | locationboolean | | | 0.1.0 | Android, iOS |
| | organizerstring | | | 0.1.0 | Android, iOS |
| | recurrencestring | Email of the event organizer. | | 7.1.0 | Android |
| | startDateEventRecurrenceRule | Rules for creating a recurring event. | | 7.3.0 | Android, iOS |
| | titlenumber | | | 0.1.0 | Android, iOS |
| | urlstring | | | 0.4.0 | Android, iOS |
| | string | | | 0.1.0 | iOS |
#### EventGuest
| Prop | Type | Since |
| ----------- | ------------------- | ----- |
| name | string | 7.1.0 |
| email | string | 7.1.0 |
#### ModifyEventOptions
| Prop | Type | Description | Default | Since | Platform |
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------- | ----- | ------------ |
| alerts | number[] | Alert times in minutes relative to the event start. Use negative numbers for alerts before the start, and positive numbers for alerts after the start. | | 7.1.0 | Android, iOS |
| attendees | EventGuest[] | The event guests. | | 7.1.0 | Android |
| availability | EventAvailability | | | 7.1.0 | Android, iOS |
| calendarId | string | | | 0.1.0 | Android, iOS |
| color | string | | | 7.1.0 | Android |
| description | string | | | 7.1.0 | Android, iOS |
| duration | string | Duration of the event in RFC2445 format. | | 7.1.0 | Android |
| endDate | number | | | 0.1.0 | Android, iOS |
| id | string | The ID of the event to be modified. | | 7.1.0 | Android, iOS |
| isAllDay | boolean | | | 0.1.0 | Android, iOS |
| location | string | | | 0.1.0 | Android, iOS |
| recurrence | EventRecurrenceRule | Rules for creating a recurring event. | | 7.3.0 | Android, iOS |
| organizer | string | Email of the event organizer. | | 7.1.0 | Android |
| span | EventSpan | The span of modifications. | EventSpan.THIS_EVENT | | iOS |
| startDate | number | | | 0.1.0 | Android, iOS |
| title | string | | | 0.4.0 | Android, iOS |
| url | string | | | 0.1.0 | iOS |
#### DeleteEventsByIdResult
| Prop | Type | Since |
| ------------- | --------------------- | ----- |
| deleted | string[] | 7.1.0 |
| failed | string[] | 7.1.0 |
#### DeleteEventsByIdOptions
| Prop | Type | Description | Default | Since | Platform |
| ---------- | ----------------------------------------------- | --------------------- | --------------------------------- | ----- | -------- |
| ids | string[] | | | 7.1.0 | |
| span | EventSpan | The span of deletion. | EventSpan.THIS_EVENT | | iOS |
#### DeleteEventOptions
| Prop | Type | Description | Default | Since | Platform |
| ---------- | ----------------------------------------------- | --------------------- | --------------------------------- | ----- | -------- |
| id | string | | | 7.1.0 | |
| span | EventSpan | The span of deletion. | EventSpan.THIS_EVENT | | iOS |
#### DeleteEventWithPromptOptions
| Prop | Type | Description | Default | Since | Platform |
| ----------------------- | ----------------------------------------------- | ----------------------------------- | --------------------------------- | ----- | ------------ |
| id | string | | | 7.1.0 | |
| span | EventSpan | The span of deletion. | EventSpan.THIS_EVENT | | iOS |
| title | string | Title of the dialog. | | 7.1.0 | Android, iOS |
| message | string | Message of the dialog. | | 7.1.0 | Android, iOS |
| confirmButtonText | string | Text to show on the confirm button. | 'Delete' | 7.1.0 | Android, iOS |
| cancelButtonText | string | Text to show on the cancel button. | 'Cancel' | 7.1.0 | Android, iOS |
#### CalendarEvent
| Prop | Type | Description | Since | Platform |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | ----- | ------------ |
| id | string | | 7.1.0 | Android, iOS |
| title | string | | 7.1.0 | Android, iOS |
| calendarId | string \| null | | 7.1.0 | Android, iOS |
| location | string \| null | | 7.1.0 | Android, iOS |
| startDate | number | | 7.1.0 | Android, iOS |
| endDate | number | | 7.1.0 | Android, iOS |
| isAllDay | boolean | | 7.1.0 | Android, iOS |
| alerts | number[] | Alert times in minutes relative to the event start. | 7.1.0 | Android, iOS |
| url | string \| null | | 7.1.0 | iOS |
| description | string \| null | | 7.1.0 | Android, iOS |
| availability | EventAvailability \| null | | 7.1.0 | Android, iOS |
| organizer | string \| null | | 7.1.0 | Android, iOS |
| color | string \| null | | 7.1.0 | Android, iOS |
| duration | string \| null | | 7.1.0 | Android |
| isDetached | boolean \| null | | 7.1.0 | iOS |
| birthdayContactIdentifier | string \| null | | 7.1.0 | iOS |
| status | EventStatus \| null | | 7.1.0 | Android, iOS |
| creationDate | number \| null | | 7.1.0 | iOS |
| lastModifiedDate | number \| null | | 7.1.0 | iOS |
| attendees | { email: string \| null; name: string \| null; role: AttendeeRole \| null; status: AttendeeStatus \| null; type: AttendeeType \| null; }[] | | 7.1.0 | Android, iOS |
| timezone | string \| null | | 7.1.0 | Android, iOS |
#### ListEventsInRangeOptions
| Prop | Type | Description | Since |
| ---------- | ------------------- | ------------------------------ | ----- |
| from | number | The timestamp in milliseconds. | 7.1.0 |
| to | number | The timestamp in milliseconds. | 7.1.0 |
#### Calendar
| Prop | Type | Description | Since | Platform |
| -------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------ | ----- | ------------ |
| id | string | | 7.1.0 | Android, iOS |
| title | string | | 7.1.0 | Android, iOS |
| internalTitle | string \| null | Internal name of the calendar (CalendarContract.Calendars.NAME). | 7.1.0 | Android |color
| | isImmutablestring | | 7.1.0 | Android, iOS |
| | allowsContentModificationsboolean \| null | | 7.1.0 | iOS |
| | typeboolean \| null | | 7.1.0 | iOS |
| | isSubscribedCalendarType \| null | | 7.1.0 | iOS |
| | sourceboolean \| null | | 7.1.0 | iOS |
| | visibleCalendarSource \| null | | 7.1.0 | iOS |
| | accountNameboolean \| null | Indicates if the events from this calendar should be shown. | 7.1.0 | Android |
| | ownerAccountstring \| null | The account under which the calendar is registered. | 7.1.0 | Android |
| | maxRemindersstring \| null | The owner of the calendar. | 7.1.0 | Android |
| | locationnumber \| null | Maximum number of reminders allowed per event. | 7.1.0 | Android |
| | string \| null | | 7.1.0 | Android |
#### CalendarSource
| Prop | Type | Since |
| ----------- | ----------------------------------------------------------------- | ----- |
| type | CalendarSourceType | 7.1.0 |
| id | string | 7.1.0 |
| title | string | 7.1.0 |
#### SelectCalendarsWithPromptOptions
| Prop | Type | Description | Default | Since |
| ------------------ | ----------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------------------ | ----- |
| displayStyle | CalendarChooserDisplayStyle | | CalendarChooserDisplayStyle.ALL_CALENDARS | 7.1.0 |
| multiple | boolean | Allow multiple selections. | false | 7.1.0 |
#### OpenCalendarOptions
| Prop | Type | Default | Since |
| ---------- | ------------------- | ----------------------- | ----- |
| date | number | Date.now() | 7.1.0 |
#### CreateCalendarOptions
| Prop | Type | Description | Since | Platform |
| ------------------ | ------------------- | ---------------------------------------------------------- | ----- | ------------ |
| title | string | | 5.2.0 | Android, iOS |
| color | string | The color of the calendar. Should be provided on Android. | 5.2.0 | Android, iOS |
| sourceId | string | | 5.2.0 | iOS |
| accountName | string | Only needed on Android. Typically set to an email address. | 7.1.0 | Android |
| ownerAccount | string | Only needed on Android. Typically set to an email address. | 7.1.0 | Android |
#### DeleteCalendarOptions
| Prop | Type | Since |
| -------- | ------------------- | ----- |
| id | string | 7.1.0 |
#### ModifyCalendarOptions
| Prop | Type | Since | Platform |
| ----------- | ------------------- | ----- | ------------ |
| id | string | 7.2.0 | Android, iOS |
| title | string | 7.2.0 | Android, iOS |
| color | string | 7.2.0 | Android, iOS |
#### CreateReminderOptions
| Prop | Type | Description | Since |
| -------------------- | --------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| title | string | | 7.1.0 |
| listId | string | | 7.1.0 |
| priority | number | | 7.1.0 |
| isCompleted | boolean | | 7.1.0 |
| startDate | number | | 7.1.0 |
| dueDate | number | | 7.1.0 |
| completionDate | number | | 7.1.0 |
| notes | string | | 7.1.0 |
| url | string | | 7.1.0 |
| location` | string |