# 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: ![image (1)](https://hackmd.io/_uploads/SySsMGSSa.png) 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.