{
  "formatVersion": "1.2",
  "currency": "JPY",
  "timezone": "Asia/Tokyo",
  "id": "japan-12-days",
  "name": "Japan · 12 days",
  "subtitle": "Tokyo → Kyoto → Osaka · spring, by train",
  "start": "2027-04-02",
  "end": "2027-04-13",
  "cover": "https://commons.wikimedia.org/wiki/Special:FilePath/Torii%20path%20with%20lantern%20at%20Fushimi%20Inari%20Taisha%20Shrine%2C%20Kyoto%2C%20Japan.jpg?width=960",
  "members": [
    { "id": "m1", "name": "Emma", "role": "owner", "kind": "adult", "loyalty": [{ "program": "Flying Blue", "number": "EXAMPLE-0001" }] },
    { "id": "m2", "name": "Noah", "role": "editor", "kind": "adult", "dietary": ["pescetarian"] }
  ],
  "people": [
    {
      "id": "p1",
      "name": "Yuki",
      "role": "host",
      "org": "Camellia Tea Ceremony (example)",
      "languages": ["ja", "en"],
      "sign": "Meet at the machiya entrance, Ninenzaka — look for the red noren curtain",
      "note": "Arrive 10 minutes early; socks are required (tatami). Photos are fine before and after the ceremony."
    }
  ],
  "days": [
    {
      "id": "d1",
      "index": 1,
      "date": "2027-04-02",
      "title": "Paris → Tokyo (overnight flight)",
      "intro": "Afternoon departure from Paris-Charles de Gaulle, arrival in Tokyo the next morning. Sleep on the plane: the first Tokyo day starts at 09:00 local time.",
      "country": "FR",
      "timezone": "Europe/Paris",
      "coords": { "lat": 49.0097, "lon": 2.5479, "label": "Paris CDG" },
      "tip": "Check in online 30 h before departure; the boarding passes are in the Tickets tab. Terminal 2E, gate shown 2 h before.",
      "items": [
        { "id": "d1i1", "time": "10:30", "title": "Leave home · RER B to the airport", "type": "transit", "status": "planned", "desc": "RER B from Gare du Nord to Aéroport Charles de Gaulle 2 TGV (≈ 35 min)." },
        {
          "id": "d1i2",
          "time": "13:35",
          "endTime": "08:40",
          "endDate": "2027-04-03",
          "timezone": "Europe/Paris",
          "endTimezone": "Asia/Tokyo",
          "title": "Flight Paris CDG → Tokyo Haneda",
          "type": "flight",
          "status": "planned",
          "stars": 1,
          "bookingId": "b-flight-out",
          "desc": "Direct, about 14 h. Meals on board; ask for the pescetarian option (pre-booked for Noah).",
          "transport": {
            "carrier": "Example Air",
            "number": "EX 274",
            "ref": "EXAMPLE-PNR-1",
            "from": { "name": "Paris Charles de Gaulle", "terminal": "2E", "timezone": "Europe/Paris", "coords": { "lat": 49.0097, "lon": 2.5479 } },
            "to": { "name": "Tokyo Haneda", "terminal": "3", "timezone": "Asia/Tokyo", "coords": { "lat": 35.5494, "lon": 139.7798 } }
          },
          "outfit": ["casual", "warm"],
          "outfitNote": "Cabin gets cold: a sweater and compression socks."
        }
      ]
    },
    {
      "id": "d2",
      "index": 2,
      "date": "2027-04-03",
      "title": "Arrival · Shinjuku",
      "intro": "Land at Haneda, airport train to Shinjuku, drop the bags and ease into Tokyo with a gentle first afternoon.",
      "country": "JP",
      "stayBookingId": "b-hotel-tokyo",
      "coords": { "lat": 35.6938, "lon": 139.7034, "label": "Shinjuku, Tokyo" },
      "tip": "At the airport: add a Suica card to your phone wallet (works on every train, bus and convenience store in the country) and withdraw yen at a 7-Eleven ATM.",
      "planB": "Too tired after the flight: skip the evening walk, have dinner in the hotel's basement food hall and sleep early — tomorrow is the big day.",
      "items": [
        { "id": "d2i1", "time": "08:40", "title": "Landing at Haneda · immigration", "type": "admin", "status": "planned", "desc": "Fill in the Visit Japan Web QR code before landing (immigration + customs in one scan).", "critical": "Passports + Visit Japan Web QR codes (screenshots in Tickets → documents)." },
        {
          "id": "d2i2",
          "time": "10:15",
          "endTime": "11:00",
          "title": "Airport transfer · Keikyu line + JR to Shinjuku",
          "type": "transfer",
          "status": "planned",
          "bookingId": "b-airport-transfer",
          "desc": "Keikyu Airport line to Shinagawa, then JR Yamanote line to Shinjuku. About 45 minutes, ¥ 700 per person with Suica.",
          "transport": { "carrier": "Keikyu / JR East", "from": { "name": "Haneda Airport Terminal 3", "platform": "Keikyu line" }, "to": { "name": "Shinjuku Station", "timezone": "Asia/Tokyo" } },
          "price": 1400
        },
        { "id": "d2i3", "time": "11:30", "title": "Drop the bags · Hotel Shinjuku Example", "type": "checkin", "status": "planned", "bookingId": "b-hotel-tokyo", "desc": "Rooms are ready from 15:00; luggage storage at the front desk.", "place": "Hotel Shinjuku Example, Nishi-Shinjuku" },
        {
          "id": "d2i4",
          "time": "12:30",
          "title": "First lunch · ramen or soba",
          "type": "meal",
          "status": "planned",
          "options": [
            { "id": "o1", "title": "Fuunji (tsukemen)", "desc": "Dipping noodles, 20-min queue at noon, cash only.", "place": "Yoyogi 2-14-3" },
            { "id": "o2", "title": "Soba stand inside the station", "desc": "Standing soba, 5 minutes, ¥ 500." }
          ],
          "price": 2400,
          "priceEstimated": true
        },
        { "id": "d2i5", "time": "15:00", "title": "Check-in and a nap", "type": "checkin", "status": "planned", "bookingId": "b-hotel-tokyo" },
        {
          "id": "d2i6",
          "time": "17:30",
          "endTime": "19:30",
          "title": "Shinjuku Gyoen gardens (cherry blossoms)",
          "type": "nature",
          "status": "planned",
          "stars": 2,
          "coords": { "lat": 35.6852, "lon": 139.71 },
          "image": "https://commons.wikimedia.org/wiki/Special:FilePath/Shinjuku%20night%20skyline.jpg?width=900",
          "desc": "Early April is peak sakura. Entry ¥ 500, last admission 18:00 (closed Mondays).",
          "price": 1000,
          "alternatives": [{ "id": "a1", "trigger": "rain", "title": "Tokyo Metropolitan Government Building observatory (free, indoors)", "desc": "45th floor, free, open until 22:00." }]
        },
        { "id": "d2i7", "time": "20:00", "title": "Dinner in Omoide Yokocho", "type": "meal", "status": "planned", "desc": "Tiny yakitori counters under the tracks. Cash, ¥ 3 000 per person.", "place": "Omoide Yokocho, Nishi-Shinjuku 1-2", "price": 6000, "priceEstimated": true }
      ]
    },
    {
      "id": "d3",
      "index": 3,
      "date": "2027-04-04",
      "title": "Tokyo east · Tsukiji, teamLab, Asakusa",
      "intro": "The classic east side: market breakfast, the digital art museum (timed tickets), then old Tokyo in Asakusa.",
      "country": "JP",
      "stayBookingId": "b-hotel-tokyo",
      "coords": { "lat": 35.7148, "lon": 139.7967, "label": "Asakusa, Tokyo" },
      "tip": "teamLab Planets is barefoot and partly in water: wear shorts or roll-up trousers, lockers are provided.",
      "items": [
        { "id": "d3i1", "time": "08:00", "title": "Breakfast at Tsukiji outer market", "type": "meal", "status": "planned", "desc": "Tamagoyaki, tuna bowls, strawberry daifuku. Go before 09:30.", "place": "Tsukiji Outer Market", "coords": { "lat": 35.6654, "lon": 139.7707 }, "price": 4000, "priceEstimated": true },
        {
          "id": "d3i2",
          "time": "10:30",
          "endTime": "12:30",
          "title": "teamLab Planets TOKYO",
          "type": "activity",
          "status": "planned",
          "stars": 3,
          "bookingId": "b-teamlab",
          "coords": { "lat": 35.6492, "lon": 139.7899 },
          "desc": "Timed entry 10:30 — show the QR tickets at the gate. Count 2 hours.",
          "critical": "Timed tickets: entry window 10:30–11:00 only.",
          "price": 7600
        },
        { "id": "d3i3", "time": "13:00", "title": "Lunch · Toyosu or Monzen-Nakacho", "type": "meal", "status": "planned", "options": [{ "id": "o1", "title": "Sushi at Toyosu market" }, { "id": "o2", "title": "Monzen-Nakacho izakaya lunch set" }] },
        {
          "id": "d3i4",
          "time": "15:00",
          "endTime": "17:00",
          "title": "Senso-ji and Nakamise street",
          "type": "heritage",
          "status": "planned",
          "stars": 2,
          "coords": { "lat": 35.7148, "lon": 139.7967 },
          "image": "https://commons.wikimedia.org/wiki/Special:FilePath/Sensoji%20temple%2C%20Asakusa%2C%20Tokyo%2C%20Japan.jpg?width=900",
          "desc": "Tokyo's oldest temple. Draw an omikuji fortune (¥ 100), snack on ningyo-yaki along Nakamise."
        },
        {
          "id": "d3i5",
          "time": "17:30",
          "endTime": "18:15",
          "title": "Sumida river cruise · Asakusa → Hamarikyu",
          "type": "boat",
          "status": "planned",
          "stars": 1,
          "bookingId": "b-cruise",
          "desc": "Water bus under 12 bridges, 40 minutes. Boarding 15 min before.",
          "transport": { "carrier": "Tokyo Cruise (example)", "from": { "name": "Asakusa pier" }, "to": { "name": "Hamarikyu garden pier" } },
          "alternatives": [{ "id": "a1", "trigger": "wind", "windThreshold": 50, "title": "Cruise cancelled by the operator → Ginza line metro back and Hamarikyu on foot" }],
          "price": 2400
        },
        { "id": "d3i6", "time": "19:30", "title": "Dinner in Ginza", "type": "meal", "status": "planned", "desc": "Department-store basement (depachika) picnic or a tonkatsu counter.", "place": "Ginza" }
      ]
    },
    {
      "id": "d4",
      "index": 4,
      "date": "2027-04-05",
      "title": "Tokyo west · Meiji, Harajuku, Shibuya",
      "intro": "Forest shrine in the morning, Harajuku side streets, then Shibuya from above at sunset.",
      "country": "JP",
      "stayBookingId": "b-hotel-tokyo",
      "coords": { "lat": 35.6595, "lon": 139.7005, "label": "Shibuya, Tokyo" },
      "tip": "Shibuya Sky is a timed slot (18:20): be at the 14th-floor entrance 15 minutes early with the QR tickets.",
      "planB": "Rain: swap the Meiji Shrine walk for the Nezu Museum (Aoyama) and its covered garden path; Shibuya Sky closes the rooftop in rain (indoor floor still open, refund possible).",
      "items": [
        { "id": "d4i1", "time": "09:00", "endTime": "10:30", "title": "Meiji Jingu shrine", "type": "heritage", "status": "planned", "stars": 2, "coords": { "lat": 35.6764, "lon": 139.6993 }, "desc": "Enter by the great torii at Harajuku; free. Sake barrels, wedding processions on weekends." },
        { "id": "d4i2", "time": "10:45", "endTime": "12:30", "title": "Harajuku · Takeshita & Cat street", "type": "shopping", "status": "planned", "desc": "Crepes on Takeshita, vintage shops on Cat Street, Omotesando architecture." },
        { "id": "d4i3", "time": "12:45", "title": "Lunch · Harajuku gyoza", "type": "meal", "status": "planned", "options": [{ "id": "o1", "title": "Harajuku Gyoza Lou", "desc": "Cash, ¥ 1 000 per person, queue moves fast." }, { "id": "o2", "title": "Afuri ramen (yuzu shio)" }] },
        { "id": "d4i4", "time": "14:30", "endTime": "16:30", "title": "Free time · Daikanyama or Nakameguro canal", "type": "free", "status": "planned", "desc": "Cherry trees along the Meguro river, coffee at Onibus." },
        {
          "id": "d4i5",
          "time": "18:20",
          "endTime": "19:30",
          "title": "Shibuya Sky at sunset",
          "type": "viewpoint",
          "status": "planned",
          "stars": 3,
          "bookingId": "b-shibuya-sky",
          "coords": { "lat": 35.6585, "lon": 139.7022 },
          "image": "https://commons.wikimedia.org/wiki/Special:FilePath/Tokyo%20Shibuya%20Scramble%20Crossing%202018-10-09.jpg?width=900",
          "desc": "Open-air rooftop 229 m above the crossing. Sunset 18:05 — go up early for the golden hour.",
          "critical": "Timed entry 18:20–18:40. Bags go in lockers.",
          "price": 5000
        },
        { "id": "d4i6", "time": "19:45", "title": "Shibuya crossing & dinner", "type": "meal", "status": "planned", "desc": "Cross the scramble, then dinner at a standing sushi bar or Ichiran ramen.", "place": "Shibuya" }
      ]
    },
    {
      "id": "d5",
      "index": 5,
      "date": "2027-04-06",
      "title": "Day trip · Kamakura",
      "intro": "One hour south by train: the Great Buddha, a hillside temple over the bay and a seaside tram.",
      "country": "JP",
      "stayBookingId": "b-hotel-tokyo",
      "coords": { "lat": 35.3192, "lon": 139.5467, "label": "Kamakura" },
      "tip": "Buy the Enoden one-day pass (¥ 800) at Kamakura station for the little seaside tram.",
      "planB": "Rain: stay in Tokyo — Tokyo National Museum in Ueno, then the Yanaka old-town streets under an umbrella.",
      "items": [
        { "id": "d5i1", "time": "08:30", "endTime": "09:35", "title": "Train Shinjuku → Kamakura", "type": "train", "status": "planned", "desc": "JR Shonan-Shinjuku line, direct, ¥ 950 with Suica.", "transport": { "carrier": "JR East", "from": { "name": "Shinjuku" }, "to": { "name": "Kamakura" } }, "price": 1900 },
        { "id": "d5i2", "time": "10:00", "endTime": "11:00", "title": "The Great Buddha (Kotoku-in)", "type": "heritage", "status": "planned", "stars": 3, "coords": { "lat": 35.3167, "lon": 139.5358 }, "image": "https://commons.wikimedia.org/wiki/Special:FilePath/The%20Great%20Buddha%20of%20Kamakura.jpg?width=900", "desc": "13th-century bronze, 11 m. ¥ 300; ¥ 50 more to step inside.", "price": 700 },
        { "id": "d5i3", "time": "11:15", "endTime": "12:15", "title": "Hase-dera temple and its sea view", "type": "heritage", "status": "planned", "stars": 2, "desc": "Hydrangea terraces, the little Jizo statues, a view over Sagami bay.", "price": 800 },
        { "id": "d5i4", "time": "12:30", "title": "Lunch by the beach · shirasu-don", "type": "meal", "status": "planned", "desc": "Whitebait rice bowls, the local specialty, on Yuigahama beach." },
        { "id": "d5i5", "time": "14:00", "endTime": "15:30", "title": "Enoden tram to Enoshima", "type": "transit", "status": "planned", "stars": 1, "desc": "The tram runs along the sea; get off at Kamakurakokomae for the famous crossing." },
        { "id": "d5i6", "time": "17:30", "endTime": "18:40", "title": "Back to Tokyo", "type": "train", "status": "planned", "transport": { "carrier": "JR East", "from": { "name": "Kamakura" }, "to": { "name": "Shinjuku" } } },
        { "id": "d5i7", "time": "20:00", "title": "Pack · Shinkansen tomorrow", "type": "admin", "status": "planned", "desc": "Optional: send the big suitcase to Osaka by takkyubin (luggage forwarding, ¥ 2 500) from the hotel desk and travel light through Kyoto." }
      ]
    },
    {
      "id": "d6",
      "index": 6,
      "date": "2027-04-07",
      "title": "Tokyo → Kyoto by Shinkansen",
      "intro": "Bullet train along Mount Fuji, then a townhouse in Kyoto and a first evening in Gion.",
      "country": "JP",
      "stayBookingId": "b-hotel-kyoto",
      "coords": { "lat": 35.0116, "lon": 135.7681, "label": "Kyoto" },
      "tip": "Seats are reserved on the Fuji side (E, right-hand side heading west). Buy an ekiben lunch box at Tokyo station before boarding.",
      "items": [
        { "id": "d6i1", "time": "09:30", "title": "Check-out · Hotel Shinjuku Example", "type": "checkout", "status": "planned", "bookingId": "b-hotel-tokyo" },
        {
          "id": "d6i2",
          "time": "11:00",
          "endTime": "13:15",
          "title": "Shinkansen Nozomi · Tokyo → Kyoto",
          "type": "train",
          "status": "planned",
          "stars": 2,
          "bookingId": "b-shinkansen",
          "desc": "2 h 15, non-stop Nozomi. Car 7, seats 12D–12E. Show the QR tickets at the gate.",
          "critical": "Platform shown 20 min before departure; doors close 1 min before.",
          "transport": { "carrier": "JR Central", "number": "Nozomi 225", "ref": "EXAMPLE-JR-1", "from": { "name": "Tokyo Station", "platform": "17" }, "to": { "name": "Kyoto Station" } },
          "price": 28340
        },
        { "id": "d6i3", "time": "14:00", "title": "Check-in · Machiya Example, Higashiyama", "type": "checkin", "status": "planned", "bookingId": "b-hotel-kyoto", "desc": "Self check-in with the key box code (see booking). Shoes off at the entrance.", "place": "Higashiyama, Kyoto" },
        { "id": "d6i4", "time": "16:00", "endTime": "18:00", "title": "Gion and Hanamikoji street", "type": "heritage", "status": "planned", "stars": 2, "coords": { "lat": 35.0037, "lon": 135.7754 }, "desc": "Wooden teahouses, Yasaka shrine, Shirakawa canal under the cherry trees." },
        { "id": "d6i5", "time": "19:00", "endTime": "21:00", "title": "Kaiseki dinner · Gion Example", "type": "meal", "status": "planned", "stars": 3, "bookingId": "b-kaiseki", "desc": "Multi-course seasonal dinner; pescetarian menu confirmed for Noah. Smart-casual.", "outfit": ["dressy"], "price": 24000 }
      ]
    },
    {
      "id": "d7",
      "index": 7,
      "date": "2027-04-08",
      "title": "Kyoto · Fushimi Inari, Kiyomizu, tea ceremony",
      "intro": "The thousand torii at dawn, market lunch, the wooden stage of Kiyomizu and a tea ceremony in a townhouse.",
      "country": "JP",
      "stayBookingId": "b-hotel-kyoto",
      "coords": { "lat": 34.9671, "lon": 135.7727, "label": "Fushimi Inari, Kyoto" },
      "tip": "Fushimi Inari is open 24 h: the 07:00 start beats the crowds and the heat. The full loop to the summit takes 2 hours.",
      "items": [
        { "id": "d7i1", "time": "07:00", "endTime": "09:30", "title": "Fushimi Inari Taisha · the torii path", "type": "hike", "status": "planned", "stars": 3, "coords": { "lat": 34.9671, "lon": 135.7727 }, "image": "https://commons.wikimedia.org/wiki/Special:FilePath/Torii%20path%20with%20lantern%20at%20Fushimi%20Inari%20Taisha%20Shrine%2C%20Kyoto%2C%20Japan.jpg?width=900", "desc": "Free. Climb at least to the Yotsutsuji crossroads for the view over Kyoto.", "outfit": ["sport"], "outfitNote": "Walking shoes — stone steps, 233 m of climb." },
        { "id": "d7i2", "time": "11:00", "endTime": "12:30", "title": "Nishiki market lunch", "type": "meal", "status": "planned", "desc": "Kyoto's kitchen: tofu doughnuts, pickles, grilled skewers, matcha soft-serve.", "place": "Nishiki Market" },
        { "id": "d7i3", "time": "13:30", "endTime": "15:00", "title": "Kiyomizu-dera", "type": "heritage", "status": "planned", "stars": 3, "coords": { "lat": 34.9949, "lon": 135.785 }, "desc": "The great wooden stage over the valley. ¥ 500.", "price": 1000 },
        {
          "id": "d7i4",
          "time": "15:30",
          "endTime": "16:30",
          "title": "Tea ceremony · Camellia (Ninenzaka)",
          "type": "activity",
          "status": "planned",
          "stars": 2,
          "bookingId": "b-tea",
          "personIds": ["p1"],
          "desc": "45-minute introduction to the way of tea in a machiya, in English. Meet Yuki at the entrance.",
          "price": 6000
        },
        { "id": "d7i5", "time": "17:00", "endTime": "18:00", "title": "Ninenzaka & Sannenzaka lanes", "type": "walk", "status": "planned", "desc": "Stone-paved slopes, Yasaka pagoda — the postcard walk back towards Gion." },
        { "id": "d7i6", "time": "19:30", "title": "Dinner · Pontocho alley", "type": "meal", "status": "planned", "options": [{ "id": "o1", "title": "Riverside yakitori terrace" }, { "id": "o2", "title": "Obanzai (Kyoto home cooking) counter" }] }
      ]
    },
    {
      "id": "d8",
      "index": 8,
      "date": "2027-04-09",
      "title": "Kyoto · Arashiyama and the Golden Pavilion",
      "intro": "West Kyoto: the bamboo grove early, a Zen garden, then the Golden Pavilion and the rock garden of Ryoan-ji.",
      "country": "JP",
      "stayBookingId": "b-hotel-kyoto",
      "coords": { "lat": 35.0094, "lon": 135.6722, "label": "Arashiyama, Kyoto" },
      "tip": "Bus 205/59 get crowded: take the JR Sagano line to Saga-Arashiyama (15 min from Kyoto station), and a taxi between Kinkaku-ji and Ryoan-ji (¥ 1 000).",
      "planB": "Rain: Arashiyama is still lovely under umbrellas; replace Ryoan-ji with the covered Kyoto International Manga Museum.",
      "items": [
        { "id": "d8i1", "time": "08:00", "endTime": "09:00", "title": "Arashiyama bamboo grove", "type": "nature", "status": "planned", "stars": 3, "coords": { "lat": 35.0168, "lon": 135.6713 }, "image": "https://commons.wikimedia.org/wiki/Special:FilePath/Bamboo%20Grove%2C%20Arashiyama%2C%20Kyoto%2C%20Japan.jpg?width=900", "desc": "Free, open all day. Before 09:00 you hear the bamboo." },
        { "id": "d8i2", "time": "09:15", "endTime": "10:30", "title": "Tenryu-ji temple and garden", "type": "heritage", "status": "planned", "stars": 2, "desc": "UNESCO Zen garden with the mountains as backdrop. ¥ 500 (garden) + ¥ 300 (buildings).", "price": 1600 },
        { "id": "d8i3", "time": "10:45", "endTime": "12:00", "title": "Togetsukyo bridge & monkey park", "type": "nature", "status": "planned", "stars": 1, "desc": "20-min climb to the macaques and a view over Kyoto. ¥ 600.", "price": 1200 },
        { "id": "d8i4", "time": "12:30", "title": "Lunch · yudofu (tofu hot pot)", "type": "meal", "status": "planned", "desc": "Arashiyama's specialty, set menus from ¥ 2 000.", "price": 5000, "priceEstimated": true },
        { "id": "d8i5", "time": "14:30", "endTime": "15:30", "title": "Kinkaku-ji, the Golden Pavilion", "type": "heritage", "status": "planned", "stars": 3, "coords": { "lat": 35.0394, "lon": 135.7292 }, "image": "https://commons.wikimedia.org/wiki/Special:FilePath/Golden%20Pavilion%20Kinkaku-ji%202024.jpg?width=900", "desc": "One-way path around the pond; 45 minutes. ¥ 500.", "price": 1000 },
        { "id": "d8i6", "time": "16:00", "endTime": "17:00", "title": "Ryoan-ji rock garden", "type": "heritage", "status": "planned", "stars": 2, "desc": "Fifteen stones, white gravel, silence. ¥ 600.", "price": 1200 },
        { "id": "d8i7", "time": "19:00", "title": "Dinner near the machiya", "type": "meal", "status": "planned", "desc": "Okonomiyaki or a quiet ramen bar in Higashiyama." }
      ]
    },
    {
      "id": "d9",
      "index": 9,
      "date": "2027-04-10",
      "title": "Day trip · Nara",
      "intro": "Forty-five minutes away: the Great Buddha hall, the deer park and the lantern-lined paths of Kasuga Taisha.",
      "country": "JP",
      "stayBookingId": "b-hotel-kyoto",
      "coords": { "lat": 34.6851, "lon": 135.8048, "label": "Nara" },
      "tip": "Deer crackers (shika senbei) cost ¥ 200 — bow to the deer, they bow back. Keep paper maps in your bag, they eat them.",
      "items": [
        { "id": "d9i1", "time": "08:45", "endTime": "09:30", "title": "Train Kyoto → Nara", "type": "train", "status": "planned", "desc": "Kintetsu limited express from Kyoto station (reserved seat, ¥ 1 280) or JR Nara line (¥ 720).", "transport": { "carrier": "Kintetsu", "from": { "name": "Kyoto" }, "to": { "name": "Kintetsu-Nara" } }, "price": 2560 },
        { "id": "d9i2", "time": "09:45", "endTime": "11:00", "title": "Nara park and Todai-ji", "type": "heritage", "status": "planned", "stars": 3, "coords": { "lat": 34.689, "lon": 135.8398 }, "image": "https://commons.wikimedia.org/wiki/Special:FilePath/Deer%20at%20Todaiji%20(4).jpg?width=900", "desc": "The world's largest wooden hall and its 15-m bronze Buddha. ¥ 600.", "price": 1200 },
        { "id": "d9i3", "time": "11:15", "endTime": "12:30", "title": "Kasuga Taisha lantern paths", "type": "heritage", "status": "planned", "stars": 2, "desc": "3 000 stone and bronze lanterns through the forest." },
        { "id": "d9i4", "time": "12:45", "title": "Lunch · kakinoha-zushi", "type": "meal", "status": "planned", "desc": "Pressed sushi wrapped in persimmon leaves, Nara's specialty." },
        { "id": "d9i5", "time": "14:00", "endTime": "15:30", "title": "Naramachi old merchant quarter", "type": "walk", "status": "planned", "desc": "Lattice-front houses, craft shops, a coffee at a kissaten." },
        { "id": "d9i6", "time": "16:00", "endTime": "16:45", "title": "Back to Kyoto", "type": "train", "status": "planned", "transport": { "carrier": "Kintetsu", "from": { "name": "Kintetsu-Nara" }, "to": { "name": "Kyoto" } } },
        { "id": "d9i7", "time": "18:30", "title": "Evening · Kamo river and Pontocho", "type": "free", "status": "planned", "desc": "Sit on the river bank with a konbini picnic, like the locals." }
      ]
    },
    {
      "id": "d10",
      "index": 10,
      "date": "2027-04-11",
      "title": "Kyoto → Osaka · Dotonbori",
      "intro": "Thirty minutes by train to Osaka, the city that eats: Dotonbori's neon canal and Kuromon market.",
      "country": "JP",
      "stayBookingId": "b-hotel-osaka",
      "coords": { "lat": 34.6687, "lon": 135.5013, "label": "Namba, Osaka" },
      "tip": "Keep the Shinkansen habit: JR Special Rapid from Kyoto to Osaka station (29 min, ¥ 580, no reservation), then Midosuji subway line to Namba.",
      "items": [
        { "id": "d10i1", "time": "10:00", "title": "Check-out · Machiya Example", "type": "checkout", "status": "planned", "bookingId": "b-hotel-kyoto", "desc": "Leave the key in the box; photos of the rooms for the host." },
        { "id": "d10i2", "time": "10:45", "endTime": "11:15", "title": "JR Special Rapid · Kyoto → Osaka", "type": "train", "status": "planned", "transport": { "carrier": "JR West", "from": { "name": "Kyoto", "platform": "4/5" }, "to": { "name": "Osaka" } }, "price": 1160 },
        { "id": "d10i3", "time": "12:00", "title": "Drop bags · Hotel Namba Example", "type": "checkin", "status": "planned", "bookingId": "b-hotel-osaka", "place": "Namba, Osaka" },
        { "id": "d10i4", "time": "12:30", "endTime": "14:00", "title": "Kuromon Ichiba market lunch", "type": "meal", "status": "planned", "desc": "Grilled scallops, fugu, wagyu skewers, fresh fruit — eat as you go.", "coords": { "lat": 34.6654, "lon": 135.5063 }, "price": 5000, "priceEstimated": true },
        { "id": "d10i5", "time": "15:00", "title": "Check-in and rest", "type": "checkin", "status": "planned", "bookingId": "b-hotel-osaka" },
        { "id": "d10i6", "time": "17:30", "endTime": "19:30", "title": "Dotonbori and Shinsaibashi", "type": "nightlife", "status": "planned", "stars": 3, "coords": { "lat": 34.6687, "lon": 135.5013 }, "image": "https://commons.wikimedia.org/wiki/Special:FilePath/Dotonbori%2C%20Osaka%2C%20at%20night%2C%20November%202016.jpg?width=900", "desc": "The Glico runner sign, the canal, the giant crab. Takoyaki from a street stand." },
        { "id": "d10i7", "time": "19:30", "title": "Okonomiyaki dinner", "type": "meal", "status": "planned", "options": [{ "id": "o1", "title": "Mizuno (Dotonbori)", "desc": "Since 1945, expect a 30-min queue." }, { "id": "o2", "title": "Any okonomiyaki counter in Ura-Namba" }], "price": 4000, "priceEstimated": true }
      ]
    },
    {
      "id": "d11",
      "index": 11,
      "date": "2027-04-12",
      "title": "Osaka · castle, sky garden, Shinsekai",
      "intro": "Osaka Castle under the cherry trees, the Umeda Sky Building floating garden, and a retro evening in Shinsekai.",
      "country": "JP",
      "stayBookingId": "b-hotel-osaka",
      "coords": { "lat": 34.6873, "lon": 135.5262, "label": "Osaka Castle" },
      "tip": "Last evening: settle the Suica balance (refund at any JR West ticket office) or keep the card for next time.",
      "planB": "Rain: swap Shinsekai for the Kaiyukan aquarium (one of the largest in the world, whale shark), Osaka Bay.",
      "items": [
        { "id": "d11i1", "time": "09:30", "endTime": "11:30", "title": "Osaka Castle park and keep", "type": "heritage", "status": "planned", "stars": 2, "coords": { "lat": 34.6873, "lon": 135.5262 }, "image": "https://commons.wikimedia.org/wiki/Special:FilePath/Osaka%20castle%20and%20cherry%20blossoms%202006.jpg?width=900", "desc": "Park is free (peak sakura); the keep is ¥ 600 with a museum and a top-floor view.", "price": 1200 },
        { "id": "d11i2", "time": "12:30", "title": "Lunch · kushikatsu in Shinsekai", "type": "meal", "status": "planned", "desc": "Deep-fried skewers. House rule: no double dipping in the sauce.", "place": "Shinsekai, Janjan Yokocho" },
        { "id": "d11i3", "time": "14:30", "endTime": "16:00", "title": "Free · Den Den Town or Amerikamura", "type": "free", "status": "planned", "desc": "Electronics and retro games, or vintage fashion. Last souvenirs." },
        { "id": "d11i4", "time": "17:30", "endTime": "19:00", "title": "Umeda Sky Building · Floating Garden", "type": "viewpoint", "status": "planned", "stars": 2, "bookingId": "b-umeda", "coords": { "lat": 34.7053, "lon": 135.4904 }, "desc": "Open-air ring 173 m up, 360° over Osaka at sunset (18:25).", "price": 4000 },
        { "id": "d11i5", "time": "20:00", "title": "Farewell dinner", "type": "meal", "status": "planned", "options": [{ "id": "o1", "title": "Kani Doraku (crab) — the giant-crab sign restaurant" }, { "id": "o2", "title": "Yakiniku in Tsuruhashi (Korea town)" }], "outfit": ["casual"], "price": 12000, "priceEstimated": true }
      ]
    },
    {
      "id": "d12",
      "index": 12,
      "date": "2027-04-13",
      "title": "Osaka → Paris",
      "intro": "Airport express to Kansai International, morning flight home, landing in Paris the same afternoon.",
      "country": "JP",
      "coords": { "lat": 34.4347, "lon": 135.2441, "label": "Kansai Airport" },
      "tip": "Tax-free purchases: keep the receipts stapled in your passport; customs may ask at the airport.",
      "items": [
        { "id": "d12i1", "time": "06:45", "title": "Check-out · Hotel Namba Example", "type": "checkout", "status": "planned", "bookingId": "b-hotel-osaka" },
        { "id": "d12i2", "time": "07:05", "endTime": "07:45", "title": "Nankai Rapi:t · Namba → Kansai Airport", "type": "transfer", "status": "planned", "bookingId": "b-rapit", "desc": "Reserved seats, 38 minutes, car 3.", "transport": { "carrier": "Nankai", "number": "Rapi:t α 7", "from": { "name": "Namba (Nankai)", "platform": "9" }, "to": { "name": "Kansai Airport", "terminal": "1" } }, "price": 2920 },
        {
          "id": "d12i3",
          "time": "10:25",
          "endTime": "16:50",
          "timezone": "Asia/Tokyo",
          "endTimezone": "Europe/Paris",
          "title": "Flight Osaka KIX → Paris CDG",
          "type": "flight",
          "status": "planned",
          "stars": 1,
          "bookingId": "b-flight-back",
          "desc": "Direct, about 13 h 30 with the tail wind. Bag drop closes 60 minutes before departure.",
          "transport": { "carrier": "Example Air", "number": "EX 293", "ref": "EXAMPLE-PNR-2", "from": { "name": "Kansai International", "terminal": "1", "timezone": "Asia/Tokyo" }, "to": { "name": "Paris Charles de Gaulle", "terminal": "2E", "timezone": "Europe/Paris" } }
        }
      ]
    }
  ],
  "bookings": [
    {
      "id": "b-flight-out",
      "type": "transport",
      "status": "confirmed",
      "title": "Flight Paris CDG → Tokyo HND · EX 274",
      "dates": "2027-04-02 13:35 → 2027-04-03 08:40",
      "price": 1560,
      "currency": "EUR",
      "payment": { "status": "prepaid", "payer": "personal" },
      "transport": { "carrier": "Example Air", "number": "EX 274", "ref": "EXAMPLE-PNR-1", "from": { "name": "Paris CDG", "terminal": "2E" }, "to": { "name": "Tokyo Haneda", "terminal": "3" } },
      "cancellation": "Non-refundable fare; date change ¥ 20 000 per passenger.",
      "instructions": "Online check-in opens 30 h before. 1 checked bag (23 kg) per passenger included.",
      "refs": [
        { "label": "Booking reference (PNR)", "value": "EXAMPLE-PNR-1" },
        { "label": "E-ticket Emma", "value": "057-EXAMPLE-0001", "sensitive": true },
        { "label": "E-ticket Noah", "value": "057-EXAMPLE-0002", "sensitive": true }
      ],
      "tickets": [
        { "id": "t-bp1", "label": "Boarding pass · Emma · 12A", "code": "EXAMPLE-BP-EMMA", "memberId": "m1", "format": "pdf417", "payload": "M1EXAMPLE/EMMA EXAMPLE CDGHNDEX 0274 092Y012A0001 100", "seat": "12A", "date": "2027-04-02", "time": "13:35" },
        { "id": "t-bp2", "label": "Boarding pass · Noah · 12B", "code": "EXAMPLE-BP-NOAH", "memberId": "m2", "format": "pdf417", "payload": "M1EXAMPLE/NOAH EXAMPLE CDGHNDEX 0274 092Y012B0002 100", "seat": "12B", "date": "2027-04-02", "time": "13:35" }
      ],
      "attachments": [{ "id": "att-flight-out", "label": "Flight confirmation (example)", "url": "https://roadbook.plus/examples/japan-12-days#bookings" }]
    },
    {
      "id": "b-flight-back",
      "type": "transport",
      "status": "confirmed",
      "title": "Flight Osaka KIX → Paris CDG · EX 293",
      "dates": "2027-04-13 10:25 → 16:50",
      "payment": { "status": "prepaid" },
      "transport": { "carrier": "Example Air", "number": "EX 293", "ref": "EXAMPLE-PNR-2", "from": { "name": "Kansai International", "terminal": "1" }, "to": { "name": "Paris CDG", "terminal": "2E" } },
      "instructions": "Same booking as the outbound flight; seats 14A–14B requested.",
      "refs": [{ "label": "Booking reference (PNR)", "value": "EXAMPLE-PNR-2" }],
      "tickets": []
    },
    {
      "id": "b-airport-transfer",
      "type": "transport",
      "status": "optional",
      "title": "Haneda → Shinjuku · Keikyu + JR (pay with Suica)",
      "dates": "2027-04-03",
      "price": 1400,
      "priceEstimated": true,
      "instructions": "No booking needed: tap in with Suica. Alternative: Airport Limousine bus direct to the hotel (¥ 1 400 per person, 50 min, luggage hold).",
      "refs": [],
      "tickets": []
    },
    {
      "id": "b-hotel-tokyo",
      "type": "stay",
      "status": "confirmed",
      "title": "Hotel Shinjuku Example",
      "hotelStars": 3,
      "dates": "2027-04-03 → 2027-04-07 · 4 nights",
      "address": "1-2-3 Nishi-Shinjuku, Shinjuku-ku, Tokyo 160-0023",
      "gpsAddress": "35.6900,139.6960",
      "phone": "+81 3 0000 0000",
      "website": "https://example.com/hotel-shinjuku",
      "checkin": "15:00",
      "checkout": "11:00",
      "breakfastIncluded": true,
      "price": 98000,
      "payment": { "status": "prepaid" },
      "cancellation": "Free cancellation until 2027-03-27.",
      "instructions": "Luggage storage from 08:00 on arrival day. Ask for a high floor facing the Tokyo Metropolitan Government Building.",
      "rooms": [{ "label": "Double room, 24 m²", "memberIds": ["m1", "m2"] }],
      "refs": [{ "label": "Confirmation number", "value": "EXAMPLE-HTL-TYO-1" }],
      "tickets": []
    },
    {
      "id": "b-hotel-kyoto",
      "type": "stay",
      "status": "confirmed",
      "title": "Machiya Example · Higashiyama townhouse",
      "dates": "2027-04-07 → 2027-04-11 · 4 nights",
      "address": "Higashiyama-ku, Kyoto 605-0000 (exact address in the host message)",
      "gpsAddress": "35.0030,135.7780",
      "checkin": "15:00",
      "checkout": "10:00",
      "price": 112000,
      "payment": { "status": "prepaid" },
      "cancellation": "Free cancellation until 2027-03-31 (then 50 %).",
      "instructions": "Self check-in: key box by the door, code sent the day before. No shoes inside; futons on tatami; quiet hours after 22:00.",
      "rooms": [{ "label": "Whole townhouse (2 rooms)", "memberIds": ["m1", "m2"] }],
      "refs": [{ "label": "Reservation code", "value": "EXAMPLE-MACHIYA-1" }, { "label": "Key box code", "value": "sent by the host the day before", "sensitive": true }],
      "tickets": [],
      "reminder": { "date": "2027-04-06", "action": "Message the host with the arrival time (≈ 14:00)." }
    },
    {
      "id": "b-hotel-osaka",
      "type": "stay",
      "status": "confirmed",
      "title": "Hotel Namba Example",
      "hotelStars": 3,
      "dates": "2027-04-11 → 2027-04-13 · 2 nights",
      "address": "4-5-6 Namba, Chuo-ku, Osaka 542-0076",
      "gpsAddress": "34.6660,135.5010",
      "phone": "+81 6 0000 0000",
      "checkin": "15:00",
      "checkout": "11:00",
      "price": 36000,
      "payment": { "status": "onsite" },
      "cancellation": "Free cancellation until 2027-04-09.",
      "refs": [{ "label": "Confirmation number", "value": "EXAMPLE-HTL-OSA-1" }],
      "tickets": []
    },
    {
      "id": "b-shinkansen",
      "type": "transport",
      "status": "confirmed",
      "title": "Shinkansen Nozomi 225 · Tokyo → Kyoto",
      "dates": "2027-04-07 11:00 → 13:15",
      "price": 28340,
      "payment": { "status": "prepaid" },
      "transport": { "carrier": "JR Central", "number": "Nozomi 225", "ref": "EXAMPLE-JR-1", "from": { "name": "Tokyo", "platform": "17" }, "to": { "name": "Kyoto" } },
      "instructions": "Reserved seats, car 7, 12D–12E (Mount Fuji on the right). Tickets are QR codes: scan at the Shinkansen gate, keep the phone handy for the exit.",
      "refs": [{ "label": "Reservation number", "value": "EXAMPLE-JR-1" }],
      "tickets": [
        { "id": "t-jr1", "label": "Shinkansen · Emma · car 7 seat 12D", "code": "EXAMPLE-JR-1-D", "memberId": "m1", "format": "qr", "payload": "RBDEMO|JR|NOZOMI225|2027-04-07|TYO-KYO|7-12D|EXAMPLE-JR-1", "seat": "7-12D", "date": "2027-04-07", "time": "11:00" },
        { "id": "t-jr2", "label": "Shinkansen · Noah · car 7 seat 12E", "code": "EXAMPLE-JR-1-E", "memberId": "m2", "format": "qr", "payload": "RBDEMO|JR|NOZOMI225|2027-04-07|TYO-KYO|7-12E|EXAMPLE-JR-1", "seat": "7-12E", "date": "2027-04-07", "time": "11:00" }
      ]
    },
    {
      "id": "b-teamlab",
      "type": "activity",
      "status": "confirmed",
      "title": "teamLab Planets TOKYO · timed entry",
      "dates": "2027-04-04 10:30",
      "address": "6-1-16 Toyosu, Koto-ku, Tokyo",
      "gpsAddress": "35.6492,139.7899",
      "website": "https://example.com/teamlab-tickets",
      "price": 7600,
      "payment": { "status": "prepaid" },
      "cancellation": "Non-refundable; the entry time can be changed once online.",
      "instructions": "Show the QR codes at the entrance during the 10:30–11:00 window. Barefoot museum: lockers for shoes and bags.",
      "refs": [{ "label": "Order number", "value": "EXAMPLE-TL-0001" }],
      "tickets": [
        { "id": "t-tl1", "label": "teamLab · adult · Emma", "code": "EXAMPLE-TL-0001-A", "memberId": "m1", "format": "qr", "payload": "RBDEMO|TEAMLAB|2027-04-04|10:30|ADULT|EXAMPLE-TL-0001-A", "date": "2027-04-04", "time": "10:30" },
        { "id": "t-tl2", "label": "teamLab · adult · Noah", "code": "EXAMPLE-TL-0001-B", "memberId": "m2", "format": "qr", "payload": "RBDEMO|TEAMLAB|2027-04-04|10:30|ADULT|EXAMPLE-TL-0001-B", "date": "2027-04-04", "time": "10:30" }
      ]
    },
    {
      "id": "b-cruise",
      "type": "activity",
      "status": "to_book",
      "title": "Sumida river water bus · Asakusa → Hamarikyu",
      "dates": "2027-04-04 17:30",
      "price": 2400,
      "priceEstimated": true,
      "instructions": "Book the 17:30 sailing online the day before (sells out on sakura weekends) or buy at the Asakusa pier in the morning.",
      "refs": [],
      "tickets": [],
      "reminder": { "date": "2027-04-03", "action": "Book the 17:30 Sumida cruise for 2." }
    },
    {
      "id": "b-shibuya-sky",
      "type": "activity",
      "status": "confirmed",
      "title": "Shibuya Sky · sunset slot",
      "dates": "2027-04-05 18:20",
      "address": "Shibuya Scramble Square, 2-24-12 Shibuya, 14F entrance",
      "gpsAddress": "35.6585,139.7022",
      "price": 5000,
      "payment": { "status": "prepaid" },
      "cancellation": "Non-refundable, except if the rooftop is closed for weather (refund or rebooking).",
      "instructions": "Entry window 18:20–18:40. Lockers are mandatory for bags; no tripods.",
      "refs": [{ "label": "Ticket order", "value": "EXAMPLE-SKY-0001" }],
      "tickets": [
        { "id": "t-sky1", "label": "Shibuya Sky · Emma", "code": "EXAMPLE-SKY-0001-1", "memberId": "m1", "format": "qr", "payload": "RBDEMO|SHIBUYASKY|2027-04-05|18:20|EXAMPLE-SKY-0001-1", "date": "2027-04-05", "time": "18:20" },
        { "id": "t-sky2", "label": "Shibuya Sky · Noah", "code": "EXAMPLE-SKY-0001-2", "memberId": "m2", "format": "qr", "payload": "RBDEMO|SHIBUYASKY|2027-04-05|18:20|EXAMPLE-SKY-0001-2", "date": "2027-04-05", "time": "18:20" }
      ]
    },
    {
      "id": "b-kaiseki",
      "type": "restaurant",
      "status": "confirmed",
      "title": "Kaiseki dinner · Gion Example",
      "dates": "2027-04-07 19:00 · 2 guests",
      "address": "Gion, Higashiyama-ku, Kyoto",
      "phone": "+81 75 000 0000",
      "price": 24000,
      "payment": { "status": "deposit", "deposit": 4000, "note": "Deposit paid online; balance in cash or card on site." },
      "cancellation": "Cancellation less than 48 h before is charged in full.",
      "instructions": "Pescetarian course confirmed for one guest. Smart-casual; remove shoes at the counter room.",
      "refs": [{ "label": "Reservation", "value": "EXAMPLE-KAISEKI-1" }],
      "tickets": []
    },
    {
      "id": "b-tea",
      "type": "activity",
      "status": "confirmed",
      "title": "Tea ceremony · Camellia, Ninenzaka",
      "dates": "2027-04-08 15:30 · 45 min",
      "address": "Ninenzaka, Higashiyama-ku, Kyoto",
      "gpsAddress": "34.9979,135.7804",
      "price": 6000,
      "payment": { "status": "prepaid" },
      "personIds": ["p1"],
      "instructions": "Show the voucher (below) on arrival. Socks required on tatami.",
      "refs": [{ "label": "Voucher", "value": "EXAMPLE-TEA-0001" }],
      "tickets": [{ "id": "t-tea", "label": "Tea ceremony voucher · 2 guests", "code": "EXAMPLE-TEA-0001", "format": "code128", "payload": "EXAMPLE-TEA-0001", "date": "2027-04-08", "time": "15:30", "validUntil": "2027-04-08" }],
      "attachments": [{ "id": "att-tea", "label": "Voucher (example)", "url": "https://roadbook.plus/examples/japan-12-days#bookings" }]
    },
    {
      "id": "b-umeda",
      "type": "activity",
      "status": "to_book",
      "title": "Umeda Sky Building · Floating Garden observatory",
      "dates": "2027-04-12 17:30",
      "price": 4000,
      "priceEstimated": true,
      "instructions": "Tickets at the door (¥ 2 000 per person) or online to skip the queue at sunset.",
      "refs": [],
      "tickets": []
    },
    {
      "id": "b-rapit",
      "type": "transport",
      "status": "confirmed",
      "title": "Nankai Rapi:t α 7 · Namba → Kansai Airport",
      "dates": "2027-04-13 07:05 → 07:45",
      "price": 2920,
      "payment": { "status": "prepaid" },
      "transport": { "carrier": "Nankai", "number": "Rapi:t α 7", "from": { "name": "Namba (Nankai)", "platform": "9" }, "to": { "name": "Kansai Airport", "terminal": "1" } },
      "instructions": "Reserved seats car 3, 5A–5B. Tickets are Aztec codes: scan at the Nankai gate.",
      "refs": [{ "label": "Reservation", "value": "EXAMPLE-NANKAI-1" }],
      "tickets": [
        { "id": "t-rp1", "label": "Rapi:t · Emma · car 3 seat 5A", "code": "EXAMPLE-NANKAI-1-A", "memberId": "m1", "format": "aztec", "payload": "RBDEMO|NANKAI|RAPIT7|2027-04-13|3-5A|EXAMPLE-NANKAI-1", "seat": "3-5A", "date": "2027-04-13", "time": "07:05" },
        { "id": "t-rp2", "label": "Rapi:t · Noah · car 3 seat 5B", "code": "EXAMPLE-NANKAI-1-B", "memberId": "m2", "format": "aztec", "payload": "RBDEMO|NANKAI|RAPIT7|2027-04-13|3-5B|EXAMPLE-NANKAI-1", "seat": "3-5B", "date": "2027-04-13", "time": "07:05" }
      ]
    },
    {
      "id": "b-esim",
      "type": "other",
      "status": "to_book",
      "title": "Japan eSIM · 12 days · 2 lines",
      "price": 6000,
      "priceEstimated": true,
      "instructions": "Buy a data eSIM before departure and install it at home; activate on landing. Alternative: pocket Wi-Fi picked up at Haneda.",
      "refs": [],
      "tickets": [],
      "reminder": { "date": "2027-03-30", "action": "Buy and install the two eSIMs." }
    }
  ],
  "checklists": [
    {
      "id": "c1",
      "title": "Before leaving",
      "emoji": "🧳",
      "items": [
        { "id": "c1-1", "label": "Passports valid (no visa needed for stays under 90 days)", "done": false },
        { "id": "c1-2", "label": "Visit Japan Web: immigration + customs QR codes", "done": false },
        { "id": "c1-3", "label": "Suica added to the phone wallet, ¥ 3 000 loaded", "done": false },
        { "id": "c1-4", "label": "eSIMs installed", "done": false },
        { "id": "c1-5", "label": "Shinkansen and museum QR tickets in the app (work offline)", "done": false },
        { "id": "c1-6", "label": "Travel insurance certificate saved offline", "done": false },
        { "id": "c1-7", "label": "Tell the bank about the trip; some cash in yen", "done": false }
      ]
    },
    {
      "id": "c2",
      "title": "Packing",
      "emoji": "🎒",
      "items": [
        { "id": "c2-1", "label": "Walking shoes that slip off easily (temples, machiya)", "done": false },
        { "id": "c2-2", "label": "Type A power adapter (100 V, two flat pins)", "done": false },
        { "id": "c2-3", "label": "Light rain jacket and a folding umbrella", "done": false },
        { "id": "c2-4", "label": "Small towel (hand dryers are rare) and a coin purse", "done": false },
        { "id": "c2-5", "label": "One smart outfit for the kaiseki dinner", "done": false }
      ]
    }
  ],
  "contacts": [
    { "id": "k1", "name": "Emergency (police 110 · ambulance/fire 119)", "phone": "110", "note": "English-speaking operators available in big cities." },
    { "id": "k2", "name": "Japan Visitor Hotline (JNTO, 24 h)", "phone": "+81 50 3816 2787", "note": "Tourist information and help in English, 24 hours a day." },
    { "id": "k3", "name": "Hotel Shinjuku Example", "phone": "+81 3 0000 0000" },
    { "id": "k4", "name": "Hotel Namba Example", "phone": "+81 6 0000 0000" }
  ],
  "logistics": [
    { "id": "l1", "emoji": "💳", "title": "Paying", "content": "Cards work in hotels, department stores and chains; many small restaurants, shrines and markets are cash only. 7-Eleven and Japan Post ATMs accept foreign cards. Tipping does not exist." },
    { "id": "l2", "emoji": "🚆", "title": "Getting around", "content": "Suica on the phone pays for every train, metro, bus and most convenience stores. Google Maps gives exact platforms and car numbers. Shinkansen: arrive 20 minutes early, platform on the board; a 1-minute stop means doors close fast." },
    { "id": "l3", "emoji": "🧳", "title": "Luggage forwarding (takkyubin)", "content": "Send suitcases hotel to hotel for ≈ ¥ 2 500 per bag (next-day delivery). Hotel desks and convenience stores handle it; keep a day bag." },
    { "id": "l4", "emoji": "🙏", "title": "Etiquette in two lines", "content": "Quiet on trains (no calls), shoes off where you see a step up, no eating while walking, queue in line on platforms. Bins are rare: carry your rubbish to a konbini." },
    { "id": "l5", "emoji": "🛍️", "title": "Tax-free shopping", "content": "Over ¥ 5 000 in one shop with your passport: 10 % consumption tax refunded at the till. Keep the receipts in the passport until departure." }
  ],
  "apps": [
    { "id": "a1", "name": "Google Maps", "emoji": "🗺️", "desc": "Transit with platforms, car numbers and fares.", "ios": "https://apps.apple.com/app/id585027354", "android": "https://play.google.com/store/apps/details?id=com.google.android.apps.maps" },
    { "id": "a2", "name": "Japan Travel by NAVITIME", "emoji": "🚄", "desc": "Train planner with Shinkansen timetables and offline maps.", "ios": "https://apps.apple.com/app/id1141996587", "android": "https://play.google.com/store/apps/details?id=com.navitime.inbound.walk" },
    { "id": "a3", "name": "Google Translate", "emoji": "🈶", "desc": "Camera mode for menus and signs; download Japanese offline.", "ios": "https://apps.apple.com/app/id414706506", "android": "https://play.google.com/store/apps/details?id=com.google.android.apps.translate" },
    { "id": "a4", "name": "Tabelog", "emoji": "🍜", "desc": "Japan's restaurant ratings: anything above 3.5 is excellent.", "url": "https://tabelog.com/en/" }
  ]
}
