@capgo/capacitor-calendar

June 16, 2026 ยท View on GitHub

Capgo - Instant updates for Capacitor

Get Instant updates for your App with Capgo

Missing a feature? We'll build the plugin for you

npm version npm downloads license Capacitor 8

Native calendar and reminders access for Capacitor apps. Use it to request calendar permissions, create and edit events, open the system calendar UI, list calendars and events, and manage Reminders on iOS.

This package is a Capgo-maintained version of the calendar plugin originally built by Ehsan Barooni, ported to the Capgo Capacitor plugin template and Capacitor 8.

Table of Contents

Installation

You can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:

npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

Then use the following prompt:

Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-calendar` plugin in my project.

If you prefer Manual Setup, install the plugin by running the following commands and follow the platform-specific instructions below:

npm install @capgo/capacitor-calendar
npx cap sync

Demo

iOSAndroid
iOS demo of native calendar event creationAndroid demo of native calendar event creation

Setup

This plugin uses native calendar APIs, so each platform needs permission configuration before you request access at runtime.

Official platform references:

iOS

Add the usage descriptions your app needs to ios/App/App/Info.plist. iOS 17 and newer distinguish between write-only and full calendar access.

<key>NSCalendarsUsageDescription</key>
<string>This app needs calendar access.</string>
<key>NSCalendarsWriteOnlyAccessUsageDescription</key>
<string>This app needs permission to add calendar events.</string>
<key>NSCalendarsFullAccessUsageDescription</key>
<string>This app needs permission to read and manage calendar events.</string>
<key>NSRemindersUsageDescription</key>
<string>This app needs reminders access.</string>
<key>NSRemindersFullAccessUsageDescription</key>
<string>This app needs permission to read and manage reminders.</string>

Only include the keys that match the APIs your app calls. For example, an app that only creates calendar events with write-only access does not need the Reminders keys.

Android

Add the permissions your app needs to android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />

Then request the matching permission at runtime before reading or writing calendar data.

Quick Start

import { CapacitorCalendar } from '@capgo/capacitor-calendar';

const permission = await CapacitorCalendar.requestFullCalendarAccess();

if (permission.result !== 'granted') {
  throw new Error('Calendar permission was not granted');
}

const startDate = Date.now() + 60 * 60 * 1000;
const endDate = startDate + 60 * 60 * 1000;

const { id } = await CapacitorCalendar.createEvent({
  title: 'Product review',
  location: 'Capgo',
  startDate,
  endDate,
  description: 'Created with @capgo/capacitor-calendar',
});

console.log('Created event', id);

Dates are Unix timestamps in milliseconds.

Common Recipes

Open the native event editor

await CapacitorCalendar.createEventWithPrompt({
  title: 'Planning session',
  location: 'Office',
  startDate: Date.now() + 24 * 60 * 60 * 1000,
  endDate: Date.now() + 25 * 60 * 60 * 1000,
});

On Android, createEventWithPrompt and modifyEventWithPrompt always return null. List events afterward if you need to find the created event ID.

List upcoming events

const now = Date.now();
const oneWeekFromNow = now + 7 * 24 * 60 * 60 * 1000;

const { result: events } = await CapacitorCalendar.listEventsInRange({
  from: now,
  to: oneWeekFromNow,
});

Choose a calendar

const { result: calendars } = await CapacitorCalendar.listCalendars();
const { result: defaultCalendar } = await CapacitorCalendar.getDefaultCalendar();

const calendarId = defaultCalendar?.id ?? calendars[0]?.id;

selectCalendarsWithPrompt is available on iOS when you want to show the system calendar picker.

Create an iOS reminder

const permission = await CapacitorCalendar.requestFullRemindersAccess();

if (permission.result === 'granted') {
  await CapacitorCalendar.createReminder({
    title: 'Send launch notes',
    dueDate: Date.now() + 2 * 24 * 60 * 60 * 1000,
    notes: 'Created with @capgo/capacitor-calendar',
  });
}

Reminder APIs are iOS-only.

Platform Support

FeatureiOSAndroidWeb
Permission checks and requestsYesYesNo
Create, modify, delete, and list eventsYesYesNo
Native event create, edit, and delete promptsYesYesNo
Open the Calendar appYesYesNo
List calendars and get the default calendarYesYesNo
Calendar sourcesYesNoNo
System calendar pickerYesNoNo
Create, modify, and delete calendarsYesYesNo
Reminder lists and reminder CRUDYesNoNo

The web implementation exists only as a Capacitor stub and rejects native-only calls.

Compatibility

Plugin versionCapacitor compatibilityMaintained
v8.x.xv8.x.xYes

Documentation

The generated API reference is below. The source type definitions are in src/definitions.ts, and the package homepage is capgo.app/docs/plugins/calendar.

For compatibility with older code, requestPermission(...) and requestAllPermissions() are still available. New apps should prefer requestWriteOnlyCalendarAccess(), requestReadOnlyCalendarAccess(), requestFullCalendarAccess(), and requestFullRemindersAccess().

Changelog

See CHANGELOG.md for release notes.

License and Attribution

This package is released under MPL-2.0. The original @ebarooni/capacitor-calendar project was released under MIT by Ehsan Barooni; see THIRD_PARTY_NOTICES.md for attribution.

API

checkPermission(...)

checkPermission(options: { scope: CalendarPermissionScope; }) => Promise<{ result: PermissionState; }>

Retrieves the current permission state for a given scope.

ParamType
options{ scope: CalendarPermissionScope; }

Returns: Promise<{ result: PermissionState; }>

Since: 0.1.0


checkAllPermissions()

checkAllPermissions() => Promise<{ result: CheckAllPermissionsResult; }>

Retrieves the current state of all permissions.

Returns: Promise<{ result: CheckAllPermissionsResult; }>

Since: 0.1.0


requestPermission(...)

requestPermission(options: { scope: CalendarPermissionScope; }) => Promise<{ result: PermissionState; }>

Requests permission for a given scope.

ParamType
options{ scope: CalendarPermissionScope; }

Returns: Promise<{ result: PermissionState; }>

Since: 0.1.0


requestAllPermissions()

requestAllPermissions() => Promise<{ result: RequestAllPermissionsResult; }>

Requests permission for all calendar and reminder permissions.

Returns: Promise<{ result: CheckAllPermissionsResult; }>

Since: 0.1.0


requestWriteOnlyCalendarAccess()

requestWriteOnlyCalendarAccess() => Promise<{ result: PermissionState; }>

Requests write access to the calendar.

Returns: Promise<{ result: PermissionState; }>

Since: 5.4.0


requestReadOnlyCalendarAccess()

requestReadOnlyCalendarAccess() => Promise<{ result: PermissionState; }>

Requests read access to the calendar.

Returns: Promise<{ result: PermissionState; }>

Since: 5.4.0


requestFullCalendarAccess()

requestFullCalendarAccess() => Promise<{ result: PermissionState; }>

Requests read and write access to the calendar.

Returns: Promise<{ result: PermissionState; }>

Since: 5.4.0


requestFullRemindersAccess()

requestFullRemindersAccess() => Promise<{ result: PermissionState; }>

Requests read and write access to reminders.

Returns: Promise<{ result: PermissionState; }>

Since: 5.4.0


createEventWithPrompt(...)

createEventWithPrompt(options?: CreateEventWithPromptOptions | undefined) => Promise<{ id: string | null; }>

Opens the system calendar interface to create a new event. On Android this always returns null; fetch events to find the newly created event ID.

ParamType
optionsCreateEventWithPromptOptions

Returns: Promise<{ id: string | null; }>

Since: 0.1.0


modifyEventWithPrompt(...)

modifyEventWithPrompt(options: ModifyEventWithPromptOptions) => Promise<{ result: EventEditAction | null; }>

Opens a system calendar interface to modify an event. On Android this always returns null.

ParamType
optionsModifyEventWithPromptOptions

Returns: Promise<{ result: EventEditAction | null; }>

Since: 6.6.0


createEvent(...)

createEvent(options: CreateEventOptions) => Promise<{ id: string; }>

Creates an event in the calendar.

ParamType
optionsCreateEventOptions

Returns: Promise<{ id: string; }>

Since: 0.4.0


modifyEvent(...)

modifyEvent(options: ModifyEventOptions) => Promise<void>

Modifies an event.

ParamType
optionsModifyEventOptions

Since: 6.6.0


deleteEventsById(...)

deleteEventsById(options: DeleteEventsByIdOptions) => Promise<{ result: DeleteEventsByIdResult; }>

Deletes multiple events.

ParamType
optionsDeleteEventsByIdOptions

Returns: Promise<{ result: DeleteEventsByIdResult; }>

Since: 0.11.0


deleteEvent(...)

deleteEvent(options: DeleteEventOptions) => Promise<void>

Deletes an event.

ParamType
optionsDeleteEventOptions

Since: 7.1.0


deleteEventWithPrompt(...)

deleteEventWithPrompt(options: DeleteEventWithPromptOptions) => Promise<{ deleted: boolean; }>

Opens a dialog to delete an event.

ParamType
optionsDeleteEventWithPromptOptions

Returns: Promise<{ deleted: boolean; }>

Since: 7.1.0


listEventsInRange(...)

listEventsInRange(options: ListEventsInRangeOptions) => Promise<{ result: CalendarEvent[]; }>

Retrieves events within a date range.

ParamType
optionsListEventsInRangeOptions

Returns: Promise<{ result: CalendarEvent[]; }>

Since: 0.10.0


commit()

commit() => Promise<void>

Saves pending iOS calendar changes.

Since: 7.1.0


selectCalendarsWithPrompt(...)

selectCalendarsWithPrompt(options?: SelectCalendarsWithPromptOptions | undefined) => Promise<{ result: Calendar[]; }>

Opens a system interface to choose one or multiple calendars.

ParamType
optionsSelectCalendarsWithPromptOptions

Returns: Promise<{ result: Calendar[]; }>

Since: 0.2.0


fetchAllCalendarSources()

fetchAllCalendarSources() => Promise<{ result: CalendarSource[]; }>

Retrieves a list of calendar sources.

Returns: Promise<{ result: CalendarSource[]; }>

Since: 6.6.0


listCalendars()

listCalendars() => Promise<{ result: Calendar[]; }>

Retrieves all available calendars.

Returns: Promise<{ result: Calendar[]; }>

Since: 7.1.0


getDefaultCalendar()

getDefaultCalendar() => Promise<{ result: Calendar | null; }>

Retrieves the default calendar.

Returns: Promise<{ result: Calendar | null; }>

Since: 0.3.0


openCalendar(...)

openCalendar(options?: OpenCalendarOptions | undefined) => Promise<void>

Opens the calendar app.

ParamType
optionsOpenCalendarOptions

Since: 7.1.0


createCalendar(...)

createCalendar(options: CreateCalendarOptions) => Promise<{ id: string; }>

Creates a calendar.

ParamType
optionsCreateCalendarOptions

Returns: Promise<{ id: string; }>

Since: 5.2.0


deleteCalendar(...)

deleteCalendar(options: DeleteCalendarOptions) => Promise<void>

Deletes a calendar by ID.

ParamType
optionsDeleteCalendarOptions

Since: 5.2.0


modifyCalendar(...)

modifyCalendar(options: ModifyCalendarOptions) => Promise<void>

Modifies a calendar.

ParamType
optionsModifyCalendarOptions

Since: 7.2.0


fetchAllRemindersSources()

fetchAllRemindersSources() => Promise<{ result: CalendarSource[]; }>

Retrieves a list of reminder sources.

Returns: Promise<{ result: CalendarSource[]; }>

Since: 6.6.0


openReminders()

openReminders() => Promise<void>

Opens the reminders app.

Since: 7.1.0


getDefaultRemindersList()

getDefaultRemindersList() => Promise<{ result: RemindersList | null; }>

Retrieves the default reminders list.

Returns: Promise<{ result: Calendar | null; }>

Since: 7.1.0


getRemindersLists()

getRemindersLists() => Promise<{ result: RemindersList[]; }>

Retrieves all available reminders lists.

Returns: Promise<{ result: Calendar[]; }>

Since: 7.1.0


createReminder(...)

createReminder(options: CreateReminderOptions) => Promise<{ id: string; }>

Creates a reminder.

ParamType
optionsCreateReminderOptions

Returns: Promise<{ id: string; }>

Since: 0.5.0


deleteRemindersById(...)

deleteRemindersById(options: DeleteRemindersByIdOptions) => Promise<{ result: DeleteRemindersByIdResult; }>

Deletes multiple reminders.

ParamType
optionsDeleteRemindersByIdOptions

Returns: Promise<{ result: DeleteRemindersByIdResult; }>

Since: 5.3.0


deleteReminder(...)

deleteReminder(options: DeleteReminderOptions) => Promise<void>

Deletes a reminder.

ParamType
optionsDeleteReminderOptions

Since: 7.1.0


modifyReminder(...)

modifyReminder(options: ModifyReminderOptions) => Promise<void>

Modifies a reminder.

ParamType
optionsModifyReminderOptions

Since: 6.7.0


getReminderById(...)

getReminderById(options: GetReminderByIdOptions) => Promise<{ result: Reminder | null; }>

Retrieves a reminder by ID.

ParamType
optionsGetReminderByIdOptions

Returns: Promise<{ result: Reminder | null; }>

Since: 7.1.0


getRemindersFromLists(...)

getRemindersFromLists(options: GetRemindersFromListsOptions) => Promise<{ result: Reminder[]; }>

Retrieves reminders from multiple lists.

ParamType
optionsGetRemindersFromListsOptions

Returns: Promise<{ result: Reminder[]; }>

Since: 5.3.0


deleteReminderWithPrompt(...)

deleteReminderWithPrompt(options: DeleteReminderWithPromptOptions) => Promise<{ deleted: boolean; }>

Opens a dialog to delete a reminder.

ParamType
optionsDeleteReminderWithPromptOptions

Returns: Promise<{ deleted: boolean; }>

Since: 7.2.0


Interfaces

CreateEventWithPromptOptions

PropTypeDescriptionSince
alertsnumber[]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
availabilityEventAvailability7.1.0
calendarIdstring0.1.0
descriptionstring7.1.0
endDatenumber0.1.0
inviteesstring[]An array of emails to invite.7.1.0
isAllDayboolean0.1.0
locationstring0.1.0
recurrenceEventRecurrenceRuleRules for creating a recurring event.7.3.0
startDatenumber0.1.0
titlestring0.1.0
urlstring0.1.0

EventRecurrenceRule

PropTypeDescriptionDefaultSince
byMonthnumber[]Limits a yearly recurrence to specific months of the year. The values should be between 1 and 12.7.1.0
byMonthDaynumber[]Limits a monthly recurrence to specific days of the month. The values should be between 1 and 31.7.1.0
byWeekDaynumber[]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
countnumberThe total number of occurrences. If set, the recurrence ends after this many occurrences. If count is provided, end is ignored.7.3.0
daysOfTheYearnumber[]Limits a yearly recurrence to specific days of the year (1 to 366).7.3.0
endnumberEnd date of the recurrence series as a Unix timestamp in milliseconds.7.1.0
frequencyRecurrenceFrequencyHow often the event repeats.7.3.0
intervalnumberThe interval between recurrences. Use in combination with frequency. For example, a weekly event with an interval of 2, results in the event occurring every 2 weeks.17.3.0
weeksOfTheYearnumber[]Limits a yearly recurrence to specific ISO week numbers (1 to 53).7.3.0

ModifyEventWithPromptOptions

PropTypeDescriptionSince
idstringThe ID of the event to be modified.7.1.0

CreateEventOptions

PropTypeDescriptionDefaultSince
alertsnumber[]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
attendeesEventGuest[]The event guests.7.1.0
availabilityEventAvailability7.1.0
calendarIdstring0.1.0
colorstring7.1.0
commitbooleanWhether to save immediately (true) or batch changes for later (false).true7.1.0
descriptionstring7.1.0
durationstringDuration of the event in RFC2445 format.7.1.0
endDatenumber0.1.0
isAllDayboolean0.1.0
locationstring0.1.0
organizerstringEmail of the event organizer.7.1.0
recurrenceEventRecurrenceRuleRules for creating a recurring event.7.3.0
startDatenumber0.1.0
titlestring0.4.0
urlstring0.1.0

EventGuest

PropTypeSince
namestring7.1.0
emailstring7.1.0

ModifyEventOptions

PropTypeDescriptionDefaultSince
alertsnumber[]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
attendeesEventGuest[]The event guests.7.1.0
availabilityEventAvailability7.1.0
calendarIdstring0.1.0
colorstring7.1.0
descriptionstring7.1.0
durationstringDuration of the event in RFC2445 format.7.1.0
endDatenumber0.1.0
idstringThe ID of the event to be modified.7.1.0
isAllDayboolean0.1.0
locationstring0.1.0
recurrenceEventRecurrenceRuleRules for creating a recurring event.7.3.0
organizerstringEmail of the event organizer.7.1.0
spanEventSpanThe span of modifications.EventSpan.THIS_EVENT
startDatenumber0.1.0
titlestring0.4.0
urlstring0.1.0

DeleteEventsByIdResult

PropTypeSince
deletedstring[]7.1.0
failedstring[]7.1.0

DeleteEventsByIdOptions

PropTypeDescriptionDefaultSince
idsstring[]7.1.0
spanEventSpanThe span of deletion.EventSpan.THIS_EVENT

DeleteEventOptions

PropTypeDescriptionDefaultSince
idstring7.1.0
spanEventSpanThe span of deletion.EventSpan.THIS_EVENT

DeleteEventWithPromptOptions

PropTypeDescriptionDefaultSince
idstring7.1.0
spanEventSpanThe span of deletion.EventSpan.THIS_EVENT
titlestringTitle of the dialog.7.1.0
messagestringMessage of the dialog.7.1.0
confirmButtonTextstringText to show on the confirm button.'Delete'7.1.0
cancelButtonTextstringText to show on the cancel button.'Cancel'7.1.0

CalendarEvent

PropTypeDescriptionSince
idstring7.1.0
titlestring7.1.0
calendarIdstring | null7.1.0
locationstring | null7.1.0
startDatenumber7.1.0
endDatenumber7.1.0
isAllDayboolean7.1.0
alertsnumber[]Alert times in minutes relative to the event start.7.1.0
urlstring | null7.1.0
descriptionstring | null7.1.0
availabilityEventAvailability | null7.1.0
organizerstring | null7.1.0
colorstring | null7.1.0
durationstring | null7.1.0
isDetachedboolean | null7.1.0
birthdayContactIdentifierstring | null7.1.0
statusEventStatus | null7.1.0
creationDatenumber | null7.1.0
lastModifiedDatenumber | null7.1.0
attendees{ email: string | null; name: string | null; role: AttendeeRole | null; status: AttendeeStatus | null; type: AttendeeType | null; }[]7.1.0
timezonestring | null7.1.0

ListEventsInRangeOptions

PropTypeDescriptionSince
fromnumberThe timestamp in milliseconds.7.1.0
tonumberThe timestamp in milliseconds.7.1.0

Calendar

PropTypeDescriptionSince
idstring7.1.0
titlestring7.1.0
internalTitlestring | nullInternal name of the calendar (CalendarContract.Calendars.NAME).7.1.0
colorstring7.1.0
isImmutableboolean | null7.1.0
allowsContentModificationsboolean | null7.1.0
typeCalendarType | null7.1.0
isSubscribedboolean | null7.1.0
sourceCalendarSource | null7.1.0
visibleboolean | nullIndicates if the events from this calendar should be shown.7.1.0
accountNamestring | nullThe account under which the calendar is registered.7.1.0
ownerAccountstring | nullThe owner of the calendar.7.1.0
maxRemindersnumber | nullMaximum number of reminders allowed per event.7.1.0
locationstring | null7.1.0

CalendarSource

PropTypeSince
typeCalendarSourceType7.1.0
idstring7.1.0
titlestring7.1.0

SelectCalendarsWithPromptOptions

PropTypeDescriptionDefaultSince
displayStyleCalendarChooserDisplayStyleCalendarChooserDisplayStyle.ALL_CALENDARS7.1.0
multiplebooleanAllow multiple selections.false7.1.0

OpenCalendarOptions

PropTypeDefaultSince
datenumberDate.now()7.1.0

CreateCalendarOptions

PropTypeDescriptionSince
titlestring5.2.0
colorstringThe color of the calendar. Should be provided on Android.5.2.0
sourceIdstring5.2.0
accountNamestringOnly needed on Android. Typically set to an email address.7.1.0
ownerAccountstringOnly needed on Android. Typically set to an email address.7.1.0

DeleteCalendarOptions

PropTypeSince
idstring7.1.0

ModifyCalendarOptions

PropTypeSince
idstring7.2.0
titlestring7.2.0
colorstring7.2.0

CreateReminderOptions

PropTypeDescriptionSince
titlestring7.1.0
listIdstring7.1.0
prioritynumber7.1.0
isCompletedboolean7.1.0
startDatenumber7.1.0
dueDatenumber7.1.0
completionDatenumber7.1.0
notesstring7.1.0
urlstring7.1.0
locationstring7.1.0
recurrenceRecurrenceRule7.1.0
alertsnumber[]Alert times in minutes relative to the reminder start. Use negative numbers for alerts before the start, and positive numbers for alerts after the start.7.1.0

RecurrenceRule

PropTypeDescriptionSince
frequencyRecurrenceFrequency7.1.0
intervalnumberHow often it repeats (e.g. 1 for every occurrence, 2 for every second occurrence).7.1.0
endnumberTimestamp of when the recurrence ends.7.1.0

DeleteRemindersByIdResult

PropTypeSince
deletedstring[]7.1.0
failedstring[]7.1.0

DeleteRemindersByIdOptions

PropTypeSince
idsstring[]7.1.0

DeleteReminderOptions

PropTypeSince
idstring7.1.0

ModifyReminderOptions

PropTypeDescriptionSince
idstring7.1.0
titlestring7.1.0
listIdstring7.1.0
prioritynumber7.1.0
isCompletedboolean7.1.0
startDatenumber7.1.0
dueDatenumber7.1.0
completionDatenumber7.1.0
notesstring7.1.0
urlstring7.1.0
locationstring7.1.0
recurrenceRecurrenceRule7.1.0
alertsnumber[]Alert times in minutes relative to the reminder start. Use negative numbers for alerts before the start, and positive numbers for alerts after the start. On iOS only 2 alerts are supported.7.1.0

Reminder

PropTypeSince
idstring7.1.0
titlestring | null7.1.0
listIdstring | null7.1.0
isCompletedboolean7.1.0
prioritynumber | null7.1.0
notesstring | null7.1.0
locationstring | null7.1.0
urlstring | null7.1.0
startDatenumber | null7.1.0
dueDatenumber | null7.1.0
completionDatenumber | null7.1.0
recurrenceRecurrenceRule[]7.1.0
alertsnumber[]7.1.0

GetReminderByIdOptions

PropTypeSince
idstring7.1.0

GetRemindersFromListsOptions

PropTypeSince
listIdsstring[]7.1.0

DeleteReminderWithPromptOptions

PropTypeDescriptionDefaultSince
idstring7.2.0
titlestringTitle of the dialog.7.2.0
messagestringMessage of the dialog.7.2.0
confirmButtonTextstringText to show on the confirm button.'Delete'7.2.0
cancelButtonTextstringText to show on the cancel button.'Cancel'7.2.0

Type Aliases

PermissionState

'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'

CheckAllPermissionsResult

Record<CalendarPermissionScope, PermissionState>

Record

Construct a type with a set of properties K of type T

{ [P in K]: T; }

RequestAllPermissionsResult

CheckAllPermissionsResult

RecurrenceFrequency

'daily' | 'weekly' | 'monthly' | 'yearly'

EventEditAction

'canceled' | 'saved' | 'deleted'

RemindersList

Calendar

Enums

CalendarPermissionScope

MembersValueDescriptionSince
READ_CALENDAR'readCalendar'Permission required for reading calendar events.7.1.0
READ_REMINDERS'readReminders'Permission required for reading reminders.7.1.0
WRITE_CALENDAR'writeCalendar'Permission required for adding or modifying calendar events.7.1.0
WRITE_REMINDERS'writeReminders'Permission required for adding or modifying reminders.7.1.0

EventAvailability

MembersValueSince
NOT_SUPPORTED-17.1.0
BUSY7.1.0
FREE7.1.0
TENTATIVE7.1.0
UNAVAILABLE7.1.0

EventSpan

MembersSince
THIS_EVENT7.1.0
THIS_AND_FUTURE_EVENTS7.1.0

EventStatus

MembersValueSince
NONE'none'7.1.0
CONFIRMED'confirmed'7.1.0
TENTATIVE'tentative'7.1.0
CANCELED'canceled'7.1.0

AttendeeRole

MembersValueSince
UNKNOWN'unknown'7.1.0
REQUIRED'required'7.1.0
OPTIONAL'optional'7.1.0
CHAIR'chair'7.1.0
NON_PARTICIPANT'nonParticipant'7.1.0
ATTENDEE'attendee'7.1.0
ORGANIZER'organizer'7.1.0
PERFORMER'performer'7.1.0
SPEAKER'speaker'7.1.0

AttendeeStatus

MembersValueSince
NONE'none'7.1.0
ACCEPTED'accepted'7.1.0
DECLINED'declined'7.1.0
INVITED'invited'7.1.0
UNKNOWN'unknown'7.1.0
PENDING'pending'7.1.0
TENTATIVE'tentative'7.1.0
DELEGATED'delegated'7.1.0
COMPLETED'completed'7.1.0
IN_PROCESS'inProcess'7.1.0

AttendeeType

MembersValueSince
UNKNOWN'unknown'7.1.0
PERSON'person'7.1.0
ROOM'room'7.1.0
RESOURCE'resource'7.1.0
GROUP'group'7.1.0
REQUIRED'required'7.1.0
NONE'none'7.1.0
OPTIONAL'optional'7.1.0

CalendarType

MembersSince
LOCAL7.1.0
CAL_DAV7.1.0
EXCHANGE7.1.0
SUBSCRIPTION7.1.0
BIRTHDAY7.1.0

CalendarSourceType

MembersSince
LOCAL7.1.0
EXCHANGE7.1.0
CAL_DAV7.1.0
MOBILE_ME7.1.0
SUBSCRIBED7.1.0
BIRTHDAYS7.1.0

CalendarChooserDisplayStyle

MembersSince
ALL_CALENDARS0.2.0
WRITABLE_CALENDARS_ONLY0.2.0

License

MPL-2.0. Portions of this package are derived from @ebarooni/capacitor-calendar; see THIRD_PARTY_NOTICES.md.