Saltar al contenido principal

Gestión de Membresías

Descripción General

Este módulo permite administrar las membresías de los asociados a las organizaciones de transporte. Cada membresía tiene un período de vigencia determinado.

Modelo de Datos

erDiagram
ASSOCIATE ||--o{ MEMBERSHIP : "tiene"
ORGANIZATION ||--o{ MEMBERSHIP : "otorga"

MEMBERSHIP {
int id PK
int associate_id FK
int organization_id FK
date start_date
date end_date
string status
timestamp created_at
timestamp updated_at
}

ASSOCIATE {
int id PK
string ci UK
string name
boolean active
}

ORGANIZATION {
int id PK
string name
boolean active
}

Campos de la Membresía

CampoTipoDescripción
idINTEGERIdentificador único
associate_idINTEGERAsociado
organization_idINTEGEROrganización
start_dateDATEFecha de inicio
end_dateDATEFecha de vencimiento
statusSTRINGEstado de la membresía
created_atTIMESTAMPFecha de creación
updated_atTIMESTAMPFecha de última actualización

Flujo de Gestión

1. Registrar Membresía

// En MembershipController
public function store(Request $request, Associate $associate)
{
Membership::create([
'associate_id' => $associate->id,
'organization_id' => $request->organization_id,
'start_date' => $request->start_date,
'end_date' => $request->end_date,
'status' => 'active'
]);

return redirect()->back()->with('success', 'Membresía creada');
}

2. Validar Vigencia

El sistema verifica automáticamente si la membresía está vigente:

// En AssociateController
if (!$associate->active) {
$error = 'El asociado no se encuentra activo';
return view('search', ['associate' => $associate, 'error' => $error]);
}

Estados de la Membresía

EstadoDescripción
VigenteDentro del período de validez
VencidoPasada la fecha de vencimiento
CanceladoCancelada manualmente
SuspendidoSuspendida temporalmente

Cálculo de Vigencia

// Verificar si la membresía está vigente
$today = Carbon::now();
$isValid = $membership->end_date >= $today &&
$membership->start_date <= $today &&
$membership->status == 'active';

Ejemplo de Registro

Membresía #123
Asociado: Juan Pérez López
Organización: Asociación de Transportistas del Beni
Fecha Inicio: 01/01/2024
Fecha Fin: 31/12/2024
Estado: Vigente

Panel Admin

Gestión de Membresías

  • Crear: Associate > Membership > Create
  • Editar: Modificar fechas y estado
  • Cancelar: Cambiar estado a cancelado
  • Historial: Ver todas las membresías de un asociado