{
  "formatVersion": "1.2",
  "currency": "EUR",
  "timezone": "Europe/Madrid",
  "id": "madrid-lisbon-porto-by-train",
  "name": "Madrid → Lisbon → Porto by train",
  "subtitle": "Three cities, two countries, one timezone change",
  "start": "2026-09-21",
  "end": "2026-09-25",
  "members": [
    { "id": "m1", "name": "Chloé", "role": "owner", "kind": "adult" },
    { "id": "m2", "name": "Yann", "role": "editor", "kind": "adult" }
  ],
  "days": [
    {
      "id": "d1", "index": 1, "date": "2026-09-21", "title": "Madrid",
      "timezone": "Europe/Madrid", "coords": { "lat": 40.4168, "lon": -3.7038, "label": "Madrid" }, "stayBookingId": "b-madrid",
      "items": [
        { "id": "i1", "time": "10:00", "endTime": "12:30", "title": "Prado Museum", "type": "heritage", "status": "planned", "stars": 3, "bookingId": "b-prado" },
        { "id": "i2", "time": "13:30", "title": "Lunch around Huertas", "type": "meal", "status": "planned",
          "options": [ { "id": "o1", "title": "Casa Alberto", "place": "Calle de las Huertas 18" }, { "id": "o2", "title": "Mercado de San Miguel — tapas" } ] },
        { "id": "i3", "time": "17:00", "endTime": "19:00", "title": "Retiro park and the Crystal Palace", "type": "nature", "status": "planned", "stars": 2,
          "alternatives": [ { "id": "a1", "trigger": "rain", "title": "Reina Sofía museum" } ] }
      ]
    },
    {
      "id": "d2", "index": 2, "date": "2026-09-22", "title": "Madrid → Lisbon (night train)",
      "timezone": "Europe/Madrid", "coords": { "lat": 40.4168, "lon": -3.7038, "label": "Madrid" },
      "items": [
        { "id": "i4", "time": "10:00", "endTime": "12:00", "title": "Royal Palace", "type": "heritage", "status": "planned", "stars": 2 },
        { "id": "i5", "time": "12:00", "title": "Check-out, leave bags at the hotel", "type": "checkout", "status": "planned", "bookingId": "b-madrid" },
        { "id": "i6", "time": "16:00", "endTime": "18:00", "title": "Free afternoon — Malasaña", "type": "free", "status": "planned" },
        { "id": "i7", "time": "21:43", "endTime": "07:20", "endDate": "2026-09-23", "title": "Night train Madrid Chamartín → Lisboa Santa Apolónia", "type": "train", "status": "planned", "stars": 1,
          "timezone": "Europe/Madrid", "endTimezone": "Europe/Lisbon", "bookingId": "b-train-1",
          "transport": { "carrier": "Example Rail", "number": "NT 335", "ref": "TRN-EXAMPLE-1",
            "from": { "name": "Madrid Chamartín", "platform": "14", "timezone": "Europe/Madrid" },
            "to": { "name": "Lisboa Santa Apolónia", "timezone": "Europe/Lisbon" } },
          "critical": "Arrival is 07:20 LISBON time (one hour behind Madrid)." }
      ]
    },
    {
      "id": "d3", "index": 3, "date": "2026-09-23", "title": "Lisbon",
      "timezone": "Europe/Lisbon", "coords": { "lat": 38.7223, "lon": -9.1393, "label": "Lisbon" }, "stayBookingId": "b-lisbon",
      "items": [
        { "id": "i8", "time": "08:00", "title": "Breakfast near Santa Apolónia", "type": "meal", "status": "planned" },
        { "id": "i9", "time": "09:30", "title": "Drop bags at the hotel", "type": "admin", "status": "planned", "bookingId": "b-lisbon" },
        { "id": "i10", "time": "10:30", "endTime": "13:00", "title": "Alfama and the castle", "type": "heritage", "status": "planned", "stars": 3 },
        { "id": "i11", "time": "15:00", "endTime": "17:30", "title": "Belém by tram 15", "type": "transit", "status": "planned",
          "transport": { "carrier": "Carris", "number": "15E", "from": { "name": "Praça da Figueira" }, "to": { "name": "Belém" } } }
      ]
    },
    {
      "id": "d4", "index": 4, "date": "2026-09-24", "title": "Lisbon → Porto",
      "timezone": "Europe/Lisbon", "coords": { "lat": 41.1579, "lon": -8.6291, "label": "Porto" }, "stayBookingId": "b-porto",
      "items": [
        { "id": "i12", "time": "09:00", "endTime": "11:50", "title": "Train Lisboa Oriente → Porto Campanhã", "type": "train", "status": "planned", "bookingId": "b-train-2",
          "transport": { "carrier": "CP", "number": "AP 121", "ref": "TRN-EXAMPLE-2", "from": { "name": "Lisboa Oriente", "platform": "4" }, "to": { "name": "Porto Campanhã" } } },
        { "id": "i13", "time": "13:00", "title": "Francesinha lunch", "type": "meal", "status": "planned", "options": [ { "id": "o3", "title": "Café Santiago", "place": "R. de Passos Manuel 226" }, { "id": "o4", "title": "Brasão Cervejaria" } ] },
        { "id": "i14", "time": "16:00", "endTime": "17:30", "title": "Livraria Lello and Clérigos tower", "type": "heritage", "status": "planned", "stars": 2 },
        { "id": "i15", "time": "18:30", "title": "Sunset in Vila Nova de Gaia", "type": "viewpoint", "status": "planned", "stars": 2 }
      ]
    },
    {
      "id": "d5", "index": 5, "date": "2026-09-25", "title": "Porto and flight home",
      "timezone": "Europe/Lisbon", "coords": { "lat": 41.1579, "lon": -8.6291, "label": "Porto" },
      "items": [
        { "id": "i16", "time": "10:00", "endTime": "11:30", "title": "Port wine cellar tour", "type": "tasting", "status": "planned", "bookingId": "b-cellar" },
        { "id": "i17", "time": "12:00", "title": "Check-out", "type": "checkout", "status": "planned", "bookingId": "b-porto" },
        { "id": "i18", "time": "14:00", "endTime": "14:40", "title": "Metro line E to the airport", "type": "transit", "status": "planned" },
        { "id": "i19", "time": "17:05", "endTime": "20:35", "title": "Flight OPO → CDG", "type": "flight", "status": "planned", "timezone": "Europe/Lisbon", "endTimezone": "Europe/Paris",
          "transport": { "carrier": "Example Air", "number": "EX 404", "from": { "name": "Porto (OPO)" }, "to": { "name": "Paris CDG", "terminal": "2" } } }
      ]
    }
  ],
  "bookings": [
    { "id": "b-madrid", "type": "stay", "status": "confirmed", "title": "Hotel near Atocha", "dates": "night of Sep 21", "checkout": "12:00", "price": 130 },
    { "id": "b-prado", "type": "activity", "status": "to_book", "title": "Prado — timed tickets", "website": "https://www.museodelprado.es", "price": 30, "priceEstimated": true },
    { "id": "b-train-1", "type": "transport", "status": "confirmed", "title": "Night train Madrid → Lisbon — 2 berths", "price": 180, "payment": { "status": "prepaid" },
      "transport": { "carrier": "Example Rail", "number": "NT 335", "ref": "TRN-EXAMPLE-1" },
      "tickets": [
        { "id": "t1", "label": "Berth", "code": "TRN-EXAMPLE-1-A", "memberId": "m1", "seat": "Car 21, berth 13", "payload": "TRNEXAMPLE1A", "format": "aztec", "date": "2026-09-22", "time": "21:43" },
        { "id": "t2", "label": "Berth", "code": "TRN-EXAMPLE-1-B", "memberId": "m2", "seat": "Car 21, berth 14", "payload": "TRNEXAMPLE1B", "format": "aztec", "date": "2026-09-22", "time": "21:43" }
      ] },
    { "id": "b-lisbon", "type": "stay", "status": "confirmed", "title": "Guesthouse in Chiado", "dates": "night of Sep 23", "checkin": "14:00", "instructions": "Early bag drop OK from 09:00.", "price": 120 },
    { "id": "b-train-2", "type": "transport", "status": "confirmed", "title": "Alfa Pendular Lisbon → Porto", "price": 60,
      "tickets": [ { "id": "t3", "label": "2 seats", "code": "TRN-EXAMPLE-2", "payload": "TRNEXAMPLE2", "format": "qr", "seat": "Car 4, seats 21–22" } ] },
    { "id": "b-porto", "type": "stay", "status": "confirmed", "title": "Hotel in Ribeira", "dates": "night of Sep 24", "price": 140 },
    { "id": "b-cellar", "type": "activity", "status": "to_book", "title": "Port cellar tour and tasting", "price": 40, "priceEstimated": true }
  ],
  "logistics": [
    { "id": "l1", "emoji": "🕐", "title": "Timezones", "content": "Spain is UTC+2 in September, Portugal UTC+1. All times in this file are local: 21:43 in Madrid, 07:20 in Lisbon." }
  ],
  "contacts": [ { "id": "k1", "name": "Emergency (EU)", "phone": "112" } ]
}
