Calibration history
Approved substitutes for a tool, so a booking conflict can offer one rather than a reschedule.
Approved substitutes for a tool, so a booking conflict can offer one rather than a reschedule.
A row names either one tool or a whole type. alternative_is_free answers only for the first: a type is a class, and what is free in a window is api.available_tools.

