画面カタログ Screen catalog

オーナーポータルに存在する全画面の一覧です。URL・目的・主要操作・呼び出す API を記載しています。

A complete inventory of every screen in the owner portal — with URL, purpose, key actions, and the API endpoints each page calls.

画面マップ Screen map

flowchart LR
  Login([/login]) -->Dash([/ Dashboard])
  PwReset([/password-reset]) -->Login
  PwConfirm([/password-reset/confirm]) -->Login
  PwSetup([/password-setup]) -->Login

  Dash -->Parking[/parking]
  Parking -->ParkingNew[/parking/new]
  Parking -->ParkingDetail[/parking/:id]
  ParkingDetail -->|tab=spots| ParkingDetail
  ParkingDetail -->|tab=pricing| ParkingDetail
  Dash -->Search[/authority-search]
  Search -->AppNew[/authority-requests/new]
  Dash -->Apps[/authority-requests]
  Dash -->Reviews[/reviews]
  Dash -->Boosts[/boosts]
  Dash -->Credits[/credits]

パブリック画面(認証前) Public screens (pre-auth)

URL 画面名Screen 目的・主要操作Purpose & key actions
/login ログインLogin メール + パスワードで Supabase Auth 認証。未認証時のリダイレクト先。Email + password auth via Supabase. Default redirect for unauthenticated users.
/password-reset PW リセット申請PW reset request メールアドレスを入力してリセットリンクを送信。Submit email to receive a password reset link.
/password-reset/confirm PW リセット確定PW reset confirm メールリンクからアクセス。新パスワードを設定。Accessed from email link. Set the new password.
/password-setup パスワード設定リンクPassword setup link LP からの申込承認時、または管理者発行リセット時にメール送付された使い捨てトークン(72 時間有効)からアクセス。新しいパスワードを設定してオーナーとして初回ログインまたは復帰。新規オーナー発行とリセットの唯一の経路。Accessed from a one-time 72h-valid token email — issued on LP-application approval or on admin-initiated reset. Set a new password to complete first login or recover access. The single canonical path for new owner provisioning and recovery.

保護画面(認証後) Protected screens (post-auth)

URL 画面名Screen 目的・主要操作Purpose & key actions 主な APIKey APIs
/ ダッシュボードDashboard オーナーのサマリー情報。自分の駐車場件数・クレジット残高・未返信レビュー件数・申請件数を useQueries で並列取得して表示。Owner summary cards: lot count, credit balance, unreplied reviews, application count — fetched in parallel via useQueries. GET /v1/owner/parking-lots/mine
GET /v1/owner/credits/balance
GET /v1/owner/reviews/mine
GET /v1/owner/authority-requests/mine
/parking 自分の駐車場一覧My parking lots 自分に紐づく駐車場のリスト。ステータス・住所・スポット数を確認。status CSV フィルタ対応。List of lots linked to the owner. View status, address, and spot count. Supports a comma-separated status filter. GET /v1/owner/parking-lots/mine
/parking/new 駐車場の新規登録(ウィザード)Register parking lot (wizard) 8 セクション(基本情報 / 位置 / 車両制限 / 営業時間 / 料金 / タグ / 写真 / 区画)のステッパーで子テーブルまで atomic に登録。詳細は 駐車場の登録・編集ガイド8-section stepper (Basic / Location / Physical / Hours / Pricing / Tags / Images / Spots) that submits the lot and its child tables atomically. See registration guide. POST /v1/owner/parking-lots/mine (bundle)
POST /v1/storage/upload-url
/parking/:id 駐車場詳細(9 タブ)Lot detail (9 tabs) タブ構成: 基本情報 / 位置・形状 / 物理制限 / 営業時間 / 料金 / 駐車区画 / 写真 / 支払方法・タグ / 公開設定。?tab=… でディープリンク可。各タブが独立して PATCH を投げる Tab-Save 方式。Tabs: Basic / Location / Constraints / Hours / Pricing / Spots / Images / Payment & Tags / Publication. Deep-linkable via ?tab=…. Each tab PATCHes independently. GET/PATCH /v1/owner/parking-lots/mine/{lotId}
… /hours · … /date-overrides · … /pricing-groups · … /images · … /tags · … /area
POST /v1/storage/upload-url
/parking/:id?tab=spots 駐車区画タブSpots tab 区画の追加・編集・soft delete。旧 URL /parking/:lotId/spots はこのタブへリダイレクト。Add / edit / soft-delete spots. The legacy /parking/:lotId/spots URL redirects here. GET /v1/owner/parking-spots?lot_id=…
POST/PATCH/DELETE /v1/owner/parking-spots[/{id}]
/authority-search 駐車場検索(管理権限申請の入口)Lot search (authority request entry) 既存駐車場の管理権限を申請する前に、名称・住所で対象を検索。has_owner フラグで他オーナーが既に登録済みかを判定。Search existing lots by name or address before requesting management authority. The has_owner flag indicates if another owner is already linked. GET /v1/owner/parking-lots/search
/authority-requests 管理権限申請の一覧My authority requests 提出済み申請のステータス確認(new / in_progress / approved / rejected)と却下理由表示。Status of submitted requests (new / in_progress / approved / rejected) and reject reasons. GET /v1/owner/authority-requests/mine
/authority-requests/new 管理権限申請フォームAuthority request form 既存駐車場のオーナー権限を要求する申請を提出。証明書類(proof_asset_id)の R2 アップロードが必須。Submit a request claiming owner authority over an existing lot. Requires uploading proof documents (proof_asset_id) to R2. POST /v1/owner/authority-requests
POST /v1/storage/upload-url
/reviews レビュー返信Review replies ユーザーから届いたレビュー一覧。1 レビュー = 1 返信モデル(同一エンドポイントへ POST で上書き、owner_reply: null で削除)。reply_state=unreplied 等のフィルタ付き。List of user reviews. One reply per review (POST overwrites; owner_reply: null deletes). Supports reply_state=unreplied filter. GET /v1/owner/reviews/mine
POST /v1/owner/reviews/{reviewId}/reply
/boosts ブーストBoosts 駐車場の掲載優先度を上げるブーストの作成・編集・停止と統計表示。クレジットを消費(実消費はインプレッション発生時に webhook 側で記録)。Create, edit, pause boosts and view stats. Credits are consumed per impression (recorded asynchronously, not at boost-creation time). GET /v1/owner/boosts (?include=stats)
POST /v1/owner/boosts
PATCH /v1/owner/boosts/{id}
GET /v1/owner/boosts/{id}/stats
/credits クレジットCredits クレジット残高と取引履歴(purchase / consumption / refund / adjustment / gift)の確認。「クレジットを購入」で Stripe Checkout セッションを発行し、新規タブで決済 → webhook 経由で残高反映。Credit balance and transaction history (purchase / consumption / refund / adjustment / gift). The "Buy credits" button issues a Stripe Checkout session in a new tab; the balance updates via webhook. GET /v1/owner/credits/balance
GET /v1/owner/credits/transactions
POST /v1/owner/credits/checkout-session