Add BookingFlow, reorganize code
Use flatMap in BookingFlow