Reworked the backend with reservations instead of groups