Groups
📸 Groups List
View all groups in the organization. The list renders as a table or as cards using the view toggle, alongside a Status filter dropdown (All statuses / Active / Inactive), Select all, refresh, and Create Group. Each card carries the group avatar, name, and status badge, followed by Location, the Availability window, Amenities, and a relative Updated time, with a selection checkbox and a per-card overflow menu offering Duplicate Group, Edit Group, and Delete Group. Row-count and pagination controls sit beneath. Route: /groups

📸 Group Actions Menu
Each group card’s overflow menu opens an Actions panel with Duplicate Group, Edit Group, and Delete Group options.

📸 Duplicate Group
Duplicate Group from the overflow menu opens a modal that creates a new group by copying the configuration of the source group; only the New Group Name and New Group Slug are editable, and a live check confirms the slug is free before Duplicate Group is enabled.

📸 Delete Group Confirmation
Delete Group from the overflow menu opens a Caution modal naming the group and warning that all meeting spaces inside the group and their bookings will also be permanently deleted; Close cancels, and Delete removes the group.

📸 Bulk Select and Delete
Selecting Select all (or individual card checkboxes) checks every group and reveals a trash icon beside Select all for bulk deletion.

📸 Bulk Delete Confirmation
The bulk trash action opens a Caution modal confirming how many groups are about to be deleted, with the same warning that meeting spaces and bookings inside the selected groups will also be permanently deleted.

Create New Group
📸 Step 1: Basic Information
Step 1 of 4 of the Create New Group wizard. Group Name and Group Slug are both required — the slug is a unique, URL-friendly identifier limited to lowercase letters, numbers, and hyphens, and an Available tick confirms it isn’t already taken. Description is optional with a 200-character counter. Available From and Available Until are required and set the window during which the group is available. Cancel exits the wizard; the Step 1 of 4 indicator sits beside Next, which moves on to Location Details. Route: /groups/create

📸 Step 2: Location Details
Step 2 of 4. Street Address offers address autocomplete — picking a suggestion fills in the city, state, country, postal code, coordinates, and timezone below, and each can still be corrected by hand. Country feeds currency and tax defaults; Postal Code accepts digits only. Timezone is required and inherits from the organization when left unset; leaving it empty shows a “Please select a timezone” validation message.
GPS coordinates are optional and are used for location-based features and mapping. Latitude must fall between −90 and 90, and Longitude between −180 and 180. The footer shows Previous, the Step 2 of 4 indicator, and Next.

📸 Step 3: Additional Settings
Step 3 of 4. Amenities lets existing amenities be selected or new ones created, several at a time. Display Order sets sort position with lower numbers appearing first, and Enable active status controls whether the group is enabled.
Contact Details holds a Contact Email and Contact Phone specific to this group — leaving either blank falls back to the organization’s, which is shown in the hint under each field.
The Configurations toggles and the Images & Logos uploads (Banner Image, Header Logo, Footer Logo) are no longer on this step — they now live in Step 4: Branding, alongside the colour and text overrides.
Floor Map and Building Map sit under Maps on this step and are optional, with no fixed aspect ratio — 1600 × 1200 px recommended and a minimum of 800 × 600 px so labels stay legible when zoomed — and accept PNG, JPG, or WEBP up to 5 MB. The footer shows Previous, the Step 3 of 4 indicator, and Next, which moves on to Branding.

📸 Step 4: Branding
Step 4 of 4 sets how the new group’s public booking page looks. The settings sit on the left and a live Preview sits on the right — it updates as you type and, because the group has no spaces yet, shows sample slots and sample spaces. Every field starts on Default, which keeps the booking page exactly as it looks today; changing a field overrides the default for this group only.

Logos & banner — Banner Image (1200 × 256 px, PNG or JPG up to 5 MB), plus the optional Header Logo and Footer Logo (rectangular, 2:1 to 6:1, 200–1200 px wide and 50–300 px tall; 400 × 100 px recommended). Each accepts a click or a drag and drop.
Page sections — toggles that choose which sections appear on the public booking page: Show banner, Show header logo, Show footer logo, Show email, Show phone and Show address. All six are on by default.
Colours — Primary (links, highlights, focus rings), Button (Book, Continue, Pay) and Button text, each set with a colour swatch and hex value. The defaults are the ZenSpace blue #1c3f92 with #eff6ff button text.

Banner — the Banner title shown over the banner image (defaults to the group name), plus Default / Show / Hide controls for the Timezone badge and the Active status badge.
Footer — Terms line, Terms link (must start with https and opens in a new tab), Terms text (defaults to “All bookings are subject to {group_name}’s terms and conditions.”), Website (hidden when neither this nor the organization has one), Tagline, and the Powered by ZenSpace line (super admin only; header and footer). Text fields accept the {group_name}, {organization_name}, {start_date} and {end_date} placeholders.
Additional Settings — a collapsed panel holding the Page Colours (background, cards, text, chips and dividers) and Slots & Notices (slot picker colours and the ‘not available’ notice) overrides; the fields are the same as in Edit Group.
Preview — the Open / Not available switch shows the page either in its bookable state or with the “Group not currently available for booking” notice that appears outside the group’s booking window; the desktop and mobile icons switch the device frame; and the expand icon opens a full-screen Booking page preview that includes unsaved branding changes. The footer shows Previous, the Step 4 of 4 indicator, and Create Group, which creates the group with everything entered across all four steps.



The expand icon opens the full-screen Booking page preview, available in both desktop and mobile frames:


📸 Group Detail Page
Overview of a group showing stat cards — Meeting Spaces (with the organization-wide limit), Total Bookings (all time), Revenue (net collected), Location with timezone and local time, and the Availability window. The header carries Booking Links, Email branding, Edit, and an overflow menu; the Booking Links dropdown opens the public Booking App, View Availability, and Request Spaces pages for this group.
The Meeting Spaces table lists each space with a drag handle and order number, a selection checkbox, Name (with status dot and seat maximum), Availability date range, Type, Current Mode, Pricing with its pricing mode, Status, Physical Space, and Access, followed by Manage and a per-row overflow menu. Dragging a row by its handle (or focusing it and pressing Space, then the arrow keys) sets the order guests see. Physical Space reports whether the meeting space is mapped to a physical space in ZenEdge, showing Mapped together with the mapped space code, or Not mapped where no mapping exists. The panel also provides Search, Filter, Select all, refresh, Add space, and Rows-per-page pagination.
Below the table, the Basic information card shows Name, Display Order, Slug and Group ID (each with a copy action), Contact Email and Contact Phone (tagged “from org” when inherited from the organization), Created, and Last updated. The Location card shows Street, City, State / Region, Postal Code, Country, and the group’s Amenities. The Images & logos card previews the Banners, Header Logo, and Footer Logo. Route: /groups/:id

📸 Group Detail — More Actions
The header carries two dropdowns. Booking Links opens the group's public-facing pages: Booking App, View Availability, and Request Spaces. The overflow menu beside Edit offers View Calendar, which opens the group's calendar of bookings and availability, Display Groups, and Embed code.


📸 Group Calendar — Month View
Month view shows the whole month as a grid of days, with the current day highlighted and days outside the group’s availability window shaded out.

📸 Group Calendar — Bookings Tab
The Bookings sub-tab summarises the group’s bookings in four tiles — Total Bookings (matching the current filters), Cancelled with its share of all bookings, Pending Bookings (holding a slot until payment, not confirmed), and Net Collected including any cancellation fees, with a "How this is calculated" disclosure. Below sit a search field, Export and refresh actions, and filter dropdowns for mode, status, payment, group, space, and dates with a Clear control. The table lists Meeting Space, Start, End, and Organizer (name and email) with a View action and per-row overflow menu.

📸 Group Calendar — Unavailability Tab
The Unavailability sub-tab lists the group’s unavailability records with columns for Title, Reason, Start, End, and Recurring, plus a search field and refresh. Where none exist, a "No Space Unavailability Found" empty state explains that maintenance windows and other blocks will appear here once created.

📸 Display Groups
Display Groups (from the group’s overflow menu) slices a space group into capacity-bounded buckets for kiosk rotation. The table lists Display Group, Capacity, and Status, with Add display group and Kiosk Display actions in the header and a search field. Where none exist, an empty state prompts the first display group.

📸 New Display Group
The New display group modal is grouped into three sections. Identity takes a Name (shown on the kiosk and in the list) and a Slug (unique within the space group). Rotation sets Max spaces (1 to 64), Display order (lower rotates first), and a Kiosk visibility toggle controlling whether the group is in rotation on kiosks. Kiosk holds a Booking URL printed on the group’s QR code — blank falls back to the space group’s default link — and an internal-only Description.

📸 Kiosk Display
The Kiosk Display view renders the group as a full-screen workspace status board for on-site screens. A header carries the group name, address, local time, timezone, and date, followed by a space count and a tile per space showing its name, capacity, space type, and a live status badge. A QR code footer invites guests to scan and book, printing the group’s booking URL.

Edit Group
📸 Step 1: Basic Information
Step 1 of 4 of the Edit Group wizard, pre-filled with the group’s current values. Group Name, Group Slug, Description with its 200-character counter, and the Available From / Available Until window can all be changed. A Regenerate Slug From Name toggle re-derives the slug from the group name. The footer offers Cancel, the Step 1 of 4 indicator, Save Changes — which commits without leaving the wizard — and Next. Route: /groups/:id/edit

📸 Step 2: Location Details
Step 2 of 4, pre-filled with the group’s address. The same fields apply as on creation: Street Address with autocomplete (choosing a suggestion fills in the fields below), City, State/Province, Country — check it before saving, as it feeds currency and tax defaults — Postal Code (digits only), the required Timezone (inherits from the organization if not set), and the optional Latitude and Longitude. The footer shows Previous, the Step 2 of 4 indicator, Save Changes and Next.

📸 Step 3: Additional Settings
Step 3 of 4 carries the same Additional Settings as creation — Amenities (pick existing ones or create new ones), Display Order, Enable active status, and the group-specific Contact Details. Contact Email and Contact Phone fall back to the organization’s values when left blank. The Maps area holds the optional Floor Map and Building Map uploads (PNG, JPG or WEBP up to 5MB; 1600 × 1200px recommended, minimum 800 × 600px). The footer shows Previous, the Step 3 of 4 indicator, Save Changes and Next.
The public-page section toggles (Configurations) and the Banner Image, Header Logo and Footer Logo uploads no longer appear on this step — they now live in Step 4: Branding, alongside the colour and text overrides.

📸 Step 4: Branding
Step 4 of 4 controls how the group’s public booking page looks. The settings sit on the left and a live Preview sits on the right — it updates as you type and uses the group’s real slots and spaces. Anything left on Default keeps the booking page exactly as it looks today; every field carries a Default or Set on this group tag with its own Reset link, and Reset branding clears all overrides at once.

Logos & banner — Banner Image (1200 × 256px; up to three files, with Add More Files showing how many are in use), plus the optional Header Logo and Footer Logo (rectangular, 2:1 to 6:1; 400 × 100px recommended).
Page sections — toggles that choose which sections appear on the public booking page: Show banner, Show header logo, Show footer logo, Show email, Show phone and Show address.
Colours — Primary (links, highlights, focus rings), Button (Book, Continue, Pay) and Button text, each set with a colour swatch and hex value.
Banner — the Banner title shown over the banner image, plus Default / Show / Hide controls for the Timezone badge and the Active status badge.
Footer — Terms line, Terms link (must start with https and opens in a new tab), Terms text (up to 500 characters), Website, Tagline, and the Powered by ZenSpace line (super admin only; header and footer). Text fields accept the {group_name}, {organization_name}, {start_date} and {end_date} placeholders.

Additional Settings (collapsible) — Page Colours sets Text on primary, Accent (badges and chips), Page background, Surface (cards, header and footer), Main text, Secondary text and Borders (borders and dividers). Slots & Notices sets the Available slot, Selected slot and Unavailable slot colours, the Error colour (error notices and the ‘not available’ box), and the Not available heading and Not available message shown once the group’s booking window has ended.
Preview — the Open / Not available switch shows the page either in its live booking state or with the notice shown after the booking window ends; the desktop and mobile icons switch the device frame; and the expand icon opens a full-screen Booking page preview that includes unsaved branding changes. If the live page can’t be loaded, the panel shows a close copy of it. The footer shows Previous, the Step 4 of 4 indicator, and Update Group, which saves the changes made across all four steps.


The expand icon opens the full-screen Booking page preview, available in both desktop and mobile frames:

