Premium

Utilization & capacity heatmaps

Calculate resource utilization in time buckets and use the resulting data to build a capacity heatmap. The planner reports capacity, peak booked units, remaining units, utilization, and an explicit bucket state.

Loading interactive demo…

What you configure

resources / events / profiles
Supply capacity, assignments, and resource planning policies.
createCapacityHeatmap
Request a bounded start/end interval and bucketMinutes resolution.
bucket states
Interpret unconfigured, closed, idle, balanced, high, and over states.

Essential integration

This assumes the shared Quick start already provides premiumLicense and, for UI views, premiumCalendarOptions. Only the feature-specific setup is shown.

Feature-specific TypeScript
import { AdvancedResourcePlanner } from '@wts-calendar/core/advanced-resource-planning';

const planner = new AdvancedResourcePlanner({
  license: premiumLicense,
  timeZone: 'UTC',
  resources: [
    { id: 'design', title: 'Design studio', capacity: 2 },
    { id: 'engineering', title: 'Engineering', capacity: 4 },
  ],
  events: [
    {
      id: 'review',
      title: 'Design review',
      resourceId: 'design',
      start: '2026-09-07T09:00:00Z',
      end: '2026-09-07T10:30:00Z',
    },
  ],
});

export const heatmap = planner.createCapacityHeatmap({
  start: '2026-09-07T08:00:00Z',
  end: '2026-09-07T18:00:00Z',
  bucketMinutes: 60,
});
console.table(
  heatmap.cells.map((cell) => ({
    resource: cell.resourceId,
    start: cell.start,
    booked: cell.bookedUnits,
    capacity: cell.usableCapacity,
    utilization: cell.utilizationPercent,
    state: cell.state,
  })),
);

Behavior and lifecycle

  • Results include configured and policy-adjusted capacity together with active shift IDs.
  • Planner inputs are copied and returned results are immutable.

Limits and responsibilities

  • The engine returns analysis data; the screenshot's result table is application-owned, not a bundled heatmap dashboard.
  • Unconfigured capacity is distinct from zero availability and should be explained in your UI.
Premium

Enable this capability

Optional module
@wts-calendar/core/advanced-resource-planning
Local capability ID
advanced-resource-planning · enabled by package-wide Premium

Use the request form to describe your project and deployment origins. Pricing and terms are confirmed privately. A WTS license is separate from provider credentials; do not send passwords or production access tokens.

The live example uses a browser-visible deployment key restricted to this package and approved origins. It does not collect license keys or visitor credentials.

Request Premium pricing

Share the details we need to respond to your request.

Optional for this inquiry, but required before deployment. Add one origin per line without a page path. Registered HTTP localhost origins are allowed for development.

Don’t include license keys, passwords, or confidential information.