いくつかの実施形態について図面を参照しながら説明する。
以下に説明する実施形態では、特典提供システムの一例として、小売店にて稼動する会計システムを例示する。
(第1の実施形態)
図1は、第1の実施形態に係る会計システムが稼動する店舗の会計場の概略図であり、図2は、同会計場を図1における天井側から見下ろした平面図である。この会計システムは、本実施形態に係る会計処理装置として機能するPOS端末1と、本実施形態に係る情報処理端末として機能する顧客端末2と、会計場の天井に取り付けられたスピーカ3とを含む。
会計場には、買物客の通路となるチェックアウトレーンLに沿ってレジカウンタ4が配置され、このレジカウンタ4に隣接してPOS端末1を載置するためのレジ台5が配置されている。レジカウンタ4を挟むチェックアウトレーンLの反対側が、会計を担当する店員(キャッシャ)の作業スペースとなる。
会計場の床には、買物客がチェックアウトレーンLで会計を受けるために並ぶべき位置を示す赤色のマーカMが記されている。マーカM上には、“赤線内にお並び下さい。”のようなメッセージが記載された複数の説明板6が分散して配置されている。
スピーカ3は、外部から入力されるデジタル信号をアナログ信号に変換するDA変換器と、このアナログ信号の波形に応じて振動板を振動させることで音を発生する振動モジュールとを備える。スピーカ3が発する音の到達範囲Sは、マーカMで示される範囲と一致するように調整してある。到達範囲Sは、例えばスピーカ3が備えるホーンの形状や向きを変更したり、スピーカ3の出力ボリュームを変更したりすることで調整すればよい。
顧客端末2は、例えば買物客が所有する携帯電話装置、携帯情報端末(PDA)、あるいはスマートフォンである。但し、顧客端末2は店舗側で用意され、来店した買物客に貸し出されてもよい。この場合、例えば図3に示すように、顧客端末2を買物客が利用するショッピングカート7に取り付けてもよい。ショッピングカート7は、メインフレーム71と、買い物籠8を着脱するための保持フレーム72と、4つの車輪73とを備える。メインフレーム71の一部には買物客がショッピングカート7を押す際に掴むためのグリップ71aが設けられる。このようなショッピングカート7の例えば保持フレーム72に顧客端末2を取り付ける。この場合、顧客端末2のディスプレイがグリップ71aを掴んでショッピングカート7を押す買物客にとって視認し易い方向へ向くように、取り付け位置を定める。
図4は、会計システムの要部構成を示すブロック図である。
POS端末1は、制御の中枢として機能するCPU(Central Processing Unit)100を備える。CPU100には、アドレスバスやデータバスで構成されるバスライン101を介して、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104、キーボード105、通信ユニット106、オペレータ用ディスプレイ107、客用ディスプレイ108、スキャナ109、カードR/W(Reader/Writer)110、プリンタ111およびI/O(Input/Output)ポート112が接続される。
ROM102は、CPU100が実行するコンピュータプログラムや、各種の固定値等を記憶する。RAM103は、POS端末1のメインメモリとして機能する。HDD104は、OS(Operating System)ファイルや各種のアプリケーションファイル等を記憶する。
キーボード105は、商品登録の開始を指示するPLU(Price Look Up)キー、小計指示を入力する小計キー、現計や信計等の締め指示を入力する締めキーおよび数値入力用のテンキー等を有する。通信ユニット106は、店舗内のLAN(Local Area Network)等のネットワークを介して、店舗の中枢を担うストアコンピュータSCとPOS端末1とを接続する。この接続により、POS端末1は、ストアコンピュータSCとデータの送受信が可能となる。例えばPOS端末1は、所定のタイミングでストアコンピュータSCから商品マスタを受信する。商品マスタは、店舗内で扱われる商品に割り当てられたJANコード等の商品識別コードに対してその商品の名称や単価等の商品情報を関連付けたファイルである。POS端末1は、受信した商品マスタを例えばHDD104に保存する。
オペレータ用ディスプレイ107は、POS端末1を操作するキャッシャに向けて各種の情報を表示する。客用ディスプレイ108は、会計を受ける買物客に向けて各種の情報を表示する。スキャナ109は、例えばバーコードを光学的に読み取るハンディタイプのバーコードスキャナであり、本実施形態に係る読取手段として機能する。カードR/W110は、買物客が所持するポイントカード等からの情報の読み取り、および、これらポイントカード等に対する情報の書き込みを行う。プリンタ111は、取引の明細情報が印刷されたレシートや、買物客に対して各種特典を提供するためのクーポン券等を印刷する。I/Oポート112は、通信ケーブルを介してPOS端末1とスピーカ3とを接続する。
顧客端末2は、制御の中枢として機能するCPU200を備える。CPU200には、アドレスバスやデータバスで構成されるバスライン201を介して、ROM202、RAM203、スピーカ204、マイク205、ディスプレイ206、タッチパネルセンサ207、操作ボタン群208および通信ユニット209が接続される。
ROM202は、例えば書き換え可能なEEPROM(Electrically Erasable Programmable Read Only Memory)であり、OSファイルや各種アプリケーションファイル等を記憶する。RAM203は、顧客端末2のメインメモリとして機能する。スピーカ204は、CPU200から入力されるデジタル信号をアナログ信号に変換するDA変換器と、このアナログ信号の波形に応じて振動板を振動させることで音を発生する振動モジュールとを備える。マイク205は、受音した音に応じた波形のアナログ信号を生成する受音モジュールと、このアナログ信号をデジタル信号に変換するAD変換器と、上記アナログ信号の波高値から音圧レベル(dB)を計測する計測回路205aとを備える。マイク205は、上記デジタル信号および上記音圧レベルをCPU200に出力する。
ディスプレイ206は、例えばLCD(Liquid Crystal Display)であり、OSやアプリケーションによって提供される機能の実行指示を受け付ける待ち受け画面や、これら機能の実行画面等を表示する。タッチパネルセンサ207は、ディスプレイ206の表示面に設けられ、ユーザの指やスタイラスによる接触操作を検出する。操作ボタン群208は、顧客端末2への電源投入を指示するためのボタンや、実行中のアプリケーションを終了させるためのボタン等を含む。
通信ユニット209は、例えば携帯電話用の基地局と電波を介して無線通信することにより、顧客端末2を移動体通信網、PSTN(Public Switched Telephone Network)およびインターネット等で構成されるネットワーク9に対して接続する。ストアコンピュータSCもネットワーク9に対して接続されている。これらの接続により、顧客端末2およびストアコンピュータSCは、ネットワーク9を介してデータの送受信が可能となる。
顧客端末2のROM202が記憶するアプリケーションファイルには、スピーカ3が発する音を利用してレジ待ちの買物客に対し所定の特典を提供するレジ待ちアプリケーションに関するアプリケーション(AP)ファイル210が含まれる。このAPファイル210は、例えばネットワーク9に接続されたアプリケーション提供事業者のサーバから顧客端末2にダウンロードする。APファイル210は、レジ待ちアプリケーションを実行するためのコンピュータプログラムと、ディスプレイ206に表示させるAP画面データとを含む。なお本実施形態において、APファイル210に係るレジ待ちアプリケーションが提供する特典は、商品の購入金額からの値引きであるとする。
図5は、レジ待ちアプリケーションによる特典の提供に関し、POS端末1のCPU100および顧客端末2のCPU200が実現する機能を示すブロック図である。POS端末1のCPU100は、ROM102に記憶されたコンピュータプログラムを実行することで、音データ出力部121および特典提供部122等としての機能を実現する。また、顧客端末2のCPU200は、APファイル210に含まれるコンピュータプログラムを実行することで、待ち時間タイマ221、未検出時間タイマ222、パターン検出部223、タイマ制御部224、特典情報生成部225および出力部226等としての機能を実現する。
音データ出力部121は、到達範囲S内に所在する顧客端末2に対して送信する音データDを生成し、この音データDをスピーカ3に再生させる。
音データDは、例えば図6に示すように、パイロットトーンPTを表すビットパターン(信号パターン)と、広告情報(店舗のホームページのURL等)を表すビットパターンとを含む。スピーカ3は、入力された音データDを可聴帯域内の広域(約18KHz以上)の周波数で再生する。一般的なスピーカは、この周波数での再生が可能である。また、この周波数で再生された音は、人の耳では殆ど聞き取れない。
スピーカ3が発する再生音の波形W1は、音データDのビットが“1”の箇所において立ち上がる。スピーカ3の再生音は、減衰しながら到達範囲S内に広がる。到達範囲S内に所在する顧客端末2のマイク205は、スピーカ3の再生音を受音できる。マイク205が受音する再生音の波形W2は、少なくとも波形W1を減衰させた波形となる。この波形W2の再生音を受音したマイク205の受音モジュールが出力するアナログ信号を、マイク205のAD変換器がデジタル信号に変換することで、顧客端末2側で音データDが復元できる。
待ち時間タイマ221および未検出時間タイマ222は、例えば分、秒の単位で時間をカウントするソフトウェアタイマである。
パターン検出部223は、マイク205が出力するデジタル信号からパイロットトーンPTのビットパターンを検出する。
タイマ制御部224は、パターン検出部223の検出結果に基づいて、待ち時間タイマ221および未検出時間タイマ222を制御する。
特典情報生成部225は、待ち時間タイマ221がカウントする待ち時間に応じて、買物客に提供すべき特典の内容を表す特典情報を生成する
出力部226は、特典情報生成部225が生成した特典情報を出力する。特に本実施形態において、出力部226は、特典情報生成部225が生成した特典情報をバーパターン化したバーコードを生成し、このバーコードをディスプレイ206に表示させることによって、特典情報を出力する。
特典提供部122は、出力部226が出力した特典情報で示される内容の特典を買物客に提供する。
[顧客端末の動作]
次に、顧客端末2の動作の詳細について説明する。
買物客は、チェックアウトレーンLで会計を受けるべくマーカM内に並ぶ際に、顧客端末2を操作してレジ待ちアプリケーションの起動を指示する。このときCPU200は、APファイル210に含まれるコンピュータプログラムをRAM203に読み出して実行し、図7のフローチャートに沿って動作する。
すなわち、先ずCPU200は、音検出フラグF1および使用フラグF2をRAM203に生成し、それらの値を“0”にセットする(ステップS101)。次に、CPU200は、待ち時間タイマ221および未検出時間タイマ222をRAM203に生成し、待ち時間タイマ221がカウントする待ち時間T1および未検出時間タイマ222がカウントする未検出時間T2を“0分0秒”にセットする(ステップS102)。そしてCPU200は、パターン検出処理を起動する(ステップS103)。
パターン検出処理の起動後、CPU200は、APファイル210からAP画面データを読み出し、このAP画面データに基づくAP画面30をディスプレイ206に表示させる(ステップS104)。図8,図9,図10および図11は、AP画面30がディスプレイ206に表示された顧客端末2を示す平面図である。特に図8に示すAP画面30は、ステップS104における表示直後のAP画面30である。表示直後のAP画面30は、マイク205の受音感度を段階的に示す受音感度表示31と、現在の待ち時間T1を示す待ち時間表示32と、現在の待ち時間T1に応じた特典の内容(値引額)を示す特典表示33と、特典の使用を宣言するための使用ボタン34とを含む。使用ボタン34は、タッチパネルセンサ207を介して操作可能なGUI(Graphical User Interface)である。使用ボタン34が操作されると、CPU200は、使用フラグF2を“1”にセットする。
ステップS103にてパターン検出処理を起動すると、CPU200は、図7のフローチャートに示す動作と並行して、図12のフローチャートに沿って動作する。すなわち、先ずCPU200は、終了フラグF3をRAM203に生成し、その値を“0”にセットする(ステップS201)。次にCPU200は、APファイル210に予め保存されたパイロットトーンPTのビットパターンをRAM203に読み出す(ステップS202)。
次に、CPU200は、終了フラグF3が“0”または“1”のいずれにセットされているかを判定する(ステップS203)。例えば操作ボタン群208に含まれる終了ボタン208a(図8参照)が操作されたときに、CPU200は、終了フラグF3を“1”にセットする。終了フラグF3が“1”にセットされていると判定した場合(ステップS203のF3=1)、CPU200は、パターン検出処理を終了する。
一方、終了フラグF3が“0”にセットされていると判定した場合(ステップS203のF3=0)、CPU200は、マイク205から出力されるデジタル信号とステップS202で読み出したビットパターンとを一定時間比較することにより、当該ビットパターンの検出を試みる(ステップS204)。その後、CPU200は、パイロットトーンPTのビットパターンを検出できたかを判定する(ステップS205)。
買物客が到達範囲S内に顧客端末2を位置させている場合、CPU200は、パイロットトーンPTのビットパターンを検出できる(ステップS205のYES)。この場合、CPU200は、音検出フラグF1を“1”にセットする(ステップS206)。さらに、CPU200は、パイロットトーンPTのビットパターンに続く広告情報のビットパターンを検出してRAM203に保存する(ステップS207)。
一方、買物客が到達範囲S内に顧客端末2を位置させていない場合等には、CPU200は、パイロットトーンPTのビットパターンを検出できない(ステップS205のNO)。この場合、CPU200は、音検出フラグF1を“0”にセットする(ステップS208)。ステップS207またはS208の後、CPU200は、ステップS203の動作に戻る。このように、パターン検出処理が起動されている間、CPU200は、ステップS203〜208の動作を繰り返す。
図7のフローチャートの説明に戻る。ステップS104の後、CPU200は、音検出フラグF1が“0”または“1”のいずれにセットされているかを判定する(ステップS105)。音検出フラグF1が“0”にセットされていると判定した場合(ステップS105のF1=0)、CPU200は、終了フラグF3が“0”または“1”のいずれにセットされているかを判定する(ステップS106)。終了フラグF3が“1”にセットされていると判定した場合(ステップS106のF3=1)、CPU200は、AP画面30を消去してレジ待ちアプリケーションを終了する。終了フラグF3が“0”にセットされていると判定した場合(ステップS106のF3=0)、CPU200は、ステップS105の動作に戻る。
ステップS105にて音検出フラグF1が“1”にセットされていると判定した場合(ステップS105のF1=1)、CPU200は、待ち時間タイマ221に待ち時間T1のカウントを開始させる(ステップS107)。その後、CPU200は、音検出フラグF1が“0”または“1”のいずれにセットされているかを再度判定する(ステップS108)。
音検出フラグF1が“1”にセットされていると判定した場合(ステップS108のF1=1)、CPU200は、未検出時間タイマ222が未検出時間T2のカウント動作を実行中であるならば、当該カウント動作を停止させ、同タイマ222がカウントする未検出時間T2を“0分0秒”にリセットする(ステップS109)。また、CPU200は、待ち時間タイマ221が待ち時間T1のカウント動作を一時停止中であるならば、当該カウント動作を再開させる(ステップS110)。
次に、CPU200は、AP画面30の表示を更新する(ステップS111)。例えば現在の待ち時間T1が“0分0秒”である場合、CPU200は、計測回路205aが計測する音圧レベルに応じて受音感度表示31を更新する。受音感度表示31を更新するにあたり、CPU200は、例えば計測回路205aが一定時間内に計測する音圧レベルの平均値を求め、当該平均値を予め定められた3つの閾値と比較し、これら閾値で区切られる4つの区分のうちのいずれに当該平均値が属するかを判別する。そして、CPU200は、当該平均値が最も下位の区分に属するならば受音感度表示31を“圏外”とし、当該平均値が下から2番目の区分に属するならば受音感度表示31を黒バー1本とし、当該平均値が下から3番目の区分に属するならば受音感度表示31を黒バー2本とし、当該平均値が最上位の区分に属するならば受音感度表示31を黒バー3本とする。
また、現在の待ち時間T1が“0分0秒”でない場合、CPU200は、受音感度表示31を上記同様に更新するとともに、図9に例示するように待ち時間表示32を待ち時間タイマ221がカウントする現在の待ち時間T1(図9中では“01分23秒”)に更新し、特典表示33を現在の待ち時間T1に応じた値引額(図9中では“8円”)に更新し、AP画面30に新たに使用条件表示35と、広告エリア36とを配置する。特典表示33の値引額は、例えば待ち時間T1を秒に換算し、10秒で除して小数点以下を切り捨てた値とする。使用条件表示35は、“E円以上のお買物で利用できます”のように、特典表示33の値引額の値引きを会計時に使用するための条件を表す。金額Eは、例えば図9のように、特典表示33に係る値引額(8円)の10倍(80円)とする。CPU200は、広告エリア36に対し、ステップS207にてRAM203に保存したビットパターンで示される広告情報を配置する。広告情報が例えば店舗等のURLである場合、CPU200は、広告エリア36が接触操作されたことに応じて、通信ユニット209を介して当該URLへのリンクを試行する。
このようにAP画面30を更新した後、CPU200は、使用フラグF2が“0”または“1”のいずれにセットされているかを判定する(ステップS112)。使用フラグF2が“0”にセットされていると判定した場合(ステップS112のF2=0)、CPU200は、終了フラグF3が“0”または“1”のいずれにセットされているかを判定する(ステップS113)。終了フラグF3が“1”にセットされていると判定した場合(ステップS113のF3=1)、CPU200は、AP画面30を消去してレジ待ちアプリケーションを終了する。一方、終了フラグF3が“0”にセットされていると判定した場合(ステップS113のF3=0)、CPU200は、ステップS108の動作に移る。
レジ待ちアプリケーションを起動した買物客が到達範囲S内に一度入った後に、何らかの事情で到達範囲Sから離れると、パターン検出処理にて音検出フラグF1が“1”にセットされた後に(ステップS206)、同フラグF1が“0”にセットされる(ステップS208)。この状態で実行されるステップS108において、CPU200は音検出フラグF1が“0”にセットされていると判定し(ステップS108のF1=0)、未検出時間タイマ222が未検出時間T2のカウント動作を停止中であるならば当該カウント動作を開始させる(ステップS114)。その後、CPU200は、未検出時間T2が規定時間X以下(T2≦X)であるかを判定する(ステップS115)。規定時間Xは、パイロットトーンPTの受音が途絶えたときに、当該顧客端末2を持つ買物客が一時的に到達範囲Sから離脱したとみなして待ち時間T1のカウントを一時停止すべき場合と、パイロットトーンPTの一時的な受音不良等とみなして待ち時間T1のカウントを継続すべき場合とを隔てる閾値である。規定時間Xは、少なくともスピーカ3によるパイロットトーンPTの再生間隔よりも長い時間に設定する。
未検出時間T2が規定時間X以下であると判定した場合(ステップS115のYES)、CPU200は、ステップS111の動作に移る。一方、未検出時間T2が規定時間X以下でないと判定した場合(ステップS115のNO)、CPU200は、待ち時間タイマ221が待ち時間T1のカウント動作を実行中であるならば当該カウント動作を一時停止させる(ステップS116)。そして、CPU200は、未検出時間T2が規定時間Y以下(T2≦Y)であるかを判定する(ステップS117)。規定時間Yは、パイロットトーンPTの受音が途絶えたときに、当該顧客端末2を持つ買物客が到達範囲Sから完全に離脱したとみなして待ち時間T1のカウントを停止およびリセットすべき場合と、一時的な離脱であるとみなして待ち時間T1のカウントを一時停止に止めるべき場合とを隔てる閾値である。規定時間Yは、規定時間X以上に設定する(X≦Y)。
未検出時間T2が規定時間Y以下であると判定した場合(ステップS117のYES)、CPU200は、ステップS111の動作に移る。一方、未検出時間T2が規定時間Y以下でないと判定した場合(ステップS117のNO)、CPU200は、待ち時間タイマ221および未検出時間タイマ222を完全に停止させて、待ち時間T1および未検出時間T2を“0分0秒”にリセットする(ステップS118)。さらに、CPU200は、AP画面30の表示を更新する(ステップS119)。具体的には、CPU200は、図10に示すように受音感度表示31を“圏外”とし、待ち時間表示32を“00分00秒”にリセットし、特典表示33を“0円”にリセットし、使用条件表示35を消去する。但し、CPU200は、広告エリア36は消去せず、そのまま表示を維持する。したがって買物客は、受信レベルが“圏外”となっても広告エリア36に表された広告情報の閲覧等が可能となる。ステップS119の後、CPU200は、ステップS105に移り、再び音検出フラグF1が“1”にセットされるか、終了フラグF3が“1”にセットされるまで待機する。
さて、買物客が特典表示33で示される特典の提供を受けるべく使用ボタン34を操作すると、上述の通りCPU200は使用フラグF2を“1”にセットする。この状態で実行されるステップS112において、CPU200は、使用フラグF2が“1”にセットされていると判定し(ステップS112のF2=1)、買物客に提供される特典の内容を示す特典情報を生成するための処理を実行する。
本実施形態に係る特典情報は、特典の内容を示す13桁の数値列であるとする。この数値列は、JAN13に準じ、先頭から順に2桁のヘッダ、2桁のクーポンコード、3桁の金額情報、5桁のクーポンID、1桁のチェックデジットで構成する。ヘッダは、インストアコードである“21”を常に使用する。クーポンコードは、合計代金からの“値引き”に対して“10”、合計代金の“割引き”に対して“20”、ポイントカードへの“ポイント還元”に対して“30”のように、提供する特典の内容毎に異なる番号を割り当てたものである。
特典情報を生成するにあたり、具体的にはCPU200は、先ずクーポンIDを取得する(ステップS120)。このときCPU200は、例えばネットワーク9を介してストアコンピュータSCにクーポンIDの発行を要求するコマンドと、ヘッダおよびクーポンコードからなるインデックス(本例では“2110”となる)とを送信し、ストアコンピュータSCからクーポンIDの返信を受けることで当該IDを取得する。ストアコンピュータSCは、顧客端末2から上記コマンドと上記インデックスとを受信すると、当該インデックスに対して過去に発行した他のクーポンIDと重複しないユニークなクーポンIDを生成し、ネットワーク9を介して顧客端末2に返信する。なお、クーポンIDを得るための顧客端末2およびストアコンピュータSC間の通信は、ネットワーク9を経由せずに、店舗内に設置されたアクセスポイント等を介して行われてもよい。
次に、CPU200は、ヘッダである“21”、値引きのクーポンコードである“10”、AP画面30に特典表示33として表された金額情報、ステップS120にて取得したクーポンID、チェックデジットをこの順で含む13桁の数値列を生成し、RAM203に保存する(ステップS121)。なお、チェックデジットは、ヘッダ、クーポンコード、金額情報、およびクーポンIDを所定の計算式に当てはめることで求める。
さらに、CPU200は、RAM203に保存した13桁の数値列をバーパターン化したバーコードデータを生成し、RAM203に保存する(ステップS122)。そして、CPU200は、RAM203に保存したバーコードデータに基づくバーコードBCをディスプレイ206に表示させる(ステップS123)。バーコードBCは、例えば図11に示すようにAP画面30中に配置する。図11の例では、AP画面30から使用ボタン34および広告エリア36を消去し、これによって空いた領域にバーコードBCを配置している。また、図11の例では、AP画面30から受音感度表示31および待ち時間表示32を消去し、これによって空いた領域に当該バーコードBCの使用方法を買物客に知らせる使用方法表示37を配置している。バーコードBCは、“2110050000016”のコードを表す。このコードは、上述したバーコードデータ生成の手順通りに解釈すれば、50円の値引きを示すことが分かる。買物客はバーコードBCが表示されたAP画面30をキャッシャに見せ、特典の提供(値引の実施)を受ける。
バーコードBCをディスプレイ206に表示させた状態で、CPU200は、終了フラグF3が“1”にセットされるまで待機する(ステップS124)。やがて終了ボタン208aが操作され、終了フラグF3が“1”にセットされると(ステップS124のF3=1)、CPU200は、AP画面30を消去してレジ待ちアプリケーションを終了する。
以上のような顧客端末2のCPU200の動作のうち、ステップS107,S109,S110,S114,S116,S118等がタイマ制御部224としての機能であり、ステップS204等がパターン検出部223としての機能であり、ステップS120,S121等が特典情報生成部225としての機能であり、ステップS122,S123等が出力部226としての機能である。
[POS端末の動作]
続いて、POS端末1の動作の詳細について説明する。
POS端末1のCPU100は、キーボード105の操作や図示せぬ鍵スイッチの操作に従って、商品を販売処理する商品登録モードや各種保守作業を行うメンテナンスモード等の間でPOS端末1の動作モードを切り替える。動作モードを商品登録モードに設定したとき、CPU100は、ROM102に記憶されたコンピュータプログラムをRAM103に読み出して実行し、図13のフローチャートに沿って動作する。
すなわち、先ずCPU100は、ROM102に予め記憶されたパイロットトーンPTのビットパターンをRAM103に読み出す(ステップS301)。さらに、CPU100は、ROM102に予め記憶された広告情報のビットパターンをRAM103に読み出す(ステップS302)。但し、パイロットトーンPTのビットパターンや広告情報は、HDD104から読み出してもよいし、ストアコンピュータSCから取得してもよい。
続いて、CPU100は、RAM103に読み出したパイロットトーンPTのビットパターンおよび広告情報のビットパターンをこの順に配置した音データDを生成する(ステップS303)。CPU100は、生成した音データDをスピーカ3に出力し、スピーカ3に音データDの再生を開始させる(ステップS304)。以降、POS端末1から再生停止を指示するまでの間、スピーカ3は音データDを連続再生する。
音データDの再生開始の後、CPU200は、スキャナ109をバーコードのスキャニングを受け付ける状態に移行(有効化)させる(ステップS305)。また、CPU100は、RAM103に締めフラグF4を形成し、その値を“0”にセットする(ステップS306)。締めフラグF4は、キーボード105の締めキーが操作されたときに、CPU100によって“1”にセットされる。
以上の準備処理が完了すると、POS端末1は、商品登録を受け付ける状態となる。この状態で、先ずCPU100は、現在の動作モードが依然として登録モードであるかを判定する(ステップS307)。キャッシャがキーボード105や上記鍵スイッチの操作によって動作モードを登録モード以外のモードに変更している場合(ステップS307のNO)、CPU100は、スキャナ109をバーコードのスキャニングを受け付けない状態に移行(無効化)させる(ステップS308)。さらに、CPU100は、スピーカ3に音データDの再生停止を指示する(ステップS309)。この指示を受けたスピーカ3は、音データDの再生を停止する。その後、CPU100は、登録モードに係る動作を終了する。
一方、現在の動作モードが登録モードのままである場合(ステップS307のYES)、CPU100は、締めフラグF4が“0”または“1”のいずれにセットされているかを判定する(ステップS310)。締めフラグF4が“0”にセットされていると判定した場合(ステップS310のF4=0)、CPU100は、スキャナ109にてバーコードがスキャニングされたかを判定する(ステップS311)。スキャナ109から何らバーコードデータが出力されていないならば、スキャニングされていないと判定し(ステップS311のNO)、CPU100はステップS307の動作に移る。
一方、スキャナ109から何らかのバーコードデータが出力されているならば、スキャニングされたと判定し(ステップS311のYES)、CPU100は、当該バーコードデータをRAM103に書き込むとともに、当該バーコードデータの種別を判定する(ステップS312)。具体的にはCPU100は、RAM103に書き込んだバーコードデータの先頭2桁を参照し、その数値が商品の識別用として割り当てられた数値である場合には当該バーコードデータが商品用であると判定し、クーポンに割り当てられたインストアコードである“21”の場合には当該バーコードデータがクーポン用であると判定し、それら以外の場合にはその他の用途で用いられるバーコードデータであると判定する。
ステップS312にてRAM103に書き込んだバーコードデータが商品用であると判定した場合(ステップS312の“商品用BC”)、CPU100は、HDD104に保存された商品マスタを参照し、当該バーコードデータで示される商品識別コードに関連付けられた商品情報を特定する(ステップS313)。商品情報を特定すると、CPU100は、当該商品情報をRAM103に形成した商品登録バッファに書き込む(ステップS314)。
ステップS312にてRAM103に書き込んだバーコードデータが上記その他の用途で用いられるバーコードデータであると判定した場合(ステップS312の“その他”)、CPU100は、当該バーコードデータをRAM103から消去(破棄)する(ステップS315)。その後、CPU100は、ステップS307の動作に移る。
ステップS312にてRAM103に書き込んだバーコードデータがクーポン用のバーコードデータであると判定した場合(ステップS312の“クーポン用BC”)、CPU100は、当該バーコードデータと、HDD104に保存された使用済みクーポンIDファイル41とを照合する(ステップS316)。
使用済みクーポンIDファイル41のデータ構造例を図14に示す。このファイル41は、クーポン用のバーコードデータのヘッダおよびクーポンコードからなるインデックスごとに設けられた複数のリスト42を含む。図14の例では、インデックス“2110”に対するリストをリスト42-1とし、インデックス“2120”に対するリストをリスト42-2とし、インデックス“2130”に対するリストをリスト42-3としている。各リスト42には、対応するインデックスを含むバーコードデータのうち、既に使用されたバーコードデータに含まれるクーポンIDが書き込まれている。使用済みクーポンIDファイル41は、例えば商品登録モードでの動作開始時に、CPU100がストアコンピュータSCからダウンロードし、HDD104に保存する。
ステップS316において、具体的にはCPU100は、ステップS312にてRAM103に書き込んだバーコードデータに含まれるインデックスに対応するリスト42を参照し、そのリスト42から当該バーコードデータに含まれるクーポンIDを検索する。その結果、参照したリスト42に当該バーコードデータに含まれるクーポンIDと一致するIDが存在しないならば(ステップS316の“一致するID無し”)、CPU100は、当該リスト42に当該クーポンIDを追加する(ステップS317)。
さらに、CPU100は、図15に示すデータ構造のクーポンマスタ43を参照し、ステップS312にてRAM103に書き込んだバーコードデータで示される特典の内容を特定する(ステップS318)。クーポンマスタ43は、例えば予めHDD104に保存されている。クーポンマスタ43は、クーポン用のバーコードデータのヘッダおよびクーポンコードからなるインデックスに対して特典の内容を関連付けたテーブルである。インデックスと特典の内容との関係は、顧客端末2の動作の説明にて既述のクーポンコードと特典の内容との関係に準じる。
ステップS318において、具体的にはCPU100は、ステップS312にてRAM103に書き込んだバーコードデータに含まれるインデックスに関連付けられた特典の内容をクーポンマスタ43から特定する。
そして、CPU100は、特定した特典の内容に応じて買物客に対し特典を提供する(ステップS319)。本実施形態では、顧客端末2のディスプレイ206に表示されるバーコードデータは値引きに関するものである。すなわち、ステップS312にてRAM103に書き込んだバーコードデータがAP画面30に配置されたバーコードBCをスキャニングして得られたものである場合、ステップS319においては“値引き”が特典の内容として特定される。この場合、ステップS319においてCPU100は、ステップS312にてRAM103に書き込んだバーコードデータに含まれる金額情報で示される金額の値引きを表す値引情報を、商品登録バッファに書き込む。
一方、ステップS316において、RAM103に書き込んだバーコードデータに含まれるクーポンIDと一致するIDが参照したリスト42に存在する場合(ステップS316の“一致するID有り”)、CPU100は、スキャニングされたバーコードは使用できない旨のエラーメッセージをオペレータ用ディスプレイ107および客用ディスプレイ108に表示させる(ステップS320)。
ステップS314、S319、またはS320の後、CPU100は、商品登録バッファに書き込まれている情報に基づいて取引の合計金額を算出する(ステップS321)。このときCPU100は、商品登録バッファに商品情報のみが書き込まれているならば各商品情報に含まれる価格を合計した金額を取引の合計金額とする。また、CPU100は、商品登録バッファに商品情報に加えて値引情報が書き込まれているならば、各商品情報に含まれる価格を合計した金額から当該値引情報が表す値引額を差し引いた金額を取引の合計金額とする。
このように合計金額を算出した後、CPU100は、オペレータ用ディスプレイ107および客用ディスプレイ108の画面表示を更新する(ステップS322)。すなわちCPU100は、ステップS314またはS319にて商品登録バッファに新たに書き込まれた商品情報または値引情報をオペレータ用ディスプレイ107の表示画面に含まれる登録済み情報表示用の領域に追加表示させ、オペレータ用ディスプレイ107および客用ディスプレイ108の表示画面に含まれる合計金額表示用の領域に表示された合計金額を上記算出した合計金額にて更新する。
このように各ディスプレイ107,108の画面表示を更新した後、CPU100は、矢印Aで示すようにステップS307の動作に移る。
キャッシャは、買物客が購入する全ての商品のバーコードやクーポン用のバーコードをスキャニングし終えたならば締めキーを操作する。締めキーの操作により、上述の通り締めフラグF4が“1”にセットされる。この状態で実行されるステップS310において、CPU100は、締めフラグF4が“1”にセットされていると判定し(ステップS310のF4=1)、矢印Bで示す手順に移って締め処理を実行する(ステップS323)。締め処理において、CPU100は、現金決済、クレジットカード決済、電子マネー決済等の決済方法の指定を受け付け、受け付けた決済方法に応じた決済処理を行う。
締め処理の後、CPU100は、カードR/W110にて買物客のポイントカードが読み取られたならば、取引の合計金額に応じたポイントを付与する(ステップS324)。ポイントは種々の方法で付与できる。例えばポイントカードにポイントの記憶セクションが設けられているならば、CPU100は、カードR/W110を制御して当該セクションに記憶されたポイントを読み取り、読み取ったポイントに取引の合計金額に応じたポイントを加算し、加算後のポイントを当該セクションに書き込む。
最後に、CPU100は、当該取引の明細情報が印字されたレシートをプリンタ111に発行させる(ステップS325)。以上で一取引に係る一連の動作が完了し、CPU100はステップS306の動作に移る。
以上のようなPOS端末1のCPU100の動作のうち、ステップS301〜S304等が音データ出力部121としての機能であり、ステップS319等が特典提供部122としての機能である。
以上説明した会計システムが導入された店舗において、買物客がチェックアウトレーンLに並ぶ際に自身が所持する顧客端末2でレジ待ちアプリケーションを起動すると、顧客端末2は待ち時間T1のカウントを開始する。買物客は、自身の会計順が到来したならば、使用ボタン34を操作し、ディスプレイ206にバーコードBCを表示させてキャッシャに提示する。キャッシャがこのバーコードBCをスキャナ109でスキャニングすると、POS端末1は商品登録バッファに当該バーコードBCに係る値引情報を登録し、取引の合計金額からの値引きを実施する。このように待ち時間T1に応じた特典が提供されれば、チェックアウトレーンLが混雑している場合であっても、買物客の不満を和らげることができる。また、従来並ぶことを嫌って退店していた買物客に対しても、退店を踏みとどまらせるモチベーションを与えることができる。
また、本実施形態に係る会計システムでは、スピーカ3から発せられる音を利用して顧客端末2に待ち時間T1をカウントさせるので、顧客端末2を所持する買物客がマーカM内に所在するかを判別するための大掛かりな設備を導入する必要がなく、本会計システムの店舗への導入が容易である。
また、本実施形態に係る会計システムでは、買物客に提供されるべき特典の内容を、顧客端末2のディスプレイ206に表示されたバーコードBCをスキャナ109によりスキャニングすることでPOS端末1に認識させる。このように既存のスキャナ109を利用して特典の内容を顧客端末2からPOS端末1に伝達させれば、顧客端末2からPOS端末1に特典の内容を伝達するための特別なインターフェースを用意する必要がなく、本会計システムの店舗への導入がより容易になる。
また、本実施形態に係る会計システムは、会計場の混雑を解消するためにチェックアウトレーンの増設やキャッシャの増員等を実施することができない店舗(小型店舗等)でレジ待ち客の不満解消を図る手段として極めて有効である。
また、複数のチェックアウトレーンが会計場に配置された大型の店舗において、いずれかのレーンを対象として本実施形態に係る会計システムを導入しても有効である。このようにすれば、長く並んで特典の提供を受けたい買物客が当該レーンに多く並び、他のレーンの混雑が緩和されると予想される。すなわち、早く会計を受けたい買物客は、当該他のレーンで迅速な会計を受けることができる。
その他、本実施形態の構成からは種々の好適な効果が得られる。
(第2の実施形態)
第2の実施形態について説明する。
本実施形態では、第1の実施形態において顧客端末2のCPU200が実現するとした特典情報生成部225をPOS端末1のCPU100に実現させ、顧客端末2のCPU200が実現するとした出力部226には単に待ち時間T1をPOS端末1に出力させる点で第1の実施形態と相違する。
会計システムの構成や、POS端末1および顧客端末2のブロック図など、第1の実施形態と同一の構成については説明を省略し、主に第1の実施形態との相違点について説明する。
[顧客端末の動作]
本実施形態に係る顧客端末2は、図7のフローチャートに代え、図16に示すフローチャートに沿って動作する。このフローチャートにおいて第1の実施形態と異なる部分は、CPU200がステップS120〜S123の動作に代えて、ステップS120aの動作を実行する点である。
すなわち、CPU200は、ステップS112の実行時に使用フラグF2が“1”にセットされていると判定した場合(ステップS112のF2=1)、待ち時間タイマ221がカウントする待ち時間T1を、ネットワーク9およびストアコンピュータSCを介してPOS端末1に送信する(ステップS120a)。このとき、AP画面30には、図11におけるバーコードBCに代えて、例えばPOS端末1への待ち時間T1の送信が完了した旨のメッセージを配置する。
本実施形態においては、CPU200が実行する動作のうち、ステップS120a等が出力部226としての機能である。
[POS端末の動作]
本実施形態に係るPOS端末1は、図13のフローチャートに代え、図17に示すフローチャートに沿って動作する。このフローチャートにおいて第1の実施形態と異なる部分は、CPU100がステップS316〜S320の動作に代えて、ステップS316a〜S318aの動作を実行する点である。
すなわち、ステップS311の実行時点でスキャナ109にてバーコードがスキャニングされておらず、スキャナ109からバーコードデータが出力されていない場合(ステップS311のNO)、CPU100は、顧客端末2から待ち時間T1を受信しているかを判定する(ステップS316a)。顧客端末2がステップS120aにて送信する待ち時間T1を、通信ユニット106を介して受信していない場合(ステップS316aのNO)、CPU100は、矢印Aで示すようにステップS307の動作に移る。
一方、顧客端末2がステップS120aにて送信する待ち時間T1を、通信ユニット106を介して受信している場合(ステップS316aのYES)、CPU100は、特典情報を生成する(ステップS317a)。具体的にはCPU100は、受信した待ち時間T1を秒に換算し、10秒で除して小数点以下を切り捨てた値を算出し、算出した値を値引額とした値引情報を生成する。すなわち本実施形態では、この値引情報が待ち時間T1に基づいて生成される特典情報となる。
その後、CPU100は、買物客に対し特典を提供する(ステップS318a)。具体的にはCPU100は、ステップS317aにて生成した値引情報を商品登録バッファに書き込む。その後、CPU100は、ステップS321の動作に移る。
このように値引情報を商品登録バッファに書き込むことによって、第1の実施形態と同様に取引の合計代金から当該値引情報に係る値引きが実施される。
本実施形態においては、CPU100が実行する動作のうち、ステップS317a等が特典情報生成部225としての機能であり、ステップS318a等が特典提供部122としての機能である。
以上説明した本実施形態の構成であっても、第1の実施形態と同様にチェックアウトレーンLに並ぶ買物客の不満を和らげることができることに変わりはない。その他の点においても第1の実施形態と同様の効果を奏する。
さらに、本実施形態の構成においては、POS端末1側で特典情報の生成に関わる処理を行うので、顧客端末2の処理負担を軽減できる。
(変形例)
上記各実施形態にて開示した構成は、種々の変形実施が可能である。
例えば第1の実施形態において、顧客端末2からPOS端末1に特典情報を出力する方法はバーコードBCを用いたものに限られず、2次元コードデータ等の他種のコードシンボルを用いてもよいし、ネットワーク9を介して顧客端末2からPOS端末1に特典情報が出力されてもよい。また第2の実施形態において、顧客端末2からPOS端末1に待ち時間T1を出力する方法はネットワーク9を介した通信に限られず、第1の実施形態と同様にバーコードデータを用いて待ち時間T1が出力されてもよい。さらに、顧客端末2およびPOS端末1に赤外線等を利用してデータを送受信する送受信部を設け、これら送受信部間の通信により顧客端末2からPOS端末1に特典情報や待ち時間T1を出力させてもよい。
また、スピーカ3に代えて、POS端末1に内蔵されたスピーカを利用して音データDを再生してもよい。
また、音データDに含ませるパイロットトーンPTのビットパターンは、レジ待ちアプリケーションを用いた不正を防止すべく、所定期間(例えば1日)ごとに変更してもよい。この場合、パイロットトーンPTのビットパターンを変更するタイミングで、例えばアプリケーションの配信事業者のサーバやストアコンピュータSC等からPOS端末1および顧客端末2に変更後のビットパターンを配信すればよい。
また、レジ待ちアプリケーションが提供する特典は値引きに限られず、取引の合計金額からの割引きや買物客へのポイント還元など他のものであってもよい。提供する特典を割引きとする場合には待ち時間T1が長いほど割引率を増加させ、提供する特典をポイント還元とする場合には待ち時間T1が長いほど還元するポイントを増加させればよい。
また、待ち時間T1に応じた特典の内容は、買物客が自由に選択できるようにしてもよい。このような構成とする場合、例えばレジ待ちアプリケーションの起動時に顧客端末2の操作により提供を受けたい特典の内容の選択を受け付けるようにすればよい。また、第2の実施形態のようにPOS端末1に待ち時間T1を出力し、POS端末1の操作により提供を受けたい特典の内容の選択を受け付けるようにしてもよい。
また、第1の実施形態のステップS120,S121の動作において、ストアコンピュータSCに接続せずに特典情報を生成するようにしてもよい。この場合、例えばレジ待ちアプリケーションを顧客端末2にダウンロードする際に、アプリケーション提供事業者のサーバが当該顧客端末2にユニークな数値列で構成されるユーザIDを発行し、このユーザIDを顧客端末2のROM202に記憶させる。そして、例えば使用ボタン34が操作されるたびに1ずつ増加するシーケンシャルな番号をCPU200が生成し、この番号をROM202に記憶されたユーザIDに付加したものをクーポンIDの代わりに用いてCPU200がバーコードデータを生成する構成とする。さらに、シーケンシャルな番号を当該番号に割り当てられた桁数内で使い切った場合に限り、顧客端末2がアプリケーション提供事業者のサーバにアクセスして新たなユーザIDの発行を受けるようにする。このようにすれば、顧客端末2やストアコンピュータSCの処理負担を軽減できる。
また、上記各実施形態では、POS端末1内部のプログラム記憶部であるROM102に各種機能を実現させるためのコンピュータプログラムが予め記録されているものとした。しかしこれに限らず、同様のプログラムがネットワークからPOS端末1にダウンロードされてもよい。あるいは、記録媒体に記録された同様のプログラムがPOS端末1にインストールされてもよい。また、上記各実施形態では、顧客端末2内部のプログラム記憶部であるROM202にネットワークからダウンロードされたレジ待ちアプリケーションが記憶されるとした。しかしこれに限らず、同様のアプリケーションが顧客端末2の出荷段階でROM202に書き込まれていてもよいし、記録媒体に記録された同様のアプリケーションが顧客端末2にインストールされてもよい。記録媒体は、CD−ROM,メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。また、プログラムのインストールやダウンロードにより得る機能は、装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
また、POS端末1や顧客端末2の動作を実現する機能や、POS端末1や顧客端末2が備える構成の一部を、POS端末1や顧客端末2に通信接続されたサーバ装置に設けてもよい。
このようにしてシステムを構築する場合、例えばクラウドコンピューティングを利用できる。具体的には、SaaS(Software as a Service)と称されるソフトウェア提供形態が適する。
図18は、クラウドシステムを利用する会計システムの構成図である。この会計システム300は、POS端末1、顧客端末2、クラウド301、複数の通信ネットワーク302、および互いに通信接続された複数のサーバ装置303を含む。通信ネットワーク302およびサーバ装置303は、それぞれ1つのみでもよい。
POS端末1および顧客端末2は、通信ネットワーク302を介してクラウド301と通信可能である。通信ネットワーク302としては、インターネット、プライベートネットワーク、次世代ネットワーク(NGN)、あるいはモバイルネットワークなど種々のネットワークを適宜に利用できる。
このような構成の会計システム300において、上記各実施形態に係るPOS端末1や顧客端末2の動作を実現する機能およびPOS端末1や顧客端末2が備えるとした構成の少なくとも一部をサーバ装置303に設け、残りの機能や構成をPOS端末1および顧客端末2に設ける。なお、複数のサーバ装置303に分担して上記機能や構成を設けてもよい。
例えば、第1の実施形態における待ち時間タイマ221、未検出時間タイマ222、パターン検出部223、タイマ制御部224、特典情報生成部225および出力部226としての機能のうち少なくとも1つを1又は複数のサーバ装置303に設ける。そして、これら各部としての機能のうち、各サーバ装置303が備えないものと、上記各実施形態にて開示したその他の機能や構成とを顧客端末2に設ける。
また、第1の実施形態における音データ出力部121および特典提供部122としての機能のうち少なくとも1つをサーバ装置303に設ける。そして、これら各部としての機能のうち、各サーバ装置303が備えないものと、上記各実施形態にて開示したその他の機能や構成とをPOS端末1に設ける。
このような会計システムにおいて、POS端末1または顧客端末2とサーバ装置303とを適宜通信させながら、図7、図12および図13に示したフローチャートに相当する動作を行わせて処理を進行すればよい。第2の実施形態に関しても同様に、POS端末1および顧客端末2の動作を実現する機能あるいはPOS端末1および顧客端末2が備えるとした構成の一部をサーバ装置303に設け、残りをPOS端末1および顧客端末2に設け、POS端末1または顧客端末2とサーバ装置303とを適宜通信させながら、図16および図17に示したフローチャートに相当する動作を行わせて処理を進行すればよい。
このような会計システム300によっても、上記各実施形態にて説明した効果を得ることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。