Administrator Workplace & Workstation Management Documentation
Table of Contents
1. Overview
Workplace & Workstation Management centralizes physical and virtual work location administration—office sites, branches, floors, rooms, hotdesk pools and individual workstations. Administrators use this module to create locations, add and manage workstations, assign seats, enforce site rules and integrate this data with DTR (timekeeping), scheduling and asset inventory.
Implemented admin view files:
- resources/views/users/admin/work-place/index.blade.php
- resources/views/users/admin/work-place/create.blade.php
- resources/views/users/admin/work-place/edit.blade.php
- resources/views/users/admin/work-place/show.blade.php
- resources/views/users/admin/work-place/work-station/edit.blade.php
2. Purpose & Scope
Purpose:
- Provide administrators and facilities teams a single interface to manage workplaces and workstations.
- Help HR, IT and scheduling align assignments with DTR, shift schedules and asset management.
- Ensure capacity, compliance, and safety via configurable rules and audit trails.
Scope:
- Create / update / archive workplaces
- Add / edit / decommission workstations
- Assign/unassign employees to workstations
- Export assignments and reconcile with DTR / payroll
- Not covered: employee self-booking or advanced bidding marketplaces (documented separately)
3. Access & Permissions
Minimum permissions:
- view_workplaces
- manage_workplaces
- view_workstations
- manage_workstations
- assign_workstations
Suggested roles and capabilities:
- Admin — full CRUD, publish/unpublish, force-assign, override rules.
- Facility / IT — create/edit workstations, manage asset links.
- HR / Scheduler — view and assign (subject to policy), receive capacity reports.
- Team Lead — view and request assignments for own team.
- Employee — view assigned workstation (not admin actions).
Permissions should be enforced server-side (RBAC). UI hides actions based on role.
4. How to Access
Admin URLs:
- Workplaces index: /admin/workplace
- Create workplace: /admin/workplace/create
- Edit workplace: /admin/workplace/{id}/edit
- Show workplace: /admin/workplace/{id}
- Edit workstation: /admin/workplace/{id}/work-station/{ws_id}/edit
Browser requirements: modern Chromium-based browsers and recent Safari/Firefox. Mobile is supported for viewing but recommend desktop for full management actions.
5. Interface Layout & Views
5.1 Index (Workplaces)
Main elements:
- Search bar (by name/code/address)
- Filters: Status (active/draft/archived), Location, Department, Capacity range
- Table columns:
- Code / Name
- Location / Address
- Timezone
- Capacity (declared / active workstations / occupied)
- Departments / Tags
- Status (Published, Draft, Archived)
- Actions (View | Edit | Manage Workstations | Archive / Publish | Export)
- Quick KPIs: total workplaces, total stations, % occupancy
Bulk actions:
- Publish / Unpublish / Archive / Export selected
- Bulk create workstations from template
5.2 Create / Edit Workplace
Form fields:
- Name (required)
- Code (required, unique)
- Address / Location details
- Timezone (for shift/dtr alignment)
- Departments (primary)
- Capacity (max seats)
- Default workstation template (optional)
- Tags (onsite/hybrid/remote/critical)
- Contact person (facility lead, phone, email)
- Notes / safety rules
- Save as Draft / Publish
UI behaviors:
- Unique-code validation on input
- Preview seat map or small calendar preview if enabled
- Warning when reducing capacity that affects existing assignments
5.3 Workplace Details / Show
Sections:
- Header summary: code, name, status, contact
- Capacity summary: total seats vs assigned vs available
- Map / location / directions (if geolocation enabled)
- Workstations table: code, type, status, assigned_to, amenities, last_used
- Actions: Add workstation, Assign employee, Export assignments, Reconcile with DTR
- Audit/history: record of changes, publications, assignments
5.4 Workstation Management (edit)
Workstation fields:
- Code / Label
- Type (fixed desk, hotdesk, phone booth, standing desk, terminal)
- Status: active, inactive, reserved, decommissioned
- Zone / Floor / Coordinates
- Capacity (1 or multi-seat)
- Amenities (monitor, docking, power, phone)
- Allowed roles (e.g., dev-only, manager)
- Assignment rules (permanent / temporary / rotatable)
- Asset link (inventory ID)
- Attachments (photo, safety checklist)
- Notes / custom metadata
Action buttons:
- Assign / Unassign / Reserve / Decommission
- Force assign (requires reason and audit)
- View assignment history for that workstation
6. Key Features
- Maintain hierarchical workplaces and zones.
- Create templates and bulk-generate workstations for a location.
- Per-workstation metadata & assets integration.
- Assignment lifecycle management (temporary/permanent/reservation).
- Conflict detection: double-booking, capacity vs assignments, DTR/schedule overlaps.
- Audit trail for all changes and override records.
- Exports for facility reports and payroll/scheduling reconciliation.
7. Data Model & Examples
Suggested model (primary fields):
Workplace
- id, code, name, address, timezone, capacity, contact_id, status, tags, meta, created_by, published_at
Workstation
- id, workplace_id, code, label, type, status, capacity, amenities (json), allowed_roles (json), asset_id, assigned_to, assigned_from, assigned_to_date_end, meta, created_by
Sample workplace:
- Code: MAIN-OFFICE-001
- Name: Main Office — 7th Floor
- Timezone: Asia/Manila
- Capacity: 120
- Contact: facilities@company.com
Sample workstation:
- Code: D-701
- Type: Fixed desk
- Amenities: ["dual-monitor", "dock", "ethernet"]
- Status: active
- Assigned_to: EMP-0045 (start 2025-10-01)
8. Policies & Business Rules
Common validations:
- Unique workstation code per workplace.
- Capacity must be > 0.
- Assignment date ranges cannot overlap for same workstation.
- Cannot set workstation status to decommissioned if active assignment exists (unless force).
- Role compatibility must be enforced (e.g., contractor restrictions).
- Publish warnings if declared capacity doesn't match active workstations.
Policy enforcement:
- Enforce geofence rules for workplace-specific clock-ins (if configured).
- Hotdesk rotation rules: minimum stand-by period between assignments.
- Safety rules for restricted zones: require approvals for access.
9. Integrations (DTR / Scheduling / Inventory / Security)
DTR & Scheduling
- Published workplaces and assigned workstations feed DTR expectations and shift planning.
- Workstation assignment can enforce on-site clock-in and location-based validation.
Inventory / IT
- Store asset links on workstations to manage devices and lifecycle.
- Trigger IT provisioning when assignment starts (e.g., asset allocation).
Access Control / Security
- Integrate with badge systems to provision access for assigned employees.
- Restricted-workstation events should trigger approvals and logs.
Payroll
- When on-site requirements impact payroll (e.g., location-specific allowances), workplace assignment can be used as source of truth.
Sync behavior
- Sync events executed by background jobs; provide retry and reconciliation UIs.
- Idempotent payloads; include workplace + workstation codes in sync messages.
10. Filters, Search & Reports
Index filters:
- Status (active/draft/archived)
- Department / Team
- Location / Zone / Floor
- Capacity range / Occupancy %
- Search by code / name / address / asset id
Reports:
- Workplace occupancy (current/period)
- Unassigned required seats
- Asset allocation per workplace
- Assignment history & audit export (CSV/Excel)
- Reconciliation: workplace assignments vs DTR activity
Schedules & exports should include timezone normalization.
11. Common Tasks / Workflows
-
Create workplace
- Admin → Workplaces → Create
- Fill required fields, save draft or publish
- Optional: pre-generate workstations from template
-
Add workstation
- Show workplace → Add workstation → set type, amenities, status → Save
-
Assign workstation to employee
- Workstation → Assign → select employee → choose type (permanent / temporary) and date range → Save
- System validates role, overlapping assignments, and leave conflicts
-
Reserve or block a workstation
- Use Reserve action for events or visitors; set time window
-
Decommission workstation
- Ensure no active assignments, document reason, decommission (recorded in audit)
-
Bulk generate workstations
- From template or import CSV — validate unique codes and capacity mapping
Example: Assign EMP-0090 to workstation D-701 from 2026-01-03 to 2026-12-31. System checks role, asset allocation, and conflicts with prior reservations.
12. Audit, Notifications & Compliance
Audit:
- Log create / update / delete / assign / decommission with user id, timestamp and IP.
- Maintain immutable history for compliance retention period (configurable).
Notifications:
- Workplace created/published notifications to Admin/Facility/HR.
- Workstation assignment notifications to employee & manager.
- Warnings for capacity reductions or forced decommission.
Compliance:
- Status change workflows require justification for exceptions.
- Keep attachments (safety docs, approvals) retained on audit records.
13. Troubleshooting & FAQs
Common issues:
- "Cannot assign workstation" — check that workstation is active, that employee role is allowed, and no overlapping assignment exists.
- "Capacity mismatch" — reconcile active workstations count vs declared capacity; update or correct records.
- "Assignments not showing in DTR" — verify sync logs, published status, and job queue; retry sync.
- "Workstation force-assigned" — force-assignments must be logged with reason and manager approval to maintain auditability.
Diagnostic steps:
- Reproduce via UI and note correlation ID.
- Check audit history under the workplace and workstation.
- Inspect integration logs (DTR / scheduling / inventory).
- Validate timezone and date-range issues for assignments.
14. API Endpoints & Implementation Notes
Recommended endpoints (examples):
- GET /api/admin/workplaces
- POST /api/admin/workplaces
- GET /api/admin/workplaces/{id}
- PUT /api/admin/workplaces/{id}
- POST /api/admin/workplaces/{id}/workstations
- PUT /api/admin/workplaces/{id}/workstations/{ws_id}
- POST /api/admin/workplaces/{id}/workstations/{ws_id}/assign
- POST /api/admin/workplaces/{id}/export-assignments
Important implementation notes:
- Enforce RBAC at API layer.
- Run conflict detection before confirming assignments.
- Use background jobs for heavy actions (bulk generation, DTR sync).
- Provide clear error codes for integrations (400 = validation, 409 = conflict, 422 = policy violation).
Appendix — SQL & Examples
Detect active workstations without assignments:
SELECT ws.* FROM workstations ws
LEFT JOIN assignments a ON ws.id = a.workstation_id AND a.status = 'active'
WHERE a.id IS NULL AND ws.status = 'active' AND ws.workplace_id = {workplace_id};
Find overlapping assignments (same workstation):
SELECT * FROM assignments a1
JOIN assignments a2 ON a1.workstation_id = a2.workstation_id AND a1.id <> a2.id
WHERE a1.start_at < a2.end_at AND a1.end_at > a2.start_at;
Document version: 1.1
Last updated: December 5, 2025
Maintainers: Product / HR / Facilities / Engineering