Overview
As a regular user in Apartado de Salas, you can create room reservation requests, view available rooms and materials, and track the status of your submissions. This guide covers all the capabilities and workflows available to you.User Capabilities
Regular users have access to the following features:- Create Reservations: Submit requests to reserve rooms for events
- View Personal Requests: Monitor the status of your reservation submissions
- Browse Rooms: See available rooms and their associated materials
- Track Status: Check if your requests are pending, approved, or rejected
Users cannot approve or reject reservations. Only administrators have these permissions.
Accessing the System
Login
Navigate to the system login page and enter your credentials. The system uses session-based authentication managed by
app/Helpers/Auth.php:24.Creating Your First Reservation
To create a room reservation, navigate to the reservation creation form:Access Create Form
Click on “Apartar sala” (Reserve Room) from your dashboard. This loads the form at
/reservations/create.Select Room
Choose a room from the dropdown menu. Available rooms are loaded from the database and displayed dynamically.
View Available Materials
Once you select a room, the system automatically fetches and displays materials available for that specific room via AJAX call to
/api/materials?room_id={roomId}.Adding Time Slots
Reservations require at least one time slot. You can add multiple slots if your event spans multiple days or time periods:Fill First Time Slot
The form includes one time slot by default with these fields:
- Date: Select the reservation date
- Start Time: Event start time
- End Time: Event end time
Selecting Materials
Materials are room-specific and displayed only after selecting a room:- Automatic Loading: Materials load dynamically when you select a room
- Multiple Selection: Check all materials you need for your event
- Validation: The system validates that selected materials belong to the chosen room (
app/controllers/ReservationController.php:94)
If a room has no associated materials, you’ll see a message: “No hay materiales disponibles para esta sala.”
Submitting Your Request
Once all fields are completed:Viewing Your Reservations
Access your personal reservation history:Navigate to My Requests
Click “Mis solicitudes” (My Requests) from the dashboard. This route is handled by
app/controllers/ReservationController.php:243.Understanding Request Status
Your reservations can have three statuses:Pendiente
Your request is waiting for administrator review. No action required from you.
Aprobado
Your reservation has been approved. The room is reserved for your specified time slots.
Rechazado
Your request was rejected. Contact an administrator to understand why and submit a new request if needed.
Validation and Error Handling
The system performs several validations when you submit a reservation:Required Field Validation
Time Slot Validation
Conflict Detection
All validations happen server-side in
app/controllers/ReservationController.php:25 for security and data integrity.Best Practices
Plan Ahead
Plan Ahead
Submit reservation requests well in advance to ensure availability and give administrators time to review.
Provide Details
Provide Details
Use the notes field to explain special requirements, expected attendance, or setup needs.
Check Conflicts
Check Conflicts
Before submitting, consider checking existing reservations to avoid requesting conflicting time slots.
Select Appropriate Materials
Select Appropriate Materials
Only select materials you actually need. This helps administrators prepare the room efficiently.
Troubleshooting
Cannot See Materials
Issue: Material list doesn’t load after selecting a room Solution: Ensure JavaScript is enabled in your browser. The material loading uses AJAX requests.Submission Errors
Issue: Form submission fails with validation errors Solution: Check that:- All required fields are filled
- At least one time slot is added
- End time is after start time
- Selected materials are valid for the chosen room
Session Expired
Issue: Redirected to login page unexpectedly Solution: Your session has expired. Log in again to continue. The system requires active authentication viaAuth::requireLogin() for all reservation operations.
Next Steps
Create Reservations
Step-by-step guide for creating room reservations
Admin Role
Learn about administrator capabilities