SALON BOARD クローンアプリ開発基礎情報
SALON BOARD クローンアプリ開発基礎情報
Section titled “SALON BOARD クローンアプリ開発基礎情報”調査対象: https://salonboard.com/KLP/ (HOT PEPPER Beauty 連携のサロン業務SaaS) 調査日: 2026-04-20 調査方法: 書き込み操作なし、画面観察(DOM・ラベル・URL)のみ
1. サービス概要
Section titled “1. サービス概要”SALON BOARD は美容サロン向けの業務管理SaaSで、以下の業務領域をカバーする(公式機能一覧 https://salonboard.com/function/ と突合済み)。
- 予約管理: 予約・スケジュール管理(スタッフ/設備軸)、予定・シフト設定、予約データ出力
- 顧客管理: お客様情報管理、一括登録・変更・削除、お客様統合(重複マージ)
- メッセージ配信: 一斉配信・個別配信・自動配信
- サロンダイレクト: 自社ホームページにネット予約機能を設置するためのURL発行
- レジ機能: 会計処理、レジ締め、売上管理(日報・月報)、売上明細、入出金
- 集計・分析: 売上/メニュー別/スタッフ別集計、昨年対比、リピート・来店サイクル・優良顧客分析
- スマート支払い: 予約時クレカ登録→来店時オンライン決済(現地会計不要)
- HOT PEPPER Beauty 掲載管理: 掲載情報編集、スタッフ、フォトギャラリー、メニュー、こだわり、特集、クーポン、ブログ、口コミ返信
- 振込・請求: ポイント振込請求、スマート支払い振込、ネット予約利用料請求、来店処理修正
ビジネス上の位置づけ: HOT PEPPER Beauty(集客)とサロン側POS/予約台帳の橋渡し。ネット予約の自動取り込み、キャンセル規定の自動適用、ポイント・スマート支払いの精算まで一気通貫で担う。
2. 技術スタック観察(フロント側から推測)
Section titled “2. 技術スタック観察(フロント側から推測)”| 項目 | 観察結果 |
|---|---|
| サーバサイド | Java サーブレット / JSP(/KLP/WEB-INF/view/<module>/<page>/KPCL<number>V01.jsp という内部パス) |
| URL 構造 | /KLP/<機能>/<アクション>/ の Struts 系ルーティング |
| フロント | jQuery + 独自ユーティリティ $.shuhari(ajax、popup、globalNaviHover 等) |
| ポップアップ | 外部CDN cdn.p.recruit.co.jp から利用規約等を読み込み |
| ヘルプ | Zendesk (sbhd-kirei.salonboard.com) を iframe で表示 |
| 計測 | GTM + Marketo Munchkin + KARTE (krt) |
| KPIロギング | /KLP/kpiLogAjax/createKpiLog にモジュールID(KPCLxxx)を送信 |
| 状態データ | 画面にhidden input(token, storeId, date, CSRFトークンらしき32桁hex)を大量に埋め込む形 |
| 認証 | サーブレット+Cookieセッション(SSO系はなし) |
| 店舗/ユーザー識別 | storeId=H0xxxxxxxx / userid=CDxxxxx が画面に埋め込まれている |
クローン時のモダン化提案は後述(§10)。
3. グローバルナビゲーション(全体マップ)
Section titled “3. グローバルナビゲーション(全体マップ)”トップ下のグローバルメニュー9個が主要モジュール。
| メニュー | ルート | 役割 |
|---|---|---|
| 予約管理 | /KLP/schedule/salonSchedule/ | スケジュール・予約台帳 |
| 掲載管理 | /CNK/reflect/reflectTop/ | HPB掲載内容管理(サロン/スタッフ/フォト/メニュー/こだわり/特集/クーポン/ブログ/口コミ) |
| お客様管理 | /KLP/customer/customerSearch/ | 顧客台帳・カルテ・一括操作 |
| メッセージ管理 | /KLP/clmessage/clientMessageTop/ | 配信(個別/一斉/自動)、履歴 |
| 売上管理 | /KLP/sales/salesTop/ | レジ、日報、レジ締め、入出金 |
| 集計・分析 | /KLP/analysis/ | 売上集計、リピート分析、優良顧客 |
| サロンダイレクト | /KLP/salonDirect/salonDirectTop/ | 自社HP用ネット予約URL発行、ダイレクトメンバーズ、クーポン |
| 振込・請求 | /KLP/adjust/pointResult/ | ポイント/スマート支払い/利用料 |
| 設定 | /KLP/set/salonSetup/ | 営業時間・メニュー・スタッフ・設備ほか |
ヘッダー右側には「メールアドレス変更 / パスワード変更 / 基本情報 / ログアウト」のアカウント系。
4. 画面インベントリ(主要画面のみ、拡張は §11 参照)
Section titled “4. 画面インベントリ(主要画面のみ、拡張は §11 参照)”4.1 予約管理
Section titled “4.1 予約管理”| 画面 | URL |
|---|---|
| スケジュール | /KLP/schedule/salonSchedule/?date=YYYYMMDD |
| 予約一覧 | /KLP/reserve/reserveList/init |
| 新着予約一覧 | /KLP/reserve/reserveList/searchNewAarrival |
| 毎月の受付設定 | /KLP/set/monthlySetup/ |
| 一括停止・再開 | /KLP/reserve/net/reserveSuspend/ |
| シフト設定 | /KLP/set/shiftSetup/?date=YYYYMM |
4.2 お客様管理
Section titled “4.2 お客様管理”| 画面 | URL |
|---|---|
| お客様一覧 | /KLP/customer/customerSearch/ |
| お客様統合 | /KLP/customer/customerUniteSearch/ |
| 新規登録 | /KLP/customer/customerRegist/ |
| 一括登録 | /KLP/customer/customerBulkRegist/ |
| 一括変更 | /KLP/customer/customerBulkUpdate/ |
| 一括削除 | /KLP/customer/customerBulkDelete/ |
4.3 メッセージ管理
Section titled “4.3 メッセージ管理”配下: メッセージ管理TOP / メッセージ作成 / 自動設定一覧 / 配信予約一覧 / 配信履歴一覧。2週間分の配信人数ヒートマップと最近の配信履歴がダッシュボード化されている。
4.4 売上管理
Section titled “4.4 売上管理”配下: 売上管理TOP / 売上報告 / 売上明細 / レジ締め / レジ締め一覧 / 入出金。
ダッシュボードの数値項目:
- 売上分類: 施術 / 店販 / オプション / 割引 → 純売上
- 予約経路別の客数比率: ネット予約 / 電話予約 / 直接来店 / その他
- 2週間の日別売上状況(金額+来客人数)
- 期間キャンセル件数(HPB経由の客都合/サロン/無断)
4.5 集計・分析
Section titled “4.5 集計・分析”| 区分 | 画面 | URL |
|---|---|---|
| 集計 | 日別売上集計 | /KLP/analysis/dailySales/ |
| 集計 | 月別売上集計 | /KLP/analysis/monthlySales/ |
| 集計 | スタッフ別集計 | /KLP/analysis/salesByStaff/ |
| 集計 | メニュー月別集計 | /KLP/analysis/monthlyMenuSales/ |
| 集計 | 店販月別集計 | /KLP/analysis/monthlyGoodsSales/ |
| 分析 | 店舗分析 | /KLP/analysis/store/sales/ |
| 分析 | リピート分析 | /KLP/analysis/visitTrend/ |
| 分析 | 来店サイクル分析 | /KLP/analysis/visitCycle/ |
| 分析 | 優良顧客分析 | /KLP/analysis/customerDistribution/ |
| レポート | 基本情報 | /KLP/analysis/report/basicInfo/ |
| レポート | 推移 | /KLP/analysis/report/transition/ |
4.6 サロンダイレクト
Section titled “4.6 サロンダイレクト”サロンの自社ホームページに貼るための「ネット予約用URL」を発行する機能。HPB以外の自社集客動線からSALON BOARDの予約台帳に書き込みを集める。
配下:
- サロンダイレクトTOP(/KLP/salonDirect/salonDirectTop/)- 予約URL発行・基本設定
- クーポン表示設定 - ダイレクト予約画面で出すクーポンの選定
- ダイレクトメンバーズ(
/KLP/salonDirect/directMembers/)- 会員制度(登録済み顧客への再来店促進)
4.7 振込・請求
Section titled “4.7 振込・請求”配下: ポイント振込請求 / スマート支払い振込 (/KLP/onlinepay/transfer/onlinePayTransfer/) / 来店処理修正一覧 (/KLP/comingapply/comingApplyList/init) / ネット予約利用料請求 (/KLP/payg/paygResult/)。
4.8 設定
Section titled “4.8 設定”| サブ | 起点URL |
|---|---|
| 基本設定 | /KLP/set/salonSetup/ |
| メニュー | /CNK/set/menuSet/ |
| スタッフ | /CNK/set/staffSetup/ |
| 設備 | /CNK/set/equipList/ |
| 対応メニュー | /CNK/set/menuLink/ |
| 予約経路 | (サブ項目、IDベースで内部管理) |
| ID管理 | /CNK/mgr/clientIdList/ |
| レジ | 設定メニュー内 |
| スマート支払い | 設定メニュー内 |
| カルテ | 設定メニュー内 |
※ /CNK/... は掲載・設定の別コントローラ群、/KLP/... は予約・業務系、/CNC/... はアカウント系という分離が見える。
4.9 掲載管理 (HOT PEPPER Beauty 連携)
Section titled “4.9 掲載管理 (HOT PEPPER Beauty 連携)”HPB媒体に掲載する全コンテンツの編集UI。ドラフト→反映(媒体への公開)のワークフローが存在し、「掲載プラン」(ライトS等)と期間で掲載枠が管理される。
| サブ | 起点URL | 役割 |
|---|---|---|
| 掲載管理TOP | /CNK/reflect/reflectTop | 掲載プラン/反映状況のダッシュボード |
| サロン(掲載情報) | /CNK/draft/salonEdit | サロン概要、住所、営業時間、コンセプト、アクセス |
| スタッフ(掲載情報) | /CNK/draft/staffList | スタッフ写真・肩書・コメント・経歴 |
| フォトギャラリー | /CNK/draft/photoGalleryEdit | ヘア/ネイル/内観などのギャラリー画像 |
| メニュー(掲載) | /CNK/draft/menuEdit | HPB上の掲載メニュー(料金表現・説明文) |
| こだわり | /CNK/draft/kodawariList | 「個室あり」「駐車場」などのタグ属性 |
| 特集 | /CNK/draft/specialList | HPBの特集(季節・ターゲット)への出稿 |
| クーポン | /CNK/draft/couponList | HPB/ダイレクト両対応のクーポン管理 |
| ブログ | /KLP/blog/blogList | HPB掲載ブログの投稿・編集 |
| 口コミ | /KLP/review/reviewList | 予約客からの口コミの閲覧・返信 |
掲載管理のプラン概念: P2604_002345 のような Pyymm_連番 形式の識別子で月次の掲載枠(プラン名+期間)が切り替わる。ダッシュボードには「サロン掲載情報 / スタッフ掲載情報」のプレビューと「掲載中のページを見る」導線。
レポート系:
- サロンレポート ダウンロード
- HOT PEPPER Beauty レポート(アクセス数・予約数)
4.10 予約データ出力 (CSV)
Section titled “4.10 予約データ出力 (CSV)”予約一覧画面にはCSV出力機能があり、合言葉(CSV暗号化パスワード) を都度要求する(予約一覧画面の隠しダイアログで確認)。顧客の個人情報保護のための運用。クローン実装時はサーバ側での暗号化ZIPまたは期限付き署名URLで代替するのが筋。
5. 予約ドメインモデル(重要)
Section titled “5. 予約ドメインモデル(重要)”5.1 予約ステータス(予約一覧のフィルタより)
Section titled “5.1 予約ステータス(予約一覧のフィルタより)”| code | 日本語 | 意味(推定) |
|---|---|---|
| 1 | 仮予約確定待ち | 新規ネット予約 / 確認前 |
| 2 | 受付待ち | 当日来店前 |
| 3 | 施術中 | チェックイン済み |
| 4 | 来店処理待ち | 施術完了・会計前 |
| 5 | (ラベル取得不能) | 会計関連の中間状態 |
| 6 | お断り | サロン側で拒否 |
| 7 | お客様キャンセル | 客都合 |
| 8 | サロンキャンセル | サロン都合 |
| 9 | 無断キャンセル | ノーショウ |
| 10 | 自動キャンセル | 期限切れ等 |
| 11 | 会計済み | クロージング完了 |
5.2 予約経路(予約の channel)
Section titled “5.2 予約経路(予約の channel)”| code | 名称 |
|---|---|
| K000000001 | 電話(自社) |
| K000000002 | 電話(HOT PEPPER Beauty) |
| K000000003 | HOT PEPPER Beauty |
| K000000004 | ポンパレ |
| K000000005 | 直接来店 |
5.3 キャンセル規定の構造
Section titled “5.3 キャンセル規定の構造”キャンセル規定は最大5段階、種別が % ベース or 円 ベースどちらかで全体統一:
- 無断キャンセル
- 当日キャンセル
- 来店N日前〜1日前のキャンセル
- 来店N日前〜M日前(任意)
- 来店N日前〜M日前(任意)
特記事項(任意文章、200文字)+請求上限は「予約時合計金額(税抜)」。スマート支払いなら自動請求、それ以外は手動。
5.4 スケジュールのリソース
Section titled “5.4 スケジュールのリソース”スケジュール画面はスタッフ + 設備の2次元グリッド(縦軸=リソース、横軸=時間)。
- リソース種別:
STAFF_Wxxx/EQUIPMENT_EQxxx - 時間粒度: 30分/15分/10分/5分(設定で切替、画面は30分ラベルに10分グリッドの合成)
- 営業時間: 0:00〜翌5:00 まで設定可(深夜営業対応)
- 受付可能数: 0〜99(同一時刻の並列予約数)
予約ブロックの属性(観察):
- 時間範囲(start, end)
- 顧客名(
XX 様) - カテゴリアイコン: フェイシャル / ボディ / ブライダル / その他(タグ表示)
- 「予定あり」という非顧客予定ブロックも存在
6. 顧客ドメインモデル
Section titled “6. 顧客ドメインモデル”顧客検索フィルタから推定できる属性:
- 氏名(漢字/カナ)
- 誕生日(年月日)
- 年代(10〜100代、プルダウン)
- 性別(F/M)
- 電話番号
- 職業(フリーター/学生/会社員/主婦/自営業/その他)
- はがき送付許諾(1=OK, 0=NG)
- 要注意フラグ
- お客様番号(内部ID)
- 指名スタッフ
- ダイレクト会員フラグ(登録/未登録)
- 前回来店日
- 来店回数
一括操作: 登録 / 変更 / 削除 / 統合(重複顧客のマージ)。
カルテ機能には「手描きスケッチ」モジュールがあり(4月新機能)、施術履歴+手書き情報を扱う。
7. メッセージ配信ドメイン
Section titled “7. メッセージ配信ドメイン”- 種類: 個別配信 / 一斉配信 / 自動配信
- 自動配信は「設定中のメッセージ」を別画面で管理(例: 予約御礼メール)
- 配信予約: 将来日時スケジューリング(停止可能)
- ネット予約限定クーポンをメッセージに添付可能
- 2週間日別配信人数のヒートマップ
- 配信履歴のカラム: 配信日 / タイトル / スタッフ / クーポン / 配信人数 / 自動or手動
8. レジ・会計ドメイン
Section titled “8. レジ・会計ドメイン”- 会計ステータス: 施術中 → 来店処理待ち → 会計済み
- 売上分解: 施術・店販・オプション・割引 → 純売上
- レジ締め: 日次で確定、日報/週報/月報として出力
- 入出金: レジ現金の調整
- 決済種別: 現地支払い / スマート支払い(HPB経由の事前決済)
8.1 スマート支払いドメイン
Section titled “8.1 スマート支払いドメイン”公式機能一覧で独立機能として明示されているため、クローンでも独立コンテキストとして設計する。
- 予約時にカスタマーがHPB側でクレカを登録(オーソリ)
- 来店・施術完了時にサロンが金額確定してキャプチャ
- 現地会計不要(レジは「確認のみ」)
- キャンセル時は設定済みキャンセル規定に従い自動請求(無断/当日/N日前〜)
- 税抜合計が上限
- 振込サイクル: 精算締めで翌月以降にサロン口座へ振込(
/KLP/onlinepay/transfer/onlinePayTransfer/)
連携すべき PSP 機能: authorize → capture → partial refund → cancel。リファンド/部分キャプチャが必須。
8.2 HPB媒体コンテンツ・ドメイン(掲載管理)
Section titled “8.2 HPB媒体コンテンツ・ドメイン(掲載管理)”HPB に露出する静的・準静的コンテンツ。サロン/メニュー/スタッフ/フォト/こだわり/特集/クーポンは ドラフト → 反映 の2段構成。掲載プラン(月次の枠)と対応。
ブログドメイン:
- 投稿: タイトル、本文(リッチテキスト)、カバー画像、カテゴリ、公開日時
- 公開ステータス: 下書き / 公開予約 / 公開中 / 非公開
- 閲覧数・いいね数などの集計
口コミドメイン:
- 口コミ: 客ID(HPB)、評価スター、本文、投稿日、予約との紐付け
- 返信: サロンからの公式返信(1件)
- モデレーション: 通報、規約違反対応は媒体運営側
9. 店舗設定ドメイン
Section titled “9. 店舗設定ドメイン”基本設定画面から抽出できる設定項目:
- 営業時間(曜日別+祝日)
- 定休日(曜日別+祝日別)
- 受付可能数(曜日別)
- SB予約粒度(5/10/15/30分)
- HPB予約粒度(10/15/30分、SB粒度との整合制約あり)
- ネット予約受付開始(1〜12週前)
- ネット予約受付締切
- 当日直前 / 30分前 / 1時間前 / 1.5時間前 / … / 3.5時間前
- 1〜2日前のN時まで
- 受付期間計算方法: 日数 / 営業日(休業日除外)
- 指名なし予約(受け付ける/受け付けない)
- キャンセル規定(前述)
- 予約画面でのお客様への確認項目(スタッフ男女指定/注意事項/任意質問)
- 予約通知メール(最大10件、認証状況・未達件数付き)
追加設定モジュール:
- メニュー(SB内メニューマスタ)
- スタッフ(スタッフマスタ、指名可否)
- 設備(ベッド等の設備マスタ)
- 対応メニュー(スタッフ×メニュー、設備×メニューの対応)
- 予約経路(プルダウンに現れる経路マスタ)
- ID管理(複数の操作者ID管理)
- レジ設定(税率、店販カテゴリ等)
- スマート支払い設定
- カルテ(項目カスタマイズ)
- シフト(月別シフト、
/KLP/set/shiftSetup/?date=YYYYMM)
10. クローン開発のための推奨アーキテクチャ
Section titled “10. クローン開発のための推奨アーキテクチャ”既存は Java/JSP+jQuery の古典的な構成。クローンを新規に作るならモダンスタック化するのが合理的。
提案スタック
Section titled “提案スタック”| レイヤ | 推奨 | 理由 |
|---|---|---|
| 言語/フレームワーク | TypeScript + Next.js (App Router) | 予約UIの複雑なインタラクション、SSRでのSEOと初期描画の両立 |
| スタイリング | Tailwind CSS + shadcn/ui | スケジュールグリッドなどカスタムUIに相性 |
| スケジュールUI | FullCalendar resource-timeline 版 or 自作 DnDグリッド (dnd-kit) | リソース×時間の2軸ビューが必須 |
| 状態管理 | TanStack Query (サーバ状態) + Zustand (UI状態) | 予約の楽観更新や新着ポーリングに必要 |
| バックエンド | NestJS or Node+Hono、将来ならGo+Echo | ドメインが大きいのでDI/モジュール分割が効くフレームワーク |
| DB | PostgreSQL + Prisma | 予約・顧客・会計・分析まで正規化、日次バッチで分析テーブル生成 |
| 認証 | Auth.js (資格情報 + MFA) / SAML対応オプション | 複数店舗・複数操作者ID |
| キュー/ジョブ | BullMQ (Redis) | メッセージ自動配信、スマート支払いの自動キャンセル料請求 |
| リアルタイム | WebSocket (Socket.IO) or SSE | 新着予約の即時通知(現状は画面ポーリング) |
| 分析 | ClickHouse or BigQuery + dbt | 集計画面の裏側。OLTPと分離 |
| 決済 | Stripe / 国内PSP(KOMOJU, GMO PG) | スマート支払い相当 |
| 通知 | SendGrid(メール)+ FCM/APNs(アプリPush) | 予約通知の10件メール機構の代替 |
マルチテナント設計
Section titled “マルチテナント設計”- テナント = 店舗(storeId 相当)
- ユーザー = 操作者(operatorId、店舗に多対多)
- 顧客 = 店舗スコープ(ただし統合UIあり、将来はチェーン跨ぎ統合も検討)
マイクロ分割のヒント
Section titled “マイクロ分割のヒント”- 予約コンテキスト(Schedule / Reservation / Walkin)
- 顧客コンテキスト(Customer / Chart / Merge)
- マーケティングコンテキスト(Message / Campaign / Coupon)
- 会計コンテキスト(Register / Sales / Closing)
- 精算コンテキスト(PointSettle / SmartPay / Commission)
- マスタ設定コンテキスト(Staff / Equipment / Menu / Shift / Hours)
11. 推定ERD(最小コア)
Section titled “11. 推定ERD(最小コア)”Store (tenant) id, name, hours, cancelPolicy, payGateway
Operator id, storeId, email, role
Customer id, storeId, nameKanji, nameKana, birthday, gender, tel, email, occupation, postMailOptIn, watchFlag, lastVisitAt, visitCount, directMemberFlag, memo
Staff id, storeId, name, gender, photoUrl, bookable
Equipment id, storeId, name, bookable
Menu id, storeId, name, category, durationMin, price, taxRate
MenuEligibility menuId, staffId / equipmentId (many-to-many)
Shift id, storeId, staffId, workDate, startAt, endAt, breaks[]
Reservation id, storeId, customerId, code(識別) channelCode(K00...), status(1-11), confirmed(0/1) visitDate, startAt, endAt, staffId, equipmentId, menus[](MenuSnapshot), totalAmount, paidAmount, cancelFee, cancelReason, cancelAt, note, createdFrom(HPB/phone/walkin), etc.
Visit (会計) id, reservationId, checkinAt, checkoutAt, lines[](service/goods/option/discount), paymentType(on-site/smartpay), gross, discount, tax, net
Register / Closing id, storeId, date, cashIn, cashOut, expectedCash, actualCash, diff
Message id, storeId, type(manual/auto), audience(individualIds or filter), couponId?, title, body, scheduledAt, sentAt, deliveredCount
AutoMessageRule id, storeId, trigger(event+offset), title, bodyTpl, couponId?
Coupon id, storeId, name, discount, conditions, scope(HPB/direct), publishRange(from,to), target(新規/再来/誰でも)
DirectMember id, storeId, customerId, plan, status
SalonListing (HPB掲載情報) id, storeId, planCode, planName, periodFrom, periodTo, draftJson, publishedJson, publishedAt
StaffListing id, storeId, staffId, listingId, photos[], catchCopy, profile, specialty, message
MenuListing id, storeId, menuId, listingId, publicName, priceDisplay, description
PhotoGallery id, storeId, category(hair/nail/interior/...), url, caption, displayOrder
KodawariTag id, name (マスタ、媒体横断)SalonKodawari storeId, tagId (紐付け)
Feature (特集) id, name, periodFrom, periodToSalonFeatureEntry storeId, featureId, status
BlogPost id, storeId, authorStaffId, title, bodyRich, coverImage, category, status(draft/scheduled/published/archived), scheduledAt, publishedAt, viewCount, likeCount
Review (口コミ) id, storeId, customerHpbId, reservationId?, rating, body, postedAt, reply?, repliedAt, repliedBy(staffId), moderationStatus
CsvExportAudit id, storeId, operatorId, target(reservation/customer/sales), passwordHash, createdAt, downloadedAt, expiresAt
PointLedger id, storeId, yearMonth, earned, redeemed, settleAmount, status
SmartPayTxn id, storeId, reservationId, authAmount, capturedAmount, refundAmount, cancelFeeAmount, provider, providerTxnId※ 日次バッチで ReservationDailyAgg / SalesDailyAgg / VisitCycleAgg 等の分析テーブルを構築(集計画面は秒で返したいため)。
12. クローン実装で優先すべき MVP スコープ
Section titled “12. クローン実装で優先すべき MVP スコープ”MVP は大きく3フェーズに割ると現実的:
Phase 1 – 予約管理コア(2〜3ヶ月)
Section titled “Phase 1 – 予約管理コア(2〜3ヶ月)”- スケジュール画面(スタッフ/設備の2軸、DnD作成)
- 予約一覧+フィルタ
- 顧客台帳(CRUD、検索、一括登録)
- 基本設定(営業時間、受付可能数、予約粒度、メニュー、スタッフ、設備)
Phase 2 – 接客導線(2ヶ月)
Section titled “Phase 2 – 接客導線(2ヶ月)”- レジ(会計、施術中ステータス、会計済み)
- メッセージ(個別/一斉のみ、自動化は Phase3)
- 予約通知メール
- キャンセル規定と手動請求
Phase 3 – マーケ・分析・連携(2〜3ヶ月)
Section titled “Phase 3 – マーケ・分析・連携(2〜3ヶ月)”- 自動メッセージ配信・クーポン
- 集計・分析ダッシュボード(日別/月別/スタッフ/メニュー、リピート・来店サイクル)
- 外部集客媒体連携(HPB相当、API or CSV)
- スマート支払い(決済)、ポイント振込
- サロンダイレクト(自社HP向けネット予約URL発行、埋め込みウィジェット)
Phase 4 – 媒体コンテンツ連携(2〜3ヶ月)※HPB相当の自社媒体を持つ場合
Section titled “Phase 4 – 媒体コンテンツ連携(2〜3ヶ月)※HPB相当の自社媒体を持つ場合”- 掲載管理(サロン・スタッフ・メニュー・フォトギャラリー)
- こだわりタグ/特集エントリ
- クーポン編集(掲載・ダイレクト両対応)
- ブログ機能(リッチテキスト、画像、予約投稿)
- 口コミ機能+返信(予約客のみ投稿可、1返信/1レビュー)
- サロンレポート/媒体側レポート
- 予約データCSV出力(合言葉による暗号化)
13. 法務・コンプラ観点(クローン前に必ず確認)
Section titled “13. 法務・コンプラ観点(クローン前に必ず確認)”- 競合サービスのデザイン・文言の模倣は著作権・不正競争防止法のリスクあり。UIは独自に再設計すること。
- HPBのような大手集客媒体との「連携」は公式APIがない限り不可能(スクレイピング型連携は規約違反の可能性大)。
- 顧客情報を扱うため個人情報保護法+プライバシーマーク級の運用を前提に(保管・最小化・削除)。
- クレカ決済を扱うなら PCI DSS 準拠の PSP(Stripe / GMO PG 等)経由に限定し、カード番号は自社DBに保存しない。
14. 次アクション(推奨)
Section titled “14. 次アクション(推奨)”- プロダクト仕様書(画面一覧 + 業務フロー)の清書(本書をベースに UX フロー図を足す)
- ドメインモデル合意(§11 ERD を確定、境界づけコンテキストをチームで議論)
- スケジュールUIの技術PoC(DnD、粒度切替、リソース数十〜数百でのパフォーマンス)
- 認証・テナンシ設計(ID管理・操作者権限・監査ログ)
- Phase1 バックログ作成(Epic→Story→受け入れ条件)
付録A: 収集した実URLダンプ(主要)
Section titled “付録A: 収集した実URLダンプ(主要)”/KLP/top//KLP/schedule/salonSchedule/?date=YYYYMMDD/KLP/schedule/printSchedule/?date=YYYYMMDD/KLP/reserve/reserveList/init/KLP/reserve/reserveList/searchDate?date=YYYYMMDD/KLP/reserve/reserveList/searchNewAarrival/KLP/reserve/net/reserveSuspend//KLP/set/monthlySetup//KLP/set/shiftSetup/?date=YYYYMM/KLP/customer/customerSearch//KLP/customer/customerUniteSearch//KLP/customer/customerRegist//KLP/customer/customerBulkRegist//KLP/customer/customerBulkUpdate//KLP/customer/customerBulkDelete//KLP/clmessage/clientMessageTop//KLP/sales/salesTop//KLP/analysis//KLP/analysis/dailySales//KLP/analysis/monthlySales//KLP/analysis/salesByStaff//KLP/analysis/monthlyMenuSales//KLP/analysis/monthlyGoodsSales//KLP/analysis/store/sales//KLP/analysis/visitTrend//KLP/analysis/visitCycle//KLP/analysis/customerDistribution//KLP/analysis/report/basicInfo//KLP/analysis/report/transition//KLP/salonDirect/salonDirectTop//KLP/salonDirect/directMembers//KLP/adjust/pointResult//KLP/onlinepay/transfer/onlinePayTransfer//KLP/comingapply/comingApplyList/init/KLP/payg/paygResult//KLP/set/salonSetup//CNK/reflect/reflectTop/CNK/draft/salonEdit/CNK/draft/staffList/CNK/draft/photoGalleryEdit/CNK/draft/menuEdit/CNK/draft/kodawariList/CNK/draft/specialList/CNK/draft/couponList/KLP/blog/blogList/KLP/review/reviewList/CNK/set/menuSet//CNK/set/staffSetup//CNK/set/equipList//CNK/set/menuLink//CNK/mgr/clientIdList//CNC/mgr/mailAddressChange//CNC/mgr/passwordChange//CNC/mgr/storeBaseInfo//CNC/logout/付録B: KPCL モジュールID 観察
Section titled “付録B: KPCL モジュールID 観察”画面フッタのスクリプトにモジュールIDが露出している(開発時のトレーシング用):
- 基本設定:
KPCL044V01 - 売上管理TOP:
KPCL071V01 - メッセージ管理TOP:
KPCL090V01 - お客様一覧:
KPCL035V01
KPCL は Kirei salon Panel CLient の略と推定。3桁連番の機能IDが振られており、全体では100〜数百画面規模と想定できる。
付録C: 追加で踏み込むべき調査対象
Section titled “付録C: 追加で踏み込むべき調査対象”書き込み操作なしで観察するために、次回以下を追加で訪問すると情報密度が上がる:
- 予約詳細ポップアップ(予約コマをクリックしたときに出る編集モーダル)の全入力項目
- お客様詳細画面(カルテ、履歴、手描きスケッチ)
- メニュー設定画面(CNK配下)のメニュー構造(カテゴリ階層、時間・価格・税率)
- レジ締め一覧・レジ締め画面の入力項目
- スマート支払い振込・ネット予約利用料の明細CSV構造
- 掲載管理のサロン編集画面(
/CNK/draft/salonEdit)の入力項目 - ブログ投稿エディタ(
/KLP/blog/blogList→ 投稿作成) - 口コミ詳細と返信フォーム(
/KLP/review/reviewList→ レビュー詳細) - フォトギャラリーのアップロード仕様(サイズ・枚数制限)
付録D: 公式機能一覧との突合結果
Section titled “付録D: 公式機能一覧との突合結果”https://salonboard.com/function/ に記載の全機能を本書のどこでカバーしているかのマトリクス。
| 公式カテゴリ | 公式機能 | 本書での記述箇所 |
|---|---|---|
| 予約管理 | 予約・スケジュール管理 | §4.1, §5, §10 |
| 予約管理 | 予定・シフト設定 | §4.1(/KLP/set/shiftSetup/) |
| 予約管理 | 予約データ出力 | §4.10 |
| 顧客管理 | お客様情報管理 | §4.2, §6 |
| 顧客管理 | 一括登録・変更・削除 | §4.2 |
| メッセージ配信 | 一斉配信 | §4.3, §7 |
| メッセージ配信 | 自動配信 | §4.3, §7 |
| サロンダイレクト | サロンダイレクト | §4.6 |
| レジ機能 | 会計機能 | §4.4, §8 |
| レジ機能 | 売上管理 | §4.4, §8 |
| 集計・分析 | 集計機能 | §4.5 |
| 集計・分析 | 分析機能 | §4.5 |
| スマート支払い | スマート支払い | §8.1 |
| 掲載管理 | 掲載情報編集 | §4.9 |
| 掲載管理 | ブログ機能 | §4.9, §8.2 |
| 掲載管理 | 口コミ返信機能 | §4.9, §8.2 |
| 掲載管理(公式未列挙だが画面あり) | フォトギャラリー/こだわり/特集/クーポン | §4.9 |
| 振込・請求(公式未列挙だが画面あり) | ポイント/スマート振込/利用料/来店修正 | §4.7 |
結論: 公式機能一覧の全14機能 + 画面観察で見つかった周辺機能(こだわり/特集/フォトギャラリー/振込系の4サブ/予約データ出力)を網羅済み。