Premium

Demand & availability forecasting

Compare supplied demand with modeled availability and already scheduled work. Time buckets report coverage and shortfall so an application can explain where the plan is covered, at risk, or under-resourced.

Demand & availability forecasting — Screenshot of actual package API results with sample data. The read-only result table is application-owned; this feature does not provide this screen as built-in UI. Preview build: @wts-calendar/core@1.1.0 (unpublished).
Screenshot of actual package API results with sample data. The read-only result table is application-owned; this feature does not provide this screen as built-in UI. Preview build: @wts-calendar/core@1.1.0 (unpublished).

What you configure

forecastDemand
Set the requested start/end interval and bucketMinutes.
demand
Supply projected demand intervals, units, and resource IDs.
resources / events / profiles
Keep capacity, scheduled load, and shift policies current.

Integration code example

  1. Translate your projected orders or workload into resource demand intervals.
  2. Run the licensed planner over the intended forecast horizon.
  3. Present demand, net available units, coverage, and shortfall together rather than hiding the assumptions.

Copy this TypeScript into your application, not the browser console. Replace YOUR_WTS_LICENSE_KEY with an entitlement issued for your deployment origin. A WTS license is not a Google, Microsoft or CalDAV credential. These examples are documentation only and never execute on this page.

Install command
npm install @wts-calendar/core
TypeScript integration
import { verifyCalendarLicense } from '@wts-calendar/core';
import { AdvancedResourcePlanner } from '@wts-calendar/core/advanced-resource-planning';

const license = await verifyCalendarLicense('YOUR_WTS_LICENSE_KEY');
const planner = new AdvancedResourcePlanner({
  license,
  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 forecast = planner.forecastDemand({
  start: '2026-09-07T08:00:00Z',
  end: '2026-09-07T18:00:00Z',
  bucketMinutes: 60,
  demand: [
    { start: '2026-09-07T08:00:00Z', end: '2026-09-07T12:00:00Z', units: 3 },
    { start: '2026-09-07T12:00:00Z', end: '2026-09-07T18:00:00Z', units: 8 },
  ],
});
console.table(forecast.buckets);
console.log('Coverage', forecast.coveragePercent);

Application responsibilities

The engine returns data, not a built-in chart. Render results in your application and call planner.setData() after resources, events or profiles change.

Supply your own demand estimates. This compares demand against available capacity; it does not train a forecasting model.

Behavior and lifecycle

  • Each bucket combines peak demand, existing scheduled load, and modeled availability.
  • Results distinguish covered, at-risk, and shortfall states.

Limits and responsibilities

  • This is deterministic capacity analysis, not a statistical or AI prediction of future demand.
  • The forecast is only as current as the demand and availability inputs you supply.
Premium

Enable this capability

Optional module
@wts-calendar/core/advanced-resource-planning
Signed entitlement
advanced-resource-planning

Request the required features and deployment origins by email. Pricing and terms are confirmed privately. A WTS license is separate from provider credentials; do not send passwords or production access tokens.

Email for a license key →

This public guide does not execute Premium modules or collect license tokens.