Skip to content

店舗作成・プロフィール設定

概要

事業者がプラットフォームに店舗を登録する。一般ユーザーは申請フォームから申し込み、管理者の承認を経て店舗が作成される。管理者は管理者画面から直接作成することもできる。

ユーザーストーリー

  • 利用者として、店舗事業者になるために申請フォームから申し込みたい
  • 管理者として、申請を審査・承認して店舗を作成したい
  • 管理者として、管理者画面から直接店舗を作成したい

申請フロー(一般ユーザー)

1. ログイン済みユーザーがダッシュボードから「事業者として申請」を選択
2. 申請フォームに組織情報を入力して送信
3. 申請中(pending)ステータスになる
4. 管理者が申請を確認し、申請者と連絡を取る
5. 承認 → 組織が作成され、申請者が org:owner になる
         → users.userType が 'venue_user' に更新される
   却下 → 申請が rejected になり、申請者に通知

ビジネスルール

  • 申請は userType = 'user' のログイン済みユーザーが行える
  • 申請中(pending)は1件まで(重複申請不可)
  • 承認は userType = 'system_user' の管理者のみ行える
  • 管理者は申請を経由せず管理者画面から直接組織を作成できる
  • 店舗の slug はユニークで URL に使用される(例: /bars/my-bar
  • slug は変更不可(TBD: 変更可能にするか)
  • 公開設定があり、非公開の間は一般ユーザーから見えない(TBD)

申請フォームの入力項目

項目必須制約
店舗名最大 50 文字
slug(URL)英数字・ハイフンのみ / 最大 50 文字 / 変更不可
説明任意最大 1,000 文字
住所最大 200 文字

将来の拡張項目(フェーズ2以降)

項目制約
アイコン画像jpg / png / webp / 最大 3MB
カバー画像jpg / png / webp / 最大 5MB
イメージカラープリセットパレットから選択(HEX で保存)
最寄り駅・アクセス最大 200 文字
電話番号電話番号形式
Web サイト URLURL 形式
SNS リンク(X / Instagram 等)URL 形式 / 各 1 件
営業時間曜日ごとに開始・終了時刻
定休日曜日で設定

イメージカラーの仕様(フェーズ2)

  • フェーズ1: プリセットパレットから選択
  • フェーズ2: カスタム HEX 入力も可能(スキーマ変更なし)
  • 文字色は背景色から WCAG コントラスト比で自動判定(白 or 黒)
  • 詳細: docs/architecture/decisions.md #9

関連

  • docs/architecture/decisions.md #11(ユーザー種別とロール設計)
  • docs/architecture/decisions.md #14(事業者申請フロー)
  • packages/db/src/schema.ts — companies / organizations / organization_members / operator_applications / fc_relationships テーブル

TBD

  • slug は後から変更できるか
  • 複数店舗の申請(Premium 機能との兼ね合い)
  • 申請却下後の再申請ルール