0 Viajes Registrados (Estado Inicial Vacío)
La aplicación inicia sin viajes, pasajeros, códigos PNR ni precios precargados.
Crea tu primer viaje real o utiliza el botón superior "Cargar datos [DEMO]" si deseas inspeccionar la interfaz con ejemplos claramente etiquetados como [DEMO].
| Pasajero (Nombre en Pasaporte) | Estado Pasaporte (+6m del regreso) y Visas | Estado Compra | Aerolínea y Vuelo | PNR / Localizador | Equipaje / Instrumentos | Checklist Destino | Precio y Moneda | Acciones |
|---|
Buscador de Vuelos Dentro de la App
Busca vuelos con precios actualizados. El proveedor puede modificar los precios y no siempre ofrece enlaces de compra.
- 1) Buscar vuelos (lista de ida): consume 1 consulta
- 2) Elegir la ida para ver regresos: +1 consulta
- 3) Consultar opciones de compra: +1 consulta
0 Resultados de Vuelos (Esperando consulta)
Completa origen, destino, fechas y pasajeros para buscar vuelos.
Directorio Reutilizable de Pasajeros y Control de Documentos
Solo se guarda nombre de pasaporte, fecha de nacimiento, nacionalidad, fecha de vencimiento del pasaporte, etiquetas de visas vigentes y nota no sensible.
Para garantizar que ningún cambio se guarde sin su rastro de auditoría, la mutación de datos y la creación del registro en audit_logs deben ejecutarse dentro de la misma transacción atómica (db.runTransaction() en el endpoint de Cloud Functions o un WriteBatch validado por reglas). Si la escritura del log falla, el cambio principal se revierte por completo.
Los triggers de fondo como onDocumentWritten en Cloud Functions son asíncronos y eventuales: se disparan después de que el documento principal ya fue modificado en Firestore. Por lo tanto, no garantizan una auditoría atómica (si el trigger sufre un error o retraso, el cambio ya quedó aplicado). Pueden usarse como respaldo secundario, nunca como única garantía atómica.
Usuarios Autorizados (`users/{uid}`)
Registrarse con Correo o Google deja al usuario sin acceso hasta que un Admin lo autorice aquí.
Historial de Cambios (`audit_logs`)
Inicia en 0 registros. Registra autor, rol, fecha/hora y detalle de cada operación.
Estado Real, Requisito del Plan Blaze y Prueba Local Segura
La interfaz completa en español con inicio en 0 datos, modo [DEMO] aislado, regla automática de pasaportes (+6 meses tras el regreso), compras multimoneda separadas, asignación desde el buscador a un pasajero y los 5 archivos de servidor listos para copiar.
Tu proyecto pasajes-en-grupo está actualmente en plan Spark (gratis). Para desplegar Cloud Functions y usar Secret Manager (SERPAPI_KEY), Firebase exige pasar el proyecto al plan Blaze (pago por uso). Blaze requiere asociar tarjeta y puede generar cargos si se superan las cuotas gratuitas o por almacenamiento de contenedores en Artifact Registry.
No ejecutes firebase deploy directamente sobre producción hasta revisar. Prueba primero en tu computadora con firebase emulators:start o publica en una URL temporal privada con firebase hosting:channel:deploy revision-grupo.