理髪店の待ち行列トラッカーアプリ:シンプルなウォークイン画面
ウォークインを素早く追加し、待ち時間を推定し、順番が来たら通知する理髪店向けのシンプルなキュー画面を作る方法。シンプルなルールと分かりやすいフローにフォーカスします。

ウォークイン用キュー管理が実際に解決する問題
混雑する理髪店では同じ問題が何度も起きます:ウォークインが一度に何人も来て順番があいまいになり、スタッフは次の1時間ずっと「待ち時間はどれくらいですか?」に答え続けます。キューが誰かの頭の中やメモにしかないと、小さな抜けや誤解が大きな摩擦になります。顧客が外に出て順番を逃す、誰かが「先に来てた」と主張する、フロントの見積もりが外れる――こうしたことです。
理髪店のキュー管理アプリはフル予約システムではありません。ラッシュ時にチームが使える、速くて信頼できる一つの画面です。目標は完璧ではなく一貫性です:共有された一つのキュー、明確な順番、そして全員が参照できるシンプルな待ち時間見積もり。
最初のバージョンでは、混乱の大部分を取り除く少数の機能に集中しましょう:
- 数秒でウォークインを追加できる(名前やイニシャル、サービス、任意で電話番号)。
- 行列の変化に合わせて更新される推定待ち時間を表示する。
- 順番になったら一度だけ「あなたの番です」のメッセージを送るので、スタッフが名前を叫ぶ必要がない。
v1の「完成」はこういう状態です:スタッフがスマホを開いて5人のウォークインを遅滞なく追加でき、誰かが席を離れたりサービスを変えたり、バーバーが空いたりしてもリストがクリアに保たれる。顧客には適切なタイミングで通知が1回届き、スタッフはワンタップで施術開始や完了をマークできる。
この完了定義を厳密に保ってください。ノーコードツールを使う場合でも同様です。後で機能を追加して磨けば良い(サービスメニュー、バーバー割当、分析など)。まずは日々の痛みを解消しましょう:きれいな列、妥当な待ち時間見積もり、シンプルな「準備できました」メッセージ。
誰が使い、何を表示したいか
ほとんどの店には実際に三つの役割があります(一人が全部やる場合でも):チェックインする人、次を呼ぶバーバー、そして店のオーナーやマネージャーで、日中が穏やかであることを望みます。
専用のフロントがあるなら、画面は速度重視で作ります。ウォークインの追加は数タップ、メモ編集は数タップ、ステータス変更はワンタップで終わるべきです。
バーバー自身がリストを管理するなら、大きくて単純な操作が必要です。「次へ」アクションは明確にして、リストは今必要な情報だけを表示します:顧客名、サービス、列の位置。
顧客に見せる情報も決めましょう。一般的に三つの選択肢があります:
- スタッフ専用リスト(顧客には何も見せない)
- 位置と概算待ち時間だけの共有ディスプレイ(個人情報なし)
- メッセージのみで外で待てるようにする
どれを選んでも、画面上で期待値を設定してください:待ち時間は見積もりであり約束ではないこと。15分の目安が25分になるのは珍しくありません。誰かが特定のバーバーを指名したり、施術に時間がかかったりすれば順序が変わることもあります。
公平性のルールは一つ決めて守ってください。多くの店は先着順(FCFS)か、スタッフが管理する並びで理由を可視化する方法(例:「予約優先」や「指名:Barber A」)のどちらかがうまくいきます。
シンプルなウォークインリストに必要なデータ
ウォークインリストが機能するには、各エントリがすばやく二つの質問に答えられる必要があります:誰が待っているのか、そして何を待っているのか。必須項目は最小限にして、スタッフが挨拶しながらチェックインできるようにしましょう。
各ウォークインは基本から始めます。呼び出しに十分なのは名前です。通知やノーショー対策には電話番号が役立ちます。サービスとチェックイン時刻があれば、キューはランダムではなく一貫して感じられます。
実用的な最小レコード:
- 顧客名
- 電話番号(任意だが推奨)
- サービス(カット、ひげ、カット+ひげ、など)
- チェックイン時刻(自動入力)
- メモ(子供のカット、敏感な頭皮、持参プロダクトなど)
次に、リストが真実であるように明確なステータスを追加します。「待ち」と「完了」だけだと、ラッシュの後に画面が実情とずれていきます。店でうまく働く一般的なステータスは:待ち、施術中、完了、ノーショー、キャンセルです。
精度を上げる任意フィールド
チェックインを遅くしない範囲で推定の精度を上げたいなら、1〜2タップの任意項目を追加します:
- 希望バーバー(または「誰でも」)
- 推定所要時間(サービスから自動提案)
- 新規か再来か
リピート顧客は工夫して扱う価値があります。実用的な方法は、数文字入力後に最近の顧客をクイックセレクトできるようにするか、名前を選んだら「前回のサービスを使う」ワンタップを用意することです。
実用的な待ち時間の見積もり方法
良い待ち時間見積もりは完璧である必要はありません。一貫していて、頻繁に更新され、達成できない約束をしないことが重要です。
まずはシンプルなルール:推定待ち時間 = (前にいる人数 × 平均サービス時間)です。平均カットが20分で前に3人いれば、最初の推定は約60分です。
サービスに合わせた見積もりにする
多くの店に標準サービスは一つではありません。基本的に分類するだけで見積もりが現実味を帯びます:
- カット:20分
- ひげ:10分
- カット+ひげ:30分
- 子供カット:15分
- ラインアップ(簡単な整え):8分
ウォークインを追加する際にサービスを選ばせ、その時間を使ってください。迷う場合は少し長めをデフォルトにするのが良いです。数分早く始まるのは好印象ですが、15分遅れると信頼を失います。
複数バーバーの場合の簡単な2つの選択肢
複数人で働くなら、二つの簡単なアプローチがあります:
- 共有キュー:一つのリストで稼働人数を“キャパシティ”と見なし、待ち時間は前の合計分を稼働バーバー数で割る。
- 別々のキュー:バーバー別やサービス別の列。バーバーの専門性が高いならこれが有利。
忙しい時は計算結果にバッファ(例えば25%)を加え「15–25分」のようなレンジで表示すると誠実です。
ウォークインが追加されたとき、施術が始まったとき、施術が終わったとき、スタッフが並びを変えたときに推定を更新してください。
モバイル画面レイアウトの設計(シンプルで速い)
ウォークイン画面は、スタッフが片手で急いで使えることが前提です。オプションより速度を優先してください。
上部は「常に使える」状態にします:目立つAdd Walk-inボタンと検索ボックス。検索は名前か電話で数文字で一致するようにして、外に出た人を素早く見つけられるようにします。
その下にキューリストが仕事の大半を担います。各行は一目で二つの質問に答えるべきです:「誰?」と「あとどれくらいで椅子に座れる?」。一般的に行には、順番番号、顧客名、サービス、ステータス、簡単な待ち時間バッジ(例:「15分」)を含めます。
アクションはワンタップで一貫して行えるようにします。よく使う操作は行上にボタンで配置し、メニューに隠さないでください:施術開始、完了、メッセージ送信、上下移動、離脱時の削除など。アイコンを使う場合は短いラベルを付けて分かりやすくします。
閑散時の空状態も考えます。空白画面の代わりに「誰も待っていません」と表示して、次のウォークインを追加する明確なアクションを示してください。
小さい画面では可読性を優先します。タップ領域を大きく、ラベルは短めに。行が窮屈ならメモはリストに表示せず、行をタップした後に見せるようにします。
手順フロー:ウォークイン追加、ステータス更新、通知
ワークフローは速くないと意味がありません。誰でも数秒で顧客を追加でき、日中にリストが自動で更新され続ける必要があります。
日単位のキューで始めますが、スタッフにセットアップを強制しないでください。実用的なルールは:誰かが初めて追加した時にその日のキューを自動作成することです。
動きを止めないシンプルなループ:
- Add walk-inをタップ
- 最低限の情報を入力:名前、サービス、電話(テキスト不要なら任意)
- 保存するとすぐにポジション(例:#5)と推定待ち時間を表示
- クイック編集を許可(サービス変更、「Barber A希望」などのメモ追加)
- 情報が足りなくても列をブロックしない。後で直せる。
施術が始まったら、最も重要なのはワンタップのステータス変更です。バーバーが空いたらスタッフは次の人をタップして「施術中」にマークします。これにより他の全員が繰り上がり、推定待ち時間が更新され、誰も手動で並び替える必要がなくなります。
通知は自動で送りすぎないように意図的に扱います。誰かが上位に来たらスタッフがNotifyをタップして「あなたの番です」メッセージを送ります。送信記録(送信時刻、送信方法)を残しておくと、シフト交代時に二重送信を防げます。
エントリは明確な結果で閉じます:完了、ノーショー、キャンセル。顧客が席を外したら順番を壊さないために削除せず「10分で戻る」など短いメモと一時的な離席ステータスを使えます。
顧客を苛立たせない通知設計
良い通知は皆の時間を節約します。悪い通知は頻繁に鳴り、混乱を招き、間違った番号に送られます。
まずは毎日確実に使えるチャネルを一つ選びます。顧客の多くが携帯番号を持つならSMSが最も単純です。既にTelegramやメールで運用しているならそれを使っても良いです。
テンプレートは短く明確に:
- Ready now:「こんにちは {Name} さん、椅子が準備できました。{Grace} 分以内にフロントへお願いします。」
- 5-minute heads-up:「こんにちは {Name} さん、あと約5分で順番です。近くでお待ちください。」
- Delay:「こんにちは {Name} さん、現在約 {Delay} 分遅れています。順番を維持しますか?」
新しい番号に送る前は一度確認してください。最後の2桁を読み上げてもらうなどの簡単なステップで、間違った人に通知してカウンターで言い合いになる古典的ミスを防げます。
ノーショーのルールも事前に決めて一貫させます。例えば「Ready now」から7分以内に来なければNo-showにし、次の人に通知して短いメモを残す、などです。
苦情が事実かどうかを判断できるように監査記録を残します:
- 送信時刻
- 使用チャネル
- 送信をタップした人
- 配信状況(取得できるなら)
- 顧客の返信(あれば)
キューを混乱させるよくあるミス
多くの問題はアプリのせいではなく、小さな習慣にあります。それがリストを不公平に見せたり、待ち時間が根拠のない数字に見えたりします。
大きな問題の一つは、理由なく順番を入れ替えることです。「ちょっとの調整で先に入れて」と動かすと後で口論になります。並び替えを許可するなら「プロモ再実行」や「子供のカット、10分」など短い理由を必須にしましょう。
推定は現実を無視すると崩れます。二人で同時に動いているのに一列だけで扱うと、片方が時間のかかる施術をしている間に順番が動いて見積もりがばらつきます。
もう一つの失敗は弱いステータスです。ノーショーやキャンセルを素早くマークする方法がないとリストは信頼を失い、スタッフが使わなくなります。
キューをきれいに保つためのいくつかのルール:
- チェックインは名前と連絡方法だけにし、他は任意にする
- 明確なステータスを使う:待ち、施術中、完了、ノーショー、キャンセル
- 人を動かしたら短い理由をログに残す
- 推定はサービス長と稼働バーバー数で算出する
- 顧客が見られる画面では電話番号を隠す
プライバシーは忘れがちです。公開の「Now serving」画面は名だけや名字のイニシャル、発券番号を表示し、電話番号や詳細メモはスタッフ専用にしてください。
店で試す前のクイックチェックリスト
忙しい日にテストする前に「実際のカウンター」でリハーサルをしましょう。実際にチェックインをする人に端末を渡し、会話しながら5件のウォークインを追加してもらいます。その場面で速くなければ、土曜午後の2時には使えません。
椅子まわりでの速度と明快さ
基本をチェック:
- スタッフは名前と電話(メモは任意)だけで10秒以内にウォークインを追加できるか?
- 各ステータスに対して明確な次アクションがあるか(例:WaitingならStart service、In chairならFinish)
- 誰かが開始や終了を押したら推定が余分なステップなしで更新されるか?
- 長いリストでも名前や電話で素早く検索・編集できるか?
- Notifyの後、スタッフが重複を避けられるように「最終送信時刻」を見られるか?
「まあまあ」な答えがあれば画面を簡素化してください。フィールドを減らし、タップ数を減らし、主要なボタンを明確にします。
日終わりの混乱を避ける
昨日のリストが今日に残るとややこしくなります。アプリで「閉店」をどう扱うか決めてください。
あなたが欲しいのは二つです:翌日のためのきれいな状態と、当日の記録(待ち時間、ノーショー、サービス別の件数)を残すこと。シンプルな方法はEnd dayアクションで、完了とノーショーのエントリをアーカイブし、アクティブなものを確認後に消す方式です。
検証するシナリオ:ウォークインを追加して開始→完了→間違いを修正(サービス長やステータスを直す)。修正に数タップ以上かかるならチームはリストを使わなくなります。
現実的な例:土曜のウォークイン、バーバー2名
土曜の10:00、SamとLeeの二名がシフトです。キューは空で、各サービスのデフォルト所要時間は顧客ごとに調整できます。
10:02に5分以内で3名のウォークイン:
- Jordan:簡単なひげ(10分)
- Maya:カット(30分)
- Chris:カット+ひげ(45分)
各人をサービスと推定時間付きで追加すると、アプリは順に割り当て、現在施術中の人に基づいて待ち時間を表示します。SamがJordanを取り、LeeがMayaを始めます。
10:12にJordanが早く終わったらSamは予定より早く空き、Chrisの開始予定時刻は前倒しされます。Jordanを完了にしてChrisを施術中にマーク(あるいはChrisをSamに割当)するとアプリは再計算します。一方でLeeの方はMayaが10分遅れているためLeeに依存している人たちは後ろに押されます。これが、忙しいときにはバーバーごとの状態を結びつける方が単純な一列より正確になる理由です。
10:20にChrisがコーヒーを買いに出たら、順番を壊さずに削除する代わりに「10分で戻る」と短いメモを付けて一時的に離席にしておきます。こうすると列は正直に保たれ、次が動かない理由が分かります。
ラッシュ後の基本的な履歴でも翌週のデフォルト改善に役立ちます:サービス種別、推定と実際の時間、ノーショー、曜日や時間帯ごとの平均待ち時間。
次のステップ:小さく出して改善する
最速で価値を出す方法は小さな最初のリリースを出すことです。このアプリは初日から5画面もダッシュボードも必要ありません。スタッフが騒がしい中でも信頼できる一つの場所が必要なだけです。
v1では三つのことを確実にやれるようにします:数秒でウォークインを追加、推定待ち時間を表示、そしてIn chair/Doneをマーク。通知はチャネルをひとつ選んで一貫して使ってください。
v2ではシンプルなリストを維持しながら余計なものを増やしても遅くならないようにします:タブレットやTV向けの共有待ち画面、基本的な分析、スタッフ用キオスクモード、バーバー別キュー、ノーショー対策の有料オプションなど。
ルールはビルドし直しなしで編集できるようにしてください。新人バーバーを雇ったりサービスを追加したりプロモを走らせると平均時間は変わります。サービス所要時間、バッファ、メッセージ文言は簡単に調整できるべきです。
ノーコードで書かずに作って反復したいなら、AppMaster (appmaster.io) はこの種の内部ツールに実用的にフィットします:キューデータをモデル化し、モバイルUIを作り、Add/Update/Notifyのロジックを視覚的に作れる一方で実際のソースコードを生成できます。
チームに週末だけ使ってもらい、躊躇した瞬間を全て書き留めてからそれを直してから新しい機能を追加してください。
よくある質問
ウォークインのキュー管理は、スタッフが順番を覚えたり何度も「待ち時間はどれくらい?」と答えたりする手間を減らします。争い、順番を逃すこと、一貫性のない時間見積もりを減らせます。
最低限は名前(イニシャルでも可)、サービス種類、チェックイン時刻(自動)を使いましょう。電話番号や短いメモは役に立つときだけ追加します。チェックインが遅くなると列が混乱します。
まずは単純なルールを使います:「前にいる人の合計分の時間 ÷ 稼働中のバーバー数」、さらに少し余裕を加えておきます。人が追加されたり、施術が始まったり終わったり、並びを変えたときに更新してください。
バーバーがどの顧客でも受けるなら共有キューが一番シンプルで公平に感じられます。専門性が高い、指名が多い場合はバーバー別の列や「希望バーバー」欄を使うと推定が正確になります。
リストが正確であるために使うステータスはシンプルに:待ち(Waiting)、施術中(In chair)、完了(Done)、ノーショー(No-show)、キャンセル(Cancelled)。ノーショーやキャンセルがないとリストが信用できなくなります。
多すぎる通知は逆効果です。デフォルトは「あなたの番です」の1通にし、必要なら短い「5分前」通知を1回だけ付けます。新しい番号には送信前に末尾2桁を確認するなど誤送信防止をしておくと安心です。
公平ルールを1つ決めて守り、例外を可視化します。順番を動かす場合は短い理由を必須にして、スタッフが説明できるようにしておくと納得されやすいです。
共有ディスプレイに顧客情報を出すなら、名前の名のみ+イニシャル、または発券番号と推定待ち時間程度に留め、電話番号や詳細メモはスタッフ画面に隠しましょう。プライバシーの配慮が必要です。
片手で使えるメイン画面を作ってください:明確なAddボタン、すばやい検索、各行にワンタップでできるアクション。実際のカウンターで10秒以上かかる追加操作は省くべきです。
可能です。ただしノーコードでも、シンプルなデータモデル、速いモバイルUI、信頼できるAdd/Update/Notifyのロジックがサポートされていることが条件です。AppMaster (appmaster.io) はコーディングなしでこれを作ってエクスポートできる実用的な選択肢です。


