以下、グループで来店した客が使用する情報端末から会計指示が行われた場合に、同じグループの他のメンバが使用する情報端末からの商品登録を禁止できる購買支援装置の実施形態について、図面を用いて説明する。詳しくは、カートPOSシステムと称される店舗システムのサーバを購買支援装置として機能させる実施形態について、図1乃至図23を用いて説明する。
図1は、本実施形態に係るカートPOSシステム1の全体構成図である。カートPOSシステム1は、店舗サーバ10、会員サーバ20、仮想POSサーバ30、アテンダント端末40、会計機50、情報端末60及びアクセスポイント70を含む。またカートPOSシステム1は、ネットワーク2を含む。ネットワーク2は、店舗サーバ10、会員サーバ20、仮想POSサーバ30、アテンダント端末40、会計機50及びアクセスポイント70を通信自在に接続する。ネットワーク2は、例えばLAN(Local Area Network)である。
情報端末60は、購買者である客が、購買商品の登録に係るデータの入力をセルフで行うことを可能とした機器である。情報端末60は、ショッピングカートCに設けられている。以下では、ショッピングカートCを単にカートCと称する。カートCは、そのカートCのユーザである客の購買商品を搬送する搬送体の一例である。
情報端末60は、無線ユニットを備えている。情報端末60は、アクセスポイント70と無線通信を行う。アクセスポイント70は、ネットワーク2に繋がる各機器、すなわち店舗サーバ10、会員サーバ20、仮想POSサーバ30、アテンダント端末40及び会計機50と、情報端末60との通信を中継する。アクセスポイント70は、図1では1台のみ示しているが、店舗の規模等により2台以上あってもよい。
店舗サーバ10は、店舗業務を支援する。その支援のために店舗サーバ10は、商品データベース、売上データベース等を管理する。商品データベースは、店舗で販売される商品毎に商品データを記述した商品レコードを保存する。商品データは、商品コード、価格、商品名等を含む。商品コードは、商品の識別コードである。売上データベースは、商品、部門、時間帯、日付、週、月等の項目毎に売上データを記述した売上レコードを保存する。売上データは、売上点数、売上金額等を含む。
会員サーバ20は、会員登録をした客いわゆる会員の購買業務を支援する。その支援のために会員サーバ20は、会員データベースを管理する。会員データベースは、会員毎に会員データを記述した会員レコードを保存する。会員データは、会員を個々に識別するために会員毎に割り当てられた固有の会員IDを含む。会員データは、その会員に対して付与されたサービスポイントの累積値、その会員が買い上げた購買商品の履歴等を含んでもよい。
仮想POSサーバ30は、情報端末60と協働することで、その情報端末60がPOS端末として機能しているように見せかけるための支援を行う。因みに本実施形態では、仮想POSサーバ30が購買支援装置として機能する。
アテンダント端末40は、監視員、いわゆるアテンダントが常駐するアテンダントカウンタに設けられる。アテンダント端末40は、各情報端末60及び会計機50の状態を表示するための表示デバイスを備えている。アテンダントは、表示デバイスに表示される情報から、各情報端末60及び会計機50の状態をリアルタイムで監視する。
会計機50は、買上商品の会計を店員若しくは客が行うことを可能とした機器である。会計機50は、周知のセルフ式POS端末である。会計機50は、周知の対面式POS端末であってもよい。会計機50の台数は、特に制限されない。図1では、1店舗に3台の会計機50が設置されたカートPOSシステム1を示している。
図2は、情報端末60の要部回路構成を示すブロック図である。情報端末60は、プロセッサ61、メインメモリ62、補助記憶デバイス63、無線ユニット64、タッチパネル65、スキャナ66、リーダ67、カメラ68、ランプ69及びシステム伝送路610を備える。システム伝送路610は、アドレスバス、データバス、制御信号線等を含む。情報端末60は、システム伝送路610に、プロセッサ61、メインメモリ62、補助記憶デバイス63、無線ユニット64、タッチパネル65、スキャナ66、リーダ67、カメラ68及びランプ69を接続する。情報端末60では、プロセッサ61、メインメモリ62及び補助記憶デバイス63と、これらを接続するシステム伝送路610とによってコンピュータが構成される。
プロセッサ61は、上記コンピュータの中枢部分に相当する。プロセッサ61は、オペレーティングシステム又はアプリケーションプログラムに従って、情報端末60としての各種の機能を実現するべく各部を制御する。プロセッサ61は、例えばCPU(Central Processing Unit)である。
メインメモリ62は、上記コンピュータの主記憶部分に相当する。メインメモリ62は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ62は、不揮発性のメモリ領域ではオペレーティングシステム又はアプリケーションプログラムを記憶する。メインメモリ62は、プロセッサ61が各部を制御するための処理を実行する上で必要なデータを不揮発性又は揮発性のメモリ領域で記憶する場合もある。メインメモリ62は、揮発性のメモリ領域を、プロセッサ61によってデータが適宜書き換えられるワークエリアとして使用する。不揮発性のメモリ領域は、例えばROM(Read Only Memory)である。揮発性のメモリ領域は、例えばRAM(Random Access Memory)である。
補助記憶デバイス63は、上記コンピュータの補助記憶部分に相当する。例えばEEPROM(Electric Erasable Programmable Read-Only Memory)、HDD(Hard Disc Drive)、あるいはSSD(Solid State Drive)等が補助記憶デバイス63となり得る。補助記憶デバイス63は、プロセッサ61が各種の処理を行う上で使用するデータ、あるいはプロセッサ61での処理によって作成されたデータ等を保存する。補助記憶デバイス63は、上記のアプリケーションプログラムを記憶する場合もある。
無線ユニット64は、アクセスポイント70との間で無線通信プロトコルに従いデータの無線通信を行う。
タッチパネル65は、情報端末60の入力デバイスと表示デバイスとを兼ね備えた機器である。タッチパネル65は、表示された画像に対するタッチ位置を検出し、そのタッチ位置情報をプロセッサ61に出力する。
スキャナ66は、商品に付されたバーコード、二次元データコード等のコードシンボルを読み取る。商品には、その商品コードを表すコードシンボルが付されている。スキャナ66は、読み取ったコードシンボルのデータをプロセッサ61に出力する。スキャナ66は、レーザ光の走査によりコードシンボルを読み取るタイプであってもよいし、撮像デバイスで撮像した画像からコードシンボルを読み取るタイプであってもよい。
リーダ67は、記録媒体に記録されたデータを読み取り、読み取ったデータをプロセッサ61に出力する。リーダ67は、記録媒体が磁気カードの場合には磁気カードリーダであり、接触式ICカードの場合にはICカードリーダである。非接触式ICカード又はスマートフォン等のようにRFID(Radio Frequency Identification)を使用した記録媒体の場合には、RFIDリーダがリーダ67として使用される。
カメラ68は、カートCの籠受部に置かれた籠を上方から撮影できるように、カートCに設けられている。カメラ68は、カートCのユーザである客が買上商品を正しく籠に入れたか否かを監視するためのものである。
ランプ69は、カートCの状態を客又は店員に知らせるためのものである。例えばグループ客が複数台のカートCを使用している場合、それぞれのカートCに設けられたランプ69が点灯又は点滅することで、グループ客が使用しているカートCであることを周囲に知らしめる。このとき、グループ毎に異なる色で点灯又は点滅するようにすることで、グループを識別できるようにするとよい。
以上のような回路構成要素を備えた情報端末60において、プロセッサ61、メインメモリ62、補助記憶デバイス63、無線ユニット64及びタッチパネル65は、タブレット端末TMによって構成されている。そしてこのタブレット端末TMに、スキャナ66、リーダ67、カメラ68及びランプ69を電気的に接続することで、情報端末60が構成されている。
図3は、情報端末60が設けられたカートCの一例を示す斜視図である。カートCは、移動用のキャスタ部C1と、ハンドルフレーム部C2と、籠受部C3とを備えている。キャスタ部C1は、床面上を円滑に移動させるための4輪の車輪C11を有している。またキャスタ部C1は、買物カゴSBに入らないような大きな荷物を置くための受け部C12を備えている。ハンドルフレーム部C2は、キャスタ部C1の後輪側に立設された一対の縦フレームC21,C21と、これら縦フレームC21,C21の上端を連結するハンドルバーC22と、を含む。籠受部C3は、ハンドルフレーム部C2の中途部位から前方にある。カートCは、籠受部C3に、店備え付けの買物カゴSBを載置することができる。買物カゴSBは、商品を収容するためのものである。
スキャナ66は、ハンドルバーC22の中途部にある。スキャナ66は、手前側に読取窓が位置するようにハンドルバーC22に取り付けられている。手前側は、ハンドルバーC22を持ってカートCを押す客が立つ側である。
一方の縦フレームC21に、ポールC4が取り付けられている。ポールC4は、その先端がハンドルバーC22よりも上方に位置している。タブレット端末TMは、タッチパネル65の画面を手前にしてポールC4の先端部に取り付けられている。リーダ67は、カートスリットが手前側に位置するようにタブレット端末TMのフレームに取り付けられている。図5においては、リーダ67を磁気カードリーダとしている。カメラ68は、籠受部C3に置かれた買物カゴSBの全体を上方から撮像するように、ポールC4の中途部に取り付けられている。ランプ69は、リーダ67と同様に、タブレット端末TMのフレームに設けられている。なお、ランプ69の取り付け箇所はタブレット端末TMのフレームに限定されるものではない。例えばランプ69は、ポールC4の一部に取り付けられていてもよい。あるいはランプ69は、スキャナ66の上部に取り付けられていてもよい。
バッテリBTは、ハンドルフレーム部C2の下端側に、縦フレームC21,C21に亘って取り付けられている。バッテリBTは、タブレット端末TM、スキャナ66、リーダ67、カメラ68及びランプ69の駆動電源となる。
図4は、仮想POSサーバ30の要部回路構成を示すブロック図である。仮想POSサーバ30は、プロセッサ31、メインメモリ32、補助記憶デバイス33、通信インターフェース34及びシステム伝送路35を備える。システム伝送路35は、アドレスバス、データバス、制御信号線等を含む。仮想POSサーバ30は、システム伝送路35に、プロセッサ31、メインメモリ32、補助記憶デバイス33、通信インターフェース34を接続する。仮想POSサーバ30では、プロセッサ31、メインメモリ32及び補助記憶デバイス33と、これらを接続するシステム伝送路35とによってコンピュータが構成される。
プロセッサ31は、上記コンピュータの中枢部分に相当する。プロセッサ31は、オペレーティングシステム又はアプリケーションプログラムに従って、仮想POSサーバ30としての各種の機能を実現するべく各部を制御する。プロセッサ31は、例えばCPUである。
メインメモリ32は、上記コンピュータの主記憶部分に相当する。メインメモリ32は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ32は、不揮発性のメモリ領域ではオペレーティングシステム又はアプリケーションプログラムを記憶する。メインメモリ32は、プロセッサ31が各部を制御するための処理を実行する上で必要なデータを不揮発性又は揮発性のメモリ領域で記憶する場合もある。メインメモリ32は、揮発性のメモリ領域を、プロセッサ31によってデータが適宜書き換えられるワークエリアとして使用する。不揮発性のメモリ領域は、例えばROMである。揮発性のメモリ領域は、例えばRAMである。
補助記憶デバイス33は、上記コンピュータの補助記憶部分に相当する。例えばEEPROM、HDD、あるいはSSD等が補助記憶デバイス33となり得る。補助記憶デバイス33は、プロセッサ31が各種の処理を行う上で使用するデータ、あるいはプロセッサ31での処理によって作成されたデータ等を保存する。補助記憶デバイス33は、上記のアプリケーションプログラムを記憶する場合もある。
通信インターフェース34は、ネットワーク2に接続される。通信インターフェース34は、プロセッサ31の制御により、ネットワーク2を介して接続される他の機器との間で通信プロトコルに従いデータ通信を行う。ここにプロセッサ31は、通信インターフェース34と協働して、情報端末60と通信を行う通信手段を構成する。
かかる構成の仮想POSサーバ30は、メインメモリ32の揮発性メモリ領域の一部を、カートメモリ321と買物カゴメモリ322との作成領域としている。仮想POSサーバ30は、この領域にカートメモリ321と買物カゴメモリ322とをそれぞれ複数ずつ作成することができる。
図5は、カートメモリ321の一例を示す模式図である。図5に示すように、カートメモリ321は、カートID、会員ID、連携カート台数n、連携カート番号k及び会計フラグをそれぞれ記憶するための領域を有する。カートIDは、カートCを個々に識別するためにカート毎に割り当てられた一意のコードである。各カートCにそれぞれ設けられた情報端末60のメインメモリ62または補助記憶デバイス63には、その情報端末60が設けられたカートCのカートIDが記憶されている。連携カート台数nは、家族等のグループ客が複数台のカートCを使用する場合のその使用台数である。客が1台のカートCしか使用しない場合には、そのカートCのカートIDを含むカートメモリ321の連携カート台数は“1”とする。連携カート番号kは、家族等のグループ客が複数台のカートCを使用する場合において、その複数台のカートCを識別するためにカートC毎にそれぞれ割り当てられた一連の番号である。連携カート番号kは、初期値1から連携カート台数nまでの自然数となる。ただし、客が1台のカートCしか使用しない場合には、連携カート番号kは“0”となる。会計フラグは、カートIDで識別されるカートCを使用する客が会計宣言をしたか否かを識別するための1ビット情報である。本実施形態では、会計フラグは、会計宣言をしていない状態では“0”にリセットされており、会計宣言が行われると “1”にセットされる。
図6は、買物カゴメモリ322の一例を示す模式図である。図6に示すように、買物カゴメモリ322は、会員ID、1乃至複数の購買商品データ、値引合計額、合計金額及び会計バーコードをそれぞれ記憶するための領域を有する。購買商品データは、客が購入する購買商品の商品コード、商品名、価格、販売点数、販売金額、税額等からなる。値引合計額は、購買商品データからセット値引が成立した場合に算出される値引額の合計である。セット値引とは、予め設定された複数の商品を購入した場合に、各商品の価格合計よりも値引した金額で販売する方式である。合計金額は、購買商品データに含まれる販売金額と税額との合計から値引合計額を減算した金額である。会計バーコードは、客との取引を識別するために取引毎に生成される一意の会計コードをバーコード化したものである。購買商品データには、その購買商品が登録された情報端末60に設定されている連携カート番号kが付加される。
図7乃至図11は、情報端末60のプロセッサ61が、端末プログラムに従って実行する主要な情報処理の手順を示す流れ図である。端末プログラムは、メインメモリ62又は補助記憶デバイス63に記憶されている。図12乃至図16は、仮想POSサーバ30のプロセッサ31が、情報端末60から発信される主要なコマンドを受信したことに応じて実行する情報処理の手順を示す流れ図である。この手順は、制御プログラムに従ったものである。制御プログラムは、メインメモリ32又は補助記憶デバイス33に記憶されている。図17は、仮想POSサーバ30のプロセッサ31が、会計機50から発信されるスキャナコマンドを受信したことに応じて実行する情報処理の手順を示す流れ図である。この手順も、制御プログラムに従ったものである。
以下、これらの流れ図を用いて、家族等のようにグループで来店した客が複数台のカートCを使用して購買商品の登録を行い、会計機50で会計を行うまでのカートPOSシステム1の主要な動作について説明する。なお、以下に説明する動作は一例である。同様な結果が得られるのであれば、その手順は特に限定されるものではない。
<カート連携動作>
はじめに、グループで来店した客、いわゆるグループ客が複数台のカートCを連携させて使用するための動作について説明する。
例えば、カートC01及びカートC02の2台を連携させて使用するためには、グループ客は、同じ会員IDで、各々のカートC01,C02に設けられた情報端末60A,60Bでログインを行う必要がある。そのためグループ客は、先ず、カートC01及びカートC02にそれぞれ設けられた情報端末60A及び情報端末60Bのタッチパネル65にタッチする。因みに、情報端末60Aは、カートC01に設けられた情報端末60を表す。情報端末60Bは、カートC02に設けられた情報端末60を表す。
情報端末60A及び情報端末60Bは、タッチパネル65がタッチされると、アイドル状態であったプロセッサ61が起動する。そしてプロセッサ61は、図7の流れ図に示す手順の情報処理を開始する。
はじめにプロセッサ61は、Act101としてタッチパネル65にログイン画面を表示させる。ログイン画面は、ログイン操作を受け付けるための画面である。グループ客の一人は、会員IDが記録された会員カードを所持している。ログイン画面を確認したグループ客は、同じ会員カードのデータを、情報端末60A及び情報端末60Bの各リーダ67に読み取らせる。リーダ67で会員カードのデータが読み取られると、情報端末60A及び情報端末60Bでは、その会員カードのデータがプロセッサ61へと与えられる。
ログイン画面を表示させたプロセッサ61は、Act102としてログインを待ち受けている。プロセッサ61は、リーダ67で読み取ったデータが会員IDを含む会員カードのデータであることを確認すると、ログインが行われたと認識する。すなわちプロセッサ61は、Act102においてYESと判定し、Act103へと進む。
プロセッサ61は、Act103としてメインメモリ62または補助記憶デバイス63からカートIDを取得する。そしてプロセッサ61は、Act104としてログインコマンドを仮想POSサーバ30宛に出力するように無線ユニット64を制御する。この制御により、無線ユニット64は、ログインコマンドを無線送信する。ログインコマンドは、アクセスポイント70で受信され、ネットワーク2を経由して仮想POSサーバ30へと送られる。ログインコマンドには、リーダ67で読み取られた会員カードの会員IDと、Act103の処理で取得したカートIDとが含まれている。
ここに、情報端末60のプロセッサ61は、図7のAct101乃至Act104の処理を実行することにより、購買者を識別する購買者識別情報、つまりは会員IDを受け付ける購買者受付手段を構成する。
仮想POSサーバ30のプロセッサ31は、通信インターフェース34を介して情報端末60からコマンドを受信すると、そのコマンドの種類を確認する。受信コマンドがログインコマンドであった場合、プロセッサ31は、図12の流れ図に示す手順のログインコマンド受信処理を開始する。
プロセッサ31は、Act201としてログインコマンドからカートIDを取得する。そしてプロセッサ31は、Act202として当該カートIDが記述されたカートメモリ321が作成済であるか否かを判定する。以下、1台目のカートC01の情報端末60Aに設定されたカートIDが記述されたカートメモリ321をカートメモリ321Aと表す。カートメモリ321Aが作成済である場合、プロセッサ31は、Act202においてYESと判定し、Act215へと進む。プロセッサ31は、Act215として、ログインコマンドから取得したカートIDを宛先として否認応答コマンドを出力するように通信インターフェース34を制御する。この制御により、通信インターフェース34は否認応答コマンドをネットワーク2へと送信する。
カートメモリ321Aが作成されていない場合には、プロセッサ31は、Act202としてNOと判定し、Act203へと進む。プロセッサ31は、Act203としてメインメモリ32の所定領域にカートメモリ321Aを作成する。そしてプロセッサ31は、ログインコマンドから取得したカートIDをカートメモリ321Aに記述する。
プロセッサ31は、Act204としてログインコマンドから会員IDを取得する。そしてプロセッサ31は、Act205としてその会員IDで識別される会員の認証を行う。具体的にはプロセッサ31は、その会員IDを含む会員レコードが会員データベースに存在するか否かを会員サーバ20に問い合わせる。その結果、会員サーバ20から該当する会員レコードが会員データベースに存在するとの応答を受けた場合には、プロセッサ31は、会員認証が有効であると認定する。会員サーバ20から該当する会員レコードが会員データベースに存在しないとの応答を受けた場合には、プロセッサ31は、会員認証が無効であると認定する。
会員認証を行ったプロセッサ31は、Act206としてその認証結果を確認する。ここで、認証結果が無効であった場合、プロセッサ31は、Act206においてNOと判定し、前述したAct215へと進む。すなわちプロセッサ31は、ログインコマンドから取得したカートIDを宛先として否認応答コマンドを出力するように通信インターフェース34を制御する。
認証結果が有効であった場合には、プロセッサ31は、Act206においてYESと判定し、Act207へと進む。プロセッサ31は、Act207としてメインメモリ32のカートメモリ321が作成されている領域を検索する。そしてプロセッサ31は、Act208として会員IDの重複有無を判定する。すなわちプロセッサ301は、カートメモリ321A以外にログインコマンドから取得した会員IDが記述されたカートメモリ321が存在するか否かを判定する。以下、カートメモリ321A以外にログインコマンドから取得した会員IDが記述されたカートメモリ321をカートメモリ321Bと表す。
カートメモリ321Bが1つも存在しない場合、会員IDの重複は無い。この場合、プロセッサ31は、Act208においてNOと判定し、Act209へと進む。プロセッサ31は、Act209としてメインメモリ32の所定領域に買物カゴメモリ322を作成する。そしてプロセッサ31は、ログインコマンドから取得した会員IDを買物カゴメモリ322に記述する。その後、プロセッサ31は、Act210としてログインコマンドから取得したカートIDを宛先として承認応答コマンドを出力するように通信インターフェース34を制御する。この制御により、通信インターフェース34は、承認応答コマンドをネットワーク2へと送信する。
カートメモリ321が作成されている領域を検索した結果、カートメモリ321Bが存在することを確認した場合には、プロセッサ31は、Act208においてYESと判定し、Act211へと進む。プロセッサ31は、Act211としてログインコマンドから取得したカートIDを宛先として承認応答コマンドを出力するように通信インターフェース34を制御する。すなわち、カートメモリ321Bが1つ以上存在する場合には、プロセッサ31は、買物カゴメモリ322を作成することなく、承認応答コマンドの出力を制御する。
Act211の処理を終えると、プロセッサ31は、Act212としてカートメモリ321Aとカートメモリ321Bとの総数を連携カート台数nとする。そしてプロセッサ31は、連携カート台数nをカートメモリ321Aとカートメモリ321Bとにそれぞれ記述する。またプロセッサ31は、Act213としてカートメモリ321Aとカートメモリ321Bとに対し、初期値である“1”から連携カート台数nまでの連携カート番号kを1つずつ割り当てる。ここで、連携カート番号kをどのように割り当てるかは任意である。例えばカートメモリ321Aとカートメモリ321Bとが1つずつであった場合、プロセッサ31は、カートメモリ321Aに連携カート番号kとして“1”を割当て、カートメモリ321Bに連携カート番号kとして“2”を割当てる。連携カート番号kの割当ては、その逆であってもよい。
Act212及びAct213の処理を終えると、プロセッサ31は、Act214としてカートメモリ321A及びカートメモリ321Bにそれぞれ記述されているカートIDを宛先として連携コマンドを出力するように通信インターフェース34を制御する。この制御により、通信インターフェース34は、連携カート台数n分の連携コマンドをネットワーク2へと送信する。
こうして、Act214の処理を終えるか、前述したAct210又はAct215の処理を終えると、プロセッサ31は、ログインコマンド受信処理を終了する。
このように、仮想POSサーバ30においてログインコマンド受信処理が実行され、ログインが否認されると、否認応答コマンドが出力される。否認応答コマンドは、ネットワーク2を介してアクセスポイント70から無線送信される。否認応答コマンドは、ログインコマンド送信元の情報端末60で受信される。
仮想POSサーバ30においてログインが承認された場合には、承認応答コマンドが出力される。承認応答コマンドは、ネットワーク2を介してアクセスポイント70から無線送信される。承認応答コマンドは、ログインコマンド送信元の情報端末60で受信される。承認応答コマンドには、Act204において取得した会員IDが含まれる。
仮想POSサーバ30において、カートメモリ321Aに記述された会員IDと同じ会員IDが記述されているカートメモリ321Bが存在する場合には、連携カート台数n分の連携コマンドが出力される。各連携コマンドは、ネットワーク2を介してアクセスポイント70から無線送信される。1つの連携コマンドは、ログインコマンド送信元の情報端末60で受信される。他の連携コマンドは、当該情報端末60が設けられたカートCと連携状態にある別のカートCに設けられた情報端末60で受信される。連携コマンドには、それぞれその宛先となるカートIDが記述されたカートメモリ321A及びカートメモリ321Bの連携カート台数nと連携カート番号kとが含まれる。
図7の説明に戻る。
Act104においてログインコマンドの出力を制御した情報端末60のプロセッサ61は、Act105として仮想POSサーバ30からの応答コマンドを待ち受ける。仮想POSサーバ30から否認応答コマンドを受信した場合、プロセッサ61は、Act105においてNOと判定し、ログインをエラーとする。
ログインがエラーとなった場合、情報端末60のオペレータである客は、タッチパネル65からエラーの解除操作を行う。プロセッサ61は、解除操作が行われると、Act1から処理を再開する。したがって客は、再びログインを行うこととなる。
Act105においてプロセッサ61は、仮想POSサーバ30から承認応答コマンドを受信した場合にはYESと判定し、Act106へと進む。プロセッサ61は、Act106としてその承認応答コマンドに含まれている会員IDをメインメモリ62にて記憶する。またプロセッサ61は、Act107としてタッチパネル65に通常登録画面SC1を表示させる。通常登録画面SC1は、客が購入する商品の商品名、点数、価格等の購買商品リストと合計金額とを表示するための画面である。
通常登録画面SC1の一例を図18に示す。図示するように通常登録画面SC1には、購買商品リストの表示領域AR1と、合計の表示領域AR2とが形成されている。また、通常登録画面SC1の一部に会計ボタンBT1と中止ボタンBT2の画像が表示されている。会計ボタンBT1は、客が会計を指示する場合に入力操作される。中止ボタンBT2は、客がカートCの使用を中止する場合に入力操作される。あるいは中止ボタンBT2は、カートCは使用するが情報端末60を用いての購買商品の登録を中止する場合に入力操作される。この他、通常登録画面SC1の上部には、メインメモリ12または補助記憶メモリ13で記憶しているカートIDも表示されている。
Act107の処理を終えると、プロセッサ61は、Act108として連携コマンドを受信したか否かを確認する。連携コマンドを受信していない場合、プロセッサ61は、Act108においてNOと判定し、Act109へと進む。プロセッサ61は、Act109として商品登録が行われたか否かを確認する。商品登録が行われていない場合、プロセッサ61は、Act109においてNOと判定し、Act110へと進む。プロセッサ61は、Act110として連携登録コマンドを受信したか否かを確認する。連携登録コマンドについては後述する。連携登録コマンドを受信していない場合、プロセッサ61は、Act110においてNOと判定し、Act111へと進む。プロセッサ61は、Act111として中止ボタンBT2が入力されたか否かを確認する。中止ボタンBT2が入力されていない場合、プロセッサ61は、Act111においてNOと判定し、Act112へと進む。プロセッサ61は、Act112として会計ボタンBT1が入力されたか否かを確認する。会計ボタンBT1が入力されていない場合、プロセッサ61は、Act112においてNOと判定し、Act113へと進む。プロセッサ61は、Act113として会計通知コマンドを受信したか否かを確認する。会計通知コマンドについては後述する。会計通知コマンドを受信していない場合、プロセッサ61は、Act113においてNOと判定し、Act108へと戻る。
ここにプロセッサ61は、Act108乃至Act113において、連携コマンドを受信するか、商品登録が行われるか、連携登録コマンドを受信するか、中止ボタンBT2が入力されるか、会計ボタンBT1が入力されるか、会計通知コマンドを受信するのを待ち受ける。
このように、グループ客が1台目のカートC01に設けられた情報端末60Aでログイン操作を行い、そのログインが承認されると、仮想POSサーバ30では、プロセッサ31により図12のAct207~Act210の処理が実行される。したがって、ログインにより承認された会員IDの買物カゴメモリ322が作成される。また仮想POSサーバ30から情報端末60Aに対して承認応答コマンドが出力される。その結果、情報端末60Aのタッチパネル65に通常登録画面SC1が表示される。そして情報端末60Aのプロセッサ61は、Act108乃至Act113の待ち受け状態となる。
続いて、グループ客が、同じ会員カードで2台目のカートC02に設けられた情報端末60Bでログイン操作を行うと、仮想POSサーバ30では、プロセッサ31により図12のAct207、Act208及びAct211乃至Act214の処理が実行される。この処理により、先ず、仮想POSサーバ30から情報端末60Bのタッチパネル65に通常登録画面SC1が表示される。そして情報端末60Bのプロセッサ61は、Act108乃至Act113の待ち受け状態となる。
一方、仮想POSサーバ30では、情報端末60AのカートIDが記述されたカートメモリ321Aに対し、連携カート台数nとして“2”が記述され、連携カート番号kとして“1”が記述される。また、情報端末60BのカートIDが記述されたカートメモリ321Bに対しては、連携カート台数nとして“2”が記述され、連携カート番号kとして “2”が記述される。そして、情報端末60A及び情報端末60Bに対して、仮想POSサーバ30から連携コマンドが送信される。この連携コマンドを受信したことにより、Act108乃至Act113の待ち受け状態にあった情報端末60A及び情報端末60Bのプロセッサ61は、Act108においてYESと判定し、図8のAct121へと進む。
プロセッサ61は、Act121として連携コマンドから連携カート台数nを取得する。そしてプロセッサ61は、Act122として連携カート台数nが“1”よりも大きいか否かを確認する。上述した例の場合、連携カート台数nは“2”である。したがって、プロセッサ61は、Act122においてYESと判定し、Act123へと進む。プロセッサ61は、Act123としてランプ69が点灯するように制御する。また、プロセッサ61は、タッチパネル65の画面を通常登録画面SC1から連携用登録画面SC2へと変更する。その後、プロセッサ61は、Act108乃至Act113の待ち受け状態に戻る。
連携用登録画面SC2の一例を図19に示す。図19に示すように、連携用登録画面SC2は、通常登録画面SC1に対して、購買商品リストの表示領域AR1にカート番号の領域が追加されている点と、連携コマンドから取得した連携カート台数n及び連携カート番号が画面上部に表示される点が異なる。カート番号は、買物カゴメモリ322に記述されている購買商品データに付加された連携カート番号である。
このように、連携コマンドを受信した情報端末60Aでは、タッチパネル65の画面が通常登録画面SC1から、連携カート台数が“2”で連携カート番号が“1”の連携用登録画面SC2に切り替わる。同様に、連携コマンドを受信した情報端末60Bでは、タッチパネル65の画面が通常登録画面SC1から、連携カート台数が“2”で連携カート番号が“2”の連携用登録画面SC2に切り替わる。また、情報端末60A及び情報端末60Bでは、それぞれランプ69が点灯する。
因みに、グループ客が3台目のカートC03を使用するために同じ会員カードでカートC03の情報端末60Cにログインした場合には、仮想POSサーバ30及び各情報端末60A,60B,60Cは、2台目のカートC02の情報端末60Bに対してログインした場合と同様に動作する。したがって、情報端末60Aでは、タッチパネル65の画面が、連携カート台数が“3”で連携カート番号が“1”の連携用登録画面SC2となる。情報端末60Bでは、タッチパネル65の画面が、連携カート台数が“3”で連携カート番号が“2”の連携用登録画面SC2となる。情報端末60Cでは、タッチパネル65の画面が、連携カート台数が“3”で連携カート番号が“3”の連携用登録画面SC2となる。
<購買商品の登録動作>
次に、2台のカートC01,C02を使用するグループ客を例に、購買商品の登録動作について説明する。
2台のカートC01,C02の情報端末60A,60Bにそれぞれログインしたグループ客は、その後、売場を回り、購入しようとする商品、いわゆる購買商品をカートC01,C02に載置された買物カゴSBに収容する。このときグループ客は、購買商品を買物カゴSBに入れる前に、購買商品に付されているコードシンボルをスキャナ66で読み取らせる。スキャナ66でコードシンボルが読み取られると、そのコードシンボルで表わされた商品コードが情報端末60A,60Bに入力される。すなわち商品コードで識別される商品が登録される。
なお、生鮮食品などの一部の商品にはコードシンボルが付されていないことがある。購買商品にコードシンボルが付されていない場合、客は、タッチパネル65に表示される商品ボタンから購買商品に対応した商品ボタンにタッチする。商品ボタンがタッチされたことで、その商品ボタンに対応した商品の商品コードが情報端末60A,60Bに入力される。すなわち商品コードで識別される商品が登録される。
Act108乃至Act113の待ち受け状態にある情報端末60のプロセッサ61は、商品登録が行われたことを確認すると、Act109においてYESと判定し、図9のAct131へと進む。プロセッサ61は、Act131として商品登録コマンドを仮想POSサーバ30宛に出力するように無線ユニット64を制御する。この制御により、無線ユニット64は、商品登録コマンドを無線送信する。商品登録コマンドは、アクセスポイント70で受信され、ネットワーク2を介して仮想POSサーバ30へと送られる。商品登録コマンドには、Act103の処理で取得したカートIDと、Act106の処理で記憶した会員IDと、登録商品の商品コードとが含まれる。したがって、情報端末60A及び情報端末60Bからそれぞれ送信される商品登録コマンドに含まれる会員IDは一致する。
ここに、情報端末60のプロセッサ61は、図7のAct109及び図9のAct131の処理を実行することにより、購買者による購買商品を受け付ける商品受付手段を構成する。
仮想POSサーバ30のプロセッサ31は、通信インターフェース34を介して受信したコマンドが商品登録コマンドであることを確認すると、図13の流れ図に示す手順のコマンド受信処理を開始する。
プロセッサ31は、Act221として商品登録コマンドからカートIDを取得する。そしてプロセッサ31は、Act222としてその取得したカートIDが記述されているカートメモリ321をメインメモリ32から検出する。以下、商品登録コマンドから取得したカートIDが記述されているカートメモリ321をカートメモリ321Cと表す。
プロセッサ31は、Act223としてカートメモリ321Cに記述された会計フラグを調べる。ここで、会計フラグが“1”にセットされていた場合、プロセッサ31は、商品登録をエラーとする。すなわちプロセッサ31は、会計フラグが“1”にセットされていた場合には商品登録を禁止する。商品登録がエラーになると、商品登録コマンド送信元の情報端末60では、エラーとなったことが報知される。
Act223において、会計フラグが“0”にリセットされていた場合には、プロセッサ31は、Act224としてカートメモリ321Cに記述された連携カート台数nの値により、当該カートIDで識別されるカートCが他のカートCと連携状態にあるか否かを判定する。プロセッサ31は、連携カート台数nが“1”である場合には、他のカートCと連携状態にないと判定する。プロセッサ31は、連携カート台数nが“2”以上である場合には、他のカートCと連携状態にあると判定する。連携状態にある場合、プロセッサ31は、Act225としてカートメモリ321Cから連携カート番号kを取得する。その後、プロセッサ31は、Act231へと進む。連携状態にない場合には、プロセッサ31は、Act225の処理をスキップして、Act226へと進む。
プロセッサ31は、Act226として商品登録コマンドから会員IDを取得する。そしてプロセッサ31は、Act227としてその会員IDが記述された買物カゴメモリ322を処理対象として抽出する。以下、商品登録コマンドから取得した会員IDが記述された買物カゴメモリ322を買物カゴメモリ322Bと表す。したがって、情報端末60Aから送信される商品登録コマンドを受信した場合だけでなく、情報端末60Bから送信される商品登録コマンドを受信した場合も、Act227で抽出される買物カゴメモリ322Bは一致する。
Act226及びAct227の処理を終えると、プロセッサ31は、Act228として商品登録コマンドに含まれる商品コードを基に購買商品データを作成し、その購買商品データを買物カゴメモリ322Bに記述する。このときプロセッサ31は、Act225において連携カート番号kを取得している場合には、その購買商品データに連携カート番号kを付加する。連携カート番号kを取得していない場合には、プロセッサ31は、購買商品データに連携カート番号kを付加しない。
したがって、他のカートCと連携していないカートCの情報端末60において商品の登録が行われた場合、その情報端末60でログインした客の会員IDが記述された買物カゴメモリ322Bには、連携カート番号kが付加されていない状態で購買商品データが記述される。一方、例えばカートC01とカートC02の2台を連携させて使用するグループ客の場合には、買物カゴメモリ322Bには、情報端末60Aで登録された購買商品の購買商品データと、情報端末60Bで登録された購買商品の購買商品データとが一括して保存される。そして、情報端末60Aで登録された購買商品の購買商品データには、連携カート番号kとして“1”が付加される。情報端末60Bで登録された購買商品の購買商品データには、連携カート番号kとして“2”が付加される。
Act228の処理を終えると、プロセッサ31は、Act229として買物カゴメモリ322Bに記憶された購買商品データからセット値引が成立したか否かを判定する。例えば仮想POSサーバ30には、セット値引の対象となる商品の組み合わせに係るデータを登録したデータベースが備えられている。プロセッサ31は、このデータベースを参照して、セット値引の対象となる商品の組み合わせが成立するか否を確認する。組み合わせが成立しない場合、プロセッサ31は、セット値引が成立しないと判定する。組み合わせが成立する場合には、プロセッサ31は、セット値引が成立すると判定する。したがって、情報端末60Aで登録された購買商品又は情報端末60Bで登録された購買商品だけでセット値引が成立する場合もあり得るが、情報端末60Aで登録された購買商品と情報端末60Bで登録された購買商品とによってセット値引が成立する場合もあり得る。
セット値引が成立する場合、プロセッサ31は、Act229においてYESと判定し、Act230へと進む。プロセッサ31は、Act230としてそのセット値引の値引額を算出し、買物カゴメモリ322Bの値引合計額に加算する。その後、プロセッサ31は、Act231へと進む。一方、セット値引が成立しない場合には、プロセッサ31は、Act229においてNOと判定し、Act230の処理をスキップしてAct231へと進む。プロセッサ31は、Act231として購買商品の販売金額と税額とを買物カゴメモリ322Bの合計金額に加算する。このとき、Act230において値引額を算出していた場合には、プロセッサ31は、合計金額から値引額を減額する。
Act231の処理を終えると、プロセッサ31は、Act232として商品登録コマンドから取得したカートIDを宛先として登録済コマンドを出力するように通信インターフェース34を制御する。この制御により、通信インターフェース34は、登録済コマンドをネットワーク2へと送信する。登録済コマンドは、ネットワーク2を介してアクセスポイント70から無線送信される。登録済コマンドは、商品登録コマンド送信元の情報端末60で受信される。登録済コマンドには、買物カゴメモリ322Bに記憶されている購買商品データから生成された購買商品リストと、値引合計額及び合計金額とが含まれる。
プロセッサ31は、Act233として商品登録コマンドから取得した会員IDでメインメモリ32のカートメモリ321が作成されている領域を検索する。そしてプロセッサ31は、Act234として当該会員IDが記述されたカートメモリ321が複数存在するか否かを確認する。以下、商品登録コマンドから取得した会員IDが記述されたカートメモリ321をカートメモリ321Dと表す。カートメモリ321Dが1つしか存在しない場合、プロセッサ31は、Act234においてNOと判定し、商品登録コマンドの受信処理を終了する。
カートメモリ321Dが2つ以上存在する場合には、プロセッサ31は、Act234においてYESと判定し、Act235へと進む。プロセッサ31は、Act235としてカートメモリ321Dに記述されているカートIDのうち、登録済コマンドを送信していないカートIDを宛先として連携登録コマンドを出力するように通信インターフェース34を制御する。この制御により、通信インターフェース34は、連携カート台数nから1を減算した数の連携登録コマンドをネットワーク2へと送信する。連携登録コマンドには、登録済コマンドと同様に、買物カゴメモリ322Bに記憶されている購買商品データから生成された購買商品リストと、値引合計額及び合計金額とが含まれる。以上で、プロセッサ31は、商品登録コマンドの受信処理を終了する。
したがって、カートC01とカートC02の2台を連携させて使用するグループ客が、カートC01に設けられた情報端末60Aで購買商品の登録を行うと、仮想POSサーバ30において、Act221乃至Act235の処理が実行される。その結果、仮想POSサーバ30から当該情報端末60Aに対して登録済コマンドが出力される。また、カートC02に設けられた情報端末60Bに対しては、仮想POSサーバ30から登録済コマンドと同一内容の連携登録コマンドが送信される。
同様に、このグループ客が、カートC02に設けられた情報端末60Bで購買商品の登録を行うと、仮想POSサーバ30において、Act221乃至Act235の処理が実行される。その結果、仮想POSサーバ30から当該情報端末60Bに対して登録済コマンドが出力される。また、カートC01に設けられた情報端末60Aに対しては、仮想POSサーバ30から登録済コマンドと同一内容の連携登録コマンドが送信される。
図9の説明に戻る。
Act131において商品登録コマンドの出力を制御した情報端末60のプロセッサ61は、Act132として登録済コマンドを待ち受ける。そして仮想POSサーバ30から登録済コマンドを受信すると、プロセッサ61は、Act132においてYESと判定し、Act133へと進む。プロセッサ61は、Act133としてタッチパネル65に表示されている通常登録画面SC1又は連携用登録画面SC2を更新する。すなわちプロセッサ61は、登録済コマンドに含まれる購買商品リストが通常登録画面SC1又は連携用登録画面SC2の領域A1に表示されるように更新する。またプロセッサ61は、登録済コマンドに含まれる値引額と合計金額とが通常登録画面SC1又は連携用登録画面SC2の領域A2に表示されるように更新する。その後、プロセッサ61は、Act108乃至Act113の待ち受け状態に戻る。
一方、Act108乃至Act113の待ち受け状態にあるプロセッサ61が連携登録コマンドを受信すると、Act110においてYESと判定し、図9のAct133へと進む。すなわちプロセッサ61は、連携登録コマンドに含まれる購買商品リストが連携用登録画面SC2の領域A1に表示されるように更新する。またプロセッサ61は、登録済コマンドに含まれる値引額と合計金額とが連携用登録画面SC2の領域A2に表示されるように更新する。その後、プロセッサ61は、Act108乃至Act113の待ち受け状態に戻る。
図20は、カートC01に設けられた情報端末60Aのタッチパネル65に表示される連携用登録画面SC2の一例である。前述したAct132及びAct133の処理によって、情報端末60Aのタッチパネル65には、図20に示されるような連携用登録画面SC2が表示される。そしてこのとき、前述したAct110及びAct133の処理によって、カートC01と連携状態にあるカートC02に設けられた情報端末60Bのタッチパネル65には、連携カート番号が“2”でそれ以外は共通の連携用登録画面SC2が表示される。
連携用登録画面SC2からは、表示領域AR1に表示されるカート番号の違いから、表示領域AR1の1行目、3行目及び4行目に表示されている商品名[AAA]、[CCC]及び[BBB]の3品目の購買商品は、カートC01に設けられた情報端末60Aで登録されたことがわかる。同様に、表示領域AR1の2行目及び5行目に表示されている商品名[BBB]及び[DDD]の2品目の購買商品は、カートC02に設けられた情報端末60Bで登録されたことがわかる。また、情報端末60Aで登録された商品名[CCC]の商品と、情報端末60Bで登録された商品名[DDD]の商品とによってセット値引が成立していることがわかる。
<カートの使用中止に係る動作>
次に、カートC01とカートC02の2台を連携させて使用するグループ客が、一方のカートC02の使用を中止する場合の動作について説明する。
カートC01とカートC02とにそれぞれ設けられた情報端末60A及び情報端末60Bのタッチパネル65には、連携用登録画面SC2が表示されている。この状態で、カートC02の使用を中止する場合、グループ客は情報端末60Bのタッチパネル65に表示された連携用登録画面SC2から中止ボタンBT2を入力する。
Act108乃至Act113の待ち受け状態にある情報端末60のプロセッサ61は、中止ボタンBT2が入力されたことを検知すると、Act111においてYESと判定し、図10のAct141へと進む。プロセッサ61は、Act141として中止コマンドを仮想POSサーバ30宛に出力するように無線ユニット64を制御する。この制御により、無線ユニット64は、中止コマンドを無線送信する。中止コマンドは、アクセスポイント70で受信され、ネットワーク2を経由して仮想POSサーバ30へと送られる。中止コマンドには、Act103の処理で取得したカートIDが含まれている。
仮想POSサーバ30のプロセッサ31は、通信インターフェース34を介して情報端末60から中止コマンドを受信すると、図14の流れ図に示す手順の情報処理を開始する。プロセッサ31は、Act241として中止コマンドからカートIDを取得する。そしてプロセッサ31は、Act242としてそのカートIDでメインメモリ32のカートメモリ321が作成されている領域を検索し、当該カートIDが記述されたカートメモリ321を処理対象として抽出する。以下、中止コマンドの受信処理において処理対象として抽出されたカートメモリ321をカートメモリ321Eと表す。
プロセッサ31は、Act243として、Act223と同様にカートメモリ321Eに記述された連携カート台数nの値により、当該カートIDで識別されるカートCが他のカートCと連携状態にあるか否かを判定する。通常登録画面SC1の中止ボタンBT2が入力された場合、その通常登録画面SC1が表示されている情報端末60が設けられたカートCは、他のカートCと連携していない。この場合、プロセッサ31は、Act243においてNOと判定し、Act244へと進む。プロセッサ31は、Act244としてカートメモリ321Eに記述されているカートIDを宛先としてカート中止コマンドを出力するように通信インターフェース34を制御する。この制御により、通信インターフェース34は、カート中止コマンドをネットワーク2へと送信する。
一方、連携用登録画面SC2の中止ボタンBT2が入力された場合には、その連携用登録画面SC2が表示されている情報端末60が設けられたカートCは、他のカートCと連携している。この場合、プロセッサ31は、Act243においてYESと判定し、Act245へと進む。プロセッサ31は、Act245としてカートメモリ321Eに記述されているカートIDを宛先として連携解除コマンドを出力するように通信インターフェース34を制御する。この制御により、通信インターフェース34は、連携解除コマンドをネットワーク2へと送信する。
したがって、通常登録画面SC1が表示されている情報端末60において、中止ボタンBT2が入力された場合には、当該情報端末60には、仮想POSサーバ30からカート中止コマンドが送られてくる。連携用登録画面SC2が表示されている情報端末60において、中止ボタンBT2が入力された場合には、当該情報端末60には、仮想POSサーバ30から連携解除コマンドが送られてくる。
図10の説明に戻る。
中止コマンドの出力を制御した情報端末60のプロセッサ61は、Act142として連携解除コマンドを受信したか否かを確認する。連携解除コマンドを受信していない場合、プロセッサ61は、Act142においてNOと判定し、Act143へと進む。プロセッサ61は、Act143としてカート中止コマンドを受信したか否かを確認する。カート中止コマンドを受信していない場合、プロセッサ61は、Act143においてNOと判定し、Act142へと戻る。ここにプロセッサ61は、連携解除コマンドを受信するか、カート中止コマンドを受信するのを待ち受ける。
この待ち受け状態において、カート中止コマンドを受信した場合には、プロセッサ61は、Act143においてYESと判定し、Act144へと進む。プロセッサ61は、Act144としてタッチパネル65の画面に確認画像P1をポップアップで表示させる。確認画像P1は、カートCの使用を中止することで間違いがないかを客に問い合わせるための画像である。
確認画像P1の一例を図21に示す。図示するように確認画像P1には、客に対してカートの使用中止を問い合わせる内容のメッセージM1とともに、実行を指示する[はい]ボタンBT3と、取消を指示する[いいえ]ボタンBT4の画像が含まれている。メッセージM1を確認した客は、カートの使用を中止する場合には[はい]ボタンBT3を入力し、中止しない場合には[いいえ]ボタンBT4を入力する。
タッチパネル65に確認画像P1を表示させたプロセッサ61は、Act145としてカートCの使用中止を実行するか否かの指示入力を待ち受ける。ここで、[はい]ボタンBT3が入力された場合、プロセッサ61は、使用中止の実行が指示されたとみなす。プロセッサ61は、Act145においてYESと判定し、Act146へと進む。プロセッサ61は、Act146としてカート中止実行コマンドを仮想POSサーバ30宛に出力するように無線ユニット64を制御する。この制御により、無線ユニット64は、カート中止実行コマンドを無線送信する。カート中止実行コマンドは、アクセスポイント70で受信され、ネットワーク2を介して仮想POSサーバ30へと送られる。カート中止実行コマンドには、Act103の処理で取得したカートIDが含まれる。
カート中止実行コマンドの送信を制御したプロセッサ61は、Act147として情報端末60のログアウトを行う。ログアウトを終えると、プロセッサ61は、端末プログラムには従った情報処理を終了する。
プロセッサ61は、Act142及びAct143の待ち受け状態において、連携解除コマンドを受信した場合には、Act142においてYESと判定し、Act148へと進む。プロセッサ61は、Act148としてタッチパネル65の画面に確認画像P2をポップアップで表示させる。確認画像P2は、カートの連携を解除することで間違いがないかを客に問合せるための画像である。
確認画像P2の一例を図22に示す。図示するように確認画像P2には、客に対してカートの連携解除を問い合わせる内容のメッセージM2とともに、実行を指示する[はい]ボタンBT5と、取消を指示する[いいえ]ボタンBT6の画像が含まれている。メッセージM2を確認した客は、カートの連携解除を実行する場合には[はい]ボタンBT5を入力し、カートの連携解除を中止する場合には[いいえ]ボタンBT6を入力する。
タッチパネル65に確認画像P2を表示させたプロセッサ61は、Act149として連携解除を実行するか否かの指示入力を待ち受ける。ここで、[はい]ボタンBT5が入力された場合には、プロセッサ61は、カートCの連携解除実行が指示されたとみなす。プロセッサ61は、Act149においてYESと判定し、Act150へと進む。プロセッサ61は、Act150としてランプ69が消灯するように制御する。またプロセッサ61は、Act151として連携解除実行コマンドを仮想POSサーバ30宛に出力するように無線ユニット64を制御する。この制御により、無線ユニット64は、連携解除実行コマンドを無線送信する。連携解除実行コマンドは、アクセスポイント70で受信され、ネットワーク2を介して仮想POSサーバ30へと送られる。連携解除実行コマンドには、Act103の処理で取得したカートIDが含まれる。
連携解除実行コマンドの送信を制御したプロセッサ61は、Act152として情報端末60のログアウトを行う。ログアウトを終えると、プロセッサ61は、端末プログラムには従った情報処理を終了する。
なお、プロセッサ61は、タッチパネル65に確認画像P1を表示させた後、[いいえ]ボタンBT4が入力された場合には、Act145においてNOと判定し、Act153へと進む。同様に、プロセッサ61は、タッチパネル65に確認画像P2を表示させた後、[いいえ]ボタンBT6が入力された場合には、Act149においてNOと判定し、Act153へと進む。プロセッサ61は、Act153として取消コマンドを仮想POSサーバ30宛に出力するように無線ユニット64を制御する。この制御により、無線ユニット64は、取消コマンドを無線送信する。取消コマンドは、アクセスポイント70で受信され、ネットワーク2を介して仮想POSサーバ30へと送られる。取消コマンドの送信を制御したプロセッサ61は、Act108乃至Act103の待ち受け状態に戻る。
図14の説明に戻る。
Act244においてカート中止コマンドの送信を制御したプロセッサ31は、Act246として取消コマンドを受信したか否かを確認する。取消コマンドを受信していない場合、プロセッサ31は、Act246においてNOと判定してAct247へと進む。プロセッサ31は、Act247としてカート中止実行コマンドを受信したか否かを確認する。カート中止実行コマンドを受信していない場合、プロセッサ31は、Act247においてNOと判定し、Act246へと戻る。ここにプロセッサ31は、Act246及びAct247において、取消コマンドを受信するかカート中止実行コマンドを受信するのを待ち受ける。
この待ち受け状態において、カート中止実行コマンドを受信した場合には、プロセッサ31は、Act247においてYESと判定し、Act248へと進む。プロセッサ31は、Act248として、カート中止実行コマンドに含まれるカートIDが記述されたカートメモリ321Eを削除する。以上で、プロセッサ31は、中止コマンド受信処理を終了する。
Act246及びAct247の待ち受け状態において、取消コマンドを受信した場合には、プロセッサ31は、Act246においてYESと判定し、Act248の処理を実行することなく中止コマンド受信処理を終了する。
Act245において連携解除コマンドの送信を制御したプロセッサ31は、Act249として取消コマンドを受信したか否かを確認する。取消コマンドを受信していない場合、プロセッサ31は、Act249においてNOと判定してAct250へと進む。プロセッサ31は、Act250として連携解除実行コマンドを受信したか否かを確認する。連携解除実行コマンドを受信していない場合、プロセッサ31は、Act250においてNOと判定し、Act249へと戻る。ここにプロセッサ31は、Act249及びAct250において、取消コマンドを受信するか連携解除実行コマンドを受信するのを待ち受ける。
この待ち受け状態において、連携解除実行コマンドを受信した場合には、プロセッサ61は、Act250においてYESと判定し、Act251へと進む。プロセッサ31は、Act251として連携解除実行コマンドに含まれるカートIDが記述されたカートメモリ321Eから会員IDを取得する。そして、会員IDを取得した後、プロセッサ31は、Act252としてカートメモリ321Eを削除する。
プロセッサ31は、Act253としてカートメモリ321Eから取得した会員IDでメインメモリ32のカートメモリ321が作成されている領域を検索する。そしてプロセッサ31は、Act254として当該会員IDが記述されたカートメモリ321が複数存在するか否かを確認する。以下、カートメモリ321Eに記述されていた会員IDと重複する会員IDが記述された他のカートメモリ321をカートメモリ321Fと表す。カートメモリ321Fは、少なくとも1つは存在する。
カートメモリ321Fが1つしか存在しない場合、プロセッサ31は、Act254においてNOと判定し、Act255へと進む。プロセッサ31は、Act255としてカートメモリ321Fの連携カート台数nを“1”と書き換える。またプロセッサ31は、Act256としてカートメモリ321Fの連携カート番号kを“0”にクリアする。その後、プロセッサ31は、Act259へと進む。プロセッサ31は、Act259としてカートメモリ321Fに記述されているカートIDを宛先として連携コマンドを出力するように通信インターフェース34を制御する。この制御により、通信インターフェース34は、1つのカートIDを宛先とした連携コマンドをネットワーク2へと送信する。連携コマンドには、その宛先となるカートIDが記述されたカートメモリ321Fの連携カート台数nと連携カート番号kとが含まれる。したがってこの場合には、連携カート台数nが“1”で連携カート番号kが“0”の連携コマンドが送信される。
Act254においてプロセッサ31は、カートメモリ321Fが複数存在する場合にはYESと判定し、Act257へと進む。プロセッサ31は、Act257としてカートメモリ321Fの総数を連携カート台数nとする。そしてプロセッサ31は、連携カート台数nを複数のカートメモリ321Fにそれぞれ記述する。またプロセッサ31は、Act258として複数のカートメモリ321Fに対し、初期値1から連携カート台数nまでの連携カート番号kを1つずつ割り当てる。ここで、連携カート番号kをどのように割り当てるかは任意である。例えばカートメモリ321Fが2つの場合、一方のカートメモリ321Fに連携カート番号kとして“1”を割当て、他方のカートメモリ321Fに連携カート番号kとして“2”を割当てる。連携カート番号kの割当ては、その逆であってもよい。
Act257及びAct258の処理を終えると、プロセッサ31は、Act259へと進む。プロセッサ31は、Act259として各カートメモリ321Fにそれぞれ記述されているカートIDを宛先として連携コマンドを出力するように通信インターフェース34を制御する。この制御により、通信インターフェース34は、異なる複数のカートIDをそれぞれ宛先とした複数の連携コマンドをネットワーク2へと送信する。各連携コマンドには、それぞれその宛先となるカートIDが記述されたカートメモリ321Fの連携カート台数nと連携カート番号kとが含まれる。したがってこの場合には、連携カート台数nが“2”以上で、“1”以上の連携カート番号kが割り当てられた連携コマンドが送信される。
プロセッサ31は、Act259の処理を終えると、中止コマンド受信処理を終了する。
なお、Act249及びAct250の待ち受け状態において、取消コマンドを受信した場合には、プロセッサ31は、Act249においてYESと判定し、Act251乃至Act259の処理を実行することなく、中止コマンド受信処理を終了する。
このように、Act255及びAct256の処理を経て出力された連携コマンドは、ネットワーク2を介してアクセスポイント70から無線送信され、情報端末60Dで受信される。情報端末60Dは、連携解除の実行を指示した情報端末60を表す。一方、Act257及びAct258の処理を経て出力された連携コマンドは、ネットワーク2を介してアクセスポイント70から無線送信され、情報端末60D及び情報端末60Eで受信される。情報端末60Eは、カートメモリ321FのカートIDで識別される情報端末60を表す。カートメモリ321Fには、連携解除の実行を指示した情報端末60DのカートIDを含むカートメモリ321Eに記述されている会員IDと同じ会員IDが記述されている。
Act255及びAct256の処理を経て仮想POSサーバ30から出力された連携コマンドを受信した情報端末60Dのプロセッサ61は、図8の流れ図に示す手順の処理を開始する。すなわちプロセッサ61は、Act121として連携コマンドから連携カート台数nを取得し、Act122として連携カート台数nが“1”よりも大きいか否かを確認する。この場合、連携カート台数nは“1”なので、プロセッサ61は、Act122においてNOと判定し、Act125へと進む。プロセッサ61は、Act125としてランプ69が消灯するように制御する。またプロセッサ61は、Act126としてタッチパネル65の画面を連携用登録画面SC2から通常登録画面SC1に切り替える。その後、プロセッサ61は、Act108乃至Act113の待ち受け状態に戻る。
一方、Act257及びAct258の処理を経て出力された仮想POSサーバ30から出力された連携コマンドを受信した情報端末60D又は情報端末60Eのプロセッサ61も、図8の流れ図に示す手順の処理を開始する。すなわちプロセッサ61は、Act121として連携コマンドから連携カート台数nを取得し、Act122として連携カート台数nが“1”よりも大きいか否かを確認する。この場合、連携カート台数nは“2”以上であるので、プロセッサ61は、前述したAct123及びAct124の処理を実行する。
したがって、カートC01とカートC02とを連携させて使用していたグループ客がカートC02の使用を中止するために、連携用登録画面SC2から中止ボタンBT2を入力した場合、タッチパネル65に確認画像P1が表示される。ここで、グループ客が[はい]ボタンBT3を入力すると、情報端末60Bではログアウトが行われる。また、仮想POSサーバ30においては、情報端末60Bに設定されたカートIDが記述されたカートメモリ321が削除される。かくして、カートC02の使用が中止される。
一方、カートC02と連携状態にあったカートC01に設けられた情報端末60Bにおいては、タッチパネル65の画面が連携用登録画面SC2から通常登録画面SC1に切り替わる。また、ランプ69が消灯する。したがって、カートC01は、単独での使用状態となる。
なお、3台以上のカートCを連携させていた状態で、1台のカートCの使用を中止した場合には、残りのカートCの画面は、連携カート台数と連携カート番号とが更新された連携用登録画面SC2に変更される。
<会計指示に係る動作>
次に、カートC01とカートC02の2台を連携させて使用するグループ客が買い物を終えた場合の動作について説明する。
買物を終えたグループ客は、会計を行うために、いずれか1台のカートCに設けられた情報端末60のタッチパネル65に表示されている連携用登録画面SC2から会計ボタンBT1を入力する。
Act108乃至Act113の待ち受け状態にある情報端末60のプロセッサ61は、会計ボタンBT1が入力されたことを検知すると、Act112においてYESと判定し、図11のAct161へと進む。プロセッサ61は、Act161として会計コマンドを仮想POSサーバ30宛に出力するように無線ユニット64を制御する。この制御により、無線ユニット64は、会計コマンドを無線送信する。会計コマンドは、アクセスポイント70で受信され、ネットワーク2を介して仮想POSサーバ30へと送られる。会計コマンドには、Act103の処理で取得したカートIDと、Act106の処理で記憶した会員IDとが含まれる。
会計コマンドを受信した仮想POSサーバ30のプロセッサ31は、図15の流れ図に示す手順の処理を開始する。すなわちプロセッサ31は、Act261としてその会計コマンドから会員IDを取得する。またプロセッサ31は、Act262として会計バーコードを生成する。プロセッサ31は、Act263として、Act261の処理で取得した会員IDがセットされた買物カゴメモリ322に会計バーコードを記述する。
プロセッサ31は、Act264として会計コマンドからカートIDを取得する。プロセッサ31は、Act265としてそのカートIDが記述されているカートメモリ321の会計フラグを“1”にセットする。以下、会計コマンドから取得したカートIDが記述されたカートメモリ321をカートメモリ321Gと表す。
プロセッサ31は、Act266として、Act223と同様にカートメモリ321Gに記述された連携カート台数nの値により、当該カートIDで識別されるカートCが他のカートCと連携状態にあるか否かを判定する。当該カートCが他のカートCと連携状態にない場合、プロセッサ31は、後述するAct267及びAct268の処理をスキップしてAct269へと進む。プロセッサ31は、Act269として会計コマンドから取得したカートIDを宛先として会計通知コマンドを出力するように通信インターフェース34を制御する。この制御により、通信インターフェース34は、会計通知コマンドをネットワーク2へと送信する。会計通知コマンドは、ネットワーク2を介してアクセスポイント70から無線送信される。会計通知コマンドは、会計コマンド送信元の情報端末60で受信される。会計通知コマンドには、会計コマンドから取得した会員IDが記述されている買物カゴメモリ322の合計金額と会計バーコードとが含まれる。以上で、プロセッサ31は、会計コマンドの受信処理を終了する。
Act266においてプロセッサ31は、当該カートCが他のカートCと連携状態にある場合にはYESと判定し、Act267へと進む。プロセッサ31は、Act267としてメインメモリ32のカートメモリ321が作成されている領域を検索して、カートメモリ321Gに記述されている会員IDと同一の会員IDが記述された他のカートメモリ321からカートIDを取得する。以下、カートメモリ321Gに記述されている会員IDと同一の会員IDが記述された他のカートメモリ321Hと表す。プロセッサ31は、Act268としてカートメモリ321Hの会計フラグを“1”にセットする。ここで、カートメモリ321Hが複数存在する場合には、プロセッサ31は、各々のカートメモリ321HからカートIDを取得する。またプロセッサ31は、各々のカートメモリ321Hの会計フラグを“1”にセットする。以下、カートメモリ321Hから取得したカートIDを連携カートIDと称する。
プロセッサ31は、Act267及びAct268の処理を終えると、前述したAct269へと進む。すなわちプロセッサ31は、会計コマンドから取得したカートIDを宛先として会計通知コマンドを出力するように通信インターフェース34を制御する。またプロセッサ31は、1又は複数の連携カートIDを宛先として会計通知コマンドを出力するように通信インターフェース34を制御する。これらの制御により、通信インターフェース34は、会計コマンドから取得したカートIDを宛先とする会計通知コマンドと、連携カートIDを宛先とする会計通知コマンドとをネットワーク2へと送信する。各会計通知コマンドは、ネットワーク2を介してアクセスポイント70から無線送信される。1つの会計通知コマンドは、会計コマンド送信元の情報端末60で受信される。他の会計通知コマンドは、当該情報端末60が設けられたカートCと連携状態にある別のカートCに設けられた情報端末60で受信される。会計通知コマンドには、会計コマンドから取得した会員IDが記述されている買物カゴメモリ322の合計金額と会計バーコードとが含まれる。以上で、プロセッサ31は、会計コマンドの受信処理を終了する。
図11の説明に戻る。
会計コマンドの送信を制御したプロセッサ61は、Act162として会計通知コマンドを待ち受ける。会計通知コマンドを受信すると、プロセッサ61は、Act162においてYESと判定し、Act163へと進む。プロセッサ61は、Act163としてタッチパネル65の画面を会計案内画面SC3とする。
会計案内画面SC3の一例を図23に示す。図23に示すように、会計案内画面SC3には、会計通知コマンドに含まれている会計バーコードBC1と合計金額TAとが表示されている。また、[戻る]ボタンBT7の画像も表示されている。[戻る]ボタンBT7は、客が会計中止を指示する場合に入力操作される。
会計案内画面SC3を表示させたプロセッサ61は、Act164として[戻る]ボタンBT7が入力されたか否かを確認する。[戻る]ボタンBT7が入力されていない場合、プロセッサ61はAct164においてNOと判定し、Act165へと進む。プロセッサ61は、Act165として会計解除コマンドを受信したか否かを確認する。会計解除コマンドについては後述する。会計解除コマンドを受信していない場合、プロセッサ61は、Act165においてNOと判定し、Act166へと進む。プロセッサ61は、Act166として会計済コマンドを受信したか否かを確認する。会計済コマンドについても後述する。会計済コマンドを受信していない場合、プロセッサ61は、Act166においてNOと判定し、Act164へと戻る。ここにプロセッサ61は、Act164乃至Act166において、[戻る]ボタンBT7が入力されるか、会計解除コマンドを受信するか、会計済コマンドを受信するのを待ち受ける。
したがって、カートC01とカートC02の2台を連携させて使用するグループ客が、カートC01に設けられた情報端末60のタッチパネル65に表示されている連携用登録画面SC2から会計ボタンBT1を入力した場合、タッチパネル65の画面が連携用登録画面SC2から会計案内画面SC3に切り替わる。
一方、カートC02に設けられた情報端末60Bに対しても、仮想POSサーバ30から会計通知コマンドが送信される。
Act108乃至Act113の待ち受け状態にある情報端末60Bのプロセッサ61は、会計通知コマンドを受信すると、Act113においてYESと判定し、図11のAct163へと進む。プロセッサ61は、Act163としてタッチパネル65の画面を会計案内画面SC3とする。
ここで、カートC01に設けられた情報端末60Aが受信する会計通知コマンドと、カートC02に設けられた情報端末60Bが受信する会計通知コマンドとに含まれる買物カゴメモリ322の合計金額と会計バーコードとは共通である。したがって、会計ボタンBT1が入力された情報端末60Aだけでなく、当該情報端末60Aが設けられたカートC01と連携するカートC02に設けられた情報端末60Bに対しても会計案内画面SC3が表示される。そして、情報端末60Aと情報端末60Bの各タッチパネル65に表示される会計案内画面SC3は、連携カート番号以外が共通の画面、すなわち同一の会計バーコードBC1と合計金額とが表示された画面となる。
ところで、情報端末60Aに設定されたカートIDが記述されているカートメモリ321Aの会計フラグは、図15のAct265の処理により“1”にセットされる。その結果、情報端末60Aにおいて購買商品の登録操作が行われても、図13のAct221乃至Act223の処理によりエラーとなる。また、情報端末60Bに設定されたカートIDが記述されているカートメモリ321Aの会計フラグも、図15のAct268の処理により“1”にセットされる。その結果、情報端末60Bにおいて購買商品の登録操作が行われた場合もエラーとなる。したがって、会計案内画面SC3が表示された後は、引き続き商品を購入しようとしても、その商品を情報端末60A及び情報端末60Bで登録することはできない。
<会計指示の取消動作>
そこで次に、会計案内画面SC3が表示された後に、情報端末60A又は情報端末60Bを購買商品の登録可能な状態に戻す動作について説明する。
情報端末60A又は情報端末60Bを購買商品の登録可能な状態に戻したい場合、グループ客は、会計案内画面SC3に表示された[戻る]ボタンBT7を入力する。
会計案内画面SC3が表示されている情報端末60A及び情報端末60Bのプロセッサ61は、Act164乃至Act166の待ち受け状態となっている。この待ち受け状態において[戻る]ボタンBT7が入力されたことを検知すると、プロセッサ61は、Act164においてYESと判定し、Act167へと進む。プロセッサ61は、Act167として会計取消コマンドを仮想POSサーバ30宛に出力するように無線ユニット64を制御する。この制御により、無線ユニット64は、会計取消コマンドを無線送信する。会計取消コマンドは、アクセスポイント70で受信され、ネットワーク2を介して仮想POSサーバ30へと送られる。会計取消コマンドには、Act103の処理で取得したカートIDが含まれる。
会計取消コマンドの送信を制御したプロセッサ61は、Act168としてタッチパネル65の画面を会計案内画面SC3に切り替わる直前の登録画面に戻す。すなわち、直前の登録画面が通常登録画面SC1であった場合には、その通常登録画面SC1に戻す。直前の登録画面が連携用登録画面SC2であった場合には、その連携用登録画面SC2に戻す。その後、プロセッサ61は、Act108乃至Act103の待ち受け状態に戻る。
会計取消コマンドを受信した仮想POSサーバ30のプロセッサ31は、図16の流れ図に示す手順のコマンド受信処理を開始する。
プロセッサ31は、Act271として会計取消コマンドからカートIDを取得する。そしてプロセッサ31は、Act272として当該カートIDが記述されているカートメモリ321の会計フラグを“0”にリセットする。以下、会計取消コマンドから取得したカートIDが記述されているカートメモリ321をカートメモリ321Jと表す。
プロセッサ31は、Act273として、Act223と同様にカートメモリ321Jに記述された連携カート台数nの値により、当該カートIDで識別されるカートCが他のカートCと連携状態にあるか否かを判定する。
ここで、当該カートCが他のカートCと連携状態にない場合、プロセッサ31は、後述するAct274及びAct275の処理をスキップしてAct276へと進む。プロセッサ31は、Act276として会計取消コマンドから取得したカートIDを宛先として会計解除コマンドを出力するように通信インターフェース34を制御する。この制御により、通信インターフェース34は、会計解除コマンドをネットワーク2へと送信する。会計解除コマンドは、ネットワーク2を介してアクセスポイント70から無線送信される。会計解除コマンドは、会計取消コマンド送信元の情報端末60で受信される。以上で、プロセッサ31は、会計取消コマンドの受信処理を終了する。
Act273においてプロセッサ31は、当該カートCが他のカートCと連携状態にある場合にはYESと判定し、Act274へと進む。プロセッサ31は、Act274として、Act267と同様にして連携カートIDを取得する。そしてプロセッサ31は、Act275としてその連携カートIDが記述されているカートメモリ321の会員フラグを“0”にリセットする。以下、連携カートIDが記述されているカートメモリ321をカートメモリ321Kと表す。カートメモリ321Kが複数存在する場合には、プロセッサ31は、各々のカートメモリ321Kから連携カートIDを取得する。またプロセッサ31は、それぞれのカートメモリ321Kの会計フラグを“0”にリセットする。
プロセッサ31は、Act274及びAct275の処理を終えると、前述したAct276へと進む。すなわちプロセッサ31は、会計取消コマンドから取得したカートIDを宛先として会計解除コマンドを出力するように通信インターフェース34を制御する。またプロセッサ31は、Act274の処理で取得した1又は複数の連携カートIDを宛先として会計解除コマンドを出力するように通信インターフェース34を制御する。これらの制御により、通信インターフェース34は、会計取消コマンドから取得したカートIDを宛先とする会計解除コマンドと、連携カートIDを宛先とする会計解除コマンドとをネットワーク2へと送信する。各会計解除コマンドは、ネットワーク2を介してアクセスポイント70から無線送信される。1つの会計解除コマンドは、会計取消コマンド送信元の情報端末60で受信される。他の会計解除コマンドは、当該情報端末60が設けられたカートCと連携状態にある別のカートCに設けられた情報端末60で受信される。以上で、プロセッサ31は、会計取消コマンドの受信処理を終了する。
Act164乃至Act166の待ち受け状態にある情報端末60のプロセッサ61は、会計解除コマンドを受信すると、Act165においてYESと判定し、前述したAct168へと進む。すなわちプロセッサ61は、タッチパネル65の画面を会計案内画面CS3に切り替わる直前の登録画面に戻す。すなわち、直前の登録画面が通常登録画面SC1であった場合には、その通常登録画面SC1に戻す。直前の登録画面が連携用登録画面SC2であった場合には、その連携用登録画面SC2に戻す。その後、プロセッサ61は、Act108乃至Act103の待ち受け状態に戻る。
このように、例えばカートC02を使用するグループ客が会計案内画面SC3の[戻る]ボタンBT7を入力した場合、カートメモリ321Bの会計フラグが“1”から“0”に切り替わる。そして、情報端末60Bにおけるタッチパネル65の画面が連携用登録画面SC2に戻る。したがって、情報端末60Bは、購買商品の登録が可能な状態に戻る。また、カートメモリ321Aの会計フラグも“1”から“0”に切り替わる。そして、情報端末60Aにおけるタッチパネル65の画面が直前の連携用登録画面SC2に戻る。したがって、情報端末60Aも、購買商品の登録が可能な状態に戻る。
<会計に係る動作>
さて、買物を終えたグループ客は、カートC01又はカートC02とともに会計機50が設置されている場所まで行く。そしてグループ客は、情報端末60A又は情報端末60Bのタッチパネル65に表示されている会計案内画面SC3の会計バーコードBC1を、会計機50のスキャナで読み取らせる。そうすると、会計機50から仮想POSサーバ30にスキャナコマンドが送信される。スキャナコマンドには、会計バーコードのデータが含まれる。
スキャナコマンドを受信した仮想POSサーバ30のプロセッサ31は、図17の流れ図に示す手順の処理を開始する。プロセッサ31は、Act281としてスキャナコマンドから会計バーコードのデータを取得する。プロセッサ31は、Act282としてその会計バーコードのデータでメインメモリ32の買物カゴメモリ322が作成されている領域を検索する。そしてプロセッサ31は、Act283として当該会計バーコードのデータが記述されている買物カゴメモリ322Cの有無を判定する。以下、スキャナコマンドから取得した会計バーコードのデータが記述されている買物カゴメモリ322を買物カゴメモリ322Cと表す。
買物カゴメモリ322Cが存在しない場合、プロセッサ31は、Act283においてNOと判定し、スキャナコマンドの入力をエラーとする。スキャナコマンドの入力がエラーとなった場合、会計機50においてエラーが報知される。エラーを確認した客は、会計バーコードのスキャニングを再度行うこととなる。
買物カゴメモリ322Cが存在する場合には、プロセッサ31は、Act283においてYESと判定し、Act284へと進む。プロセッサ31は、Act284として買物カゴメモリ322Cに記述されている購買商品データ、値引合計額及び合計金額の各データを、決済処理に必要な会計データとして、スキャナコマンド送信元の会計機50へと出力するように通信インターフェース34を制御する。この制御により通信インターフェース34は、会計データをネットワーク2へと送信する。会計データは、スキャナコマンド送信元の会計機50へと送られ、決済処理が実行される。決済処理は、会計機50における周知の処理であるので、ここでの説明は省略する。
会計データの送信を制御したプロセッサ31は、Act285として買物カゴメモリ322Cに記述されている会員IDでメインメモリ32のカートメモリ321が作成されている領域を検索する。プロセッサ31は、Act286として当該会員IDが記述されたカートメモリ321からカートIDを取得する。以下、買物カゴメモリ322Cに記述されている会員IDが記述されたカートメモリ321をカートメモリ321Lと表す。プロセッサ31は、カートメモリ321Lを複数検出した場合には、それぞれのカートメモリ321LからカートIDを取得する。
プロセッサ31は、Act287として、Act286の処理で取得したカートIDを宛先として会計済コマンドを出力するように通信インターフェース34を制御する。この制御により通信インターフェース34は、1又は複数の会計済コマンドをネットワーク2へと送信する。会計済コマンドは、ネットワーク2を介してアクセスポイント70から無線送信される。1つの会計済コマンドは、会計コマンド送信元の情報端末60で受信される。他の連携コマンドは、当該情報端末60が設けられたカートCと連携状態にある別のカートCに設けられた情報端末60で受信される。プロセッサ31は、Act288として買物カゴメモリ322Cを削除する。以上で、プロセッサ31は、スキャナコマンドの受信処理を終了する。
図11の説明に戻る。
Act164乃至Act166の待ち受け状態にあるプロセッサ61は、会計済コマンドを受信すると、Act166においてYESと判定し、Act167へと進む。プロセッサ61は、Act167としてログアウトを行う。ログアウトを終えると、プロセッサ61は、端末プログラムには従った情報処理を終了する。
以上で、カートPOSシステム1の主要な動作に係る説明を終了する。
ここに、仮想POSサーバ30のプロセッサ31は、メインメモリ32と協働して、図12のAct201乃至Act214の処理を実行することにより、情報端末60を識別するカートIDと関連付けて、当該情報端末60の購買者受付手段で受け付けた購買者識別情報、つまりは会員IDを記憶する第1の記憶手段を構成する。
またプロセッサ31は、メインメモリ32と協働して、図13のAct221乃至Act231の処理を実行することにより、情報端末60の商品受付手段で受け付けた購買商品に係るデータを、当該情報端末60のカートIDと関連付けされて第1の記憶手段で記憶されている会員IDと関連付けて記憶する第2の記憶手段を構成する。
またプロセッサ31は、図13のAct232乃至Act235の処理を実行することにより、会員IDと関連付けされて第2の記憶手段で記憶されている購買商品に係るデータを、当該会員IDと関連付けされて第1の記憶手段で記憶されているカートIDで識別される情報端末60に出力する出力手段を構成する。この出力手段は、当該会員IDと関連付けされて第1の記憶手段で記憶されているカートIDが複数ある場合、その複数のカートIDでそれぞれ識別される複数の情報端末60に購買商品に係るデータを出力する。詳しくは、出力手段は、その複数のカートIDでそれぞれ識別される複数の情報端末60に購買商品に係るデータを、連携カート番号kによって、当該購買商品に係るデータを受け付けた情報端末60を識別可能に出力する。
またプロセッサ31は、図13のAct221乃至Act223の処理、及び、図15のAct266乃至Act268の処理を実行することにより、情報端末60の会計受付手段で会計宣言を受け付けたことに応じて、当該情報端末60のカートIDと関連付けされて第1の記憶手段で記憶されている会員IDを購買者受付手段で受け付けた他の情報端末60の商品受付手段を無効化する無効化手段を構成する。
またプロセッサ31は、図16のAct273乃至Act275の処理を実行することにより、無効化手段により商品受付手段を無効化した後、当該情報端末60又は他の情報端末60から無効化の解除が指令されると、他の情報端末60における商品受付手段の無効化状態を解除する解除手段を構成する。
またプロセッサ31は、図13のAct229乃至Act231の処理を実行することにより、第2の記憶手段で記憶されている購買商品に係るデータから購買商品の合計金額を算出し、さらに購買商品に係るデータから値引きが成立すると合計金額から値引き額を減じた金額を算出する合計手段を構成する。
このような通信手段、第1の記憶手段、第2の記憶手段及び無効化手段を備えた仮想POSサーバ30であれば、グループで来店した客が使用する情報端末60から会計指示が行われた場合に、同じグループの他のメンバが使用する情報端末60からの商品登録を禁止することができる。
また仮想POSサーバ30がさらに出力手段を備えることにより、グループで来店した客が複数の情報端末60を使用して購買商品の登録を行う場合、各情報端末60では、他のメンバが使用する情報端末60で登録された購買商品の情報も含めてまとめて1つの画面で表示される。しかも客は、その画面の情報から、どの情報端末60で登録された購買商品なのかを容易に識別することができる。
また、仮想POSサーバ30がさらに解除手段を備えることにより、他の情報端末60で会計指示が行われたために商品登録を一時的にできなくなってしまっても、情報端末60に対する簡単な操作によって、購買商品の登録が可能な状態に容易に戻すことができる。
また、仮想POSサーバ30がさらに合計手段を備えることにより、グループで来店した客が複数の情報端末60を使用した場合においても、単独で使用した場合と同様にセット値引のサービスを受けることができる。
以上、グループで来店した客が使用する情報端末から会計指示が行われた場合に、同じグループの他のメンバが使用する情報端末からの商品登録を禁止できる購買支援装置の実施形態について説明したが、かかる実施形態はこれに限定されるものではない。
前記実施形態では、情報端末60は、購買者が購入する商品を搬送する搬送体、すなわちカートCに設けられている場合を例示した。情報端末60をカートCに設けることによって、情報端末60の取り扱いが容易となる利点がある。しかし情報端末60は、必ずしもカートCなどの搬送体に設けられていなくてもよい。スマートフォン、ウェアラブルコンピュータ等のような携帯型の電子機器を情報端末60として使用してもよい。この場合、客は、情報端末を携帯して使用することとなる。
購買商品に係るデータを受け付けた情報端末60を識別可能とするために、購買商品に係るデータとともに連携カート番号を表示する場合を例示した。識別可能とする手段は、連携カート番号の表示に限定されるものではない。例えば、連携カード番号と対応付けられたマークを表示することで、識別可能としてもよい。あるいは、連携カード番号が異なる毎に購買商品に係るデータの表示色を変えることで、識別可能としてもよい。
前記実施形態では、情報端末60Aから送信される商品登録コマンドを受信した場合だけでなく、情報端末60Bから送信される商品登録コマンドを受信した場合も、1つの買物カゴメモリ322Bに購買商品データを格納するようにした。この点に関しては、情報端末60Aから送信される商品登録コマンドを受信した場合には1つの買物カゴメモリに購買商品データを格納し、情報端末60Bから送信される商品登録コマンドを受信した場合には別の1つの買物カゴメモリに購買商品データを格納するようにしてもよい。その場合でも、例えば情報端末60Aにおいて会計宣言が行われたことに応じて、情報端末60Bの商品受付手段を無効化すればよい。
前記実施形態では、仮想POSサーバ30を購買支援装置として機能させる場合を例示した。この点に関しては、例えば店舗サーバ10を購買支援装置として機能させるように構成してもよい。あるいは、仮想POSサーバ30と店舗サーバ10とで購買支援装置としての機能を分散させる等、複数のサーバからなるシステムで購買支援装置を構成することも可能である。
前記実施形態では、仮想POSサーバ30に対し、制御プログラムがメインメモリ32又は補助記憶デバイス33に予め記憶されている場合を例示した。この点に関しては、制御プログラムがメインメモリ32又は補助記憶デバイス33に記憶されていない状態で、購買支援装置を構成してもよい。その場合には、購買支援装置が備える書き込み可能な記憶デバイスに、この購買支援装置とは個別に譲渡された制御プログラムがユーザなどの操作に応じて書き込まれればよい。制御プログラムの譲渡は、リムーバブルな記録媒体に記録して、あるいはネットワークを介した通信により行うことができる。記録媒体は、CD-ROM,メモリカート等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態及びその変形は、発明の範囲に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。