# Categories

While location types are used for styling locations on the map, **categories** are intended for **filtering** and **enhancing search experiences.** You can also assign locations to multiple categories if needed.

For more info, [read here](https://docs.mapsindoors.com/products/interface-overview#categories).

### Subcategories

Subcategories add an extra layer to your categories, allowing you to create even more **advanced filtering** and search options for your end users, making the search experience easier and more efficient.

<figure><img src="https://2554025873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYZLXDaaclvaSK6Q7eigW%2Fuploads%2Fgit-blob-92ab0b438b2a0b3aee3cad9cf4399e8d2ac784fa%2FClipboard-20250509-060658-633.gif?alt=media" alt=""><figcaption><p>An example of using subcategories to add an extra filtering layer for "Restrooms," making it even easier for users to find their exactly what they are looking for</p></figcaption></figure>

You can set up "subcategories" in the CMS, under a category:

<figure><img src="https://2554025873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYZLXDaaclvaSK6Q7eigW%2Fuploads%2Fgit-blob-bf1694e695590a4174202e560ce8923bbe278b61%2FCleanShot%202025-05-12%20at%2015.43.53.png?alt=media" alt=""><figcaption></figcaption></figure>

* When you assign a category as a child or subcategory, you cannot use it as a parent.
* You cannot delete a parent category without first removing its children.

{% hint style="success" %}
The Web SDK supports reading subcategory values using `childKeys`
{% endhint %}

{% hint style="warning" %}
Mobile SDKs are not supported yet.
{% endhint %}
