A "booking engine" for defining recurring windows of availability, and "subtracting" bookings/appointments from them.