Skip to main content

Funcionalidad de Cobros de Gestión

Descripción

Esta funcionalidad permite a los organizadores configurar quién paga las tarifas de gestión asociadas a sus eventos. Los organizadores pueden tener configuradas tarifas con diferentes tipos (monto fijo, porcentaje, o combinado) y esta funcionalidad permite decidir si el participante o el organizador absorbe estos costos.

Características Implementadas

1. Base de Datos

  • Nuevos campos en la tabla eventos:
    • management_fees_config: JSON para configuración adicional
    • participant_pays_fees: Boolean (true si el participante paga)
    • organizer_pays_fees: Boolean (true si el organizador paga)

2. Modelo Evento

  • Agregados los nuevos campos al $fillable y $casts
  • Método getOrganizerTariffConfig() para obtener la configuración de tarifas del organizador

3. Controlador

  • ManagementFeesController con métodos:
    • index(): Muestra la configuración actual
    • update(): Actualiza la configuración
    • Validación de permisos de acceso

4. Vistas

  • Vista principal en resources/views/eventos/config/management_fees/index.blade.php
  • Muestra la configuración de tarifas del organizador
  • Formulario para configurar quién paga las tarifas
  • Integración con el sistema de navegación existente

5. Rutas

  • GET events/config/management-fees/{id}: Ver configuración
  • PUT events/config/management-fees/{id}/update: Actualizar configuración

Cómo Usar

Para Organizadores

  1. Acceder a la configuración:
    • Ir a la edición de un evento
    • En el menú lateral, expandir la sección “Configuración”
    • Hacer clic en “Cobros de Gestión” (debajo de “Impuestos”)
  2. Ver configuración del organizador:
    • La vista muestra automáticamente las tarifas configuradas para el organizador
    • Incluye tipo, monto, porcentaje, período y estado
  3. Configurar quién paga:
    • Seleccionar entre “Participante” o “Organizador”
    • Agregar configuración adicional si es necesario
    • Guardar los cambios

Para Desarrolladores

Acceder a la configuración programáticamente:

Aplicar la lógica de cobros:

Estructura de Archivos

Validaciones

  • Solo organizadores y administradores pueden acceder
  • Validación de que al menos una opción esté seleccionada
  • Validación de tipos de datos para los campos booleanos

Notas Técnicas

  • Los campos son mutuamente excluyentes (solo uno puede ser true)
  • La configuración se guarda en formato JSON para flexibilidad
  • Integración completa con el sistema de navegación existente
  • Compatible con el sistema de tarifas existente
  • Acceso desde el menú lateral de configuración de eventos