Create an Indoors category

Available for an ArcGIS organization licensed with the Indoors extension.

Categories in an ArcGIS Indoors map define how people interact with point data layers in the Indoors web and mobile apps. These layers can be derived from feature classes in the ArcGIS Indoors Information Model or from feature layers shared with your ArcGIS Enterprise portal from other business systems. The layers can represent work orders, assets, or other points of interest in your organization. These categories can be configured into logical groups to help Indoors app users quickly find relevant information, such as a fire extinguisher, bike rack, smoking area, or work order.

Tip:

Plan the structure of your category groups so that each group only contains categories from a single map layer. Including categories from multiple map layers in a single category group can impact the performance and experience of the search and explore functionality of the Indoors apps.

The Create Indoors Category wizard can be used to create a new category to interact with your organization's points of interest in the Indoors apps.

Define the category

The wizard is contextually driven by the active map and uses properties from the map contents to prepopulate parameters. The category created by the wizard is persisted in the selected map layer, so changing the active map after opening the wizard will reset the wizard and delete the unfinished category.

It’s important to consider the appropriate category groups for the points of interest when creating a new category.

  1. Start ArcGIS Pro.
  2. Open or create a map that contains Indoors layers.
  3. Click the View tab and click Indoors > Configure Indoors Categories.
  4. In the Categories view, click the Create Indoors Category button Create Indoors Category.

    The Create Indoors Category wizard appears.

    The Define pane lists existing point feature layers available in the active map. You can expand the layer to see these layers along with their symbols.

  5. Choose the layer from which the new category items will be derived.

    The name field for the new category you are creating uses the name of the layer you choose in the list unless you change it.

    Note:

    Category configuration reflects the chosen layer, and changing the chosen layer later will reset the wizard parameters.

  6. Optionally, change the name of the category.

    This is the name that appears as a category with an icon in the Explore panel of the Indoors web and mobile apps. The wizard restricts the use of an existing category name to avoid listing duplicate categories in the Indoors web and mobile apps.

  7. Click the Category Group drop-down arrow and choose the group to which you want to associate the new category.

    Category Group lists all the existing Indoors categories. You can create a new stand-alone category level 1 by leaving the default value of None.

  8. Click Next.

Filter a subset of features

You can filter features for the new category to a subset of features from the source layer by applying a filter expression. A category with no expression returns all records from the source layer. The wizard automatically sets an expression if you selected a layer subtype for the new category in the Define pane. There are three methods to define or modify an existing expression:

  • Clause mode—You can enter queries using drop-down menus in an SQL query builder.
  • SQL mode—If you are familiar with SQL expressions, you can create a new expression in the SQL editor with syntax help and autocompletion.
    Note:

    Use the Verify option to make sure your expression is valid before moving to the next step.

  • Add expression—You can load a predefined query from a query expression file (.exp file extension) into the wizard and modify it in the clause or SQL mode as needed.

Indoors also includes the ability to use tokens for string substitution in query expressions. You can configure categories to filter dynamically on app-driven information. Tokens can be defined using the following syntax:

{user.username}

The token is included between the braces in the previous example.

The following SQL editor example shows a token used in a WHERE clause:

Field1 = ‘{user.username}’

The following identifies the URL token supported by Indoors:

NameStringDescription

User Name

user.username

Replaces the text in the string to include the  Enterprise portal user name for the signed in user.

This token is primarily used in a query expression to construct subcategories that are limited to items associated with the current user (for example, work orders assigned to the current user).

It requires the Indoors app user to be signed in to the Enterprise portal.

Tip:

Use a simple expression to define the features to include in the category, such as the following examples:

  • CATEGORY_SUBTYPE = 'DOORS'
  • USE_TYPE = 'ENTRYWAY'

Define the categories using the same fields for all of the categories that are to be grouped. For example, if you're defining categories for the Places + Things category group, all categories would refer to the same field, such as USE_TYPE in their expression.

  1. Optionally, create or edit an expression.
  2. Click Next.

Map fields to the Indoors model

When configuring categories, you can provide mapping to define which fields in the layer describe the required fields when the schema for the layer is not compliant with the Indoors model. If the source layer is an Indoors layer, the field mapping is automatically populated.

The following field mappings are required:

  • Unique ID
  • At least one of the facility fields
  • At least one of the level fields

The following field mappings are optional:

  • Subtitle field
  • Display field (only available for web layers)
  • Work order fields

Unique ID

Some systems available for publishing feature layers don’t reliably provide a static object ID, and a static unique ID is required to support Indoors. Map this field to a unique ID represented in another available field.

PropertiesDescription

Unique ID

Static unique ID for the feature.

Indoors defaults to using the layer’s object ID as a unique ID for a web layer’s features. However, this is not always appropriate, as Indoors expects this to be a static unique ID for the features in a web layer that will not change over the lifetime of the feature.

When mapping fields for categories based on a feature layer or a non-Indoors layer, the following fields must be mapped to make the location floor-aware when represented as categories in the Indoors web and mobile apps. Field mappings are required where one or more of the required fields are missing in the category source layer or when configuring categories for a work order, for example, feature layers published from a work order or other ticketing system.

Facility properties

At least one of the following fields is required:

PropertiesDescription

Facility ID

Facility ID for the feature's location.

Facility Name

Facility name for the feature's location.

Level properties

At least one of the following fields is required:

PropertiesDescription

Level ID

Level ID for the feature’s location.

Level Name

Level name for the feature’s location.

Level Number

Level number for the feature’s location.

Vertical Order

Vertical order for the feature’s location.

Additional properties

These field mappings are optional:

PropertiesDescription

Subtitle

Used to display subtitles in the various parts of Indoor Viewer.

Display field

Used to display titles for features in various parts of Viewer.

Required if your feature layer doesn’t include a display field property or you want to override the display field property of the layer.

Work order properties

These field mappings are required if you want to take advantage of the work order listing capabilities of Indoors. Failing to include these additional field mappings in the category definition for a work order feature layer results in the layer being treated as a traditional web layer in the Indoors web and mobile apps with the traditional explore experience for point of interest layers.

The following are required field mappings to configure work orders as Indoors categories:

PropertiesDescription

Work Order ID

Defines an identifying number for each work order.

Title

Short description of the work order that can be a readable title for the record.

Priority

Sequence or priority in which a work order needs to be resolved.

The value should be a text description of the priority that can be displayed to the app user.

Example—Critical, High, Medium

Status

Status or current position of the work order in its life cycle.

The value should be a text description of the status that can be displayed to the app user.

Example—Planning, Assigned

Created On Date

The date and time when the work order was created.

Created By

Person who reported or is affected by the work order.

Assigned To

Name of the agent to whom the work order is assigned.

  1. If the source layer is not compliant with the Indoors model, map the unique ID, facility properties, and level properties.
  2. Optionally, map the additional properties to define a subtitle field and display field for use in Viewer.
    Note:

    Display field mapping is only available for feature layers. For stand-alone layers, set the display field in the layer properties.

  3. Optionally, complete the field mapping for work order integration.
  4. Click Next.

Example

The following table is an example of attribute mapping for Indoors and ServiceNow work order feature layer integration.

Mapping propertyField name

Facility Name

location_facility_name

Level Name

location_level_name

Work Order ID

number

Title

short_description

Priority

priority_level

Status

state_label

Created On Date

sys_created_on

Created By

called_id_name

Assigned To

assigned_to_name

Specify search fields

Search fields are required to support the search experience in Indoors web and mobile apps. Search keywords are matched to these fields. You can choose one or more fields as your default search field, but a minimum of one field is required to support the search capability.

  1. Choose the fields that you want the Indoors apps to search.
    Note:

    Only text fields are supported by the Indoors search. Certain fields such as ObjectID, GlobalID, or fields that are not supported are restricted from use and aren't available.

  2. Click Next.

Specify a suggestion template

You can configure a template for search suggestions. This template supports the Indoors search capability by providing a list of possible matches as you type the search keyword.

  1. Click the Available Fields drop-down arrow and choose a field.
    Note:

    A minimum of one field is required to support the Indoors search suggestion capability. Adding a new field appends it to the existing template. The wizard automatically constructs an expression that is supported by Indoors.

  2. Click Add To Template.

    This template now contains an expression that points to specific data values in the source feature class or feature layer.

    Tip:

    The template is also an expression editor where you can add or delete fields manually. Be sure to follow the correct syntax when adding or editing the expression. The inclusion of spaces or text to form an expression is supported.

    Example

    "{MODEL} by {MFG}"

    "{MODEL}{MFG}"

    Note:

    Only text fields are supported by the Indoors search suggestion. Certain fields such as ObjectID, GlobalID, or fields that are not supported are restricted from use and aren't available.

  3. Click Next.

Choose icons

You need to set up icon symbols for the new category to display in the Explore panel and in other areas of the Indoors web and mobile apps. If the source layer is using a single symbol or a unique value renderer, the icons used for the new category are automatically populated from the source layer’s symbology. The wizard scales the icons to the appropriate size for use in the Indoors web and mobile apps and displays a preview. If the selected layer uses an unsupported symbol type, the icons will be blank in the wizard and you will have to choose a symbol for all required resolutions.

Note:

It's recommended that you use SVG symbols, because they can scale to different resolutions. Other vector symbols may lose quality and look blurry or pixelated when resized or reformatted to the required resolution.

  1. Choose an icon symbol.

    There are two ways you can replace an icon symbol:

    • Load from File: Loads a .png icon from your computer.
      Note:

      Ensure the image size is appropriate for the resolution.

    • Load from Style: Loads an ArcGIS Pro icon. This opens an ArcGIS Pro gallery containing imported styles (.stylx) and default symbols. Once chosen, the wizard automatically scales the symbol to the required resolution.
      Note:

      Indoors comes preconfigured with default symbols in ArcGIS Pro as a style file. If the default symbols don’t meet your requirements, you can modify the existing set of symbols or create your own.

      Note:

      When setting up a symbol, make sure to check the Scale Proportionally check box in the symbol properties, which enables the symbol to resize and scale correctly when applied as a category icon.

      Tip:

      The category icon and the symbol used to display the category layer on the map must be consistent. Any discrepancy could cause a disconnected experience between the icon in the Explore panel and the map layer in Indoors.

  2. Click Finish to save the category configuration.
Note:

If there are any invalid or missing parameters, the Finish option will be unavailable and the Create Indoors Category wizard will indicate which pane contains the error with a red outline around the corresponding navigation breadcrumb. You can still move through the wizard to make changes, but the Finish option will only be enabled when all required parameters have valid values.