Microsoft Places Configuration

Microsoft Places is a new AI-powered connected workplace app that reimagines flexible work. It helps you coordinate where work happens, modernise the workplace experience and improve employee connections, and optimise the workplace based on changing employee needs.

Use an indoor map created with Mappedin in Microsoft Places to provide users with a visual representation of a building.

places-map-screenshot

Configure Microsoft Places

Microsoft Places is in Public Preview. Use the following steps to request access and configure it for use with Mappedin indoor maps. At the time of writing configuration of Places is available for Windows only.

If you have already configured Microsoft Places, skip to Configure a New Map.

1. Request Access

Opt in to advanced features in the Microsoft Places Public Preview by requesting access from Microsoft.

2. Install Powershell Version 7+

Powershell version 7+ is required. Attempting to use a lower version will result in errors. Use winget to install Powershell using the following command:

winget install --id Microsoft.PowerShell.Preview --source winget

3. Run the Microsoft Places Install Script

Ensure you are using an account that has the Places Management prerequisites of Exchange Admin and TenantPlacesManagement role.

Right click on PowerShell v7 from start menu, and select Run as Administrator. Execute the following commands:

Install-Script -Name DeployPlaces
DeployPlaces

4. Create Building and Floors

Next, create the building and floors. To do so download from Places the existing CSV file containing the building and floors using the following Powershell commands:

Connect-MicrosoftPlaces
Initialize-Places

These commands will prompt with the questions below, choose option #1.

1. Export suggested mapping CSV of rooms to buildings/floors.
2. Import mapping CSV to automatically create buildings/floors and room mappings.
3. Export PowerShell script with commands to manually create buildings/floors and room mappings based on an imported CSV.

If no buildings have been configured, the CSV file will contain headings only. Use Notepad or Excel to modify the CSV file. If using Excel, ensure to save the file as a CSV and not as an Excel spreadsheet.

Delete all headings/columns except for InferredBuildingName, InferredFloorName and PrimarySmtpAddress.

Populate the CSV file with your building information. Example:

InferredBuildingName,InferredFloorName,PrimarySmtpAddress
Corporate Headquarters,Level 1,
Corporate Headquarters,Level 2,
Corporate Headquarters,Basement,

Re-run these Powershell commands to connect to and initialize Places.

Connect-MicrosoftPlaces
Initialize-Places

Choose option #2 to import the modified CSV file.

1. Export suggested mapping CSV of rooms to buildings/floors.
2. Import mapping CSV to automatically create buildings/floors and room mappings.
3. Export PowerShell script with commands to manually create buildings/floors and room mappings based on an imported CSV.

Set Floor Elevation

Align the floor's sort order in places with the elevation in Mappedin. The sort order value should match the elevation of the floor in Mappedin. To view the elevation open the map editor and choose Edit Floors.

places-edit-floors

places-get-elevation

In the screen shots above, Floor 1 is set to elevation 0, which should be used as the sort order for that floor. The ground floor is set to 0, floors above ground are set to positive integers and floors below ground are set to negative integers.

Locate the Places floor identity for each floor using the Powershell command below.

Get-Placev3 -Type Floor

Use the identity value for each floor returned from the command above and its elevation from Mappedin to set the floor sort order in Places.

Set-Placev3 -Identity <FLOOR_IDENTITY> -SortOrder 0

5. Create Rooms

Create room resources in Microsoft Exchange Admin.

An Exchange room name must match a Mappedin space name. If there is no match the room will not be shown on the map within Places.

Use the Powershell command Get-PlaceV3 to check if rooms have been synchronised from Exchange. Once they have, each room can be assigned to the correct floor using Set-PlaceV3.

It may take up to 24 hours for room resources to propagate from Exchange to Places.

Exchange assigns each room an email address. Use the room's email address as the Identity parameter and floor identity value as the ParentId. The command Get-Placev3 -Type Floor can be used to get a list of all floors and their identifiers.

Set-PlaceV3 -Identity room@yourDomain.com -ParentId <YOUR_FLOOR_ID>

6. Creating a Desk Pool

Microsoft Places can configure clusters of desks. Desk clusters are managed together and known as desk pools (they're also referred to as workspaces). By using desk pools users can reserve a place to work, when they visit the office.

The following Powershell commands can be used to create and configure a desk pool. The Exchange Admin role is required to execute these commands. In the example below 1005 is used as the desk pool's name.

A desk pool name must match a Mappedin space name. If there is no match the desk pool will not be shown on the map within Places.

Connect to Exchange:

Connect-ExchangeOnline

Create a mailbox for the Desk Pool:

New-Mailbox -Room -Alias 1005 -Name 1005 | Set-Mailbox -Type Workspace

Set the Timezone for Desk Pool:

Set-MailboxCalendarConfiguration -Identity 1005 -WorkingHoursTimeZone "Eastern Standard Time" -WorkingHoursStartTime 09:00:00

Set the reservation rule for Desk Pool:

Set-CalendarProcessing -Identity 1005 -EnforceCapacity $True -AllowConflicts $True

Connect to Microsoft Places:

Connect-MicrosoftPlaces

Look up the desk's building and floor and place the desk there:

$building = Get-PlaceV3 -Type Building | Where-Object -Property DisplayName -eq "YOUR_BUILDING_NAME"
$floor = Get-PlaceV3 -AncestorId $building.PlaceId | Where-Object -Property DisplayName -eq "YOUR_FLOOR_NAME"
Set-Placev3 -Identity 1005 -Capacity 10 -Label "1005" -ParentId $floor.PlaceId

These changes may take 24 to 48 hours to propagate.

Configure a New Map

After configuring the building, floor and desks in Microsoft Places a Mappedin indoor map can be imported.

If you recently updated a room or workspace in Microsoft Places, it will take up to 48 hours for changes to update in Microsoft's system. If this completes after a map upload you will need to update the existing map.

The Powershell commands below require Powershell 7+. Refer to the Install Powershell Version 7+ section above for the steps to do so.

Connect to Microsoft Places:

Connect-MicrosoftPlaces

Find the building Id:

Get-PlaceV3 -Type Building | ft DisplayName,PlaceId

Generate a CSV from using the PlaceId for the building as the AncestorId:

Adjust the path to the CSV to where it should be saved.

Get-PlaceV3 -AncestorId <YOUR_BUILDING_ID> | export-csv "C:\path\to\save\csv\assets.csv"

Open Mappedin and select the map. From the Download Menu choose Download as MS Places.

places-download-menu

Upload the CSV file exported from Microsoft Places and then click the Export Correlated IMDF button to download an IMDF map export.

places-upload-csv

places-download-imdf

Upload the map export to Places:

Adjust the path to where the IMDF map export is saved.

New-Map -BuildingId <YOUR_BUILDING_ID> -FilePath "C:\path\to\map\export\imdf_correlated.zip"

Update an Existing Map

To update a map in Microsoft Places the existing map must be deleted and a new map imported. Follow the steps below to delete an existing map.

The Powershell commands below require Powershell 7+. Refer to the Install Powershell Version 7+ section above for the steps to do so.

Connect to Microsoft Places:

Connect-MicrosoftPlaces

Find the building Id:

Get-PlaceV3 -Type Building | ft DisplayName,PlaceId

Remove the map:

Remove-Map -BuildingId <YOUR_BUILDING_ID>

To add a new updated map, follow the steps in the Configure a New Map section.

Maps for Good 🤍

© 2024 Mappedin Inc.

All Rights Reserved.

Sign up for developer updates

Get early access to release notes, major version changes, version migration guides, and our developer focused blog posts.

Loading...

For more information

Read the Developer Blog

Explore the Playground

Talk to Sales