Resource Booking

I want to have a solution to book a room for a meeting or book a printer or book any kind of resource for a specific duration. i need a built in feature in any product that does that .

a customer threw this in my face one day.

Exchange Server is the solution . you can create resources mailboxes very easily from exchange . we can use outlook to book meetings with these resources.

 straight forward solution : https://technet.microsoft.com/en-us/library/bb124374.aspx

 but can i have reporting on those resources , like usage % for a resource, does a resource need maintenance or not and in what schedule ?

we dont have this as a built in feature in exchange  :( 

but we can still use powershell to collect some information from calendar : https://weblogs.asp.net/whaggard/