Overview
This guide provides administrators with detailed workflows for managing room reservation requests in Apartado de Salas. Learn how to efficiently review submissions, make informed decisions, and maintain the reservation system.Prerequisites
To manage requests, you must:- Have an administrator account (
role = 'admin') - Be authenticated to the system
- Understand the room inventory and scheduling constraints
Accessing the Request Management Interface
Navigate to Reservations
Go to Only users with admin role can access this page.
/reservations from your dashboard. This route is protected by:Understanding the Requests List
The main reservations page shows comprehensive information:Table Columns
Unique identifier for the reservation. Used for tracking and referencing specific requests.
The event name provided by the user. Describes the purpose of the reservation.
The room name being requested. Each reservation is for a single room.
Username of the person who submitted the request. Useful for follow-up communication.
Current status of the request:
- Pendiente: Awaiting review
- Aprobado: Approved and confirmed
- Rechazado: Rejected by administrator
When the request was submitted (created_at timestamp).
Available actions based on status:
- Pendiente: “Revisar” link to detail page
- Aprobado/Rechazado: Shows current status (no actions)
Filtering Requests by Status
Efficiently manage requests by filtering:- All Requests
- Pending Only
- Approved
- Rejected
URL:
/reservationsShows every reservation regardless of status. Use this for:- Overall system overview
- Historical reporting
- Checking all reservations for a specific room
Filter Implementation
The filtering logic inapp/controllers/ReservationController.php:122:
Reviewing Individual Requests
For detailed examination of a reservation:Access Request Details
From the reservations list, click “Revisar” (Review) on any pending request. This navigates to
/reservations/show?id={reservationId}.Review Complete Information
The detail page shows all aspects of the reservation:
- Event name and description
- Room being requested
- Requester information
- Current status
- Creation date
- All requested time slots
- Selected materials
- Additional notes from requester
Verify Availability
Check that the requested time slots don’t conflict with existing approved reservations.
Detail Page Data Retrieval
The show method (app/controllers/ReservationController.php:264) gathers all related data:
The system fetches the main reservation record plus all associated slots and materials in separate queries for complete context.
Approving Requests
To approve a pending reservation:Verify Eligibility
Before approving, confirm:
- ✓ No scheduling conflicts exist
- ✓ Room is appropriate for event
- ✓ Requested materials are available
- ✓ Time slots are reasonable
- ✓ Request follows organizational policies
Click Approve Button
On the detail page, click “Aprobar” (Approve). This button only appears for pending requests:
Approval Implementation
The approve method inapp/controllers/ReservationController.php:176:
What Happens on Approval
- Database Update: Reservation status changes from
pendientetoaprobado - Time Slot Lock: Those time slots are now considered occupied for conflict checking
- Material Reservation: Selected materials are implicitly reserved for those times
- User Notification: User can see approval when they check “Mis solicitudes”
Approval is permanent in the current implementation. Reversing an approval requires direct database access.
Rejecting Requests
To reject a reservation that cannot be accommodated:Identify Rejection Reason
Common reasons for rejection:
- Scheduling conflict with existing reservation
- Room inappropriate for event type
- Requested materials unavailable
- Policy violations
- Insufficient advance notice
- Room under maintenance
Consider Communication
The system doesn’t store rejection reasons. Consider contacting the user externally to explain the decision and offer alternatives.
Rejection Implementation
The reject method inapp/controllers/ReservationController.php:208:
Decision-Making Framework
Use this framework to evaluate requests consistently:Approval Criteria
Availability Check
Availability Check
Question: Are the requested date/time slots available?
- Check existing approved reservations for the same room
- Verify no conflicts exist in the database
- Consider setup/teardown time between events
Resource Assessment
Resource Assessment
Question: Are requested materials available?
- Verify materials exist and are functional
- Check if materials are already committed elsewhere
- Assess if material requests are appropriate for event
Room Appropriateness
Room Appropriateness
Question: Is the room suitable for this event?
- Room capacity vs. expected attendance (check notes)
- Room features match event needs
- Room location appropriate for event type
Policy Compliance
Policy Compliance
Question: Does the request comply with organizational policies?
- Advance notice requirements met
- User authorized to book this room type
- Event type permitted in this space
- Duration within allowed limits
Information Completeness
Information Completeness
Question: Is there enough information to make a decision?
- Event name is descriptive
- Time slots are clear
- Special requirements understood
Workflow Strategies
Daily Review Process
Establish a routine for managing requests:Conflict Resolution
When multiple requests compete for the same resource:- First Come, First Served: Generally approve based on submission timestamp
- Priority Events: Some organizational events may take precedence
- Duration Consideration: Shorter requests may be easier to accommodate
- Alternative Solutions: Suggest different rooms or times to later requesters
Common Scenarios
Scenario 1: Clear Approval
Situation: Request for Conference Room A on 2026-03-20 from 10:00-12:00. No conflicts, materials available, clear event description. Action:Scenario 2: Scheduling Conflict
Situation: Request for Room B on 2026-03-25 from 14:00-16:00. Existing approved reservation for 13:00-15:00. Action:Contact user externally: “Your request conflicts with existing reservation. Room available 15:00-17:00 instead. Would that work?”
Scenario 3: Material Unavailable
Situation: Request includes video conferencing equipment that’s committed to another event. Action:Contact user: “Room and time available, but video conferencing system is already booked. Can you proceed without it or choose different date?”
Scenario 4: Insufficient Information
Situation: Event name is vague (“Meeting”), no notes, unclear purpose. Action:Security and Validation
Role Verification
Every management action includes role checking:POST Method Enforcement
State-changing operations require POST requests:ID Validation
Reservation IDs are validated before processing:The system performs defensive validation at multiple levels to ensure data integrity and prevent manipulation.
Troubleshooting
Cannot Access Reservations Page
Problem: 403 Forbidden error when accessing/reservations
Solution:
- Verify your user account has
role = 'admin'in database - Check that you’re logged in with admin account
- Contact system administrator to verify role assignment
Approve/Reject Not Working
Problem: Clicking buttons doesn’t change status Diagnosis:- Check browser console for errors
- Verify session hasn’t expired
- Try refreshing page and clicking again
- Check database to confirm status isn’t already changed
Missing Reservations
Problem: Expected requests don’t appear in list Solution:- Remove status filter (view
/reservationswithout parameters) - Check if requests were created by different users
- Verify requests exist in database
- Check date range if time-based filtering is implemented
Action Buttons Not Visible
Problem: “Aprobar” and “Rechazar” buttons don’t appear Cause: Buttons only show for pending requests:pendiente. Already approved or rejected requests don’t show action buttons.
Best Practices
Timely Response
Process pending requests within 24-48 hours to provide good user experience.
Clear Communication
For rejections, contact users externally to explain decisions and offer alternatives.
Consistent Criteria
Apply the same evaluation standards to all requests for fairness.
Documentation
Keep external records of approval decisions for organizational auditing.
System Limitations
Next Steps
Admin Role Overview
Complete guide to administrator capabilities
Creating Reservations
Understand the user submission process