Skip to main content

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

FieldRequiredDescription
nombreYesHuman-readable label for the period, e.g. “2026-1” or “Primavera 2026”.
tipoYesType of period: SEMESTRE or CUATRIMESTRE.
fecha_inicioYesStart date of the academic period (date format).
fecha_finYesEnd date of the academic period (date format).

Typical setup workflow

1

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.
2

Add teachers, subjects, and classrooms

Use the Docentes, Materias, and Aulas pages to populate the catalogs if you haven’t already.
3

Configure teacher availability

Set availability blocks for each teacher so the generator knows when they can be scheduled.
4

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>"

Build docs developers (and LLMs) love