Skip to content

@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 (#3aa655 for vacant/available, #c77a15 for expiring soon, #ff3f34 for 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%).

Released under commercial licensing.