Object
Business
Fields
idID!nameString!Resolved for the given locale, falling back to English. Defaults to the viewer's locale.
Arguments (1)
localeLocalehandleString!URL-safe handle used as the first path segment in public and admin URLs (e.g. ottawa-volleyball).
staffMembersStaffMemberConnection!Staff members of this business. Cursor-paginated; default page size 50, clamped to [1, 100]. Sort order is name ASC, id ASC. Passing filter.query matches the staff member's name.
Arguments (3)
bookableActivities[Activity!]!Booking activities (structure: booking) that currently accept online bookings — those with availability windows configured. Drives the public booking calendar's chooser. Empty when the appointments feature is off or the business has no booking activities.
activitiesActivityConnection!Activities offered by this business. Cursor-paginated; default page size 50, clamped to [1, 100]. Sort order is createdAt DESC, id ASC. filter.query matches the activity's name (case-insensitive). The array filters (types, structures, registrationStatuses) AND together — passing two structures returns activities matching either one; passing both a structure and a type returns activities matching both. startAfter / endBefore filter on the activity's startDate / endDate columns directly.
Arguments (3)
scheduledSessionsActivitySessionConnection!Cursor-paginated sessions across all activities in this business, for the all-sessions admin list. Supports the same starting filter as sessions, plus filters for activity, staff member, time-of-day, and a free-text query against session/activity name.
Order defaults to startAt ASC, id ASC; pass sort: startDesc to return the most recent sessions first. Default page size 50, clamped to [1, 100].
Arguments (5)
recommendedScheduleViewScheduleView!The calendar view this business's schedule should open on by default, derived from upcoming session density over the next ~4 weeks (in the business's local timezone): DAY when there are generally more than two sessions on the days that have sessions, else WEEK when there are generally more than two per week on weeks that have sessions, else MONTH. Anonymous-queryable — used for the public schedule's SSR default, the <sessions-schedule view="auto"> embed, and the copy-pasteable embed snippet baked in the admin + developer docs.
productsProductConnection!Products sold by this business — passes, memberships, gift cards, and physical products in a single mixed list. Cursor-paginated; default page size 50, clamped to [1, 100]. Sort order is products.createdAt DESC, products.id ASC so newly-created products surface first regardless of subtype.
filter.query matches the product's display name across all subtype tables (case-insensitive). filter.types restricts the result to one or more product subtypes — pass null or omit for the union.
By default the list only contains products available to the current viewer — intro offers drop out once the viewer has purchased from this business — so shopper-facing surfaces can't surface offers the viewer isn't allowed to buy. Management surfaces pass availability: all.
Arguments (4)
brandBusinessBrand!Brand configuration including icon and computed theming tokens.
emailMarketingBusinessEmailMarketing!Email-marketing consent collection settings. Off by default; governs whether the standardized opt-in is presented on registration and checkout.
viewerEmailMarketingConsentEmailMarketingConsentStatusThe signed-in viewer's own marketing-consent status with this business, or null when they are signed out, have no participant record, or were never asked. Lets the registration / checkout opt-in hide itself once the viewer has already subscribed. Only ever the viewer's own status — never another participant's.