{"ok":true,"site":{"host":"ativiajes.com","url":"https://www.ativiajes.com/","favicon":"/favicons/ativiajes.com.png","desc":"Flights, hotels, and holiday packages","type":"live","category":"Travel & Events","tools":[{"name":"create_booking","kind":"act","impl":"imperative","description":"Prepara y solicita confirmación manual del usuario en pantalla para la reserva de vuelo en ATI Viajes. Valida que los datos estén completos y enfoca el botón de confirmación para que el usuario humano autorice personalmente la operación. No emite reservas ni genera PNRs de forma autónoma.","inputSchema":{"type":"object","properties":{"offer_id":{"type":"string","description":"Identificador único de la oferta de vuelo a reservar (opcional si ya estás en la pantalla de checkout)."}}},"executable":true},{"name":"fill_passenger_details","kind":"act","impl":"imperative","description":"Autocompleta en pantalla los nombres y apellidos de los pasajeros y los datos de contacto (email y teléfono) de forma transparente.","inputSchema":{"type":"object","properties":{"passengers":{"type":"array","items":{"type":"object","properties":{"passenger_index":{"type":"number","description":"Índice del pasajero (0 para primer pasajero, 1 para el segundo, etc.)"},"first_name":{"type":"string","description":"Nombre del pasajero según documento"},"last_name":{"type":"string","description":"Apellido del pasajero según documento"}},"required":["first_name","last_name"]}},"contact":{"type":"object","properties":{"email":{"type":"string","description":"Email de contacto del titular de la reserva"},"phone":{"type":"string","description":"Teléfono de contacto"}}}},"required":["passengers"]},"executable":true},{"name":"get_checkout_summary","kind":"answer","impl":"imperative","description":"Obtiene el resumen de la oferta seleccionada en checkout, desglose de tarifas, campos requeridos por pasajero y las 3 garantías de ATI Viajes ('Reservá sin pagar', 'Un experto revisa tu reserva', 'Cancelación sin costo').","inputSchema":{"type":"object","properties":{}},"executable":true},{"name":"get_flight_details","kind":"answer","impl":"imperative","description":"Obtiene el detalle ampliado de una oferta de vuelo por offer_id, incluyendo desglose de equipaje (mano, cabina, bodega), políticas de reembolso, cabina y segmentos operados.","inputSchema":{"type":"object","properties":{"offer_id":{"type":"string","description":"Identificador único de la oferta de vuelo (offer_id)."}},"required":["offer_id"]},"executable":true},{"name":"get_flight_offers","kind":"answer","impl":"imperative","description":"Obtiene el listado de ofertas de vuelos activas. Soporta 'wait: true' para esperar automáticamente a que finalice la carga de los resultados en pantalla.","inputSchema":{"type":"object","properties":{"wait":{"type":"boolean","description":"Recomendado: si es true, la herramienta esperará de forma asíncrona a que los vuelos terminen de cargarse en pantalla antes de responder."},"timeout_ms":{"type":"number","description":"Tiempo máximo de espera en milisegundos cuando wait: true (por defecto 8000 ms)."},"max_results":{"type":"number","description":"Límite opcional de ofertas a retornar (por defecto 50 ofertas, máximo 100)."},"max_stops":{"type":"number","description":"Filtro para limitar la cantidad máxima de escalas (usar 0 para vuelos directos únicamente)."},"nonstop":{"type":"boolean","description":"Alias opcional para max_stops: 0. Si es true, filtra solo vuelos sin escalas."},"sort_by":{"type":"string","enum":["price_asc","duration_asc","recommended"],"description":"Criterio de ordenamiento: 'price_asc' (más económico primero), 'duration_asc' (más rápido primero), 'recommended' (recomendado). Por defecto 'price_asc'."}}},"executable":true},{"name":"navigate_to_flights_search","kind":"act","impl":"imperative","description":"Navega al buscador principal de vuelos de ATI Viajes.","inputSchema":{"type":"object","properties":{}},"executable":true},{"name":"search_airports","kind":"answer","impl":"imperative","description":"Busca códigos IATA de aeropuertos y ciudades por nombre (ej. 'Buenos Aires' -> 'BUE' / 'EZE' / 'AEP', 'Miami' -> 'MIA', 'Madrid' -> 'MAD'). Usar 'BUE' para buscar en todos los aeropuertos de Buenos Aires.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Nombre de la ciudad, país o código IATA parcial a buscar (ej. 'Buenos Aires', 'MIA', 'Madrid')."}},"required":["query"]},"executable":true},{"name":"search_flights","kind":"act","impl":"imperative","description":"Inicia la búsqueda de vuelos en ATI Viajes especificando origen (IATA), destino (IATA), fechas y pasajeros. Si el usuario ingresó un nombre de ciudad en vez del código IATA, usa primero 'search_airports'. Redirige a los resultados. IMPORTANTE: Para leer las ofertas cargadas, ejecutar 'get_flight_offers' con 'wait: true'.","inputSchema":{"type":"object","properties":{"origin":{"type":"string","description":"Código IATA de origen (ej. 'BUE' para todo Buenos Aires, 'EZE', 'AEP', 'COR', 'MDZ')."},"destination":{"type":"string","description":"Código IATA de destino (ej. 'MIA', 'MAD', 'BCN', 'PUJ', 'CUN')."},"departure_date":{"type":"string","description":"Fecha de salida en formato ISO YYYY-MM-DD (ej. '2026-10-15')."},"return_date":{"type":"string","description":"Fecha de regreso opcional en formato ISO YYYY-MM-DD (ej. '2026-10-25'). Búsqueda de ida y vuelta si se especifica."},"adults":{"type":"number","description":"Cantidad de pasajeros adultos de 18 años o más (por defecto 1)."},"children_ages":{"type":"array","items":{"type":"number"},"description":"Lista de edades de todos los menores entre 0 y 17 años (ej. [0, 4, 10, 15]). El Hub de ATI Viajes clasificará automáticamente infantes en regazo (0-1 año) y menores (2-17 años)."},"cabin":{"type":"string","enum":["Y","C","F"],"description":"Clase de cabina deseada. 'Y' (Económica), 'C' (Ejecutiva/Business), 'F' (Primera). Por defecto 'Y'."},"currency":{"type":"string","enum":["ARS","USD"],"description":"Moneda de visualización para los precios ('ARS' o 'USD'). Por defecto 'ARS'."},"nonstop":{"type":"boolean","description":"Alias para vuelos sin escala. Si es true, busca exclusivamente vuelos directos."}},"required":["origin","destination","departure_date"]},"executable":true},{"name":"select_flight_offer","kind":"act","impl":"imperative","description":"Selecciona una oferta de vuelo por su offer_id e inicia la reserva posicionando al usuario en el checkout. Acción con efecto en la interfaz.","inputSchema":{"type":"object","properties":{"offer_id":{"type":"string","description":"Identificador único de la oferta de vuelo a seleccionar."}},"required":["offer_id"]},"executable":true}],"apiSurface":"spec","toolCount":9}}