Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Luisanchez0/modulo_Horario/llms.txt
Use this file to discover all available pages before exploring further.
A period (periodo) defines the academic timeframe for a set of schedules. Every schedule entry belongs to exactly one period, so you must create a period before you can generate or manually create any schedule entries. Periods let you organize and filter your schedules by semester or trimester throughout the academic year.
Period fields
| Field | Required | Description |
|---|
nombre | Yes | Human-readable label for the period, e.g. “2026-1” or “Primavera 2026”. |
tipo | Yes | Type of period: SEMESTRE or CUATRIMESTRE. |
fecha_inicio | Yes | Start date of the academic period (date format). |
fecha_fin | Yes | End date of the academic period (date format). |
Typical setup workflow
Create the period
Navigate to the Periodos page and fill in the period name, type, start date, and end date. Click Guardar periodo to save it.
Add teachers, subjects, and classrooms
Use the Docentes, Materias, and Aulas pages to populate the catalogs if you haven’t already.
Configure teacher availability
Set availability blocks for each teacher so the generator knows when they can be scheduled.
Generate schedules for the period
Go to the Horarios page, expand the generation form, select the period, configure the workday parameters, and click Generar automaticamente.
Creating a period via the API
curl -X POST http://localhost:8004/periodos \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <admin-token>" \
-d '{
"nombre": "2026-1",
"tipo": "SEMESTRE",
"fecha_inicio": "2026-04-01",
"fecha_fin": "2026-08-15"
}'
Only users with the ADMIN role can create or delete periods. Listing and viewing individual periods is available to all authenticated users.
Viewing existing periods
The Periodos page lists all periods with their name, type, and date range. Each entry has an Eliminar button for ADMIN users.
Deleting a period
You cannot delete a period that has schedule entries associated with it. The API returns a 409 Conflict response and lists the dependent schedule entries. Delete all linked schedule entries first, then retry the period deletion.
If you attempt to delete a period with existing schedules from the UI, a modal appears listing each dependent schedule entry with its day and time. You can delete individual entries directly from that modal before closing it and retrying the period deletion.
To delete a period with its schedules via the API, first remove all schedule entries for that period:
# Delete each schedule entry linked to the period
curl -X DELETE http://localhost:8004/horarios/1 \
-H "Authorization: Bearer <admin-token>"
# Then delete the period
curl -X DELETE http://localhost:8004/periodos/1 \
-H "Authorization: Bearer <admin-token>"