Overview
As an administrator in Apartado de Salas, you have full access to manage room reservation requests, approve or reject submissions, and oversee the entire reservation system. This guide covers all administrative capabilities and workflows.Administrator Capabilities
Administrators have access to all user features plus:- View All Reservations: Access complete list of all reservation requests
- Review Requests: View detailed information for each reservation
- Approve Reservations: Grant approval for pending requests
- Reject Reservations: Decline requests that cannot be accommodated
- Filter by Status: View reservations by their current state
- System Management: Full oversight of the reservation workflow
Role-Based Access Control
The system enforces strict role-based access usingapp/Helpers/Auth.php:
admin role before granting access.
Attempting to access admin-only pages without proper role results in a 403 Forbidden error.
Accessing the Admin Dashboard
Login as Administrator
Use your admin credentials to log into the system. Your user account must have
role = 'admin' in the database.Navigate to Reservations
Access the reservations list at
/reservations. This route is protected by Auth::requireRole('admin') in app/controllers/ReservationController.php:125.Viewing All Reservations
The main reservations page (app/views/reservations/index.php) displays a comprehensive table:
Information Displayed
- ID: Unique reservation identifier
- Evento: Event name provided by the requester
- Sala: Room name being requested
- Solicitante: Username of the person who submitted the request
- Estado: Current status (Pendiente, Aprobado, Rechazado)
- Fecha: Submission date and time
- Acciones: Available actions based on status
Filtering by Status
You can filter reservations by status using query parameters:- All reservations:
/reservations - Pending only:
/reservations?status=pendiente - Approved only:
/reservations?status=aprobado - Rejected only:
/reservations?status=rechazado
Reviewing Individual Requests
For detailed review of a reservation:Click Review Link
From the reservations list, click “Revisar” (Review) on any pending request. This navigates to
/reservations/show?id={reservationId}.View Complete Details
The detail page (
app/views/reservations/show.php) displays:- Event name and description
- Room requested
- Requester username
- Current status and creation date
- All requested time slots
- Selected materials
- Any additional notes
Retrieving Request Details
The show method inapp/controllers/ReservationController.php:264 fetches all related data:
Approving Reservations
To approve a pending reservation:Confirmation
The system submits a POST request to
/reservations/approve and updates the status to aprobado.Approval Implementation
The approve method inapp/controllers/ReservationController.php:176:
Approving a reservation marks those time slots as occupied, preventing conflicts with future requests.
Rejecting Reservations
To reject a reservation request:Confirmation
The system submits a POST request to
/reservations/reject and updates the status to rechazado.Rejection Implementation
The reject method inapp/controllers/ReservationController.php:208:
Administrative Workflows
Daily Review Process
Verify Availability
Check that requested time slots don’t conflict with already approved reservations
Batch Processing
When handling multiple requests:- Prioritize by Date: Review requests in chronological order of event dates
- Group by Room: Process all requests for the same room together to identify conflicts
- Check Dependencies: Some events may be part of a series requiring multiple slots
Status Management
Reservations progress through distinct states:Once a reservation is approved or rejected, the action buttons are no longer displayed. Status changes are currently permanent.
Security Considerations
Role Verification
Every administrative action includes role verification:CSRF Protection
The system uses POST methods for state-changing operations:Troubleshooting
Cannot Access Admin Pages
Issue: Receiving 403 errors when accessing/reservations
Solution: Verify your user account has role = 'admin' in the database. Contact a system administrator to update your role if needed.
Approve/Reject Buttons Not Working
Issue: Clicking approve or reject doesn’t update status Solution:- Check browser console for JavaScript errors
- Verify the form is submitting to the correct endpoint
- Ensure your session hasn’t expired
Missing Reservations
Issue: Not seeing all expected reservations in the list Solution: Check if you have a status filter applied. Remove the?status= parameter to see all reservations.
Best Practices
Regular Monitoring
Regular Monitoring
Check pending requests daily to ensure timely responses for users.
Fair Evaluation
Fair Evaluation
Review each request on its merits, considering room availability and resource constraints.
Conflict Prevention
Conflict Prevention
Carefully verify time slots before approving to prevent double-booking.
Communication
Communication
For rejected requests, consider contacting users externally to explain the decision and offer alternatives.
Documentation
Documentation
Keep external records of approval decisions for auditing purposes.
System Limitations
Next Steps
Managing Requests
Detailed guide for reviewing and processing reservation requests
User Role
Understanding the user perspective