Overbooking policies
Make overbooking an explicit decision rather than an accidental consequence of overlapping events. Resource policies can block, warn, or allow while retaining typed issues and severity for the host application.

What you configure
- overbooking.mode
- Choose block, warn, or allow for the resource profile.
- maxUtilizationPercent
- Set the policy's utilization ceiling.
- reserveUnits
- Account for capacity that should remain reserved.
Integration code example
- Define capacity units and choose the policy for each relevant resource.
- Evaluate proposed bookings with current events and planning profiles.
- Surface warnings and reasons, and decide whether a permitted booking should be committed.
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.
npm install @wts-calendar/coreimport { 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',
},
],
profiles: [
{ resourceId: 'design', overbooking: { mode: 'warn', maxUtilizationPercent: 100 } },
],
});
export const decision = planner.evaluateBooking({
resourceId: 'design',
start: '2026-09-07T09:30:00Z',
end: '2026-09-07T10:00:00Z',
units: 2,
});
console.log(decision.allowed, decision.projectedUtilizationPercent, decision.issues);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.
Use block to reject over-capacity bookings, warn to require your application to surface warnings, or allow when your policy permits them. Evaluation alone does not create a booking.
Behavior and lifecycle
- Evaluation retains issues even when the chosen mode allows the proposal.
- Policy-adjusted capacity is also available to utilization analysis.
Limits and responsibilities
- A warning is not a completed approval workflow; connect workflow hooks separately when needed.
- The planner does not prevent a separate client from booking stale capacity.
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.