Overview
The calendar interface includes:Multiple views
Switch between month view and week view for different scheduling perspectives
Visual availability
See occupied and available time slots at a glance
Click to schedule
Click any time slot to create a new appointment
Status colors
Appointments are color-coded by status for quick identification
Key features
Calendar views
Month view (dayGridMonth):- Shows full month at a glance
- Displays appointment count per day
- Good for long-term planning
- Click on a date to see appointments
- Shows one week with hourly time slots
- Time range: 8:00 AM to 10:00 PM
- 15-minute slot intervals
- Default and recommended view for scheduling
Appointment display
Each appointment on the calendar shows:- Patient name (Nombre + Paterno)
- Appointment reason (motivo)
- Time slot occupancy
- Color-coded status:
- Primary color: Programada (Scheduled)
- Green (#10B981): Completada (Completed)
- Red (#EF4444): Cancelada (Cancelled)
Navigation
- Prev/Next buttons: Move backward or forward by view period
- Today button: Jump to current date
- View switcher: Toggle between month and week views
- Spanish locale with proper date/time formatting
Time slot configuration
The calendar is configured with:- Start time: 8:00 AM
- End time: 10:00 PM (22:00)
- Slot duration: 15 minutes
- Default appointment duration: 15 minutes
- No all-day slot: Only time-based appointments
How to use
Viewing appointments
Creating an appointment from the calendar
Select a patient first
Before using the calendar to schedule, select a patient from the “Pacientes” section. If no patient is selected, you’ll see a warning.
Fill appointment details
The appointment modal will open with:
- Selected patient (pre-filled, read-only)
- Selected date and time (pre-filled, editable)
- Consultation room selector (Consultorio 1, 2, or 3)
- Reason for visit (required)
If you attempt to create an appointment without selecting a patient first, a modal will prompt you to select a patient from the Pacientes section.
Editing an appointment
Modify details
In the modal that opens:
- Change the date using the date picker
- Change the time
- Update the consultation room
- Edit the reason/motivo
Calendar configuration
Week view specifics
The week view is configured for optimal appointment scheduling:- First day of week: Monday (firstDay: 1)
- Day header format: Full day name and date (e.g., “lunes 15”)
- Slot labels: 24-hour format (e.g., “09:00”, “14:30”)
- Event time format: 24-hour (e.g., “09:00 - 09:15”)
- Selectable: You can click any time slot to create appointments
- Select mirror: Visual feedback when selecting time slots
Spanish localization
The calendar uses Spanish locale (es) for:
- Day names: lunes, martes, miércoles, etc.
- Month names: enero, febrero, marzo, etc.
- Button text: “Hoy”, “Mes”, “Semana”
- Date formatting following Spanish conventions
Consultation rooms (Consultorios)
When creating appointments from the calendar, you can assign them to specific consultation rooms:- Consultorio 1: Default selection
- Consultorio 2: Alternative examination room
- Consultorio 3: Third examination room
Best practices
Use week view for daily scheduling
Use week view for daily scheduling
The week view shows hourly slots and makes it easy to see availability and avoid double-booking. Use month view for long-term planning and overview.
Color-code by status
Color-code by status
Take advantage of status colors to quickly identify:
- Green completed appointments (can close that time slot)
- Red cancelled appointments (time may be available)
- Primary color scheduled appointments (patient expected)
Select patient before scheduling
Select patient before scheduling
Always select the patient from the Pacientes module before creating appointments. This ensures the appointment is linked to the correct patient record.
Verify time slot availability
Verify time slot availability
Before clicking to schedule, scan the calendar for existing appointments at that time. The system prevents double-booking, but visual checking helps avoid errors.
Use consultation room assignments
Use consultation room assignments
Assign appointments to specific consultorios to:
- Manage multiple providers
- Balance patient load across rooms
- Reserve rooms for specific procedure types
Navigate efficiently
Navigate efficiently
Integration with appointments module
The calendar and appointments module work together seamlessly:- Shared data: Appointments created in either module appear in both
- Status sync: Status changes in the appointments list update calendar colors
- Patient selection: Same patient context applies to both
- Real-time updates: Creating an appointment refreshes both views
When to use calendar vs. appointments list
Use the calendar when you need to:- See visual availability across time
- Schedule multiple appointments in sequence
- Find the next available slot
- View a provider’s or room’s schedule
- Get a weekly or monthly overview
- Search appointments by patient or reason
- Change appointment status (Confirmada, En Consulta, etc.)
- View appointment history and status changes
- Filter by date range or status
- See detailed appointment information in table format
Both interfaces work with the same underlying data. Choose based on your current task - visual scheduling vs. appointment management.
Responsive design
The calendar adapts to different screen sizes:- Desktop: Full week view with all time slots visible
- Tablet: Compressed week view, scrollable
- Mobile: Consider using the appointments list for better mobile experience
FullCalendar features
The calendar is built on FullCalendar and includes:- Aspect ratio: 2:1 for optimal viewing
- Sticky headers: Date headers remain visible when scrolling
- Window resize handling: Adapts to window size changes
- Expand rows: Time slots expand to fill available space
- Day max events: In month view, shows ”+ X more” for crowded days
Keyboard and accessibility
- Tab through calendar controls
- Arrow keys navigate between dates (in some views)
- Click or Enter to select time slots
- Escape to close modal dialogs
- Screen reader support through FullCalendar’s accessibility features