The simplified scenario is that you have customers that can make a booking and you have managers that can interact with those bookings. Along with classes for "Customer" and "Manager", there is a class "Booking" that represents each booking.
Is it valid to have a class "Bookings" specifically for storing an ArrayList of all objects of "Booking" and having operations for interacting with these "Booking" objects (e.g. add, remove, modify and list) that any "Manager" is able to use?
I was not sure how Manager class fits into the scenario, in terms of convention. Also not shown is that Manager is a child of "Staff" class as part of the full scenario (not described here).
Is it valid to have a class "Bookings" specifically for storing an ArrayList of all objects of "Booking" and having operations for interacting with these "Booking" objects (e.g. add, remove, modify and list) that any "Manager" is able to use?
Visibly Bookings is only a collection of Booking, you do not need a specific class for that, collections exist by themselves
For class diagrams, is it within convention to have a class A storing an ArrayList of class B that is modifiable by class C
without the class Bookings we do not have A,B and C, anyway to answer to that question out of that context in UML there is nothing against that, nor encouraging that. I can just say independently of UML while the collection is own by A the fact C can modify it can be dangerous without warning A or asking A to do itself
I was not sure how Manager class fits into the scenario
Manager can be the class owning the collection of Booking