# Reservation DATA
## OBJETIVO
Recopilar todos los codigos de reservas generadas y verificar si todos ellos estan en el MO. En caso de no estarlo notificar a los usuarios.
## Recopilación de Datos
- **codes**: Código de reserva.
- **full_codes**: Otros códigos relacionados, si los hay.
- **created_at**: Fecha y hora de creación.
- **updated_at**: Fecha y hora de la última actualización.
- **passengers_data**: Datos de los pasajeros en formato JSON, si disponible.
- **request**: La solicitud enviada.
- **response**: La respuesta recibida.
## Proceso
1. Abrir cada instancia de "Reservador Adapter".
2. Extraer los datos siempre que se realice una reserva.
3. Verificar si hay una respuesta asociada a la solicitud. En caso contrario, enviar un correo electrónico de notificación.
## Almacenamiento
- Guardar los datos recopilados en una base de datos accesible por otras aplicaciones.
- Estructura de la base de datos:
- Tabla llamada **Bookings** con columnas para cada uno de los datos mencionados.
## Notificación por Correo Electrónico
- Configurar un sistema de notificación por correo electrónico para informar si una solicitud no tiene respuesta.
## Verificación en MO (Mecanismo Operativo)
- Configurar en el MO un sistema que realice un chequeo para identificar códigos de la base que no estén en el MO.
## Acceso a la Base de Datos
- Asegurar que la otra aplicación tenga acceso a la base de datos para consultar y utilizar la información almacenada.
# Ejemplo:

https://git.aero.tur.ar/cotizador/omnibees-adapter/-/blob/master/models/reservation/reservation_manager.rb
Muy desde arriba todo, para debatir.
¿ Es muy complejo esto ?
No
¿ Que esfuerzo implica ?
Hacer un codigo de push a la bd en cada adapter.
Hacer un script de chequeo de reservas faltantes.
¿ Riesgos de que falle hay alguno?
No si se programa con rescue.
¿ Cuantas reservas se hacen por minuto ?
No tiene que influir en tiempos es un simple llamado a base.