MVF v1: Data Model
The Mappedin Venue Format consists of several data models that our SDKs use to display your indoor maps correctly:
Venue
A Venue is the most top level data model that encompasses all other data models
Property | Description | Optional |
---|---|---|
id | A unique string identifier | No |
name | A string that represents the name of the venue | No |
slug | A string that represents a more human-readable unique identifier for the venue | No |
buildings | A list of building ids that the venue is linked to | No |
Building
A building is a collection of levels assembled into a structure within a venue, such as an office tower or a theatre. A building's geometry is determined by the union of all of the level geometries within the physical building. You can have multiple buildings per venue.
Property | Description | Optional |
---|---|---|
id | A unique string identifier | No |
name | A string that represents the name of the building | No |
venue | The venue id that the building is associated with | No |
Level
A level is a traversable level within a Building
and is represented by a Polygon
geometry. A level will never extend beyond the bounds of its building.
Property | Description | Optional |
---|---|---|
id | A unique string identifier | No |
name | A string that represents the name of the level | No |
building | The id of the Building that the level is contained in | No |
abbreviation | A string that represents an abbreviation of the level's name | No |
elevation | An integer that represents the elevation of the level relative to the ground, possible values are 0 (ground level), -n (underground level n) and +n (above ground level n) | No |
Space
A space is a traversable area such as a room that exists in a Level
. Spaces are represented by a Polygon
geometry or Point
geometry.
Property | Description | Optional |
---|---|---|
id | A unique string identifier | No |
level | The id of the level that the space is contained within | No |
parent | The id of the parent Space that the current Space is contained within | Yes |
externalId | The external id field of the space (e.g. unit number) | Yes |
Obstruction
An obstruction is a non-traversable area (e.g. partition wall), meaning a path will never be created through an obstruction. Obstructions are represented by a Polygon
geometry and may intersect with Space
s
Property | Description | Optional |
---|---|---|
id | A unique string identifier | No |
level | The id of the level that the obstruction is contained within | No |
parent | The id of the parent Obstruction that the current Obstruction is contained within | Yes |
externalId | The external id field of the obstruction | Yes |
Connection
A connection is a mechanism that facilitates traversal between spaces, such as a staircase or an elevator within a building. Connections are linked by two different nodes. When creating a path, an accessible parameter can be provided that determines if a connection should be used for the path. Connections are represented by a Polygon
geometry or a Point
geometry.
Property | Description | Optional |
---|---|---|
id | A unique string identifier for the node this connection is on | No |
name | A string that represents the name of the connection (e.g. Escalator 1) | No |
level | The id of the level that the connection is contained within | No |
destinations | A list of id pairs in the format "vortex-node" where vortex is the id of this vortex and node is the id of the destination node on another floor | No |
type | Possible types consist of “stairs”, “elevator”, “escalator”, “moving-walkway”, “ramp” and “slide” | Yes |
weight | An integer that represents the cost associated with taking a connection, used in conjunction with the Connection's muliplier property when calculating the least "costly" path. | No |
multiplier | An integer that is multiplied against the weight to calculate the full cost associated with taking a connection | No |
accessible | A boolean that represents if the connection is wheelchair accessible or not | No |
Location
A location is a place of interest that is linked to a Space
, such as a store or meeting room. Locations do not contain a geometry.
Property | Description | Optional |
---|---|---|
id | A unique string identifier | No |
name | A string that represents the name of the location | Yes |
spaces | A list of space ids that the location is linked to. In most cases a location will be associated with a single space id. However there are certain cases where there will be multiple space ids, such as when a location is on multiple levels. | No |
type | Possible values consist of “tenant" or "amenity" | No |
categories | A list of category ids that the location is linked to (e.g. Restaurant) | No |
externalId | The external id field of the location | No |
logo | An object that contains image urls for the logo of the location | No |
picture | An object that contains image urls for the picture of the location | No |
phone | An object that contains the phone numbers of the location | No |
A string that represents the email of the location | No | |
social | An object that contains social media urls of the location | No |
hours | An array that contains the hours of operation of the location | No |
Category
A category is a group of locations with shared characteristics, such as Restaurants or Meeting Rooms. Categories are represented by a null geometry and are instead represented by their associated locations.
Property | Description | Optional |
---|---|---|
id | A unique string identifier | No |
name | A string that represents the name of the category | No |
picture | An object that contains image urls for the picture of the category | Yes |
Node
A node is a point on the map that is used to create a path from a starting location to a destination. Nodes may be linked to other nodes which is represented by its neighbors
property.
Property | Description | Optional |
---|---|---|
id | A unique string identifier | No |
level | The id of the level that the node is contained within | No |
neighbors | A list of node ids that the node is linked to, allowing a path to be created from one node to another | No |
weight | An integer that represents the cost associated with taking a node, used in conjunction with the Node's muliplier property when calculating the least "costly" path. | No |
multiplier | An integer that is multiplied against the weight to calculate the full cost associated with taking a node | No |
accessible | A boolean that represents if the node is wheelchair accessible or not | No |