Addendum v0.8 · Workforce capacity, availability & demand-aware scheduling

Schedule against the workforce that actually exists.

Headcount is not capacity. Usable capacity is labor × skill mix × Van availability × time windows × demand × runtime × geography × protected commitments × absence × weather × inventory.

Demand Forecast + Workforce Availability + Employee Windows + Skill Capacity + Existing Commitments + Runtime/Travel Prediction → Live Capacity State → Booking/Dispatch Blocks → Continuous Recalibration → Actual Outcome → Calibration Learning.

Hard vs soft constraints

ConstraintTreatment
Hard availabilityApproved PTO, call-in, leave, must-leave-by, cannot-start-before, training, licensing, unavailable Van.
Soft optimizationPreferences and operating choices: preferred return time, protected emergency capacity, maintenance reduction.

A 3:30 PM leave / 4:00 PM shop-return is calculated backward from live location, predicted duration, uncertainty, and travel — not as a calendar label that simply greys out 4:00.

Demand-responsive booking blocks

StateMeaning
OPENAvailable for normal booking.
HOLDTemporarily reserved while demand/capacity is evaluated.
BLOCK NEW BOOKINGDo not add new routine work into the window.
PROTECTEDReserved for emergencies or existing commitments.
RESCHEDULE CANDIDATEFlexible commitment identified for human-reviewed displacement if required.
CLOSEDUnavailable because of a hard workforce/operational constraint.

Blocking capacity does not silently cancel already booked customers. Displacement stays explicit, auditable, and human-authorized.

First-call and midday protection

First calls get strong schedule-reliability weighting because an early overrun cascades. Midday calls immediately before hard commitments get risk-weighted buffers — not static empty gaps everywhere. Scheduled window ≠ predicted completion time. Duration is a distribution.

Urgency classes

Emergency, Urgent, Priority service, Routine service, Maintenance / flexible. Policy is company-controlled. Trades must not invent safety conditions or falsely escalate urgency. An emergency does not automatically break multiple existing commitments.

Governing objective

Serve the highest-urgency and highest-value legitimate demand while maximizing the probability that existing customer commitments and authorized employee availability windows are actually kept.

Optimize usable capacity, not theoretical utilization. Learn when leaving capacity open is valuable.