> ## Documentation Index
> Fetch the complete documentation index at: https://docs.assetinfinity.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# One level of the maintenance explorer: the groups below where the reader has got to, with what became of each group's…

> One level of the maintenance explorer: the groups below where the reader has got to, with what became of each group's planned maintenance rounds.

`p_by` is the view the explorer opened in. SITE goes from sites to the locations inside each, a level at a time; PLAN from maintenance plans to the assets each covers; CATEGORY from asset categories to the categories under them; TEAM from teams to the people in each. `p_filter` is the path walked so far, in the keys `api.maintenance_drilldown_rows` takes, and decides the level; a path that has reached the rounds themselves returns no rows. Each row's `filter` is that path with the row's own key added, to pass back for the next level or to list its rounds, and `can_drill` is false where the next level is the rounds. A location or category with rounds against itself as well as below it has its own row, with `is_self` true. A group with no value (no team, no asset) has a null `group_id`; under a plan, that row is the plan's rounds against places. `group_code` is the plan or asset number.

The six outcome counts (on time, late, overdue, upcoming, skipped, covered) add up to `total_count`. `deferred_count` is the rounds whose date was moved, whatever became of them. PM compliance is `compliance_on_time_count` over `compliance_due_count`. Counts are of the rounds the caller can already see.



This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.