Reservation system partially created using Strategy pattern