public Booking CreateBooking(DateTime dateOfBooking, Traveler traveler, Trip trip) { Booking booking = new Booking { Trip = trip, Traveler = traveler, BookingDate = dateOfBooking }; if (CheckUnpaidTrips(traveler) >= UnpaidTripLimit) { return(DenyBooking(booking)); } if (!OpenForBooking(dateOfBooking, trip)) { return(UnavailableBooking(booking)); } return(AcceptBooking(booking)); }