Skip to content


Manages events in calendars.

Used for creating, fetching and removing events from your calendars.


Identifier of event.

identifier: string


Title of event.

title: string


Location of event.

location: string


Notes associated with event.

notes: string


Start date of event.

startDate: Date


End date of event.

endDate: Date


Whether the event is an all-day event.

isAllDay: bool


Attendees associated with the event.

An array of objects on the following form:

  "isCurrentUser": false,
  "name": "John Appleseed",
  "status": "accepted",
  "type": "person",
  "role": "required"

Note that the property is read-only since iOS does not expose API to modify the attendees of an event.

attendees: [any]


Availability during the event.

Indicates how the event should be treated for scheduling purposes. The following values are supported:

  • busy
  • free
  • tentative
  • unavailable

Be aware that not all calendars support all of these availabilities and some calendars may not support availability at all. Use Calendar.supportsAvailability() to check if a calendar supports a specific availability.

availability: string


Time zone of event.

Geopolitical region identifier that identifies the time zone, e.g. "Europe/Copenhagen", "America/New_York" and "Asia/Tokyo".

timeZone: string


Calendar the event is stored in.

calendar: Calendar

-new CalendarEvent

Constructs an event.

In order to add the event to your calendar, you must call the save() function.

new CalendarEvent()


Adds a recurrence rule.

Recurrence rules specify when the reminder should be repeated. See the documentation of RecurrenceRule for more information on creating rules.

addRecurrenceRule(recurrenceRule: RecurrenceRule)


Removes all recurrence rules.



Saves event.

Saves changes to an event, inserting it into the calendar if it is newly created.



Removes event from calendar.



Presents a view for editing the calendar event.

The presented view supports editing various attributes of the event, including title, location, dates, recurrence and alerts.

presentEdit(): Promise<CalendarEvent>


Presents a view for creating a calendar event.

The presented view supports editing various attributes of the event, including title, location, dates, recurrence and alerts.

static presentCreate(): Promise<CalendarEvent>


Events occurring today.

static today(calendars: [Calendar]): Promise<[CalendarEvent]>


Events occurring tomorrow.

static tomorrow(calendars: [Calendar]): Promise<[CalendarEvent]>


Events that occurred yesterday.

static yesterday(calendars: [Calendar]): Promise<[CalendarEvent]>


Events that occur this week.

static thisWeek(calendars: [Calendar]): Promise<[CalendarEvent]>


Events that occur next week.

static nextWeek(calendars: [Calendar]): Promise<[CalendarEvent]>


Events that occurred last week.

static lastWeek(calendars: [Calendar]): Promise<[CalendarEvent]>


Events that occurs between two dates.

static between(startDate: Date, endDate: Date, calendars: [Calendar]): Promise<[CalendarEvent]>