Saltar al contenido
Integrador de portales
Seis años en producción · agencia mayorista B2B

Seis portales sin API. Un solo resultado.

Un agente de viajes consultaba el mismo alojamiento en seis mayoristas distintos, cada uno con su sesión, su interfaz y su nomenclatura. Ninguno expone una API: todo esto se opera por navegador.

839 → 409
filas colapsadas en alojamientos

Sin la correlación el agente compara 839 líneas sin saber cuáles son el mismo hotel. Con ella, 409 decisiones reales.

6
desenlaces distinguidos

Con ofertas, sin resultados, error, omitido, detenido y detenido con parcial. Ninguno se confunde con otro en el reporte.

3
modos de consulta

Masiva sin cabeza para comparar, individual con navegador visible, y mosaico persistente para el traspaso de reserva.

2
países operativos

Qué portales ve cada operador sale del país de su cuenta: es configuración, no código.

Antes de buscar

El catálogo se declara, no se adivina

La pantalla de búsqueda decide contra qué se va a buscar y con qué filtros. Cuatro decisiones que ahorran trabajo más adelante.

Integrador de portalesOperador · Colombia PortalesReportesCotizaciones
BúsquedaResultados
Servicio y contrato
Estancia / alojamiento ▾
Número de contrato
Destino y fechas
Por destino (ubicación) ▾
Colombia ▾
Bogotá ▾
08/01/2027
14/01/2027
Categoría y régimen
Estrellas (múltiple)
1★2★3★4★5★
Régimen (múltiple)
Sólo habitaciónDesayunoMedia pensión
Habitaciones
Hab. 1Adultos2Niños0
+ Añadir habitación
Búsqueda en portales
Búsqueda en 6 portales (estancia / alojamiento).
Buscar en todos los portales
Comparativa COP (TRM)
3.118,24 COP/USD
TRM oficial (dato público del gobierno)
Sólo afecta la comparativa «≈ COP» entre portales; no modifica precios del portal.
Catálogo cargado: 6 portales. No elija agencia: se usarán todos los compatibles con el servicio.

El servicio manda sobre el catálogo

Al elegir «estancia» el sistema ya sabe qué portales saben responder eso. Nadie tiene que acordarse de cuáles sirven, y un portal sin estrategia para ese servicio no se intenta ni se cuenta como ausencia.

Los filtros viajan al portal, no a la lista

Estrellas y régimen se traducen a los controles de cada sitio antes de extraer. Traer 800 filas para descartar 700 en local es pagar seis veces por datos que se tiran.

La conversión es del comparador, no del precio

La tasa de cambio viene del dato oficial del gobierno y la propia interfaz declara que no toca el precio del portal. Cuando el agente cotiza, sabe qué número es del proveedor y cuál es una equivalencia para poder comparar.

El catálogo se declara al arrancar

«6 portales cargados» sale de configuración, y qué ve cada operador depende del país de su cuenta. Añadir un portal no es recompilar, y el operador nunca adivina contra qué está buscando.

Mientras busca

Seis portales avanzando a distinta velocidad

Una búsqueda tarda minutos y toca seis sitios que no cooperan igual. La pantalla no muestra una barra de progreso: muestra en qué estado está cada portal.

Búsqueda en portales
Mapa de expedición
2 senderos activos · 0 cerrados · 4 rutas
0:02transcurridos
0 de 4 portales · 2 en curso
Bogotá campamento base P-01 abriendo paso P-02 abriendo paso P-03 en niebla P-04 en niebla
○ en niebla · ● en ruta · ✓ ruta cerrada · ▲ bloqueado · brújula = filtros y régimen
◼ Detener y usar datos recopilados

Estado por portal, no una barra global

Una barra de progreso miente cuando seis cosas van a velocidades distintas. Aquí se ve cuál avanza, cuál sigue en niebla y cuál ya cerró: el operador sabe si vale la pena esperar o si le falta justo el portal que le importa.

La metáfora hace legible lo técnico

«En niebla», «abriendo paso» y «ruta cerrada» las entiende un agente de viajes en el primer uso. El vocabulario del dominio del usuario, no el del programador, y sin perder precisión: cada estado corresponde a uno interno.

Cortar sin perder lo recogido

Botón de primera clase, no escondido: convierte una búsqueda a medias en un resultado utilizable, declarado como parcial. Un resultado parcial que se sabe parcial vale más que uno completo que llega tarde.

El reloj también es una decisión: en un proceso que puede tardar minutos, no saber cuánto llevas es lo que hace que la gente cancele y vuelva a lanzar desde cero.

Al cerrar la expedición

Seis desenlaces, no éxito y fallo

La barra de estado del cierre no dice «funcionó». Dice exactamente qué le pasó a cada portal, y distingue cosas que casi todo el software colapsa en la misma casilla. Que un portal no tenga disponibilidad no es un error. Que una sesión expire no es que no haya hoteles.

Expedición cerrada · 409 alojamientos en el mapa · 3 rutas · Ejecución: 3 con ofertas, 0 sin resultados o destino, 1 errores, 2 omitidos, 0 detenidos, 0 detenidos con datos parciales conservados. Hoteles agregados: 409. Sin disponibilidad: P-05. Filas en lista: 839. Atención: P-01 — la sesión expiró.
3
con ofertas

Ruta cerrada. Datos en la lista.

0
sin resultados

Respondió y no hay nada. Es un dato, no un fallo.

1
errores

Reventó de verdad. Se nombra portal y causa.

2
omitidos

Nunca se intentó. No cuenta como ausencia.

0
detenidos

El operador cortó antes de terminar.

0
detenidos con parcial

Cortado, y lo recogido se conserva y se usa.

La implicación es de negocio, no de ingeniería

Si el sistema colapsara «no lo sé» en «no existe», el agente cotizaría de menos y perdería la venta, o cotizaría un precio que ya no está. Un selector que falla no significa que el hotel no esté; una sesión caída no significa que el portal no tenga tarifa. Y «sin disponibilidad» va separado de «atención», porque uno es una respuesta del negocio y el otro es un problema del sistema: sólo el segundo hay que arreglarlo.

La pantalla donde se decide

839 filas convertidas en 409 decisiones

Aquí es donde el trabajo se paga: el mismo alojamiento aparece bajo tres nombres distintos en tres portales, y hay que verlo como uno solo con tres precios.

Integrador de portalesCotizaciones
BúsquedaResultados
Filtros · 409/409
Hotel…
Orden
Nombre (A-Z) ▾
0 COP – 2.6M COP+
★ Estrellas
3★4★5★Sin dato ★
Portales
P-02P-04P-06
4★
Alojamiento A — Suites & Residences
Bogotá, Colombia
2.069.381 COP
P-01P-02P-04P-06
+ CotizarEnriquecer (2 portales)
P-02 · pág. 82.282.877 COP
P-04 · pág. 72.069.381 COPmejor
Alojamiento B — Casa Colonial
Bogotá
848.426 COP
321 44 16 4 2
Expedición cerrada · 409 alojamientos en el mapa · 3 rutas · Hoteles agregados: 409 · Filas en lista: 839

El histograma antes que el rango

El deslizador de precio no empieza vacío: enseña dónde está la masa de la oferta. El agente ve de un vistazo que casi todo vive por debajo de cierto precio y ajusta con criterio, en vez de mover el control a ciegas.

Los chips dicen dónde está y dónde no

Cuatro portales, cuatro estados en una fila: encendido, apagado, atenuado. Que un portal esté gris es información — no lo tiene, o no respondió — y es distinto de que no aparezca.

«Mejor» es una comparación auditable

Debajo de cada alojamiento están todas las ofertas con su portal y su página de origen. La etiqueta no pide confianza: el agente puede abrir esa página y comprobarlo antes de cotizarle a su cliente.

El mapa como segundo criterio

Un precio bajo a cuarenta minutos del centro no es una ganga. Agrupar por zona convierte «409 resultados» en tres o cuatro decisiones de barrio, que es como piensa quien arma el viaje.

El mismo hotel, seis nombres

Por qué son 409 y no 839

Cada portal escribe el nombre a su manera, redondea las coordenadas distinto y a veces se inventa una estrella. Decidir que dos filas son el mismo hotel es el problema difícil, y hacerlo mal significa cotizar dos veces el mismo alojamiento o perder la comparación entera.

UN CLÚSTER
P-01Hotel — Suites & Residences4★
P-02HOTEL SUITES AND RESIDENCES BOG4★
P-04Suites Residences (Bogotá)sin dato
Un alojamiento, tres precios comparablesmejor: P-04
Los umbrales, declarados
Similitud de nombre≥ 0,88
Distancia geográfica≤ 0,7 km
Similitud si hay geo en ambas≥ 0,45
Diferencia de categoría≤ 1 estrella
Ofertas por portal y clúster1

Union-Find restringido. El umbral de geo baja la exigencia de nombre sólo cuando las dos filas traen coordenadas reales, no cuando una las redondea al centro de la ciudad.

Cuando el otro lado se pone difícil

Degradar en vez de mentir

Operar software ajeno significa que la mitad del trabajo es qué hacer cuando el otro lado cambia, tarda o te echa. Cuando un portal exige un login que la automatización no puede resolver, la aplicación no falla en silencio: se lo pasa a la persona y le da salidas honestas.

Navegador de portales
PortalP-02
Chrome anclado al panel derecho.
Cola(vacía)
Login pendienteP-02 — login en curso
Credenciales
Usuario
••••••••••
Guardar credenciales
✓ Guardar acceso
No pude entrar
No usar portal
No cerrar — sesión del portal
Iniciar sesión como
Cuenta 1
••••@••••
Cuenta 2
••••@••••
Complete la acción en el navegador. La aplicación detectará el acceso automáticamente.

Dos salidas que admiten el fracaso

«No pude entrar» y «no usar portal» son botones de primera clase, del mismo tamaño que el de éxito. Ninguna finge que la sesión quedó buena, y las dos alimentan casillas distintas del reporte: una es un error, la otra es un portal omitido a propósito.

El humano hace lo que el humano sabe hacer

Un desafío de sesión no se resuelve con más selectores. La aplicación ancla el navegador, le pasa el control a la persona y detecta sola cuándo entró, sin pedirle que copie una cookie ni que vuelva a empezar la búsqueda.

Aislamiento

Un portal caído no bloquea a los otros cinco. Cada uno con su cola y su sesión persistida.

Evidencia barata

XHR y JSON antes que recorrer el DOM: más rápido y estable cuando el portal cambia el maquetado.

Credenciales

Cifradas en el equipo del operador, sin telemetría a la nube. Es la sesión comercial de una agencia, no un dataset.

Configuración

Qué portales ve cada operador sale del país de su cuenta. Configuración, no código.

Donde termina el trabajo de verdad

De 409 alojamientos a un documento

Una comparación que no sale de la pantalla no sirve de nada: el agente tiene que mandarle algo al cliente. El resultado se convierte en una propuesta con su mapa y sus fechas, y sale como docx y pdf con la marca de la agencia.

CotizaciónOcultar editable ›
Datos generales
Cliente (obligatorio)
Número de contrato
Por destino Bogotá, Colombia · 3 hoteles
08/01/2027
14/01/2027
Hoteles
1. Alojamiento A
Bogotá, Colombia
2. Alojamiento B
Bogotá, Colombia
3. Alojamiento C
Bogotá, Colombia
Vista previa HTML
SEÑOR(A)
Nos alegra ser parte de sus planes de viaje. Aquí encontrará las opciones que hemos preparado especialmente para usted.
1Bogotá, Colombia
Alojamientos: 3Noches: 6Adultos: 2
MAPA DE HOTELES
2 3 1
Vista: 6 páginas⚠ Assets: 0/9 fotos · logo = OK GuardarGenerar docx + pdf

Lo obligatorio se ve antes de intentarlo

El campo del cliente está marcado desde que se abre la pantalla, no al pulsar «generar». Corregir un formulario es barato; descubrir el error después de exportar seis páginas, no.

La vista previa es el documento

Se edita a un lado y se ve al otro, ya paginado. Lo que se ve es lo que se exporta, sin la sorpresa clásica de que el PDF sale distinto del editor.

El inventario de lo que falta

«Assets: 0/9 fotos, logo OK» avisa antes de generar. Cuesta una línea en la barra de estado y ahorra la llamada del cliente preguntando por qué su propuesta no tiene fotos.

Es la misma idea que atraviesa el proyecto entero, aplicada al papel: declarar lo que falta antes de entregar, en vez de entregar y esperar que nadie lo note.

Lo que no hace

Límites declarados

Se dijeron por escrito en la propuesta antes de firmar, no se descubrieron a mitad del proyecto.

sin API

Ningún portal expone una. Es automatización de navegador, y decirlo así fue una corrección explícita a la propuesta comercial.

sin reserva

Compara y hace el traspaso con el navegador abierto en la ficha. La reserva la cierra una persona.

sin tiempo real

No sincroniza inventario. Cada expedición es una foto del momento, fechada.

sin plug-and-play

Un portal nuevo pide una estrategia escrita a mano, y una lista de viabilidad para decidir si vale la pena antes de empezarla.