How do you guys deal with Annual leave on booking systems?

I am currently creating a booking system and I am struggling to set up a system in which the user is able to book Multiple days at once, currently I have a page in which they can choose the resource(staff member) and set a Start and End to and Annual leave (Service) appointment, but because the resources are tied to a Shift pattern the end attribute comes up with an error if by chance they choose a time that doesn’t match the shift pattern field. Any ideas?