RE: Want to stop resource from getting booked if has time off request
The idea behind the schedule board is that the dispatcher always has the absolute power, i.e. can even book a resource during time-off.
The only way to avoid this is creating booking rule, which will be considered by drag and drop and the Schedule Assistant. The rule can then present a warning or prevent the creation/update of the booking.
Checking the work hours of a resource in your rule's code might be a bigger development effort, what you might want to consider is reflecting the time-off with a separate (dummy) booking. This (1) makes it easier for a dispatcher to distinguish between regular non-working hours and time-off and (2) will likely be easier to check in your booking rule.
Documentation can be found at docs.microsoft.com/.../set-up-booking-rules and if you do a search in this forum you might also find code samples.