MPILocation

@Serializable
data class MPILocation(    val id: String,     val name: String? = null,     val type: String? = null,     val description: String? = null,     val sortOrder: Double? = null,     val logo: MPIImage? = null,     val phone: MPIPhone? = null,     val social: MPISocial? = null,     val shortName: String? = null,     val detailsUrl: String? = null,     val parent: String? = null,     val tags: List<String>? = null,     val externalId: String? = null,     val picture: MPIPicture? = null,     val states: List<MPILocationState>? = null,     val operationalHours: List<MPIOpeningHours>? = null,     val siblingGroups: List<MPISiblingGroup>? = null,     val gallery: List<MPIGalleryImage>? = null,     val extra: String? = null) : MPINavigatable

MPILocation represents a specific area of interest such as a store location

  • Note: A MPILocation's MPINodes and MPIPolygons can be on multiple MPIMaps, or in multiple non-adjacent places on the same MPIMap. For example, all washrooms at a given venue could belong to one MPILocation. A washroom location might a have a few MPIPolygons spread throughout the venue for each one that exists. On the other hand, a department store could live on multiple floors. A single store can just have one presence, and therefore one MPIPolygon . Some Locations just have a single point with MPINodes.

  • Note: MPILocation has an ID and will be linked to MPINode, MPIPolygon.

Constructors

Link copied to clipboard
constructor(    id: String,     name: String? = null,     type: String? = null,     description: String? = null,     sortOrder: Double? = null,     logo: MPIImage? = null,     phone: MPIPhone? = null,     social: MPISocial? = null,     shortName: String? = null,     detailsUrl: String? = null,     parent: String? = null,     tags: List<String>? = null,     externalId: String? = null,     picture: MPIPicture? = null,     states: List<MPILocationState>? = null,     operationalHours: List<MPIOpeningHours>? = null,     siblingGroups: List<MPISiblingGroup>? = null,     gallery: List<MPIGalleryImage>? = null,     extra: String? = null)

Types

Link copied to clipboard
@Serializable
data class MPITinyNode(val node: String, val map: String)

MPITinyNode is a MPINode with only id and id of its map

Properties

Link copied to clipboard

A list of categories linked to the MPILocation

Link copied to clipboard
val description: String? = null

Description of the MPILocation

Link copied to clipboard
val detailsUrl: String? = null

Url of the details of the MPILocation

Link copied to clipboard
val externalId: String? = null

External id of the MPILocation

Link copied to clipboard
val extra: String? = null

Contains a JSON string with extra properties of the location.

Link copied to clipboard

Gallery images of the MPILocation

Link copied to clipboard
open override val id: String

Id of the MPILocation

Link copied to clipboard

Specific instances of this location with different properties. Typically, there will be at least one node or polygon defined, plus one or more other properties that are different from the parent. The remaining properties will be the same as the parent. For example, suppose there is a location like this: { "id": "location-id-1", "name": "Location 1", "nodes": ["node-1", "node-2"], "polygons": ["polygon-1", "polygon-2"], "externalId": "externalId-1", "description": "Description 1", } (Note that for clarity, the example has used strings in for nodes and polygons, but in practice they would be objects.) Then suppose it had an instances array that contained an object that looked like this: { "id": "instance-id-1", "name": "Location 1 - A", "nodes": ["node-1"], "polygons": ["polygon-1"], "externalId": "externalId-1-A", "description": "Description 1", } This says "Location 1" is the parent location, and "Location 1 - A" is an instance of it. The instance has a different name, and a different external ID, and it only applies to node node-1 and polygon polygon-1. The ID will always be different, but other properties (like the description) are the same as the parent. Example use cases: A Mall may have a location with two nodes and one polygon. It may then have an instance with one of the nodes, and operating hours that are different from the parent. This indicates that this instance is an entrance for the location that is accessible at different times, perhaps for an interior mall entrance, when the main location (and other, exterior entrance) is open later than the rest of the mall. An airport may have a location with several polygons and nodes, and an instance for each node (and corresponding polygon, if any) with a different siblingGroup. The location in the sibling group may be the airport terminal, or airside vs landside. This would allow an application to show the location once in a search result, but offer UX to select the instance that is in the right terminal. Note: Instances are actual EnterpriseLocations. This means they have all the properties of a normal EnterpriseLocation, including an instances property, that will always be undefined. They also do NOT have a parent property, or any other explicit reference to the parent location. These instances are only referenced from their parent location, and will not show up in other places in the map data. However, they should otherwise behave like normal EnterpriseLocations, being targetable for things like navigation and focus.

Link copied to clipboard
val logo: MPIImage? = null

Logo of the MPILocation

Link copied to clipboard
val name: String? = null

Name of the MPILocation

Link copied to clipboard

An array of nodes linked to the MPILocation

Link copied to clipboard

Operation hours of the MPILocation

Link copied to clipboard
val parent: String? = null

id of the parent location of the MPILocation

Link copied to clipboard
val phone: MPIPhone? = null

Phone of the MPILocation

Link copied to clipboard
val picture: MPIPicture? = null

Picture of the MPILocation

Link copied to clipboard

An array of polygons linked to the MPILocation

Link copied to clipboard
val shortName: String? = null

Short name of the MPILocation

Link copied to clipboard

Sibling groups of the MPILocation

Link copied to clipboard
val social: MPISocial? = null

Social media accounts of the MPILocation

Link copied to clipboard
val sortOrder: Double? = null

Sort order of the MPILocation

Link copied to clipboard

States of the MPILocation

Link copied to clipboard
val tags: List<String>? = null

Tags of the MPILocation

Link copied to clipboard
val type: String? = null

Type of the MPILocation