I just googled the "open session in view" pattern. It seems this is Hibernate specific, so your app would not be portable to another container or JPA implementation. I would suggest to build the session bean methods in a way that they preload required data for their use case (using e.g. the "appointments.getOffers().size()" approach you mentioned above)
Die Welt ist ein Dorf - ich bin im Nebenjob an der FH Wiesbaden ;-)
Best regards
Wolfgang