# Dynamic scheduling Palantir's dynamic scheduling capabilities enable builders to create scheduling and resource allocation workflows that reflect the real-world complexities of their organization and that are tailored to their specific needs. For example, the [Scheduling Gantt Chart](../scheduling-gantt-chart-widget/index.md) widget in Workshop lets you build interactive schedule applications in which users can: * Visualize schedules and their constraints. * Modify schedules with a drag-and-drop interface. * Find scheduling recommendations. * Execute Ontology Actions. The [Program Scheduling](../program-scheduling-overview/index.md) widget provides a chronological view of programs, projects, and tasks, allowing users to track progress across workstreams, visualize task dependencies, and identify blockers that may impact downstream deliverables. With these dynamic scheduling capabilities, users can address a wide range of challenges, such as: * Optimizing employee schedules to balance between priorities and constraints as they change over time. * Building resiliency to disruption in transportation and logistics networks with real-time resolutions backed by machine learning. * Efficiently increasing manufacturing output by improving production planning and scheduling. Dynamic scheduling is anchored by three principles: * [Leverage the Foundry Ontology to model your resources.](../scheduling-ontology-primitives/index.md) * [Codify the conditions and constraints of your resources.](../scheduling-gantt-chart-widget/index.md) * [Model the relationships and interdependencies between your resources and constraints.](../scheduling-validation-rules/index.md) Palantir's dynamic scheduling capabilities put these principles into practice. Learn more about the [core concepts](../scheduling-concepts/index.md) of dynamic scheduling.