基本設計書
基本情報
- 画面ID:A-001-009
- 機能名:宿泊施設検索
- 対象画面:
/accommodations
- 画面タイトル:宿泊施設検索
1. 機能概要
宿泊施設を検索・比較する画面。目的地、チェックイン/アウト日、人数・部屋数などの条件で検索し、価格、評価、設備などの条件で絞り込むことができる。
2. 画面・操作仕様(UI仕様)
2.1 UI
検索条件
| No. |
分類1 |
分類2 |
項目名 |
種別 |
値 |
必須 |
最大文字数 |
備考 |
| S01 |
検索 |
|
目的地 |
テキスト |
:destination |
○ |
100 |
例:東京 / 沖縄 |
| S02 |
検索 |
|
チェックイン |
日付 |
:check_in |
○ |
- |
例:2026-01-15 |
| S03 |
検索 |
|
チェックアウト |
日付 |
:check_out |
○ |
- |
例:2026-01-18 |
| S04 |
検索 |
|
人数・部屋数 |
ポップオーバー |
:adults, :children, :rooms |
○ |
- |
例:大人2・子供1・部屋1 |
| S05 | 検索 | | 検索 | ボタン | - | - | - | クリックで検索を実行 |
絞り込み条件
| No. |
分類1 |
分類2 |
項目名 |
種別 |
値 |
必須 |
最大文字数 |
備考 |
| F01 |
フィルタ |
|
価格範囲 |
スライダー |
:price_range |
- |
- |
1泊あたり/合計金額切替可能 |
| F02 |
フィルタ |
|
エリア詳細 |
チェックボックス |
:distance_filters[] |
- |
- |
中心部/周辺エリア/郊外 |
| F03 |
フィルタ |
|
キャンセルオプション |
ラジオ |
:cancellation_filter |
- |
- |
すべて/無料キャンセルのみ |
| F04 |
フィルタ |
|
星評価 |
チェックボックス |
:selected_stars[] |
- |
- |
3/4/5つ星 |
| F05 |
フィルタ |
|
施設タイプ |
チェックボックス |
:selected_types[] |
- |
- |
ホテル / アパートメント / アパートホテル / リゾート / ヴィラ / ゲストハウス / 旅館(複数選択可) |
| F06 |
フィルタ |
|
設備 |
チェックボックス |
:selected_amenities[] |
- |
- |
WiFi / Parking / Pool(複数選択可) |
| F07 |
フィルタ |
|
食事プラン |
ラジオ |
:meal_plan_filter |
- |
- |
指定なし/朝食付き/夕食付き/両方 |
| F08 |
フィルタ |
|
空き状況 |
ラジオ |
:availability_filter |
- |
- |
すべて/空室ありのみ |
| F09 |
フィルタ |
|
絞り込みクリア |
ボタン |
- |
- |
- |
すべての絞り込み条件をクリア |
一覧
| No. |
分類1 |
分類2 |
項目名 |
種別 |
値 |
必須 |
最大文字数 |
備考 |
| L01 |
一覧 |
|
施設名 |
テキスト |
accommodations.name |
- |
- |
例:ホテルさくら新宿 |
| L02 |
一覧 |
|
施設タイプ |
バッジ |
accommodations.type |
- |
- |
例:ホテル / アパート / リゾート |
| L03 |
一覧 |
|
星評価 |
アイコン |
accommodations.stars |
- |
- |
例:★★★(3) |
| L04 |
一覧 |
|
評価 |
テキスト |
accommodations.rating |
- |
- |
例:4.6 |
| L05 |
一覧 |
|
レビュー数 |
テキスト |
accommodations.review_count |
- |
- |
例:128件 |
| L06 |
一覧 |
|
所在地 |
テキスト |
accommodations.location |
- |
- |
例:東京都新宿区西新宿1-2-3 |
| L07 |
一覧 |
|
距離 |
テキスト |
accommodations.distance |
- |
- |
例:新宿駅から1.2km |
| L08 |
一覧 |
|
1泊あたり価格 |
テキスト |
accommodations.price |
- |
- |
例:¥12,800/泊 |
| L09 |
一覧 |
|
合計金額 |
テキスト |
accommodations.price * nights |
- |
- |
例:¥25,600(2泊) |
| L10 |
一覧 |
|
キャッシュバック |
テキスト |
calculated_cashback |
- |
- |
例:¥500 |
| L11 |
一覧 |
|
キャンセルポリシー |
バッジ |
accommodations.cancellation_policy |
- |
- |
例:前日まで無料キャンセル |
| L12 |
一覧 |
|
お気に入りボタン |
ボタン |
- |
- |
- |
例:♡/♥(クリックで登録・解除) |
| L13 |
一覧 |
|
詳細ボタン |
ボタン |
- |
- |
- |
例:「詳細」クリックで /accommodations/:id に遷移 |
2.2 ボタン・アクション
| No. |
ボタン名 |
処理概要 |
| S05 |
検索 |
検索条件で宿泊施設を検索(SQL.1) |
| F09 |
絞り込みクリア |
すべての絞り込み条件をクリア |
| L12 |
お気に入り追加 |
お気に入りに追加/削除(トランザクション.1) |
| L13 |
詳細を見る |
/accommodations/:id に遷移 |
| - |
並び替え |
おすすめ順/価格順/評価順/キャッシュバック順 |
3. バリデーション
| 項目 |
必須 |
チェック内容 |
| 目的地 |
◯ |
1文字以上100文字以内 |
| チェックイン |
◯ |
日付形式、今日以降であること |
| チェックアウト |
◯ |
日付形式、チェックインより後であること |
| 人数 |
◯ |
1名以上であること |
4. 使用API
本画面で利用するAPI(処理フローをAPI呼び出し観点で整理)
| Name |
endpoint |
Description |
| Search accommodations (list) |
GET /api/accommodations |
宿泊施設を検索(検索ボタン / 絞り込み変更 / 並び替え / ページング)。 |
| Add to favorites |
POST /api/accommodations/{id}/favorite |
お気に入り登録(ハートON)。 |
| Remove from favorites |
DELETE /api/accommodations/{id}/favorite |
お気に入り解除(ハートOFF)。 |
| List favorites |
GET /api/accommodations/favorites |
お気に入り一覧取得(お気に入り画面/タブがある場合)。 |