# 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_positions` → `trip_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 ```