{
  "title": "ものしりぼうし 目的別の取り方",
  "description": "旅の目的ごとに、目録（catalog.json）のどのデータを取り、どう答えを組み立てるか。",
  "updatedAt": "2026-11-02",
  "rules": [
    "時刻を答えるときは、出典（陸前高田市の時刻表）と、データの有効期限を添える",
    "有効期限を過ぎたデータは使わない。その日がデータの有効期間（市内バスは feed_info.txt の期間）の外なら、時刻は答えず「最新の時刻表を確かめてください」と答え、市のページを案内する",
    "その日の曜日と祝日（calendar.txt と calendar_dates.txt）で走る便を選ぶ。平日と土日祝で便が大きく違う",
    "その日にかかる運休（suspensions.csv）を必ず確かめる。運休の路線の便は使わない",
    "データにないことは推測しない。BRT の時刻、お店や施設の営業時間・料金、歩く時間、観光地の位置は、「持っていないもの」にある公式のページを案内する",
    "非公式の情報であること、最終的には公式（市の時刻表など）で確かめてほしいことを添える",
    "データを読めなかったときは、読めなかったと伝える。読めなかった分を自分の知識で補わない"
  ],
  "recipes": [
    {
      "id": "day-trip-without-car",
      "title": "車なしで1日回りたい",
      "use": [
        "bus-gtfs",
        "suspensions",
        "alternatives"
      ],
      "steps": [
        "feed_info.txt で、その日が有効期間に入っているか確かめる",
        "calendar.txt・calendar_dates.txt で、その日に走る service_id を決める",
        "suspensions.csv で、その日に運休している路線を外す",
        "stops.txt で、着く場所と行きたい場所に近い停留所を名前で探す。見つからなければ、近い停留所は分からないと伝える",
        "着く時刻から順に、stop_times.txt と trips.txt でスポット間の便を出す。乗る停留所・発車時刻・降りる停留所・着く時刻を書く",
        "最後に、着いた場所（駅など）へ戻る向きの、その日の最終便を必ず出す。乗りおくれると戻れないことを添える",
        "バスがない区間・時間は alternatives を案内する"
      ]
    },
    {
      "id": "last-bus",
      "title": "帰りの最終に間に合うか",
      "use": [
        "bus-gtfs",
        "suspensions"
      ],
      "steps": [
        "その日に走る service_id と、運休を確かめる（day-trip-without-car と同じ）",
        "いる停留所から目的の停留所へ向かう便のうち、いる停留所を出る時刻がいちばん遅い便を出す",
        "同じ路線の向き（direction_id）を取り違えない。trip_headsign と停留所の並び順で確かめる"
      ]
    },
    {
      "id": "no-bus",
      "title": "バスがない時間・場所にどう行くか",
      "use": [
        "alternatives",
        "bus-gtfs"
      ],
      "steps": [
        "alternatives.json の items から、その日・その時間に走るものを facts で選ぶ。validUntil を過ぎたものは外す",
        "使える人の条件（forWhom。例：事前の利用登録、住んでいる地区）を必ず添える",
        "予約の仕方と、contacts の電話番号・ページを出す"
      ]
    },
    {
      "id": "suspension-check",
      "title": "運休していないか",
      "use": [
        "suspensions",
        "bus-gtfs"
      ],
      "steps": [
        "suspensions.csv で、その日が start_date〜end_date（end_date が空なら終わりなし）に入る行を探す",
        "route_id を routes.txt の路線名に直し、source_text と source_url を出典として添える"
      ]
    },
    {
      "id": "outside-city",
      "title": "市外（大船渡・気仙沼・一関など）へ",
      "use": [
        "bus-gtfs"
      ],
      "steps": [
        "BRT（JR 大船渡線 BRT）の時刻は持っていない。時刻は答えず、JR 東日本の時刻表（notProvided）か地図アプリを案内する",
        "住田町へは陸前高田住田線（bus-gtfs）がある。行き先がそこなら時刻を出せる"
      ]
    }
  ],
  "attachedNote": "ものしりぼうし の画面から AI にわたす文には、その日に要るデータ（走る便・運休・ほかの乗り物・持っていないもの）をあらかじめ付けている。曜日・祝日と運休は、付ける前に当てはめてある"
}
