リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: 旅のしおり自動生成メーカー TravelNote
日別タイムラインへの「移動手段・所要時間」表示と自動移動時間挿入
## 1. 目的
現状のタイムラインはスポット名・時刻・メモのみで、スポット間の移動手段や移動時間が記録できない。幹事が「次の場所まで何分かかるか」を把握しやすくすることで、計画の実用性と完成度を高める。
## 2. 具体的な仕様
### 2-1. 内製スポットDBへの移動時間データ追加
- 既存の spots テーブルに `avg_transfer_minutes` (INT) カラムを追加(前のスポットからこのスポットへの平均移動時間の目安、NULL可)
- 同エリア内スポット間は徒歩15〜30分、異なるカテゴリ間は車・電車30〜60分を目安にDB編集スクリプト(seed_transfer.php)で一括セット
### 2-2. 自動行程生成時の移動ブロック挿入
- しおり生成ロジック(generate.php)で、タイムラインの各スポット間に「移動ブロック」レコードを自動挿入する
- 移動ブロックの構造:`{ type: 'transfer', duration_minutes: N, transport: '電車/車/徒歩', note: '' }`
- transport の自動判定ルール(同一エリア内かつ30分以下→徒歩、30〜60分→電車、60分超→車)をシンプルな条件分岐で実装
- 移動時間を加算して次スポットの開始時刻を自動調整
### 2-3. タイムライン表示UI
- スポット行の間に移動ブロック行を挿入して表示
- 移動ブロックの見た目:薄いグレー背景、アイコン(🚶/🚃/🚗 をテキスト絵文字で表現)+「約N分」テキスト+交通手段ラベル
- 移動ブロック行は印刷時も表示(print.css で font-size 小さめ・余白少なめに調整)
### 2-4. 編集機能との統合
- 既存の編集画面(edit.php)で移動ブロックも編集可能にする
- 移動時間(分)をテキスト入力で変更可
- 交通手段をセレクトボックスで変更(徒歩/自転車/電車/バス/車/船)
- 移動ブロックのメモ欄(任意)を追加可
- 移動時間を変更すると後続スポットの開始時刻をJS側でリアルタイム再計算・表示更新
- 移動ブロックの追加・削除も既存のドラッグ並び替えUIに統合(行タイプで識別)
### 2-5. データ保存
- しおりデータJSON(既存の `itinerary_data` カラムに保存している構造)に移動ブロックを配列要素として追加するだけなので、既存スポット行は無変更
- 旧データ(移動ブロックなし)をedit.phpで開いた場合は移動ブロックが存在しないだけで正常表示・編集できる(後方互換)
### 2-6. 共有URL(読み取り専用)
- 共有表示(view.php)でも移動ブロックをスポット行と同様に表示するだけ(追加実装は最小限)
## 3. 既存機能との整合
- タイムライン配列に新タイプ要素を追加するだけで、既存のスポット行レンダリングロジックは `type === 'spot'` の分岐を追加するだけで維持できる
- 持ち物チェックリスト・緊急連絡先・表紙・テーマカラー・印刷レイアウトは一切変更なし
- 移動ブロックが存在しない旧しおりは従来通り表示され、壊れない
- 共有URLコピー機能・履歴機能も移動ブロックを含むJSONをそのままコピーするだけで動作する
現状のタイムラインはスポット名・時刻・メモのみで、スポット間の移動手段や移動時間が記録できない。幹事が「次の場所まで何分かかるか」を把握しやすくすることで、計画の実用性と完成度を高める。
## 2. 具体的な仕様
### 2-1. 内製スポットDBへの移動時間データ追加
- 既存の spots テーブルに `avg_transfer_minutes` (INT) カラムを追加(前のスポットからこのスポットへの平均移動時間の目安、NULL可)
- 同エリア内スポット間は徒歩15〜30分、異なるカテゴリ間は車・電車30〜60分を目安にDB編集スクリプト(seed_transfer.php)で一括セット
### 2-2. 自動行程生成時の移動ブロック挿入
- しおり生成ロジック(generate.php)で、タイムラインの各スポット間に「移動ブロック」レコードを自動挿入する
- 移動ブロックの構造:`{ type: 'transfer', duration_minutes: N, transport: '電車/車/徒歩', note: '' }`
- transport の自動判定ルール(同一エリア内かつ30分以下→徒歩、30〜60分→電車、60分超→車)をシンプルな条件分岐で実装
- 移動時間を加算して次スポットの開始時刻を自動調整
### 2-3. タイムライン表示UI
- スポット行の間に移動ブロック行を挿入して表示
- 移動ブロックの見た目:薄いグレー背景、アイコン(🚶/🚃/🚗 をテキスト絵文字で表現)+「約N分」テキスト+交通手段ラベル
- 移動ブロック行は印刷時も表示(print.css で font-size 小さめ・余白少なめに調整)
### 2-4. 編集機能との統合
- 既存の編集画面(edit.php)で移動ブロックも編集可能にする
- 移動時間(分)をテキスト入力で変更可
- 交通手段をセレクトボックスで変更(徒歩/自転車/電車/バス/車/船)
- 移動ブロックのメモ欄(任意)を追加可
- 移動時間を変更すると後続スポットの開始時刻をJS側でリアルタイム再計算・表示更新
- 移動ブロックの追加・削除も既存のドラッグ並び替えUIに統合(行タイプで識別)
### 2-5. データ保存
- しおりデータJSON(既存の `itinerary_data` カラムに保存している構造)に移動ブロックを配列要素として追加するだけなので、既存スポット行は無変更
- 旧データ(移動ブロックなし)をedit.phpで開いた場合は移動ブロックが存在しないだけで正常表示・編集できる(後方互換)
### 2-6. 共有URL(読み取り専用)
- 共有表示(view.php)でも移動ブロックをスポット行と同様に表示するだけ(追加実装は最小限)
## 3. 既存機能との整合
- タイムライン配列に新タイプ要素を追加するだけで、既存のスポット行レンダリングロジックは `type === 'spot'` の分岐を追加するだけで維持できる
- 持ち物チェックリスト・緊急連絡先・表紙・テーマカラー・印刷レイアウトは一切変更なし
- 移動ブロックが存在しない旧しおりは従来通り表示され、壊れない
- 共有URLコピー機能・履歴機能も移動ブロックを含むJSONをそのままコピーするだけで動作する
💬 返信 (3)
🛠 開発を開始しました (機能追加: travelnote)
ご要望ありがとうございます。日別タイムラインへの「移動手段・所要時間」表示と移動ブロックの自動挿入・編集機能の実装を開始します。
通常 5〜30 分で実装が完了し、レビュー後にリリースされます。
ご要望ありがとうございます。日別タイムラインへの「移動手段・所要時間」表示と移動ブロックの自動挿入・編集機能の実装を開始します。
通常 5〜30 分で実装が完了し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた「移動手段・所要時間の表示と移動ブロックの自動挿入」の実装が完了し、最終チェック段階に入りました。
レビュー(自動)→ リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた「移動手段・所要時間の表示と移動ブロックの自動挿入」の実装が完了し、最終チェック段階に入りました。
レビュー(自動)→ リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「日別タイムラインへの移動手段・所要時間の表示」を実装し、リリースいたしました。
【今回追加した機能】
・スポット間に「移動ブロック」(🚶徒歩/🚃電車/🚗車などのアイコン+「約N分」+交通手段ラベル)を自動挿入
・編集画面で移動時間(分)・交通手段(徒歩/自転車/電車/バス/車/船)・メモを変更可能
・移動時間を変更すると、後続スポットの開始時刻が自動でずれて再計算(生成済みの予定時刻の並びは保持)
・移動ブロックの並び替え・追加(+移動を追加)・削除に対応/印刷・共有URLでも表示
【補足】
本アプリのスポットはDBテーブルではなくアプリ内製データ(緯度経度なし)のため、移動時間は移動先カテゴリに応じた目安をヒューリスティックに算出し、交通手段は「30分以下→徒歩/30〜60分→電車/60分超→車」のルールで自動判定しています。既存のしおり(移動ブロックなしの旧データ)はそのまま正常に表示・編集できます。
【ご利用方法】
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=travelnote
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/travelnote/
ご利用ありがとうございます!
ご要望いただいた「日別タイムラインへの移動手段・所要時間の表示」を実装し、リリースいたしました。
【今回追加した機能】
・スポット間に「移動ブロック」(🚶徒歩/🚃電車/🚗車などのアイコン+「約N分」+交通手段ラベル)を自動挿入
・編集画面で移動時間(分)・交通手段(徒歩/自転車/電車/バス/車/船)・メモを変更可能
・移動時間を変更すると、後続スポットの開始時刻が自動でずれて再計算(生成済みの予定時刻の並びは保持)
・移動ブロックの並び替え・追加(+移動を追加)・削除に対応/印刷・共有URLでも表示
【補足】
本アプリのスポットはDBテーブルではなくアプリ内製データ(緯度経度なし)のため、移動時間は移動先カテゴリに応じた目安をヒューリスティックに算出し、交通手段は「30分以下→徒歩/30〜60分→電車/60分超→車」のルールで自動判定しています。既存のしおり(移動ブロックなしの旧データ)はそのまま正常に表示・編集できます。
【ご利用方法】
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=travelnote
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/travelnote/
ご利用ありがとうございます!
Echo
Iris