The Payments module lets staff record membership fee transactions for any registered client. Each payment is tied to a specific client, a payment date, and a number of contracted days. GymSys automatically calculates the amount owed based on the selected day count using a built-in pricing schedule, and the server increments the client’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Hansel-Pan/sistema-de-informacion-web-para-un-gimnasio/llms.txt
Use this file to discover all available pages before exploring further.
dias_restantes counter when the payment is saved successfully.
Pricing Packages
GymSys uses a tiered pricing model defined in thePRECIOS constant inside Pagos.jsx. The price per session breaks when the contracted duration hits a package threshold:
| Days | Label | Price |
|---|---|---|
| 1 | 1 día | $8.000/día |
| 14 | 14 días | $8.000/día |
| 15 | Paquete 15 días | $50.000 |
| 30 | Paquete 30 días | $90.000 |
| 365 | Año completo | $1.000.000 |
Recording a Payment
Navigate to/pagos and fill out the Nuevo Pago form:
- Cliente — select from the dropdown, which shows each client’s full name, government ID, and current remaining days in the format
{nombres} - {identificacion} (Días restantes: {dias_restantes}). - Fecha del pago — date picker, defaults to today.
- Días contratados — numeric input between 1 and 365. The calculated total updates in real time below the field as you type.
calcularTotal() and displayed on the submit button as Registrar Pago (${total}). After a successful POST, the server returns the saved payment including the confirmed total, and the client list is refreshed so dias_restantes values reflect the newly added days.
calcularTotal function
0 for any day count that does not fall within the defined tiers, which means the submit button will show $0 as a visual cue that an out-of-range value has been entered.
The total is calculated client-side purely for display. The authoritative total is computed and stored by the REST API when the payment is
POSTed. Always verify the confirmed total in the success message that appears after submission.API call
Pago registrado: $90,000 por 30 días
Payment History
Below the registration form, the Historial de Pagos card lists every payment that has been recorded, fetched viapagosApi.listar() on page mount and refreshed after each new payment is created.
| Column | Description |
|---|---|
| ID | Auto-generated payment record ID |
| Cliente | Full name of the member |
| Identificación | Member’s government ID number |
| Fecha | Payment date, formatted as a local date string |
| Días | Number of contracted days |
| Total | Amount paid, formatted with locale-aware thousands separators |