Shared filter for the business Reports analytics charts (Business.revenueTimeline, participantsTimeline, topActivities, sessionAnalytics, sessionUtilizationHeatmap). Every dimension is optional; a null or empty list means "no constraint on that dimension".
Not every chart can honor every dimension — each field documents which charts apply it. A chart silently ignores dimensions it cannot support rather than erroring. In particular revenueTimeline is backed by payments, which are not linked to activities/staff/locations, so it honors only the surrounding start/end window and reports filtersIgnored when any entity dimension is supplied.
Fields
activity[ID!]Restrict to the listed activity GraphQL IDs. Applied by every chart except revenueTimeline. IDs that don't belong to the business are dropped.
staff[ID!]Restrict to sessions where any of the listed staff members are assigned. Applied by sessionAnalytics and sessionUtilizationHeatmap only — participantsTimeline and topActivities bucket by booking time with no session/staff join, so they ignore this dimension. Rankings still include co-assigned staff; the dimension narrows which sessions count, not which staff appear.
location[ID!]Restrict to sessions at any of the listed location GraphQL IDs. Applied by sessionAnalytics and sessionUtilizationHeatmap only (same reason as staff).
activityType[ActivityType!]Restrict to activities of any of the listed activity types. Applied by every chart except revenueTimeline.
timeOfDay[ActivitySessionTimeOfDay!]Time-of-day buckets evaluated in the business's local timezone. Applied by sessionAnalytics and sessionUtilizationHeatmap only.
status[ActivitySessionStatus!]Session lifecycle statuses to include. Applied by sessionUtilizationHeatmap only — the other charts constrain to their own status sets.