# Abrir Booking.com, Airbnb o Expedia con las fechas ya puestas

> Muchas webs de alojamiento aceptan el destino, las fechas y los viajeros en la propia dirección de su buscador, así que basta con construir ese enlace para abrirlas con la búsqueda hecha, sin API ni cuenta. Kokai lo hace con nueve webs; en Expedia, Hotels.com y Vrbo hay que escribir «Ciudad, País», Agoda deja el buscador relleno sin buscar y Google Hoteles no admite viajeros. Los formatos se comprobaron el 14 de septiembre de 2026 y pueden cambiar sin aviso.

- Dirección: https://kokai.app/buscar-alojamiento/
- Revisado el: 2026-09-17
- Idioma: es-ES

## En pocas palabras

- **Webs:** Nueve: Booking.com, Airbnb, Expedia, Hotels.com, Vrbo, Agoda, Trip.com, Kayak y Google Hoteles.
- **Cómo:** Un enlace a su buscador con el destino, las fechas y los viajeros en la dirección. Sin API, sin cuenta y sin mandar nada hasta que se abre.
- **Fechas:** En formato AAAA-MM-DD en todas, salvo Google Hoteles, que las entiende escritas en la búsqueda.
- **Lo que no rellenan:** Agoda deja el buscador relleno y falta tocar «Buscar». Google Hoteles no admite el número de viajeros.
- **Comprobado:** El 14/09/2026, abriendo cada enlace en Chromium con Lisboa, del 3 al 6 de octubre de 2026 y 2 adultos.
- **Descartadas:** Hostelworld (da un 404 sin su número de ciudad) y Trivago (pierde las fechas). HomeToGo, sin comprobar.
- **Afiliados:** Opcionales, solo si la app se compila con ellos. Cuando los lleva, lo dice junto a los enlaces.

## Por qué un enlace y no una API

Hay dos formas de ofrecer alojamiento desde otra app: conectarse a la web de reservas para traer precios y disponibilidad, o abrir su buscador con la búsqueda ya escrita. Kokai hace lo segundo, por tres motivos:

- **Las API no están abiertas.** La API de Booking.com para mostrar su oferta (Demand API) pide, según su documentación, estar dado de alta como socio afiliado gestionado (Managed Affiliate Partner). Las condiciones de la API de Airbnb la ofrecen dentro de programas pensados sobre todo para servicios a anfitriones, y Kokai no ha encontrado una vía abierta para buscar alojamiento desde otra app.
- **Privacidad.** Conectarse querría decir que las fechas y el destino de tu viaje pasan por un tercero cada vez que miras la pantalla. Con un enlace, hasta que lo tocas no sale nada del dispositivo.
- **Funciona para todas.** Una dirección con parámetros es lo que usa el propio buscador de cada web cuando pulsas «Buscar», y se puede construir para cualquiera sin acuerdos.

Lo que se pierde: los precios no llegan a la app. Los ves en cada web y, si reservas, el PDF de la confirmación los trae de vuelta (ver [PDF de reservas](https://kokai.app/pdf-de-reservas/)).

## El formato de cada web

Lo que va entre llaves se sustituye por los datos de la búsqueda. Los demás parámetros van fijos. El idioma es el de la app.

| Web | Dirección y parámetros | Qué rellena | Matiz |
| --- | --- | --- | --- |
| Booking.com | `booking.com/searchresults.html` con `ss`, `checkin`, `checkout`, `group_adults`, `no_rooms=1`, `group_children=0` y `lang` | Destino, fechas, adultos | En inglés, `lang=en-gb`. |
| Airbnb | `airbnb.com/s/{destino}/homes` con `query`, `checkin`, `checkout`, `adults` y `locale` | Destino, fechas, adultos | El destino va en el camino y se repite en `query`. |
| Expedia | `expedia.com/Hotel-Search` con `destination`, `startDate`, `endDate`, `adults` y `rooms=1` | Destino, fechas, adultos | Necesita «Ciudad, País». |
| Hotels.com | `hotels.com/Hotel-Search` con los mismos parámetros que Expedia | Destino, fechas, adultos | Necesita «Ciudad, País». |
| Vrbo | `vrbo.com/search` con `destination`, `startDate`, `endDate` y `adults` | Destino, fechas, adultos | Necesita «Ciudad, País». |
| Agoda | `agoda.com/` con `textToSearch`, `checkIn`, `checkOut`, `los` (noches), `rooms=1` y `adults` | El formulario de búsqueda | Solo busca con su número de ciudad: con texto, falta tocar «Buscar». |
| Trip.com | `trip.com/hotels/list` con `searchWord`, `checkin`, `checkout`, `adult`, `children=0` y `crn=1` | Destino, fechas, adultos | Ninguno. |
| Kayak | `kayak.com/hotels/{destino}/{entrada}/{salida}/{n}adults`, todo en el camino | Destino, fechas, adultos | Sin parámetros después de `?`. |
| Google Hoteles | `google.com/travel/search` con `q` y `hl` | Destino y fechas | Las fechas van escritas dentro de `q`. Los viajeros no se pueden poner. |

## Los nueve enlaces, para Lisboa del 3 al 6 de octubre

Estos son los enlaces que genera Kokai para Lisboa, con el país sabido (Portugal), entrada el 3 de octubre de 2026, salida el 6 (tres noches), 2 viajeros y la app en castellano. Son la salida de la misma función que usa la app, no escritos a mano.

### Ejemplo: Lisboa, 3–6 de octubre de 2026, 2 adultos

**Booking.com**

```
https://www.booking.com/searchresults.html?ss=Lisboa&checkin=2026-10-03&checkout=2026-10-06&group_adults=2&no_rooms=1&group_children=0&lang=es
```

**Airbnb**

```
https://www.airbnb.com/s/Lisboa/homes?query=Lisboa&checkin=2026-10-03&checkout=2026-10-06&adults=2&locale=es
```

**Expedia** (con «Lisboa, Portugal»)

```
https://www.expedia.com/Hotel-Search?destination=Lisboa%2C+Portugal&startDate=2026-10-03&endDate=2026-10-06&adults=2&rooms=1
```

**Hotels.com**

```
https://www.hotels.com/Hotel-Search?destination=Lisboa%2C+Portugal&startDate=2026-10-03&endDate=2026-10-06&adults=2&rooms=1
```

**Vrbo**

```
https://www.vrbo.com/search?destination=Lisboa%2C+Portugal&startDate=2026-10-03&endDate=2026-10-06&adults=2
```

**Agoda** (`los=3`: tres noches)

```
https://www.agoda.com/?textToSearch=Lisboa&checkIn=2026-10-03&checkOut=2026-10-06&los=3&rooms=1&adults=2
```

**Trip.com**

```
https://www.trip.com/hotels/list?searchWord=Lisboa&checkin=2026-10-03&checkout=2026-10-06&adult=2&children=0&crn=1
```

**Kayak**

```
https://www.kayak.com/hotels/Lisboa/2026-10-03/2026-10-06/2adults
```

**Google Hoteles** (la búsqueda es «hoteles en Lisboa del 3 al 6 de octubre de 2026»)

```
https://www.google.com/travel/search?q=hoteles+en+Lisboa+del+3+al+6+de+octubre+de+2026&hl=es
```

> En los parámetros, un espacio se escribe `+` y una coma `%2C`. En el camino (Airbnb y Kayak), el espacio es `%20`: «San Sebastián» queda `San%20Sebasti%C3%A1n`. Si construyes estos enlaces en otro programa, deja que lo codifique su librería de direcciones.

## Expedia, Hotels.com y Vrbo: «Ciudad, País»

Las tres webs del grupo Expedia interpretan el destino a su manera, y con el nombre de la ciudad solo pueden equivocarse de sitio: en la comprobación, **«Lisboa» sola acabó en Gales**. Con «Lisboa, Portugal» encuentran la ciudad buena.

Por eso Kokai añade el país en esas tres webs, y solo en ellas, cuando se cumple todo esto:

- el destino del viaje está situado en el mapa y su nombre acaba en un país («Lisboa · Sintra, Portugal»);
- lo que se busca no lleva ya una coma («Oporto, Portugal» se deja como está);
- y no es el propio país (buscar «Portugal» no da «Portugal, Portugal»).

Si el destino no está situado, el enlace va sin país: revisa el destino en la web antes de mirar resultados.

## Agoda y Google Hoteles, a medias

**Agoda** solo lanza la búsqueda con su número interno de la ciudad. Con el nombre, abre su página con el destino, las fechas, las noches (`los`) y los adultos en el formulario, y falta tocar «Buscar».

**Google Hoteles** no lee las fechas de parámetros separados, pero sí las entiende escritas en la búsqueda, como las teclearía una persona. Kokai las escribe según el idioma:

| Idioma de la app | Búsqueda que se manda en q |
| --- | --- |
| Castellano | hoteles en Lisboa del 3 al 6 de octubre de 2026 |
| Castellano, cambiando de mes | hoteles en Lisboa del 29 de septiembre al 6 de octubre de 2026 |
| Inglés | hotels in Lisboa from October 3, 2026 to October 6, 2026 |
| Catalán | hotels a Lisboa del 3 al 6 d’octubre del 2026 |

El número de viajeros no se entiende escrito así, y no va. Elígelo en la página de Google después de abrirla.

## Las que se probaron y no están

| Web | Qué pasó |
| --- | --- |
| Hostelworld | Su buscador necesita su número de ciudad: con el nombre, el enlace da un error 404. |
| Trivago | Abre la búsqueda, pero pierde las fechas. |
| HomeToGo | Sin comprobar. |

Una web entra en la lista solo si, al abrir el enlace, rellena lo que promete.

## Cómo se comprobó, y por qué puede dejar de valer

El 14 de septiembre de 2026 se abrió cada enlace en Chromium con Lisboa, del 3 al 6 de octubre y 2 adultos, y se miró qué rellenaba cada web: el destino, las dos fechas y los viajeros.

Ninguna de estas webs publica estos parámetros como algo estable: son los de su propio buscador y **pueden cambiar sin aviso**. Para comprobar uno hoy:

1. Copia el enlace de ejemplo y ábrelo en una ventana privada, para que no influya una búsqueda anterior.
2. Mira si el destino es el que esperabas (con Expedia, que no sea Gales) y si las fechas y los viajeros están puestos.
3. Si algo no está, haz la búsqueda a mano en esa web y compara la dirección que te deja con la del ejemplo.

## Enlaces de afiliado

Un enlace de afiliado es el mismo enlace con una marca de quien lo comparte, para que la web le pague una comisión si reservas. A ti no te cuesta más. Kokai está preparada para llevarlos, pero **solo si la app se compila con ellos**: sin esa configuración, los enlaces son exactamente los de arriba.

Se configuran en `VITE_AFILIADOS`, un JSON con una entrada por web, de una de estas dos formas:

- **Parámetros que se añaden al enlace**, los que te da el programa al darte de alta. Los previstos son `aid` y `label` para Booking.com, `Allianceid` y `SID` para Trip.com y `a` para Kayak; confírmalos con cada programa.
- **Un envoltorio**: la dirección de una red de afiliados que redirige a la web (Awin, Partnerize o Travelpayouts trabajan así), con `{url}` donde va el enlace codificado. Tiene que empezar por `https://`.

### Ejemplo: Una configuración inventada

```
{"booking": {"parametros": {"aid": "123456", "label": "ejemplo"}}, "airbnb": {"envoltorio": "https://red.example/r?u={url}"}}
```

Con ella, el enlace de Booking.com para Lisboa termina así:

```
...&group_children=0&lang=es&aid=123456&label=ejemplo
```

Y el de Airbnb pasa a ser el de la red, con el de Airbnb dentro:

```
https://red.example/r?u=https%3A%2F%2Fwww.airbnb.com%2Fs%2FLisboa%2Fhomes%3Fquery%3DLisboa%26checkin%3D2026-10-03%26checkout%3D2026-10-06%26adults%3D2%26locale%3Des
```

Un JSON mal escrito, un envoltorio sin `{url}` o que no sea https se ignoran: los enlaces salen sin afiliado, nunca rotos. Y cuando alguno lleva afiliado, la app lo dice junto a ellos: «Algunos son enlaces de afiliado: si reservas desde ellos, Kokai puede recibir una comisión, sin que te cueste más».

> Cada programa tiene sus condiciones, y casi todos piden avisar junto al enlace. El grupo Expedia (Expedia, Hotels.com, Vrbo) da los enlaces de su programa con su propia herramienta. Hoy Kokai no tiene decidido usar afiliados.

## Dónde están en Kokai

En la pantalla [Alojamiento](https://kokai.app/alojamiento/#buscar-en-otras-webs) de cada viaje: en cada tarjeta «Falta alojamiento para…», con esas noches ya puestas, y en el botón «Buscar en otras webs», que empieza por las primeras noches sin alojamiento. Una opción sin decidir tiene «Ver precios en otras webs», que busca por su nombre.

- «Dónde buscar» empieza por la primera parte del destino. Con «Lisboa y Sintra», cada parte sale como atajo.
- «Entrada», «Salida» y «Viajeros» se pueden cambiar antes de abrir nada. La salida tiene que ser al menos un día después.
- Los enlaces se abren en el navegador. No sale nada del dispositivo hasta que tocas uno.

Cuando reserves, añade el PDF de la confirmación con «Desde el PDF de la reserva»: las fechas, el precio y la cancelación se leen solos, en el dispositivo.

## Cómo comprobarlo tú

1. Abre un viaje con fechas y ve a «Alojamiento» (en el móvil, dentro de «Más»).
2. Pulsa «Buscar en otras webs». Cambia «Dónde buscar», la «Entrada», la «Salida» o los «Viajeros».
3. Toca «Expedia»: la búsqueda se abre con «Ciudad, País» si el destino del viaje está situado en el mapa.
4. Toca «Agoda» y fíjate en que el formulario está relleno, pero falta pulsar su «Buscar».

## Preguntas frecuentes

### ¿Por qué no veo los precios dentro de Kokai?

Porque Kokai no se conecta con las webs de reservas: solo abre su buscador. Los precios se ven en cada web, y si reservas, el PDF de la confirmación trae el precio a la app.

### ¿Puedo usar estos enlaces sin Kokai?

Sí. Cambia el destino, las fechas (AAAA-MM-DD) y los viajeros en los ejemplos y ábrelos en el navegador. Mientras cada web no cambie su formato, funcionan igual.

### ¿Por qué Expedia me llevó a otra ciudad?

Porque interpreta el nombre a su manera. Escribe el destino como «Ciudad, País» («Lisboa, Portugal»). Kokai lo hace sola si el destino del viaje está situado en el mapa.

### ¿Cobra Kokai una comisión si reservo?

Solo si la versión que usas se compiló con enlaces de afiliado, y entonces lo dice junto a los enlaces. Si esa frase no aparece, no.

### ¿Se manda algo a esas webs antes de tocar un enlace?

No. El enlace se construye en el dispositivo; la web recibe el destino, las fechas y los viajeros solo cuando lo abres.

## Fuentes y referencias

- [Demand API: prerrequisitos para probar la API](https://developers.booking.com/demand/docs/getting-started/try-out-the-api) — Booking.com for Developers
- [API Terms of Service](https://www.airbnb.com/help/article/3418) — Airbnb Help Center
- [Trip.com Affiliate Program](https://www.trip.com/partners/index) — Trip.com
- [Travel Creator Program (Expedia, Hotels.com, Vrbo)](https://creator.expediagroup.com/) — Expedia Group
- [KAYAK Affiliate Network](https://affiliates.kayak.com/) — KAYAK
- [Buscar hoteles en Google](https://support.google.com/travel/answer/6276008?hl=es) — Ayuda de Google Travel
- [URLSearchParams](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) — MDN Web Docs
- [URL Standard: application/x-www-form-urlencoded](https://url.spec.whatwg.org/#application/x-www-form-urlencoded) — WHATWG

