How I would design a reservation system