ActivitySession
Fields
idID!activityActivitynameStringThe session's explicit name override, resolved for the given locale and falling back to English. Defaults to the viewer's locale. Null when the session has no name of its own and inherits its activity's (localized) name.
Arguments (1)
localeLocalestartAtDateTimeendAtDateTimeoriginalStartAtDateTimeThe date this session was first scheduled for, when it has since been rescheduled to a different time. Null when the session has never moved (or its earliest recorded slot matches the current startAt), so a present value always means "this is genuinely different from startAt" and the UI can render an "originally scheduled" note without its own comparison.
statusActivitySessionStatus!metadata[MetadataEntry!]!Every metadata field stored on this session, already merged with its activity's: a key the session sets overrides the activity's value, and a key it doesn't set is inherited. That covers the well-known fields whose catalog entry lists both owners (sessions.accessibility, sessions.doors.offset, sessions.presentation.format, sessions.language), so a consumer never has to fetch the activity to resolve one.
priceInt!registrationRegistrationConfiguration!registrationCountInt!waitlistCountInt!Number of people currently waitlisted for this session.
spotMapActivitySessionSpotMapSpot-map layout, occupancy, and viewer-relative state for this session. Null when the session's location or facility has no spot map — in which case plain capacity applies instead.
Arguments (1)
holderKeyStringThe checkout key the caller's holds were taken under, so an anonymous buyer can see which of the held spots are their own. Signed-in callers are matched on their user as well.
myRegistrationActivityRegistrationadmissionTiers[AdmissionTier!]!Admission bands this session sells at. A session with its own bands replaces the activity's defaults outright rather than merging with them; empty means it sells one undifferentiated spot at the activity's own price.
admissionCountInt!How many places are taken: SUM(admissions) across confirmed bookings, not a count of rows. One booking can be a party of six.
bookingsBookingConnection!Confirmed bookings on this session, oldest first. The commerce-model successor to registrations.
Arguments (3)
firstIntafterStringstatuses[BookingStatus!]Include cancelled and waitlisted bookings alongside confirmed ones.
myBookingBookingThe viewer's own booking on this session, if they have one.
myGuestBookings[Booking!]!Bookings on this session the viewer made for somebody other than themselves. Excludes their own, oldest first, so a card can render the first guest or two without re-sorting.
waitlistBookings[Booking!]!Parties queued for a place, in the order they joined.
myGuestRegistrations[ActivityRegistration!]!Confirmed registrations on this session that the viewer booked on behalf of someone other than themselves. Empty for unauthenticated requests, and excludes the viewer's own registration. Ordered by creation time, oldest first, so card UIs can render the first one or two guests stably without re-sorting.
paymentResolutionPaymentResolutionResolved payment options for the current user. Null when not authenticated.
When forGuest is true, options are computed for a registration the viewer is booking on behalf of someone else: regular memberships are excluded (their session balance covers the member only), and any membership with guest passes remaining is surfaced as a MembershipGuestPassPaymentOption instead.
Arguments (1)
forGuestBooleanlocationLocationstaff[StaffAssignment!]!Staff assigned to this session. Merges assignments from the parent activity with any session-specific overrides.
urlResourceUrl!calendarCalendarUrl