Skip to main content



A calendar is a collection of related events, encompassing additional metadata such as summary, default time zone, location, and more. Each calendar is uniquely identified by an ID, which is an email address. Calendars can have multiple owners, enhancing collaborative management and flexibility. An event, as a part of the calendar, is an object associated with a specific date or time range. Identified by a unique ID, events incorporate various details including start and end date-times, summary, description, location, status, reminders, attachments, and more. This structure facilitates efficient organization and management of events, streamlining tracking and coordination within the system.

A calendar can be provided by third parties, like Google, Microsoft or TimeTime itself.


NameData TypeDescription
idstringThe unique identifier for the calendar, formatted as UUID.
namestringThe name of the calendar.
descriptionstringA brief description of the calendar.
defaultTimeZonestringThe default time zone for the calendar.
tagsobjectArbitrary key/value collection for storing metadata.
ownerObject<Owner>The owner of the calendar, which can be either a user or an organization.

Certainly! Below is the updated documentation and tables for the CalendarOwner schema, explaining how the type property acts as a discriminator to determine whether the owner is a user or an organization.


The CalendarOwner schema in the API is designed to identify the owner of a calendar. It can be one of two types:

  • CalendarOwnerUser
  • CalendarOwnerOrg

The type property is used as a discriminator to distinguish between these two types.


idStringThe unique identifier of the user, formatted as UUID.
typeCalendarOwnerUserDiscriminator for identifying the owner type.


idStringThe unique identifier of the organization, formatted as UUID.
typeCalendarOwnerOrgDiscriminator for identifying the owner type.

These tables and the accompanying explanation provide a clear understanding of how the CalendarOwner schema works, specifically how the type property is utilized to differentiate between a user and an organization as the owner of a calendar.


"owner": {
"type": "CalendarOwnerOrg",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
"name": "TimeTime holidays",
"description": "",
"defaultTimeZone": "Europe/Madrid",
"tags": {
"color": "red",