Booking module refactored