So you are opting for a thin client I created also a business service which acts as a facade around Data class. It just had 2 methods: find and book. It is a valid approach, but according to Andrew Monkhouse it should not be a valid approach. The whole discussion can be read here. But as I said already: you can create a thin client and pass the certification.
creating a thin facade around the DB implementation
I guess you mean stale data. I kept my GUI and application as simple as possible, so no observer to refresh data when in another client an update has occured. Also no refresh button. If a user wants "fresh" data, he just has to search for records again.
What about state data?