Skip to content

Gantt Resource Scheduling in JavaScript

Resource scheduling connects project logic to capacity. It answers not only when a task could happen from its dependencies, but whether the assigned people, crews, rooms, machines, or equipment are available to do it.

Model resources separately from assignments

A resource entity describes capacity and calendar. An assignment links a resource to a task and can carry units, role, effort, cost, or other allocation data. Keeping these concepts separate supports many-to-many planning without duplicating resource details across tasks.

RevoGrid Gantt supports resources, assignments, calendars, workload diagnostics, and resource-leveling modes alongside dependency-aware scheduling.

Warn, suggest, or level automatically

There are three common product behaviors:

  1. Warn: show over-allocation but leave the plan unchanged.
  2. Suggest: calculate possible moves and let a planner approve them.
  3. Auto-level: move eligible tasks according to configured priorities and constraints.

Warning-first behavior is often safest because automatic leveling can extend the project, move milestones, or change the critical path. If you offer automatic changes, provide diagnostics, a preview, and a reliable way to undo or reject the result.

Resource scheduling edge cases

Test part-time calendars, multiple assignments, units below or above 100%, locked dates, deadlines, task priorities, split work, shared resources across projects, and capacity changes during execution. Decide whether a resource is allowed to be overbooked and whether different resource types use different units.

For production architecture, keep the backend authoritative when assignments affect payroll, inventory, machine availability, or customer commitments. The Gantt can provide fast planning interaction while your service validates domain-specific constraints.

Open the resource-planning demo from the main Gantt page. Related pages cover resource planning use cases, manufacturing Gantt, critical path, and large datasets.

Resource scheduling FAQ

What is resource leveling?

It resolves over-allocation by adjusting eligible task timing or assignments under scheduling rules.

Should leveling always be automatic?

No. Start with transparent warnings or suggestions when moving work could change important dates or commitments.