When we link the service to a normal person and set the availability to "when the staff is available" everything works without an issue. If we try to add a functional mailbox as staff and use "when staff is available" the system does not "inherit" the availability from the functional mailbox calendar and customers can book at every hour of every day. We badly need to use a funcitonal mailbox because we have availability slots that change regularly (to the point where it is impossible to use normal scheduling) and different people need to be able to change the availability slots
Maybe it's possible to solve this by setting service(s) to generally 'not available' and allow (all) your staff to edit/set the availability on specific times instead with the option at the bottom. So they can all change the availability as it changes.
However a lot of things might be at play here: your 'functional mailbox' might be an address outside of your tenant, which means it can only ever be 'Guest' role as staff and Bookings can not check its availability. Or it might be a shared mailbox or something else because of which presence info can not be shared? Plus, with this solution your actual staff will not have the appointment synced to their calendar, only the 'functional mailbox' will.
And a very frequently changing availability is not very clear to customers.