Skip To Content

Map fields for categories based on feature service web layers

Verfügbar mit einem Portal, das mit der Indoors-Funktionalität lizenziert ist.​

Field mapping for feature service categories

When configuring categories for feature service web layers, you may provide a mapping to define which fields in the layer describe the required fields when the schema for the web layer doesn’t include the required fields.

Mapping fields for categories is intended to simplify the integration of non-ArcGIS Indoors data derived from other business systems with the Indoors map while providing floor awareness for this data when represented as categories in the Indoors apps. Feature service web layers published from a work order or other ticketing system are examples of this.

Field mappings are required where one or more of the required fields are missing in the web layer or when configuring work order categories.

Hinweis:

The ability to map fields is limited to feature service web layers that will be represented as categories. Indoors doesn't support mapping fields for stand-alone web layers. If you intend to include a stand-alone web layer and want Indoors to properly filter its data for the selected facility and level, you must ensure that the layer includes the required fields.

This mapping is represented as a configured JSON string to be included in the CONFIG field for any level 1 category based on a feature service web layer. It’s not necessary to include this mapping in any level 2 subcategories derived from this web layer.

When mapping fields for categories based on a feature service web layer, the following fields must be represented in the web layer:

One or both of the following:

JSON keyDescription

facilityIdField

Facility ID for the feature's location.

facilityNameField

Facility name for the feature's location.

And one or more of the following:

JSON keyDescription

levelIdField

Level ID for the feature’s location.

levelNameField

Level name for the feature’s location.

levelNumberField

Level number for the feature’s location.

verticalOrderField

Vertical order for the feature’s location.

Optional mapping is available if your layer includes the following fields:

JSON keyDescription

displayField

Used to display titles for features in various parts of Indoors Web.

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

Not used in the Indoors mobile apps.

subTitleField

Used to display subtitles in the various parts of the Indoors apps.

uniqueIdField

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.

Some systems available for publishing feature services don’t reliably provide a static Object ID, and it’s necessary to define a static unique ID to support Indoors as a unique ID represented in another available field.

The following is an example of JSON attribute mapping:

{
  "mappings": {
    "uniqueIdField": "<field_name>",
    "displayField": "<field_name>",
    "subTitleField": "<field_name>",
    "facilityIdField": "<field_name>",
    "facilityNameField": "<field_name>",
    "levelIdField": "<field_name>",
    "levelNameField": "<field_name>",
    "levelNumberField": "<field_name>",
    "verticalOrderField": "<field_name>"
  }
}

Tipp:

Indoors allows a limited set of mapped fields to exist in the web layer and will automatically determine the correct association of each feature to the Indoors floor plan assuming one or more of the listed facility- and level-related fields have been mapped for the parent category.

Example A

Layer includes facility ID and level name:

{
  "mappings": {
    "uniqueIdField": "<field_name>",
    "facilityIdField": "<field_name>",
    "levelNameField": "<field_name>",
  }
}

Example B

Layer includes facility name and vertical order:

{
  "mappings": {
    "uniqueIdField": "<field_name>",
    "facilityNameField": "<field_name>",
    "verticalOrderField": "<field_name>"
  }
}

Field mapping for work order categories

Work order categories are identified in Indoors as categories including the following additional field mappings.

Required field mapping for work orders:

JSON keyDescription

idField

Defines an identifying number for each work order.

titleField

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

priorityField

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

statusField

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

createdOnField

The date and time when the work order was created.

createdByField

Person who reported or is affected by the work order.

assignedToField

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

This mapping is 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 service web layer results in the layer being treated as a traditional web layer with the traditional explore experience for point of interest layers in Indoors Web.

Hinweis:

ArcGIS Indoors for iOS and ArcGIS Indoors for Android don’t support the inclusion of categories for traditional feature service web layers. Ensure that you include the required field mappings for work order categories if you intend to integrate this information with the Indoors mobile apps.

Example

JSON attribute mapping for Indoors and ServiceNow work order feature service integration.

{
  "mappings": {
    "facilityNameField": "location_facility_name",
    "levelNameField": "location_level_name"
  },
  "workOrderMappings": {
    "idField": "number",
    "titleField": "short_description",
    "priorityField": "priority_label",
    "statusField": "state_label",
    "createdOnField": "sys_created_on",
    "createdByField": "caller_id_name",
    "assignedToField": "assigned_to_name"
  }
}

Make a note of the distinction between the required "mappings" and "workOrderMappings" sections of the JSON string. Ensure that you don’t mix the required work order mapping fields with the traditional mapping fields when configuring your JSON string categories derived from a work order feature service web layer.

Hinweis:

There are many free JSON editors available online that you can use to validate the structure of your JSON strings. It is recommended that you first validate your strings using one of these editors before attempting to use them with an Indoors category, as this will help you troubleshoot problems with your category configuration later if necessary.