以下、図面を参照して、発明の実施形態について説明する。この説明においては、全図にわたり共通の部分には共通の参照符号を付す。
本実施形態において、順番待ち行列内でスキップするとは、順番待ち行列において利用者が第1の位置に並んでいる場合に、当該利用者の位置を第1の位置から第2の位置へ変更することを示す。換言すれば、当該利用者を第1の位置から第2の位置へ割り込ませることを示す。
また、スキップ組数とは、上記の第1の位置から第2の位置へスキップする際に順番を抜く利用者の組数を表す。例えば、第1の位置が行列の先頭から3番目であり、第2の位置が行列の先頭から5番目である場合は、スキップの際に4番目の利用者をスキップするため、スキップ組数は1となる。
なお、当該「スキップ」は、「ジャンプ」とも呼ばれる。
本実施形態において、順番待ち行列に並ぶ利用者から見て前方とは、順番待ち行列の先頭へ向かう方向を示し、後方とは、順番待ち行列の最後尾へ向かう方向を示す。
図1は、本実施形態に係る順番待ちシステム1の一例を示すブロック図である。
図2は、本実施形態に係る順番待ちシステム1の一例を示す概念図である。
順番待ちシステム1は、サーバ装置2と、ユーザ端末4と、店舗用端末6とを含む。少なくともサーバ装置2とユーザ端末4、及び、サーバ装置2と店舗用端末6は、ネットワークNを経由して相互に通信可能に接続されている。
店舗用端末6は、店舗に設置されている情報処理装置である。店舗スタッフ及び/又は利用者は、店舗用端末6に表示された画面データに基づいてサーバ装置2へデータ、指令などを送信可能である。店舗用端末6は、ネットワークNを経由して、サーバ装置2より受信した順番待ち行列に関するデータを店舗用端末6の備えるディスプレイなどに表示可能である。
1つの店舗内には、例えば、利用者が操作する用途の利用者用端末6Aと、店舗スタッフが操作する用途のスタッフ用端末6Bの2種類の店舗用端末6が設けられる。利用者は、例えば利用者用端末6Aのタッチパネルなどを操作することにより、順番待ちへの参加(エントリー)又は参加のキャンセルが可能である。また、店舗スタッフは、例えばスタッフ用端末6Bのタッチパネルなどを操作し、順番待ち行列における利用者の状態を管理する。
ユーザ端末4は、利用者が使用する情報処理装置である。ユーザ端末4は、ユーザ端末4にインストールされたアプリケーション又はブラウザなどを用いて、ネットワークNを経由してサーバ装置2より受信した待ち行列に関するデータをユーザ端末4の備えるディスプレイに表示する。
利用者は、ユーザ端末4を操作することにより、店舗内にいなくても通常の順番待ち及びキャンセル待ちへの参加、順番待ち行列の状態の確認、順番待ち及びキャンセル待ちに関する通知の受信、並びに、これらの参加のキャンセルなどを行うことができる。
サーバ装置2は、サーバ装置2にインストールされたアプリケーションにより、ユーザ端末4及び店舗用端末6と通信を行う。サーバ装置2は、ユーザ端末4及び店舗用端末6を介して入力された利用者又は店舗スタッフの指令に従い、順番待ち行列を更新・管理する。また、本実施形態においては、サーバ装置2は、通常の順番待ちに加え、希望する利用者からユーザ端末4を介してキャンセル待ちの受け付けを行う。
キャンセル待ちへ参加する利用者(以下、キャンセル待ち利用者とする)は、例えば、順番待ち行列において自分よりも前(先頭側)の位置に並ぶ他の利用者のキャンセルが発生した場合に、キャンセルした利用者と現在の自分の位置とに基づいて順番待ち行列をスキップすることにより、通常の順番待ちよりも短い時間で行列の先頭に到達可能となる。
サーバ装置2は、キャンセルが発生した場合に、キャンセル利用者の順番待ちデータを更新する。また、サーバ装置2は、例えば利用者の連絡先を示す情報などを含む会員データを格納し、当該連絡先を示す情報を用いて、必要に応じて利用者のユーザ端末4に対して通知を行う。キャンセル発生時の処理内容の詳細については、図6を用いて後述する。
以下、順番待ちシステム1について詳しく説明する。
サーバ装置2は、記憶部21と、制御部22と、通信部23と、データベースDBとを含む情報処理装置である。
記憶部21は、例えばハードディスク、SSD(Solid State Drive)、フラッシュメモリなどにより記憶領域を構成する。記憶部21は、各種ソフトウェア又はデータを格納する。各種ソフトウェアは、オペレーティングシステム(OS)、データ管理プログラム、及び各種アプリケーションプログラム等を含む。
記憶部21は、例えば、プログラムPと、待ち行列データD1と、案内済番号データD2とを格納する。
待ち行列データD1は、例えば、店舗ごとに受け付けた複数の順番待ちデータD11を含む。順番待ちデータD11には、例えば、受け付けた順番待ちを識別する識別番号D101と、順番待ちを受け付けた利用者の利用者情報D102と、ステータス情報D103が含まれる。
識別番号D101は、順番待ちを行う利用者を識別する番号である。識別番号D101は、例えば後述する受付・順番管理部221により、利用者(順番待ちデータD11)ごとに付与される。
利用者情報D102には、例えば、代表者名、性別、連絡先、利用人数、順番待ちを受け付けた経路(例えばユーザ端末4、店舗用端末6)などのうち、少なくとも1つ以上のデータが含まれる。
ステータス情報D103には、当該順番待ちデータD11に対応する順番待ちの状態がリアルタイムに記録される。ステータス情報D103は、例えば、順番待ちデータD11の順番待ち状態が呼出し待ち状態、不在状態、案内済状態、キャンセル済状態のいずれであるかを示す。
呼出し待ち状態は、例えば、利用者が順番待ちへ参加し、店舗からの呼出しを待っている状態である。
不在状態は、呼出し待ち状態である利用者が呼び出しを受けた際に不在であったため案内されなかった状態である。
案内済状態は、例えば、呼出し待ち状態である利用者が店舗からの呼び出しを受けて案内され、順番待ちを終了した状態である。
キャンセル済状態は、店舗スタッフ又は利用者自身が当該利用者の呼出し待ちをキャンセルすることにより、順番待ちを終了した状態である。
なお、不在状態の利用者は、店舗スタッフの操作により、又は、所定時間経過後に、再度呼出し待ち状態に遷移することが可能である。不在状態の利用者は、呼出し待ち状態となる際に、順番待ち行列の先頭付近の所定の位置に戻されることが好ましい。また、不在状態の利用者は、不在状態から所定時間経過後に無断キャンセル(以下、不在無断キャンセルと呼ぶ)したと判断され、強制的にキャンセル済状態に遷移してもよい。
なお、順番待ちデータD11は、上述以外の情報を含んでいてもよい。例えば、順番待ちデータD11は、予想待ち時間を含んでいてもよい。予想待ち時間は、例えば順番待ちへ参加する利用者ごとに、現在の順番待ち行列に並ぶ組数及び/又は店舗ごとの回転率のデータなどに基づいて算出される。
順番待ちへ参加した利用者が、さらにキャンセル待ちにも参加する場合は、上記の順番待ちデータD11に紐づけて(関連付けて)キャンセル待ちデータD21を格納する。キャンセル待ちデータD21は、例えば、キャンセル待ちを行うことを示す情報、その他キャンセル待ち利用者のキャンセル待ちに関する情報を含む。より具体的には、キャンセル待ちデータD21は、スキップ履歴データD201、来店証明データD202などを含む。
スキップ履歴データD201は、キャンセル待ち利用者が、どのように順番待ち行列をスキップしたかを記憶するデータである。より具体的には、スキップ履歴データD201には、例えば、ある利用者が1回目のキャンセル発生時に5組スキップしたこと、2回目のキャンセル発生時に8組スキップしたことなどを示すデータが記録される。スキップが行われない場合は、スキップ履歴データD201は空の状態となる。
また、キャンセル待ちへ参加する利用者は、キャンセル待ちにより順番待ち行列を大きくスキップすることがあるため、当該利用者は店舗付近にいることが好ましい。そこで、サーバ装置2は、来店証明データD202を用いて、利用者の来店確認を行う。
来店証明データD202は、キャンセル待ち利用者が、店舗又は店舗付近に来たことを証明するデータである。例えば、ユーザ端末4を経由してキャンセル待ちへ参加した利用者が、来店後に店舗用端末6に対し所定の操作を行うことにより、ユーザ端末4及び店舗用端末6の少なくとも一方に発生する。発生した来店証明データD202は、サーバ装置2へ送信される。なお、店舗用端末6を経由してキャンセル待ちへの参加が行われた場合には、利用者が来店したことが明らかであるため、来店証明データD202は省略可能である。
キャンセル待ちデータD21には、上述以外の他の情報が含まれていてもよい。また、順番待ちデータD11は、店舗ごとに呼び出し順で管理されることが好ましい。
案内済番号データD2は、案内済状態となった順番待ちデータD11の識別番号101を格納(記憶)するデータである。案内済番号データD2は、後述するキャンセル発生時の割り込み処理において、割り込み先(割り込み後)の識別番号を決定する際に用いられる。換言すれば、案内済状態となった識別番号101は、キャンセル発生時の割り込み処理において再利用される。割り込み先の識別番号として決定された識別番号101は、案内済番号データD2より削除される。
なお、後述するように割り込み後の識別番号が案内済番号データD2によらず決定される場合は、案内済番号データD2は省略可能である。
ここで、案内済番号データD2には、現在の順番待ち行列の先頭の利用者に付与されている識別番号D101よりも小さい所定範囲の識別番号が格納されることが好ましい。より具体的には、現在の順番待ち行列の先頭の利用者に付与されている識別番号D101が例えば200番である場合、案内済番号データD2には、例えば190〜199番程度の識別番号が格納されることが好ましい。すなわち、順番待ち行列の先頭の利用者に付与されている識別番号D101が大きくなるにしたがい、案内済番号データD2に格納される識別番号も大きくなる。これにより、キャンセル待ちへ参加せずに通常の順番待ちへ参加する利用者は、キャンセル待ちへ参加した利用者が先に呼び出された場合にも、割り込みされたことを認識しにくくなる。また、キャンセル待ちへ参加する利用者の呼び出し番号は現在の順番待ちに用いられている識別番号から大きくかい離しないため、通常の順番待ちへ参加する利用者にとって違和感を感じることがなくなる。なお、現在の順番待ち行列の先頭の利用者に付与されている識別番号D101から大きく外れた識別番号は、案内済番号データD2より削除されてもよい。
制御部22は、各種ソフトウェア(プログラム)を実行し、サーバ装置2全体を制御する。制御部22は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)などである。
制御部22は、例えば、記憶部21、通信部23、データベースDBと内部バスB1により電気的に接続されており、各部からのコマンドなどに基づいて、各部の諸動作を制御する。制御部22は、サーバ装置2に入力されたデータ、又はそれらのデータの計算結果に基づいて各部を制御し、必要に応じて各部にコマンドなどを出力する。
制御部22は、例えば、記憶部21に格納されたプログラムPを実行することにより、例えば、受付・順番管理部221、キャンセル待ち処理部222、来店証明受付部223、又は、通知部224、UI生成部225、課金処理部226として機能する。
受付・順番管理部221は、ユーザ端末4及び店舗用端末6を介して行われる順番待ち要求、キャンセル待ち要求、その他上述のステータス情報D103の更新に関わるあらゆる要求を受信する。そして、受付・順番管理部221は、受信した各種要求に基づき、待ち行列データD1を更新する。
キャンセル待ち処理部222は、キャンセル発生時にキャンセル待ちの利用者が1組以上存在する場合、順番待ち行列に対してキャンセル待ち利用者の割り込み処理を実行する。キャンセル待ち処理部222が行う割り込み処理については、図6〜図8を用いて後述する。
また、キャンセル待ち処理部222は、順番待ちデータD11のステータス情報D103が案内済状態へ更新された際に、案内済番号データD2に当該順番待ちデータD11の識別番号101を追加する。
来店証明受付部223は、キャンセル待ちの利用者の来店証明を受け付ける。来店証明受付部223は、ユーザ端末4及び店舗用端末6より受信した来店証明データD202を、記憶部21へ格納する。
通知部224は、ユーザ端末4への通知を行う。通知部224は、順番待ち又はキャンセル待ちを受付完了又はキャンセル完了した旨、順番待ち行列に所定の変化が生じた旨、後述する課金額などを利用者に通知する。また、通知部224は、キャンセル待ちへ参加する利用者に対し、割り込みを行うか否かの意思を確認するための通知を行ってもよい。通知の方法は、例えば、ユーザ端末4へのメール及びメッセージなどの送信、ユーザ端末4に対するプッシュ通知などがあるが、これらに限定されない。
UI生成部225は、ユーザ端末4及び店舗用端末6が表示するユーザインタフェースを含む表示データを生成し、通信部23を経由してユーザ端末4及び店舗用端末6にこの表示データを送信する。
課金処理部226は、キャンセル待ちサービスを利用した利用者の課金額を算出し、当該利用者に対して課金額の請求を行う。課金処理部226は、例えば、利用者がキャンセル待ちへ参加した場合に、所定の参加料を課金する。また、課金処理部226は、例えばキャンセルが発生して利用者が順番待ち行列をスキップする毎に、所定の利用料を課金額に加算する。所定の利用料は、例えば、スキップ組数に比例した額でもよく、定額でもよい。利用者が呼出し待ち状態の場合は、上述の課金額は未確定の状態にあり、すなわち仮の課金額として扱われる。
課金処理部226は、利用者に対応する順番待ちデータD11のステータス情報D103が案内済状態となった場合に、呼出し待ち状態の間に算出された仮の課金額を確定し、当該利用者に請求する。なお、キャンセル待ちを行う利用者が途中で順番待ちをキャンセルした場合(すなわち、ステータス情報D103が案内済状態とならない場合)は、課金処理部226は、当該利用者に対しては課金を行わなくてもよい。課金処理の詳細については、図11を用いて後述する。
通信部23は、サーバ装置2を有線又は無線通信によりネットワークNに接続させる。通信部23は、ネットワークNを経由してユーザ端末4及び店舗用端末6とのコマンド、アドレス、データ、信号などの送受信を制御する。ネットワークNは、具体的には、インターネットなどである。
データベースDBは、利用者又は順番待ち(及びキャンセル待ち)に関するデータを格納する。データベースDBは、例えば会員データD3を格納する。ここで、会員とは、店舗の利用者のうち、あらかじめ利用者情報を登録した利用者を指す。会員データD3には、例えば、会員番号、名前、年齢、性別、連絡先、決済方法、順番待ち及びキャンセル待ちの利用履歴、よく利用する店舗などの情報が含まれる。連絡先を示す情報は、例えば、会員のメールアドレス、電話番号、その他サーバ装置2とユーザ端末4との間で送受信可能な手段に関する情報などである。
なお、待ち行列データD1は、記憶部21に加えてデータベースDBに格納されてもよい。これにより、サーバ装置2は、店舗における過去の待ち行列データD1を解析することにより、利用者に様々なサービスが提供可能となる。データベースDBには、上述以外の他のデータが格納されてもよい。
ユーザ端末4は、例えば、スマートフォン、タブレット型コンピュータ、ノート型コンピュータなどのモバイル型端末でもよく、又は、デスクトップ型コンピュータなどの据え置き型端末でもよい。
ユーザ端末4は、例えば、記憶部41と、制御部42と、通信部43と、入力部44と、表示部45とを含む。
記憶部41は、記憶部21と同様に、ユーザ端末4の記憶領域を構成する。
制御部42は、制御部22と同様、各種ソフトウェア(プログラム)を実行し、ユーザ端末4全体を制御する。制御部42は、例えば、記憶部41、通信部43、入力部44、表示部45と内部バスB2により電気的に接続されており、各部からのコマンドなどに基づいて、各部の諸動作を制御する。
制御部42は、ユーザ端末4をサーバ装置2のクライアントとして機能させるために必要な処理を行う。本実施形態においては、サーバ装置2は、例えばウェブサーバの機能を有し、制御部42は、例えばブラウザの機能を備える。すなわち、制御部42は、サーバ装置2のUI生成部225が生成した表示データを受信し、受信した表示データをブラウザを用いて表示部45に表示し、又は、ブラウザ上で書き換えられた表示データをサーバ装置2へ送信する。表示データには、例えばユーザインタフェース、待ち行列データD1に含まれるデータなどが含まれる。ユーザ端末4のユーザは、表示部45を通じてサーバ装置より受信した表示データを確認可能である。さらに、ユーザは入力部44を経由して表示部45に表示された表示データのうち所定のデータを書き換え可能である。
なお、制御部42は、通信部43を経由してサーバ装置2へ更新要求を送信することにより、サーバ装置2よりUI生成部225が生成した最新の表示データを受信し、受信した当該表示データに基づいてブラウザの表示を更新する。
通信部43は、ユーザ端末4を有線又は無線通信によりネットワークNに接続させる。通信部43は、ネットワークNを経由してサーバ装置2とコマンド、アドレス、データ、信号などの送受信を制御する。
本実施形態においては、ユーザ端末4は、ユーザ端末4にインストールされ、サーバ装置2より所定のメッセージを送受信可能なアプリケーション・プログラム(以下、メッセージアプリと呼ぶ)を用いて、サーバ装置2からの通知を受信するとして説明する。
入力部44は、ユーザ端末4への入力を入力データとして受け付ける。入力部44は、例えばキーボード、マウス、タッチパネル、マイクなどの入力装置うち少なくとも1つを含む。また、入力部44は、例えばカメラなどの撮像装置又は読み取り装置を含んでいてもよい。
表示部45は、制御部42の指令により生成される画面及びデータを、ユーザ端末4のユーザが視認可能な形式で出力する。表示部45は、例えばディスプレイを含む。
店舗用端末6は、ユーザ端末4と同様に、記憶部61と、制御部62と、通信部63と、入力部64と、表示部65とを含む。
記憶部61、制御部62、通信部63、表示部65の機能及び構成は、ユーザ端末4の記憶部41、制御部42、通信部43の役割と同等である。
入力部64は、店舗用端末6への入力を入力データとして受け付ける。本実施形態において、入力部64は、例えばディスプレイに設けられたタッチパネルを含むことが好ましい。入力部64は、ディスプレイ上の表示がタッチされると、タッチパネル上のタッチされた位置を検知し、その位置情報を入力データとして制御部62へ出力する。なお、入力部64は、他の入力装置を含んでいてもよい。例えば、入力部64は、キーボード、マウス、マイクなどの入力装置でもよい。入力部64は、例えばカメラなどの撮像装置又は読み取り装置を含んでいてもよい。
店舗用端末6のうち少なくとも利用者用端末6Aは、例えば発券用プリンタなどの出力装置8に接続される。店舗用端末6は、利用者の順番待ちを受け付けたことを示す受付票を出力装置8により発券するとともに、サーバ装置2へ順番待ちを受け付けたことを示すデータを送信する。受付票には、利用者ごとの順番待ちの内容(例えば店舗、日時、識別番号D101など)を識別可能な発券コードが記載される。利用者は、当該受付票及びユーザ端末4などを用いてキャンセル待ちへの参加を行うことが可能である。
なお、本実施形態において、ユーザ端末4と店舗用端末6とは、ネットワークNを経由して、又は近距離無線通信などにより相互に通信可能であってもよい。例えば、ユーザ端末4と店舗用端末6とは、Bluetooth(登録商標)、NFC(Near Field Communication)、その他規格に準拠する近距離無線通信により通信可能であってもよい。
図3は、本実施形態に係る順番待ち及びキャンセル待ち受付処理の第1の例を示すフローチャートである。より具体的には、図3は、サーバ装置2が店舗用端末6を経由して順番待ちを受け付け、ユーザ端末4を経由してキャンセル待ちを受け付ける場合の店舗用端末6、サーバ装置2、ユーザ端末4における処理を例示したものである。
ステップS101において、店舗用端末6の制御部62は、順番待ちの受け付けに必要なデータの入力を利用者に促す。利用者は、例えば表示部65の表示に従い、入力部44を介して利用者情報D102などを入力する。入力されたデータは、通信部63を経由してサーバ装置2へ送信される。なお、当該利用者が既にサーバ装置2に会員登録されている場合は、利用者情報D102の入力は、例えば、会員番号の入力などで代用可能である。
ステップS102において、サーバ装置2の受付・順番管理部221は、ステップS101において店舗用端末6より受信した利用者情報D102に基づき、順番待ちデータD11を生成する。受付・順番管理部221は、例えば、生成した順番待ちデータD11を、待ち行列データD1の最後尾に追加する。また、受付・順番管理部221は、当該順番待ちデータD11を識別可能な発券コードを発行し、当該コード及び順番待ちの受け付けを完了した旨の通知を店舗用端末6へ送信する。
ステップS103において、店舗用端末6の制御部62は、順番待ちの受け付けを完了した旨を表示部65に表示し、出力装置8を用いて受付票を発券する。当該受付票には、発券コードが記載される。
ステップS104において、キャンセル待ちへの参加を行う利用者は、ユーザ端末4を用いて会員サイトにアクセスし、ログインする。会員サイトとは、サーバ装置2に会員登録済の利用者ごとに用意されたウェブページである。サーバ装置2は、ログイン後の当該会員サイト上において行われた手続き又は入力された情報と、会員データD3とを紐づける。なお、会員サイトのユーザインタフェースは、サーバ装置のUI生成部225により生成される。
利用者は、当該会員サイトにおいて受付票に記載された発券コードを入力する。ユーザ端末4の制御部42は、入力された発券コードをサーバ装置2へ送信する。
ステップS105において、サーバ装置2の受付・順番管理部221は、ユーザ端末より受信した発券コードに対応する順番待ちデータD11と、会員データD3とを紐づける。紐づけに成功した場合、受付・順番管理部221は、ステップS106において、キャンセル待ちデータD21を生成し、順番待ちデータD11と紐づける。すなわち、ステップS106においては、利用者の会員データD3と、順番待ちデータD11と、キャンセル待ちデータD21とが紐づいた状態である。また、通知部224は、キャンセル待ちの受け付けを完了した旨をユーザ端末4へ送信する。
なお、順番待ちデータD11と会員データD3との紐づけに失敗した場合は、キャンセル待ちの受け付けに失敗したものとし、処理を終了する。この場合、ユーザ端末4には、サーバ装置2よりキャンセル待ちに失敗した旨のメッセージなどが通知されてもよい。
ステップS107において、ユーザ端末4は、キャンセル待ちの受け付けを完了した旨の表示を行う。
図4は、本実施形態に係るユーザ端末4に表示されるキャンセル待ち受付画面の一例を示す図である。より具体的には、図4は、図3のステップS104においてユーザ端末4の表示部45に表示されるユーザインタフェースを示す。
キャンセル待ち受付画面は、例えば、ユーザ端末4の入力部44を経由して、利用者が上述の会員サイト上で所定の操作を行う(例えば、所定のメニューを選択する)ことにより表示される。
ユーザ端末4のユーザは、例えば表示部45に備えられたタッチパネルを用いて、キャンセル待ち受付画面のユーザインタフェースを操作可能である。
キャンセル待ち受付画面は、例えば、表示項目U1,U2、ボタンBT1などを含む。表示項目U1は、利用者がこれから順番待ち又はキャンセル待ちを行う店舗の現在の順番待ち行列に関する情報を含む。より具体的には、例えば表示項目U1は、現在時刻、現在の順番待ち組数、現在の順番待ち時間などを含む。
表示項目U2は、利用者に発券コードを入力させるユーザインタフェースである。利用者は、ステップS103において得られた受付票に記載された発券コードを、表示項目U2に入力する。発券コードの入力後、ボタンBT1が押下されることにより、発券コードがサーバ装置2に送信される。
なお、発券コードは、受付票に記載されるだけでなく、例えば、店舗用端末6の表示部65に表示されてもよく、又は、利用者のユーザ端末4宛にへメール、メッセージにより通知されてもよい。また、発券コードは、例えば、数字、文字列、バーコード、QRコード(登録商標)、ICタグなど、人間又は機械が認識可能な態様で生成される。
なお、キャンセル待ち受付画面は、上述以外の他のユーザインタフェースを含んでもよい。例えば、キャンセル待ち受付画面には、ユーザ端末4に備えられたカメラにより発券コードを読み取るためのインタフェースなどが表示されてもよい。
図5は、本実施形態に係る順番待ち及びキャンセル待ち受付処理の第2の例を示すフローチャートである。より具体的には、図5は、サーバ装置2が会員サイトを経由して順番待ち及びキャンセル待ちを受け付ける場合のサーバ装置2、ユーザ端末4における処理を例示したものである。以下の図5の説明において、ユーザ端末4の利用者は、ユーザ端末4を経由して会員サイトにアクセスし、ログイン済であるとする。
ステップS201において、ユーザ端末4の利用者は、会員サイト上において、ユーザ端末4の入力部44を用いて順番待ちの受け付け入力を行う。利用者は、例えば、順番待ちを行う店舗などの情報を入力する。入力されたデータは、通信部43を経由してサーバ装置2へ送信される。
ステップS202において、サーバ装置2の受付・順番管理部221は、ステップS201において入力された情報及び会員データD3に基づき、順番待ちデータD11を生成する。受付・順番管理部221は、例えば、生成した順番待ちデータD11を、待ち行列データD1の最後尾に追加する。また、通知部224は、順番待ちの受け付けを完了した旨の通知をユーザ端末4へ送信する。
ステップS203において、ユーザ端末4の制御部42は、順番待ちの受け付けを完了した旨を表示部45に表示する。
利用者は、引き続き会員サイト上にて、キャンセル待ちへの参加手続きを行うことができる。
ステップS204において、サーバ装置2の受付・順番管理部221は、利用者よりキャンセル待ちを受け付けたか否かを判定する。キャンセル待ちを受け付けた場合、処理はステップS205,S206へ進む。ステップS205,S206の処理は、ステップS106,S107と同様であるため、説明を省略する。一方、キャンセル待ちを受け付けない場合、処理を終了する。
なお、ユーザ端末4によりキャンセル待ちへの参加が行われた場合には、当該利用者が店舗に来店した際に、来店証明データD202が発行される。ユーザ端末4又は店舗用端末6は、所定の条件のもとで、来店証明データD202を発行する。発行された来店証明データD202は、サーバ装置2へ送信される。サーバ装置2の来店証明受付部223は、来店証明データD202を受け付け、キャンセル待ちデータD21に格納する(ステップS207)。
上述の所定の条件は、例えば下記のような態様をとりうる。ユーザ端末4が来店証明データD202を発行する場合、例えばユーザ端末4の備えるGPSなどによりユーザ端末4の位置が店舗の位置に重なった(又は接近した)と判断された場合に、利用者が店舗付近に来たと判断されてもよい。店舗用端末6が来店証明データD202を発行する場合、例えば利用者が店舗用端末6上で当該利用者を識別可能なデータ(例えば、会員番号、識別番号D101など)の入力及び来店証明データD202の発行操作をすることなどにより、当該利用者が店舗付近に来たと判断されてもよい。また、利用者の持つユーザ端末4が店舗用端末6と近距離無線通信可能な距離まで接近することにより、利用者が店舗付近に来たと判断されてもよい。この場合、店舗用端末6は、ユーザ端末4より近距離無線通信により当該利用者を識別可能なデータを受信し、当該データに基づいて来店証明データD202を発行し、サーバ装置2へ送信してもよい。
なお、ユーザ端末4又は店舗用端末6が来店証明を受け付けるタイミングは、例えば、キャンセル待ちの受け付け完了時でもよく、キャンセル待ち開始後であってもよい。例えば、サーバ装置2の受付・順番管理部221は、キャンセル待ち利用者の並び順(優先順位)を、来店証明データD202を受け付けた順番としてもよい。また、サーバ装置2の受付・順番管理部221は、利用者から来店証明データD202を受信した後にのみ、当該利用者のキャンセル待ちへの参加を受け付けるよう制御してもよい。
また、受付・順番管理部221は、キャンセル待ち利用者の来店証明データD202を受信した後にのみ、当該キャンセル待ち利用者に対し、キャンセルが発生した際のスキップ(割り込み処理)を実行するよう制御してもよい。
また、受付・順番管理部221は、例えば、キャンセル待ちの受け付けを完了した後、所定時間内に来店証明データD202が受信されない場合は、キャンセル待ちの受け付けを取り消す(キャンセルする)よう制御してもよい。
図6は、本実施形態に係るキャンセル発生時のサーバ装置2及びユーザ端末4の処理の一例を示すフローチャートである。図6では、キャンセル待ち利用者の順番待ち行列に対する割り込み処理について詳細に説明する。
ステップS301において、キャンセル待ち処理部222は、ユーザ端末4又は店舗用端末6よりキャンセル要求を受信することにより、順番待ちにおけるキャンセルの発生を検出する。キャンセル待ち処理部222は、キャンセルした利用者の利用者情報D102又は識別番号D101を用いて待ち行列データD1を探索することにより、キャンセルした利用者の順番待ちデータD11を特定する。
また、キャンセルの発生を検出する別の手段として、キャンセル待ち処理部222は、各順番待ちデータD11のステータス情報D103を監視し、当該ステータス情報D103がキャンセル待ち状態となった場合に、キャンセルの発生を検出してもよい。
なお、受付・順番管理部221がキャンセル要求を受け付けてもよい。この場合は、受付・順番管理部221が当該キャンセル要求をキャンセル待ち処理部222に通知する。
ステップS302において、キャンセル待ち処理部222は、キャンセルした利用者の位置を割り込み先位置とする。これにより、キャンセル待ち利用者の順番は、キャンセルした利用者の位置に順に繰り上がるため、キャンセル待ちをしていない他の利用者の順番に影響を与えずに順番待ち行列をスキップすることができる。
ステップS303において、キャンセル待ち処理部222は、キャンセル待ちに参加する利用者が存在するか否かを確認する。キャンセル待ちに参加する利用者が存在しない場合は、処理を終了する。一方、キャンセル待ちに参加する利用者が存在する場合は、次の割り込みを行う対象となる利用者(以下、割り込み権利者とする)を決定する。
より具体的には、キャンセル待ち処理部222は、例えば、待ち行列データD1を探索し、利用者の順番待ちデータD11にキャンセル待ちデータD21が紐づけられているか否かにより、当該利用者がキャンセル待ち利用者であるか否かを判断してもよい。キャンセル待ち処理部222は、順番待ち行列に複数のキャンセル待ち利用者が存在する場合は、例えば、割り込み先位置の後方かつ割り込み先位置に一番近いキャンセル待ち利用者を割り込み権利者と決定する。
ステップS304において、キャンセル待ち処理部222は、案内済番号データD2を読み出し、割り込み後の識別番号を決定する。当該識別番号の決定処理の詳細については、図7及び図8を用いて後述する。
ステップS305において、キャンセル待ち処理部222は、ステップS303において決定した割り込み権利者について割り込み処理を行った場合に、当該利用者が順番待ち行列内でスキップする組数(スキップ組数)を算出する。また、課金処理部226は、割り込み処理を行う場合に課金される予定の金額を算出する。
ステップS306において、キャンセル待ち処理部222は、ステップS305において算出したスキップ組数が1組以上であるか否かを確認する。スキップ組数が0である場合は、割り込み処理は発生しないため、処理を終了する。なお、スキップ組数が0である場合とは、例えば割り込み先位置と割り込み権利者の現在位置との差が1(組)の場合である。一方、スキップ組数が1組以上である場合、処理はステップS307へ進む。
以下、ステップS307〜S309では、割り込み権利者に対して権利行使するか否かを確認する処理(スキップ確認処理)が実行される。割り込み権利者は、当該通知に応答することで、スキップする(権利行使する)か否かを選択可能である。なお、本実施形態においては、このステップS307〜S309のスキップ確認処理は省略可能である。スキップ確認処理が省略される場合は、ステップS310において、割り込み権利者に対して割り込み処理が実行される。
ステップS307において、通知部224は、割り込み権利者のユーザ端末4に対し、割り込み案内データを生成して送信する。割り込み案内データは、例えばユーザ端末4上で動作するメッセージアプリに表示されるメッセージなどである。
ステップS308において、ユーザ端末4は、割り込み案内データを受信し、表示部45に割り込み案内画面として表示する。割り込み案内画面は、例えば、メッセージアプリの表示画面などである。また、ユーザ端末4の制御部42は、割り込み権利者が当該メッセージに対して所定の操作を実行し、応答することにより生成される応答データをサーバ装置2に送信する。
応答データは、割り込み権利者が割り込みを希望する(すなわち、割り込みの権利を行使する)旨、又は、割り込みを希望しない(すなわち、割り込みの権利を行使しない)旨の意思を示すデータである。割り込み案内画面の詳細については、図10を用いて後述する。
ステップS309において、キャンセル待ち処理部222は、ステップS308においてユーザ端末4より受信した応答データを確認し、割り込み権利者が割り込みの権利を行使するか否かを判定する。割り込みの権利が行使されない場合は、処理はステップS303に戻る。その後、次のキャンセル待ち利用者が新たな割り込み権利者となる。一方、割り込みの権利が行使される場合は、処理はステップS310に進む。
なお、ステップS308において、割り込み権利者が所定時間以上応答しない場合、すなわち応答データを所定時間内に受信しない場合は、キャンセル待ち処理部222は、割り込みの権利が行使されないものと判定してもよい。
ステップS310において、キャンセル待ち処理部222は、割り込み処理を実行する。キャンセル待ち処理部222は、割り込み権利者に対応する順番待ちデータD11の識別番号D101を、ステップS304で決定した割り込み後の識別番号に更新する。また、キャンセル待ち処理部222は、待ち行列データD1に含まれる順番待ちデータD11の並び順を、割り込み処理後の順番に対応するよう更新する。
また、通知部224は、割り込み処理が完了した旨(すなわち、順番待ち行列内をスキップした旨)の通知を、割り込み権利者のユーザ端末4に送信する。当該通知には、例えば、スキップ組数、現時点での仮の課金額、ステップS304において決定されたスキップ後の新たな識別番号などが併せて通知される。なお、当該通知には、他の情報が含まれていてもよい。例えば、キャンセル待ち処理部222は、割り込み処理後に当該割り込み権利者の前方に並ぶ利用者の組数に基づいて、新たに予想待ち時間を算出し、当該通知に含めてもよい。
ステップS311において、ユーザ端末4は、割り込み処理が完了した旨の通知を受信し、表示部45に表示する。当該通知は、ステップS308と同様に、例えば割り込み案内画面に表示されてもよい。
ステップS312において,キャンセル待ち処理部222は、割り込み権利者のスキップ履歴データD201を読み出して更新する。
ステップS313において、キャンセル待ち処理部222は、次のキャンセル待ち利用者の割り込み処理を行うために、割り込み先位置を更新する。より具体的には、キャンセル待ち処理部222は、割り込み処理を完了したキャンセル待ち利用者の元の位置を、次のキャンセル待ち利用者の割り込み先位置とする。
その後、処理はステップS303に戻る。ステップS303において、次の割り込み権利者を決定する。より具体的には、キャンセル待ち処理部222は、割り込み処理を未実行のキャンセル待ち利用者のうち、割り込み先位置より後方のキャンセル待ち利用者を次の割り込み権利者と決定する。キャンセル待ち利用者が複数存在する場合は、例えば、割り込み先位置に一番近いキャンセル待ち利用者が割り込み権利者となる。次の割り込み権利者がいない場合は、処理を終了する。
なお、ステップS304において、割り込み後の識別番号がすでに決定済である場合は、ステップS304の処理は省略可能である。例えば、上述のようにステップS307〜S309のスキップ確認処理を行う場合であって、割り込みの権利が行使されない場合、割り込み後の識別番号はそのままで(すなわち決定済の識別番号を使用する)、次のキャンセル待ちの利用者に割り込みの権利が移動する。このため、キャンセル待ち処理部222は、割り込み後の識別番号は決定済であると判定し、ステップS304の処理を省略する。
また、ステップS301において検出されたキャンセルが不在無断キャンセルである場合、不在状態の利用者は一旦順番待ち行列を離れているため、ステップS302の処理において割り込み先位置が定まらない。そこで、キャンセル待ち処理部222は、不在状態の利用者が順番待ち行列に戻される場合の所定の位置を、割り込み先位置として定めてもよい。
当該所定の位置を割り込み先位置とする場合において、当該所定の位置又は当該所定の位置の1つ前の位置にいる利用者がキャンセル待ち利用者である場合、例えば不在無断キャンセルが短時間で頻繁に発生した際に都度割り込み処理が行われると、当該所定の位置付近にキャンセル待ち利用者が連続して割り込み、通常の順番待ちを行う利用者を圧迫する。したがってこの場合は、キャンセル待ち処理部222は、キャンセル待ち処理を行わずに処理を終了してもよい。
図7は、本実施形態に係る識別番号決定処理の第1の例を示すフローチャートである。図7は、図6のステップS304に相当する処理である。図7においては、案内済番号データD2を用いないで割り込み後の識別番号を生成する処理について説明する。
ステップS401において、キャンセル待ち処理部222は、割り込み先位置がキャンセルした利用者の位置であるか否かを確認する。
割り込み先位置がキャンセルした利用者の位置でない場合、ステップS402において、キャンセル待ち処理部222は、前回の割り込み処理対象の利用者の割り込み前の識別番号を、割り込み後の識別番号とする。
一方、割り込み先位置がキャンセルした利用者の位置である場合、ステップS403において、キャンセル待ち処理部222は、例えば、現在発生している順番待ち行列において用いられている識別番号D101とは異なる系統の識別番号を生成する。より具体的には、キャンセル待ち処理部222は、例えば現在発生している順番待ち行列において100番台の識別番号D101が用いられている場合に、1000番台の識別番号(又は、10番台の識別番号)を割り込み後の識別番号として生成する。
キャンセル待ち処理部222は、現在発生している順番待ち行列の識別番号D101が数字で表現されている場合に、割り込み後の識別番号を記号で生成してもよい。また、キャンセル待ち処理部222は、現在発生している順番待ち行列の識別番号D101が記号で表現されている場合に、割り込み後の識別番号を数字で生成してもよい。
なお、上記に示した割り込み後の識別番号はあくまで一例である。割り込み後の識別番号は、例えば通常の順番待ちに参加する利用者が異なる系統であると認識できる番号であれば、上述以外の形式により表現されてもよい。
ステップS401〜S403の処理をより具体的に説明する。例えば、キャンセル発生時、キャンセル待ちの参加者は第1の利用者及び第2の利用者の2組であるとする。第2の利用者は、第1の利用者の次(後方)に並ぶとする。第1の利用者はキャンセルした利用者の位置へ割り込むため(ステップS401)、第1の利用者に対しては割り込み後の新たな識別番号が生成される(ステップS403)。一方、第2の利用者は、第1の利用者がもといた位置に割り込むため(ステップS401)、第2の利用者に対しては第1の利用者の割り込み前の識別番号が付与される(ステップS402)。
図8は、本実施形態に係る識別番号決定処理の第2の例を示すフローチャートである。図8は、図7と同様、図6のステップS304に相当する処理である。図8においては、案内済番号データD2を用いて割り込み後の識別番号を生成する処理について説明する。
ステップS501,S502の処理は、図7のステップS401,S402の処理と同様であるため、説明を省略する。割り込み先位置がキャンセルした利用者の位置である場合、処理はステップS503へ進む。
ステップS503において、キャンセル待ち処理部222は、所定数以上の案内済の利用者が存在するか否かを確認する。換言すれば、キャンセル待ち処理部222は、案内済番号データD2に所定数以上の識別番号が格納されているか否かを確認する。所定数以上の識別番号が格納されている場合、ステップS502において、キャンセル待ち処理部222は、案内済番号データD2より割り込み後の識別番号を1つ選択して処理を終了する。この所定数は、割り込み処理を行う時点でのキャンセル待ちへの参加組数に基づいて動的に決定されてもよい。
一方、案内済番号データD2に格納された識別番号が所定数に満たない場合は、割り込み処理を行わないとしてもよい。または、ステップS503に示すように、キャンセル待ち処理部222は、割り込み後の識別番号を自動生成してもよい。この自動生成される識別番号は、順番待ち行列の発生時に、当該行列の先頭の利用者に付与される識別番号D101(すなわち、識別番号D101の初期値)よりも小さい数字であることが好ましい。このため、識別番号D101は、ある程度大きな値(例えば、100番など)を初期値として生成されてもよい。
上述ように、割り込み処理が行われる毎に、割り込み処理の対象となった利用者の識別番号D101が変更される。これにより、他の利用者は、キャンセル待ちを行う利用者に割り込みされたと認識しにくくなくなる。
本実施形態においては、1回のキャンセル発生につき、1つの識別番号が生成される(又は、又は案内済番号データD2より取り出される)とする。この識別番号は、キャンセルした利用者の位置に割り込む利用者の新たな識別番号D101となる。
なお、1回の割り込み処理ごとに1つの識別番号が生成され(又は、案内済番号データD2より取り出され)てもよい。割り込み処理ごとに識別番号が生成される場合においては、案内済番号データD2には、キャンセル待ちの利用者の組数分程度の識別番号が格納されていることが好ましい。
図9は、本実施形態に係るキャンセル発生時の順番待ち行列の変化の一例を示す図である。
図9の例では、ある店舗において10組の順番待ち行列が発生しており、1番〜10番の順番で順番待ちを行っているとする。順番待ちを行う10組の利用者の識別番号D101は、それぞれ「11」〜「20」である。キャンセル待ち利用者は利用者W1,W2及びW3の3組である。また、案内済番号データD2を用いて割り込み後の識別番号が生成されるとする。案内済番号データD2に含まれる識別番号D101は、「1」〜「10」であるとする。
また、図9の例では、上述のスキップ確認処理(ステップS307〜S309)が実行されるとする。
まず、図9の状態Aにおける順番待ち行列の変化について説明する。利用者Vが順番待ちをキャンセルした場合(ステップS301)、割り込み先位置は利用者Vの存在する3番となる(ステップS302)。そして、割り込み先位置(3番)の後方かつ割り込み先位置に一番近いキャンセル待ち利用者W1が割り込み権利者となる(ステップS303)。割り込み先の識別番号は、案内済番号データD2を参照することにより、例えば「9」と決定される(ステップS304)。
ここで、利用者W1の位置(5番)と割り込み先位置(3番)とは2組離れているため(ステップS305,S306)、利用者W1のユーザ端末4に対して割り込み案内が送信され(ステップS307)、利用者W1はユーザ端末4を用いて割り込みの権利を行使するか否かを決定する(ステップS308)。
利用者W1は、割り込みの権利を行使しないと応答したため(ステップS309)、割り込み権利者は、利用者W1の後方のキャンセル待ち利用者W2となる(ステップS303)。利用者W2の位置(6番)と割り込み先位置(3番)とは3組離れているため(ステップS305,S306)、利用者W2のユーザ端末4に対して割り込み案内が送信される(ステップS307)。利用者W2は、割り込みの権利を行使しないと応答したため(ステップS308,S309)、利用者W2ついての割り込み処理が実行される(ステップS310)。
次に、図9の状態Bにおける順番待ち行列の変化について説明する。状態Aにおいて割り込み処理が実行された結果、利用者W2は3組スキップし、3番に割り込む。利用者W2に対応する識別番号D101は「9」となる。そして、割り込み完了した利用者W2の元の位置である6番が、次の割り込み先位置となる(ステップS313)。
同様に、新たな割り込み先位置(6番)の後方かつ割り込み先位置に一番近いキャンセル待ち利用者W3が次の割り込み権利者となる(ステップS303)。割り込み先の識別番号は、利用者W2の割り込み処理前の識別番号であった「16」と決定される(ステップS304)。
利用者W2の位置(9番)と割り込み先位置(6番)とは3組離れているため(ステップS305,S306)、利用者W3のユーザ端末4に対して割り込み案内が送信される(ステップS307)。利用者W3は、割り込みの権利を行使すると応答したため(ステップS308,S309)、利用者W3ついての割り込み処理が実行される(ステップS310)。
さらに、図9の状態Cにおける順番待ち行列の変化について説明する。状態Bにおいて割り込み処理が実行された結果、利用者W3は3組スキップし、9番の位置から6番の位置に割り込む。利用者W3に対応する識別番号D101は「16」となる。また、割り込み完了した利用者W3の元の位置である9番が次の割り込み先位置となるが、後方にキャンセル待ち利用者がいないため、割り込み処理は終了となる。これにより、識別番号D101が「20」であり10番の位置に並ぶ利用者が、9番の位置に繰り上がる。
なお、スキップ確認処理が実行されない場合は、利用者Vがキャンセルすると、利用者W1がキャンセルした利用者の位置(3番)に割り込み、利用者W1の識別番号D101は「9」となる。この場合、利用者W2は利用者W1の元の位置に割り込み、利用者W3は利用者W2の元の位置に割り込む。すなわち、利用者W2の割り込み処理後の位置は5番、識別番号は「15」となり、利用者W3割り込み処理後の位置は6番、識別番号は「16」となる。
図10は、本実施形態に係るユーザ端末4に表示される割り込み案内画面の一例を示す図である。より具体的には、図10は、図6のステップS308,S311などにおいてユーザ端末4の表示部45に表示されるメッセージアプリのユーザインタフェースを示す。
ユーザ端末4がサーバ装置2より受信した割り込み案内は、例えばユーザ端末4で動作するメッセージアプリ上に表示される。ユーザ端末4のユーザは、例えば表示部45に備えられたタッチパネルを用いて、メッセージアプリのユーザインタフェースを操作可能である。
メッセージアプリは、サーバ装置2から受信した少なくとも1つ以上のメッセージを表示可能な表示領域U3を含む。
メッセージM1は、ステップS308においてユーザ端末4がサーバ装置2より受信する案内データを含み、例えば利用者にスキップするか否かの意思を確認する旨のテキストが表示される。当該テキストには、割り込み処理が行われた場合のスキップ組数と課金額とが含まれる。
また、メッセージM1には、例えば利用者のスキップする旨(すなわち、割り込みの権利を行使する旨)の意思を確認するためのボタンBT2と、スキップしない旨(すなわち、割り込みの権利を行使しない旨)の意思を確認するためのボタンBT3とが含まれる。ボタンBT2,BT3が押下されることにより、上記意思を示す旨の応答データがサーバ装置2へ送信される。
メッセージM2は、例えば、ステップS311においてユーザ端末4がサーバ装置2より受信する、割り込み処理が完了した旨の通知を含む。メッセージM2には、例えば、スキップした組数、ステップS304において決定されたスキップ後の新たな識別番号、現時点での仮の課金額などを示すテキストが表示される。
図11は、本実施形態に係る課金処理の一例を示す図である。
ステップS601において、課金処理部226は、順番待ちデータD11に含まれるステータス情報D103を読み出して確認する。ステータス情報が案内済状態以外の場合は、課金処理は行わない。一方、ステータス情報が案内済状態の場合は、処理はステップS602に進む。
ステップS602において、課金処理部226は、順番待ちデータD11に紐づけられたキャンセル待ちデータD21のスキップ履歴データD201にスキップ履歴が記録されているか否かを確認する。スキップ履歴データD201にスキップ履歴が存在しない場合は、課金処理は終了する。一方、スキップ履歴が存在する場合は、処理はステップS603へ進む。
ステップS603において、課金処理部226は、課金額の算出を行う。課金額は、スキップ履歴データD201などに基づいて算出される。例えば、キャンセル待ちへの参加料が100円であり、ある利用者が1回目のスキップ時に5組スキップし、2回目に3組スキップし、1組当たりのスキップに対する課金額が10円である場合は、課金額の合計は180円と算出される。
ステップS604において、課金処理部226は、当該順番待ちデータD11に含まれるステータス情報D103が案内済状態となってから所定時間の経過を待つ。
この所定時間は、例えば利用者の案内操作又は課金処理などにミスがあった場合に、仮の課金額の訂正に用いられる期間として有用である。より具体的には、例えば店舗スタッフが利用者を案内済状態とするために店舗用端末6に備えられるボタンなどを誤操作したことに気づき、この誤操作を取り消して当該利用者を順番待ち行列に戻す操作を行った場合に、課金処理だけが先に実行されてしまう可能性がある。したがって、一定時間後に利用者の順番待ちステータスを確認し、案内済状態となっていることを再度確認した後に、課金額が確定される。なお、仮の課金額の訂正は、例えば店舗スタッフなどにより手動で行われる。
ステップS605において、課金処理部226は、課金額を確定する。
なお、上述の課金処理は、ステータス情報D103の変更をトリガーとして実行されてもよく、又は、例えば所定の時間間隔で定期的に実行されてもよい。また、ステータス情報D103が呼出し待ち状態の場合は、課金処理部226は、上述した仮の課金額を逐次算出し、ステップS603においては当該仮の課金額に基づいて最終的な課金額が算出されてもよい。
また、利用者がキャンセル待ち及びスキップを行い、当該利用者に対応するキャンセル待ちデータD21にスキップ履歴データD201が存在している場合でも、当該利用者が途中で順番待ちをキャンセルした場合は、課金処理は行われない。
以上説明した本実施形態においては、キャンセル待ち処理部222は、キャンセル発生時に割り込み処理を行うことにより、キャンセル待ちサービスの利用者をキャンセルした利用者の順番待ちの位置にスキップさせる。これにより、行列に並ぶことを敬遠する利用者が行列に並ぶ時間を短縮して入店可能となる。また、キャンセル待ちサービスを利用しない通常の順番待ちを行う利用者に対しては、キャンセルが発生することによる呼び出し順番の繰り上がりが発生しにくくなる。これにより、通常の順番待ちを行う利用者は、予想呼び出し時間前後の時間で呼出されるため、順番待ちシステム1を利用する利用者の利便性が高まる。また、店舗側にとっても、利用者の呼び出し時不在による店舗の売上ロスを低減することができる。
本実施形態においては、上述の割り込み処理において、割り込みの権利を持つ利用者に対し、順番待ち行列をスキップするか否かを選択させる通知を送信する。キャンセル待ちに参加する利用者は、順番待ち行列をスキップするか否かを選択した上で、当該通知に対して応答する。スキップを行う旨が選択された場合には、スキップ組数に比例した課金が行われる。すなわち、スキップ組数に応じた公平な課金が行われる。これにより、キャンセル待ちサービスの利用者の利便性が向上する。
また、当該スキップを行わないと選択したキャンセル待ち利用者、及び、キャンセル待ちへ参加せずに通常の順番待ちに参加する利用者は、他のキャンセル待ち利用者が行った割り込み(スキップ)の影響を受けずに順番待ちを行うことができる。
本実施形態においては、割り込み処理が行われる毎に、割り込み後の識別番号が変更される。割り込み後の識別番号は、現在発生している順番待ち行列の先頭の利用者に付与されている識別番号よりも小さい数字となる。これにより、キャンセル待ちへ参加せずに通常の順番待ちに参加する利用者は、キャンセル待ちへ参加する他の利用者に割り込みされたことを認識しにくくなくなる。したがって、店舗側は当該キャンセル待ちのサービスを導入しやすくなる。
本実施形態においては、店舗用端末6で順番待ちの受付票を発券する場合において、ユーザ端末4から会員サイトにアクセスすることによりキャンセル待ちへの参加を行うとして説明した。しかしながら、当該受付票を用いて店舗用端末6からキャンセル待ちへの参加が行われてもよい。この場合、サーバ装置2は、店舗用端末6に入力された情報から利用者と会員情報を関連付けてもよい。また、店舗用端末6から会員サイトにアクセスさせることより、利用者と会員情報を関連付けてもよい。また、キャンセル待ちサービスを利用する利用者が会員未登録である場合には、店舗用端末6において当該利用者に会員登録させてもよい。また、キャンセル待ちサービスは、会員未登録の利用者に対して提供されてもよい。
本実施形態においては、キャンセル待ち処理部222は、受付・順番管理部221が受け付けた順番待ち行列の受け付け状態にもとづいて、キャンセル発生時の割り込み処理を実行するか否かを決定してもよい。
より具体的には、キャンセル待ち処理部222は、例えば順番待ち行列が所定の組数以上の場合にのみ、キャンセル発生時の割り込み処理を実行するよう制御してもよい。なお、順番待ち行列が長いほどスキップ回数及び/又はスキップ組数が多くなり、キャンセル待ちサービスの利用効果が高まる。
また、キャンセル待ち処理部222は、例えばキャンセル待ちへの参加組数が所定の組数以下の場合(又は、順番待ち行列の組数に対するキャンセル待ちへの参加組数が所定の割合以下の場合)にのみ、キャンセル発生時の割り込み処理を実行するよう制御してもよい。すなわち、キャンセル待ちへの参加組数は、順番待ち行列の組数に対して適正な数に制限されてもよい。これにより、キャンセル待ちの利用効果が低下することを防ぐことができる。
また、キャンセル待ち処理部222は、上述のような順番待ち行列の受け付け状態にもとづいて、受付・順番管理部221がキャンセル待ちへの参加を受け付けるか否かを決定してもよい。
本実施形態において、キャンセル待ちサービスの利用により発生した課金額は、利用者が店舗を利用した際の会計時に上乗せして支払われてもよい。これにより、課金額の決済が店舗内で完了するため、会員未登録の利用者がキャンセル待ちサービスを利用しやすくなる。なお、上述の他にも、キャンセル待ちサービスの利用料は例えば定額で課金されてもよい。より具体的には、当該利用料は、例えば順番待ちに1回並ぶ毎に定額で課金されてもよく、又は、月毎に定額で課金されてもよい。
また、本実施形態において、キャンセル待ちサービスは店舗側が利用者に対して課金する(すなわち、有料サービスである)として説明した。しかしながら、キャンセル待ちサービスは無料サービスとして提供されてもよい。この場合、課金処理部226の実行する処理は省略可能である。
以上、本実施形態を用いて本発明の説明を行ったが、この発明は上記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適宜な組み合わせにより種々の発明が抽出され得る。例えば各実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも1つが解決でき、発明の効果の欄で述べられている効果の少なくとも1つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。