@bloomsparkagency/verticals - Vertical Market Profiles
The verticals package provides four pre-tuned, high-performance profile components. They wrap the core maps SDK with domain-specific features, overlays, colors, and dashboard charts out of the box.
🏢 1. OfficeProfile (Smart Office)
Optimized for corporate workspace booking, desk sharing, meeting room utilization, and employee locators.
tsx
import { SpatialProvider, SpatialMap } from '@bloomsparkagency/core';
import { OfficeProfile } from '@bloomsparkagency/verticals';
export function SmartOfficeApp() {
return (
<SpatialProvider>
<SpatialMap buildings={buildings} activeBuildingId="hq">
<OfficeProfile
deskData={desks} // Array of desk items: { id, levelId, status: 'vacant'|'occupied'|'expiring' }
employeeData={employees} // Array of searchable employees linked to desks
meetingRoomStatus={occupancy} // Live sensor streams for meeting rooms
enablePopularTimes={true} // Renders utilization charts
/>
</SpatialMap>
</SpatialProvider>
);
}- Desk Booking RAG Colors: Automatically applies standard RAG states (
#3aa655for vacant/available,#c77a15for expiring soon,#ff3f34for occupied). - Dwell Analytics: Includes the popular times chart component to summarize occupancy peaks per sector.
- Employee Locator: Integrates with
<SearchBar />to let users search for teammates and smoothly animate the camera to their assigned desk.
🏥 2. HospitalProfile (Smart Healthcare)
Engineered for clinical asset tracking, staff badge locations, real-time patient-flow, and ward alert statuses.
tsx
<HospitalProfile
wardStatus={wards} // Ward states: { id, levelId, occupancy: number, alertState: 'normal'|'code-blue' }
assetTracking={assets} // IV pump/wheelchair positions
staffAlerts={alerts} // High-priority alert locations
onAlertClick={handleAlert}
/>- Asset Category Icons: Auto-allocates custom SVG overlays for equipment categories (IV pumps, crash carts, wheelchairs, telemetry beds).
- Emergency Code Blue Alerts: When a staff member triggers a panic alert, the profile bypasses standard styling and flashes the target room or zone in vibrant, pulsing crimson (
#dc2626) at the top layer. - Uncertainty Filtering: Filters RTLS telemetry signals to ignore UWB location logs that have an accuracy radius greater than 3 meters inside patient wards, preventing marker jumping.
🏭 3. FactoryProfile (Smart Manufacturing & Warehouse)
Focuses on logistics vehicle tracking, geofenced safety hazards, conveyor-line metrics, and worker density.
tsx
<FactoryProfile
forkliftTrails={vehicles} // Live trips arrays: { id, path: [x,y,t][], color }
safetyZones={hazards} // Geofence coordinate loops: { id, levelId, status: 'clear'|'warning' }
conveyorStatus={lines} // OEE metrics: { lineId, oee: number, status: 'run'|'down' }
/>- Forklift Particle Trails: Renders historical vehicle pathways as glowing, moving trails using deck.gl
TripsLayer. - Geofenced Safety Bounds: Watches real-time positions against hazard boundaries. If an active staff member UWB tag intersects a restricted zone, the system triggers alerts on both the factory map and the external REST telemetry hub.
- Andon Alert Visualizations: Colors machine nodes based on status (green running, yellow maintenance, flashing red machine-down).
🏫 4. CampusProfile (Smart Campus & University)
Designed for multi-building facilities, visitor navigation, classroom schedules, and parking capacities.
tsx
<CampusProfile
parkingAvailability={parking} // Lot fill levels: { lotId, capacity: number, occupied: number }
scheduleOverlay={classes} // Classroom lists: { roomId, currentClass: string, until: string }
buildingDirectory={directory}
/>- Outdoor foot traffic transitions: DynamicFocus swaps basemap overlays smoothly when crossing building envelopes.
- Schedules & Class Finder: Clicking a campus lecture room opens an info card listing class times and directions for accessibility.
- Parking Occupancy Layers: Colors parking polygon sectors continuously using numeric scales (green for empty, sliding to red as capacity approaches 100%).
