Un asistente te devuelve una parrafada que no es un viaje: sin mapa, sin días, sin kilómetros. Copia este texto, pégaselo en esa misma conversación y lo que conteste se convierte aquí en un viaje de verdad.
Es una sola instrucción. No hay que instalar nada ni tener cuenta todavía.
En la misma conversación donde planificasteis el viaje: ChatGPT, Claude, el que uses. Te contestará con un bloque de código.
Abre el buscador y pega el bloque entero. Verás qué lugar se ha encontrado para cada parada antes de crear nada.
Quiero pasar este viaje a **Iterare**, una app que lo pone en un mapa con su calendario. Devuélvemelo en el formato JSON que se describe abajo, y responde solo con el JSON: sin explicación antes ni después.
## Reglas que no se saltan
1. **No pongas coordenadas.** Ni `lat`, ni `lng`, ni nada parecido. Cada parada se sitúa con `search` —el nombre del sitio— más `city` y `country`. Lo sitúa OpenStreetMap, no tu memoria — y si te lo inventas, el sitio acaba a kilómetros del real sin que nadie lo note.
2. **`city` y `country` van en todas las paradas.** Sin el país, "Córdoba" es la de España o la de Argentina y **elige el buscador, no tú**: ya ha metido la de Argentina en un viaje por Andalucía. Con el nombre repetido dentro de un mismo país pasa igual, y eso lo desempata `city`.
3. **Las paradas van en el orden en que se recorren.** La primera de cada día es de donde se sale.
4. **Solo lo que sepas.** Si no sabes la fecha, no la pongas; si no sabes a qué hora se sale, tampoco. Un hueco se rellena; una hora inventada se cree y se planifica encima de ella.
5. **El JSON va entero en un bloque de código.** De una pieza y sin recortes: aunque solo cambie una parada, se devuelve completo — un trozo suelto no se puede pegar en ningún sitio.
6. **El JSON no se aplaza nunca.** Cada mensaje en el que propongas o cambies el plan **termina con el bloque JSON completo**. No preguntes si lo quiero, no digas «dime y te lo paso», no lo dejes para el final de la conversación: sin el bloque, el plan se queda en el chat y no llega al mapa.
## El formato
- `trip` — el viaje: `name`, y `startDate`/`endDate` en AAAA-MM-DD si se saben. Opcional.
- `routes` — un elemento **por día**. Cada uno lleva `route` y `stops` como hermanos.
- `route.name` — cómo se llama el día. Ponlo siempre y que diga de qué va: "Lagos de Covadonga", "Los Oscos en coche".
- `route.date` — AAAA-MM-DD. Sin fecha, el día entra como propuesta y no ocupa sitio en el calendario.
- `route.departureTime` — HH:MM a la que se sale. Sin ella no habrá horas de llegada, solo duraciones: la app no se inventa ninguna.
- `stops` — las paradas del día, en orden:
- `search` *(obligatorio)* — el nombre del sitio, para buscarlo en OpenStreetMap.
- `city` *(obligatorio)* — el pueblo, la ciudad o la comarca donde está ("Torla, Huesca").
- `country` *(obligatorio)* — el país ("España"). Los tres juntos son lo único que sitúa la parada.
- `name` — cómo llamarla en el viaje, si quieres otro nombre que el que dé el mapa.
- `type` — uno de: ciudad, senderismo, mirador, restaurante, hotel, monumento, playa, parque, area-recreativa, parking, banos, otro. El de montaña es `senderismo`; `otro` si no encaja ninguno.
- `mode` — cómo se llega **hasta aquí desde la parada anterior**. Es del tramo, no del día: un día real es coche hasta el parking y a pie la senda. La primera parada no lo lleva.
- Se calculan solos: driving, walking, cycling.
- Te llevan y tienen horario: cable_car, train, bus, boat, plane.
- `durationMin` — minutos de visita en esta parada.
- `travelDepartureTime` y `travelMin` — **solo en los tramos con horario** (cable_car, train, bus, boat, plane): a qué hora sale y cuánto dura. En coche, a pie o en bici los calcula el mapa y lo que pongas se descarta.
- `notes` — lo que hay que saber de este sitio y no se ve en el mapa: que se llena temprano, que hay que reservar, que la última bajada es a las 18:00.
- `checklist` — lo que se **hace** o se **lleva** aquí. Lo que se **decide** o se consulta va en `notes`.
**Un mismo sitio puede repetirse** dentro del día: dejas el coche en el parking, subes al lago a pie y vuelves a por él son tres paradas, y las tres se escriben.
## Ejemplo
```json
{
"iterare": 2,
"trip": {
"name": "Picos de Europa",
"startDate": "2026-09-12",
"endDate": "2026-09-14"
},
"routes": [
{
"route": { "name": "Lagos de Covadonga", "date": "2026-09-13", "departureTime": "08:30" },
"stops": [
{ "search": "Aparcamiento de Buferrera", "city": "Cangas de Onís", "country": "España", "type": "parking" },
{
"search": "Lago Ercina",
"city": "Cangas de Onís",
"country": "España",
"type": "senderismo",
"mode": "walking",
"durationMin": 120,
"notes": "El acceso en coche se cierra en temporada alta: hay lanzadera desde Cangas.",
"checklist": ["Agua", "Cortavientos"]
},
{ "search": "Aparcamiento de Buferrera", "city": "Cangas de Onís", "country": "España", "type": "parking", "mode": "walking" }
]
},
{
"route": { "name": "Ruta del Cares", "date": "2026-09-14", "departureTime": "09:00" },
"stops": [
{ "search": "Poncebos", "city": "Cabrales", "country": "España", "type": "parking" },
{
"search": "Caín de Valdeón",
"city": "León",
"country": "España",
"type": "senderismo",
"mode": "walking",
"durationMin": 60
},
{
"search": "Poncebos",
"city": "Cabrales",
"country": "España",
"type": "parking",
"mode": "bus",
"travelDepartureTime": "17:40",
"travelMin": 75
}
]
}
]
}
```
---
**El objetivo de esta conversación es ese bloque JSON.** Todo lo demás —lo que me cuentes, lo que discutamos, lo que cambiemos— existe para llegar a él. Si en algún momento no sabes si toca darlo: toca.No acepta coordenadas del asistente. Un modelo se inventa un lat/lng con toda naturalidad y te clava el lago a cuarenta kilómetros — un número creíble y falso es peor que un hueco. Cada parada se busca en OpenStreetMap delante de ti, y la que no aparezca se queda fuera en vez de caer en un punto aproximado.