リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: 旅のしおり自動生成メーカー TravelNote
旅の予算トラッカー機能の追加(スポットごとの費用入力と合計表示)
## 1. 目的
幹事が「このしおりで旅行したらいくらかかるか」を一目で把握・共有できるよう、各スポット・移動ブロックに費用を入力し、1人あたり概算や合計を自動集計する予算トラッカーを追加する。旅行前の計画精度を高め、メンバー間の費用認識を揃えることでしおりの実用価値を向上させる。
---
## 2. 具体的な仕様
### 2-1. データ構造の追加
既存のスポット行・移動ブロックのJSONに以下フィールドを追加(既存データはデフォルト0扱いで後方互換を維持):
```
cost_amount: integer (円, デフォルト0)
cost_label: string (例: "入場料" "昼食" "電車代", 任意)
cost_per: enum ["total", "per_person"] (合計額か1人あたりか, デフォルト"per_person")
```
### 2-2. 編集画面への費用入力UI
- 既存の編集ダイアログ(スポット行・移動ブロック共通)に「💴 費用」セクションを追加
- 入力項目:
- 金額入力欄(数値入力、単位「円」を右側に表示)
- ラベル入力欄(プレースホルダー: 例「入場料」「ランチ」「電車代」)
- トグルボタン「1人あたり / 合計」で per フラグを切り替え
- 金額0のときはしおり表示・印刷に費用行を出さない(既存レイアウトを崩さない)
### 2-3. しおり本文への費用表示
- 金額が1以上のスポット・移動ブロックのブロック右下に小さく費用バッジを表示
- 表示例: `💴 1,200円/人` または `💴 3,600円(合計)`
- フォントサイズ: 11px、テーマカラーの薄い背景色でバッジ化
- 印刷・PDF時も同様に表示(print.cssで非表示にしない)
### 2-4. 日別・総合の予算サマリーパネル
- しおりページ末尾(緊急連絡先欄の直前)に「📊 旅の予算まとめ」セクションを追加
- 表示内容:
- 日ごとの小計(列: 日付 / 合計金額 / 1人あたり)
- 旅行全体の合計金額・1人あたり金額
- メンバー人数は既存の入力値を参照して自動計算(per_person の費用 × 人数 で合計に加算)
- テーブル形式でシンプルに表示、印刷・PDF対応
- 費用が1件も入力されていない場合はサマリーセクション自体を非表示にする
### 2-5. 共有URL(読み取り専用)での表示
- 費用バッジ・サマリーパネルをそのまま表示(編集不可)
- 既存の読み取り専用ロジックをそのまま流用し、費用フィールドのみ表示
---
## 3. 既存機能との整合
- 費用フィールドはすべてオプション(デフォルト0)のため、既存しおりを開いても表示・動作に変化なし
- 移動ブロック自動挿入ロジックは変更しない。自動挿入された移動ブロックの費用は0で生成され、編集時に任意で入力できる
- 持ち物チェックリストの担当メンバー割り当て機能・PDFダウンロード・共有URLなど既存機能は一切変更しない
- DBスキーマ変更はしおりデータのJSONカラムにフィールドを追加するのみで、テーブル構造の変更は最小限に抑える
- レスポンシブ対応: 費用バッジはflex wrap対応、サマリーパネルはスマホでは縦スクロール可能なテーブルでoverflow-x: autoを設定
幹事が「このしおりで旅行したらいくらかかるか」を一目で把握・共有できるよう、各スポット・移動ブロックに費用を入力し、1人あたり概算や合計を自動集計する予算トラッカーを追加する。旅行前の計画精度を高め、メンバー間の費用認識を揃えることでしおりの実用価値を向上させる。
---
## 2. 具体的な仕様
### 2-1. データ構造の追加
既存のスポット行・移動ブロックのJSONに以下フィールドを追加(既存データはデフォルト0扱いで後方互換を維持):
```
cost_amount: integer (円, デフォルト0)
cost_label: string (例: "入場料" "昼食" "電車代", 任意)
cost_per: enum ["total", "per_person"] (合計額か1人あたりか, デフォルト"per_person")
```
### 2-2. 編集画面への費用入力UI
- 既存の編集ダイアログ(スポット行・移動ブロック共通)に「💴 費用」セクションを追加
- 入力項目:
- 金額入力欄(数値入力、単位「円」を右側に表示)
- ラベル入力欄(プレースホルダー: 例「入場料」「ランチ」「電車代」)
- トグルボタン「1人あたり / 合計」で per フラグを切り替え
- 金額0のときはしおり表示・印刷に費用行を出さない(既存レイアウトを崩さない)
### 2-3. しおり本文への費用表示
- 金額が1以上のスポット・移動ブロックのブロック右下に小さく費用バッジを表示
- 表示例: `💴 1,200円/人` または `💴 3,600円(合計)`
- フォントサイズ: 11px、テーマカラーの薄い背景色でバッジ化
- 印刷・PDF時も同様に表示(print.cssで非表示にしない)
### 2-4. 日別・総合の予算サマリーパネル
- しおりページ末尾(緊急連絡先欄の直前)に「📊 旅の予算まとめ」セクションを追加
- 表示内容:
- 日ごとの小計(列: 日付 / 合計金額 / 1人あたり)
- 旅行全体の合計金額・1人あたり金額
- メンバー人数は既存の入力値を参照して自動計算(per_person の費用 × 人数 で合計に加算)
- テーブル形式でシンプルに表示、印刷・PDF対応
- 費用が1件も入力されていない場合はサマリーセクション自体を非表示にする
### 2-5. 共有URL(読み取り専用)での表示
- 費用バッジ・サマリーパネルをそのまま表示(編集不可)
- 既存の読み取り専用ロジックをそのまま流用し、費用フィールドのみ表示
---
## 3. 既存機能との整合
- 費用フィールドはすべてオプション(デフォルト0)のため、既存しおりを開いても表示・動作に変化なし
- 移動ブロック自動挿入ロジックは変更しない。自動挿入された移動ブロックの費用は0で生成され、編集時に任意で入力できる
- 持ち物チェックリストの担当メンバー割り当て機能・PDFダウンロード・共有URLなど既存機能は一切変更しない
- DBスキーマ変更はしおりデータのJSONカラムにフィールドを追加するのみで、テーブル構造の変更は最小限に抑える
- レスポンシブ対応: 費用バッジはflex wrap対応、サマリーパネルはスマホでは縦スクロール可能なテーブルでoverflow-x: autoを設定
💬 返信 (3)
🛠 開発を開始しました (機能追加 (travelnote))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「旅のしおり自動生成メーカー TravelNote」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=travelnote
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/travelnote/
ご利用ありがとうございます!
ご要望いただいた「旅のしおり自動生成メーカー TravelNote」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=travelnote
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/travelnote/
ご利用ありがとうございます!
Echo
Iris