画面カタログ (全32画面 = 基本25 + サブ7) Screen catalog (32 screens = 25 base + 7 sub)

モバイルアプリに存在する全画面の一覧です。分類・目的・主要UI・ユーザー操作・ 呼び出される API を記載しています。太字エントリには詳細カードを下部に添付しています。 画面設計の一次情報源は Figma です(Parky | Mobile app を開く ↗)。 本書は仕様+実装観点の補完ドキュメントです。

A complete inventory of every screen in the mobile app — with category, purpose, key UI elements, user actions, and the APIs each screen calls. Selected screens have detailed cards underneath. Figma is the source of truth for visual design (open "Parky | Mobile app" ↗). This document complements it from a spec and implementation perspective.

画面あたり View 1 回 + Action で操作: One View per screen, Actions for mutations: 各画面は GET /v1/mobile/views/home-feed など views 系を 1 回叩いて ViewEnvelopedata + ui_config + navigation + validation + states + fallback_behavior + meta)を受け取り、 ボタン操作は POST /v1/mobile/actions/sessions/start など actions 系(ActionEnvelope)で行います。 画面 × API の全網羅は 画面 × API マップを参照。 Each screen fires one views call (e.g. GET /v1/mobile/views/home-feed) to receive a ViewEnvelope (data + ui_config + navigation + validation + states + fallback_behavior + meta); user operations go through actions (e.g. POST /v1/mobile/actions/sessions/start, ActionEnvelope). See the Screen × API map for the full matrix.

画面マップ Screen map

flowchart LR
  Splash([スプラッシュ]) --> Onb([オンボーディング])
  Splash --> Auth([認証])
  Onb --> Auth
  Auth --> Home([ホーム/Map])
  Home --> AISearch([AI検索])
  AISearch --> Result([検索結果])
  Home --> Filter([検索絞り込み])
  Home --> Result
  Home --> Detail([駐車場詳細])
  Result --> Detail
  Home --> PresetPicker([プリセット選択])
  PresetPicker --> PresetManage([プリセット管理])
  Detail --> ParkStart([駐車開始])
  ParkStart --> ParkMgr([駐車管理])
  ParkMgr --> ParkDetail([駐車詳細])
  ParkDetail --> ParkEnd([駐車終了])
  ParkEnd --> Review([レビュー投稿])
  ParkEnd --> History([駐車履歴詳細])
  Home --> Saved([Saved])
  Home --> Notif([通知一覧])
  Home --> Profile([プロフィール])
  Profile --> EditProfile([プロフィール編集])
  Profile --> Settings([設定])
  Settings --> ChangePw([パスワード変更])
  Settings --> Privacy([プライバシー設定])
  Profile --> Premium([プレミアム])
  Profile --> Support([サポート])
  Profile --> Policy([ポリシー/規約])
  Profile --> SearchHist([検索履歴])
  Home --> Media([メディア一覧])
  Media --> MediaDetail([メディア詳細])
  Home --> Register([駐車場登録])
  Auth --> Perm([権限リクエスト])
  Home --> Err([エラー])

全画面一覧表 Full screen list

# 画面名Screen 分類Category 種別Type 目的Purpose 主要APIKey APIs
01 スプラッシュ画面Splash screen 認証/初期化Auth/init 全画面Full screen 初期化・ログイン状態判定・必須マスター取得Bootstrap, session check, essential master data GET /v1/mobile/views/boot, Supabase Auth getSession()
02 オンボーディング画面Onboarding 認証Auth 全画面Full screen 初回利用者への価値訴求(3〜5枚のスライド)Value pitch for first-time users (3–5 slides)
03 認証画面Auth screen 認証Auth 全画面Full screen サインイン / サインアップ / OTP / PW再設定Sign-in / sign-up / OTP / password reset GET /v1/mobile/views/auth-config, POST /v1/mobile/actions/auth/request-otp / POST /v1/mobile/actions/auth/verify-otp / POST /v1/mobile/actions/auth/sign-up / POST /v1/mobile/actions/auth/sign-out, Supabase Auth SDK(JWT 取得)
04 ホーム(Map)画面Home (Map) 検索Search 全画面Full screen 地図上で駐車場を検索・閲覧、アプリのエントリーポイントMap-based parking search and the app's main entry point GET /v1/mobile/views/home-feed, GET /v1/mobile/views/search-results, Mapbox
05 検索絞り込み設定画面Search filter settings 検索Search モーダルModal フィルタ・検索条件の詳細設定Detailed filter and search-criteria settings —(ローカル状態のみ)— (local state only)
06 検索結果一覧画面Search results list 検索Search タブ/ボトムシートTab / bottom sheet 検索結果をリスト形式で表示Search results rendered as a list GET /v1/mobile/views/search-results
06a AI検索画面AI search 検索Search 全画面Full screen 自然言語で検索条件を入力 → LLM が構造化クエリに変換 → 検索実行。プリセット保存もここから。Enter search conditions in natural language; an LLM converts them to a structured query and runs the search. Users can also save presets from here. GET /v1/mobile/views/ai-search, POST /v1/mobile/actions/ai-search/query
06b 検索プリセット選択シートSearch preset picker sheet 検索Search ボトムシートBottom sheet 保存済み検索条件を素早く呼び出すピッカー。デフォルト表示あり。Quick picker for saved search conditions, with a default option. GET /v1/mobile/views/search-presets
06c 検索プリセット管理画面Search preset management 検索Search 全画面Full screen 検索条件プリセットの作成・編集・削除・デフォルト切替。16項目の構造化フォーム(user_search_presets テーブルに対応)。Create, edit, delete, and toggle default on search-condition presets. A 16-field structured form (matches user_search_presets). GET /v1/mobile/views/search-presets, POST /v1/mobile/actions/search-presets(create / :id/update / :id/delete / :id/set-default)
07 駐車場詳細画面Parking lot detail 検索Search 全画面Full screen 駐車場の詳細・料金・レビューをタブで表示Lot details, pricing, and reviews shown via tabs GET /v1/mobile/views/lot-detail/{id}, POST /v1/mobile/actions/lots/{id}/toggle-save, POST /v1/mobile/actions/lots/{id}/report-incorrect
08 駐車開始画面Start parking 駐車Parking モーダルModal 駐車開始前の確認・条件設定Pre-parking confirmation and options POST /v1/mobile/actions/sessions/start
09 駐車管理画面Parking management 駐車Parking 全画面Full screen 駐車中・過去の駐車履歴を一覧Current and past parking sessions GET /v1/mobile/views/parking-sessions
10 駐車詳細画面Parking detail 駐車Parking 全画面Full screen 駐車中の詳細情報(経過時間・料金・グラフ)Live session details (elapsed time, fare, graph) GET /v1/mobile/views/parking-session/{id}(料金計算・アラート・セッション状態を集約)
11 駐車終了フロー画面End parking flow 駐車Parking 全画面Full screen 終了確認〜Good/Bad 評価〜レビュー導線Confirm → Good/Bad rating → review entry POST /v1/mobile/actions/sessions/{id}/finalize, POST /v1/mobile/actions/sessions/{id}/cancel
12 レビュー投稿画面Post review レビューReview モーダルModal 評価・コメント・写真投稿Star rating, comment, and photo upload GET /v1/mobile/views/review-compose/{lot_id}, POST /v1/mobile/actions/reviews/create(R2 upload は BFF 発行 presigned URL 経由)
13 駐車履歴詳細画面Parking history detail 駐車Parking 全画面Full screen 過去履歴の確認・メモ編集Review past sessions and edit memo GET /v1/mobile/views/parking-history
14 メディア一覧画面Media list メディアMedia 全画面Full screen 記事コンテンツ一覧Article content list GET /v1/mobile/views/media-list
15 メディア詳細画面Media detail メディアMedia 全画面Full screen 記事詳細表示(WebView or ネイティブ)Article detail view (WebView or native) GET /v1/mobile/views/article-detail/{slug}
16 Saved(お気に入り)画面Saved (favorites) 保存Saved 全画面Full screen 保存した駐車場一覧List of saved parking lots GET /v1/mobile/views/saved, POST /v1/mobile/actions/saved/{lot_id}/remove
17 通知一覧画面Notifications list 通知Notifications 全画面Full screen アプリ内通知を時系列で表示In-app notifications in chronological order GET /v1/mobile/views/notifications, POST /v1/mobile/actions/notifications/mark-read
18 プロフィール画面Profile 設定Settings 全画面(タブ4)Full screen (tab 4) プロフィール表示、ゲーミフィケーション、各サブ画面(編集・設定・プレミアム等)への導線Profile overview, gamification, and navigation to sub-screens (edit, settings, premium, etc.) GET /v1/mobile/views/profile, GET /v1/mobile/views/profile/gamification, GET /v1/mobile/views/profile/referrals
18a プロフィール編集画面Edit profile 設定Settings 全画面Full screen 表示名・アバター・自己紹介の編集。R2 へのアバターアップロード付き。Edit display name, avatar, and bio. Avatar upload goes to R2. GET /v1/mobile/views/profile, PATCH /v1/mobile/actions/profile/update, POST /v1/mobile/actions/profile/avatar-upload
18b 設定画面Settings 設定Settings 全画面Full screen 言語・単位・通知・地図スタイル等のアプリ設定。パスワード変更・プライバシー設定への導線。App settings (language, units, notifications, map style). Also links to change-password and privacy screens. GET /v1/mobile/views/profile/settings, GET /v1/mobile/views/notifications/preferences, PATCH /v1/mobile/actions/notifications/preferences/update
18c パスワード変更画面Change password 設定Settings 全画面Full screen 現パスワード確認 → 新パスワード更新Verify current password → set new password Supabase Auth SDK updateUser({ password })(JWT 管理系のため SDK 直接)
18d プライバシー設定画面Privacy settings 設定Settings 全画面Full screen 位置情報共有・履歴公開・分析トラッキングの ON/OFF。Toggle location sharing, history visibility, and analytics tracking. GET /v1/mobile/views/profile/settings, PATCH /v1/mobile/actions/profile/update
19 駐車場登録画面Parking lot registration 投稿Submission 全画面Full screen 新規駐車場の登録申請Apply to register a new parking lot GET /v1/mobile/views/lot-registration, POST /v1/mobile/actions/lot-registration/submit
20 プレミアムプラン画面Premium plan 課金Billing 全画面Full screen プラン登録・契約状況・解約Subscribe, view status, cancel GET /v1/mobile/views/premium, POST /v1/mobile/actions/premium/verify-iap, POST /v1/mobile/actions/premium/cancel, POST /v1/mobile/actions/premium/apply-coupon
21 サポート画面Support サポートSupport 全画面Full screen 問い合わせ作成・履歴・チャットCreate inquiry, history, chat GET /v1/mobile/views/support, POST /v1/mobile/actions/support/submit-ticket
22 ポリシー / 規約画面Policy / terms その他Other 全画面Full screen 利用規約・プライバシーポリシーTerms of use and privacy policy GET /v1/mobile/views/policies
23 検索履歴 / 保存条件画面Search history / saved conditions 検索Search 全画面Full screen 過去の検索履歴と保存した検索条件Past search history and saved conditions GET /v1/mobile/views/search-history, POST /v1/mobile/actions/search-history/clear
24 権限リクエスト画面Permission request システムSystem モーダルModal 位置情報・通知の権限を説明・要求Explain and request location / notification permissions GET /v1/mobile/views/permissions, POST /v1/mobile/actions/permissions/record(OS ダイアログは permission_handler)
25 エラー画面Error screen システムSystem 全画面Full screen 通信エラー・位置情報取得失敗・メンテナンス時Network error, geolocation failure, maintenance GET /v1/mobile/views/error-fallback, POST /v1/mobile/actions/error/report

代表的な画面の詳細 Detailed anatomy of key screens

04. ホーム(Map)画面 04. Home (Map)

目的Purpose

Parky の中心画面。地図上で駐車場をピン表示し、フィルタ・並び替え・AI 検索のエントリーポイントとなる。

The heart of Parky. Parking lots appear as pins on a map, and this screen is the entry point for filtering, sorting, and AI search.

主要UIKey UI

  • 上部:検索バー(目的地入力 / AI検索切替)
  • Top: search bar (destination input / AI search toggle)
  • 右上:現在地ボタン、表示オプション
  • Top-right: current-location button, display options
  • 中央:Mapbox 地図、駐車場ピン(通常 / ランキング 🥇🥈🥉 / 広告プロモ)
  • Center: Mapbox map with pins (normal / ranking 🥇🥈🥉 / promoted)
  • 下部:ボトムシート(検索結果リスト、並び替えチップ、フィルタチップ)
  • Bottom: bottom sheet (results list, sort chips, filter chips)
  • フローティング:駐車中のセッションがあれば「駐車中バブル」
  • Floating: active-session "parking bubble" when one exists
  • タブバー:ホーム / Saved / 通知 / プロフィール
  • Tab bar: Home / Saved / Notifications / Profile

主要操作Key operations

  • 地図パン/ズーム → デバウンス250ms後に再検索
  • Pan / zoom the map → re-query after a 250 ms debounce
  • ピンタップ → ボトムシートに詳細プレビュー
  • Tap a pin → preview appears in the bottom sheet
  • ピンダブルタップ or プレビュータップ → 駐車場詳細画面へ遷移
  • Double-tap a pin or tap the preview → navigate to the lot detail screen
  • 検索バータップ → 検索ボックス展開、入力中は候補表示
  • Tap the search bar → expand with live suggestions while typing
  • フィルタチップ → 検索絞り込み設定モーダル
  • Filter chip → open the search-filter settings modal

状態States

  • loading / success / empty(該当駐車場なし) / error
  • loading / success / empty (no matching lots) / error
  • GPS 未許可:許可ダイアログを1回表示後、拒否継続時は現在地ボタンを無効化
  • GPS not granted: show the permission dialog once; keep the current-location button disabled while denied

呼び出しAPICalled APIs

  • GET /v1/mobile/views/home-feed — 画面起動時 1 回。ピン・ボトムシート・アクティブセッション・広告を集約
  • GET /v1/mobile/views/home-feed — fired once on open; aggregates pins, bottom-sheet, active session, ads
  • GET /v1/mobile/views/search-results — 地図パン/ズーム後の 250 ms デバウンス再検索
  • GET /v1/mobile/views/search-results — debounced 250 ms after pan / zoom
  • Mapbox Geocoding(目的地入力時のみ、クライアント SDK)
  • Mapbox Geocoding (only when typing a destination; client SDK)
  • 広告・プロモピンの判定は BFF 側で home-feed / search-results に混ぜて返す
  • Promoted pins and ads are merged into home-feed / search-results on the BFF side
06a. AI検索画面 06a. AI search

目的Purpose

自然言語で「屋根付き・EV充電あり・1時間500円以下」などと入力すると、LLM が構造化クエリに変換して検索結果を返す画面。プリセット化して次回から1タップで呼び出せる。

Users type conditions in natural language (e.g. "covered, with EV charging, under JPY 500/hour"). An LLM translates the text into a structured query and returns results. The query can be saved as a preset for one-tap reuse.

主要UIKey UI

  • 大きな入力欄、音声入力ボタン、サジェスト例
  • Large text input, voice-input button, suggestion chips
  • 解釈結果(構造化クエリのプレビュー)
  • Interpretation preview (the parsed structured query)
  • 「この条件をプリセット保存」ボタン → 06c へ
  • "Save as preset" button → 06c
  • 検索結果リスト(06 と共通)
  • Results list (shared with 06)

呼び出しAPICalled APIs

  • GET /v1/mobile/views/ai-search — 画面起動時に suggestion / 直近クエリを取得
  • GET /v1/mobile/views/ai-search — pulls suggestions / recent queries on open
  • POST /v1/mobile/actions/ai-search/query — 自然言語を BFF が構造化クエリに変換 + 検索実行まで 1 call で完結
  • POST /v1/mobile/actions/ai-search/query — BFF converts NL to a structured query and runs the search in one call
  • POST /v1/mobile/actions/search-presets(プリセット保存時)
  • POST /v1/mobile/actions/search-presets (when saving a preset)
06c. 検索プリセット管理画面 06c. Search preset management

ユーザーが保存した駐車場検索条件プリセットの一覧・追加・編集・削除・デフォルト切替。16項目の構造化フォーム(user_search_presets テーブルに 1:1 対応、admin portal の Search Presets タブと同じスキーマ)。

List / add / edit / delete / toggle-default for a user's saved search presets. A 16-field structured form that maps 1:1 to the user_search_presets table (same schema used by the admin portal's Search Presets tab).

07. 駐車場詳細画面 07. Parking lot detail

目的Purpose

駐車場1件の情報を全て表示し、駐車開始・保存・レビュー投稿の導線を提供する。

Shows everything about a single parking lot and acts as the entry point for starting a session, saving, and posting a review.

タブ構成Tabs

  • 基本情報:名前、住所、座標、収容数、構造、営業時間、車両制限(高さ/幅/長さ/重量/最低地上高)、決済手段
  • Basics: name, address, coordinates, capacity, structure, hours, vehicle limits (height/width/length/weight/clearance), payment methods
  • 料金:時間帯/曜日別ユニット料金+最大料金。リアルタイム計算機付き(入出庫時刻を指定して想定料金を算出)
  • Pricing: time-of-day / day-of-week unit charges plus cap rules, with a live calculator (enter arrival/departure times for an estimate)
  • レビュー:星評価の分布、レビュー一覧(新着順/評価順)、写真ギャラリー
  • Reviews: star-rating distribution, reviews list (newest / top-rated), photo gallery
  • 画像:施設の外観・入口・内部写真をスワイプ表示
  • Images: swipeable photos of the exterior, entrance, and interior
  • タグ/属性:24h・屋根付き・EV・大型車対応等のタグ
  • Tags / attributes: tags such as 24h, covered, EV, large-vehicle friendly

主要操作Key operations

  • 「駐車開始」ボタン → 駐車開始モーダル
  • "Start parking" button → start-parking modal
  • ハートアイコン → Saved に追加/削除
  • Heart icon → add to / remove from Saved
  • 「誤情報を報告」 → 誤情報報告モーダル
  • "Report incorrect info" → error-report modal
  • 「レビューを書く」 → レビュー投稿画面
  • "Write a review" → post-review screen
  • 共有ボタン → Deep Link 共有
  • Share button → share via deep link

呼び出しAPICalled APIs

  • GET /v1/mobile/views/lot-detail/{id} — 基本情報・画像・タグ・料金ルール・レビュー・自分の保存状態を 1 本で集約
  • GET /v1/mobile/views/lot-detail/{id} — single aggregate of basics, images, tags, pricing rules, reviews, and current save state
  • POST /v1/mobile/actions/lots/{id}/toggle-save — ハートアイコンによる保存トグル
  • POST /v1/mobile/actions/lots/{id}/toggle-save — heart-icon toggle
  • POST /v1/mobile/actions/lots/{id}/report-incorrect — 誤情報報告
  • POST /v1/mobile/actions/lots/{id}/report-incorrect — report incorrect info
  • POST /v1/mobile/actions/sessions/start — 駐車開始(モーダル 08 の確定)
  • POST /v1/mobile/actions/sessions/start — start a session (confirmed from modal 08)
10. 駐車詳細画面(駐車中) 10. Parking detail (active session)

目的Purpose

駐車中の状態をリアルタイムに可視化。経過時間・累計料金・ルール適用内訳を表示し、アラート設定を行う。

Visualizes an active parking session in real time — elapsed time, running fare, rule-by-rule breakdown — and lets users configure alerts.

主要UIKey UI

  • 大きなタイマー(経過時間 / 予定時刻まで)
  • Large timer (elapsed time / time until planned end)
  • 累計料金(1分ごとに更新)
  • Running fare (updated every minute)
  • 料金推移グラフ(時間帯ごとのユニット料金を折れ線表示)
  • Fare-trend graph (line chart of per-period unit charges)
  • 料金ルール適用内訳リスト
  • List of which pricing rules were applied
  • アラート設定カード(料金閾値 / 予定時刻)
  • Alert-settings card (fare threshold / planned end time)
  • 「駐車終了」ボタン(確認ダイアログ付き)
  • "End parking" button (with a confirmation dialog)
  • メモ・写真編集
  • Edit memo and photos

更新戦略Update strategy

  • 料金・累計は GET /v1/mobile/views/parking-session/{id}data に含まれる料金ルールを元に、クライアントの純関数で 1 分ごと再計算(BFF 負荷を下げるためのローカル投影)
  • The running fare is reprojected client-side every minute from the pricing rules returned in GET /v1/mobile/views/parking-session/{id} (local projection to reduce BFF load)
  • 最終確定は必ず POST /v1/mobile/actions/sessions/{id}/finalize(Action が唯一の真値)
  • The final amount is always committed through POST /v1/mobile/actions/sessions/{id}/finalize (the Action is the source of truth)
  • Push 受信で復帰したら ViewEnvelope を再フェッチしてローカルを再同期(Realtime 直叩きはしない)
  • On return from a push, re-fetch the ViewEnvelope and re-sync local state (no direct Realtime subscription)
  • geofence / 位置サンプルは POST /v1/mobile/telemetry/events で fire-and-forget
  • Geofence events and location samples fire-and-forget via POST /v1/mobile/telemetry/events
11. 駐車終了フロー画面 11. End parking flow

遷移Transitions

  1. 「駐車終了」タップ → 確認ダイアログ
  2. Tap "End parking" → confirmation dialog
  3. 確定 → POST /v1/mobile/actions/sessions/{id}/finalize で最終金額確定、ActionEnvelope の navigation で Good/Bad 画面へ
  4. Confirm → POST /v1/mobile/actions/sessions/{id}/finalize locks the final amount; the ActionEnvelope navigation drives the transition to the Good/Bad screen
  5. Good/Bad 評価(finalize の request body に同梱 or フォローアップの action で送信)
  6. Good/Bad rating (sent in the finalize body or as a follow-up action)
  7. 駐車後メモ入力(任意)は同じ finalize のレスポンスに続く navigation に従う
  8. Optional post-parking memo follows the navigation returned by finalize
  9. 「レビューを書く」 → 画面 12(/v1/mobile/views/review-compose/{lot_id})、スキップ時は navigation で履歴詳細へ
  10. "Write a review" → screen 12 (/v1/mobile/views/review-compose/{lot_id}); skip honours the navigation back to history detail
18. プロフィール / 設定画面 18. Profile / settings

セクションSections

  • プロフィール:表示名、アバター、メール、車種(vehicle_type コード)、プレミアムステータス
  • Profile: display name, avatar, email, vehicle type (vehicle_type code), premium status
  • ゲーミフィケーション:現在レベル、総EXP、獲得バッジ、テーマ
  • Gamification: current level, total EXP, earned badges, themes
  • 通知設定:Push 種別ごとの ON/OFF、静音時間
  • Notification settings: per-push-type on/off, quiet hours
  • 一般設定:言語、単位、検索半径デフォルト、地図スタイル
  • General settings: language, units, default search radius, map style
  • データ:検索履歴、駐車履歴エクスポート(CSV / PDF、Premium 限定)
  • Data: search history, parking-history export (CSV / PDF, Premium-only)
  • アカウント:パスワード変更、メール変更、退会
  • Account: change password, change email, delete account
  • サポート:問い合わせ、FAQ、規約、プライバシーポリシー
  • Support: inquiries, FAQ, terms, privacy policy
  • アプリ情報:バージョン、ライセンス
  • App info: version, licenses
17. 通知一覧画面 17. Notifications list

構成Structure

  • タブ:全て / 未読 / システム / プロモーション
  • Tabs: All / Unread / System / Promotions
  • リスト:アイコン、タイトル、本文、日時、既読/未読バッジ
  • List: icon, title, body, timestamp, read/unread badge
  • タップ → 対応する画面へ遷移(駐車セッション / 駐車場詳細 / 記事等)
  • Tap → navigate to the matching screen (parking session / lot detail / article, etc.)
  • スワイプで既読化 / 削除
  • Swipe to mark as read / delete

データData

GET /v1/mobile/views/notifications(ViewEnvelope)で一覧・未読カウント・タブ区分を一括取得。更新は pull-to-refresh / push 復帰で再フェッチ(Realtime 直叩きはしない)。既読化は POST /v1/mobile/actions/notifications/mark-read

The GET /v1/mobile/views/notifications ViewEnvelope returns the list, unread counts, and tab grouping in one shot. Refresh happens via pull-to-refresh or on push resume (no direct Realtime subscription). Mark-as-read is POST /v1/mobile/actions/notifications/mark-read.

09. 駐車管理画面 09. Parking management

目的Purpose

駐車中のセッションと過去履歴を横断的に一覧する。

A unified list of the active session and past history.

構成Structure

  • 上部:駐車中カード(あれば)
  • Top: active-session card (if any)
  • リスト:過去セッション(日付降順、月グループ)
  • List: past sessions (newest first, grouped by month)
  • 各行:駐車場名、入出庫時刻、利用時間、合計金額、Good/Bad
  • Row: lot name, arrival/departure time, duration, total fare, Good/Bad
  • フィルタ:期間、駐車場、Good/Bad
  • Filters: period, lot, Good/Bad
  • 「エクスポート」ボタン(Premium)
  • "Export" button (Premium)
20. プレミアムプラン画面 20. Premium plan

構成Structure

  • ヒーロー:Premium で得られる価値訴求
  • Hero: value pitch for going Premium
  • プラン選択:月額 / 年額(年額に割引バッジ)
  • Plan picker: monthly / yearly (discount badge on yearly)
  • 機能比較表:Free vs Plus(AI検索使い放題、広告非表示、履歴エクスポート、優先サポート)
  • Feature comparison: Free vs Plus (unlimited AI search, ad-free, history export, priority support)
  • 現在の契約状況(契約中なら更新日・解約ボタン)
  • Current subscription status (renewal date and cancel button when subscribed)
  • 利用規約・特商法リンク
  • Links to the terms of use and the Specified Commercial Transactions Act disclosure
24. 権限リクエスト画面 24. Permission request

対象権限Target permissions

  • 位置情報:使用中(Always は駐車中 Live Activity で必須)
  • Location: while-in-use (Always is required for the Live Activity during a session)
  • 通知:Push 受信
  • Notifications: for receiving pushes
  • 写真/カメラ:レビュー・メモ写真投稿時に要求
  • Photos / camera: requested when attaching photos to reviews or memos
  • モーション:駐車自動検出(将来)
  • Motion: automatic parking detection (future)

挙動Behavior

  • 最初にアプリ内説明画面 → その上で OS ダイアログを要求(UX ベストプラクティス)
  • Show an in-app explainer first, then trigger the OS dialog (UX best practice)
  • 拒否時は設定アプリへの導線を表示
  • If denied, show a deep link to the system Settings app