Skip to content

Latest commit

 

History

History
176 lines (122 loc) · 11 KB

locker-booking.md

File metadata and controls

176 lines (122 loc) · 11 KB
description
Steps to Configure Locker Booking for PlaceOS

Locker Booking

PlaceOS is able to support locker bookings via supported Locker Hardware Integrations.

The features available PlaceOS for Locker Booking are dependant on those available via the hardware integration. For example, some lockers will allow remote unlock functionality while others will not.

Add Locker Zone Metadata

For lockers to function, much like desks, we must add metadata that contains the relevant data for the lockers.

Once the metadata is configured, the locker interface will be dynamically rendered on the frontend applications for end users.

1. Navigate to PlaceOS Backoffice

2. Click on Zones

Step 2 screenshot

3. Select a Level Zone

Locker data must reside in the relevant level zone, locate the level zone you would like to add lockers to and select it. \

4. Click on the Metadata tab

Step 4 screenshot

5. Click on Add new Metadata Field

Step 5 screenshot

6. Edit the new metadata field

Step 6 screenshot

7. Name the metadata field 'lockers'

Step 7 screenshot

8. Click Update

Step 8 screenshot

9. Expand the new lockers metadata field by clicking on it

Step 9 screenshot

10. Once you have completed entering the metadata into the field, click Save.

Step 10 screenshot

Configuring the Locker Metadata

The locker metadata is detailed below, for each locker a single array of data is required as a child of the locker bank identifier:

```json
{
        "id": "bank-1",
        "name": "Bank 1",
        "height": 3,
        "map_id": "table-01.017",
        "lockers": [
            {
                "id": "locker-1",
                "name": "L1-01",
                "size": [
                    1,
                    3
                ],
                "bookable": true,
                "position": [
                    0,
                    0
                ],
                "accessible": true
            }
}
```

Locker Bank Metadata:

This data relates to the locker bank, a locker bank consists of multiple lockers. A level may have more than 1 locker bank.

Field Value Type
id System ID for the locker bank (required for hardware integration) string
name User facing name for the locker bank. string
height Number of lockers high in the bank. integer
map_id SVG Map ID of the locker bank. string

Configuration of this data will allow the Workplace App to return available locker banks:

Locker Metadata

This data relates to the individual lockers in the locker bank.

Field Value Type
id Hardware Locker ID string
name User facing name for the locker. string
size

Height,
Width

array of integers
bookable Bookable State boolean
position Offset from top left for UI Rendering array of integers
accessible Is the locker accessible for users in wheelchairs or other physical disabilities. boolean

Configuring this metadata correctly will allow the Workplace App to render a visual representation of the locker bank.

In this example L1-01 is at position:

"position": [
                    0,
                    0
                ],

While L1-05 has a size configuration of:

```json
"size": [
                    1, //width
                    1 //height
                ],
```

Where L1-01 has a size configuration of:

```json
"size": [
                    1, //width
                    3 //height
                ],
```

Enabling the Locker Booking

After configuring the locker metadata, for users to book lockers the locker booking feature must be enabled in the Workplace Application Metadata.

Locker booking may be enabled at any level in the organisational zone structure. Either at the ORG level where it would be enabled for all buildings, or individual Building zones.

This is achieved by applying a workplace_app metadata field to the relevant zone.

To enable the Locker Booking option in the menu bar, add lockers to the features array:

```json
"features": [
        "spaces",
        "explore",
        "help",
        "schedule",
        "parking",
        "desks",
        "visitor-invite",
        "lockers"
    ],
```