Which is the best way to manage vacations?

I'm wondering which is the best way to manage holidays and vacations in Sugar.

In the User profile, there is the possibility to define user holidays; in the Business Center I can define business holidays; then, I can also define shifts, with shift execptions.

It seems to me that there is some overlap between them.

Am I right?

Is there a best practice to choose among them?