Skip to content

Activity

Fields

idID!
businessBusiness
nameString!

Resolved for the given locale, falling back to the business's default (English) value. Defaults to the viewer's locale.

Arguments (1)
localeLocale
descriptionString

Resolved for the given locale, falling back to English. Defaults to the viewer's locale.

Arguments (1)
localeLocale
startDateString
endDateString

Individual session instances generated from this activity. Only populated for activities with structure: class. Cursor-paginated; sort defaults to startAt ASC, id ASC — pass sort: startDesc to flip to most-recent first. Pair with starting to scope the window to upcoming/past/from-date, and filter to narrow by lifecycle status (only the status, source, competitor, and unresolvedMatch fields of ActivitySessionFilter are applied here; activity/staff/ time-of-day/query are server-side no-ops for this field).

Arguments (5)
isRecurringBoolean!

Whether the activity repeats. True even when no specific schedule is set (i.e. "recurring, schedule TBD").

recurrenceScheduleRecurrenceSchedule

The recurrence rule describing how sessions are generated. Null when the activity has no specific schedule (either single-session, or recurring without a set schedule).

durationInt

Default duration of each session in minutes.

Registration settings for the activity. Public for the same reason ActivitySession.registration is: the buyer-facing booking and registration flows read paymentCollection to explain when no payment is taken at checkout. Only the configuration's own public fields are exposed.

individualRegistrationPriceTiers[PriceTier!]!

Forward-looking early-bird price timeline for individual registration, current tier first. Every early-bird cutoff produces a tier; a single tier (with null until) means no early-bird schedule applies. Public — an anonymous visitor sees the same date-based schedule.

teamRegistrationPriceTiers[PriceTier!]!

Forward-looking early-bird price timeline for team registration, current tier first. See individualRegistrationPriceTiers.

registrationBlocks[RegistrationBlock!]!

Custom form blocks shown during registration, configured by the business.

registrationOpenBoolean!

Whether this league is currently open for registration: it has at least one division that is open, not full, and accepting teams or individuals. Always false for non-league activities. Resolved via the same fold as the public leagues list and HomeBlockLeague.registrationOpen.

availableLocations[Location!]!
bookableFacilities[Facility!]!

Facilities (rooms/courts) that can fulfill this activity. Only meaningful for structure: booking with fulfilledBy: facility.

bookingModeBookingMode!

How a customer books this activity — only meaningful when structure is booking. instant runs the normal registration + checkout; request creates a pending request a staff member approves before it confirms.

fulfilledByResourceKind

Which kind of resource fulfills a structure: booking activity (staff, facility, or location). Null for non-booking activities.

slotIncrementMinutesInt

Bookable time increment in minutes (the slot grid step) for a booking activity. Null for non-booking activities.

minIncrementsInt

Minimum / maximum number of increments a single booking may span. Null = unbounded. Only meaningful for booking activities.

maxIncrementsInt
bookingCapacityInt

How many concurrent bookings each increment can hold before the slot reads as full, or null when unlimited. At least 1 when set; only meaningful for booking activities.

bookingPricePerIncrementInt

Price in cents per booked increment (total = this × increments booked), or null / 0 when the booking is free. Only meaningful for booking activities.

bookingPricingModeBookingPricingMode!

How a structure: booking activity is priced — duration (the client picks a time range, priced per increment) or services (the client picks services from bookingServices, which determine the price and duration). Always duration for non-booking activities.

bookingServices[ActivityServiceLink!]!

The service menu for a services-priced booking activity, ordered by sortOrder ascending — each entry pairs a catalogue {@link Service} with the role it plays here. Empty for duration activities.

bookingPaymentResolutionPaymentResolution

How the current viewer can pay for a booking of this activity — the booking-checkout counterpart to ActivitySession.paymentResolution. Surfaces the viewer's covering passes/memberships (a pass spends the activity's creditCost, default 1, per booked increment), buyable passes, and card. price is the per-increment rate (bookingPricePerIncrement); a pass covers the booking when it has enough sessions for creditCost × increments (checked at booking time, since the range isn't known here). Null for non-booking activities and for signed-out viewers with no guest-checkout.

bookingWindows[AvailabilityBlock!]!

Weekly open windows for a booking activity (the availability grid).

Staff members assigned to this activity. Individual sessions inherit these assignments unless overridden.

Used in