public BookSeatsResult BookSeats(ushort numberOfSeats)
        {
            if (!CanBookSeats(numberOfSeats))
            {
                return(new BookSeatsResult.WouldBeOverbooked());
            }

            var bookingId = BookingId.CreateNew();

            _bookings.Add(new Booking(bookingId, numberOfSeats));
            return(new BookSeatsResult.Booked(bookingId));
        }
 public Booked(BookingId bookingId)
 {
     BookingId = bookingId;
 }
 public Booking(BookingId id, ushort numberOfSeats)
 {
     Id            = id;
     NumberOfSeats = numberOfSeats;
 }