Files
AutoBooking/SESSION-2026-05-30.md

4.8 KiB

Sesión AutoBooking — 2026-05-29 / 2026-05-30

Qué se hizo en esta sesión

PARTE A — Fix: autobooking-roles v1.0 → v1.1.0

  • Agregado rol corporate_admin con cap read_corporate_dashboard
  • Agregada cap manage_autobooking al rol administrator
  • Migración retroactiva idempotente: asigna corporate_admin a usuarios con ab_company_id en usermeta
  • Backup: autobooking-roles.php.bak en el servidor

Archivo: /wp-content/plugins/autobooking-roles/autobooking-roles.php


PARTE B — Plugin nuevo: autobooking-admin-dashboard v1.0.0

Shortcode: [autobooking_admin] Acceso: solo capability manage_autobooking

7 Tabs (SVG icons, sin emojis, ES/EN):

  1. RESUMEN — KPIs en tiempo real + gráfico 30 días
  2. CONDUCTORES — lista + cola de aprobación (approve/reject/suspend)
  3. EMPRESAS — activar/desactivar + ver facturas
  4. VIAJES — filtros + exportar CSV + detalle con mapa + chat
  5. INCIDENTES — SOS activos + audio + resolver
  6. ZONAS — crear/editar/desactivar zone alerts en mapa
  7. CONFIG — settings plataforma + tarifas por país

Tablas creadas:

  • wp_ab_admin_audit (id, admin_user_id, action, target_type, target_id, meta JSON, created_at)
  • wp_ab_fare_config (id, country_code CHAR2 UNIQUE, currency, base_fare, per_km, per_minute, platform_fee_pct, minimum_fare, active, updated_at)

Índice agregado: wp_ab_trip_positionstrip_ts(trip_id, ts)

Archivos:

/wp-content/plugins/autobooking-admin-dashboard/
  autobooking-admin-dashboard.php
  assets/admin-dashboard.css   ← glassmorphism = mismo estilo que driver/passenger
  assets/admin-dashboard.js

Diseño: mismas variables CSS que el sistema unificado AutoBooking (--ab-orange #FF6F00, --ab-dark #0b0b0b, --ab-glass rgba(17,17,17,.55), --ab-glass-border). Imagen car-bg.webp del driver dashboard como fondo al 6% opacidad.


PARTE C — Plugin nuevo: autobooking-geo-restrict v1.1.0

Función: países permitidos configurables desde el admin. Cada usuario solo opera en el país donde está físicamente (bounding boxes GPS, sin API externa).

Endpoints REST:

  • GET /autobooking/v1/geo/check?lat=&lng= — público, retorna {allowed, country, message}
  • GET /autobooking/v1/admin/geo-settings — lee config (requiere manage_autobooking)
  • POST /autobooking/v1/admin/geo-settings/save — guarda {allowed_countries:[], blocked_message:""}

Bloquea (HTTP 403): conductor al ponerse online, pasajero al reservar, corporate al reservar

Config en wp_options:

  • ab_allowed_countries["US"] por defecto
  • ab_geo_blocked_msg → mensaje al usuario bloqueado

Países con bounding boxes: US (contiguous+Alaska+Hawaii), CO, MX, CA, GB, ES, AR, BR, CL, PE, EC, VE

Archivo:

/wp-content/plugins/autobooking-geo-restrict/
  autobooking-geo-restrict.php

Estado de plugins en servidor

Plugin Versión Estado
autobooking-roles 1.1.0 Activo
autobooking-driver-dashboard 2.0.0 Activo
autobooking-passenger-dashboard 1.0.0 Activo
autobooking-corporate-dashboard Activo
autobooking-admin-dashboard 1.0.0 Activo
autobooking-geo-restrict 1.1.0 PENDIENTE ACTIVAR

Hallazgos importantes

Inconsistencia de tarifas (decisión pendiente del dueño):

  • passenger-dashboard calcula en MILLAS con base $2.50
  • corporate-dashboard calcula en KILÓMETROS con base $3.00
  • Nueva tabla wp_ab_fare_config usa km — acción requerida: migrar ambos plugins para leer de ahí

Tablas posiblemente obsoletas (NO borradas, decisión pendiente):

  • wp_ab_rides y wp_autobooking_rides — versiones antiguas
  • wp_ab_scheduled_trips — driver v2 usa wp_ab_trips con status='assigned'

Pendientes próxima sesión

  1. Activar autobooking-geo-restrict en WP Admin
  2. Agregar panel geo-restrict al tab CONFIG del admin dashboard
  3. Unificar tarifas: passenger y corporate leyendo de wp_ab_fare_config
  4. Crear wp_ab_driver_documents para documentos de conductores en cola de aprobación
  5. Motor de despacho automático (matching conductor-pasajero)
  6. Stripe Connect para pagos y payouts
  7. Push notifications para conductores al asignar viaje
  8. Sistema de rating del pasajero por conductor

Conexión servidor

SSH: pi@autobooking.online puerto 2230
Container WP: autobookingonline-wordpress-autobooking-1
Container DB: mariadb  |  DB: AutoBookingDB

Archivos locales

D:\Proyectos Software\AutoBooking\
  CLAUDE.md                        <- contexto permanente
  CHANGES.md                       <- log de cambios detallado
  autobooking-roles.php
  autobooking-admin-dashboard.php
  admin-dashboard.css
  admin-dashboard.js
  autobooking-geo-restrict.php
  Customer-dashboard-original.html <- diseño original pasajero
  SESSION-2026-05-30.md            <- este archivo