> For the complete documentation index, see [llms.txt](https://docs.mapsindoors.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mapsindoors.com/cms/core-concepts/interactive-blocks.md).

# Location Categories

***

### While a Location can only belong to one Type, it can belong to multiple Categories — making Categories the right tool for flexible filtering and browsing in your app.

***

### Categories vs Location Types

It helps to understand how Categories and Location Types differ:

|                        | Location Types                                     | Categories                                           |
| ---------------------- | -------------------------------------------------- | ---------------------------------------------------- |
| Purpose                | Styling — controls how a Location looks on the map | Filtering — groups Locations for search and browsing |
| How many per Location  | One (required)                                     | Many (optional)                                      |
| Controls Display Rules | Yes                                                | No                                                   |
| Used for app filtering | No                                                 | Yes                                                  |

A canteen, for example, might be of the Type "Canteen" but belong to both the "Food" and "Leisure" Categories. The Type controls how it looks; the Categories control how users find it.

***

### What Categories affect

Categories influence your app in two ways:

**Search** — when a user searches for a Category name, all Locations in that Category are returned as results, even if the Location's name doesn't match the search term.

**Browsing** — Categories appear as filter options in the app's search bar, letting users browse all Locations of a particular kind without typing. The order and visibility of Categories in the app is configured in Solution Details → App Settings → App Configuration.

***

### Subcategories

Categories support one level of nesting. A subcategory sits beneath a parent Category and adds a more specific filtering layer within it.

For example, a "Restrooms" Category could have subcategories for "Accessible", "Male", and "Female" — letting users drill down to exactly what they need.

![Subcategory example](https://docs.mapsindoors.com/~gitbook/image?url=https%3A%2F%2F2554025873-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FYZLXDaaclvaSK6Q7eigW%252Fuploads%252Fgit-blob-92ab0b438b2a0b3aee3cad9cf4399e8d2ac784fa%252FClipboard-20250509-060658-633.gif%3Falt%3Dmedia\&width=768\&dpr=3\&quality=100\&sign=4d018742\&sv=2)

A few rules to be aware of:

* A Category assigned as a subcategory cannot also be used as a parent Category.
* A parent Category cannot be deleted without first removing all its subcategories.
* Subcategories are supported in the Web SDK via `childKeys`. Mobile SDKs do not currently support subcategories.

***

### Managing Categories

Categories are managed in **Solution Details → Categories**. Each Category has a name (translatable) and a key — a short unique identifier used to reference the Category in code and via the Integration API.

To assign Categories to a Location, open the Location Details editor and add them in the Categories field. A Location can have any number of Categories assigned.

Categories can also be assigned in bulk — select multiple Locations in the list view and use the bulk edit option to add or update Categories across all of them at once.

***

### Related concepts

* [Location Types](/cms/core-concepts/integrations.md) — how Locations are styled on the map
* [Data Concepts](/cms/core-concepts/markdown.md) — how Locations fit into the broader data hierarchy
