Workplace is the primary staff-facing application for booking meeting rooms, desks, parking, lockers and visitors, and for exploring building maps.
Set settings in Backoffice zone metadata under workplace_app for the standard /workplace/ URL. Use the organisation, region or building zone. See settings storage and priority. The examples below show the metadata details object, without an app wrapper.
All keys below are relative to the metadata details object unless noted otherwise. For example, events.default_duration means { "events": { "default_duration": ... } }.
These options live at the root of the settings file (alongside app, not inside it) and are shared by all PlaceOS apps.
| Setting | Type | Default | Description |
|---|---|---|---|
debug |
boolean | true |
Write extra debugging messages to the browser console. |
mock |
boolean | false |
Run the app against mock data instead of the live API. Mainly for development and demos. |
composer |
object | – | Connection details for the PlaceOS API (domain, route, protocol). Managed by developers at build time — leave as is. |
service_worker.auto_reload |
boolean | false |
Automatically reload the app as soon as a new version is available. |
service_worker.interval |
number | – | Time between checks for new app versions, in milliseconds (minimum 1 minute). |
| Setting | Type | Default | Description |
|---|---|---|---|
name |
string | "Workplace" |
Name of the application, used in the browser page title. |
title |
string | "Workplace Application" |
Display title for the application. |
description |
string | "PlaceOS Workplace UI written with Angular Framework" |
Description of the application. |
short_name |
string | "WorkMate" |
Short name for the application. |
logo_light |
string | object | "assets/logo-light.svg" |
Logo shown in the top bar when using the light theme. Either an image URL or an icon object with a src property. |
logo_dark |
string | object | "assets/logo-dark.svg" |
Logo shown in the top bar when using the dark theme. Either an image URL or an icon object with a src property. |
environment_bar |
string | – | CSS colour for thin environment identifier bars shown at the top and bottom of the app (useful for marking test/UAT environments). Leave unset to hide the bars. |
sentry_dsn |
string | – | Connection string for Sentry error reporting. |
show_changelog |
boolean | true |
Whether the version number in the user controls links to the changelog modal. |
allow_dark_mode |
boolean | true |
Allow users to switch the application to the dark theme. |
default_route |
string | "/landing" |
Route users are redirected to when they enter the application. |
currency |
string | "USD" |
Currency code used when displaying prices. |
use_24_hour_time |
boolean | false |
Display times using a 24-hour clock. |
use_geolocation |
boolean | false |
Use the device's location to select the closest building when the app loads. |
new_features |
boolean | true |
Show hints in the UI when new features are added. |
week_start |
number | – | First day of the week for schedule and calendar views. 0 is Sunday through 6 for Saturday. |
idle_timeout |
number | 5 |
Minutes of inactivity on the meeting form before the user is prompted to discard their changes. |
global_search |
boolean | true |
Show the global search bar in the top bar. |
hide_landing_sidebar |
boolean | – | Hide the colleagues and favourites sidebar on the landing page. |
hide_colleagues |
boolean | – | Hide the colleagues tab on the landing page. Show favourites in its place. |
hide_landing_spaces |
boolean | – | Hide the availability summary by level on the landing page. |
hide_landing_rooms |
boolean | – | Hide the available meeting rooms list on the landing page. |
show_quick_links |
boolean | – | Show quick links on the landing page. Hidden when unset. |
show_quick_book |
boolean | – | Show quick booking actions on the landing page. Hidden when unset. |
features |
string[] | see below | List of feature flags controlling which sections of the app are available. |
locales |
object[] | 10 languages | Languages available in the language selector. |
menu_embeds |
object[] | – | Additional menu items that open third-party URLs embedded inside the app. |
Default features list — remove entries to hide sections of the app:
{
"features": [
"spaces", "desks", "explore", "parking", "help",
"schedule", "lockers", "visitor-invite", "group-events"
]
}Each entry in locales looks like:
{
"locales": [
{ "id": "en-AU", "name": "LANGUAGE.ENGLISH", "local": "English", "flag": "🇦🇺" },
{ "id": "fr", "name": "LANGUAGE.FRENCH", "local": "Français", "flag": "🇫🇷" }
]
}id— locale code, e.g.en-AUname— display name (supports translation keys)local— the language's name in that languageflag— emoji flag shown next to the name
Each entry in menu_embeds looks like:
{
"menu_embeds": [
{
"id": "intranet",
"name": "Intranet",
"url": "https://intranet.example.com",
"external": false,
"icon": "language"
}
]
}id— unique URL-safe identifier (required)name— display name (required)url— third-party URL to embed in an iframe (required)external— open as an external link instead of embeddingicon— Material Symbols icon name; defaults toopen_in_browser
| Setting | Type | Default | Description |
|---|---|---|---|
general.menu.items |
object[] | – | Custom list of links shown in the overlay menu (see link format below). |
general.menu.copyright |
string | – | Copyright organisation name shown in the menu. |
general.menu.position |
string | – | Side of the screen the overlay menu opens from: left or right. |
general.banner.id |
string | "2" |
Unique identifier for the dismissable banner shown at the top of the app. Change it to re-show the banner to users who dismissed a previous one. |
general.banner.type |
string | "info" |
Banner style: info, warn or error. Affects the banner colour. |
general.banner.content |
string | "" |
Message shown in the banner. Leave empty for no banner. |
general.search |
boolean | true |
Whether search functionality is enabled. |
general.dark_mode |
boolean | true |
Whether dark mode is enabled by default. |
Link format (used by general.menu.items, home.tiles, home.footer and help.tiles):
{
"name": "Book a Desk",
"route": "/book/desks",
"query_params": { "level": "zone-123" },
"background": "https://example.com/desk-banner.jpg",
"icon": { "type": "icon", "class": "material-symbols-rounded", "content": "desk" }
}name— display name (required)route— internal path the link navigates toquery_params— query parameters added to the routebackground— URL of a background image for tile-style linksicon— icon object:typeisimg(usessrcURL) oricon(usesclassandcontent)
| Setting | Type | Default | Description |
|---|---|---|---|
home.background |
string | – | URL of the background image shown on the home page. |
home.tiles |
object[] | – | Links rendered as tiles on the home page (link format above). |
home.footer |
object[] | – | Links rendered in the home page footer menu (link format above). |
help.tiles |
object[] | 4 PlaceOS links | Links rendered as tiles on the help page (link format above). |
help.columns |
number | – | Number of columns used to lay out the help page tiles. |
Options for the space booking form.
| Setting | Type | Default | Description |
|---|---|---|---|
booking.meeting_types |
object[] | – | Meeting type options offered in the booking flow. Each item needs an id and a name. |
booking.capacity_filters |
object[] | – | Capacity filter options for narrowing down spaces. Each item needs an id and a name. |
booking.show_fields |
string[] | – | Form fields available for use in the booking flow. |
booking.html_body |
boolean | – | Allow HTML content in the event body. |
booking.multiple_spaces |
boolean | – | Allow users to book multiple spaces in the booking flow. |
booking.setup |
number | – | Default setup time for new bookings, in minutes. |
booking.breakdown |
number | – | Default breakdown (pack-down) time for new bookings, in minutes. |
booking.allowed_daily_desk_count |
number | 1 |
Number of desk bookings a user can make for a single day. Use 0 for unlimited. |
booking.all_day_period |
object | – | Time window used for "all day" bookings, as hours of the day, e.g. { "start": 8, "end": 18 }. |
{
"booking": {
"meeting_types": [
{ "id": "internal", "name": "Internal Meeting" },
{ "id": "client", "name": "Client Meeting" }
],
"capacity_filters": [
{ "id": "4", "name": "Up to 4 people" },
{ "id": "10", "name": "Up to 10 people" }
]
}
}These apply to all resource booking flows (desks, parking, lockers). Most can be overridden per resource type under desks.*, parking.* or lockers.*.
| Setting | Type | Default | Description |
|---|---|---|---|
bookings.no_approval |
boolean | false |
Skip the approval process — new bookings are created already approved. |
bookings.all_day_default |
boolean | false |
Turn the "all day" option on by default for new bookings. |
bookings.allow_all_day |
boolean | – | Make the "all day" option available in resource booking flows. |
bookings.allowed_daily_visitor_count |
number | 100 |
Maximum number of visitor invites allowed for a single day. |
bookings.multiple_visitors |
boolean | true |
Allow a single visitor invite to include multiple visitors. |
bookings.bookable_hours |
object | – | Time window in which bookings can be made, as hours of the day, e.g. { "start": 8, "end": 19 }. |
bookings.can_book_for_others |
boolean | – | Allow users to make bookings on behalf of other users. |
bookings.can_book_for_anyone |
boolean | – | Allow users to make bookings on behalf of anyone, including people outside the organisation. |
bookings.custom_duration_options |
number[] | – | Custom list of duration options, in minutes, offered when selecting a booking duration. |
bookings.duration_step |
number | 30 |
Step, in minutes, between generated duration options. |
bookings.min_duration |
number | – | Minimum booking duration, in minutes. |
bookings.max_duration |
number | – | Maximum booking duration, in minutes. |
bookings.has_assets |
boolean | – | Make asset requests available in resource booking flows. |
bookings.use_building_timezone |
boolean | – | Display and book times using the building's timezone rather than the user's device timezone. |
bookings.hide_checkin |
boolean | – | Hide check-in in the shared booking details modal. Resource settings such as desks.hide_checkin, parking.hide_checkin and lockers.hide_checkin can also hide it for one type. |
bookings.force_current_user_for_booking_rules |
boolean | false |
Always check booking rules against the signed-in user, even when booking on behalf of someone else. |
bookings.assigned_resource_booking |
allow | deny | other_only |
other_only |
Controls booking for users with an assigned desk, parking space, or locker. allow permits all bookings. deny and other_only both block a booking whenever the person it is for has an assigned resource of that type — whether that assignment comes from the resource metadata or from an existing is_assigned booking, and regardless of allowed_daily_*_count. They differ in who may book: other_only lets a user with an assigned resource book on behalf of others, deny does not. |
These settings override the matching bookings.* settings for visitor invites.
| Setting | Type | Default | Description |
|---|---|---|---|
visitors.reason_required |
boolean | false |
Require a reason for each visitor invite. Starts new invites with an empty reason and rejects blank or whitespace-only reasons. |
visitors.allow_editing |
boolean | false |
Allow visitor booking edits from the shared booking details modal, subject to the booking status and user permissions. |
visitors.allow_all_day |
boolean | – | Make the all-day option available for visitor invites. Falls back to bookings.allow_all_day. |
visitors.can_book_for_others |
boolean | – | Allow users to invite visitors on behalf of another internal host. Falls back to bookings.can_book_for_others. |
visitors.can_book_for_anyone |
boolean | – | Allow users to invite visitors on behalf of any host, including an external host. Falls back to bookings.can_book_for_anyone. |
| Setting | Type | Default | Description |
|---|---|---|---|
events.bookable_hours |
object | – | Time window in which meetings can be booked, as hours of the day, e.g. { "start": 8, "end": 19 }. |
events.all_day_period |
object | – | Time window used for "all day" meetings, as hours of the day. |
events.multiple_spaces |
boolean | false |
Allow users to book multiple spaces in a single meeting. |
events.allow_multiple_spaces |
boolean | – | Legacy alias for events.multiple_spaces. Either key set to true enables multiple room selection. Use events.multiple_spaces for new configuration. |
events.desk_start |
number | 9 |
Default start time (hour of the day) for desk bookings made from the meeting flow. |
events.can_book_for_others |
boolean | false |
Allow users to create meetings on behalf of another host. |
events.has_catering |
boolean | true |
Show the catering step in the meeting booking flow. |
events.has_assets |
boolean | true |
Make asset requests available in the meeting booking flow. |
events.allow_all_day |
boolean | true |
Make the "all day" option available for meetings. |
events.allow_multiday |
boolean | – | Allow meetings to span multiple days. |
events.allow_externals |
boolean | true |
Allow external (non-directory) attendees to be added to meetings. |
events.allow_recurrence |
boolean | false |
Allow recurring meetings to be created. |
events.allow_daily_allday_recurrence |
boolean | false |
Allow daily recurrence for all-day meetings. |
events.allow_online_meetings |
boolean | false |
Show the online meeting option on the meeting form. |
events.hide_notes |
boolean | false |
Hide the notes field on the meeting form. |
events.hide_attendees |
boolean | false |
Hide the attendees field on the meeting form. |
events.hide_nearby_desks |
boolean | false |
Hide the "book nearby desks" action on the meeting success view. |
events.features_label |
string | "" |
Custom label for the space features field in the meeting flow. |
events.features_on_form |
boolean | false |
Show space features on the meeting form. |
events.booking_unavailable |
boolean | false |
Mark room booking as unavailable. When true, submitting the meeting form opens a modal linking to the alternate booking method instead of creating the event. |
events.no_standalone |
boolean | – | Require every meeting to include at least one room. When true, submitting without a space shows an error. |
events.strict_capacity_check |
boolean | – | Strictly limit the attendee count to the total capacity of the selected spaces. |
events.use_bookings |
boolean | – | Manage room meetings through the PlaceOS bookings API instead of calendar events. |
events.use_building_timezone |
boolean | – | Display and book meeting times using the building's timezone. |
events.force_current_user_for_booking_rules |
boolean | false |
Always check meeting room booking rules against the signed-in user, even when booking on behalf of someone else. |
| Setting | Type | Default | Description |
|---|---|---|---|
desks.use_assets |
boolean | false |
Read desk resources through the assets API. When false, Workplace uses the legacy desks zone metadata. |
desks.available_period |
number | 90 |
Number of days ahead available in the desk form date selector. |
desks.bookable_hours |
object | – | Time window in which desks can be booked, as hours of the day, e.g. { "start": 8, "end": 19 }. |
desks.allow_all_day |
boolean | true |
Make the "all day" option available for desk bookings. Overrides bookings.allow_all_day. |
desks.allow_time_changes |
boolean | true |
Allow users to change the time of desk bookings. |
desks.allow_groups |
boolean | true |
Allow group desk bookings. |
desks.has_group_booking |
boolean | – | Whether users are allowed to make group desk bookings. |
desks.allow_recurrence |
boolean | true |
Allow recurring desk bookings. |
desks.auto_allocation |
boolean | false |
Automatically allocate a desk instead of letting the user pick one. |
desks.can_book_lockers |
boolean | true |
Allow users to book a locker as part of the desk booking flow. |
desks.can_book_for_others |
boolean | true |
Allow users to book desks on behalf of other users. Overrides bookings.can_book_for_others. |
desks.can_set_host |
boolean | – | Allow the user to set someone else as the host of a desk booking. |
desks.default_duration |
number | 60 |
Default duration for desk bookings, in minutes. |
desks.custom_duration_options |
number[] | – | Custom list of duration options, in minutes, for desk bookings. Overrides bookings.custom_duration_options. |
desks.duration_step |
number | 30 |
Step, in minutes, between duration options for desk bookings. Overrides bookings.duration_step. |
desks.min_duration |
number | 60 |
Minimum desk booking duration, in minutes. Overrides bookings.min_duration. |
desks.max_duration |
number | 480 |
Maximum desk booking duration, in minutes. Overrides bookings.max_duration. |
desks.has_assets |
boolean | – | Make asset requests available in the desk booking flow. Overrides bookings.has_assets. |
desks.hide_map |
boolean | false |
Hide the map when selecting desks. |
desks.default_select_as_map |
boolean | false |
Open the desk selection modal on the map view instead of the list view. |
desks.needs_reason |
boolean | – | Require users to enter a reason for their desk booking. |
desks.hide_reason |
boolean | – | Hide the ability to enter a reason for a desk booking. |
desks.show_calendar_links |
boolean | true |
Show "add to calendar" links on the desk booking success view. |
desks.use_building_timezone |
boolean | – | Display and book desk times using the building's timezone. Overrides bookings.use_building_timezone. |
| Setting | Type | Default | Description |
|---|---|---|---|
parking.allow_all_day |
boolean | true |
Make the "all day" option available for parking bookings. Overrides bookings.allow_all_day. |
parking.allow_recurrence |
boolean | true |
Make multi-day recurrence options available in parking flows. |
parking.available_period |
number | 7 |
Number of days into the future that parking can be booked. |
parking.bookable_hours |
object | – | Time window in which parking can be booked, as hours of the day. |
parking.can_book_for_others |
boolean | – | Allow users to book parking on behalf of other users. Overrides bookings.can_book_for_others. |
parking.can_book_for_anyone |
boolean | – | Allow users to book parking for anyone, including external users. Overrides bookings.can_book_for_anyone. |
parking.custom_duration_options |
number[] | – | Custom list of duration options, in minutes, for parking bookings. Overrides bookings.custom_duration_options. |
parking.min_duration |
number | 30 |
Minimum parking booking duration, in minutes. Overrides bookings.min_duration. |
parking.max_duration |
number | 480 |
Maximum parking booking duration, in minutes. Overrides bookings.max_duration. |
parking.show_calendar_links |
boolean | – | Show "add to calendar" links on the parking booking success view. |
parking.use_building_timezone |
boolean | – | Display and book parking times using the building's timezone. Overrides bookings.use_building_timezone. |
parking.request_submission_notes_html |
string | "" |
Optional HTML content shown in the parking request summary and submission section. |
parking.request_shift_options |
object[] | – | Shift presets shown in the parking request flow (see example below). The custom shift option is always shown separately. |
parking.request_types |
object[] | standard, special, after_hours | Request type options shown in the parking request flow (see example below). |
parking.request_space_restrictions |
object[] | – | Space restriction options shown as a radio set in the parking request flow. If the list is empty, the field is hidden. Each item needs an id and a name. |
parking.require_space_restriction |
boolean | true |
Require users to select a configured space restriction in the parking request flow. |
parking.extra_space_restrictions |
object[] | – | Additional space restriction options shown as on/off toggles; multiple can be enabled at once. Each item needs an id and a name (label or translation key). |
parking.auto_approved_groups |
string[] | – | User group names that are auto-approved for parking requests. Users in these groups will not see the approver group selector. |
parking.approver_groups |
object[] | [] |
Approver options for parking requests. Each option needs an id and a name. A request type can restrict this list with its approver_groups array of IDs. |
parking.vehicle_types |
object[] | car, bike, van, truck, other | Vehicle type options shown in the parking request flow. Each item needs an id and a name. |
parking.default_location_from_desk_booking |
boolean | false |
Default new parking requests to the desk booking building for the selected user and date. Show a desk icon beside the matching parking location. |
parking.hidden_buildings |
string[] | [] |
Building (zone) IDs to hide from the location options in the parking request flow. Buildings without any levels tagged parking are always hidden. |
parking.hide_prefer_toggle |
boolean | false |
Hide the "Prefer booked location first" toggle in the location preference section. |
parking.hide_custom_shift |
boolean | false |
Hide the custom option from the shift selection dropdown. |
parking.hide_selected_space |
boolean | false |
Hide selected parking space names in booking cards and booking detail modals. |
parking.hide_availability_counter |
boolean | false |
Hide the parking availability counter shown next to the selected location or level. |
parking.require_plate_number |
boolean | false |
Make the plate number/registration field mandatory in the parking request flow. |
parking.show_status_details |
boolean | – | Show availability status details (status text, assigned users, plate numbers) in the explore map parking tooltip. |
Request types also accept approver_groups to restrict the approver options, show_notes to show the notes field, and requires_manual_approval to mark the request for manual approval. The last two fields default to false.
Shift presets (start_time/end_time are minutes from midnight; groups optionally limits who sees the preset):
{
"parking": {
"request_shift_options": [
{ "id": "day", "name": "Day Shift", "start_time": 480, "end_time": 1020 },
{
"id": "night",
"name": "Night Shift",
"start_time": 1320,
"end_time": 420,
"groups": ["security-team"]
}
]
}
}Request types (forced_time locks the form to a fixed window and hides the shift picker; book_as can be internals, externals or both — when omitted the host field is hidden):
{
"parking": {
"request_types": [
{ "id": "standard", "name": "Standard" },
{
"id": "after_hours",
"name": "After Hours",
"description": "For work outside business hours",
"badge": "Approval required",
"groups": ["managers"],
"book_as": "both",
"forced_time": { "start_time": 1080, "end_time": 1380 }
}
]
}
}| Setting | Type | Default | Description |
|---|---|---|---|
lockers.allow_all_day |
boolean | – | Make the "all day" option available for locker bookings. Overrides bookings.allow_all_day. |
lockers.allow_time_changes |
boolean | true |
Allow users to change the time of locker bookings. |
lockers.disabled_date_select |
boolean | – | Disable date selection on the locker form. |
lockers.disabled_start_time |
boolean | – | Disable start time selection on the locker form. |
lockers.hide_end_time |
boolean | – | Hide the end time field on the locker form. |
lockers.max_duration |
number | 480 |
Maximum locker booking duration, in minutes. Overrides bookings.max_duration. |
lockers.show_calendar_links |
boolean | – | Show "add to calendar" links on the locker booking success view. |
lockers.use_building_timezone |
boolean | – | Display and book locker times using the building's timezone. Overrides bookings.use_building_timezone. |
use_region |
boolean | – | Scope locker listings to the active region instead of the active building. (Top-level app setting.) |
| Setting | Type | Default | Description |
|---|---|---|---|
explore.colors |
object | see below | Mapping of map element keys to colours. Keys usually follow the format <type>-<status>, e.g. space-busy. |
explore.can_select_building |
boolean | true |
Allow the user to switch between buildings on the map. |
explore.show_legend |
boolean | true |
Show the legend on the explore map. |
explore.show_legend_group_names |
boolean | true |
Show group names in the map legend. |
explore.legend |
object | Available / In Use / Pending / Signs of Life | Legend entries, grouped by name. Each group maps to a list of { "id", "name" } entries. |
explore.hide_zones |
boolean | true |
Hide the Areas overlay toggle on the explore map. |
explore.hide_devices |
boolean | true |
Hide the Devices overlay toggle on the explore map. |
explore.hide_sensors |
boolean | true |
Hide the Sensors overlay toggle on the explore map. |
explore.use_zone_polygons |
boolean | false |
Render zones on the map using their polygon data. |
explore.show_simple_sensor_info |
boolean | false |
Show simplified sensor information on the explore map. |
explore.show_presence_indicators |
boolean | false |
Show presence indicator icons on spaces with presence sensors. |
explore.use_cisco_maps |
boolean | false |
Use Cisco Spaces maps instead of the default interactive SVG maps. |
explore.cisco_maps.token |
string | "" |
Token for accessing Cisco Spaces. |
explore.cisco_maps.tenant_id |
string | "" |
Cisco Spaces tenant ID. |
explore.cisco_maps.location_id |
string | "" |
Cisco Spaces location ID. |
explore.cisco_maps.script |
string | – | URL of the Cisco Spaces digital map script to load. |
explore.cisco_maps.api_endpoint |
string | – | API endpoint for Cisco Spaces requests. |
explore.cisco_maps.access_token |
string | – | API key used for Cisco Spaces API requests. |
no_maps |
boolean | true |
Disable map views throughout the application. (Top-level app setting.) |
Default map colours:
{
"explore": {
"colors": {
"space-free": "#43a047",
"space-pending": "#ffb300",
"space-busy": "#e53935",
"space-not-bookable": "#ccc",
"space-unknown": "#000",
"zone-low": "#43a047",
"zone-medium": "#ffb300",
"zone-high": "#e53935"
}
}
}| Setting | Type | Default | Description |
|---|---|---|---|
schedule.event_sources |
string[] | – | Sources to load schedule events from: any of api, driver, ws. Overrides the legacy use_driver and use_websocket settings. |
schedule.use_websocket |
boolean | false |
Legacy. Source schedule events from a websocket binding instead of the API. Use event_sources instead. |
schedule.use_driver |
boolean | – | Legacy. Source schedule events from the bookings driver. Use event_sources instead. |
schedule.legend |
object[] | Accepted / Pending / Rejected | Legend entries mapping booking statuses to colours on the schedule view. |
{
"schedule": {
"event_sources": ["api", "ws"],
"legend": [
{ "name": "Accepted", "color": "#21A453" },
{ "name": "Pending", "color": "#ffbf1f" },
{ "name": "Rejected", "color": "#f44336" }
]
}
}| Setting | Type | Default | Description |
|---|---|---|---|
space_display.show_images |
boolean | false |
Render images associated with spaces in listings. |
spaces.show_images |
boolean | – | Render images associated with spaces. |
directory.show_avatars |
boolean | true |
Show user avatars in the directory. |
directory.min_search_length |
number | 3 |
Minimum number of characters before a user search runs. |
users.show_avatars |
boolean | – | Show user avatars in the directory user list. |
users.min_search_length |
number | 3 |
Minimum number of characters required before performing a directory search. |
basic_user_search |
boolean | false |
Use basic user directory queries for colleague search instead of the staff search API. |
colleagues_require_auth |
boolean | – | Require colleague search to query the user directory as an authenticated user. When false, the staff search API is used instead. |
no_user_calendar |
boolean | false |
Set to true when users do not have calendars available. |
hide_contacts |
boolean | false |
Hide the contacts section. |
Prompts users who are not in the office to release their upcoming resource bookings so others can use them.
| Setting | Type | Default | Description |
|---|---|---|---|
auto_release.time_before |
number | – | Minutes before the booking start time to begin prompting the user. Capped at 60. |
auto_release.time_after |
number | – | Minutes after the booking start time at which the booking is released if the user hasn't kept it. |
auto_release.resources |
string[] | – | Booking types that auto release applies to, e.g. desk, parking. |
auto_release.all_day_start |
number | – | Hour of the day used as the start time for all-day bookings when checking for release. |
Per-resource-type overrides can be set with <type>_time_before and <type>_time_after keys, e.g. desk_time_before.
{
"auto_release": {
"time_before": 30,
"time_after": 60,
"resources": ["desk", "parking"]
}
}| Setting | Type | Default | Description |
|---|---|---|---|
analytics.enabled |
boolean | true |
Enable Google Analytics. |
analytics.tracking_id |
string | "" |
Google Analytics tracking ID. |
chat.enabled |
boolean | false |
Show the global chat widget in the app. |
can_deliver |
boolean | true |
Make delivery available for catering orders. |
group_events_calendar |
string | – | ID (email address) of the calendar used to list group events. |