Skip to main content

Overview

Trial classes allow prospective students to experience the riding school before committing to full enrollment. The HRS system supports two types of trial classes with built-in validation to prevent abuse.
Trial classes do NOT count toward a student’s monthly class quota and are clearly marked in the calendar and reports.

What is a Trial Class?

A trial class enables someone without an active student account to take a riding lesson to evaluate the school before formal registration.

Key Characteristics

  • Marked with 🎓 emoji in calendar
  • Orange border styling in schedule
  • “Prueba” (Trial) badge in class details
  • Does not count toward monthly quotas
  • Subject to strict validation rules

Types of Trial Classes

Type 1: New Person

For someone who has never been a student at the school.
  • No student account required
  • Just enter name and surname
  • Creates “Trial Person” record

Type 2: Existing Inactive Student

For a previously registered student trying a new specialty.
  • Student must be INACTIVE
  • Cannot have classes in that specialty
  • Select from student list

Type 1: New Person Trial

For prospective students who have never attended the school.

Requirements

  • First name
  • Last name
  • No existing student record needed

Setup Process

1

Create Class

Navigate to the calendar or Classes section and click to create a new class.
2

Enable Trial Mode

Check the “Trial Class” checkbox in the class form.
3

Select New Person

Choose “New Person” from the trial type options.
4

Enter Details

Fill in:
  • First name
  • Last name
  • Select instructor
  • Select horse
  • Choose specialty
  • Set date and time
5

Save Trial Class

Click Create Class. The system:
  • Creates a trial person record
  • Marks class with esPrueba: true
  • Does not count toward quotas

System Behavior

// Trial classes are identified in the calendar
// From README.md:182-187
const esPrueba = true; // Marked as trial
const alumnoId = null; // No student account
const nombreParticipante = "Juan Pérez"; // Trial person name

Visual Identification

  • Calendar: 🎓 emoji displayed
  • Border: Orange highlight
  • Badge: “Prueba” label
  • Details: Alert showing trial class info

Type 2: Inactive Student Trial

For previously enrolled students who want to try a different specialty.

Requirements

Strict Validation Rules:
  1. Student must be INACTIVE (activo: false)
  2. Student cannot have any classes (scheduled or completed) in the chosen specialty
  3. Student cannot repeat trial class for same specialty

Setup Process

1

Create Class

Navigate to create a new class from calendar or Classes section.
2

Enable Trial Mode

Check the “Trial Class” checkbox.
3

Select Existing Student

Choose “Existing Student” from trial type options.
4

Choose Student

Select from the dropdown of INACTIVE students only.
Active students will not appear in this list.
5

Select Specialty

Choose a specialty the student has NOT previously tried:
  • Equitación (Riding)
  • Adiestramiento (Training)
  • Equinoterapia (Equine Therapy)
  • Monta (Free Riding)
6

Complete Details

Fill in:
  • Instructor
  • Horse
  • Date and time
  • Duration
7

Save

System validates all rules before allowing creation.

Validation Rules

The system enforces three critical validation rules:

Rule 1: No Active Students

// Students must be inactive to take trial classes
student.activo === false
Valid: Inactive student trying new specialty
Invalid: Active student cannot book trial class

Rule 2: No Previous Classes in Specialty

// Check for existing classes in the specialty
const hasClassesInSpecialty = clases.some(
  clase => 
    clase.alumnoId === student.id && 
    clase.especialidad === selectedSpecialty
);
Valid: Student has no classes in “Equinoterapia”, can book trial
Invalid: Student has completed classes in “Equitación”, cannot book trial for that specialty

Rule 3: No Repeat Trial Classes

// Students cannot repeat trial for same specialty
const hasTrialInSpecialty = clases.some(
  clase => 
    clase.alumnoId === student.id && 
    clase.especialidad === selectedSpecialty &&
    clase.esPrueba === true
);
Valid: First trial class in “Adiestramiento”
Invalid: Already took trial class in “Adiestramiento”

Quota Tracking

Trial classes have special handling in the quota system:
// From Alumnos.tsx:405-419
const clasesAlumnoMes = clases.filter(
  (c) =>
    c.nombreParticipante === nombreCompleto &&
    !c.esPrueba &&  // ← Trial classes excluded
    ["COMPLETADA", "ASA"].includes(c.estado) &&
    new Date(c.dia).getMonth() + 1 === mesActual &&
    new Date(c.dia).getFullYear() === añoActual,
);
The !c.esPrueba filter ensures trial classes are excluded from monthly quota calculations.

Visual Indicators

In Calendar

Trial classes are distinctly marked:
From README.md:182-187:
- 🎓 Emoji in the calendar
- Orange border on the cell
- "Prueba" badge in details
- Alert notification when editing

In Class Details

When viewing a trial class:
  • Badge displaying “Prueba”
  • Alert message explaining trial status
  • Different styling to distinguish from regular classes

Converting Trial to Regular Student

After a successful trial class:
1

Evaluate Interest

Determine if the trial participant wants to enroll.
2

Register as Student

For new persons:
  • Navigate to Students → New Student
  • Enter full information (DNI, contact, etc.)
  • Select class plan
  • Configure horse assignment
For inactive students:
  • Edit the student record
  • Change status to Active (activo: true)
  • Update class plan if needed
3

Schedule Regular Classes

Once registered/activated, book regular classes without trial flag.

Common Scenarios

Solution: Use Type 1 (New Person)
  1. Create class, check “Trial Class”
  2. Select “New Person”
  3. Enter their name
  4. Complete class details and save
Solution: Use Type 2 (Existing Student)
  1. Verify student is inactive
  2. Check they have no equine therapy classes
  3. Create trial class, select the student
  4. Choose “Equinoterapia” specialty
Solution: Not allowedActive students cannot book trial classes. They should book regular classes that count toward their quota.
Solution: Not allowed for that specialtyValidation prevents trial classes in specialties where the student has prior experience. They can try a different specialty.

Business Rules Summary

What Trial Classes Can Do

  • Allow prospective students to try the school
  • Enable inactive students to explore new specialties
  • Provide risk-free introduction to riding
  • Do not count toward monthly quotas

What Trial Classes Cannot Do

  • Cannot be used by active students
  • Cannot be repeated for same specialty
  • Cannot be used if student has classes in that specialty
  • Do not count as regular classes in reports

Reporting

Trial classes appear separately in reports:
  • Excluded from quota calculations
  • Tracked in dedicated trial class metrics
  • Help measure conversion rates (trial → enrolled)
  • Analyze which specialties attract trial students

Technical Details

Trial Class Flag

esPrueba: boolean; // true for trial classes

Trial Person Storage

// For Type 1 (New Person)
{
  nombreParticipante: string; // "Juan Pérez"
  alumnoId: null; // No student record
  esPrueba: true;
}

Specialty Types

// From enums.ts:3-7
export type EspecialidadClase =
  | "ADIESTRAMIENTO"
  | "EQUINOTERAPIA"
  | "EQUITACION"
  | "MONTA";

Build docs developers (and LLMs) love