以下、実施形態に係る支援システムについて図面を用いて説明する。
図1及び図2は、実施形態に係る支援システム1及び支援システム1に含まれる構成要素の要部回路構成の一例を示すブロック図である。支援システム1は、買物支援サービスを提供する。買物支援サービスは、リストサービス及びセルフスキャンサービスを含む。リストサービスは、情報機器上で使用可能なショッピングリストを提供する。セルフスキャンサービスは、店舗などにおいて商品に付されたバーコードなどを読み込ませることで、当該商品を買い上げ登録することができるサービスである。買い上げ登録された商品は、レジにおいて商品に付されたバーコードなどを読み込ませる必要が無くなる。支援システム1は、支援サーバー10、POS(point of sale)サーバー20、アプリサーバー30、ユーザー端末40及びPOS端末50を含む。支援サーバー10、POSサーバー20、アプリサーバー30、ユーザー端末40及びPOS端末50は、ネットワークNWに接続されている。ネットワークNWは、典型的にはインターネットを含む通信網である。また、ネットワークNWは、イントラネット、公衆携帯電話網、公衆交換電話網、又はその他の通信網を含んでも良い。
なお、図1及び図2には支援サーバー10、POSサーバー20、アプリサーバー30、ユーザー端末40及びPOS端末50を1台ずつ示すが、それぞれ複数あっても良い。
支援サーバー10は、買物支援サービスを提供するために用いられる。支援サーバー10は、プロセッサー11、ROM(read-only memory)12、RAM(random-access memory)13、補助記憶デバイス14、通信インターフェース15及びバス16を含む。
プロセッサー11は、支援サーバー10の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、支援サーバー10の各種の機能を実現するべく各部を制御する。プロセッサー11は、例えば、CPU(central processing unit)、MPU(micro processing unit)、SoC(system on a chip)、DSP(digital signal processor)又はGPU(graphics processing unit)などである。あるいは、プロセッサー11は、これらの組み合わせである。プロセッサー11は、制御部の一例である。プロセッサー11を中枢とするコンピューターは、制御部の一例である。
ROM12は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。ROM12は、専らデータの読み出しに用いられる不揮発性メモリである。ROM12は、上記のプログラムを記憶する。また、ROM12は、プロセッサー11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
RAM13は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサー11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
補助記憶デバイス14は、プロセッサー11を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス14は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はSSD(solid state drive)などである。補助記憶デバイス14は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス14は、プロセッサー11が各種の処理を行う上で使用するデータ、プロセッサー11での処理によって生成されたデータ又は各種の設定値などを保存する。
また、補助記憶デバイス14は、会員DB(database)141、リストDB142及び陳列DB143を記憶する。
会員DB141は、買物支援サービスの各会員の情報などを記憶する。会員DB141は、例えば、図3に示すような会員テーブルT1を含む。図3は、会員テーブルT1の一例を示す図である。会員テーブルT1は、会員ID(identifier)と当該会員IDで示される会員の会員名、性別及び生年月日などとを関連付ける。会員IDは、買物支援サービスの会員ごとにユニークに割り当てられた識別符号である。
リストDB142は、ショッピングリストに関する情報などを記憶する。リストDB142は、図4に示すようなリストテーブルT2及び図5に示すような登録テーブルT3を含む。図4は、リストテーブルT2の一例を示す図である。図5は、登録テーブルT3の一例を示す図である。
リストテーブルT2は、ショッピングリストの作成者などを規定する。リストテーブルT2は、リストIDと、当該リストIDで特定されるショッピングリストを作成した会員の会員IDと、当該リストIDで特定されるショッピングリストの作成日などとを関連付ける。リストIDは、ショッピングリストごとにユニークに割り当てられた識別符号である。
登録テーブルT3は、ショッピングリストに登録される購入予定商品についての情報を規定する。登録テーブルT3は、購入予定IDと、当該購入予定IDで特定される購入予定商品が登録されたショッピングリストのリストIDと、当該購入予定商品が当該ショッピングリストの何番目に表示されるかを示す表示順と、当該購入予定商品の種類を示す商品IDと、当該購入予定商品の購入予定個数と、当該購入予定商品を購入済であることを示す購入フラグと、当該購入予定商品の購入日時などとを関連付ける。購入予定IDは、ショッピングリストに含まれる購入予定商品ごとにユニークに割り当てられた識別符号である。商品IDは、商品の種類ごとにユニークに割り当てられた識別符号である。
陳列DB143は、商品の陳列場所に関する情報などを記憶する。陳列DB143は、例えば、図6に示すような陳列場所テーブルT4及び図7に示すような距離テーブルT5を含む。図6は、陳列場所テーブルT4の一例を示す図である。図7は、距離テーブルT5の一例を示す図である。
陳列場所テーブルT4は、各商品についての陳列場所を規定する。陳列場所テーブルT4は、商品IDと、当該商品IDで特定される商品の商品名と、当該商品が陳列されている場所の陳列場所IDなどとを関連付ける。陳列場所IDは、陳列場所ごとにユニークに割り当てられた識別符号である。陳列場所IDは、例えば、棚毎、一定の範囲毎、又は商品毎にユニークに割り当てられる。なお、商品名は、商品名を特定するための商品名IDであっても良い。図6には商品名として商品名IDを示している。
距離テーブルT5は、陳列場所同士の距離を規定する。距離テーブルT5は、2つの陳列場所IDと、当該2つの陳列場所間の距離を示す陳列場所距離とを関連付ける。陳列場所距離は、例えば、支援サーバー10の管理者又は買物支援サービスを利用する店舗の担当者などによって予め定められる。あるいは、支援サーバー10のプロセッサー11は、リストDBに記憶されたショッピングリストを用いて陳列場所距離を推定しても良い。陳列場所距離の推定方法については後述する。なお、図7では、陳列場所距離の単位としてメートルを用いているが、当該単位はメートルに限らない。また、当該単位は、時間などの距離以外の単位であっても良い。また、陳列場所距離は、無次元量であっても良い。距離テーブルT5は、商品の陳列場所同士の距離を記憶した記憶部の一例である。また、陳列DB143は、記憶部の一例である。また、補助記憶デバイス14は、記憶部の一例である。
ROM12又は補助記憶デバイス14に記憶されるプログラムは、後述する処理を実行するための制御プログラムを含む。一例として、支援サーバー10は、制御プログラムがROM12又は補助記憶デバイス14に記憶された状態で支援サーバー10の管理者などへと譲渡される。しかしながら、支援サーバー10は、後述する処理を実行するための制御プログラムがROM12又は補助記憶デバイス14に記憶されない状態で当該管理者などに譲渡されても良い。また、支援サーバー10は、別の制御プログラムがROM12又は補助記憶デバイス14に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するための制御プログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM12又は補助記憶デバイス14へと書き込まれても良い。このときの制御プログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWを介したダウンロードにより実現できる。
通信インターフェース15は、支援サーバー10がネットワークNWなどを介して通信するためのインターフェースである。通信インターフェース15は、第1の通信部の一例である。
バス16は、コントロールバス、アドレスバス及びデータバスなどを含み、支援サーバー10の各部で授受される信号を伝送する。
POSサーバー20は、POSシステムを動作させるためのサーバーである。POSサーバー20は、例えば店舗又は商店ごとに設置される。POSサーバー20は、POSシステム上の商取引に関するデータを記憶する。POSサーバー20は、プロセッサー21、ROM22、RAM23、補助記憶デバイス24、通信インターフェース25及びバス26を含む。
プロセッサー21は、POSサーバー20の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー21は、ROM22又は補助記憶デバイス24などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、POSサーバー20の各種の機能を実現するべく各部を制御する。プロセッサー21は、例えば、CPU、MPU、SoC、DSP又はGPUなどである。あるいは、プロセッサー21は、これらの組み合わせである。
ROM22は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。ROM22は、専らデータの読み出しに用いられる不揮発性メモリである。ROM22は、上記のプログラムを記憶する。また、ROM22は、プロセッサー21が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
RAM23は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。RAM23は、データの読み書きに用いられるメモリである。RAM23は、プロセッサー21が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
補助記憶デバイス24は、プロセッサー21を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス24は、例えばEEPROM、HDD又はSSDなどである。補助記憶デバイス24は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス24は、プロセッサー21が各種の処理を行う上で使用するデータ、プロセッサー21での処理によって生成されたデータ又は各種の設定値などを保存する。
また、補助記憶デバイス24は、商品DB241を記憶する。
商品DB241は、各商品についての情報を記憶する。商品DB241は、例えば、商品テーブルを含む。商品テーブルは、商品IDと当該商品IDで特定される商品の商品名、価格及び在庫数量などの商品情報とを関連付ける。
ROM22又は補助記憶デバイス24に記憶されるプログラムは、後述する処理を実行するための制御プログラムを含む。一例として、POSサーバー20は、後述する処理を実行するための制御プログラムがROM22又は補助記憶デバイス24に記憶された状態でPOSサーバー20の管理者などへと譲渡される。しかしながら、POSサーバー20は、後述する処理を実行するための制御プログラムがROM22又は補助記憶デバイス24に記憶されない状態で当該管理者などに譲渡されても良い。また、POSサーバー20は、別の制御プログラムがROM22又は補助記憶デバイス24に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するための制御プログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM22又は補助記憶デバイス24へと書き込まれても良い。このときの制御プログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWを介したダウンロードにより実現できる。
通信インターフェース25は、POSサーバー20がネットワークNWなどを介して通信するためのインターフェースである。
バス26は、コントロールバス、アドレスバス及びデータバスなどを含み、POSサーバー20の各部で授受される信号を伝送する。
アプリサーバー30は、リストアプリAP1及びセルフスキャンアプリAP2などのアプリケーションソフトウェアを記憶する。また、アプリサーバー30は、要求に応じてリストアプリAP1又はセルフスキャンアプリAP2を送信する。
リストアプリAP1は、リストサービスを利用する場合に用いられるアプリケーションソフトウェアである。リストアプリAP1は、リストサービス用のソフトウェアであっても良いし、汎用のウェブブラウザーなどであっても良い。
セルフスキャンアプリAP2は、セルフスキャンサービスを利用する場合に用いられるアプリケーションソフトウェアである。セルフスキャンアプリAP2は、セルフスキャンサービス用のソフトウェアであっても良いし、汎用のウェブブラウザーなどであっても良い。
ユーザー端末40は、買物支援サービスのユーザーが操作者として操作する装置である。ユーザー端末40は、例えば、スマートホンなどの携帯電話、PC(personal computer)又はタブレットPCなどである。ユーザー端末40は、プロセッサー41、ROM42、RAM43、補助記憶デバイス44、通信インターフェース45、入力デバイス46、表示デバイス47、カメラ48及びバス49を含む。ユーザー端末40は、端末装置の一例である。
プロセッサー41は、ユーザー端末40の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー41は、ROM42又は補助記憶デバイス44などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、ユーザー端末40の各種の機能を実現するべく各部を制御する。プロセッサー41は、例えば、CPU、MPU、SoC、DSP又はGPUなどである。あるいは、プロセッサー41は、これらの組み合わせである。
ROM42は、プロセッサー41を中枢とするコンピューターの主記憶装置に相当する。ROM42は、専らデータの読み出しに用いられる不揮発性メモリである。ROM42は、上記のプログラムを記憶する。また、ROM42は、プロセッサー41が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
RAM43は、プロセッサー41を中枢とするコンピューターの主記憶装置に相当する。RAM43は、データの読み書きに用いられるメモリである。RAM43は、プロセッサー41が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
補助記憶デバイス44は、プロセッサー41を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス44は、例えばEEPROM、HDD又はSSDなどである。補助記憶デバイス44は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス44は、プロセッサー41が各種の処理を行う上で使用するデータ、プロセッサー41での処理によって生成されたデータ又は各種の設定値などを保存する。
また、RAM43又は補助記憶デバイス44は、会員IDを記憶する。
ROM42又は補助記憶デバイス44に記憶されるプログラムは、後述する処理を実行するためのリストアプリ及びセルフスキャンアプリを含む。一例として、ユーザー端末40は、リストアプリ及びセルフスキャンアプリがROM42又は補助記憶デバイス44に記憶されない状態でユーザー端末40の管理者などへと譲渡される。そして、別途に当該管理者などへと譲渡されたリストアプリ及びセルフスキャンアプリが、当該管理者などによる操作の下に補助記憶デバイス44へと書き込まれる。しかしながら、ユーザー端末40は、リストアプリ及びセルフスキャンアプリがROM42又は補助記憶デバイス44に記憶された状態で当該管理者などへと譲渡されても良い。上述の制御プログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWを介したアプリサーバー30などからのダウンロードにより実現できる。
通信インターフェース45は、ユーザー端末40がネットワークNWなどを介して通信するためのインターフェースである。通信インターフェース45は、第2の通信部の一例である。
入力デバイス46は、ユーザー端末40の操作者による操作を受け付ける。入力デバイス46は、例えば、キーボード、キーパッド、タッチパッド又はマウスなどである。
表示デバイス47は、ユーザー端末40の操作者に各種情報を通知するための画面を表示する。表示デバイス47は、例えば、液晶ディスプレイ又は有機EL(electro-luminescence)ディスプレイなどのディスプレイである。また、入力デバイス46及び表示デバイス47としては、タッチパネルを用いることもできる。すなわち、タッチパネルが備える表示パネルを表示デバイス47として、タッチパネルが備えるタッチパッドを入力デバイス46として用いることができる。表示デバイス47は、表示部の一例である。
カメラ48は、バーコードなどを撮像する。
バス49は、コントロールバス、アドレスバス及びデータバスなどを含み、ユーザー端末40の各部で授受される信号を伝送する。
POS端末50は、スーパーマーケット又はコンビニなどの商店に設置される。POS端末50は、決済対象となる商品の買上登録及び登録された商品についての決済などのレジ業務などのために設定される。POS端末50は、例えば、主に店舗の店員などによって操作される。あるいは、POS端末50は、店舗の買物客などによって操作されるセルフ方式の端末であっても良い。また、POS端末50は、商品の買上登録を行う登録装置と、登録された商品についての決済を行う決済装置とを含むセミセルフ方式の端末であっても良い。セミセルフ方式のPOS端末50は、典型的には、登録装置を店員が操作し、決済装置を買物客が操作する。POS端末50のそれぞれは、ユニークなPOSIDが割り当てられている。そして、POS端末50のそれぞれは、当該POSIDが記録されたバーコードが付されている。なお、一例として、POS端末50は主に店員によって操作される方式であるものとして以下の説明を行う。POS端末50は、プロセッサー501、ROM502、RAM503、補助記憶デバイス504、通信インターフェース505、入力デバイス506、表示デバイス507、客側タッチパネル508、スキャナー509及びバス510を含む。
プロセッサー501は、POS端末50の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー501は、ROM502又は補助記憶デバイス504などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、POS端末50の各種の機能を実現するべく各部を制御する。プロセッサー501は、例えば、CPU、MPU、SoC、DSP又はGPUなどである。あるいは、プロセッサー501は、これらの組み合わせである。
ROM502は、プロセッサー501を中枢とするコンピューターの主記憶装置に相当する。ROM502は、専らデータの読み出しに用いられる不揮発性メモリである。ROM502は、上記のプログラムを記憶する。また、ROM502は、プロセッサー501が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
RAM503は、プロセッサー501を中枢とするコンピューターの主記憶装置に相当する。RAM503は、データの読み書きに用いられるメモリである。RAM503は、プロセッサー501が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
補助記憶デバイス504は、プロセッサー501を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス504は、例えばEEPROM、HDD又はSSDなどである。補助記憶デバイス504は、上記のプログラムを記憶する場合がある。また、補助記憶デバイス504は、プロセッサー501が各種の処理を行う上で使用するデータ、プロセッサー501での処理によって生成されたデータ又は各種の設定値などを保存する。また、補助記憶デバイス504は、買上商品として登録された商品のリストである商品リストも記憶する。あるいは、RAM503が、上記商品リストを記憶しても良い。さらに、補助記憶デバイス504は、店舗で販売されている商品についての商品コード、商品名及び金額などの各種情報を含む商品データベースも記憶する。
ROM502又は補助記憶デバイス504に記憶されるプログラムは、後述する処理を実行するための制御プログラムを含む。一例として、POS端末50は、後述する処理を実行するための制御プログラムがROM502又は補助記憶デバイス504に記憶された状態でPOS端末50の管理者などへと譲渡される。しかしながら、POS端末50は、後述する処理を実行するための制御プログラムがROM502又は補助記憶デバイス504に記憶されない状態で当該管理者などに譲渡されても良い。また、POS端末50は、別の制御プログラムがROM502又は補助記憶デバイス504に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する処理を実行するための制御プログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM502又は補助記憶デバイス504へと書き込まれても良い。このときの制御プログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWを介したダウンロードにより実現できる。
通信インターフェース505は、POS端末50がネットワークNWなどを介して通信するためのインターフェースである。
入力デバイス506は、POS端末50の操作者による操作を受け付ける。入力デバイス506は、例えば、キーボード、キーパッド、タッチパッド又はマウスなどである。
表示デバイス507は、POS端末50の操作者に各種情報を通知するための画面を表示する。表示デバイス507は、例えば、液晶ディスプレイ又は有機ELディスプレイなどのディスプレイである。また、表示デバイス507としては、タッチパッドに重ねて配置された表示パネルを用いることもできる。すなわち、タッチパネルが備える表示パネルを表示デバイス507として、タッチパネルが備えるタッチパッドを入力デバイス506として用いることができる。
客側タッチパネル508は買物客に各種情報を通知するための画面を表示する表示デバイスとして機能する。また、客側タッチパネル508は、当該買物客によるタッチ操作を受け付ける入力デバイスとして機能する。なお、前述したようにPOS端末50の操作者は主に店員であるが、客側タッチパネル508については、買物客が操作者となって操作する。
スキャナー509は、商品などに表示されたバーコードを読取って、このバーコードが表した商品コードを出力する。スキャナー509は、手で持って使用するタイプでも良いし、レジ台などに固定するタイプでも良い。
バス510は、コントロールバス、アドレスバス及びデータバスなどを含み、POS端末50の各部で授受される信号を伝送する。
以下、実施形態に係る支援システム1の動作を図8~図21に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図8~図14は、ユーザー端末40のプロセッサー41による処理のフローチャートである。プロセッサー41は、ROM42又は補助記憶デバイス44などに記憶されたリストアプリに基づいて図8~図13の処理を実行する。プロセッサー41は、ROM42又は補助記憶デバイス44などに記憶されたセルフスキャンアプリに基づいて図14の処理を実行する。図15~図17は、支援サーバー10のプロセッサー11による処理のフローチャートである。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶された制御プログラムに基づいてこの処理を実行する。図18は、POS端末50のプロセッサー501による処理のフローチャートである。プロセッサー501は、ROM502又は補助記憶デバイス504などに記憶された制御プログラムに基づいてこの処理を実行する。なお、特に説明が無い限り、プロセッサー11、プロセッサー41及びプロセッサー501は、Act(n)(nは、自然数。)の処理の後、Act(n+1)へと進むものとする。なお、以下の説明で支援サーバー10が行う処理は、1台のユーザー端末40又は1台のPOS端末50に対して行うものである。実際には、支援サーバー10は、複数のユーザー端末40及び複数のPOS端末50のそれぞれに対して同様の処理を行う。
図8のAct1においてユーザー端末40のプロセッサー41は、ユーザー端末40がリストサービスにログインした状態であるか否かを判定する。プロセッサー41は、ユーザー端末40がリストサービスにログインした状態であるならば、Act1においてYesと判定してAct3へと進む。対して、プロセッサー41は、ユーザー端末40がリストサービスにログインした状態でないならば、Act1においてNoと判定してAct2へと進む。
Act2においてプロセッサー41は、ユーザー端末40をリストサービスにログインした状態にするためのログイン処理を行う。ログイン処理については、周知の方法を用いることができる。ログイン処理により、RAM43又は補助記憶デバイス44は、ログインに用いられた会員IDを記憶する。また、支援サーバー10は、ユーザー端末40が当該会員IDでリストサービスにログインしていることを識別する。
Act3においてプロセッサー41は、スタート画面に対応した画像を生成する。そして、プロセッサー41は、生成したこの画像を表示するように表示デバイス47に対して指示する。この指示を受けて表示デバイス47は、スタート画面を表示する。
スタート画面は、一例として、作成開始ボタン及び買物開始ボタンを含む。作成開始ボタンは、ショッピングリストを作成する場合に操作者が操作するためのボタンである。買物開始ボタンは、作成したショッピングリストを用いて買い物を開始する場合に操作者が操作するためのボタンである。
Act4においてプロセッサー41は、ショッピングリストの作成開始を指示する操作が行われたか否かを判定する。すなわち、プロセッサー41は、作成開始ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、ショッピングリストの作成開始を指示する操作が行われないならば、Act4においてNoと判定してAct5へと進む。
Act5においてプロセッサー41は、買物の開始を指示する操作が行われたか否かを判定する。すなわち、プロセッサー41は、買物開始ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、買物の開始を指示する操作が行われないならば、Act5においてNoと判定してAct4へと戻る。かくして、プロセッサー41は、ショッピングリストの作成開始を指示する操作が行われるか、買物の開始を指示する操作が行われるまでAct4及びAct5を繰り返す。
ユーザー端末40の操作者は、保存済みのショッピングリストを編集する、又は新規にショッピングリストを作成して編集するなどの方法によりショッピングリストを作成する場合、作成開始ボタンを操作する。
プロセッサー41は、Act4及びAct5の待受状態にあるときにショッピングリストの作成開始を指示する操作が行われたならば、Act4においてYesと判定してAct6へと進む。
Act6においてプロセッサー41は、ショッピングリストを作成することを示す作成開始要求を生成する。当該作成開始要求は、RAM43又は補助記憶デバイス44に記憶されている会員IDを含む。そして、プロセッサー41は、生成した作成開始要求を支援サーバー10に送信するように通信インターフェース45に対して指示する。この指示を受けて通信インターフェース45は、当該作成開始要求を支援サーバー10に送信する。送信された当該作成開始要求は、支援サーバー10の通信インターフェース15によって受信される。
一方、図15のAct201において支援サーバー10のプロセッサー11は、通信インターフェース15によって作成開始要求が受信されたか否かを判定する。プロセッサー11は、作成開始要求が受信されないならば、Act201においてNoと判定してAct202へと進む。
Act202においてプロセッサー11は、通信インターフェース15によって登録開始要求が受信されたか否かを判定する。プロセッサー11は、登録開始要求が受信されないならば、Act202においてNoと判定してAct201へと戻る。かくして、プロセッサー11は、作成開始要求か登録開始要求が受信されるまでAct201及びAct202を繰り返す。なお、登録開始要求については後述する。
プロセッサー11は、Act201及びAct202の待受状態にあるときに作成開始要求が受信されたならば、Act201においてYesと判定してAct203へと進む。
Act203においてプロセッサー11は、ショッピングリストの作成を許諾することを示す作成許諾応答を生成する。当該作成許諾応答は、Act201で受信された作成開始要求に含まれる会員IDに関連付けられたショッピングリストの一覧を含む。プロセッサー11は、当該ショッピングリストの一覧を、例えば、リストテーブルT2から取得する。当該ショッピングリストの一覧は、当該ショッピングリストそれぞれのリストID及び作成日時などを含む。そして、プロセッサー11は、生成した当該作成許諾応答をユーザー端末40に送信するように通信インターフェース15に対して指示する。この指示を受けて通信インターフェース15は、当該作成許諾応答をユーザー端末40に送信する。送信された当該作成許諾応答は、ユーザー端末40の通信インターフェース45によって受信される。
一方、図8のAct7においてプロセッサー41は、ユーザー端末40の通信インターフェース45によって作成許諾応答が受信されるのを待ち受けている。プロセッサー41は、作成許諾応答が受信されたならば、Act7においてYesと判定してAct8へと進む。
Act8においてプロセッサー41は、第1のリスト一覧画面に対応した画像を生成する。そして、プロセッサー41は、生成したこの画像を表示するように表示デバイス47に対して指示する。この指示を受けて表示デバイス47は、第1のリスト一覧画面を表示する。
第1のリスト一覧画面は、一例として、新規作成ボタン、及びAct7で受信された作成許諾応答に含まれるショッピングリストの一覧を含む。新規作成ボタンは、ショッピングリストの新規作成を指示する場合にユーザー端末40の操作者が操作するためのボタンである。
Act9においてプロセッサー41は、ショッピングリストの新規作成を指示する操作が行われたか否かを判定する。すなわち、プロセッサー41は、新規作成ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、ショッピングリストの新規作成を指示する操作が行われないならば、Act9においてNoと判定してAct10へと進む。
Act10においてプロセッサー41は、第1のリスト一覧画面に含まれるショッピングリストの一覧からショッピングリストが選択されたか否かを判定する。プロセッサー41は、ショッピングリストが選択されていないならば、Act10においてNoと判定してAct9へと戻る。かくして、プロセッサー41は、ショッピングリストの新規作成を指示する操作が行われるか、ショッピングリストが選択されるまでAct9及びAct10を繰り返す。
ユーザー端末40の操作者は、新規にショッピングリストを作成したい場合、新規作成ボタンを操作する。
プロセッサー41は、Act9及びAct10の待受状態にあるときにショッピングリストの新規作成を指示する操作が行われたならば、Act9においてYesと判定してAct11へと進む。
Act11においてプロセッサー41は、ショッピングリストの新規作成を支援サーバー10に要求するために新規要求を生成する。当該新規要求は、補助記憶デバイス44に記憶された会員IDを含む。そして、プロセッサー41は、生成した当該新規要求を支援サーバー10に送信するように通信インターフェース45に対して指示する。この指示を受けて通信インターフェース45は、当該新規要求を支援サーバー10に送信する。送信された当該新規要求は、支援サーバー10の通信インターフェース15によって受信される。また、プロセッサー41は、ショッピングリストを作成してRAM43又は補助記憶デバイス44に記憶させる。当該ショッピングリストは、購入予定商品が登録されていないものである。さらに、プロセッサー41は、新規作成されたショッピングリストのリストIDをRAM43又は補助記憶デバイス44に記憶させる。なお、当該リストIDは、後述するように、支援サーバー10から送信される。
一方、図15のAct204において支援サーバー10のプロセッサー11は、ユーザー端末40によってリストの取得が行われたか否かを判定する。プロセッサー11は、リストの取得が行われていないならば、Act204においてNoと判定してAct205へと進む。
Act205においてプロセッサー11は、通信インターフェース15によって新規要求が受信されたか否かを判定する。プロセッサー11は、新規要求が受信されていないならば、Act205においてNoと判定してAct204へと戻る。かくして、プロセッサー11は、ユーザー端末40によってリストの取得が行われるか、通信インターフェース15によって新規要求が受信されるまでAct204及びAct205を繰り返す。
プロセッサー11は、Act204及びAct205の待受状態にあるときに新規要求が受信されたならば、Act205においてYesと判定してAct206へと進む。
Act206においてユーザー端末40のプロセッサー41は、ショッピングリストを新規作成する。すなわち、プロセッサー41は、リストテーブルT2にレコードを追加する。このとき、プロセッサー41は、新規作成されたショッピングリストにユニークなリストIDを割り当てる。追加されたレコードは、当該リストID、及びAct205で受信された新規要求に含まれる会員IDを含む。また、プロセッサー41は、当該リストIDをユーザー端末40に送信するように通信インターフェース15に対して指示する。この指示を受けて通信インターフェース15は、当該リストIDをユーザー端末40に送信する。送信された当該リストIDは、ユーザー端末40の通信インターフェース45によって受信される。当該リストIDは、前述したように、RAM43又は補助記憶デバイス44に記憶される。
対して、ユーザー端末40の操作者は、保存済みのショッピングリストを編集したい場合、第1のリスト一覧画面に含まれるショッピングリストの一覧から編集したいショッピングリストを選択する。ユーザー端末40の操作者は、例えば、第1のリスト一覧画面に表示された作成日時などによって所望のショッピングリストを特定する。
プロセッサー41は、図8のAct9及びAct10の待受状態にあるときにショッピングリストが選択されたならば、Act10においてYesと判定してAct12へと進む。
Act12においてユーザー端末40のプロセッサー41は、Act10で選択されたショッピングリストを支援サーバー10から取得する。そして、プロセッサー41は、取得したショッピングリストをRAM43又は補助記憶デバイス44に記憶させる。また、プロセッサー41は、当該ショッピングリストに対応するリストIDをRAM43又は補助記憶デバイス44に記憶させる。
なお、Act11又はAct12でRAM43又は補助記憶デバイス44に記憶されたリストIDを、以下「作成対象リストID」というものとする。
プロセッサー41は、Act11又はAct12の処理の後、図9のAct21へと進む。
Act21においてプロセッサー41は、登録画面に対応した画像を生成する。そして、プロセッサー41は、生成したこの画像を表示するように表示デバイス47に対して指示する。この指示を受けて表示デバイス47は、登録画面を表示する。
登録画面は、一例として、購入予定商品の一覧、登録ボタン、削除ボタン及び終了ボタンを含む。当該購入予定商品の一覧は、RAM43又は補助記憶デバイス44に記憶されたショッピングリストに含まれる購入予定商品の一覧である。登録ボタンは、ショッピングリストに購入予定商品を追加登録する場合にユーザー端末40の操作者が操作するためのボタンである。削除ボタンは、ショッピングリリストに登録された購入予定商品を削除する場合にユーザー端末40の操作者が操作するためのボタンである。終了ボタンは、ショッピングリストの編集を終了する場合にユーザー端末40の操作者が操作するためのボタンである。
Act22においてプロセッサー41は、購入予定商品の追加登録を指示する操作が行われたか否かを判定する。すなわち、プロセッサー41は、登録ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、購入予定商品の追加登録を指示する操作が行われないならば、Act22においてNoと判定してAct23へと進む。
Act23においてプロセッサー41は、購入予定商品の削除を指示する操作が行われたか否かを判定する。すなわち、プロセッサー41は、削除ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、購入予定商品の削除を指示する操作が行われないならば、Act23においてNoと判定してAct24へと進む。
Act24においてプロセッサー41は、ショッピングリストの編集の終了を指示する操作が行われたか否かを判定する。すなわち、プロセッサー41は、終了ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、ショッピングリストの編集の終了を指示する操作が行われないならば、Act24においてNoと判定してAct22へと戻る。かくして、プロセッサー41は、購入予定商品の追加登録を指示する操作、購入予定商品の削除を指示する操作、又はショッピングリストの編集の終了を指示する操作が行われるまでAct22~Act24を繰り返す。
プロセッサー41は、Act22~Act24の待受状態にあるときに購入予定商品の追加登録を指示する操作が行われたならば、Act22においてYesと判定して図10のAct31へと進む。
Act31においてプロセッサー41は、追加する購入予定商品を選択するための選択画面に対応した画像を生成する。そして、プロセッサー41は、生成したこの画像を表示するように表示デバイス47に対して指示する。この指示を受けて表示デバイス47は、選択画面を表示する。
選択画面は、例えば、商品の一覧、登録終了ボタン及び登録ボタンを含む。当該商品の一覧に含まれる商品は、ユーザー端末40の操作者によって商品を選択する操作が行われることで選択状態となる。また、選択状態である商品は、ユーザー端末40の操作者によって商品の選択を解除する操作が行われることで非選択状態となる。登録終了ボタンは、購入予定商品の追加登録を終了する場合にユーザー端末40の操作者が操作するためのボタンである。登録ボタンは、選択状態の商品をショッピングリストに購入予定商品として追加登録する場合にユーザー端末40の操作者が操作するためのボタンである。
Act32においてプロセッサー41は、購入予定商品の追加登録の終了を指示する操作が行われたか否かを判定する。すなわち、プロセッサー41は、登録終了ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、購入予定商品の追加登録の終了を指示する操作が行われないならば、Act32においてNoと判定してAct33へと進む。
Act33においてプロセッサー41は、商品が選択状態となったか否かを判定する。プロセッサー41は、商品が選択状態となっていないならば、Act33においてNoと判定してAct32へと戻る。かくして、プロセッサー41は、購入予定商品の追加登録の終了を指示する操作が行われるか、商品が選択状態となるまでAct32及びAct33を繰り返す。
プロセッサー41は、Act32及びAct33の待受状態にあるときに購入予定商品の追加登録の終了を指示する操作が行われたならば、Act32においてYesと判定して図9のAct21へと戻る。対して、プロセッサー41は、図10のAct32及びAct33の待受状態にあるときに商品が選択状態となったならば、Act33においてYesと判定してAct34へと進む。
Act34においてプロセッサー41は、Act33で選択状態になった商品が非選択状態になったか否かを判定する。プロセッサー41は、選択状態の商品が非選択状態になっていないならば、Act34においてNoと判定してAct35へと進む。
Act35においてプロセッサー41は、Act33で選択状態となった商品をショッピングリストに追加登録するように指示する操作が行われたか否かを判定する。すなわち、プロセッサー41は、登録ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、選択状態の商品をショッピングリストに追加登録するように指示する操作が行われないならば、Act35においてNoと判定してAct34へと戻る。かくして、プロセッサー41は、選択状態の商品が非選択状態になるか、選択状態の商品をショッピングリストに追加登録するように指示する操作が行われるまでAct34及びAct35を繰り返す。
プロセッサー41は、Act34及びAct35の待受状態にあるときに選択状態の商品が非選択状態となったならば、Act34においてYesと判定してAct32へと戻る。対して、Act34及びAct35の待受状態にあるときに選択状態の商品をショッピングリストに追加登録するように指示する操作が行われたならば、Act35においてYesと判定してAct36へと進む。
Act36においてプロセッサー41は、選択状態の商品をショッピングリストに追加登録するように支援サーバー10に指示するための登録要求を生成する。当該登録要求は、作成対象リストID及び選択状態の商品の商品IDを含む。そして、プロセッサー41は、生成した当該登録要求を支援サーバー10に送信するように通信インターフェース45に対して指示する。この指示を受けて通信インターフェース45は、当該登録要求を支援サーバー10に送信する。送信された当該登録要求は、支援サーバー10の通信インターフェース15によって受信される。プロセッサー41は、Act36の処理の後、図9のAct26へと進む。
一方、プロセッサー41は、Act22~Act24の待受状態にあるときに購入予定商品の削除を指示する操作が行われたならば、Act23においてYesと判定して図11のAct41へと進む。
Act41においてプロセッサー41は、削除する購入予定商品を選択するための削除画面に対応した画像を生成する。そして、プロセッサー41は、生成したこの画像を表示するように表示デバイス47に対して指示する。この指示を受けて表示デバイス47は、削除画面を表示する。
削除画面は、例えば、ショッピングリストに登録された購入予定商品の一覧、削除終了ボタン及び削除ボタンを含む。当該購入予定商品の一覧に含まれる購入予定商品は、ユーザー端末40の操作者によって購入予定商品を選択する操作が行われることで選択状態となる。また、選択状態である購入予定商品は、ユーザー端末40の操作者によって購入予定商品の選択を解除する操作が行われることで非選択状態となる。削除終了ボタンは、購入予定商品の削除を終了する場合にユーザー端末40の操作者が操作するためのボタンである。削除ボタンは、選択状態の購入予定商品をショッピングリストから削除する場合にユーザー端末40の操作者が操作するためのボタンである。
Act42においてプロセッサー41は、購入予定商品の削除の終了を指示する操作が行われたか否かを判定する。すなわち、プロセッサー41は、削除終了ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、購入予定商品の削除の終了を指示する操作が行われないならば、Act42においてNoと判定してAct43へと進む。
Act43においてプロセッサー41は、商品が選択状態となったか否かを判定する。プロセッサー41は、商品が選択状態となっていないならば、Act43においてNoと判定してAct42へと戻る。かくして、プロセッサー41は、購入予定商品の削除の終了を指示する操作が行われるか、購入予定商品が選択状態となるまでAct42及びAct43を繰り返す。
プロセッサー41は、Act42及びAct43の待受状態にあるときに購入予定商品の削除の終了を指示する操作が行われたならば、Act42においてYesと判定して図9のAct21へと戻る。対して、プロセッサー41は、図10のAct42及びAct43の待受状態にあるときに購入予定商品が選択状態となったならば、Act43においてYesと判定してAct44へと進む。
Act44においてプロセッサー41は、Act43で選択状態になった購入予定商品が非選択状態になったか否かを判定する。プロセッサー41は、選択状態の購入予定商品が非選択状態になっていないならば、Act44においてNoと判定してAct45へと進む。
Act45においてプロセッサー41は、Act43で選択状態となった購入予定商品をショッピングリストから削除するように指示する操作が行われたか否かを判定する。すなわち、プロセッサー41は、削除ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、選択状態の購入予定商品をショッピングリストから削除するように指示する操作が行われないならば、Act45においてNoと判定してAct44へと戻る。かくして、プロセッサー41は、選択状態の購入予定商品が非選択状態になるか、選択状態の購入予定商品をショッピングリストから削除するように指示する操作が行われるまでAct44及びAct45を繰り返す。
プロセッサー41は、Act44及びAct45の待受状態にあるときに選択状態の購入予定商品が非選択状態となったならば、Act44においてYesと判定してAct42へと戻る。対して、Act44及びAct45の待受状態にあるときに選択状態の購入予定商品をショッピングリストから削除するように指示する操作が行われたならば、Act45においてYesと判定してAct46へと進む。
Act46においてプロセッサー41は、選択状態の購入予定商品をショッピングリストから削除するように支援サーバー10に指示するための削除要求を生成する。当該削除要求は、作成対象リストID及び選択状態の購入予定商品の購入予定IDを含む。そして、プロセッサー41は、生成した当該削除要求を支援サーバー10に送信するように通信インターフェース45に対して指示する。この指示を受けて通信インターフェース45は、当該削除要求を支援サーバー10に送信する。送信された当該削除要求は、支援サーバー10の通信インターフェース15によって受信される。プロセッサー41は、Act46の処理の後、図9のAct26へと進む。
一方、図15のAct207において支援サーバー10のプロセッサー11は、通信インターフェース15によって登録要求が受信されたか否かを判定する。プロセッサー11は、通信インターフェース15によって登録要求が受信されていないならば、Act207においてNoと判定してAct208へと進む。
Act208においてプロセッサー11は、通信インターフェース15によって削除要求が受信されたか否かを判定する。プロセッサー11は、通信インターフェース15によって削除要求が受信されていないならば、Act208においてNoと判定してAct209へと進む。
Act209においてプロセッサー11は、通信インターフェース15によって第1の終了要求が受信されたか否かを判定する。なお、第1の終了要求については後述する。プロセッサー11は、通信インターフェース15によって第1の終了要求が受信されていないならば、Act209においてNoと判定してAct207へと戻る。かくして、プロセッサー11は、通信インターフェース15によって登録要求、削除要求又は第1の終了要求が受信されるまでAct207~Act209を繰り返す。
プロセッサー11は、Act207~Act209の待受状態にあるときに登録要求が受信されたならば、Act207においてYesと判定してAct210へと進む。
Act210においてプロセッサー11は、当該登録要求に含まれる作成対象リストIDで特定されるショッピングリストに、当該登録要求に含まれる商品IDで特定される商品を購入予定商品として追加登録する。すなわち、プロセッサー11は、登録テーブルT3にレコードを追加する。このとき、プロセッサー11は、当該購入予定商品にユニークな購入予定IDを割り当てる。追加されたレコードは、当該購入予定ID、当該作成対象リストID及び当該商品IDを含む。なお、追加されたレコードに含まれる購入フラグの初期値は、Falseである。また、追加されたレコードに含まれる表示順は、例えば、作成対象リストIDに関連付けられた購入予定IDの数である。
また、プロセッサー11は、Act207~Act209の待受状態にあるときに削除要求が受信されたならば、Act207においてYesと判定してAct211へと進む。
Act211においてプロセッサー11は、当該削除要求に含まれる作成対象リストIDで特定されるショッピングリストから、当該削除要求に含まれる購入予定IDで特定される購入予定商品を削除する。すなわち、プロセッサー11は、登録テーブルT3から当該購入予定IDで特定されるレコードを削除する。
プロセッサー11は、Act210又はAct211の処理の後、Act212へと進む。
Act212においてプロセッサー11は、登録又は削除が完了したことを示す第1の完了通知を生成する。当該第1の完了通知は、作成対象リストIDで特定されるショッピングリストを含む。そして、プロセッサー11は、生成した当該第1の完了通知をユーザー端末40に送信するように通信インターフェース15に対して指示する。この指示を受けて通信インターフェース15は、当該第1の完了通知をユーザー端末40に送信する。送信された当該第1の完了通知は、ユーザー端末40の通信インターフェース45によって受信される。プロセッサー11は、Act212の処理の後、Act209へと戻る。
一方、図9のAct26においてユーザー端末40のプロセッサー41は、通信インターフェース45によって第1の完了通知が受信されるのを待ち受けている。プロセッサー41は、第1の完了通知が受信されたならば、Act26においてYesと判定してAct27へと進む。
Act27においてプロセッサー41は、Act26で受信された第1の完了通知に含まれるショッピングリストをRAM43又は補助記憶デバイス44に記憶させる。なお、プロセッサー41は、当該ショッピングリストを、既にRAM43又は補助記憶デバイス44に記憶されているショッピングリストに上書きして記憶させる。プロセッサー41は、Act27の処理の後、Act21へと戻る。
なお、プロセッサー41は、Act22~Act24の待受状態にあるときにショッピングリストの編集の終了を指示する操作が行われたならば、Act24においてYesと判定してAct25へと進む。
Act25においてプロセッサー41は、ショッピングリストの編集を終了することを示す第1の終了要求を支援サーバー10に送信するように通信インターフェース45に対して指示する。この指示を受けて通信インターフェース45は、当該第1の終了要求を支援サーバー10に送信する。送信された当該第1の終了要求は、支援サーバー10の通信インターフェース15によって受信される。
一方、支援サーバー10のプロセッサー11は、図15のAct207~Act209の待受状態にあるときに第1の終了要求が受信されたならば、Act209においてYesと判定してAct201へと戻る。
そして、ユーザー端末40の操作者は、作成したショッピングリストを用いて買物をする場合、買物開始ボタンを操作する。
ユーザー端末40のプロセッサー41は、図8のAct4及びAct5の待受状態にあるときに買物の開始を指示する操作が行われたならば、Act5においてYesと判定してAct13へと進む。
Act13においてプロセッサー41は、買い物を開始することを示す買物開始要求を生成する。当該買物開始要求は、RAM43又は補助記憶デバイス44に記憶されている会員IDを含む。そして、プロセッサー41は、生成した当該買物開始要求を支援サーバー10に送信するように通信インターフェース45に対して指示する。この指示を受けて通信インターフェース45は、当該買物開始要求を支援サーバー10に送信する。送信された当該買物開始要求は、支援サーバー10の通信インターフェース15によって受信される。
一方、支援サーバー10のプロセッサー11は、図15のAct201及びAct202の待受状態にあるときに買物開始要求が受信されたならば、Act202においてYesと判定してAct213へと進む。
Act213においてプロセッサー11は、ショッピングリストを用いた買い物の開始を許諾することを示す買物許諾応答を生成する。当該買物許諾応答は、Act202で受信された買物開始要求に含まれる会員IDに関連付けられたショッピングリストの一覧を含む。プロセッサー11は、当該ショッピングリストの一覧を、例えば、リストテーブルT2から取得する。当該ショッピングリストの一覧は、当該ショッピングリストのリストID及び作成日時などを含む。そして、プロセッサー11は、生成した当該買物許諾応答をユーザー端末40に送信するように通信インターフェース15に対して指示する。この指示を受けて通信インターフェース15は、当該買物許諾応答をユーザー端末40に送信する。送信された当該買物許諾応答は、ユーザー端末40の通信インターフェース45によって受信される。
一方、図8のAct14においてユーザー端末40のプロセッサー41は、通信インターフェース45によって買物許諾応答が受信されるのを待ち受けている。プロセッサー41は、買物許諾応答が受信されたならば、Act14においてYesと判定してAct15へと進む。
Act15においてプロセッサー41は、第2のリスト一覧画面に対応した画像を生成する。そして、プロセッサー41は、生成したこの画像を表示するように表示デバイス47に対して指示する。この指示を受けて表示デバイス47は、第2のリスト一覧画面を表示する。
第2のリスト一覧画面は、一例として、Act14で受信された買物許諾応答に含まれるショッピングリストの一覧を含む。
ユーザー端末40の操作者は、第2のリスト一覧画面に表示された保存済みのショッピングリストから、買物に用いるショッピングリストを選択する。ユーザー端末40の操作者は、例えば、第2のリスト一覧画面に表示された作成日時などによって所望のショッピングリストを特定する。
Act17においてユーザー端末40のプロセッサー41は、Act16で選択されたショッピングリストを支援サーバー10から取得する。そして、プロセッサー41は、取得したショッピングリストをRAM43又は補助記憶デバイス44に記憶させる。また、プロセッサー41は、当該ショッピングリストに対応するリストIDをRAM43又は補助記憶デバイス44に記憶させる。なお、Act17でRAM43又は補助記憶デバイス44に記憶されたリストIDを「買物対象リストID」というものとする。
一方、図15のAct214において支援サーバー10のプロセッサー11は、ユーザー端末40によってリストの取得が行われるのを待ち受ける。プロセッサー11は、ユーザー端末40によってリストの取得が行われたならば、Act214においてYesと判定して図16のAct221へと進む。
一方、ユーザー端末40のプロセッサー41は、図8のAct17の処理の後、図12のAct51へと進む。
Act51においてプロセッサー41は、図19に示すようなリスト画面SC1に対応した画像を生成する。そして、プロセッサー41は、生成したこの画像を表示するように表示デバイス47に対して指示する。この指示を受けて表示デバイス47は、リスト画面SC1を表示する。
図19は、リスト画面SC1の一例を示す図である。リスト画面SC1は、RAM43又は補助記憶デバイス44に記憶されたショッピングリストに含まれる購入予定商品の一覧が表示された領域A1、起動ボタンB1、終了ボタンB2を含む。ここで領域A1に表示される購入予定商品の並び順は、例えば、登録テーブルT3に示された並び順の値が小さい順である。領域A1は、図19では、一例として、パン、牛肉、りんご、豚肉、タマネギ、ぶどうがこの順で表示されている。なお、購入フラグの値がTrueである購入予定商品が表示された領域には、チェックマークなどが表示される。図19には、購入予定商品の一覧に含まれるいずれの購入予定商品も購入フラグの値がFalseである場合の画面を示しているため、チェックマークは表示されていない。また、領域A1に含まれる各購入予定商品が表示された領域は、それぞれがボタンになっている。当該それぞれのボタンは、それぞれのボタン内に表示された購入予定商品を選択する場合にユーザー端末40の操作者が操作するためのボタンである。当該ボタンが操作されると、対応する購入予定商品は選択状態になる。起動ボタンB1は、セルフスキャンアプリを起動してリストアプリと連携させる場合にユーザー端末40の操作者が操作するためのボタンである。終了ボタンB2は、ショッピングリストを用いた買物を終了する場合にユーザー端末40の操作者が操作するためのボタンである。
Act52においてプロセッサー41は、リスト画面SC1に表示された購入予定商品を選択する操作が行われたか否かを判定する。プロセッサー41は、購入予定商品を選択する操作が行われていないならば、Act52においてNoと判定してAct53へと進む。
Act53においてプロセッサー41は、セルフスキャンアプリを起動させる操作が行われたか否かを判定する。すなわち、プロセッサー41は、起動ボタンB1を操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、セルフスキャンアプリを起動させる操作が行われないならば、Act53においてNoと判定してAct54へと進む。
Act54においてプロセッサー41は、買物の終了を指示する操作が行われたか否かを判定する。すなわち、プロセッサー41は、終了ボタンB2を操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、買物の終了を指示する操作が行われないならば、Act54においてNoと判定してAct52へと戻る。かくして、プロセッサー41は、リスト画面SC1に表示された購入予定商品を選択する操作、セルフスキャンアプリを起動させる操作、又は買物の終了を指示する操作が行われるまでAct52~Act54を繰り返す。
ユーザー端末40の操作者は、例えば、陳列棚などの陳列場所から購入予定商品を取得してカゴなどに入れる。この際、ユーザー端末40の操作者は、ショッピングリストに含まれる購入予定商品の中から当該商品に該当する購入予定商品を、取得済み又は購入済みであることが分かるような状態(以下「購入済状態」という。)にするための操作を行う。購入済状態にするために、ユーザー端末40の操作者は、リスト画面SC1に表示された購入予定商品の中から当該商品に該当する購入予定商品を選択する。以下、ユーザー端末40の操作者が購入予定商品であるりんごを陳列場所から取って買い物カゴに入れた場合を例に説明する。ユーザー端末40の操作者は、りんごを陳列場所から取ったならば、リスト画面SC1に表示された購入予定商品の中から「りんご」に対応するボタンを操作して「りんご」を選択する。
プロセッサー41は、Act52~Act54の待受状態にあるときに購入予定商品を選択する操作が行われたならば、Act52においてYesと判定してAct55へと進む。
Act55においてプロセッサー41は、図20に示すような選択済み画面SC2に対応した画像を生成する。そして、プロセッサー41は、生成したこの画像を表示するように表示デバイス47に対して指示する。この指示を受けて表示デバイス47は、選択済み画面SC2を表示する。
図20は、選択済み画面SC2の一例を示す図である。選択済み画面SC2は、領域A2を含む。領域A2は、例えば、図20に示すようにリスト画面上にポップアップ表示される。領域A2は、文字列S21、チェックボタンB21及び解除ボタンB22を含む。文字列S21は、選択状態の購入予定商品を陳列場所などから取ったか否かを問う文字列又は当該購入予定商品を購入済状態にして良いか否かを問う文字列などを含む。文字列S21は、例えば、「「りんご」をカゴに入れますか?」のような文字列である。チェックボタンB21は、文字列S21に示される購入予定商品を購入済状態にする場合にユーザー端末40の操作者が操作するボタンである。一例として、プロセッサー41は、当該購入予定商品の横にチェックマークを表示することで購入済状態にする。あるいは例えば、プロセッサー41は、当該購入予定商品が表示された領域の一部又は全部の色を変えるなどして購入済状態にする。解除ボタンB22は、文字列S21に示される商品を陳列場所から取っていないなどの理由で、選択状態の購入予定商品の選択を解除する場合にユーザー端末40の操作者が操作するためのボタンである。解除ボタンB22が操作されると、選択状態の購入予定商品の選択が解除される。なお、購入済状態でない購入予定商品の状態を「未購入状態」というものとする。未購入状態の購入予定商品は、未取得又は未購入であることが分かるような状態である。
なお、図20は、未購入状態の商品が選択された場合の選択済み画面SC2である。購入済状態が選択された場合の選択済み画面は、文字列S21に代えて文字列S22を含み、チェックボタンB21に代えてキャンセルボタンB23を含む。文字列S22は、選択状態の購入予定商品を陳列場所に戻したか否かを問う文字列又は当該購入予定商品を未購入状態にして良いかを問う文字列などを含む。キャンセルボタンB23は、文字列S21に示される購入予定商品を未購入状態にする場合にユーザー端末40の操作者が操作するボタンである。
Act56においてプロセッサー41は、選択状態の購入予定商品の選択を解除する操作が行われたか否かを判定する。すなわち、プロセッサー41は、解除ボタンB22を操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、選択状態の購入予定商品の選択を解除する操作が行われないならば、Act56においてNoと判定してAct57へと進む。
Act57においてプロセッサー41は、購入予定商品を購入済状態にする操作が行われたか否かを判定する。すなわち、プロセッサー41は、チェックボタンB21を操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、購入予定商品を購入済状態にする操作が行われないならば、Act57においてNoと判定してAct58へと進む。
Act58においてプロセッサー41は、購入予定商品を未購入状態にする操作が行われたか否かを判定する。すなわち、プロセッサー41は、キャンセルボタンB23を操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、購入予定商品を未購入状態にする操作が行われないならば、Act58においてNoと判定してAct56へと戻る。かくして、プロセッサー41は、選択状態の購入予定商品の選択を解除する操作、購入予定商品を購入済状態にする操作、又は購入予定商品を未購入状態にする操作が行われるまでAct56~Act58を繰り返す。
プロセッサー41は、Act56~Act58の待受状態にあるときに選択状態の購入予定商品の選択を解除する操作が行われたならば、Act56においてYesと判定してAct63へと進む。
対して、プロセッサー41は、Act56~Act58の待受状態にあるときに購入予定商品を購入済状態にする操作が行われたならば、Act57においてYesと判定してAct59へと進む。
Act59においてプロセッサー41は、購入予定商品を購入済状態にするように指示するためのチェック要求を生成する。当該チェック要求は、買物対象リストIDと選択状態の購入予定商品の購入予定IDとRAM43又は補助記憶デバイス44に記憶されている会員IDとを含む。そして、プロセッサー41は、生成した当該チェック要求を支援サーバー10に送信するように通信インターフェース45に対して指示する。この指示を受けて通信インターフェース45は、当該チェック要求を支援サーバー10に送信する。送信された当該チェック要求は、支援サーバー10の通信インターフェース15によって受信される。
一方、図16のAct221において支援サーバー10のプロセッサー11は、通信インターフェース15によってチェック要求が受信されたか否かを判定する。プロセッサー11は、通信インターフェース15によってチェック要求が受信されていないならば、Act221においてNoと判定してAct222へと進む。
Act222においてプロセッサー11は、通信インターフェース15によってキャンセル要求が受信されたか否かを判定する。なお、キャンセル要求については、後述する。プロセッサー11は、通信インターフェース15によってキャンセル要求が受信されていないならば、Act222においてNoと判定してAct223へと進む。
Act223においてプロセッサー11は、通信インターフェース15によって買上要求が受信されたか否かを判定する。なお、買上要求については、後述する。プロセッサー11は、通信インターフェース15によって買上要求が受信されていないならば、Act223においてNoと判定してAct224へと進む。
Act224においてプロセッサー11は、通信インターフェース15によって第2の終了要求が受信されたか否かを判定する。なお、第2の終了要求については、後述する。プロセッサー11は、通信インターフェース15によって第2の終了要求が受信されていないならば、Act224においてNoと判定してAct225へと進む。
Act225においてプロセッサー11は、通信インターフェース15によって決済要求が受信されたか否かを判定する。なお、決済要求については後述する。プロセッサー11は、通信インターフェース15によって決済要求が受信されていないならば、Act225においてNoと判定してAct221へと戻る。かくして、プロセッサー11は、チェック要求、キャンセル要求、買上要求、第2の終了要求又は決済要求が受信されるまでAct221~Act225を繰り返す。
プロセッサー11は、Act221~Act225の待受状態にあるときにチェック要求が受信されたならば、Act221においてYesと判定してAct226へと進む。
Act226においてプロセッサー11は、Act221で受信されたチェック要求に含まれる購入予定IDで特定される購入予定商品を購入済状態にするために、登録テーブルT3で当該購入予定IDに関連付けられた購入フラグの値をTrueにする。また、プロセッサー11は、登録テーブルT3で当該購入予定IDに関連付けられた購入日時に現在時刻を代入する。
また、ユーザー端末40のプロセッサー41は、図12のAct56~Act58の待受状態にあるときに購入予定商品を未購入状態にする操作が行われたならば、Act58においてYesと判定してAct60へと進む。
Act60においてプロセッサー41は、購入予定商品を未購入状態にするように指示するためのキャンセル要求を生成する。当該キャンセル要求は、買物対象リストIDと選択状態の購入予定商品の購入予定IDとRAM43又は補助記憶デバイス44に記憶されている会員IDとを含む。そして、プロセッサー41は、生成した当該キャンセル要求を支援サーバー10に送信するように通信インターフェース45に対して指示する。この指示を受けて通信インターフェース45は、当該キャンセル要求を支援サーバー10に送信する。送信された当該キャンセル要求は、支援サーバー10の通信インターフェース15によって受信される。
一方、プロセッサー11は、図16のAct221~Act225の待受状態にあるときにキャンセル要求が受信されたならば、Act222においてYesと判定してAct227へと進む。
Act227においてプロセッサー11は、Act222で受信されたキャンセル要求に含まれる購入予定IDで特定される購入予定商品を未購入状態にするために、登録テーブルT3で当該購入予定IDに関連付けられた購入フラグの値をFalseにする。
プロセッサー11は、Act226又はAct227の処理の後、Act228へと進む。
Act228においてプロセッサー11は、ユーザー端末40の操作者の現在位置を推定する。ユーザー端末40の操作者は、購入済状態又は未購入状態になった購入予定商品の陳列場所の近傍にいると考えられる。したがって、プロセッサー11は、例えば、購入済状態又は未購入状態になった購入予定商品の陳列場所を特定することでユーザー端末40の操作者の現在位置を推定する。このために、プロセッサー11は、登録テーブルT3を参照して、Act221で受信されたチェック要求又はAct222で受信されたキャンセル要求に含まれる購入予定IDに関連付けられた商品IDを取得する。そして、プロセッサー11は、陳列場所テーブルT4を参照して、当該商品IDに関連付けられた陳列場所IDを取得する。以上の処理により、購入済状態又は未購入状態になった購入予定商品の陳列場所が特定される。
Act229においてプロセッサー11は、登録テーブルT3を参照して、Act221又はAct222で受信されたチェック要求又はキャンセル要求に含まれる買物対象リストIDが関連付けられた購入予定IDのうち、購入フラグの値がFalseであるものを抜きだしてリスト化する。当該リストを以下「取得リスト」というものとする。
Act230においてプロセッサー11は、取得リスト中に未選択の購入予定IDがあるか否かを判定する。プロセッサー11は、取得リスト中に未選択の購入予定IDがあるならば、Act230においてYesと判定してAct231へと進む。
Act231においてプロセッサー11は、取得リストの中から未選択の購入予定IDを1つ選択する。プロセッサー11は、ここで選択した購入予定IDを、未選択ではないことが分かるように取得リストを更新する。
Act232においてプロセッサー11は、Act231で選択した購入予定IDに基づき、登録テーブルT3及び陳列場所テーブルT4を参照して、当該購入予定IDで特定される購入予定商品の陳列場所IDを取得する。
Act233においてプロセッサー11は、ユーザー端末40の操作者の現在位置からAct231で選択した購入予定IDで特定される購入予定商品の陳列場所までの距離を推定する。このために、プロセッサー11は、Act228で取得した陳列場所IDで特定される陳列場所と、Act232で取得した陳列場所IDで特定される陳列場所との距離を取得する。すなわち、プロセッサー11は、当該2つの陳列場所IDに基づき、距離テーブルT5を参照して当該距離を取得する。プロセッサー11は、取得した当該距離を、Act231で選択した購入予定IDと関連付けて取得リストに記憶させる。プロセッサー11は、Act233の処理の後、Act230へと戻る。Act233の処理を行うことで、プロセッサー11を中枢とするコンピューターは、ユーザーの現在位置からショッピングリストに含まれる商品の陳列場所までの推定距離を取得する取得部として機能する。
以上の処理によって、取得リスト中の購入予定IDで示される購入予定商品のそれぞれの陳列場所について、Act228で取得された陳列場所との距離が取得される。取得リスト中の購入予定ID全てについて当該距離が取得されたならば、取得リスト中に未選択の購入予定IDは無くなる。
プロセッサー11は、取得リスト中に未選択の購入予定IDがないならば、Act230においてNoと判定してAct234へと進む。
Act234においてプロセッサー11は、Act221又はAct222で受信されたチェック要求又はキャンセル要求に含まれる買物対象リストIDで特定されるショッピングリストの並び替えを行う。このために、プロセッサー11は、例えば以下のように登録テーブルT3を書き換える。すなわち、プロセッサー11は、当該買物対象リストIDが関連付けられた購入予定IDのうち、取得リストに含まれるものを、取得リストで関連付けられた距離が短い順に、表示順の値を2,3,4,…とする。そして、プロセッサー11は、当該買物対象リストIDが関連付けられた購入予定IDのうち、表示順が1であるものがある場合、当該購入予定IDの表示順の値を(取得リストに含まれる購入予定IDの数+2)にする。さらに、プロセッサー11は、Act221又はAct222で受信されたチェック要求又はキャンセル要求に含まれる購入予定IDに関連付けられた表示順の値を1にする。以上の処理により、表示順は、直近に購入済状態又は未購入状態になった購入予定商品、未購入状態の購入予定商品、直近に購入済状態になったものを除いた購入済状態の購入予定商品の順となる。また、未購入状態の購入予定商品の表示順については、それぞれの陳列場所から、直近に購入済状態又は未購入状態になった購入予定商品の陳列場所までの距離が近い順となる。そして、直近に購入済状態になったものを除いた購入済状態の購入予定商品の表示順については、購入日時が遅い順となる。以上の処理を行うことで、プロセッサー11を中枢とするコンピューターは、ショッピングリストに含まれる複数の商品を推定距離の順に並べたリストを生成する制御部として機能する。
Act235においてプロセッサー11は、Act221又はAct222で受信されたチェック要求又はキャンセル要求に含まれる購入予定IDで特定される購入予定商品を購入済状態又は未購入状態にすることが完了したことを示す第2の完了通知を生成する。当該第2の完了通知は、Act221又はAct222で受信されたチェック要求又はキャンセル要求に含まれる買物対象リストIDで特定されるショッピングリストを含む。そして、プロセッサー11は、生成した当該第2の完了通知をユーザー端末40に送信するように通信インターフェース15に対して指示する。この指示を受けて通信インターフェース15は、当該第2の完了通知をユーザー端末40に送信する。送信された当該第2の完了通知は、ユーザー端末40の通信インターフェース45によって受信される。
プロセッサー11は、Act235の処理の後、Act224へと戻る。
一方、ユーザー端末40のプロセッサー41は、図12のAct59又はAct60の処理の後、Act61へと進む。
Act61においてプロセッサー41は、通信インターフェース45によって第2の完了通知が受信されるのを待ち受けている。プロセッサー41は、第2の完了通知が受信されたならば、Act61においてYesと判定してAct62へと進む。
Act62においてプロセッサー41は、Act61で受信された第2の完了通知に含まれるショッピングリストをRAM43又は補助記憶デバイス44に記憶させる。なお、プロセッサー41は、当該ショッピングリストを、既にRAM43又は補助記憶デバイス44に記憶されているショッピングリストに上書きして記憶させる。
Act63においてプロセッサー41は、セルフスキャンアプリが起動中であり、且つリストアプリと連携中であるか否かを判定する。プロセッサー41は、セルフスキャンアプリが起動中でないか、セルフスキャンアプリが起動中であってもリストアプリと連携中でないならば、Act63においてNoと判定してAct51へと戻る。
ここでAct51の処理において表示されるリスト画面SC1は、例えば図21に示すようなリスト画面SC1-2である。リスト画面SC1-2では、前述した順で購入希望商品が並んでいる。すなわち、直近に購入済状態になった購入予定商品であるりんごに続いて未購入状態の購入予定商品という順で購入希望商品が並んでいる。また、未購入状態の購入予定商品については、当該購入予定商品の陳列場所からりんごの陳列場所までの距離が近い順に並んでいる。図21では、一例として、領域A1にりんご、ぶどう、タマネギ、豚肉、牛肉、パンがこの順で表示されている。さらに、購入済状態である購入予定商品についてはチェックマークCMが表示される。ここでは、りんごの横にチェックマークCMが表示されている。
なお、プロセッサー41は、Act52~Act54の待受状態にあるときに買物の終了を指示する操作が行われたならば、Act54においてYesと判定してAct64へと進む。
Act64においてプロセッサー41は、RAM43又は補助記憶デバイス44に記憶されたショッピングリストに未購入状態の購入予定商品があるか否かを判定する。プロセッサー41は、ショッピングリストに未購入状態の購入予定商品があるならば、Act64においてYesと判定してAct65へと進む。
Act65においてプロセッサー41は、未購入の購入予定商品があることをユーザー端末40の操作者に報知するための動作を行うよう制御する。当該動作は、例えば、画面表示又は音声による報知である。
対して、プロセッサー41は、ショッピングリストに未購入状態の購入予定商品がないならば、Act64においてNoと判定してAct66へと進む。また、プロセッサー41は、Act65の処理の後もAct66へと進む。
Act66においてプロセッサー41は、第2の終了要求を支援サーバー10に送信するように通信インターフェース45に対して指示する。この指示を受けて通信インターフェース45は、当該第2の終了要求を支援サーバー10に送信する。送信された当該第2の終了要求は、支援サーバー10の通信インターフェース15によって受信される。
プロセッサー41は、Act66の処理の後、図8のAct3へと戻る。
一方、支援サーバー10のプロセッサー11は、図16のAct221~Act225の待受状態にあるときに第2の終了要求が受信されたならば、Act224においてYesと判定して図15のAct201へと戻る。
また、ユーザー端末40のプロセッサー41は、図12のAct52~Act54の待受状態にあるときにセルフスキャンアプリを起動させる操作が行われたならば、Act53においてYesと判定してAct67へと進む。
Act67においてプロセッサー41は、セルフスキャンアプリを起動させる。セルフスキャンアプリの起動に応じて、プロセッサー41は、図14に示す処理を開始する。なお、プロセッサー41は、図14に示す処理を、図8~図13に示す処理と並行又は並列で処理を行う。また、Act67の処理によって起動されたセルフスキャンアプリは、リストアプリと連携して動作する。
図14のAct101においてプロセッサー41は、ユーザー端末40がセルフスキャンサービスにログインした状態であるか否かを判定する。プロセッサー41は、ユーザー端末40がセルフスキャンサービスにログインした状態であるならば、Act101においてYesと判定してAct103へと進む。対して、プロセッサー41は、ユーザー端末40がセルフスキャンサービスにログインした状態でないならば、Act101においてNoと判定してAct102へと進む。
Act102においてプロセッサー41は、ユーザー端末40をセルフスキャンサービスにログインした状態にするためのログイン処理を行う。ログイン処理については、周知の方法を用いることができる。ログイン処理により、RAM43又は補助記憶デバイス44は、ログインに用いられた会員IDを記憶する。また、支援サーバー10は、ユーザー端末40が当該会員IDでセルフスキャンサービスにログインしていることを識別する。なお、ユーザー端末40の操作者は、例えば、ログイン時などにセルフスキャンサービスを使用する店舗を指定する。これにより、支援サーバー10は、ユーザー端末40がどの店舗でセルフスキャンサービスを用いるかを識別する。以下、支援サーバー10は、POSサーバー20と通信する場合、当該店舗に対応するPOSサーバー20と通信を行う。
Act103においてプロセッサー41は、カメラ48を起動する。
Act104においてプロセッサー41は、商品に付されたバーコードがカメラ48によって読み込まれたか否かを判定する。プロセッサー41は、商品に付されたバーコードがカメラ48によって読み込まれていないならば、Act104においてNoと判定してAct105へと進む。
Act105においてプロセッサー41は、セルフスキャンアプリに決済コマンドが入力されたか否かを判定する。プロセッサー41は、セルフスキャンアプリに決済コマンドが入力されていないならば、Act105においてNoと判定してAct104へと戻る。かくして、プロセッサー41は、商品に付されたバーコードがカメラ48によって読み込まれるか、セルフスキャンアプリに決済コマンドが入力されるまでAct104及びAct105を繰り返す。
一方、図12のAct68においてプロセッサー41は、セルフスキャンアプリが起動するのを待ち受ける。プロセッサー41は、セルフスキャンアプリが起動したならば、Act68においてYesと判定して図13のAct71へと進む。
Act71においてプロセッサー41は、Act51と同様にしてリスト画面SC1を表示デバイス47に表示させる。ただし、Act71で表示されるリスト画面SC1は、終了ボタンB2に代えて決済ボタンB3を含む。決済ボタンB3は、買い物を終了して決済を行う場合にユーザー端末40の操作者が操作するためのボタンである。
Act72においてプロセッサー41は、リスト画面SC1に表示された購入予定商品を選択する操作が行われたか否かを判定する。プロセッサー41は、購入予定商品を選択する操作が行われていないならば、Act72においてNoと判定してAct73へと進む。
Act73においてプロセッサー41は、通信インターフェース45によって第2の完了通知が受信されたか否かを判定する。プロセッサー41は、第2の完了通知が受信されていないならば、Act73においてNoと判定してAct74へと進む。
Act74においてプロセッサー41は、買い物を終了して決済を行うための操作が行われたか否かを判定する。すなわち、プロセッサー41は、決済ボタンB3を操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー41は、買い物を終了して決済を行うための操作が行われないならば、Act74においてNoと判定してAct72へと戻る。かくして、プロセッサー41は、購入予定商品を選択する操作が行われるか、第2の完了通知が受信されるか、買い物を終了して決済を行うための操作が行われるまでAct72~Act74を繰り返す。
プロセッサー41は、Act72~Act74の待受状態にあるときにリスト画面SC1に表示された購入予定商品を選択する操作が行われたならば、Act72においてYesと判定して図12のAct55へと進む。なお、プロセッサー41は、セルフスキャンアプリが起動中であり、且つリストアプリと連携中であるならば、Act63においてYesと判定して図13のAct71へと進む。したがって、Act72から図12のAct55へ進んだ場合、プロセッサー41は、Act63の後、図13のAct71へと進むことになる。
また、ユーザー端末40の操作者は、リスト画面SC1に表示された購入予定商品の中から陳列場所から取得した商品に該当する購入予定商品を選択することに代えて、当該商品に付されたバーコードを、カメラ48によって読み取らせても良い。
プロセッサー41は、図14のAct104及びAct105の待受状態にあるときに商品に付されたバーコードがカメラ48によって読み込まれたならば、Act104においてYesと判定してAct106へと進む。
Act106においてプロセッサー41は、Act104で読み込まれたバーコードを買い上げ登録するように要求するための買上要求を生成する。当該買上要求は、買物対象リストID及び当該バーコードに記録された商品IDを含む。そして、プロセッサー41は、生成した当該買上要求を支援サーバー10に送信するように通信インターフェース15に対して指示する。この指示を受けて通信インターフェース15は、当該買上要求をユーザー端末40に送信する。送信された当該商品IDは、ユーザー端末40の通信インターフェース45によって受信される。
一方、支援サーバー10のプロセッサー11は、図16のAct221~Act225の待受状態にあるときに買上要求が受信されたならば、Act223においてYesと判定して図17のAct241へと進む。なお、Act223又はAct238で受信された買上要求に含まれる商品IDを以下「登録対象ID」というものとする。
Act241においてプロセッサー11は、登録対象IDで特定される商品の情報を取得するために商品情報要求を生成する。当該商品情報要求は、当該商品IDを含む。そして、プロセッサー11は、生成した当該商品情報要求をPOSサーバー20に送信するように通信インターフェース15に対して指示する。この指示を受けて通信インターフェース15は、当該商品情報要求をPOSサーバー20に送信する。送信された当該商品情報要求は、POSサーバー20の通信インターフェース25によって受信される。
一方、POSサーバー20は、商品情報要求を受信したならば、商品DB241を参照して、当該商品情報要求に含まれる商品IDで特定される商品についての商品情報を取得する。そして、POSサーバー20は、当該商品情報を支援サーバー10に対して送信する。
一方、図17のAct242において支援サーバー10のプロセッサー11は、通信インターフェース25によって商品情報が受信されるのを待ち受けている。プロセッサー11は、商品情報が受信されたならば、Act242においてYesと判定してAct243へと進む。
Act243においてプロセッサー11は、取引ファイルが未作成である場合、取引ファイルを作成する。プロセッサー11は、当該取引ファイルを、買上要求に含まれる買物対象リストIDと関連付けて補助記憶デバイス14などに記憶させる。当該取引ファイルは、会員IDを含む会員情報、買上商品として登録した商品の一覧である商品リスト、及び買物対象リストIDなどを含む。そして、プロセッサー11は、Act242で受信された商品情報に基づいて、取引ファイルを更新する。すなわち、プロセッサー11は、登録対象ID及びAct242で受信された商品情報に基づき、取引ファイルに含まれる商品リストに、当該商品IDで特定される商品を登録する。
Act244においてプロセッサー11は、買物対象リストIDで特定されるショッピングリストに、登録対象IDで特定される商品と同一の購入予定商品が含まれるか否かを判定する。プロセッサー11は、買物対象リストIDで特定されるショッピングリストに、登録対象IDで特定される商品と同一の購入予定商品が含まれないならば、Act244においてNoと判定してAct245へと進む。
Act245においてプロセッサー11は、登録対象IDで特定される商品を取引ファイルに登録したことを示す第3の完了通知を買上要求の送信元に送信するよう通信インターフェース15に対して指示する。この指示を受けて通信インターフェース15は、当該第3の完了通知を例えばユーザー端末40に送信する。送信された当該第3の完了通知は、ユーザー端末40の通信インターフェース45によって受信される。
一方、図14のAct107においてユーザー端末40のプロセッサー41は、通信インターフェース45によって第2の完了通知又は第3の完了通知が受信されるのを待ち受けている。プロセッサー41は、第2の完了通知又は第3の完了通知が受信されたならば、Act107においてYesと判定してAct104へと戻る。
一方、図17のAct246において支援サーバー10のプロセッサー11は、買上要求の送信元がPOS端末50であるか否かを判定する。プロセッサー11は、買上要求の送信元がPOS端末50でないならば、Act246においてNoと判定して図16のAct224へと戻る。
一方、プロセッサー11は、買物対象リストIDで特定されるショッピングリストに、登録対象IDで特定される商品と同一の購入予定商品が含まれるならば、図17のAct244においてYesと判定してAct247へと進む。
Act247においてプロセッサー11は、登録対象IDで特定される商品と同一の購入予定商品を購入済状態にするために、当該購入予定商品に対応する購入予定IDに登録テーブルT3で関連付けられた購入フラグの値をTrueにする。
Act248においてプロセッサー11は、買上要求の送信元がPOS端末50であるか否かを判定する。プロセッサー11は、買上要求の送信元がPOS端末50でないならば、Act248においてNoと判定して図16のAct228へと進む。なお、プロセッサー11は、図17のAct248から図16のAct228に進んだ場合、Act228~Act235の処理において、Act221で受信されたチェック要求又はAct222で受信されたキャンセル要求に含まれる購入予定IDに代えて、Act247で購入フラグの値をTrueにした購入予定IDを用いる。そして、Act235の処理では、プロセッサーは、第2の完了通知を、Act223で受信された買上要求に含まれる買物対象リストIDで特定されるショッピングリストを含むものとして生成する。
プロセッサー41は、Act72~Act74の待受状態にあるときに第2の完了通知が受信されたならば、Act73においてYesと判定してAct75へと進む。
Act75においてプロセッサー41は、Act73で受信された第2の完了通知に含まれるショッピングリストをRAM43又は補助記憶デバイス44に記憶させる。なお、プロセッサー41は、当該ショッピングリストを、既にRAM43又は補助記憶デバイス44に記憶されているショッピングリストに上書きして記憶させる。プロセッサー41は、Act75の処理の後、Act71へと戻る。
なお、プロセッサー41は、Act72~Act74の待受状態にあるときに買い物を終了して決済を行うための操作が行われたならば、Act74においてYesと判定してAct76へと進む。
Act76においてプロセッサー41は、RAM43又は補助記憶デバイス44に記憶されたショッピングリストに未購入状態の購入予定商品があるか否かを判定する。プロセッサー41は、RAM43又は補助記憶デバイス44に記憶されたショッピングリストに未購入状態の購入予定商品があるならば、Act76においてYesと判定してAct77へと進む。
Act77においてプロセッサー41は、未購入の購入予定商品があることをユーザー端末40の操作者に報知するための動作を行うよう制御する。当該動作は、例えば、画面表示又は音声による報知である。
対して、プロセッサー41は、ショッピングリストに未購入状態の購入予定商品がないならば、Act76においてNoと判定してAct78へと進む。また、プロセッサー41は、Act77の処理の後もAct78へと進む。
Act78においてプロセッサー41は、決済を行うことを指示するために決済コマンドをセルフスキャンアプリに入力する。
一方、プロセッサー41は、図14のAct104及びAct105の待受状態にあるときに決済コマンドが入力されたならば、Act105においてYesと判定してAct108へと進む。
Act108においてプロセッサー41は、決済を行うことを示す決済要求を生成する。当該決済要求は、RAM43又は補助記憶デバイス44に記憶されている買物対象リストIDを含む。そして、プロセッサー41は、生成した当該決済要求を支援サーバー10に送信するように通信インターフェース45に対して指示する。この指示を受けて通信インターフェース45は、当該決済要求を支援サーバー10に送信する。送信された当該決済要求は、支援サーバー10の通信インターフェース15によって受信される。
一方、支援サーバー10のプロセッサー11は、図16のAct221~Act225の待受状態にあるときに決済要求が受信されたならば、Act225においてYesと判定してAct236へと進む。
一方、ユーザー端末40の操作者は、会計を行うPOS端末50に付されたバーコードをカメラ48によって読み取らせる。
図14のAct109においてユーザー端末40のプロセッサー41は、カメラ48によって、POSIDが記憶されたバーコードが読み込まれるのを待ち受ける。プロセッサー41は、POSIDが記憶されたバーコードが読み込まれたならば、Act109においてYesと判定してAct110へと進む。
Act110においてプロセッサー41は、Act109で読み込まれたバーコードに記憶されたPOSIDを支援サーバー10に送信するように通信インターフェース45に対して指示する。この指示を受けて通信インターフェース45は、当該POSIDを支援サーバー10に送信する。送信された当該POSIDは、支援サーバー10の通信インターフェース15によって受信される。
一方、図16のAct236において支援サーバー10のプロセッサー11は、通信インターフェース15によってPOSIDが受信されるのを待ち受けている。プロセッサー11は、POSIDが受信されたならば、Act236においてYesと判定してAct237へと進む。
Act237においてプロセッサー11は、Act225で受信された決済要求に含まれる買物対象リストIDで特定されるショッピングリスト及び当該対象リストに関連付けられた取引ファイルを、POSIDで特定されるPOS端末50に送信する。
一方、図18のAct301においてPOS端末50のプロセッサー501は、通信インターフェース15によってショッピングリスト及び取引ファイルが受信されるのを待ち受けている。プロセッサー501は、ショッピングリスト及び取引ファイルが受信されたならば、Act301においてYesと判定してAct302へと進む。
Act302においてプロセッサー501は、Act301で受信されたショッピングリスト及び取引ファイルをRAM503又は補助記憶デバイス504などに記憶させる。
Act303においてプロセッサー501は、Act301で受信された取引ファイルに含まれる商品リストを表示デバイス507に表示させる。
Act304においてプロセッサー501は、Act301で受信されたショッピングリストを客側タッチパネル508に表示させる。
Act305においてプロセッサー501は、商品の登録を完了して決済を開始するための操作が行われたか否かを判定する。すなわちプロセッサー501は、表示デバイス507に表示された小計ボタンをタッチするなどの予め定められた操作が行われたか否かを判定する。プロセッサー501は、登録完了を指示する操作が行われないならば、Act305においてNoと判定してAct306へと進む。
Act306においてプロセッサー501は、商品IDが入力されたか否かを判定する。なお、商品IDは、一例として以下に示すようにプロセッサー501に入力される。POS端末50の操作者は、商品に付されたバーコードをスキャナー509に読み込ませる。これにより、当該バーコードに記録された商品IDがプロセッサー501に入力される。プロセッサー501は、商品IDが入力されないならば、Act306においてNoと判定してAct305へと戻る。かくして、プロセッサー501は、決済を開始するための操作が行われるか、商品IDが入力されるまでAct305及びAct306を繰り返す。
一方、図14のAct111においてユーザー端末40のプロセッサー41は、終了コマンドをリストアプリに入力する。プロセッサー41は、Act111の処理の後、セルフスキャンアプリを終了する。
一方、図13のAct79においてプロセッサー41は、リストアプリに終了コマンドが入力されるのを待ち受ける。プロセッサー41は、終了コマンドが入力されたならば、Act79においてYesと判定して図8のAct3へと戻る。
一方、POS端末50のプロセッサー501は、Act305及びAct306の待受状態にあるときに商品IDが入力されたならば、Act306においてYesと判定してAct307へと進む。
Act307においてプロセッサー501は、Act306で入力された商品IDで特定される商品を買い上げ登録するように要求するための買上要求を生成する。当該買上要求は、買物対象リストID及びAct306で入力された商品IDを含む。そして、プロセッサー501は、生成した当該買上要求を支援サーバー10に送信するように通信インターフェース505に対して指示する。この指示を受けて通信インターフェース505は、当該買上要求を支援サーバー10に送信する。送信された当該買上要求は、支援サーバー10の通信インターフェース15によって受信される。
一方、図16のAct238において支援サーバー10のプロセッサー11は、通信インターフェース15によって買上要求が受信されたか否かを判定する。プロセッサー11は、買上要求が受信されていないならば、Act238においてNoと判定してAct239へと進む。
Act239においてプロセッサー11は、通信インターフェース15によって終了通知が受信されたか否かを判定する。プロセッサー11は、終了通知が受信されていないならば、Act239においてNoと判定してAct238へと戻る。かくして、プロセッサー11は、通信インターフェース15によって買上要求又は終了通知が受信されるまでAct238及びAct239を繰り返す。
プロセッサー11は、Act238及びAct239の待受状態にあるときに通信インターフェース15によって買上要求が受信されたならば、Act238においてYesと判定して図17のAct241へと進む。
なお、図16のAct238から図17のAct241へと進んだ場合、Act245において通信インターフェース15は、第3の完了通知をPOS端末50に送信する。送信された当該第3の完了通知は、POS端末50の通信インターフェース55によって受信される。
また、プロセッサー11は、買上要求の送信元がPOS端末50であるならば、Act246又はAct248においてYesと判定してAct249へと進む。
Act249においてプロセッサー11は、Act247で購入フラグの値をTrueにした購入予定IDで特定される購入予定商品を購入済状態又は未購入状態にすることが完了したことを示す第2の完了通知を生成する。当該第2の完了通知は、Act238で受信された買上要求に含まれる買物対象リストIDで特定されるショッピングリストを含む。そして、プロセッサー11は、生成した当該第2の完了通知をユーザー端末40に送信するように通信インターフェース15に対して指示する。この指示を受けて通信インターフェース15は、当該第2の完了通知をPOS端末50に送信する。送信された当該第2の完了通知は、POS端末50の通信インターフェース505によって受信される。プロセッサー11は、Act249の処理の後、図16のAct239へと戻る。
一方、図18のAct308においてPOS端末50のプロセッサー501は、通信インターフェース505によって第2の完了通知又は第3の完了通知が受信されるのを待ち受けている。プロセッサー501は、第2の完了通知又は第3の完了通知が受信されたならば、Act308においてYesと判定してAct309へと進む。
Act309においてプロセッサー501は、Act306で入力された商品IDで特定される商品を補助記憶デバイス504などに記憶された商品リストに追加する。また、当該商品リストに基づき、プロセッサー501は、表示デバイス507に表示された商品リストを更新する。
以上のように、セルフスキャンアプリによってバーコードが読み込まれていない商品についても、POS端末50で当該バーコードを読み込むことで取引リストへの登録が可能である。
Act310においてプロセッサー501は、Act308で受信された第2の完了通知に含まれるショッピングリストをRAM503又は補助記憶デバイス504などに記憶させる。なお、プロセッサー501は、当該ショッピングリストを、既にRAM503又は補助記憶デバイス504に記憶されているショッピングリストに上書きして記憶させる。また、当該ショッピングリストに基づき、プロセッサー501は、客側タッチパネル508に表示されたショッピングリストを更新する。なお、プロセッサー501は、Act308で第3の完了通知が受信された場合には、Act310の処理をスキップする。プロセッサー501は、Act310の処理の後、Act305へと戻る。
プロセッサー501は、Act305及びAct306の待受状態にあるときに商品の登録を完了するための操作が行われたならば、Act305においてYesと判定してAct311へと進む。
Act311においてプロセッサー501は、RAM503又は補助記憶デバイス504に記憶されたショッピングリストに未購入状態の購入予定商品があるか否かを判定する。プロセッサー501は、RAM503又は補助記憶デバイス504に記憶されたショッピングリストに未購入状態の購入予定商品があるならば、Act311においてYesと判定してAct312へと進む。
Act312においてプロセッサー501は、未購入の購入予定商品があることを買物客に報知するための動作を行うよう制御する。当該動作は、例えば、画面表示又は音声による報知である。
対して、プロセッサー501は、RAM503又は補助記憶デバイス504に記憶されたショッピングリストに未購入状態の購入予定商品がないならば、Act311においてNoと判定してAct313へと進む。また、プロセッサー501は、Act312の処理の後もAct313へと進む。
Act313においてプロセッサー501は、商品リストに登録された商品IDに基づいて決済処理を行う。なお、プロセッサー501は、当該商品IDで示される商品の金額及び商品名などは、商品DB241などから取得する。決済処理については、周知の処理であるため詳細な説明は省略する。
Act314においてプロセッサー501は、Act313の決済内容に基づいてレシートを発行するようプリンターを制御する。
Act315においてプロセッサー501は、Act313の決済内容に基づく商品販売履歴をPOSサーバー20に送信するように通信インターフェース505に対して指示する。この指示を受けて通信インターフェース505は、当該商品販売履歴をPOSサーバー20に送信する。送信された当該商品販売履歴は、POSサーバー20の通信インターフェース25によって受信される。POSサーバー20は、当該商品販売履歴を記憶する。
Act316においてプロセッサー501は、決済を終了したことを示す終了通知を支援サーバー10に送信するように通信インターフェース505に対して指示する。この指示を受けて通信インターフェース505は、当該終了通知を支援サーバー10に送信する。送信された当該終了通知は、支援サーバー10の通信インターフェース15によって受信される。プロセッサー501は、Act316の処理の後、Act301へと戻る。
一方、支援サーバー10のプロセッサー11は、図16のAct238及びAct239の待受状態にあるときに通信インターフェース15によって終了通知が受信されたならば、Act239においてYesと判定して図15のAct201へと戻る。
以下、陳列場所距離の推定方法について、(1)及び(2)の2種類を説明する。
(1)推定方法1
例えば、あるショッピングリストにおいて、りんご、ぶどう、葱、ピーマン、豚バラ、…の順で購入済状態となっている場合を考える。りんごと葱、りんごとピーマン及びりんごと豚バラなどについては、連続して購入されたりんごとぶどうに比べて、陳列場所距離が長いと考えられる。これを、りんごとぶどうの購入間隔は1、りんごと葱の購入間隔は2、りんごとピーマンの購入間隔は3、りんごと豚バラの購入間隔は4、…、ぶどうと葱の購入間隔は1、…、のように規定することができる。すなわち、購入間隔は、2つの商品の購入順の差である。以上より、2つの商品の陳列場所と陳列場所との距離は、上記のような購入間隔を用いて推定することができる。例えば、プロセッサー11は、それぞれの陳列場所距離について、リストDBに記憶された複数のショッピングリストから購入間隔の平均値又は中央値などを求める。そして、プロセッサー11は、求めた値を陳列場所距離として距離テーブルT5に記憶させる。
(2)推定方法2
推定方法2でも、推定方法1と同様に購入間隔を用いる。しかしながら、推定方法2では、購入間隔として購入日時の差を用いる。例えば、りんごの購入日時が16時00分、ぶどうの購入日時が16時01分、葱の購入日時が16時05分、ピーマンの購入日時が16時06分、豚バラの購入日時が16時10分、…であるとする。この場合、りんごとぶどうの購入間隔は1分、りんごと葱の購入間隔は5分、りんごとピーマンの購入間隔は6分、りんごと豚バラの購入間隔は10分、…、ぶどうと葱の購入間隔は4分、…、のようになる。例えば、プロセッサー11は、推定方法1と同様に、それぞれの陳列場所距離について、リストDBに記憶された複数のショッピングリストから購入間隔の平均値又は中央値などを求める。そして、プロセッサー11は、求めた値を陳列場所距離として距離テーブルT5に記憶させる。なお、購入順の差が大きい組み合わせほど、その間にユーザー端末40の操作者が通るルートなどは様々になるため、陳列場所距離との相関性が低くなる可能性が考えられる。したがって、プロセッサー11は、購入順の差が一定以下の組み合わせだけを用いて陳列場所距離を求めても良い。例えば、プロセッサー11は、購入順の差が1の組み合わせだけを用いて陳列場所距離を求めても良い。
プロセッサー11は、上記のような陳列場所距離の推定を、定期的又は不定期に行う。プロセッサー11は、例えば、夜間などの計算資源が余っている時間帯に陳列場所距離の推定を行う。上記の購入間隔は、第1の商品が第2の状態になったときと第2の商品が第2の状態になったときとの間隔の例である。
実施形態の支援システム1によれば、支援サーバー10は、リストサービスを提供する。そして、支援サーバー10は、ショッピングリストに含まれる購入予定商品が購入済状態又は未購入状態になった場合、ショッピングリストに含まれる購入予定商品の並び順を、陳列場所がユーザー端末40の操作者の現在位置から近い順に並び替える。これにより、当該操作者は、ショッピングリストに含まれる商品を購入済状態又は未購入状態にしたならば、ショッピングリストの並び順を見ることでどの購入予定商品が近くにあるかが分かる。このため、支援サーバー10は、当該操作者が買い物時に遠回りをしてしまうことを防ぐことができる。以上より、当該操作者は、リストサービスを用いることで、効率的に買い物をすることができる。
また、実施形態の支援システム1によれば、支援サーバー10は、購入済状態になった商品の陳列場所をユーザー端末40の操作者の現在位置と見做す。したがって、支援サーバー10は、各商品の陳列場所が規定されていれば、ショッピングリストを前記のように並び替えることができる。
また、実施形態の支援システム1によれば、陳列DB143は、商品の陳列場所同士の距離を記憶している。したがって、支援サーバー10は、陳列DB143から当該距離を取得することで、簡単にショッピングリストを前記のように並び替えることができる。
また、実施形態の支援システム1によれば、支援サーバー10は、陳列場所同士の距離を、推定方法1又は推定方法2のような方法を用いて自動的に更新する。したがって、陳列場所同士の距離を人力で入力する手間などが不要となる。
また、実施形態の支援システム1によれば、支援サーバー10は、セルフスキャンアプリを用いて商品IDが読み込まれた商品がショッピングリストに購入予定商品として含まれる場合、当該購入予定商品を購入済状態にする。したがって、ユーザー端末40の操作者は、商品に付されたバーコードなどを一度読み込ませることで、リストサービスに係るショッピングリストとセルフスキャンサービスに係る取引ファイルの両方を更新させることができる。
上記の実施形態は以下のような変形も可能である。
支援サーバー10のプロセッサー11は、図16のAct228において、ユーザー端末40の操作者の現在位置を、ユーザー端末40の位置情報取得することで推定しても良い。支援サーバー10及びユーザー端末40は、当該位置情報の取得に、GPS(Global Positioning System)などのGNSS(global navigation satellite system)、IMES(Indoor MEssaging System)、DR(dead reckoning)、SLAM(simultaneous localization and mapping)、Wi-fiなどのアクセスポイントを用いた測位システム、BLE(Bluetooth(登録商標) low energy)などを用いたビーコンによる測位システム、地磁気を用いた測位システム、又はこれらを複数組み合わせた方法などを用いる。あるいは、支援サーバー10は、店舗内に設置されたカメラにより撮像された動画像を画像解析することによって、ユーザー端末40の操作者の現在位置を特定しても良い。また、以上の場合、陳列DB143は、例えば、陳列場所IDと陳列場所の位置を示す情報とを関連付けた位置テーブルを含む。そして、プロセッサー11は、Act233において、ユーザー端末40の操作者の現在位置からAct231で選択した購入予定IDで特定される購入予定商品の陳列場所までの距離を、例えば、ユーザー端末40の位置情報及び位置テーブルを用いて推定する。
ユーザー端末40は、店舗内に設置されたデジタルサイネージ又は分散型キオスク端末などであっても良い。当該デジタルサイネージ又は分散型キオスク端末は、例えば店舗内に複数設置される。買物客は、例えば、陳列棚などから商品を取った後、近くにあるいずれかのデジタルサイネージ又は分散型キオスク端末を用いてリストサービス及びセルフスキャンサービスにログインする。そして、当該買物客は、当該商品に該当する購入予定商品を購入済状態にするための操作を行う。以上の場合、買物支援サービスのユーザーは、携帯可能なユーザー端末40を所持していない場合でも買物支援サービスを利用することができる。
ユーザー端末40は、買い物カゴなどに取り付けられた端末であっても良い。買物客は、当該端末を用いてリストサービス及びセルフスキャンサービスにログインする。そして、当該買物客は、例えば、陳列棚などから商品を取ってカゴに入れる。この際、当該買物客は、当該商品に該当する購入予定商品を購入済状態にするための操作を行う。以上の場合、買物客は、携帯可能なユーザー端末40を所持していない場合でも買物支援サービスを利用することができる。
なお、買物客は、ショッピングリストの作成を予めPCなどで行った後、上記のデジタルサイネージ、分散型キオスク端末又は買い物カゴなどに取り付けられた端末で当該ショッピングリストを利用することができる。
ユーザー端末40は、IC(integrated circuit)カードを読み取るためのカードリーダーなどを備えていても良い。この場合、ICカードをユーザー端末40に読み込ませることで、リストサービス及びセルフスキャンサービスにログインすることが可能であっても良い。この場合、ユーザー端末40の操作者は、ログインIDの入力などが不要である。店舗の会員カードをログインに用いるICカードとしても用いることができるため、上記のデジタルサイネージ、分散型キオスク端末又は買い物カゴなどに取り付けられた端末で特に好適である。
ユーザー端末40は、生体認証を行うためのデバイスを備えていても良い。この場合、生体認証を行うことで、リストサービス及びセルフスキャンサービスにログインすることが可能であっても良い。この場合、ユーザー端末40の操作者は、ログインIDの入力などが不要である。さらに、ユーザー端末40の操作者は、ログインに用いるためのICカードの携帯なども不要である。このため、上記のデジタルサイネージ、分散型キオスク端末又は買い物カゴなどに取り付けられた端末で特に好適である。
ユーザー端末40は、カメラ48に代えてバーコードを読み込むためのスキャナーなどを備えていても良い。
支援システム1は、バーコードに代えてICタグが用いられても良い。この場合、ユーザー端末40及びPOS端末50は、バーコードに代えてICタグを読み込む。なお、ユーザー端末40及びPOS端末50は、NFC(near field radio communication)リーダーなどを用いてICタグを読み込む。
ショッピングリストを並び替える際の表示順は、直近に購入済状態又は未購入状態になった購入予定商品、未購入状態の購入予定商品、直近に購入済状態になったものを除いた購入済状態の購入予定商品の順に限らない。例えば、直近に購入済状態になったものを除いた購入済状態の購入予定商品、直近に購入済状態又は未購入状態になった購入予定商品、未購入状態の購入予定商品の順であっても良い。また、直近に購入済状態になったものを除いた購入済状態の購入予定商品の表示順については、購入日時が早い順であっても良い。
購入済状態の購入予定商品の表示順を、それぞれの陳列場所から、直近に購入済状態又は未購入状態になった購入予定商品の陳列場所までの距離が近い順にしても良い。また、ショッピングリストの表示順は、購入済状態の購入予定商品と未購入状態の購入予定商品とを区別せずに、それぞれの陳列場所から、直近に購入済状態又は未購入状態になった購入予定商品の陳列場所までの距離が近い順であっても良い。以上の場合、支援サーバー10のプロセッサー11は、購入済状態の購入予定商品についてもAct230~Act233と同様の処理を行う。
上記の実施形態で支援サーバー10が行った処理の一部をユーザー端末40が行っても良い。また、上記の実施形態でユーザー端末40が行った処理の一部を支援サーバー10が行っても良い。したがって、支援サーバー10又はユーザー端末40は、買物支援装置の一例である。あるいは、支援サーバー10とユーザー端末40とが協働して、買物支援装置として動作する。また、支援システム1は、買物支援装置の一例である。
上記の実施形態で支援サーバー10が行った処理の一部をPOS端末50が行っても良い。また、上記の実施形態でPOS端末50が行った処理の一部を支援サーバー10が行っても良い。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ショッピングリストに含まれる複数の商品のそれぞれについて、ユーザーの現在位置から前記商品の陳列場所までの推定距離を取得し、前記ショッピングリストに含まれる前記複数の商品を前記推定距離の順に並べたリストを生成する制御部を備える、買物支援装置。
[C2]
前記制御部は、前記ショッピングリストに含まれる前記商品が未購入状態から購入済状態になった場合又は購入済状態から未購入状態になった場合、購入済状態又は未購入状態になった前記商品の陳列場所を前記現在位置と推定する、C1に記載の買物支援装置。
[C3]
前記制御部は、前記推定距離を、商品の陳列場所同士の距離を記憶した記憶部から取得する、C2に記載の買物支援装置。
[C4]
前記制御部は、第1の商品が購入済状態になったときと第2の商品が購入済状態になったときとの間隔に基づき、前記第1の商品の陳列場所と前記第2の商品の陳列場所との距離を推定する、C2又はC3に記載の買物支援装置。
[C5]
端末装置及び買物支援装置を含み、
前記買物支援装置は、
ショッピングリストに含まれる複数の商品のそれぞれについて、ユーザーの現在位置から当該商品の陳列場所までの距離を推定し、前記ショッピングリストに含まれる前記複数の商品を前記距離の順に並べたリストを生成する制御部と、
前記リストを送信する第1の通信部と、を備え、
前記端末装置は、
前記第1の通信部によって送信された前記リストを受信する第2の通信部と、
前記第2の通信部によって受信された前記リストを表示する表示部と、を備える、買物支援システム。
[C6]
買物支援装置が備えるコンピューターを、
ショッピングリストに含まれる複数の商品のそれぞれについて、ユーザーの現在位置から当該商品の陳列場所までの推定距離を取得する制御部として機能させ、
前記制御部は、前記ショッピングリストに含まれる前記複数の商品を前記推定距離の順に並べたリストを生成する、プログラム。