In my case, I use the booking system for services.
A user may need two or more services
Osservicebooking only limits the amount per user, the amount of orders (weekly, monthly, etc.)
My subtle change keeps the limit with OSHelper::checkLimitBooking(and byItems) but filters by service, which allows a user to book 1 timeslot, but by service.