IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝テック株式会社の特許一覧

特許7148703取引処理システム、制御装置及び情報処理プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-27
(45)【発行日】2022-10-05
(54)【発明の名称】取引処理システム、制御装置及び情報処理プログラム
(51)【国際特許分類】
   G06Q 30/06 20120101AFI20220928BHJP
   G07G 1/12 20060101ALI20220928BHJP
【FI】
G06Q30/06
G07G1/12 301E
【請求項の数】 5
(21)【出願番号】P 2021200034
(22)【出願日】2021-12-09
(62)【分割の表示】P 2020019050の分割
【原出願日】2020-02-06
(65)【公開番号】P2022043139
(43)【公開日】2022-03-15
【審査請求日】2022-04-20
【早期審査対象出願】
(73)【特許権者】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】河野 健太朗
(72)【発明者】
【氏名】望月 克人
(72)【発明者】
【氏名】二宮 茂樹
(72)【発明者】
【氏名】中司 文雄
(72)【発明者】
【氏名】伊藤 幹生
(72)【発明者】
【氏名】川本 剛士
(72)【発明者】
【氏名】山口 清充
【審査官】鈴木 和樹
(56)【参考文献】
【文献】特開2019-153084(JP,A)
【文献】特開2012-194896(JP,A)
【文献】特開2015-069402(JP,A)
【文献】米国特許出願公開第2018/0197218(US,A1)
【文献】特開2007-156825(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
G07G 1/12
(57)【特許請求の範囲】
【請求項1】
端末装置と少なくとも1つの情報処理装置とを含み、
前記端末装置に備えられ、操作者による操作の発生を繰り返し確認し、操作が発生すると該当の操作を受ける操作手段と、
前記情報処理装置の1つに備えられ、前記操作手段で受けられた操作に応じて取引の内容を決定するための処理を行う決定手段と、
前記端末装置又は前記情報処理装置の1つに備えられ、前記操作手段により操作が受けられないまま前記操作手段による確認の繰り返し回数が予め定められた回数を越えたことを無操作状態として検出する検出手段と、
前記端末装置又は前記情報処理装置の1つに備えられ、一取引の内容の決定のための処理を前記決定手段が開始してから当該一取引の内容の決定が完了するまでの間に、前記検出手段により前記無操作状態が検出されたことに応じて、当該一取引に関する処理を終了するよう前記決定手段を制御する制御手段と、
を備える取引処理システム。
【請求項2】
前記情報処理装置の1つに備えられ、前記決定手段が処理を完了することなく終了したことを予め定められた通報先に通報する通報手段、
をさらに備える請求項1に記載の取引処理システム。
【請求項3】
前記端末装置は、店舗から客に貸与されて前記客が前記操作者となるものであり、
前記通報手段は、前記店舗の従業員を前記通報先とする、
請求項2に記載の取引処理システム。
【請求項4】
操作者による操作の発生を繰り返し確認し、操作が発生すると該当の操作を受ける操作手段を備える端末装置と、前記操作手段で受けられた操作に応じて取引の内容を決定するための処理を行う決定手段を備える登録処理装置とともに取引処理システムを構成し、
前記操作手段により操作が受けられないまま前記操作手段による確認の繰り返し回数が予め定められた回数を越えたことを無操作状態として検出する検出手段と、
一取引の内容の決定のための処理を前記決定手段が開始してから当該一取引の内容の決定が完了するまでの間に、前記検出手段により前記無操作状態が検出されたことに応じて、当該一取引に関する処理を終了するよう前記決定手段を制御する制御手段と、
を備える制御装置。
【請求項5】
操作者による操作の発生を繰り返し確認し、操作が発生すると該当の操作を受ける操作手段を備える端末装置と、前記操作手段で受けられた操作に応じて取引の内容を決定するための処理を行う決定手段を備える登録処理装置とともに取引処理システムを構成する制御装置が備えるコンピュータを、
前記操作手段により操作が受けられないまま前記操作手段による確認の繰り返し回数が予め定められた回数を越えたことを無操作状態として検出する検出手段と、
一取引の内容の決定のための処理を前記決定手段が開始してから当該一取引の内容の決定が完了するまでの間に、前記検出手段により前記無操作状態が検出されたことに応じて、当該一取引に関する処理を終了するよう前記決定手段を制御する制御手段と、
して機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、取引処理システム、制御装置及び情報処理プログラムに関する。
【背景技術】
【0002】
ショッピングカートに取り付けたカート端末又は客が所持する携帯情報通信端末のなどの端末装置での客による操作に応じて購入商品を登録する取引処理システムが考えられている。
このような取引処理システムでは、店内で買い物中の客の人数に応じて、同時に利用される端末装置の数が変動する。またこのような取引処理システムでは、店舗側のリソースの制限から、同時に利用可能な端末装置の数は制限される。このため混雑時には、新たな端末装置の利用を開始することができない状況が生じ得る。
このような状況が生じる可能性は、低減されることが望まれる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-153089号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、新たな端末装置の利用を開始することができない状況が生じる可能性を低減できる取引処理システムを提供することである。
【課題を解決するための手段】
【0005】
実施形態の取引処理システムは、操作手段、決定手段、検出手段及び、制御手段を備える。操作手段は、端末装置に備えられ、操作者による操作の発生を繰り返し確認し、操作が発生すると該当の操作を受ける。決定手段は、情報処理装置の1つに備えられ、操作手段で受けられた操作に応じて取引の内容を決定するための処理を行う。検出手段は、端末装置又は情報処理装置の1つに備えられ、操作手段により操作が受けられないまま操作手段による確認の繰り返し回数が予め定められた回数を越えたことを無操作状態として検出する。制御手段は、端末装置又は情報処理装置の1つに備えられ、一取引の内容の決定のための処理を決定手段が開始してから当該一取引の内容の決定が完了するまでの間に、検出手段により無操作状態が検出されたことに応じて、当該一取引に関する処理を終了するよう決定手段を制御する。
【図面の簡単な説明】
【0006】
図1】一実施形態に係る取引処理システムの概略構成を示すブロック図。
図2図1中の店舗サーバの要部回路構成を示すブロック図。
図3図1中の仮想POSサーバの要部回路構成を示すブロック図。
図4図1中のモバイルコントローラの要部回路構成を示すブロック図。
図5図4に示す取引管理データベースに含まれるデータレコードの主要なデータ構造を示す模式図。
図6図4に示す登録データベースに含まれるデータレコードの主要なデータ構造を示す模式図。
図7図1中のユーザ端末の要部回路構成を示すブロック図。
図8図1中のカート端末の要部回路構成を示すブロック図。
図9】スマホUI処理のフローチャート。
図10】スマホUI処理のフローチャート。
図11】スマホUI処理のフローチャート。
図12】スマホUI処理のフローチャート。
図13】カートUI処理のフローチャート。
図14】管理処置のフローチャート。
図15】仲介処理のフローチャート。
図16】仲介処理のフローチャート。
図17】仲介処理のフローチャート。
図18】取引処理のフローチャート。
図19】取引処理のフローチャート。
図20】一覧画面の一例を示す図。
図21】登録画面の一例を示す図。
図22】一覧画面の一例を示す図。
図23】会計画面の一例を示す図。
【発明を実施するための形態】
【0007】
以下、取引処理システムの一実施形態について、図面を用いて説明する。
この実施形態における取引処理システムは、店内に陳列している商品を、来訪した客に対して販売する店舗における商品の取引を処理する。
【0008】
図1は本実施形態に係る取引処理システムの概略構成を示すブロック図である。
取引処理システムは、複数の店舗システム100、中継サーバ200、ユーザ端末300、カート端末400、決済サーバ500、電子レシートサーバ600及び通信ネットワーク700を含む。そして複数の店舗システム100、中継サーバ200、ユーザ端末300、決済サーバ500及び電子レシートサーバ600を、通信ネットワーク700を介して通信可能とされる。
【0009】
図1では、2つの店舗システム100を示している。これら店舗システム100は、取引処理システムを利用するそれぞれ異なる店舗A及び店舗Bにそれぞれ設けられる。取引処理システムを利用する店舗が3つ以上存在してもよく、店舗毎に店舗システム100が設けられる。なお以下において、各店舗に設けられた店舗システム100を区別する必要がある場合には、店舗Aに設けられた店舗システム100を店舗システム100Aと表し、店舗Bに設けられた店舗システム100を店舗システム100Bと表す。
店舗Aを運営する事業者は、店舗Bを運営する事業者と同じであっても、別であってもよい。その他の店舗で取引処理システムが利用される場合も、その店舗を運営する事業者は、店舗A又は店舗Bを運営する事業者と同じであっても、別であってもよい。
【0010】
中継サーバ200は、ユーザ端末300と店舗システム100との間でのデータ通信を中継する。中継サーバ200は例えば、通信ネットワーク700を介したクラウドサービスとしてデータ通信の中継機能を提供する。
【0011】
ユーザ端末300は、取引処理システムを利用した買い物を店舗にて行う客のためのユーザインタフェースとして機能する端末装置である。ユーザ端末300は、店舗システム100と無線通信する機能と、通信ネットワーク700と無線通信する機能とを備える。ユーザ端末300としては、スマートフォン又はタブレット端末等のデータ通信機能を備えた通信端末が利用できる。ユーザ端末300は、客により所有される。つまりユーザ端末300は、客により店舗に持ち込まれる端末装置の一例である。
【0012】
カート端末400は、取引処理システムを利用した買い物を店舗にて行う客のためのユーザインタフェースとして機能する端末装置である。カート端末400は、店舗システム100と無線通信する機能を備える。カート端末400は、ショッピングカートC1に取り付けられ、店舗に備え付けられる。カート端末400は、店舗にて客により使用される。つまりカート端末400は、店舗により客に貸与される端末装置の一例である。
【0013】
決済サーバ500は、通信ネットワーク700を介した決済要求に応じてオンライン決済を行うための決済処理を行う。決済サーバ500は、クレジットカード決済及び電子マネー決済のような複数種の決済方法のいずれか1つのみに対応するものであってもよいし、複数の決済方法に対応するものであってもよい。決済サーバ500としては例えば、複数の決済方法のものを含む複数の決済サービスに対応した、決済代行業者が運営する既存の決済サーバを適用できる。
【0014】
電子レシートサーバ600は、取引結果を表したレシートを画像又はウェブページとして提供する。電子レシートサーバ600としては例えば、電子レシートサービスを提供している既存の電子レシートサーバを適用できる。
【0015】
通信ネットワーク700としては例えば、インターネット、VPN(virtual private network)、LAN(local area network)、公衆通信網、移動体通信網などを、単独又は適宜に組み合わせて用いることができる。通信ネットワーク700としては典型的には、移動体通信網とインターネット又はVPNとが利用される。
【0016】
各店舗システム100の概略的な構成は共通である。すなわち店舗システム100は、店舗サーバ1、仮想POSサーバ2、モバイルコントローラ3、通信サーバ4、会計機5及びアクセスポイント6を、店内通信ネットワーク7を介して通信可能として構成される。ただし、店舗サーバ1、仮想POSサーバ2、モバイルコントローラ3、通信サーバ4、会計機5、アクセスポイント6及び店内通信ネットワーク7は、後述する動作を実現するための機能が共通であればよく、完全に同一である必要は無い。また一部の店舗システム100は、図1に示されない装置を備えてもよい。
【0017】
店舗サーバ1は、取引処理システムでの処理の対象となった複数の取引を総合的に管理するための情報処理装置である。店舗サーバ1は例えば、既存のPOSサーバと同様な機能を有する。
仮想POSサーバ2は、外部からの要求に応じて取引毎の購入商品の登録及び当該購入商品の代金の決済などのための情報処理(以下、取引処理と称する)を行う情報処理装置である。仮想POSサーバ2は、既存のPOS端末が備える機能を仮想的に実現する。仮想POSサーバ2が行う情報処理は、店舗毎の運営方針の違いに適応するようにカスタマイズされる。つまり、例えば店舗システム100Aに備えられた店舗サーバ1が行う取引処理と、店舗システム100Bに備えられた店舗サーバ1が行う取引処理とでは、一部相違する場合がある。
【0018】
モバイルコントローラ3は、管理処理及び仲介処理を実行する情報処理装置である。管理処理は、仮想POSサーバ2により実行される上記の取引処理を管理するための情報処理である。仲介処理は、仮想POSサーバ2により実行される上記の取引処理をユーザ端末300又はカート端末400をユーザインタフェースデバイスとして用いつつ行わせるために、仮想POSサーバ2とユーザ端末300又はカート端末400とを仲介するための情報処理である。
通信サーバ4は、店舗サーバ1、仮想POSサーバ2、モバイルコントローラ3及び会計機5が、通信ネットワーク700を介して中継サーバ200等とデータを授受するための通信処理を行う。
【0019】
会計機5は、仮想POSサーバ2で管理されている取引毎の購入商品に関する代金を求めて、当該代金を客に決済させるための処理を行う。会計機5が上記の決済のために利用可能とする決済方法は、現金決済、クレジットカード決済、電子マネー決済、ポイント決済、コード決済(モバイル決済又はスマートフォン決済等とも称される)等、周知の決済方法の全て又は任意の一部であってよい。会計機5は、店員及び客のいずれにより操作されるのであってもよい。会計機5としては例えば、既存のセミセルフ方式のPOSシステムで用いられるセルフ方式の会計機を用いることができる。会計機5は、商品を購入商品として登録するための情報処理を行う機能を有していてもよい。この場合に会計機5としては例えば、既存のPOSシステムで用いられる対面式のPOS端末又は既存のセルフ方式のPOSシステムで用いられるセルフ式のPOS端末を用いることができる。
【0020】
アクセスポイント6は、ユーザ端末300及びカート端末400が無線通信により店内通信ネットワーク7へとアクセスすることを可能とするための通信処理を行う。アクセスポイント6としては例えば、IEEE802.11規格により無線通信を行う周知の通信デバイスを用いることができる。アクセスポイント6は、店舗の売場のどこからでもユーザ端末300及びカート端末400が無線通信可能なように、店舗内に設置される。店舗規模によっては、複数のアクセスポイント6が、1つの店舗システム100に配置される場合もある。
店内通信ネットワーク7としては、インターネット、VPN、LAN、公衆通信網、移動体通信網などを、単独又は適宜に組み合わせて用いることができる。ただし典型的には、店内通信ネットワーク7は、LANである。
【0021】
店舗システム100が設けられた店舗には、その入口付近にチェックイン用の2次元コードTC1が掲示され、その出口付近にチェックアウト用の2次元コードTC2が掲示される。2次元コードTC1は、チェックインのためのチェックインデータを表す。2次元コードTC2は、チェックアウトのためのチェックアウトデータを表す。チェックインデータ及びチェックアウトデータは店舗毎に異なる。このため、店舗A用の2次元コードTC1,TC2と店舗B用の2次元コードTC1,TC2とを区別する必要がある場合には、店舗A用を2次元コードTC1A,TC2Aと表し、店舗B用を2次元コードTC1B,TC2Bと表す。
【0022】
チェックインデータは例えば、以下に示すような情報を表す。
(1) 店舗システム100の動作バージョン。例えば、2次元コードTC1Aが表すチェックインデータは、店舗システム100Aの動作バージョンを表す。2次元コードTC1Bが表すチェックインデータは、店舗システム100Bの動作バージョンを表す。
(2) 店舗システム100が設けられる店舗を運営する事業者を識別するための事業者コード。例えば2次元コードTC1Aが表すチェックインデータは、店舗Aを運営する事業者に割り当てられた事業者コードを表す。2次元コードTC1Bが表すチェックインデータは、店舗Bを運営する事業者に割り当てられた事業者コードを表す。
(3) 店舗システム100が設けられる店舗を識別するための店舗コード。例えば2次元コードTC1Aが表すチェックインデータは、店舗Aに割り当てられた店舗コードを表す。2次元コードTC1Bが表すチェックインデータは、店舗Bに割り当てられた店舗コードを表す。なお店舗コードは、取引処理システムを利用する全ての店舗の個々を識別可能なものであってもよいし、同じ事業者により運営される複数の店舗の個々を識別可能なものであってもよい。
【0023】
(4) 店舗システム100が設けられる店舗を運営する事業者の名称。例えば2次元コードTC1Aが表すチェックインデータは、店舗Aを運営する事業者の名称を表す。2次元コードTC1Bが表すチェックインデータは、店舗Bを運営する事業者の名称を表す。
(5) 店舗システム100が設けられる店舗の名称。例えば2次元コードTC1Aが表すチェックインデータは、店舗Aの名称を表す。2次元コードTC1Bが表すチェックインデータは、店舗Bの名称を表す。
(6) 2次元コードTC1と2次元コードTC2とを区別するためのフラグ。チェックインデータにおける当該フラグは、チェックインデータであることを表す状態とされる。当該状態は、例えば“1”である。当該フラグは、全ての2次元コードTC1で共通である。
【0024】
(7) 通信サーバ4のIPアドレス。例えば2次元コードTC1Aが表すチェックインデータは、店舗システム100Aに含まれる通信サーバ4のIPアドレスを表す。2次元コードTC1Bが表すチェックインデータは、店舗システム100Bに含まれる通信サーバ4のIPアドレスを表す。
(8) 中継サーバ200のドメイン名。当該ドメイン名は、全ての2次元コードTC1で共通である。ただし、ドメイン名が互いに異なる複数の中継サーバ200が、店舗毎に使い分けられてもよい。そしてこの場合には、2次元コードTC1が表すチェックインデータは、対応する店舗で使用される中継サーバ200のドメイン名が表される。
(9) 電子レシートサーバ600のアドレス。当該アドレスは、全ての2次元コードTC1で共通であってもよいし、複数のアドレスのいずれかが2次元コードTC1毎に表されていてもよい。
【0025】
(10) 店舗システム100とのデータ授受のためにユーザ端末300が、アクセスポイント6との無線通信及び通信ネットワーク700との無線通信とのいずれを利用すべきかを示すフラグ。例えば、店舗Aにおいては、店舗システム100Aとユーザ端末300とのデータ授受にアクセスポイント6との無線通信を利用するのであれば、当該フラグは例えば“1”とされる。例えば、店舗Bにおいては、店舗システム100Bとユーザ端末300とのデータ授受に通信ネットワーク700との無線通信を利用するのであれば、当該フラグは例えば“0”とされる。
(11) アクセスポイント6を識別するためのSSID(service set identifier)。例えば2次元コードTC1Aが表すチェックインデータは、店舗システム100Aに含まれるアクセスポイント6を識別するSSIDを表す。2次元コードTC1Bが表すチェックインデータは、店舗システム100Bに含まれるアクセスポイント6のSSIDを表す。
(12) アクセスポイント6にアクセスするためのパスワード。例えば2次元コードTC1Aが表すチェックインデータは、店舗システム100Aに含まれるアクセスポイント6に設定されているパスワードを表す。2次元コードTC1Bが表すチェックインデータは、店舗システム100Bに含まれるアクセスポイント6に設定されているパスワードを表す。
【0026】
(13) アクセスポイント6が利用するセキュリティ方式の識別番号。当該識別番号は例えば、WPA2-PSK方式には“1”が、WPA-PSK方式には“2”が、そしてWEP方式には“3”が割り付けられる。例えば、店舗システム100Aに含まれるアクセスポイント6がセキュリティ方式としてWPA2-PSK方式を利用するならば、2次元コードTC1Aが表すチェックインデータは当該識別番号として“1”を表す。また例えば、店舗システム100Bに含まれるアクセスポイント6がセキュリティ方式としてWPA-PSK方式を利用するならば、2次元コードTC1Bが表すチェックインデータは当該識別番号として“2”を表す。
(14) ユーザ端末300が中継サーバ200との接続に失敗したときにエラーとするか、エラーとすることなく運用を続けるかを識別するためのフラグ。例えば、店舗Aにおいては、ユーザ端末300が中継サーバ200との接続に失敗したときにエラーとする設定であるならば、2次元コードTC1Aが表すチェックインデータは当該フラグとして例えば“1”を表す。また例えば、店舗Bにおいては、ユーザ端末300が中継サーバ200との接続に失敗しても運用を続ける設定であるならば、2次元コードTC1Bが表すチェックインデータは当該フラグとして例えば“0”を表す。
【0027】
(15) ユーザ端末300のステータスに関する送信モードの識別番号。当該送信モードには、例えば第1モード、第2モード及び第3モードがある。当該送信モードの識別番号は例えば、第1モードには“1”が、第2モードには“2”が、第3モードには“3”が割り付けられる。第1モードでは、ユーザ端末300のステータスを中継サーバ200に送信する。第2モードでは、ユーザ端末300のステータスを店舗システム100に送信する。第2モードでは、ユーザ端末300のステータスを送信しない。例えば、店舗Aにおいては、送信モードとして第1モードを適用するのであれば、2次元コードTC1Aが表すチェックインデータは当該識別番号として“1”を表す。また例えば、店舗Bにおいては、送信モードとして第2モードを適用するのであれば、2次元コードTC1Bが表すチェックインデータは当該識別番号として“2”を表す。
【0028】
(16) ユーザ端末300のログデータを蓄積したログファイルに関する送信モードの識別番号。当該送信モードには、例えば第1モード、第2モード、第3モード及び第4モードがある。当該送信モードの識別番号は例えば、第1モードには“1”が、第2モードには“2”が、第3モードには“3”が、第4モードには“4”が割り付けられる。第1モードでは、ログファイルを中継サーバ200にのみ送信する。第2モードでは、ログファイルを店舗システム100にのみ送信する。第3モードでは、ログファイルを店舗システム100及び中継サーバ200の双方に送信する。第4モードでは、ログファイルを送信しない。例えば、店舗Aにおいては、送信モードとして第1モードを適用するのであれば、2次元コードTC1Aが表すチェックインデータは当該識別番号として“1”を表す。また例えば、店舗Bにおいては、送信モードとして第2モードを適用するのであれば、2次元コードTC1Bが表すチェックインデータは当該識別番号として“2”を表す。
【0029】
(17) ログファイルを、通信ネットワーク700を介して中継サーバ200へとFTP(file transfer protocol)により送信する際に使用するホスト名又はIPアドレス。
(18) ログファイルを、通信ネットワーク700を介して中継サーバ200へとFTPにより送信する際に使用するユーザ名。
(19) ログファイルを、通信ネットワーク700を介して中継サーバ200へとFTPにより送信する際に使用するパスワード。
(20) 通信ネットワーク700を介して中継サーバ200へとFTPにより送信するログファイルのパス名。
【0030】
(21) 商品コードの一種であるUPC(universal product cord)のチェックデジットを削除するか否かを識別するためのフラグ。例えば、店舗Aにおいては、当該のチェックデジットを削除しない運用であるならば、2次元コードTC1Aが表すチェックインデータは当該フラグとして例えば“1”を表す。また例えば、店舗Bにおいては、当該のチェックデジットを削除する運用であるならば、2次元コードTC1Bが表すチェックインデータは当該フラグとして例えば“0”を表す。
(22) ユーザ端末300においてカメラ画面を自動遷移させるまでの時間。2次元コードTC1Aが表すチェックインデータは当該時間として、店舗Aに関して予め設定された時間を表す。2次元コードTC1Bが表すチェックインデータは当該時間として、店舗Bに関して予め設定された時間を表す。
(23) ユーザ端末300がアクセスポイント6を介して店舗システム100と通信を行う際のタイムアウト時間。2次元コードTC1Aが表すチェックインデータは当該時間として、店舗Aに関して予め設定された時間を表す。2次元コードTC1Bが表すチェックインデータは当該時間として、店舗Bに関して予め設定された時間を表す。
【0031】
(24) ユーザ端末300と店舗システム100とのアクセスポイント6を介した通信がタイムアウトした場合にリトライを許容する回数。2次元コードTC1Aが表すチェックインデータは当該回数として、店舗Aに関して予め設定された回数を表す。2次元コードTC1Bが表すチェックインデータは当該時間として、店舗Bに関して予め設定された回数を表す。
(25) ユーザ端末300が中継サーバ200を介して店舗システム100と通信を行う際のタイムアウト時間。2次元コードTC1Aが表すチェックインデータは当該時間として、店舗Aに関して予め設定された時間を表す。2次元コードTC1Bが表すチェックインデータは当該時間として、店舗Bに関して予め設定された時間を表す。
(26) ユーザ端末300と店舗システム100との中継サーバ200を介した通信がタイムアウトした場合にリトライを許容する回数。2次元コードTC1Aが表すチェックインデータは当該回数として、店舗Aに関して予め設定された回数を表す。2次元コードTC1Bが表すチェックインデータは当該時間として、店舗Bに関して予め設定された回数を表す。
【0032】
(27) 店員による確認が必要な商品を対象とした取引に関する確認終了の宣言を認証するための認証処理で用いる認証データ。2次元コードTC1Aが表すチェックインデータは、店舗Aに関して予め設定された認証データを表す。2次元コードTC1Bが表すチェックインデータは、店舗Bに関して予め設定された認証データを表す。認証データは、店舗毎で異なるように定められることが好ましいが、異なる店舗で同じ認証データが設定されても構わない。
(28) 店舗システム100の動作モードを識別するためのデータ。例えば、店舗システム100Aが、取引処理システムを通常に運用する通常モードに設定されているならば、2次元コードTC1Aが表すチェックインデータは当該データとして例えば“1”を表す。また例えば、店舗システム100Bが、取引処理システムをデモ運用するデモモードに設定されているならば、2次元コードTC1Bが表すチェックインデータは当該データとして例えば“2”を表す。
(29) 会計機5へのデータ転送のモードを識別するためのデータ。例えば、店舗システム100Aが、会計機5からモバイルコントローラ3にデータ転送を要求するモードに設定されているならば、2次元コードTC1Aが表すチェックインデータは当該データとして例えば“1”を表す。また例えば、店舗システム100Bが、会計機5からの要求無しにモバイルコントローラ3から会計機5へとデータ転送するモードに設定されているならば、2次元コードTC1Bが表すチェックインデータは当該データとして例えば“2”を表す。
【0033】
(30) ユーザ端末300での操作によるコード決済方式での決済を許容するか否かを表すフラグ。例えば、店舗Aでは当該のコード決済を許容されるならば、2次元コードTC1Aが表すチェックインデータは当該フラグとして例えば“1”を表す。また例えば、店舗Bでは当該のコード決済が許容されないならば、2次元コードTC1Bが表すチェックインデータは当該フラグとして例えば“0”を表す。
(31) 購入者の年齢制限が定められている年齢制限商品のユーザ端末300での登録を許容するか否かを識別するためのフラグ。例えば、店舗Aでは年齢制限商品のユーザ端末300での登録が許容されるならば、2次元コードTC1Aが表すチェックインデータは当該フラグとして例えば“1”を表す。また例えば、店舗Bでは当該のコード決済が許容されないならば、2次元コードTC1Bが表すチェックインデータは当該フラグとして例えば“0”を表す。
(32) ポイント会員の会員コードの入力モードを識別するためのデータ。例えば、店舗システム100Aが、会員コードを手入力するモードに設定されているならば、2次元コードTC1Aが表すチェックインデータは当該データとして例えば“1”を表す。また例えば、店舗システム100Bが、バーコードの読み取りにより会員コードを入力するモードに設定されているならば、2次元コードTC1Bが表すチェックインデータは当該データとして例えば“2”を表す。
【0034】
(33) ポイント会員の会員コードを手入力するモードが設定されている場合に、会員コードの入力に際して店員の確認を必要とするか否かを識別するためのフラグ。例えば、店舗Aにて当該確認を必要とするならば、2次元コードTC1Aが表すチェックインデータは当該フラグとして例えば“1”を表す。また例えば、店舗Bにて当該確認を不要とするならば、2次元コードTC1Bが表すチェックインデータは当該フラグとして例えば“0”を表す。
(34) チェックイン時にユーザ端末300のバッテリ残量のチェックをするための閾値。当該閾値は、店舗毎又は事業者毎に設定される。例えば店舗Aを運営する事業者が当該閾値を「20%」と定めている場合は、2次元コードTC1Aが表すチェックインデータは当該閾値として例えば“20”を表す。また例えば店舗Bが当該閾値を「25%」と定めている場合は、2次元コードTC1Bが表すチェックインデータは当該閾値として例えば“25”を表す。
以上が、チェックインデータが表す情報の例である。ただし、チェックインデータは、以上に示した各種の情報のうちの一部を含まなくてもよい。またチェックインデータは、以上に示した各種の情報とは別の情報を表してもよい。
【0035】
図2は店舗サーバ1の要部回路構成を示すブロック図である。
店舗サーバ1は、プロセッサ11、メインメモリ12、補助記憶ユニット13、通信インタフェース14及び伝送路15を含む。プロセッサ11、メインメモリ12、補助記憶ユニット13及び通信インタフェース14は、伝送路15を介して通信可能とされている。そして、プロセッサ11、メインメモリ12及び補助記憶ユニット13が伝送路15により接続されていることによって、店舗サーバ1を制御するためのコンピュータが構成される。
【0036】
プロセッサ11は、上記コンピュータの中枢部分に相当する。プロセッサ11は、オペレーティングシステム及びアプリケーションプログラム等の情報処理プログラムに従って、店舗サーバ1としての各種の機能を実現するための情報処理を実行する。プロセッサ11は、例えばCPU(central processing unit)である。
【0037】
メインメモリ12は、上記コンピュータの主記憶部分に相当する。メインメモリ12は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ12は、不揮発性のメモリ領域では上記の情報処理プログラムを記憶する。メインメモリ12は、プロセッサ11が情報処理を実行する上で必要なデータを不揮発性又は揮発性のメモリ領域で記憶する場合もある。メインメモリ12は、揮発性のメモリ領域を、プロセッサ11によってデータが適宜書き換えられるワークエリアとして使用する。不揮発性のメモリ領域は、例えばROM(read only memory)である。揮発性のメモリ領域は、例えばRAM(random access memory)である。
【0038】
補助記憶ユニット13は、上記コンピュータの補助記憶部分に相当する。補助記憶ユニット13としては、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disc drive)、あるいはSSD(solid state drive)等の周知の記憶デバイスを用いた記憶ユニットを利用できる。補助記憶ユニット13は、プロセッサ11が各種の処理を行う上で使用するデータ、あるいはプロセッサ11での処理によって作成されたデータ等を保存する。補助記憶ユニット13は、上記の情報処理プログラムを記憶する場合もある。
【0039】
通信インタフェース14は、店内通信ネットワーク7に接続された各部との間で所定の通信プロトコルに従いデータ通信を行う。通信インタフェース14としては、例えばLAN用の周知の通信デバイスを適用できる。
伝送路15は、アドレスバス、データバス及び制御信号線等を含み、接続された各部の間で授受されるデータ及び制御信号を伝送する。
【0040】
補助記憶ユニット13は、情報処理プログラムの1つである店舗管理アプリAP11を記憶する。店舗管理アプリAP11は、アプリケーションプログラムであり、店舗サーバ1としての機能を実現するための情報処理について記述されている。店舗管理アプリAP11は、店舗毎、あるいは店舗を運営する事業者毎の店舗運営方針に適応して作成された別々のものであってよい。例えば、店舗Aと店舗Bとで売上データの管理方法が異なるならば、店舗システム100Aで用いられる店舗管理アプリAP11は、店舗Aでの売上データの管理方法に適応した売上データの管理のための情報処理について記述され、店舗システム100Bで用いられる店舗管理アプリAP11は、店舗Bでの売上データの管理方法に適応した売上データの管理のための情報処理について記述される。
【0041】
補助記憶ユニット13の記憶領域の一部は、データベース群DB11として使用される。データベース群DB11は、各種の情報管理のための複数のデータベースを含む。データベース群DB11に含まれるデータベースの1つは、店舗で販売する商品を管理するための商品データベースである。商品データベースは、管理の対象となる商品に関連付けられたデータレコードの集合である。商品データベースのデータレコードには、商品コード、価格及び商品名等の、関連付けられた商品に関するデータが含まれる。商品コードは、商品をSKU(stock keeping unit)毎に識別するために定められた識別コードであり、例えばJAN(Japanese article number)コードが用いられる。商品名は、商品を人間が区別し易いように定められた名称である。価格は、商品の販売の対価となる金額である。
【0042】
データベース群DB11に含まれるデータベースの1つは、店舗の利用者を管理するための利用者データベースである。利用者データベースは、店舗の利用者として登録された客に関連付けられたデータレコードの集合である。利用者データベースのデータレコードには、利用者コード及び利用者を特定するための属性情報等の、関連付けられた客に関するデータが含まれる。利用者コードは、店舗の利用者を個々に識別するために店舗の利用者毎に定められた一意の識別コードである。属性情報は、氏名、性別、年齢、住所、電話番号などを含み得る。また利用者データベースのデータレコードには、店舗の利用者が申告した決済情報を含む場合もある。決済情報は、クレジット番号又はコード決済ID(identifier)などである。また複数の決済方法を選択可能とする場合には、決済情報に決済方法を識別するための決済方法コードを含む場合もある。また利用者データベースのデータレコードには、ポイントサービスを提供する店舗の場合には、ポイントサービスの利用者を識別するための識別子(以下、ポイントIDと称する)及び保有ポイント数などを含む場合もある。また、利用者データベースのデータレコードには、電子レシートサービスの利用者を識別するための利用者識別子(以下、電子レシートIDと称する)を含む場合もある。利用者データベースのデータレコードに含まれる各種のデータは、全ての利用者について実質的なデータを含む必要はない。例えばポイントID又は電子レシートIDは、それを事前に利用者が登録申請したもののみを利用者データベースが含んでもよい。
【0043】
この他、データベース群DB11には、既存のPOSシステムにおけるPOSサーバで管理されるような様々なデータベースが含まれ得る。なお、データベース群DB11がどのようなデータベースと含むか、あるいはそれらデータベースがどのようなデータをどのような構造で含んでいるかは、店舗毎に定められてよい。
【0044】
図3は仮想POSサーバ2の要部回路構成を示すブロック図である。
仮想POSサーバ2は、プロセッサ21、メインメモリ22、補助記憶ユニット23、通信インタフェース24及び伝送路25を含む。プロセッサ21、メインメモリ22、補助記憶ユニット23及び通信インタフェース24は、伝送路25を介して通信可能とされている。そして、プロセッサ21、メインメモリ22及び補助記憶ユニット23が伝送路25により接続されていることによって、仮想POSサーバ2を制御するためのコンピュータが構成される。なお、プロセッサ21、メインメモリ22、補助記憶ユニット23、通信インタフェース24及び伝送路25の機能の概略は、プロセッサ11、メインメモリ12、補助記憶ユニット13、通信インタフェース14及び伝送路15と同等であるので、その説明は省略する。
【0045】
ただし補助記憶ユニット23は、店舗管理アプリAP11に代えて仮想POSアプリAP21を記憶する。仮想POSアプリAP21は、アプリケーションプログラムであり、取引処理について記述されている。仮想POSアプリAP21は、店舗毎、あるいは店舗を運営する事業者毎の店舗運営方針に適応して作成された別々のものであってよい。例えば、店舗Aでは、店舗Bでは行われない割引サービスを行うのであるならば、店舗システム100Aで用いられる仮想POSアプリAP21は、当該割引サービスを実現するための情報処理について記述され、店舗システム100Bで用いられる仮想POSアプリAP21は、当該割引サービスを実現するための情報処理について記述されない。
【0046】
また補助記憶ユニット23の記憶領域の一部は、データベース群DB11に代えて取引データベースDB21として使用される。取引データベースDB21は、店内で買い回り中である客との取引に関連付けられたデータレコードの集合である。取引データベースDB21のデータレコードには、取引コードと、購入商品として登録済みの商品に関する商品データとを含む。取引コードは、取引の個々を識別するために取引毎に設定された一意の識別コードである。商品データは、商品コード、商品名、価格及び個数などを表す。取引データベースDB21の構造は、店舗毎、あるいは店舗を運営する事業者毎の店舗運営方針に適応して個別に定められてよい。
【0047】
図4はモバイルコントローラ3の要部回路構成を示すブロック図である。
モバイルコントローラ3は、プロセッサ31、メインメモリ32、補助記憶ユニット33、通信インタフェース34及び伝送路35を含む。プロセッサ31、メインメモリ32、補助記憶ユニット33及び通信インタフェース34は、伝送路35を介して通信可能とされている。そして、プロセッサ31、メインメモリ32及び補助記憶ユニット33が伝送路35により接続されていることによって、モバイルコントローラ3を制御するためのコンピュータが構成される。なお、プロセッサ31、メインメモリ32、補助記憶ユニット33、通信インタフェース34及び伝送路35の機能の概略は、プロセッサ11、メインメモリ12、補助記憶ユニット13、通信インタフェース14及び伝送路15と同等であるので、その説明は省略する。
【0048】
ただし補助記憶ユニット33は、店舗管理アプリAP11に代えて取引管理アプリAP31を記憶する。取引管理アプリAP31は、アプリケーションプログラムであり、管理処理及び仲介処理について記述されている。取引管理アプリAP31は、各店舗システム100で共通である。ただし、取引管理アプリAP31に基づく情報処理のための各種の設定は、店舗システム100毎にカスタマイズされてもよい。
【0049】
また補助記憶ユニット23の記憶領域の一部は、データベース群DB11に代えて取引管理データベースDB31及び登録データベースDB32として使用される。これら取引管理データベースDB31及び登録データベースDB32の構造は、各店舗システム100で共通である。
【0050】
図5は取引管理データベースDB31に含まれるデータレコードDR1の主要なデータ構造を示す模式図である。
取引管理データベースDB31は、店内で客が利用するユーザ端末300又はカート端末400に関連付けられたデータレコードDR1の集合である。このため、店内に存在する客が1人であるときには、取引管理データベースDB31はデータレコードDR1を1つ含む。また店内に存在する客が1人も居ないときには、取引管理データベースDB31はデータレコードDR1を含まない。そしてデータレコードDR1は、フィールドF11,F12,F13,F14を含む。
【0051】
フィールドF11には、関連付けられたユーザ端末300又はカート端末400を識別するための端末コードがセットされる。端末コードとしては例えば、ユーザ端末300又はカート端末400として利用される通信端末の個々を識別するために通信端末毎に設定された一意の識別コードを用いることができる。あるいは端末コードとしては例えば、後述するスマホPOSアプリ又はカート端末アプリをユーザ端末300又はカート端末400にインストールする際に当該スマホPOSアプリ又はカート端末アプリに対して設定される識別コードを用いることができる。フィールドF12には、関連付けられたユーザ端末300又はカート端末400を使用している客を他の客と識別するための会員コードがセットされる。フィールドF13には、関連付けられたユーザ端末300又はカート端末400を用いて行われる取引の取引コードがセットされる。フィールドF14には、電子レシートIDが必要に応じてセットされる。なお、データレコードDR1には、フィールドF11~F14とは別のデータがセットされる別のフィールドが含まれてもよい。
【0052】
図6は登録データベースDB32に含まれるデータレコードDR2の主要なデータ構造を示す模式図である。
登録データベースDB32は、店内で買い回り中である客との取引に関連付けられたデータレコードDR2の集合である。そしてデータレコードDR2は、フィールドF21,F22を含む。データレコードDR1はまた、フィールドF23,F24,…を含み得る。
【0053】
フィールドF21には、関連付けられた取引の取引コードがセットされる。この取引コードは、関連付けられた取引で使用されているユーザ端末300に関連付けられたデータレコードDR1のフィールドF12にセットされた取引コードと同一である。フィールドF22には、関連付けられた取引に関して試みられた商品登録に関する登録データがセットされる。登録データについては、後述する。
【0054】
データレコードDR2には、関連付けられた取引に関して2つ以上の購入商品の登録が試みられている場合に、フィールドF23以降のフィールドが含まれる。そしてフィールドF23以降のフィールドにも、フィールドF12と同様な登録データがセットされる。
【0055】
図7はユーザ端末300の要部回路構成を示すブロック図である。
ユーザ端末300は、プロセッサ301、メインメモリ302、補助記憶ユニット303、タッチパネル304、カメラ305、無線通信ユニット306、モバイル通信ユニット307及び伝送路308等を備える。プロセッサ301と、メインメモリ302、補助記憶ユニット303、タッチパネル304、カメラ305及びモバイル通信ユニット307とは、伝送路308を介して通信可能とされている。そして、プロセッサ301、メインメモリ302及び補助記憶ユニット303が伝送路308により接続されていることによって、ユーザ端末300を制御するためのコンピュータが構成される。なお、プロセッサ301、メインメモリ302、補助記憶ユニット303及び伝送路308の機能の概略は、プロセッサ11、メインメモリ12、補助記憶ユニット13及び伝送路15と同等であるので、その説明は省略する。
【0056】
タッチパネル304は、ユーザ端末300の入力デバイス及び表示デバイスとして機能する。
カメラ305は、光学系及びイメージセンサを含み、光学系により形成される視野内の像を表した画像データをイメージセンサにより生成する。
【0057】
無線通信ユニット306は、アクセスポイント6との間で無線通信プロトコルに従った無線通信によりデータを授受する。無線通信ユニット306としては、例えばIEEE802.11規格に準拠した周知の通信デバイスを利用できる。
モバイル通信ユニット307は、通信ネットワーク700を介したデータ通信のインタフェースである。モバイル通信ユニット307としては、例えば移動通信網を介したデータ通信を行うための周知の通信デバイスを利用できる。
【0058】
なお補助記憶ユニット303は、情報処理プログラムの1つであるスマホPOSアプリAP301を記憶する。スマホPOSアプリAP301は、アプリケーションプログラムであり、ユーザ端末300を店舗システム100のユーザインタフェースとして機能させるための後述する情報処理(以下、スマホUI処理と称する)について記述されている。スマホPOSアプリAP301は、複数のユーザ端末300で共通に利用される。
【0059】
図8はカート端末400の要部回路構成を示すブロック図である。
カート端末400は、タブレットコンピュータ401、スキャナ402、リーダ403及びカメラ404を備える。
【0060】
タブレットコンピュータ401は、プロセッサ401a、メインメモリ401b、補助記憶ユニット401c、無線通信ユニット401d、タッチパネル401e、サウンドユニット401f、インタフェースユニット401g及び伝送路401hを含む。プロセッサ401a、メインメモリ401b、補助記憶ユニット401c、無線通信ユニット401d、タッチパネル401e、サウンドユニット401f及びインタフェースユニット401gは、伝送路401hを介して通信可能とされている。そして、プロセッサ401a、メインメモリ401b及び補助記憶ユニット401cが伝送路401hにより接続されていることによって、カート端末400を制御するためのコンピュータが構成される。なお、プロセッサ401a、メインメモリ401b、補助記憶ユニット401c、タッチパネル401e、無線通信ユニット401d及び伝送路401hの機能の概略は、プロセッサ11、メインメモリ12、補助記憶ユニット13、タッチパネル304、無線通信ユニット306及び伝送路15と同等であるので、その説明は省略する。
【0061】
ただし補助記憶ユニット401cは、店舗管理アプリAP11に代えてカート端末アプリAP401を記憶する。カート端末アプリAP401は、アプリケーションプログラムであり、カート端末400を店舗システム100のユーザインタフェースとして機能させるための後述する情報処理(以下、カートUI処理と称する)について記述されている。
カート端末アプリAP401は、複数のカート端末400で共通に利用される。
【0062】
サウンドユニット401fは、音声及びメロディなどの各種サウンドを出力する。
インタフェースユニット401gには、スキャナ402、リーダ403及びカメラ404が接続される。インタフェースユニット401gは、これらスキャナ402、リーダ403及びカメラ404とプロセッサ401aとのデータの授受をインタフェースする。インタフェースユニット401gとしては、既存のUSB(universal serial bus)コントローラ等を利用できる。
【0063】
スキャナ402は、バーコード又は二次元データコード等のコードシンボルを読み取る。スキャナ402は、主として、商品に示され、当該商品の商品コード等を表したコードシンボルを読み取るために使用される。スキャナ402は、会員カードに示されるか、又は携帯端末で表示され、会員コードなどを表したコードシンボルを読み取るために使用されてもよい。スキャナ402は、読み取ったコードシンボルが表すデータを出力する。スキャナ402は、レーザ光の走査によりコードシンボルを読み取るタイプであってもよいし、撮像デバイスで撮像した画像からコードシンボルを読み取るタイプであってもよい。
【0064】
リーダ403は、記録媒体に記録されたデータを読み取り、出力する。リーダ403は、記録媒体が磁気カードの場合は磁気カードリーダであり、接触式ICカードの場合にはICカードリーダである。非接触式ICカード又はスマートフォン等のようにRFID(radio frequency identification)を使用した記録媒体の場合には、RFIDリーダがリーダ403として使用される。
カメラ404は、ショッピングカートC1に載せられた買物カゴの中を俯瞰撮影する。
そしてカメラ404は、撮影した画像を表した画像データを出力する。
【0065】
さて、店舗サーバ1、仮想POSサーバ2又はモバイルコントローラ3のハードウェアとしては、例えば汎用のサーバ装置を用いることができる。そして店舗サーバ1、仮想POSサーバ2又はモバイルコントローラ3の譲渡は一般に、補助記憶ユニット13,23又は33に店舗管理アプリAP11、仮想POSアプリAP21又は取引管理アプリAP31がそれぞれ記憶され、データベース群DB11、取引データベースDB21、又は取引管理データベースDB31及び登録データベースDB32が記憶されない状態にて行われる。しかし、店舗管理アプリAP11、仮想POSアプリAP21又は取引管理アプリAP31が補助記憶ユニット13,23又は33に記憶されない状態、あるいは同種の別バージョンのアプリケーションプログラムが補助記憶ユニット13,23又は33に記憶された状態のハードウェアと、店舗管理アプリAP11、仮想POSアプリAP21又は取引管理アプリAP31とが個別に譲渡されてもよい。そして、任意の作業者の操作に応じて、補助記憶ユニット13,23又は33に店舗管理アプリAP11、仮想POSアプリAP21又は取引管理アプリAP31が書き込まれることによって、店舗サーバ1、仮想POSサーバ2又はモバイルコントローラ3が構成されてもよい。店舗管理アプリAP11、仮想POSアプリAP21又は取引管理アプリAP31の譲渡は、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介した通信により行うことができる。取引データベースDB21、又は取引管理データベースDB31及び登録データベースDB32は、プロセッサ11,21又は31が店舗管理アプリAP11、仮想POSアプリAP21又は取引管理アプリAP31に基づく情報処理を実行することで、補助記憶ユニット13,23又は33内に構成される。なお、店舗管理アプリAP11及びデータベース群DB11に含まれるデータベースの少なくとも一部が、メインメモリ12に記憶されてもよい。仮想POSアプリAP21及び取引データベースDB21の少なくとも一部が、メインメモリ22に記憶されてもよい。取引管理アプリAP31、取引管理データベースDB31及び登録データベースDB32の少なくとも一部が、メインメモリ32に記憶されてもよい。
【0066】
次に以上のように構成された取引処理システムの動作について説明する。なお、以下に説明する各種の処理の内容は一例であって、一部の処理の順序の変更、一部の処理の省略、あるいは別の処理の追加などは適宜に可能である。例えば、以下の説明では、本実施形態の特徴的な動作を分かり易く説明するために、一部の処理についての説明を省略している。例えば、何らかのエラーが発生した場合に、そのエラーに対処するための処理が行われる場合があるが、そのような処理の一部については記載を省略している。
【0067】
ユーザ端末300を用いる客に取引処理システムの動作により提供されるサービスをスマホPOSサービスと称する。またカート端末400を用いる客に取引処理システムの動作により提供されるサービスをカートPOSサービスと称する。
スマホPOSサービスを利用するためにユーザ端末300が店舗システム100とデータを授受するが、そのための通信にアクセスポイント6との無線通信及び通信ネットワーク700との無線通信とのいずれを利用するかは、チェックインデータに含まれるフラグの状態により決まる。しかしながら以下においては説明の簡略化のために、アクセスポイント6との無線通信を用いる場合について説明する。また、会計機5で会計を行わせるために仮想POSサーバ2から会計機5へのデータ転送を、会計機5からモバイルコントローラ3にデータ転送を要求するモードと、会計機5からの要求無しにモバイルコントローラ3から会計機5へとデータ転送するモードとのいずれを利用するかは、チェックインデータに含まれるフラグの状態により決まる。しかしながら以下においては説明の簡略化のために、会計機5からモバイルコントローラ3にデータ転送を要求するモードが固定的に用いられることとして説明する。
【0068】
客は、スマホPOSサービスを利用するためには、自らが所有するスマートフォン等にスマホPOSアプリAP301をインストールして、ユーザ端末300として利用可能としておく。あるいは、客は、タブレット端末などにスマホPOSアプリAP301をインストールして構成されたユーザ端末300を店舗にて借りる。そして客は、スマホPOSアプリAP301に基づく情報処理を起動した状態のユーザ端末300を持って、店舗システム100が設けられたいずれかの店舗へと入る。
【0069】
客は、スマホPOSサービスを利用した取引の結果を電子レシートサービスにより確認したい場合は、電子レシートサービスの利用登録を行っておく。この利用登録によって客には、電子レシートIDが割り当てられる。そして客は、自らが所有するユーザ端末300に、自らに割り当てられた電子レシートIDを記憶させておく。また、客を管理するために店舗側で管理される会員データベースにて、ポイントIDに関連付けて電子レシートIDを記憶する場合がある。この場合には客は、自らが所有するユーザ端末300に、自らに割り当てられたポイントIDを記憶させておくのでもよい。
【0070】
ユーザ端末300にてプロセッサ301は、スマホPOSアプリAP301に基づいた設定処理により、電子レシートID又はポイントIDを取得し、スマホPOSアプリAP301に関する登録データとして補助記憶ユニット303に保存する。プロセッサ301は例えば、操作者が電子レシートIDの登録を要求したならば、電子レシートサーバ600にて利用者を認証するためのログインIDとログインパスワードとを操作者に指定させる。そしてプロセッサ301は、指定されたログインID及びログインパスワードを用いて電子レシートサーバ600にログインした上で、当該ログインIDで識別される利用者の電子レシートIDを取得し、補助記憶ユニット303に保存する。プロセッサ301は例えば、電子レシートIDを操作者に指定させ、指定された電子レシートIDを補助記憶ユニット303に保存するのでもよい。またプロセッサ301は例えば、操作者がポイントIDの登録を要求したならば、ポイントIDを操作者に指定させ、指定されたポイントIDを補助記憶ユニット303に保存する。なお、ポイントIDとしては、客に配布されるポイントカードに付与されたポイントカード番号などが用いられる。電子レシートID及びポイントIDのそれぞれの登録が順次に要求された場合には、プロセッサ301は上記の処理を個別に実行し、電子レシートID及びポイントIDの双方を補助記憶ユニット303に記憶させておく。ただし、プロセッサ301は、予め定められた一方のみを記憶させておくようにしてもよい。
【0071】
図9図10図11及び図12はプロセッサ301がスマホPOSアプリAP301に従って実行するスマホUI処理のフローチャートである。
まず図9に示すACT101としてプロセッサ301は、メインメニュー画面をタッチパネル304に表示させる。メインメニュー画面は、スマホPOSアプリAP301に従って行うべきいくつかの処理のいずれかの指定を受けるための画面である。メインメニュー画面には、買い物の開始を指定するためのGUI(graphical user interface)要素を含む、複数のGUI要素が配置されている。なおGUI要素は、例えばソフトキーである。
【0072】
ACT102としてプロセッサ301は、買い物の開始が指定されたか否かを確認する。そしてプロセッサ301は、該当の指定が確認できないならばNOと判定し、ACT103へと進む。
ACT103としてプロセッサ301は、買い物の開始以外の指定がなされたか否かを確認する。そしてプロセッサ301は、該当の指定が確認できないならばNOと判定し、ACT102へと戻る。
かくしてプロセッサ301はACT102及びACT103としては、メインメニュー画面での何らかの指定がなされるのを待ち受ける。そしてプロセッサ301は、買い物の開始以外の指定がなされたならば、ACT103にてYESと判定し、指定された処理へと進む。なおこの場合のプロセッサ301の処理についての説明は省略する。前述の電子レシートID又はポイントIDを登録するためのプロセッサ301の処理は、ここでの処理の1つであってもよい。
【0073】
客は、店舗に入って買い物を開始する場合には、メインメニュー画面にて買い物の開始を指定するための予め定められた操作を行う。当該操作が例えばタッチパネル304にて検出されると、プロセッサ301はACT102にてYESと判定し、ACT104へと進む。
ACT104としてプロセッサ301は、チェックイン用のスキャン画面をタッチパネル304に表示させる。チェックイン用のスキャン画面は、チェックイン用の2次元コードTC1を読み取るように客に促す画面である。プロセッサ301は例えば、カメラ305を起動し、これによりカメラ305で得られた画像に、2次元コードTC1を読み取るように客に促す文字メッセージと、2次元コードTCを翳すべき位置の目安を示すラインとを重ねてスキャン画面を生成する。
【0074】
客は、スキャン画面がタッチパネル304に表示されたならば、店舗の入口付近に掲示されている2次元コードTC1がスキャン画面に映り込むようにカメラ305を2次元コードTC1に向ける。
【0075】
ACT105としてプロセッサ301は、2次元コードが読み取れるのを待ち受ける。このときにプロセッサ301は、カメラ305で得られる画像を繰り返し解析し、2次元コードの読み取りを試みる。この2次元コードの読み取りは、スマホPOSアプリAP301に基づく処理として行われてもよいし、2次元コードの読み取り用の別のアプリケーションプログラムに基づく処理として行われてもよい。そしてプロセッサ301は、2次元コードが読み取れたならばYESと判定し、ACT106へと進む。
【0076】
ACT106としてプロセッサ301は、読み取った2次元コードが表すデータがチェックインデータであるか否かを確認する。そしてプロセッサ301は、チェックインデータでなければNOと判定し、ACT105へと戻る。このときにプロセッサ301は、誤った2次元コードが読み取られたことを客に通知する画面をタッチパネル304に表示させてもよい。
【0077】
プロセッサ301は、読み取った2次元コードが表すデータがチェックインデータであることが確認できたならば、ACT106にてYESと判定し、ACT107へと進む。
ACT107としてプロセッサ301は、読み取ったチェックインデータを、メインメモリ302又は補助記憶ユニット303に保存する。
【0078】
ACT108としてプロセッサ301は、モバイルコントローラ3に対して、チェックインを要求する。具体的にはプロセッサ301は、チェックインデータに表されたデータに基づいて、無線通信ユニット306とアクセスポイント6との無線通信を確立する。例えば店舗Aにて2次元コードTC1Aに客によってカメラ305が向けられたならば、2次元コードTC1Aが表すチェックインデータに基づいてプロセッサ301は、店舗システム100Aに設けられたアクセスポイント6との無線通信を確立する。そしてプロセッサ301は、アクセスポイント6との無線通信を介して、チェックインを要求するための要求データをモバイルコントローラ3に宛てて送信する。上述のように店舗システム100Aに設けられたアクセスポイント6との無線通信が確立している場合には、当該の要求データは、店舗システム100Aに設けられたアクセスポイント6及び店内通信ネットワーク7を介して、店舗システム100Aに設けられたモバイルコントローラ3へと伝送される。なおプロセッサ301は、チェックインを要求するための要求データには、チェックインの要求であることを識別するための識別データと、端末コードとを含める。プロセッサ301は、客がスマホPOSサービスの利用登録者であり、会員コードを有している場合には、その会員コードも要求データに含める。会員コードは例えば、ユーザ端末300の補助記憶ユニット303で記憶される。プロセッサ301は、ポイントIDが補助記憶ユニット303に記憶されているならば、当該ポイントIDも要求データに含める。プロセッサ301は、例えば客を認証するためのデータなどのその他のデータを要求データに含めてもよい。
【0079】
なお、以降において説明するユーザ端末300からモバイルコントローラ3への各種の要求は、上記と同様に、要求の理由を識別するための識別データを含んだ要求データをアクセスポイント6及び店内通信ネットワーク7を介してユーザ端末300からモバイルコントローラ3へと送ることにより実現される。
【0080】
カート端末400が起動されるとプロセッサ401aは、カート端末アプリAP401に従って、以下に説明するカートUI処理を実行する。
図13はプロセッサ401aが実行するカートUI処理のフローチャートである。
【0081】
ACT161としてプロセッサ401aは、起動されたことをモバイルコントローラ3に対して通知する。プロセッサ401aは、無線通信ユニット401dとアクセスポイント6との無線通信を介して、起動通知のための通知データをモバイルコントローラ3に宛てて送信する。当該の通知データは、アクセスポイント6及び店内通信ネットワーク7を介して、モバイルコントローラ3へと伝送される。
ACT162としてプロセッサ401aは、利用開始操作が行われるのを待ち受ける。
このときプロセッサ401aは、取り付け先のショッピングカートC1を用いた買い物が開始されるのを待機している状態である。プロセッサ401aは例えば、この待機状態においては、開始ボタンを表した画面をタッチパネル401eに表示させておく。客は、カートPOSサービスを利用する場合には、カート置き場に置かれているショッピングカートC1の一台を取り出し、そのショッピングカートC1に取り付けられているカート端末400に対して利用開始のための予め定められた操作を行う。客は、会員であるならば、会員カードに記録された会員コードを、スキャナ402又はリーダ403に読み取らせる。客は、会員ではないならば、上記の開始ボタンを操作する。そしてプロセッサ401aは、これらの操作が行われたならば、利用開始のための操作が行われたとしてYESと判定して、ACT163へと進む。
【0082】
ACT163としてプロセッサ401aは、モバイルコントローラ3に対して、チェックインを要求する。具体的にはプロセッサ401aは、無線通信ユニット401dとアクセスポイント6との無線通信を介して、チェックインを要求するための要求データをモバイルコントローラ3に宛てて送信する。当該の要求データは、アクセスポイント6及び店内通信ネットワーク7を介してモバイルコントローラ3へと伝送される。なおプロセッサ401aは、チェックインを要求するための要求データには、チェックインの要求であることを識別するための識別データと、自らが搭載されているカート端末400を識別するための端末コードと、前述の会員コードとを含める。なおプロセッサ401aは、開始ボタンがタッチされた場合には、非会員用として予め定められた会員コードを仮想POSサーバに通知する。非会員用の会員コードは、複数の客に対して共通であってもよいし、異ならせてもよい。当該の通知データは、アクセスポイント6及び店内通信ネットワーク7を介して、モバイルコントローラ3へと伝送される。
【0083】
なお、以降において説明するカート端末400からモバイルコントローラ3への各種の要求は、上記と同様に、要求の理由を識別するための識別データを含んだ要求データをアクセスポイント6及び店内通信ネットワーク7を介してユーザ端末300からモバイルコントローラ3へと送ることにより実現される。
【0084】
モバイルコントローラ3においてプロセッサ31は、取引管理アプリAP31に従って管理処理を実行する。
図14はプロセッサ31による管理処理のフローチャートである。
【0085】
ACT181としてプロセッサ31は、起動通知がなされたか否かを確認する。そしてプロセッサ31は、該当の通知を確認できないならばNOと判定し、ACT182へと進む。
ACT182としてプロセッサ31は、チェックイン要求がなされたか否かを確認する。そしてプロセッサ31は、該当の要求を確認できないならばNOと判定し、ACT183へと進む。
ACT183としてプロセッサ31は、仲介処理が終了したか否かを確認する。そしてプロセッサ31は、仲介処理の終了を確認できないならばNOと判定し、ACT181へと戻る。
かくしてプロセッサ31はACT181~ACT183としては、起動通知、チェックイン要求又は仲介処理の終了を待ち受ける。
【0086】
プロセッサ31は、前述のようにカート端末400から送信された起動通知のための通知データが通信インタフェース34により受信されたならば、ACT181にてYESと判定し、ACT184へと進む。
ACT184としてプロセッサ31は、カートリストを更新する。カートリストは、稼働中であるカート端末400の端末コードのリストを表したデータである。カートリストは、メインメモリ32又は補助記憶ユニット33に記憶される。プロセッサ31は例えば、上記の通知データに含まれた端末コードを含むようにカートリストを更新する。プロセッサ31は、カート端末400のSSIDなどのカート端末400に関する種々のデータをカート端末400から取得して、カートリストに端末コードに関連付けて記述してもよい。そしてプロセッサ31はこののち、ACT181~ACT183の待受状態に戻る。
なお具体的な説明は省略するが、プロセッサ31は、カート端末400の動作停止を検知した場合には、当該カート端末400の端末コードを抹消するようにカートリストを更新する。
【0087】
プロセッサ31は、前述のようにユーザ端末300又はカート端末400から送信されたチェックイン要求のための要求データが通信インタフェース34により受信されたならば、ACT182にてYESと判定し、ACT185へと進む。
ACT185としてプロセッサ31は、仮想POSサーバ2が新たな取引処理を開始可能であるか否かを確認する。後述するように、仮想POSサーバ2は複数の取引処理を並行して実行する。しかしながら、プロセッサ21の処理能力などのリソースの制限のために、並行して実行可能な取引処理の数(以下、最大数と称する)は限られる。プロセッサ31は例えば、その時点でプロセッサ21が実行している取引処理の総数が最大数未満であるならば、開始可能としてYESと判定し、ACT186へと進む。
【0088】
ACT186としてプロセッサ31は、チェックインを要求しているのがカート端末400であるか否かを確認する。プロセッサ31は例えば、要求データに含まれた端末コードがカートリストに含まれているか否かを確認する。そしてプロセッサ31は、該当の端末コードがカートリストに含まれていないならば、チェックインを要求しているのがユーザ端末300であるとしてNOと判定し、ACT187へと進む。
プロセッサ31は、要求データに含まれる種別データに基づいて、チェックインを要求しているのがユーザ端末300及びカート端末400のいずれであるかを確認してもよい。ただしこの場合は、ユーザ端末300のプロセッサ301及びカート端末400のプロセッサ401aの少なくとも一方が、チェックインを要求するための要求データにユーザ端末300及びカート端末400を区別するための種別データを含めるようにする。
ACT187としてプロセッサ31は、ユーザ端末300に関する取引処理の開始が許容される状態であるか否かを確認する。プロセッサ31は例えば、ユーザ端末300に関して仮想POSサーバ2で実行されている取引処理の数が予め定められた許容数であるならばNOと判定し、ACT188へと進む。なおプロセッサ31は例えば、ここでの判断のためには、ユーザ端末300を対象とした仲介処理に関してメインメモリ32又は補助記憶ユニット33に後述のように記憶される実行数を許容数と比較する。
【0089】
一例としては、店舗毎に、店舗システム100の管理者などが、店舗内で同時に稼働させるカート端末400の制限台数を決める。プロセッサ31は、上記の管理者などの操作に応じて制限台数を入力し、当該の制限台数をメインメモリ32又は補助記憶ユニット33に記憶させる。なおプロセッサ31は、メインメモリ32又は補助記憶ユニット33に制限台数が既に記憶されているならば、新たに入力した制限台数で上書きする。そしてプロセッサ31は、最大数から制限台数を減じて求まる数を許容数とする。具体的には、最大数が24である場合に、制限台数を15とするならば、許容数は9とされる。この例の場合、制限台数のカート端末400のそれぞれを対象端末としての取引処理を並行実行できることが常に保証されることになる。
【0090】
ただし制限台数は、例えば取引管理アプリAP31の作成者などによって定められ、各店舗共通で固定的に適用されてもよい。また許容数は、例えば取引管理アプリAP31の作成者などによって定められ、各店舗共通で固定的に適用されてもよい。また許容数は、カートリストに記述されている端末コードの数、つまり稼働中のカート端末400の数を、最大数から減じた数としてもよい。また許容数は、制限台数又は稼働中のカート端末400の数に1未満の係数を乗じて、あるいは一定数を減じて求まる数に適宜の端数処理を施して求まる整数値を最大数から減じた数としてもよい。また制限台数に代えて、最大数未満の数として制限台数とは無関係に定められた接続保証数をメインメモリ32又は補助記憶ユニット33に記憶させておき、最大数から接続保証数を減じて求まる数を許容数としてもよい。
【0091】
プロセッサ31は、ACT187にてNOと判定した場合の他、ACT185にてNOと判定した場合にもACT188へと進む。なおプロセッサ31は、プロセッサ21により実行されている取引処理の総数が最大数と一致するならば、開始可能ではないとしてACT185にてNOと判定する。プロセッサ31は例えば、後述するようにメインメモリ32又は補助記憶ユニット33に記憶される2つの実行数の和として、上記の総数を求める。
ACT188としてプロセッサ31は、チェックインの要求元であるユーザ端末300又はカート端末400に対して、チェックインできない旨のエラー通知を行う。そしてプロセッサ31はこののち、ACT181~ACT183の待受状態に戻る。つまりプロセッサ31は、仮想POSサーバ2が新たな取引処理を開始可能でない状態でユーザ端末300又はカート端末400からなされたチェックイン要求、あるいはユーザ端末300に関する取引処理の実行数が許容数に到達している状態でユーザ端末300からなされたチェックイン要求は拒否する。
【0092】
プロセッサ31は、仮想POSサーバ2が新たな取引処理を開始可能であり、かつチェックイン要求がカート端末400からである場合には、ACT186にてYESと判定し、ACT189へと進む。なおプロセッサ31は例えば、要求データに含まれた端末コードがカートリストに含まれている場合に、チェックイン要求がカート端末400からであるとしてACT186にてYESと判定する。またプロセッサ31は、仮想POSサーバ2が新たな取引処理を開始可能であり、チェックイン要求がユーザ端末300からであるものの、ユーザ端末300に関する取引処理の実行数が許容数未満である場合には、ACT187にてYESと判定してACT189へと進む。
ACT189としてプロセッサ31は、チェックインを要求したユーザ端末300又はカート端末400を対象とした仲介処理を開始する。なお、仲介処理は、この管理処理とは例えば別スレッドの処理として、管理処理に並行してプロセッサ31が実行する。なおプロセッサ31は、別のユーザ端末300又はカート端末400を対象とした仲介処理を既に実行中であるならば、その仲介処理とも並行して新たな仲介処理を開始する。つまりプロセッサ31は、複数の仲介処理を並行して実行する場合がある。
【0093】
ACT190としてプロセッサ31は、仲介処理の実行数を増加する。プロセッサ31は例えば、ユーザ端末300を対象とした仲介処理の実行数と、カート端末400を対象とした仲介処理の実行数とを、例えばメインメモリ12又は補助記憶ユニット13に記憶させることで管理する。そしてプロセッサ31は、ACT189にてユーザ端末300を対象とした仲介処理を開始したならば、ユーザ端末300を対象とした仲介処理の実行数を1つ増加する。またプロセッサ31は、ACT189にてカート端末400を対象とした仲介処理を開始したならば、カート端末400を対象とした仲介処理の実行数を1つ増加する。そしてプロセッサ31はこののち、ACT181~ACT183の待受状態に戻る。
【0094】
プロセッサ31は、上述のように開始させた仲介処理が終了すると、ACT183にてYESと判定し、ACT191へと進む。
ACT191としてプロセッサ31は、実行数を減少する。プロセッサ31は例えば、終了した仲介処理がユーザ端末300を対象としていたならば、ユーザ端末300を対象とした仲介処理の実行数を1つ減少する。またプロセッサ31は、終了した仲介処理がカート端末400を対象としていたならば、カート端末400を対象とした仲介処理の実行数を1つ減少する。そしてプロセッサ31はこののち、ACT181~ACT183の待受状態に戻る。
【0095】
図15及び図16はプロセッサ31による仲介処理のフローチャートである。
プロセッサ31は、前述の通り、複数のユーザ端末300又はカート端末400をそれぞれ対象として仲介処理を複数並行して実行する場合がある。以下の仲介処理の説明において、単にユーザ端末300又はカート端末400と記す場合は、その仲介処理の対象となっているユーザ端末300又はカート端末400を指す。また仲介処理の対象となっているユーザ端末300又はカート端末400を区別する必要がない場合は、対象端末と記す。
【0096】
図15のACT201としてプロセッサ31は、チェックイン処理を行う。プロセッサ31は例えば、仮想POSサーバ2に取引の開始を要求し、取引コードの通知を受ける。そしてプロセッサ31は、新たなデータレコードDR1を取引管理データベースDB31に追加する。プロセッサ31は、要求データに含まれた端末コードを、新たなデータレコードDR1のフィールドF11にセットする。プロセッサ31は、要求データに会員コードが含まれるならば、当該会員コードを、新たなデータレコードDR1のフィールドF12にセットする。プロセッサ31は、上記の通知された取引コードを、新たなデータレコードDR1のフィールドF13にセットする。プロセッサ31は、要求データにポイントIDが含まれるならば、このポイントIDに関連付けられた電子レシートIDの取得を試みる。つまりプロセッサ31は例えば、店舗サーバ1にアクセスし、データベース群DB11に含まれる利用者データベースを確認し、ポイントIDに電子レシートIDが関連付けられているならば、その電子レシートIDを取得する。そしてプロセッサ31は、このように電子レシートIDを取得できたならば、その電子レシートIDを、新たなデータレコードDR1のフィールドF14にセットする。これにより、対象端末を用いて行われる取引の管理が開始される。
【0097】
仮想POSサーバ2においてプロセッサ21は、取引の開始がモバイルコントローラ3から要求されたならば、仮想POSアプリAP21に従って取引処理を開始する。
図18はプロセッサ21による取引処理のフローチャートである。
【0098】
プロセッサ21は、取引の開始が要求される毎に、当該取引処理を開始する。別の取引処理を既に実行している場合には、それに並行して新たな取引処理を開始する。つまりプロセッサ21は、モバイルコントローラ3にて仲介処理が複数並行して実行されている場合には、それら複数の仲介処理のそれぞれに対応する複数の取引処理を並行して実行する。
【0099】
つまりプロセッサ31は、端末装置としてのユーザ端末300又はカート端末400からの要求に応じて仲介処理を開始することにより、要求元の端末装置からの指示に応じた取引処理を仮想POSサーバ2のプロセッサ21に開始させる。ただしプロセッサ31は、要求元の端末装置が第1の種類に属する端末装置としてのユーザ端末300であって、予め定められた許容数の取引処理がユーザ端末300を対象端末としてプロセッサ21により既に実行中であるならば、上記の要求に応じての取引処理を開始させない。
【0100】
ACT301としてプロセッサ21は、取引開始処理を実行する。この取引開始処理においてプロセッサ21は、予め定められたルールに従って取引コードを決定し、その取引コードで識別される取引での購入商品を管理するための新たなデータレコードを含むように取引データベースDB21を更新する。そしてプロセッサ21は、上記の決定した取引コードをモバイルコントローラ3に通知する。
【0101】
ACT302としてプロセッサ21は、購入商品の変更が要求されたか否かを確認する。そしてプロセッサ21は、該当の要求を確認できないならばNOと判定し、ACT303へと進む。
ACT303としてプロセッサ21は、取引の取消が要求されたか否かを確認する。そしてプロセッサ21は、該当の要求を確認できないならばNOと判定し、ACT304へと進む。
ACT304としてプロセッサ21は、決済が要求されたか否かを確認する。そしてプロセッサ21は、該当の要求を確認できないならばNOと判定し、ACT305へと進む。
ACT305としてプロセッサ21は、決済データの転送が要求されたか否かを確認する。そしてプロセッサ21は、該当の要求を確認できないならばNOと判定し、ACT306へと進む。
ACT306としてプロセッサ21は、終了が指示されたか否かを確認する。そしてプロセッサ21は、該当の指示を確認できないならばNOと判定し、ACT302へと戻る。
かくしてプロセッサ21はACT302~ACT306としては、変更、取消、決済又は転送のいずれかが要求されるか、終了が指示されるのを待ち受ける。
【0102】
さて、モバイルコントローラ3にてプロセッサ31は、チェックイン処理を終えたならば、図15中のACT202へと進む。
ACT202としてプロセッサ31は、チェックイン処理を正常に完了したか否かを確認する。そしてプロセッサ31は、何らかの異常によりチェックイン処理を正常に完了することができなかったならばNOと判定し、ACT203へと進む。
ACT203としてプロセッサ31は、対象端末に対してエラーを通知する。プロセッサ31は例えば、エラー通知のための通知データを、店内通信ネットワーク7及びアクセスポイント6を介して対象端末へと送信する。プロセッサ31は、エラーの通知であることを識別するための識別データを通知データに含める。プロセッサ31は、エラーの原因を表すエラーコードを通知データに含めてもよい。そしてプロセッサ31は、これをもって仲介処理を終了する。
【0103】
なお、以降において説明するモバイルコントローラ3から対象端末への各種の通知は、上記と同様に、通知の理由を識別するための識別データを含んだ通知データを店内通信ネットワーク7及びアクセスポイント6を介してモバイルコントローラ3から対象端末へと送ることにより実現される。
【0104】
プロセッサ31は一方、チェックイン処理を正常に完了することができたならばACT202にてYESと判定し、ACT204へと進む。
ACT204としてプロセッサ31は、対象端末に対してチェックイン完了を通知する。
【0105】
ユーザ端末300においてプロセッサ301は、図9中のACT108にてチェックインを要求した後には、ACT109へと進む。
ACT109としてプロセッサ301は、チェックイン完了が通知されたか否かを確認する。そしてプロセッサ301は、該当の通知を確認できないならばNOと判定し、ACT110へと進む。
ACT110としてプロセッサ301は、チェックインのエラーが通知されたか否かを確認する。そしてプロセッサ301は、該当の通知を確認できないならばNOと判定し、ACT109へと戻る。
かくしてプロセッサ301はACT109及びACT110としては、チェックインの完了又はエラーが通知されるのを待ち受ける。そしてプロセッサ301は、図14中のACT188又は図15中のACT203におけるエラー通知のための通知データが無線通信ユニット306により受信されたならばACT110にてYESと判定し、ACT111へと進む。
【0106】
ACT111としてプロセッサ301は、エラー画面をタッチパネル304に表示させる。エラー画面は、チェックインできないことを客に報知するものとして定められた画面である。なおプロセッサ301は例えば、図14中のACT188におけるエラー通知に対しては、店舗が混雑しているためにチェックインできないことを知らせるとともに、さらには暫く時間をおいてチェックインを試みるよう促すエラー画面を表示させる。なおプロセッサ301は、例えばエラー画面中に表したGUI要素の操作などによりエラー画面の表示解消が指示されたならば、ACT101に戻る。
【0107】
プロセッサ301は一方、前述のチェックイン完了の通知のための通知データが無線通信ユニット306により受信されたならばACT109にてYESと判定し、図10中のACT112へと進む。
ACT112としてプロセッサ301は、一覧画面をタッチパネル304に表示させる。一覧画面は、登録済みの購入商品の一覧を表した画面である。
【0108】
図20は一覧画面SC1の一例を示す図である。
一覧画面SC1は、表示エリアAR11,AR12及びボタンBU11,BU12,BU13を含む。表示エリアAR11は、購入商品の総数と、購入商品の代金の総額とを表す。表示エリアAR12は、購入商品の一覧を表す。ボタンBU11は、購入商品の全てを取り消して買い物を中止することを客が宣言するためのソフトキーである。ボタンBU12は、購入商品として登録する商品のスキャンを開始することを客が宣言するためのソフトキーである。ボタンBU13は、会計を開始することを客が宣言するためのソフトキーである。
なお、図20は、まだ購入商品の登録が行われていない状態の一覧画面SC1を示している。このため、表示エリアAR11には総数及び総額としていずれも“0”を表し、表示エリアAR12には何も表さない。
【0109】
図10中のACT113としてプロセッサ301は、商品のスキャン開始が指定されたか否かを確認する。そしてプロセッサ301は、該当の指定が確認できなければNOと判定し、ACT114へと進む。
ACT114としてプロセッサ301は、数量の変更が指定されたか否かを確認する。そしてプロセッサ301は、該当の指定が確認できなければNOと判定し、ACT115へと進む。
ACT115としてプロセッサ301は、買い物の中止が指定されたか否かを確認する。そしてプロセッサ301は、該当の指定が確認できなければNOと判定し、ACT116へと進む。
ACT116としてプロセッサ301は、会計の開始が指定されたか否かを確認する。そしてプロセッサ301は、該当の指定が確認できなければNOと判定し、ACT113へと戻る。
かくしてプロセッサ301はACT113~ACT116としては、スキャン開始、数量、中止及び会計開始のいずれかが指定されるのを待ち受ける。
【0110】
客は、商品を購入商品として登録するならば、一覧画面SC1におけるボタンBU12にタッチするなどの予め定められた操作によってスキャン開始を指定する。これに応じてプロセッサ301は、ACT113にてYESと判定し、ACT117へと進む。
ACT117としてプロセッサ301は、登録画面をタッチパネル304に表示させる。登録画面は、購入商品として登録する商品の商品コードを表したバーコードを読み取るように客に促す画面である。
【0111】
図21は登録画面SC2の一例を示す図である。
登録画面SC2は、表示エリアAR21、メッセージME21及びボタンBU21を含む。表示エリアAR21は、カメラ305で得られた画像を表示する。メッセージME21は、商品のバーコードを読み取るように客に促す文字メッセージである。ボタンBU21は、商品コードのスキャンを中止することを客が宣言するためのソフトキーである。
プロセッサ301は例えば、カメラ305を起動し、これによりカメラ305で得られた画像に、表示エリアAR21の範囲を表すラインと、メッセージME21及びボタンBU21とを表した画像を重ねて登録画面SC2を生成する。
【0112】
図10中のACT118としてプロセッサ301は、バーコードが読み取れたか否かを確認する。このときにプロセッサ301は、カメラ305で得られる画像を解析し、バーコードの読み取りを試みる。このバーコードの読み取りは、スマホPOSアプリAP301に基づく処理として行われてもよいし、バーコードの読み取り用の別のアプリケーションプログラムに基づく処理として行われてもよい。そしてプロセッサ301は、バーコードが読み取れないならばNOと判定し、ACT119へと進む。
ACT119としてプロセッサ301は、スキャンの中止が指定されたか否かを確認する。そしてプロセッサ301は、該当の指定が確認できないならばNOと判定し、ACT118に戻る。
かくしてプロセッサ301はACT118及びACT119としては、バーコードが読み取れるか、スキャン中止が指定されるのを待ち受ける。
【0113】
客は、今回のスキャンは行わずに一覧画面に戻ることを希望する場合には、ボタンBU21にタッチするなどの予め定められた操作によってスキャン中止を指定する。これに応じてプロセッサ301は、ACT119にてYESと判定し、ACT112へと戻る。
【0114】
客は、登録画面がタッチパネル304に表示されたならば、購入商品として登録しようとする商品に表示されたバーコードが表示エリアAR21に映り込むようにカメラ305を商品に向ける。これに応じてバーコードが読み取れたならばプロセッサ301は、ACT118にてYESと判定し、ACT120へと進む。
ACT120としてプロセッサ301は、モバイルコントローラ3に対して登録を要求する。プロセッサ301はここで送信する要求データには、読み取ったバーコードが表すデータ(以下、バーコードデータと称する)を含める。
ACT121としてプロセッサ301は、一覧画面の表示が指示されるのを待ち受ける。
【0115】
プロセッサ301は、ACT113~ACT116の待受状態にあるときに、客が一覧画面SC1における個数を表しているエリアにタッチすると、一覧画面SC1に重ねて個数指定のためのリストボックスを表示させる。そしてこのリストボックスが操作されると、プロセッサ301はこれを数量の指定として受ける。そしてプロセッサ301はこの場合、図10中のACT114にてYESと判定し、図11中のACT122へと進む。
【0116】
ACT122としてプロセッサ301は、指定数が0であるか否かを確認する。そしてプロセッサ301は、指定数が0ではなければNOと判定し、ACT123へと進む。
ACT123としてプロセッサ301は、モバイルコントローラ3に対して数量変更を要求する。プロセッサ301はここで送信する要求データには、数量が指定された商品を特定するための特定データと指定数を含める。特定データは、商品コードでもよいし、購入商品のリスト内で各購入商品を識別するための番号などのようにモバイルコントローラ3でのみ購入商品を特定可能なデータであってもよい。なお、特定コードとして商品コードを用いるならば、プロセッサ31は、一覧画面の表示を指示するための指示データに、各購入商品に関する商品コードを含める。
【0117】
さて、プロセッサ301は、指定数が0であったならば、ACT122にてYESと判定し、ACT124へと進む。
ACT124としてプロセッサ301は、削除画面をタッチパネル304に表示させる。削除画面は、個数を0個とすることが指定された商品が購入商品から削除されることを客に報知する画面である。削除画面は、削除を指定するための削除ボタンと、個数を変更せずに個数の変更を指定する前の状態に戻ることを指定するための戻りボタンとを含む。
【0118】
ACT125としてプロセッサ301は、削除が指定されたか否かを確認する。そしてプロセッサ301は、該当の指定を確認できないならばNOと判定し、ACT126へと進む。
ACT126としてプロセッサ301は、戻りが指定されたか否かを確認する。そしてプロセッサ301は、該当の指定を確認できないならばNOと判定し、ACT125へと戻る。
かくしてプロセッサ301はACT125及びACT126としては、削除又は戻りが指定されるのを待ち受ける。
【0119】
客は、削除を取り止めて、数量の変更を指定する前の状態に戻ること望むならば、削除画面において戻りボタンにタッチするなどの予め定められた操作により戻りを指定する。
これに応じてプロセッサ301は、ACT126にてYESと判定し、図10中のACT112へと戻る。この場合には、購入商品の登録状態は変更されないので、プロセッサ301は、削除画面を表示する前に表示していたのと同じ状態の一覧画面SC1をタッチパネル304に再び表示させる。
【0120】
客は、削除で間違いないならば、削除画面において削除ボタンにタッチするなどの予め定められた操作により削除を指定する。これに応じてプロセッサ301は、ACT125にてYESと判定し、ACT127へと進む。
ACT127としてプロセッサ301は、モバイルコントローラ3に対して削除を要求する。プロセッサ301はここで送信する要求データには、削除が指定された商品を特定するための特定データを含める。
【0121】
プロセッサ301は、ACT123にて数量変更を要求したのち、あるいはACT127にて削除を要求したのちには、ACT128へと進む。
ACT128としてプロセッサ301は、一覧画面の表示が指示されるのを待ち受ける。
【0122】
さて、モバイルコントローラ3においてプロセッサ31は、図15中のACT204にてチェックイン完了の通知を行った後には、ACT205へと進む。
ACT205としてプロセッサ31は、購入商品の変更が要求されたか否かを確認する。そしてプロセッサ31は、該当の要求が確認できなければNOと判定し、ACT206へと進む。
ACT206としてプロセッサ31は、購入商品の取消が要求されたか否かを確認する。そしてプロセッサ31は、該当の要求が確認できなければNOと判定し、ACT207へと進む。
ACT207としてプロセッサ31は、会計が要求されたか否かを確認する。そしてプロセッサ31は、該当の要求が確認できなければNOと判定し、ACT208へと進む。
ACT208としてプロセッサ31は、制限時間が経過したか否かを確認する。そしてプロセッサ31は、該当の状況でなければNOと判定しACT205へと戻る。
かくしてプロセッサ31はACT205~ACT208としては、変更、取消及び会計のいずれかが要求されるか、制限時間が経過するのを待ち受ける。そしてプロセッサ31は、登録、数量変更及び削除のいずれかが、対象端末となっているユーザ端末300から前述のように要求されたならばACT205にてYESと判定し、図16中のACT209へと進む。
【0123】
ACT209としてプロセッサ31は、処理対象となっている取引の取引コードの通知を伴って、ユーザ端末300からの要求を仮想POSサーバ2に転送する。プロセッサ31はこのとき、ユーザ端末300から送られてきた要求データをそのまま仮想POSサーバ2に転送してもよいし、何らかの処理による変換後の要求データを仮想POSサーバ2に送信してもよい。ただしプロセッサ31は、ユーザ端末300から送られてきた要求データに含まれたバーコードデータ又は特定データは、仮想POSサーバ2へと通知する。
【0124】
仮想POSサーバ2においてプロセッサ21は、図18中のACT302~ACT305の待受状態にあるときに登録、数量変更又は削除に関する要求データがモバイルコントローラ3から転送されてきたならば、ACT302にてYESと判定し、ACT307へと進む。
ACT307としてプロセッサ21は、転送された要求データでの要求に応じて取引データベースDB21を更新する。プロセッサ21は例えば、登録が要求された場合には、要求データに含まれたバーコードデータが、既存のPOS端末に備えられたバーコードスキャナにより読み取られたものであると見做して、既存のPOS端末と同様な処理によって購入商品の登録を試みる。ただし、何らかの事情により、バーコードデータが表す商品コードが商品データベースに登録されていない場合がある。また、商品には、商品コードを表すのとは別のバーコードが表示されている場合もある。そして、これらの場合にプロセッサ21は、購入商品の登録を行えず、エラーとする。このようにプロセッサ21は、正規のバーコード読み取りに基づく購入商品の登録を行う。プロセッサ21は例えば、数量変更が要求された場合には、数量変更の対象となる商品に関して取引データベースDB21に既に示されている数量を変更する。プロセッサ21は例えば、削除が要求された場合には、対象となる商品を購入商品から除外するように取引データベースDB21を更新する。
【0125】
ACT308としてプロセッサ21は、上記のような処理の結果を表した結果データを、モバイルコントローラ3に送信する。プロセッサ21は、購入商品の登録が正しく行えた場合には、正規登録の通知であることを識別するための識別データと、登録した商品の商品コード、商品名及び価格を結果データに含める。プロセッサ21は、数量を変更した場合には、変更した商品の商品コードと、変更後の個数とを結果データに含める。プロセッサ21は、購入商品を削除した場合には、購入商品から除外した商品の商品コードを結果データに含める。またプロセッサ21は、エラーとした場合には、エラーの通知であることを識別するための識別データと、登録要求で送られてきたバーコードデータとを結果データに含める。プロセッサ21は、結果データを送信し終えたならば、ACT302~ACT305の待受状態に戻る。
【0126】
モバイルコントローラ3にてプロセッサ31は、ACT209にて要求を転送したのちには、ACT210へと進む。
ACT210としてプロセッサ31は、上記のようにして仮想POSサーバから送信される結果データを取得する。プロセッサ31は、取得した結果データをメインメモリ32又は補助記憶ユニット33に保存する。
【0127】
ACT211としてプロセッサ31は、上記の結果データに基づいて登録データベースDB32を更新する。この登録データベースDB32の更新は、例えば以下のように行われる。
第1のケース:正規登録の通知であり、処理対象となっている取引が関連付けられたデータレコードDR2に、通知された商品コードを含んだ登録データが含まれていない場合。
この場合にプロセッサ31は、処理対象となっている取引が関連付けられたデータレコードDR2に既に存在する最後のフィールドの次に新たなフィールドを追加し、当該フィールドに新たな登録データを追加する。プロセッサ31は、新たな登録データには、通知された商品コードと、エラーではないことを表す“0”としたエラーフラグと、通知された商品名及び価格と、“1”とした個数と、取り消されていないことを表す“0”とした取消フラグとを含める。かくしてこのケースで追加される登録データは、図6の右上側に示されるような構造となる。
【0128】
第2のケース:正規登録の通知であり、処理対象となっている取引が関連付けられたデータレコードDR2に、通知された商品コードを含んだ登録データが含まれているものの、当該登録データの取消フラグが取り消されていることを表す“1”となっている場合。
この場合にプロセッサ31は、上記の第1のケースの場合と同様に処理する。
【0129】
第3のケース:正規登録の通知であり、処理対象となっている取引が関連付けられたデータレコードDR2に、通知された商品コードを含んだ登録データが含まれており、当該登録データの取消フラグが“0”となっている場合。
この場合にプロセッサ31は、通知された商品コードを含み、取消フラグが“0”となっている登録データに含まれる個数の値を、1つ大きな値に書き替える。
【0130】
第4のケース:数量変更の通知である場合。
この場合にプロセッサ31は、処理対象となっている取引が関連付けられたデータレコードDR2から、通知された商品コードを含んだ登録データを見つけ出す。そしてプロセッサ31は、該当する登録データに含まれる個数を、結果データに含まれた個数に書き替える。
【0131】
第5のケース:削除の通知である場合。
この場合にプロセッサ31は、処理対象となっている取引が関連付けられたデータレコードDR2から、通知された商品コードを含んだ登録データを見つけ出す。そしてプロセッサ31は、該当する登録データに含まれる取消フラグを“1”に変更する。
【0132】
第6のケース:エラーの通知である場合。
この場合にプロセッサ31は、処理対象となっている取引が関連付けられたデータレコードDR2に既に存在する最後のフィールドの次に新たなフィールドを追加し、当該フィールドに新たな登録データを追加する。プロセッサ31は、新たな登録データには、通知されたバーコードデータと、エラーを表す“1”としたエラーフラグとを含める。かくしてこのケースで追加される登録データは、図6の右下側に示されるような構造となる。
【0133】
このようにプロセッサ31により更新されることにより登録データベースDB32は、仮想POSサーバ2で登録済みの購入商品のリストを表すとともに、これに加えてエラーとなったバーコード読み取りを記録したものとなる。
なおプロセッサ31は、登録要求で送られてきたバーコードデータをメインメモリ32又は補助記憶ユニット33に保存しておき、上記の第6のケースにおいては、この保存してあるバーコードデータを登録データに含めてもよい。そしてこの場合には、仮想POSサーバ2においてプロセッサ21は、結果データにバーコードデータを含めなくてもよい。またプロセッサ31は、保存してあるバーコードデータから商品コードを取り出し、この商品コードに基づいて第1のケース~第5のケースの処理を行ってもよい。また商品名及び価格は、プロセッサ31が商品コードに基づいて店舗サーバ1などから取得してもよい。
【0134】
ACT212としてプロセッサ31は、一覧画面の表示をユーザ端末300に対して指示する。プロセッサ31は例えば、一覧画面の表示指示であることを識別するための識別データを含んだ指示データを、店内通信ネットワーク7及びアクセスポイント6を介してユーザ端末300へと送信する。プロセッサ31は、処理対象となっている取引が登録データベースDB32にて関連付けられたデータレコードDR2に含まれている商品コード、商品名、価格及び個数を指示データに含める。またプロセッサ31は、今回の登録がエラーとされているならば、その旨を表すエラーデータを指示データに含める。そしてプロセッサ31はこののち、図15中のACT205~ACT208の待受状態に戻る。
【0135】
なお、以降において説明するモバイルコントローラ3からユーザ端末300への各種の指示は、上記と同様に、指示の理由を識別するための識別データを含んだ指示データを店内通信ネットワーク7及びアクセスポイント6を介してモバイルコントローラ3からユーザ端末300へと送ることにより実現される。
【0136】
上述の第1のケース~第3のケース及び第6のケースのいずれかにおける結果データがユーザ端末300にて無線通信ユニット306により受信されると、プロセッサ301は図10中のACT121でYESと判定する。また上述の第4のケース又は第5のケースにおける結果データが無線通信ユニット306により受信されると、プロセッサ301は図11中のACT128でYESと判定する。そしてこれらの場合にプロセッサ301は、いずれも図10中のACT112へと戻り、再び一覧画面SC1をタッチパネル304に表示させる。このときにプロセッサ301は、一覧画面SC1を、指示データに含まれた購入商品の商品名、価格及び個数を表す画面とする。またプロセッサ301は、指示データにエラーデータが含まれるならば、正しく登録されなかった旨を一覧画面SC1に追加して表す。
【0137】
図22は購入商品が登録済みである状態での一覧画面SC1の一例を示す図である。
図22に示す一覧画面SC1は、商品名が“AAA”であり、価格が120円である商品が1個、商品名が“BBB”であり、価格が98円である商品が2個、そして商品名が“CCC”であり、価格が1,024円である商品が1個、購入商品として登録済みである場合の例である。図22に示す一覧画面SC1では、表示エリアAR12には、これらの登録済みの商品に関する商品名、価格及び個数を表している。また表示エリアAR11には、総数として“4”を表すとともに、総額として“1,340”を表している。なお、商品名の左側の破線で囲まれたエリアは、アイコンを表示するためのエリアを表す。
当該エリアを表す破線は、実際には一覧画面SC1には表されない。
【0138】
客は、既に登録した購入商品の全てをキャンセルし、買い物を中止したい場合には、一覧画面SC1においてボタンBU11にタッチするなどの予め定められた操作により中止を指定する。これに応じてプロセッサ301は、図10中のACT115にてYESと判定し、図11中のACT129へと進む。
ACT129としてプロセッサ301は、取消画面をタッチパネル304に表示させる。取消画面は、既に登録した購入商品の全てが取り消されることを客に報知する画面である。取消画面は、取消実行を指定するための実行ボタンと、個数を変更せずに個数の変更を指定する前の状態に戻ることを指定するための戻りボタンとを含む。
【0139】
ACT130としてプロセッサ301は、取消実行が指定されたか否かを確認する。そしてプロセッサ301は、該当の指定を確認できないならばNOと判定し、ACT131へと進む。
ACT131としてプロセッサ301は、戻りが指定されたか否かを確認する。そしてプロセッサ301は、該当の指定を確認できないならばNOと判定し、ACT130へと戻る。
かくしてプロセッサ301はACT130及びACT131としては、取消実行又は戻りが指定されるのを待ち受ける。
【0140】
客は、そのまま買い物を続けるならば、取消画面において戻りボタンにタッチするなどの予め定められた操作により戻りを指定する。これに応じてプロセッサ301は、ACT131にてYESと判定し、図10中のACT112へと戻り、再び一覧画面SC1をタッチパネル304に表示させる。この場合には、購入商品の登録状態は変更されないので、プロセッサ301は、取消画面を表示する前に表示していたのと同じ状態の一覧画面SC1をタッチパネル304に再び表示させる。
【0141】
客は、買い物を取り止めるのであれば、取消画面において実行ボタンにタッチするなどの予め定められた操作により取消実行を指定する。これに応じてプロセッサ301は、ACT130にてYESと判定し、ACT132へと進む。
ACT132としてプロセッサ301は、モバイルコントローラ3に対して取消を要求する。
【0142】
モバイルコントローラ3にてプロセッサ31は、上記のようにユーザ端末300から取消が要求されたならば、図15中のACT206にてYESと判定し、図16中のACT213へと進む。
ACT213としてプロセッサ31は、処理対象となっている取引の取引コードの通知を伴って、取消の要求を仮想POSサーバ2に転送する。プロセッサ31はこのとき、ユーザ端末300から送られてきた要求データをそのまま仮想POSサーバ2に転送してもよいし、何らかの処理による変換後の要求データを仮想POSサーバ2に送信してもよい。
【0143】
仮想POSサーバ2においてプロセッサ21は、図18中のACT302~ACT305の待受状態にあるときに取消に関する要求データがモバイルコントローラ3から転送されてきたならば、ACT303にてYESと判定し、ACT309へと進む。
ACT309としてプロセッサ21は、転送された要求データでの要求に応じて取引データベースDB21を更新する。プロセッサ21は例えば、モバイルコントローラ3から送られた要求データによる要求を、既存のPOS端末に備えられた入力デバイスにより入力された取消指示であると見做して、既存のPOS端末と同様な処理によって、通知された取引コードに関連付けて登録済みの商品の全てを購入商品から除外するように取引データベースDB21を更新する。
【0144】
ACT310としてプロセッサ21は、上記のような処理の結果を表した結果データを、モバイルコントローラ3に送信する。プロセッサ21は、購入商品から除外した全商品の商品コードを結果データに含める。プロセッサ21は、結果データを送信し終えたならば、ACT302~ACT305の待受状態に戻る。
【0145】
以上のようにしてプロセッサ21は、対象端末で受けられた操作に応じて取引の内容を決定する。かくして仮想POSアプリAP21に基づく情報処理をプロセッサ21が実行することによって、プロセッサ21を中枢部分とするコンピュータは決定手段として機能する。
【0146】
モバイルコントローラ3にてプロセッサ31は、ACT213にて要求を転送したのちには、ACT214へと進む。
ACT214としてプロセッサ31は、上記のようにして仮想POSサーバから送信される結果データを取得する。プロセッサ31は、取得した結果データをメインメモリ32又は補助記憶ユニット33に保存する。
【0147】
ACT215としてプロセッサ31は、上記の結果データに基づいて登録データベースDB32を更新する。つまりプロセッサ31は、処理対象となっている取引が関連付けられたデータレコードDR2に含まれる登録データの全てに関して、“0”となっている取消フラグを“1”に変更する。
ACT216としてプロセッサ31は、ユーザ端末300に対して取消を通知する。そしてプロセッサ31はこののち、図15中のACT205~ACT208の待受状態に戻る。
【0148】
さて、ユーザ端末300にてプロセッサ301は、図11中のACT132にて取消を要求したのちには、ACT133へと進む。
ACT133としてプロセッサ301は、モバイルコントローラ3から取消が通知されるのを待ち受ける。そしてプロセッサ301は、前述のように取消が通知されたならばYESと判定し、図9中のACT101へと戻る。
【0149】
客は、購入を希望する商品の全てを購入商品として登録し終えたならば、決済に進む。このときに客は、一覧画面SC1におけるボタンBU13にタッチするなどの予め定められた操作によって会計開始を指定する。これに応じてプロセッサ301は、図10中のACT116にてYESと判定し、ACT134へと進む。
ACT134としてプロセッサ301は、モバイルコントローラ3に対して会計を要求する。プロセッサ301はここで送信する要求データには、端末コードを含める。またプロセッサ301は、補助記憶ユニット303に電子レシートIDが記憶されているならば、当該電子レシートIDを上記の要求データに含める。
ACT135としてプロセッサ301は、会計画面の表示が指示されるのを待ち受ける。
【0150】
モバイルコントローラ3にてプロセッサ31は、上記のようにユーザ端末300から会計が要求されたならば、図15中のACT207にてYESと判定し、図16中のACT217へと進む。
ACT217としてプロセッサ31は、ユーザ端末300から電子レシートIDが通知されているか否かを確認する。そしてプロセッサ31は、要求データに電子レシートIDが含まれていたならばYESと判定し、ACT218へと進む。
【0151】
ACT218としてプロセッサ31は、ユーザ端末300から通知された電子レシートIDを記録するべく取引管理データベースDB31を更新する。プロセッサ31は例えば、要求データに含まれた端末コードがフィールドF11にセットされているデータレコードDR1を取引管理データベースDB31から探し出す。そしてプロセッサ31は、該当するデータレコードDR1のフィールドF14に、要求データに含まれた電子レシートIDをセットする。なおプロセッサ31は、該当のデータレコードDR1のフィールドF14に既に電子レシートIDがセットされている場合には、これを要求データに含まれた電子レシートIDで上書きする。
【0152】
プロセッサ31は、取引管理データベースDB31を更新し終えたならば、ACT219へと進む。なおプロセッサ31は、要求データに電子レシートIDが含まれていなかったならばACT217にてNOと判定し、ACT218をパスしてACT219へと進む。
ACT219としてプロセッサ31は、会計画面の表示をユーザ端末300に指示する。
【0153】
ユーザ端末300にてプロセッサ301は、上記のように会計画面の表示が指示されたならば図10中のACT135にてYESと判定し、図12中のACT136へと進む。
ACT136としてプロセッサ301は、会計画面をタッチパネル304に表示させる。会計画面は、代金の決済のための操作をユーザ端末300及び会計機5のいずれで行うかを客が選択するための画面である。
【0154】
図23は会計画面SC3の一例を示す図である。
会計画面SC3は、表示エリアAR31、メッセージME31及びボタンBU31,BU32を含む。表示エリアAR31は、購入商品の総数と、購入商品の代金の総額とを表す。メッセージME31は、代金の決済のための操作をユーザ端末300及び会計機5のいずれで行うかを指定するように客に促す文字メッセージである。ボタンBU31は、ユーザ端末300を客が指定するソフトキーである。ボタンBU32は、会計機5を客が指定するためのソフトキーである。
【0155】
ACT137としてプロセッサ301は、ユーザ端末300が指定されたか否かを確認する。そしてプロセッサ301は、該当の指定が確認できないならばNOと判定し、ACT138へと進む。
ACT138としてプロセッサ301は、会計機5が指定されたか否かを確認する。そしてプロセッサ301は、該当の指定が確認できないならばNOと判定し、ACT137へと戻る。
かくしてプロセッサ301はACT137及びACT138としては、ユーザ端末300又は会計機5が指定されるのを待ち受ける。
【0156】
客は、代金の決済のための操作をユーザ端末300で行いたい場合には、ボタンBU31にタッチするなどの予め定められた操作によりユーザ端末300を指定する。これに応じてプロセッサ301は、ACT137にてYESと判定し、ACT139へと進む。
ACT139としてプロセッサ301は、モバイルコントローラ3に対して決済を要求する。なおプロセッサ301は、決済を要求するための要求データには、決済のために必要な、クレジット番号又はオンライン決済サービス用の利用者コードなどのような決済情報を含めてもよい。
【0157】
モバイルコントローラ3にてプロセッサ31は、図16中のACT219にて会計画面の表示を指示したのちには、ACT220へと進む。
ACT220としてプロセッサ31は、決済が要求されたか否かを確認する。そしてプロセッサ31は、該当の要求が確認できないならばNOと判定し、ACT221へと進む。
ACT221としてプロセッサ31は、決済完了が通知されたか否かを確認する。そしてプロセッサ31は、該当の通知が確認できないならばNOと判定し、ACT220へと戻る。
かくしてプロセッサ31はACT220及びACT221としては、決済要求又は決済完了通知を待ち受ける。そしてプロセッサ31は、前述のようにユーザ端末300から決済が要求されたならばACT220にてYESと判定し、ACT222へと進む。
【0158】
ACT222としてプロセッサ31は、処理対象となっている取引の取引コードの通知を伴って、決済の要求を仮想POSサーバ2に転送する。プロセッサ31はこのとき、ユーザ端末300から送られてきた要求データをそのまま仮想POSサーバ2に転送してもよいし、何らかの処理による変換後の要求データを仮想POSサーバ2に送信してもよい。ただしプロセッサ31は、処理対象となっている取引に関して電子レシートIDを取得済みであるならば、当該の電子レシートIDを要求データに含める。プロセッサ31は例えば、要求データに含まれた端末コードがフィールドF11にセットされているデータレコードDR1を取引管理データベースDB31から探し出す。そしてプロセッサ31は、該当するデータレコードDR1のフィールドF14に電子レシートIDがセットされているならば、当該の電子レシートIDを要求データに含める。またプロセッサ31は、ユーザ端末300から送られてきた要求データが決済データを含むならば、この決済データはそのまま仮想POSサーバ2に送信する要求データに含める。
【0159】
上記のデータレコードDR1のフィールドF14にセットされた電子レシートIDがユーザ端末300から送信されたものであるならば、プロセッサ31は、当該電子レシートIDを第2の情報処理装置としての仮想POSサーバ2へと、通信インタフェース34を用いて転送することとなる。
ACT223としてプロセッサ31は、決済完了が通知されるのを待ち受ける。
【0160】
仮想POSサーバ2にてプロセッサ21は、図18中のACT302~ACT305の待受状態にあるときに決済に関する要求データがモバイルコントローラ3から転送されてきたならば、ACT304にてYESと判定し、図19中のACT311へと進む。
ACT311としてプロセッサ21は、転送された要求データでの要求に応じて代金を決済するための決済処理を実行する。プロセッサ21は例えば、モバイルコントローラ3から送られた要求データによる要求を、既存のPOS端末に備えられた入力デバイスにより入力された決済指示であると見做して、既存のPOS端末と同様な処理によって、通知された取引コードで識別される取引に関する代金を算出する。そしてプロセッサ21は、算出した代金の決済を決済サーバ500に要求する。プロセッサ21は例えば、データベース群DB11に含まれる利用者データベースを参照して、決済に適用する決済方法を判定するとともに、その決済方法での決済に用いる決済情報を取得する。利用者データベースに複数の決済方法又は複数の決済情報が登録されている場合には、それらのうちの1つをユーザ端末300における操作者による指示に応じて、あるいは予め定められた条件に従って選択する。なおプロセッサ21は例えば、要求データに決済情報が含まれるならば、決済に用いる決済方法を当該の決済情報に基づいて決定し、かつ当該の決済情報を決済に用いる決済情報としてもよい。
【0161】
ACT312としてプロセッサ21は、電子レシートIDが通知されたか否かを確認する。プロセッサ21は例えば、決済を要求する要求データに電子レシートIDが含まれるならばYESと判定し、ACT313へと進む。
ACT313としてプロセッサ21は、上記のように決済を完了した取引に関する取引データを上記の要求データに含まれた電子レシートIDで識別される利用者が閲覧できるように電子レシートサーバ600に登録するための処理を行う。なお、この処理は、例えば既存の電子レシートサービスにより行われている処理と同様であってよい。プロセッサ21が取引データにどのようなデータを含めるかは、例えば電子レシートサービスでの規定に従う。
【0162】
客は、代金の決済のための操作を会計機5で行いたい場合には、会計画面SC3におけるボタンBU32にタッチするなどの予め定められた操作により会計機5を指定する。これに応じてユーザ端末300にてプロセッサ301は、図12中のACT138にてYESと判定し、ACT140へと進む。
ACT140としてプロセッサ301は、会計バーコード画面をタッチパネル304に表示させる。会計バーコード画面は、会計機5が仮想POSサーバ2から取引の内容に関するデータを取得するために必要となるデータを表した会計バーコードを表した画面である。なお、詳細な処理の図示は省略しているが、プロセッサ301は、モバイルコントローラ3を介して仮想POSサーバ2から会計バーコードを取得して、当該会計バーコードを会計バーコード画面に表す。
【0163】
客は、他の客により使用されていない会計機5が備えるスキャナに、会計バーコードを読み取らせる。これに応じて会計機5は、会計バーコードが表すデータに従って、仮想POSサーバ2に決済データの転送を要求する。例えば会計機5は、会計バーコードが表すデータに含まれる取引コードを含んだ要求データを仮想POSサーバ2に送信する。
【0164】
仮想POSサーバ2にてプロセッサ21は、図18に示すACT302~ACT305の待受状態にある取引処理の対象となっている取引の取引コードを含んだ転送要求のための要求データが受信されたならば、ACT305にてYESと判定し、図19中のACT314へと進む。
ACT314としてプロセッサ21は、取引処理の対象となっている取引の内容を表し、会計機5での決済のために必要な決済データを、転送を要求した会計機5に対して送信する。なお決済データは、例えば既存のセミセルフタイプの取引処理システムにおいて登録機から会計機へと転送されている決済データと同様なデータであってよい。
ACT315としてプロセッサ21は、上記のように決済データを送信した会計機5での決済が完了するのを待ち受ける。
【0165】
会計機5は、仮想POSサーバ2から送信された決済データを受信したならば、操作者による操作を受けながら、取引の代金を決済する。また会計機5は、レシート又はクーポンなどの各種の印刷物を必要に応じて発行する。会計機5は、決済が完了したならば、その旨を仮想POSサーバ2に通知する。これに応じて仮想POSサーバ2にてプロセッサ21は、ACT315にてYESと判定し、ACT316へと進む。
なお、プロセッサ21はACT313にて電子レシート登録を終えたのちにも、ACT316へと進む。またプロセッサ21は、決済を要求する要求データに電子レシートIDが含まれないならばACT312にてNOと判定し、ACT313をパスしてACT316へと進む。
ACT316としてプロセッサ21は、処理対象としている取引の管理を終了するべく取引データベースDB21を更新する。プロセッサ21は例えば、処理対象としている取引の取引コードを含んだデータレコードを取引データベースDB21から削除する。
ACT317としてプロセッサ21は、モバイルコントローラ3に決済の完了を通知する。そしてプロセッサ21は、これをもって取引処理を終了する。
【0166】
モバイルコントローラ3にてプロセッサ31は、上述のように仮想POSサーバ2から決済完了が通知されたならば、図16中のACT221又はACT223でYESと判定し、いずれの場合もACT224へと進む。因みに、プロセッサ31は、プロセッサ21が図18中のACT312又はACT313からACT317へと進んだ場合には図16中のACT221にてYESと判定し、プロセッサ21が図18中のACT315からACT317へと進んだ場合には図16中のACT223にてYESと判定することになる。
ACT224としてプロセッサ31は、ユーザ端末300に対して決済完了を通知する。
【0167】
ユーザ端末300にてプロセッサ301は、ACT139にて決済を要求した後、又はACT140にて会計バーコード画面を表示させた後には、ACT141へと進む。
ACT141としてプロセッサ301は、決済完了が通知されるのを待ち受ける。そしてプロセッサ301は、上述のようにモバイルコントローラ3から決済完了が通知されたならばYESと判定し、ACT142へと進む。
ACT142としてプロセッサ301は、完了画面をタッチパネル304に表示させる。完了画面は、決済が完了したことを客に報知するための画面である。
【0168】
客は、完了画面を確認したならば、完了画面に表されたボタンにタッチするなどの予め定められた操作によって、確認したことを宣言する。これに応じてプロセッサ301はACT143へと進む。なおプロセッサ301は、完了画面を表示した状態での経過時間が予め定めた時間に到達した場合に、ACT143へと進んでもよい。
【0169】
ACT143としてプロセッサ301は、チェックアウト用のスキャン画面をタッチパネル304に表示させる。チェックアウト用のスキャン画面は、チェックアウト用の2次元コードTC2を読み取るための画面である。プロセッサ301は例えば、カメラ305を起動し、これによりカメラ305で得られた画像に、2次元コードTC2を読み取るように客に促す文字メッセージと、2次元コードTC2を翳すべき位置の目安を示すラインとを重ねてスキャン画面を生成する。
【0170】
客は、チェックアウト用のスキャン画面がタッチパネル304に表示されたならば、店舗の出口付近に掲示されている2次元コードTC2がスキャン画面に映り込むようにカメラ305を2次元コードTC2に向ける。
ACT144としてプロセッサ301は、2次元コードが読み取れるのを待ち受ける。このときにプロセッサ301は、カメラ305で得られる画像を繰り返し解析し、2次元コードの読み取りを試みる。この2次元コードの読み取りは、スマホPOSアプリAP301に基づく処理として行われてもよいし、2次元コードの読み取り用の別のアプリケーションプログラムに基づく処理として行われてもよい。そしてプロセッサ301は、2次元コードが読み取れたならばYESと判定し、ACT145へと進む。
【0171】
ACT145としてプロセッサ301は、読み取った2次元コードが表すデータがチェックアウトデータであるか否かを確認する。そしてプロセッサ301は、チェックアウトデータでなければNOと判定し、ACT144へと戻る。このときにプロセッサ301は、誤った2次元コードが読み取られたことを客に通知する画面をタッチパネル304に表示させてもよい。
【0172】
プロセッサ301は、読み取った2次元コードが表すデータがチェックアウトデータであることが確認できたならば、ACT145にてYESと判定し、ACT146へと進む。
ACT146としてプロセッサ301は、モバイルコントローラ3に対して、チェックアウトを要求する。
【0173】
モバイルコントローラ3にてプロセッサ31は、図16中のACT224にて決済完了を通知したのちには、ACT225へと進む。
ACT225としてプロセッサ31は、チェックアウトが要求されるのを待ち受ける。
そしてプロセッサ31は、上述のようにユーザ端末300からチェックアウトが要求されたならばYESと判定し、ACT226へと進む。
【0174】
ACT226としてプロセッサ31は、チェックアウト処理を実行する。チェックアウト処理は、処理対象となっていた取引の管理のためにメインメモリ32及び補助記憶ユニット33に保存してあるデータをクリアするなどの処理である。なお仮想POSサーバ2は、決済が完了したことに応じて、該当する取引に関する処理を終了してもよいし、モバイルコントローラ3からの指示に応じて取引に関する処理を終了してもよい。そして後者の場合には、プロセッサ31はチェックアウト処理において、仮想POSサーバ2に対して上記指示をする。また、誤ったバーコードスキャンなどを含むユーザの操作の履歴を表した履歴データベースを店舗サーバ1、仮想POSサーバ2又はモバイルコントローラ3、あるいは図示されない別のサーバ等で管理する場合がある。この場合には、プロセッサ31はチェックアウト処理において、今回の取引に関する操作の履歴を反映するように履歴データベースを更新するための処理を行う。
ACT227としてプロセッサ31は、チェックアウトの完了をユーザ端末300に通知する。そしてプロセッサ31は、これをもって仲介処理を終了する。
【0175】
ユーザ端末300にてプロセッサ301は、図12中のACT146にてチェックアウトを要求したのちには、ACT147へと進む。
ACT147としてプロセッサ301は、チェックアウト完了の通知を待ち受ける。そしてプロセッサ301は、上述のようにモバイルコントローラ3からチェックアウト完了が通知されたならばYESと判定し、ACT148へと進む。
ACT148としてプロセッサ301は、例えば図9中のACT107にて保存したチェックインデータなどのような、今回の買い物に関して一時的に利用する各種のデータをクリアする。そしてプロセッサ301はこののち、図9中のACT101に戻る。
【0176】
ところでカート端末400においてプロセッサ401aは、図13中のACT163にてチェックインを要求した後には、ACT164へと進む。
ACT164としてプロセッサ401aは、チェックイン完了が通知されたか否かを確認する。そしてプロセッサ401aは、該当の通知を確認できないならばNOと判定し、ACT165へと進む。
ACT165としてプロセッサ401aは、チェックインのエラーが通知されたか否かを確認する。そしてプロセッサ401aは、該当の通知を確認できないならばNOと判定し、ACT164へと戻る。
かくしてプロセッサ401aはACT164及びACT165としては、チェックインの完了又はエラーが通知されるのを待ち受ける。そしてプロセッサ401aは、図14中のACT188又は図15中のACT203におけるエラー通知のための通知データが無線通信ユニット401dにより受信されたならばACT165にてYESと判定し、ACT166へと進む。
【0177】
ACT166としてプロセッサ401aは、エラー画面をタッチパネル401eに表示させる。エラー画面は、チェックインできないことを客に報知するものとして定められた画面である。なおプロセッサ401aは例えば、図14中のACT188におけるエラー通知に対しては、店舗が混雑しているためにチェックインできないことを知らせるとともに、さらには暫く時間をおいてチェックインを試みるよう促すエラー画面を表示させる。プロセッサ401aは、例えばエラー画面中に表したGUI要素の操作などによりエラー画面の表示解消が指示されたならば、ACT162の待受状態に戻る。
【0178】
プロセッサ401aは一方、図15中のACT204をプロセッサ31が実行することによりモバイルコントローラ3から送信された、前述のチェックイン完了の通知のための通知データが無線通信ユニット401dにより受信されたならばACT164にてYESと判定する。そして図15では図示を省略するが、この後にプロセッサ401aは、客の操作に応じて、登録、数量変更、取消又は決済を、前述したプロセッサ301と同様にしてモバイルコントローラ3に要求するか、会計バーコード画面をタッチパネル401eに表示させる。ただしプロセッサ401aが受ける客の操作は、プロセッサ301の場合とは異なる場合がある。例えば、購入商品として登録しようとする商品に表示されたバーコードの読み取りはスキャナ402で行われる。
モバイルコントローラ3及び仮想POSサーバ2では、カート端末400を対象端末とした仲介処理及び取引処理においても、前述したようにユーザ端末300を対象端末としている場合と同様に、上述の要求又は会計機5からの転送要求に応じた処理を実行する。
【0179】
以上のようにプロセッサ21は、取引を処理するための情報処理としての取引処理を、それぞれ異なる対象端末からの指示に応じてそれぞれ実行する。
【0180】
カート端末400にてプロセッサ401aは、図12中のACT139と同様に決済を要求するか、あるいはACT140と同様に会計バーコード画面を表示させたのちには、図13中のACT171へと進む。
ACT171としてプロセッサ401aは、決済完了が通知されるのを待ち受ける。そしてプロセッサ401aは、図16中のACT224による前述のような決済完了の通知又は会計機5からの前述のような決済完了の通知がなされたならばYESと判定し、ACT172へと進む。
ACT172としてプロセッサ401aは、終了画面をタッチパネル401eに表示させる。終了画面は例えば、取引が終了したことを客に知らせる画面である。
ACT173としてプロセッサ401aは、今回の買い物に関して一時的に利用する各種のデータをクリアする。そしてプロセッサ401aはこののち、ACT161の待受状態に戻る。
【0181】
客が、チェックインを完了したものの、上記のように決済を完了することなく、かつ中止を指定することもなく、買い物を止めて店舗から出て行ってしまうことは、例えばスマホPOSサービス及びカートPOSサービスの利用に関する禁止事項とされる。しかしながら、客がそのように行動する危険性はある。
客が上記のように行動した場合、モバイルコントローラ3にてプロセッサ31は、ACT205~ACT208の待受状態を継続することになる。プロセッサ31は、ACT204、図16中のACT212又はACT216からACT205~ACT208の待受状態に移行してからの経過時間が予め定められた制限時間に至ったならば、ACT208にてYESと判定し、ACT228へと進む。このときにプロセッサ31は、予め定められた時間に渡って操作が受けられない状態を無操作状態として検出していることになる。かくして取引管理アプリAP31に基づく情報処理をプロセッサ31が実行することによって、プロセッサ31を中枢部分とするコンピュータは検出手段として機能する。
なお制限時間は、一例としては、店舗毎に、店舗システム100の管理者などが決める。プロセッサ31は、上記の管理者などの操作に応じて制限時間を入力し、当該の制限時間をメインメモリ32又は補助記憶ユニット33に記憶させる。なおプロセッサ31は、メインメモリ32又は補助記憶ユニット33に制限時間が既に記憶されているならば、新たに入力した制限時間で上書きする。ただし制限時間は、例えば取引管理アプリAP31の作成者などによって定められ、各店舗共通で固定的に適用されてもよい。
【0182】
ACT228としてプロセッサ31は、対象端末に関する取引処理の終了を仮想POSサーバ2に対して指示する。プロセッサ31は例えば、終了指示のための指示データを、仮想POSサーバ2に宛てて通信インタフェース34から店内通信ネットワーク7へと送出する。プロセッサ31は、終了の指示であることを識別するための識別データを指示データに含める。プロセッサ31は、対象端末の端末コードがフィールドF11にセットされているデータレコードDR1を取引管理データベースDB31から見つけ出し、該当のデータレコードDR1のフィールドF13にセットされている取引コードを指示データに含める。
【0183】
上記の指示データが店内通信ネットワーク7によって仮想POSサーバ2へと伝送されると、通信インタフェース24により受信される。このときには、プロセッサ21は、指示データに含まれた取引コードで識別される取引を処理対象としている取引処理においては、図18中のACT302~ACT306の待受状態にあるはずである。そこで当該の取引処理に関してプロセッサ21は、ACT306にてYESと判定し、図19中のACT318へと進む。
ACT318としてプロセッサ21は、処理対象としている取引の管理を終了するべく取引データベースDB21を更新する。プロセッサ21は例えば、処理対象としている取引の取引コードを含んだデータレコードを取引データベースDB21から削除する。
ACT319としてプロセッサ21は、モバイルコントローラ3に終了を通知する。プロセッサ21は、この終了通知のための通知データには、処理対象としている取引の取引コードを含める。そしてプロセッサ21は、これをもって取引処理を終了する。つまりプロセッサ21は、決済は完了していないものの、該当の取引処理を強制的に終了する。
このように、モバイルコントローラ3のプロセッサ31による指示に応じて取引処理が終了される。かくして取引管理アプリAP31に基づく情報処理をプロセッサ31が実行することによって、プロセッサ31を中枢部分とするコンピュータは制御手段として機能する。
【0184】
モバイルコントローラ3にてプロセッサ31は、図15中のACT228にて終了を指示したのちには、ACT229へと進む。
ACT229としてプロセッサ31は、終了通知を待ち受ける。そしてプロセッサ31は、上述のように仮想POSサーバ2から終了が通知されたならばYESと判定し、ACT230へと進む。
【0185】
ACT230としてプロセッサ31は、予め定められた報知先に報知動作の実行を指示する。そしてプロセッサ31は、これをもって仲介処理を終了する。
報知動作は、取引処理を強制的に終了したことを予め定められた通報先に通報するための動作である。
例えば、取引処理を上記のように強制的に終了させる場合は、取引処理の対象端末であるカート端末400が店内に放置された状態で客が帰ってしまった場合が想定される。つまり、商品が入れられたショッピングカートC1が、どの客にも利用されることなく店内に放置されていることになる。このショッピングカートC1に取り付けられたカート端末400は、取引処理の強制終了により新たな取引を開始することができる状態となるが、ショッピングカートC1には商品が入っているから、新たな客は利用できない。そこでプロセッサ31は、店員用の端末で報知動作を行わせることにより、上記の強制終了を店員に対して通報する。店員は、この通報に応じて、例えば店内に報知されたショッピングカートC1を探し出して、入れられている商品を取り除いた上で置き場に戻すことにより、当該ショッピングカートC1を利用可能とすることができる。
【0186】
また例えば、強制終了した取引処理の対象端末を利用している客が、店内の休憩スペースで休憩していたなどの事情で、買い物中であるにも拘わらずに取引処理が強制終了されてしまう場合も考えられる。そこでプロセッサ31は、強制終了した取引処理の対象端末で報知動作を行わせることにより、上記の強制終了を客に対して通報する。客は、この通報により、買い物を最初からやり直す必要があることを知ることができる。なお、このような状況が生じ得ることが懸念されるならば、プロセッサ31は、図15中のACT205~ACT208の待受状態の継続時間が、制限時間よりも短く定めた時間を経過したことに応じて、操作を行わないと強制終了されることを客に案内するための警報動作を対象端末に指示してもよい。そしてこの指示に応じて対象端末にてプロセッサ301又はプロセッサ401aは、上記のような予め定められた警報動作を実行するようにしてもよい。
なおプロセッサ31は、複数の端末に対してそれぞれ報知動作の実行を指示してもよい。
このようにプロセッサ31は、報知動作の実行を予め定められた端末に指示することで、予め定められた通報先に通報することになる。かくして取引管理アプリAP31に基づく情報処理をプロセッサ31が実行することによって、プロセッサ31を中枢部分とするコンピュータは通報手段として機能する。
【0187】
以上のように本実施形態の取引処理システムは、仮想POSサーバ2にてプロセッサ21が取引処理中に対象端末が無操作状態となったならば、当該取引処理を強制的に終了する。従って、その取引処理のために使用していたリソースを解放し、新たな取引に使用することが可能となる。これにより、新たな端末装置の利用を開始することができない状況が生じる可能性を低減できる。
【0188】
この実施形態は、次のような種々の変形実施が可能である。
モバイルコントローラ3を備えることなく、仮想POSサーバ2にてユーザ端末300及びカート端末400からの要求を直接に受け付けるようにしてもよい。そして管理処理は、仮想POSサーバ2にてプロセッサ21が実行してもよい。またこの場合にプロセッサ21は、例えば図18中のACT306に代えて図15中のACT208に相当する処理を実行するようにする。またプロセッサ21は、例えば図19中のACT319に代えて図15中のACT230に相当する処理を実行する。
【0189】
無操作状態の検出は、ユーザ端末300及びカート端末400にてプロセッサ301及びプロセッサ401aが実行してもよい。プロセッサ301ならば、例えば図10中のACT113~ACT116の待受状態の継続時間が制限時間を越えたかどうかを確認すればよい。またプロセッサ401aならば、例えばカートUI処理の中での図10中のACT113~ACT116に相当する待受状態の継続時間が制限時間を越えたかどうかを確認すればよい。そして、無操作状態の検出をユーザ端末300及びカート端末400にて行うならば、無操作状態が検出されたことに応じての取引処理の終了の指示もプロセッサ301及びプロセッサ401aが行ってもよい。
【0190】
無操作状態の検出は、例えばACT208を繰り返し実行した回数をカウントし、当該回数が予め定められた制限回数を超えた場合を無操作状態とするなど、任意に変更が可能である。
【0191】
複数の仮想POSサーバ2を備え、これら複数の仮想POSサーバ2により複数の取引処理を分担して実行してもよい。また、1つの取引処理を複数の情報処理装置で分担して処理してもよい。例えば購入商品の登録のための処理と決済のための処理とを別々の情報処理装置で実行してもよい。
【0192】
取引処理システムで処理の対象とする取引は、店舗に陳列された商品の販売には限らず、例えば飲食物を調理して提供するなどの別の形態の取引であってもよい。
【0193】
店舗により客に貸与される端末装置は、ショッピングカートC1に取り付けられることなくユーザにより携帯されるものであってもよいし、そのような端末装置とカート端末400とが混在していてもよい。
【0194】
ユーザ端末300とカート端末400とのいずれか一方を使用するのでも構わない。
【0195】
情報処理によりプロセッサ11,21,31,301,401aが実現する各機能は、その一部又は全てをロジック回路などのようなプログラムに基づかない情報処理を実行するハードウェアにより実現することも可能である。また上記の各機能のそれぞれは、上記のロジック回路などのハードウェアにソフトウェア制御を組み合わせて実現することも可能である。
【0196】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願の当初の特許請求の範囲に記載された発明を付記する。
[付記1] 端末装置と少なくとも1つの情報処理装置とを含み、
前記端末装置に備えられ、操作者による操作を受ける操作手段と、
前記情報処理装置の1つに備えられ、前記操作手段で受けられた操作に応じて取引の内容を決定するための処理を行う決定手段と、
前記端末装置又は前記情報処理装置の1つに備えられ、前記操作手段により前記操作が受けられない無操作状態を検出する検出手段と、
前記端末装置又は前記情報処理装置の1つに備えられ、一取引の内容の決定のための前記処理を前記決定手段が開始してから当該一取引の内容の決定が完了するまでの間に、前記検出手段により前記無操作状態が検出されたことに応じて、当該一取引に関する前記処理を終了するよう前記決定手段を制御する制御手段と、
を備える取引処理システム。
[付記2] 前記検出手段は、前記操作手段により予め定められた時間に渡って前記操作が受けられない状態を前記無操作状態として検出する、
付記1に記載の取引処理システム。
[付記3] 前記情報処理装置の1つに備えられ、前記決定手段が前記処理を完了することなく終了したことを予め定められた通報先に通報する通報手段、
をさらに備える付記1又は付記2に記載の取引処理システム。
[付記4] 前記端末装置は、店舗から客に貸与されて前記客が前記操作者となるものであり、
前記通報手段は、前記店舗の従業員を前記通報先とする、
付記3に記載の取引処理システム。
[付記5] 操作者による操作を受ける操作手段を備える端末装置と、前記操作手段で受けられた操作に応じて取引の内容を決定するための処理を行う決定手段を備える登録処理装置とともに取引処理システムを構成し、
前記操作手段により前記操作が受けられない無操作状態を検出する検出手段と、
一取引の内容の決定のための前記処理を前記決定手段が開始してから当該一取引の内容の決定が完了するまでの間に、前記検出手段により前記無操作状態が検出されたことに応じて、当該一取引に関する前記処理を終了するよう前記決定手段を制御する制御手段と、
を備える制御装置。
[付記6] 操作者による操作を受ける操作手段を備える端末装置と、前記操作手段で受けられた操作に応じて取引の内容を決定するための処理を行う決定手段を備える登録処理装置とともに取引処理システムを構成する制御装置が備えるコンピュータを、
前記操作手段により前記操作が受けられない無操作状態を検出する検出手段と、
一取引の内容の決定のための前記処理を前記決定手段が開始してから当該一取引の内容の決定が完了するまでの間に、前記検出手段により前記無操作状態が検出されたことに応じて、当該一取引に関する前記処理を終了するよう前記決定手段を制御する制御手段と、
して機能させるための情報処理プログラム。
【符号の説明】
【0197】
1…店舗サーバ、2…仮想POSサーバ、3…モバイルコントローラ、4…通信サーバ、5…会計機、6…アクセスポイント、7…店内通信ネットワーク、11,21,31,301,401a…プロセッサ、12,22,32,302,401b…メインメモリ、13,23,33,303,401c…補助記憶ユニット、14,24,34…通信インタフェース、15,25,35,308,401h…伝送路、304,401e…タッチパネル、305,404…カメラ、306,401d…無線通信ユニット、307…モバイル通信ユニット、401f…サウンドユニット、401g…インタフェースユニット、402…スキャナ、403…リーダ、100(100A,100B)…店舗システム、200…中継サーバ、300…ユーザ端末、400…カート端末、500…決済サーバ、600…電子レシートサーバ、700…通信ネットワーク。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23