Removes mix of BookingResult and BookingException and makes implementations look  more realistic by throwing exception with a 20% chance.