Glossary of Terms

Quick reference for OnSched terminology, concepts, and technical terms used throughout the platform and documentation.

A

Allocation

A defined time block when a resource or service is available to work. Two recurrence shapes exist:

  • Weekly Allocation – Recurring weekly schedule (e.g., Mondays 9am-5pm)
  • Single Allocation – One-time availability block (e.g., working Saturday this week only)

Scope: Allocations can target a resource only, a service only (all resources on that service), or a service + resource pair—the same recurring or one-off hours for one provider (or asset) on one service without changing that resource’s global availability mode. Pair-scoped rules layer on top of the resource’s normal schedule for that service.

See Weekly Allocations, Single Allocations.

API Key

Company secret used to scope requests to a tenant. Required with a dashboard JWT (Authorization: Bearer … + x-api-key) and with public routes (x-api-key + x-client-id on /v3/public/*). Not used when calling protected /v3/* routes with an OAuth2 client-credentials access token—company is embedded in that machine token.

See Authentication.

Appointment

Scheduling record for a time block with a service, location, optional customer, and one or more resources. Not every row is a completed booking: statuses include IN (short hold), BK (booked), RS (reserved without hold expiry), RE (placeholder after reschedule), and CN (cancelled). Transitions drive notifications and webhooks.

See Appointments Guide.

Availability

Time slots when services can be booked. Calculated based on:

  • Service duration and padding
  • Resource schedules and existing appointments
  • Location operating hours
  • Booking limits and restrictions

See Availability Guide.

availabilityType

How an entity (typically a service or resource) expresses baseline hours in the engine: schedule — recurring weekly hours (weeklyAvailability); allocation — only explicitly allocated windows count as available (weekly + single allocations). A given entity uses one mode; locations use schedule-style weekly hours. See Entity operating hours and Resources overview.

B

BALANCED

Round robin mode that assigns appointments to the resource with the fewest existing bookings in the search window. Distributes workload evenly.

See Round Robin Booking.

Booking Interval

How often time slots are offered for a service. If set to 60 minutes, slots appear hourly regardless of service duration.

See Services Overview.

Booking Limit

Restriction on how many appointments a customer can have. Can be total active, daily count, daily duration, lifetime, or per-resource.

See Booking Limits.

bookingsPerSlot

Maximum number of customers who can book the same time slot. Used for group classes, shared resources, or equipment pools.

See Max Capacity.

C

Calendar Sync

Integration with external calendars (Google Calendar, Outlook) to:

  • Push OnSched appointments to external calendar
  • Pull external events to block OnSched availability
  • Maintain two-way synchronization

See External Calendar Sync.

Cascade

How settings inherit down the hierarchy: Company → Location → Resource. Lower levels can override higher levels.

See Settings Overview.

Client Credentials

OAuth2 authentication flow where client ID and secret are exchanged for an access token. Recommended for server-to-server API integrations.

See Authentication.

COMBINED

GET /v3/availability round-robin mode requiring explicit ResourceIds: a slot is returned only when every listed resource is free together for the full service duration (and padding). Use for joint bookings (e.g. clinician + room). See Availability Guide.

Company

Top-level tenant in OnSched. Represents your organization and owns all locations, services, resources, appointments, and customers.

See Companies Overview, Architecture.

Custom Fields

JSON object of string key–value pairs that extend appointments, customers, services, resources, and locations. Send and read them as CustomFields in API bodies and responses (values are strings; encode numbers, booleans, or nested data as strings in your app).

See Appointment Custom Fields, Customer Custom Fields.

Customer

Person who books appointments. Stored with contact information, preferences, appointment history, and custom fields.

See Customers Overview.

D

Dashboard JWT

Supabase-issued access token for a signed-in dashboard user. Sent as Authorization: Bearer <JWT> together with x-api-key on /v3/* routes when acting as that user (not for machine client-credentials). See Authentication.

Duration

Length of a service or appointment in minutes. Core property that determines how long appointments last and affects availability calculations.

See Services Overview.

Duration Selection

Feature allowing customers to choose appointment length within a range (e.g., 30, 60, or 90 minutes) using overrideDuration parameter.

See Services Overview.

E

E.164 Format

International phone number format required for SMS notifications. Includes country code and no formatting characters (e.g., +15550123).

See Customer SMS.

External Calendar

Google Calendar or Outlook calendar connected to a resource for two-way sync. External events block OnSched availability automatically.

See External Calendar Sync.

H

Hold

Temporary appointment reservation with status IN. Holds expire automatically if not confirmed within the expiration window (configurable per location).

See Appointments Guide.

I

Interval

Parameter controlling how often candidate appointment start times are generated. Separate from service duration—affects slot stepping, not appointment length.

See Availability Guide.

L

Location

Physical or virtual place where services are provided. Locations have:

  • Operating hours
  • Resources assigned to them
  • Optional timezone override
  • Webhooks and notification settings

See Architecture.

M

Max Capacity

See bookingsPerSlot.

N

Notification Type

Preference for how notifications are sent:

  • EMAIL – Email only
  • SMS – Text message only
  • ALL – Both email and SMS
  • NONE – No notifications

Can be set at company, location, resource, and customer levels.

See Customer SMS.

O

OAuth2

Industry-standard authentication protocol. OnSched supports client credentials flow for server-to-server API access.

See Authentication.

Operating Hours

Baseline hours when a location accepts bookings, defined with weekly repeating windows (weeklyAvailability) in the location’s timezone. Closures, overrides, allocations, and external calendars further constrain slots. See Entity operating hours and Locations.

Out of Office (OOF)

Unavailability block marking a resource as unavailable during specific times (vacation, sick leave, training). Prevents booking appointments during these periods. For stored blocks and the merged calendar API, see Unavailability blocks.

overrideDuration

Parameter allowing customer to select appointment duration different from service default (when durationSelect: true on service).

See Availability Guide.

P

Padding

Buffer time added after an appointment. Creates gap between bookings for cleanup, transitions, or rest. Invisible to customers but blocks resource availability.

See Services Overview.

Public Client ID

Public identifier sent as x-client-id with x-api-key on /v3/public/* routes only; verifies the public widget client and company context without a full user session. Safe to embed in browser apps alongside the API key only for those public endpoints. See Authentication.

R

RANDOM

Per-request or service-configured round-robin mode that picks one eligible resource at random (equal chance among candidates). For new services the API default roundRobin is NONE unless you set otherwise.

See Round Robin Booking.

Recurring block

Repeating unavailability pattern (e.g. “every Friday after 3pm”) managed under /v3/unavailability/recurringBlock, layered on top of schedules and allocations. See Recurring blocks and the Unavailability overview.

Resource

Person, equipment, or space that delivers services. Examples:

  • Staff members (stylists, consultants, instructors)
  • Equipment (treadmills, kayaks, projectors)
  • Spaces (exam rooms, conference rooms, studios)

See Resources Overview.

Round Robin

Strategy for how multi-resource services pick or list resources on availability and booking. Service field roundRobin supports NONE (default for new services), RANDOM, BALANCED, and COMBINED (joint availability; see Availability Guide). Passing explicit ResourceIds overrides automatic assignment.

See Round Robin Booking.

S

Scope

Determines whether a service is company-wide (COMPANY) or location-specific (LOCATION). Company-scoped services are available at all locations (where resources exist).

See Service Scoping.

Service

Bookable offering (consultation, haircut, class, equipment rental). Services define duration, padding, pricing, limits, and which resources can deliver them.

See Services Overview.

Single Allocation

One-time availability block for a resource. Used for irregular schedules, extra shifts, or temporary availability.

See Single Allocations.

Slot

A bookable time window shown in availability results. Represents a potential appointment start time that respects all scheduling rules.

SMS

Text message notifications sent to customers' mobile phones. Requires phone number in E.164 format and Twilio configuration.

See Customer SMS.

Soft Delete

Deletion strategy where records are marked as deleted (deletedAt timestamp) but not removed from database. Allows restoration and preserves historical data.

Status

Appointment lifecycle state:

  • IN – Initial hold (auto-expires if not confirmed)
  • BK – Booked appointment
  • RS – Reserved slot (long-lived lock; no hold expiry like IN)
  • RE – Rescheduled (placeholder for moved appointment)
  • CN – Cancelled

See Appointments Guide.

Swagger

Interactive OpenAPI (Swagger UI) documentation for the v3 API. Served at /docs on the API host (e.g. https://v3.onsched.com/docs); / redirects to /docs.

See Swagger Documentation.

T

Timezone

IANA timezone identifier (e.g., America/New_York, Europe/London, Asia/Tokyo). Used to interpret date-only inputs and display times in local context.

Can be set at company, location, and resource levels. For a list of valid identifiers from the API, use GET /v3/timezone—see Platform API utilities.

Token

  • OAuth2 access token — From POST /v3/oauth/token (client credentials). Bearer token (~1 hour), company embedded; no x-api-key on subsequent /v3/* calls.
  • Dashboard JWT — Supabase session token for a logged-in user; use with x-api-key as in the Authentication guide.

See Authentication.

Twilio

SMS gateway service OnSched uses to send text message notifications. Handles message delivery to customer phone numbers.

See Customer SMS.

U

Unavailability

Time block that prevents booking appointments. Types include:

  • APT – Appointment (customer booking)
  • HLD – Hold (temporary reservation)
  • PAD – Padding (buffer time)
  • OOF – Out of Office (vacation, sick)
  • EXT – External event (from calendar sync)

See Unavailability blocks, Recurring blocks, and the Unavailability overview.

UUID

Universally Unique Identifier. 128-bit value used as primary key for all OnSched resources (format: a1b2c3d4-e5f6-7890-abcd-ef1234567890).

W

Webhook

HTTP callback triggered by appointment events. Sends JSON payload to your server when events occur (new appointment, cancellation, rescheduling, etc.).

See Webhooks Guide.

Weekly Allocation

Recurring weekly schedule defining when a resource works at a location. Example: Resource works Mondays 9am-5pm at Location A, Tuesdays 9am-5pm at Location B.

See Weekly Allocations.

Common Acronyms

  • API – Application Programming Interface
  • CRM – Customer Relationship Management
  • GDPR – General Data Protection Regulation (EU privacy law)
  • IANA – Internet Assigned Numbers Authority (manages timezone database)
  • ISO 8601 – International standard for date/time formatting
  • JWT – JSON Web Token (OAuth2 access tokens and dashboard session tokens)
  • OAuth2 – Open Authorization 2.0 (authentication protocol)
  • REST – Representational State Transfer (API architecture style)
  • SMS – Short Message Service (text messaging)
  • TCPA – Telephone Consumer Protection Act (US SMS regulations)
  • URL – Uniform Resource Locator
  • UTC – Coordinated Universal Time (timezone reference)
  • UUID – Universally Unique Identifier

Status Codes

Common HTTP status codes returned by the API:

  • 200 OK – Request succeeded
  • 201 Created – Resource created successfully
  • 400 Bad Request – Malformed request or missing parameters
  • 401 Unauthorized – Invalid or missing authentication
  • 403 Forbidden – Authenticated but lacking permission
  • 404 Not Found – Resource doesn't exist
  • 422 Unprocessable Entity – Request fails business logic validation
  • 500 Internal Server Error – Unexpected server error

See Error Codes.

Related Documentation

This glossary provides quick definitions of OnSched terms. For detailed explanations and usage examples, see the linked documentation guides.