Open-Source Wikis

/

Cal.com

/

Cal.diy

/

Glossary

calcom/cal.com

Glossary

Project-specific terms you will see scattered through Cal.diy code, comments, and PR descriptions.

Domain vocabulary

  • Booker — the person making a booking (the visitor on a public booking page). The React surface that renders the booking flow is packages/features/bookings/Booker/.
  • Organizer — the user whose calendar is being booked. Owns one or more EventType rows.
  • Attendee — anyone who appears on the booking other than the organizer. Stored in the Attendee table linked to Booking.
  • Event type — a bookable offering (e.g., "30-min intro call"). Defined by the EventType Prisma model. A user can have many event types; teams can have collective or round-robin event types.
  • Managed event type — a parent EventType that propagates configuration to children for team members. The parentId self-relation in schema.prisma models this.
  • Round robin — a SchedulingType.ROUND_ROBIN event type that rotates assignments among hosts. Logic lives in packages/features/bookings/lib/handleNewBooking/... and packages/features/bookings/lib/getLuckyUser.
  • Collective — a SchedulingType.COLLECTIVE event type that books all hosts simultaneously.
  • Host — a user attached to a team event type. The Host join table records priority, weight, and per-host schedule overrides.
  • Slot — a candidate booking time. Computed by packages/features/slots from event-type rules, schedules, and busy times.
  • Schedule — a recurring availability template (e.g., "Mon–Fri 9–5"). Modeled by the Schedule table; logic lives in packages/features/schedules.
  • Availability — a (start, end, days) row attached to a Schedule or directly to an EventType.
  • Selected calendar — a calendar the user has chosen to read free/busy from. Stored in SelectedCalendar and managed by packages/features/calendars.
  • Destination calendar — the single calendar a booking is written to. Modeled by DestinationCalendar.
  • Booking reference — the third-party event identifier returned by the calendar/video provider after a booking is created. Stored in BookingReference.
  • Hashed link — a one-time/private booking URL. Implemented by packages/features/hashedLink and the HashedLink model.
  • Workflow — automation that runs around bookings (reminders, no-show flagging, post-booking actions). EE-flavored workflows are stripped in Cal.diy, but the runtime hooks remain.
  • Tasker — the in-process job queue under packages/features/tasker that schedules deferred work (e.g., reminder emails) backed by the database.
  • No-show — flag set when an attendee fails to show. Handled by packages/features/handleMarkNoShow.ts and the noShow/ directory.
  • OOO (out of office) — vacation or leave entries that block availability. Lives in packages/features/ooo.

Platform / SDK vocabulary

  • Platform — the Cal.com Platform SDK — embed plus the API v2 plus React "atom" components (packages/platform/atoms). The atoms wrap the v2 REST API to provide drop-in scheduling UI.
  • OAuth client — a Platform tenant. Each client has its own users, event types, and bookings, scoped by the client ID. Configured via the oauth-clients module in apps/api/v2.
  • Atom — a React component from packages/platform/atoms (e.g., <Booker />, <AvailabilitySettings />) that talks to the v2 REST API.
  • Booker embed — a thin wrapper around <Booker /> published as @calcom/embed-react.

Architectural / convention vocabulary

  • App / app store / installable app — a third-party integration under packages/app-store/<provider>. The CLI packages/app-store-cli generates a registry; integrations declare metadata in a per-app config.json and _metadata.ts.
  • App categoriescalendar, conferencing, payment, crm, analytics, automation, messaging, other. Each category gets its own generated registry (see packages/app-store/*.generated.ts).
  • Credential — encrypted third-party tokens for an installed app. The Credential.key JSON column is encrypted with CALENDSO_ENCRYPTION_KEY and must never appear in API responses (AGENTS.md Don't list).
  • Delegation credential — a system-wide credential that delegates auth to many users (e.g., domain-wide Google delegation). Implemented in packages/lib/delegationCredential.ts and packages/features/credentials.
  • PBAC — permission-based access control. Lives across packages/prisma/sql, packages/features/membership, and agents/rules/security-permissions.md.
  • Repository — a *Repository.ts class that owns Prisma queries for a domain. Must use select (never include) per AGENTS.md.
  • Service — a *Service.ts class that holds business logic and orchestrates repositories. tRPC and REST handlers stay thin and call services.
  • Generated files*.generated.ts files produced by app-store-cli. Listed in .gitattributes as linguist-generated=true and never edited by hand.
  • ErrorWithCodepackages/lib/errorCodes.ts — the canonical error class for service/repository code. TRPCError is reserved for tRPC routers.

Cross-cutting names

  • calendso — Cal.com's original name. Survives in apps/web/calendso.yaml, the encryption key var (CALENDSO_ENCRYPTION_KEY), and a few legacy variable names.
  • DAU / WAU — daily / weekly active users; used in analytics dashboards.
  • Trigger.dev — third-party background-job runner; configured via packages/features/trigger.config.ts and apps/web/trigger.version.ts.
  • Infisical — secrets manager; the i-* yarn scripts (e.g., i-dev, i-dx) wrap commands with infisical run --.
  • Checkly — synthetic monitoring config in checkly.config.ts and __checks__/.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Glossary – Cal.com wiki | Factory