Advanced POI Import - JSON Configuration Reference
Summary
This document provides some advanced context on the configuration of a Points of Interest (POIs) in MazeMap.
Advanced settings can be achieved in editing the JSON configuration on the poi import.
- 1 Summary
- 2 Prerequisites
- 3 MazeMap Import Configurations
- 4 Explanation of JSON Configuration
- 4.1 Structure of the JSON Configuration
- 4.2 JSON Configuration Settings Explained
- 4.2.1 1. Import Type (type)
- 4.2.2 2. Import Source (source)
- 4.2.3 3. External JSON Import - Specific Configurations
- 4.2.3.1 3.1. Client Configuration (clientConfig)
- 4.2.3.2 3.2 URL (uris)
- 4.2.3.3 3.3 Data Structure (rowConfig)
- 4.2.4 4. Excel Data Import Specific Configurations
- 4.2.4.1 4.1. Data sheet (sheet)
- 4.2.4.2 4.2. Import Source (headerLines)
- 4.2.5 5. Identifier Sources (identifierSources)
- 4.2.6 6. POI Naming & Categorisation (poiInfo)
- 4.2.6.1 6.1 Setting POI Names
- 4.2.6.2 6.2 Setting POI Title
- 4.2.6.3 6.3 Setting POI Types
- 4.2.7 7. POI Data (poiData)
- 4.2.8 8. Map Display Text (markers)
- 4.2.9 9. Customer POI Identifiers (identifierNames)
- 4.2.10 10. Created Point POI locations (geoCoordinates)
- 4.2.11 11. POI Information - URL (richPoiUrlColumn)
- 4.2.12 12. POI Information - URL Text (richPoiUrlTextColumn)
- 4.2.13 13. POI Information - Description (richPoiDescriptionColumn)
- 4.2.14 14. POI Information - PeopleCapacity(peopleCapacityColumn)
- 4.2.15 15. Floor Name Column (floorNameColumn)
- 4.2.16 16. External References (externalReferencesColumn)
- 4.3 Conclusion
- 4.4 Example JSON Configurations
Prerequisites
Before modifying a POI import via the JSON configuration, ensure you have:
Access to the MazeMap Admin Tool.
Created a POI Import.
A data source containing POI details that is structured correctly and accessible.
An understanding of JSON structure.
MazeMap Import Configurations
MazeMap supports three primary types of POI imports:
Floorplan Label Configuration
POIs in the import are matched against floor plan labels in the drawings and maps.
Data is matched using the floor_plan_prefix and POI ID.
External ID Configuration
POIs are matched with the external IDs provided in the import.
Non-existing POIs will be created automatically if the latitude (lat), longitude (lng), and floor name are included.
Manual POI ID Configuration
POIs in the import are matched against POI IDs manually created in the MazeMap Admin Tool.
This configuration is only for manually created POIs and does not support automatic creation.
Recommendation: Use the External ID Configuration for programmatic updates to POI locations and information.
Explanation of JSON Configuration
MazeMap allows the importing of data through a structured configuration.
Configuration is managed in a JSON configuration file located in the Admin Tool.
To access the configuration:
From the POI menu, navigate to Import → Select the import
For External JSON Imports, the JSON configuration can be edited directly.
For Excel Imports, follow these steps:
Click anywhere on the import.
Press Escape.
Type json, and the editor will load.
Important: After making changes, click the "Save Configuration" button in the bottom right-hand corner to apply updates.
Structure of the JSON Configuration
Section | Description | Link |
---|---|---|
| Defines the type of import | |
| Identifies the data source | |
| Configures the API request method, headers, and parameters. | |
| Specifies the URL(s) of the API call. | |
| Defines how data is extracted from the JSON response. | |
| Specifies which sheet to read from in an Excel file. | |
| Defines the row containing column headers. | |
| Specifies how POIs are matched or created. | |
| Determines how POI names, title and types are assigned. | |
| Names - searchable names | |
| Title - title of the POI | |
| POI Types - types applied to a POI | |
| Stores additional POI information. | |
| Defines the text displayed on the map. | |
| Used for unique customer identifiers. | |
| (For External ID Imports Only) Stores latitude and longitude data. | |
| Column for POI URLs. | |
| Column for URL descriptions. | |
| Column for POI descriptions. | |
| Defines the maximum occupancy of a POI. | |
| (For External ID Imports Only) Defines the floor name for POI placement. | |
| Stores external system references. |
JSON Configuration Settings Explained
All column numbers referenced in the configuration are zero-based indexes (i.e., the first column is 0, the second is 1, and so on).
Excel Imports: Columns are matched based on their position in the Excel file.
JSON API Imports: Columns are extracted from the API response using
columnJPaths
, which must align with the JSON structure.Field Mapping: Ensure that the column numbers provided match the expected structure in the source data.
1. Import Type (type
)
Defines whether the import is JSON (json_row
) or Excel (row
).
Example:
"type": "json_row"
type
: Type of Importjson_row
for JSON API,row
for uploaded excel file.
2. Import Source (source
)
This specifies the data source for the importt.
Example:
"source": 50
source
: Source of the import.50
for External JSON133
for Excel data
3. External JSON Import - Specific Configurations
3.1. Client Configuration (clientConfig
)
Defines API request parameters.
Example:
"clientConfig": {
"method": "GET",
"headers": {
"Content-Type": "application/json"
},
"params": {},
"debug": "true"
}
Field Descriptions:
method
:GET
orPOST
headers
: API request headers.params
: Additional API parameters.debug
: Should remain"true"
.
3.2 URL (uris
)
Defines the API endpoint for data import.
Example:
3.3 Data Structure (rowConfig
)
Defines how data is extracted from the API response.
Example:
Field Descriptions:
rowJPath
: The JSON path to the POI data in the response.columnJPaths
: The list of fields extracted from the API response.
Note: The fields must appear in the same order as they are in the API response.
4. Excel Data Import Specific Configurations
4.1. Data sheet (sheet
)
Specifies which sheet to read in an Excel file (0-based index).
Example:
4.2. Import Source (headerLines
)
Specifies the row containing column headers, with 1 being the first row.
Example:
5. Identifier Sources (identifierSources
)
This defines how POIs are matched or created based on the POI Import Configurations.
Floor Plan Label Example Configuration:
External ID Example Configuration :
Note: When using the External ID Configuration and there are POIs located inside, the additional floorNameColumn needs have the column number added.
Manual POI ID Example Configuration:
Field Descriptions:
importSourceId
: Data source ID50
for External JSON,126
for Floor Plan Parsing / Manually Created.
itemCol
: Needed for Floorplan Label Configuration or nullfloorCol
: For External ID Configuration containing the floor prefix or null.externalIdCol
: For Manual POI ID Configuration - Column containing an external ID or null.poiIdCol
: For Manual POI ID Configuration - the column with the corresponding PO ID or null.
6. POI Naming & Categorisation (poiInfo
)
Determines how POI names and types are assigned.
6.1 Setting POI Names
Use
nameCol
and assign a column number.Set
priority
at20
.
6.2 Setting POI Title
Assign
nameCol
and a column number.The lowest priority value determines the title.
6.3 Setting POI Types
Use
typeCol
to define POI types.Set
priority
at20
.
Example:
Field Descriptions:
nameCol
: Column containing a name.priority
: Lower values take precedence for setting the POI title.typeCol
: Column defining the POI type.
7. POI Data (poiData
)
This section is reserved for future use and should be left blank.
Example:
8. Map Display Text (markers
)
Defines what text appears on the map.
Example:
Field Descriptions:
textCol
: Column containing the text for the map.priority
: set at 15 or lower for the import you want to be displayed.joinPriority
: set at 20comment
: leave as null
9. Customer POI Identifiers (identifierNames
)
Allows setting custom POI identifiers for integration with external systems.
Note: This field does not make this information searchable. If searching by identifierNames
is needed, also add the identifier as a nameCol
under poiInfo to make it searchable.
Example - Set:
Example - Not Set:
Field Descriptions:
itemCol
: Column containing the customer’s unique identifier.priority
: set at 15 or lower for the import you want to be displayed.comment
: set as null.
10. Created Point POI locations (geoCoordinates
)
When using the External ID Configuration the location of the POI is derived from geoCoordinates
.
Note: If some of the POIs are located indoors, floorNameColumn must be set to the column that contains the floor name.
Example:
Field Descriptions:
latCol
: Column containing the latitude.lngCol
: Column containing the longitude.
11. POI Information - URL (richPoiUrlColumn
)
Defines the column in which the URL for POI details is located.
Example:
12. POI Information - URL Text (richPoiUrlTextColumn
)
Defines the column containing the text for a POI URL.
Example:
13. POI Information - Description (richPoiDescriptionColumn
)
Defines the column containing the text for the description for a POI.
Example:
14. POI Information - PeopleCapacity(peopleCapacityColumn
)
Defines the column for the occupancy for a POI.
Example:
15. Floor Name Column (floorNameColumn
)
When using the External ID Configuration import, this must be set to the appropriate column ID or null
.
Example:
16. External References (externalReferencesColumn
)
References for external system integration.
A single external reference has the format ‘type;vendor;value’. It is possible to have multiple external references per room. Multiple external references should be separated by the forward-slash character ( / ). Some external references may contain the forward-slash character so as a rule of thumb, each external reference should be url-encoded.
E.g. Given the following external references,
room_booking;google;
room_booking;outlook;
room_booking;time_edit;
room_booking;office_app;
room_booking;planon;
occupancy_senso;iaconnects;
occupancy_sensor;johnsoncontrols;
occupancy_sensor;iotspot;
occupancy_sensor;sensorapi;
occupancy_sensor;dnaspaces;
occupancy_sensor;planon;
library_shel;alma;
webex;webex;
link_insertion;outlook;
ellucian;ellucian;
Each of them should be url-encoded like so...then separated by forward slashes ( / )
occupancy_sensor%3Biaconnects%3BA%2FB%2FC%2FD
Example:
Encoded Example:
This prevents issues with forward slashes /
in values.
Conclusion
Configuring POI imports using advanced JSON settings in MazeMap allows for greater flexibility and automation. To ensure a successful setup, follow these key principles:
Understand Data Matching: Column references use zero-based indexing, and values must align with the correct data structure from the API response or Excel sheet.
Choose the Right Import Type: Use External JSON for API-based imports or Excel for file-based imports. Ensure
source
is correctly set (50
for JSON,133
for Excel).Customize Data Extraction: Configure
rowConfig
for JSON imports to correctly map fields, or setheaderLines
andsheet
for Excel imports.Define POI Matching Rules: Use
identifierSources
to determine how POIs are created or updated, whether by external ID, floor labels, or manually assigned POI IDs.Optimize POI Information: Configure
poiInfo
to set searchable names, titles, and types, ensuring correct categorization and display.Handle External System Integration: Use
externalReferencesColumn
to link POIs with external booking systems, occupancy sensors, or asset tracking solutions.Test & Validate Imports: Run sample imports in staging environments to verify correct mapping before applying changes to production.
By leveraging these advanced settings, you can create a scalable and automated POI import process that integrates seamlessly with external data sources. If you encounter any issues, refer to MazeMap’s support documentation or contact technical support.
Example JSON Configurations
Example - External JSON - Floorplan Label
Example - External JSON - External ID Configuration - Internal POI and External POIs
Example - External JSON - External ID Configuration - External POIs only.
Example - External JSON - Manual POI ID
These examples can be modified based on the POI data you are importing.