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
EventTyperows. - Attendee — anyone who appears on the booking other than the organizer. Stored in the
Attendeetable linked toBooking. - Event type — a bookable offering (e.g., "30-min intro call"). Defined by the
EventTypePrisma model. A user can have many event types; teams can have collective or round-robin event types. - Managed event type — a parent
EventTypethat propagates configuration to children for team members. TheparentIdself-relation inschema.prismamodels this. - Round robin — a
SchedulingType.ROUND_ROBINevent type that rotates assignments among hosts. Logic lives inpackages/features/bookings/lib/handleNewBooking/...andpackages/features/bookings/lib/getLuckyUser. - Collective — a
SchedulingType.COLLECTIVEevent type that books all hosts simultaneously. - Host — a user attached to a team event type. The
Hostjoin table recordspriority,weight, and per-host schedule overrides. - Slot — a candidate booking time. Computed by
packages/features/slotsfrom event-type rules, schedules, and busy times. - Schedule — a recurring availability template (e.g., "Mon–Fri 9–5"). Modeled by the
Scheduletable; logic lives inpackages/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
SelectedCalendarand managed bypackages/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/hashedLinkand theHashedLinkmodel. - 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/taskerthat 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.tsand thenoShow/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-clientsmodule inapps/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 CLIpackages/app-store-cligenerates a registry; integrations declare metadata in a per-appconfig.jsonand_metadata.ts. - App categories —
calendar,conferencing,payment,crm,analytics,automation,messaging,other. Each category gets its own generated registry (seepackages/app-store/*.generated.ts). - Credential — encrypted third-party tokens for an installed app. The
Credential.keyJSON column is encrypted withCALENDSO_ENCRYPTION_KEYand must never appear in API responses (AGENTS.mdDon'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.tsandpackages/features/credentials. - PBAC — permission-based access control. Lives across
packages/prisma/sql,packages/features/membership, andagents/rules/security-permissions.md. - Repository — a
*Repository.tsclass that owns Prisma queries for a domain. Must useselect(neverinclude) perAGENTS.md. - Service — a
*Service.tsclass that holds business logic and orchestrates repositories. tRPC and REST handlers stay thin and call services. - Generated files —
*.generated.tsfiles produced by app-store-cli. Listed in.gitattributesaslinguist-generated=trueand never edited by hand. - ErrorWithCode —
packages/lib/errorCodes.ts— the canonical error class for service/repository code.TRPCErroris 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.tsandapps/web/trigger.version.ts. - Infisical — secrets manager; the
i-*yarn scripts (e.g.,i-dev,i-dx) wrap commands withinfisical run --. - Checkly — synthetic monitoring config in
checkly.config.tsand__checks__/.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.