(57)【要約】【課題】客が購入商品として登録しようとしたものの正しく登録できなかった商品が決済されることなく持ち出されることを防止する。【解決手段】  実施形態の取引処理システムは、登録手段、決済手段、取得手段及び制御手段を備える。登録手段は、端末における操作により指定された商品を、端末を利用している客による購入対象の商品として登録する。決済手段は、登録手段により登録された商品の代金を客に決済させるための決済処理を行う。取得手段は、登録手段により購入対象として登録できなかった商品が有る場合に、端末における操作により指定されるデータを取得する。制御手段は、取得手段により取得されたデータが予め定められた解除データである場合に、決済手段による決済処理の開始を許容する。【選択図】      図１７
2022000800.tif 000002
【特許請求の範囲】
【請求項１】
端末における操作により指定された商品を、前記端末を利用している客による購入対象の商品として登録する登録手段と、
前記登録手段により登録された前記商品の代金を前記客に決済させるための決済処理を行う決済手段と、
前記登録手段により前記購入対象として登録できなかった商品が有る場合に、前記端末における操作により指定されるデータを取得する取得手段と、
前記取得手段により取得された前記データが予め定められた解除データである場合に、前記決済手段による前記決済処理の開始を許容する制御手段と、
を具備した取引処理システム。
【請求項２】
前記制御手段は、前記取得手段により取得された前記データと認証データとが予め定められた関係にある場合に、前記取得手段により取得された前記データが前記解除データであると判定する、
請求項１に記載の取引処理システム。
【請求項３】
前記制御手段は、前記客の入店時に前記端末を介して取得された認証データを用いる、請求項２に記載の取引処理システム。
【請求項４】
前記取得手段は、前記端末で読み取られたバーコードが表すバーコードデータを前記データとして取得する、
請求項１〜請求項３のいずれか一項に記載の取引処理システム。
【請求項５】
端末における操作により指定された商品を、前記端末を利用している客による購入対象の商品として登録する登録手段と、前記登録手段により登録された前記商品の代金を前記客に決済させるための決済処理を行う決済手段と、を備えた取引処理システムで用いられ、
前記登録手段により前記購入対象として登録できなかった商品が有る場合に、前記端末における操作により指定されるデータを取得する取得手段と、
前記取得手段により取得された前記データが予め定められた解除データである場合に、前記決済手段による前記決済処理の開始を許容する制御手段と、
を具備した取引支援装置。
【請求項６】
端末における操作により指定された商品を、前記端末を利用している客による購入対象の商品として登録する登録手段と、前記登録手段により登録された前記商品の代金を前記客に決済させるための決済処理を行う決済手段と、を備えた取引処理システムで用いられる取引支援装置に設けられているコンピュータを、
前記登録手段により前記購入対象として登録できなかった商品が有る場合に、前記端末における操作により指定されるデータを取得する取得手段と、
前記取得手段により取得された前記データが予め定められた解除データである場合に、前記決済手段による前記決済処理の開始を許容する制御手段と、
して機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、取引処理システム、取引支援装置、情報処理プログラム及び取引処理方法に関する。
【背景技術】
【０００２】
客による端末装置の操作に応じて取引の内容を登録する取引処理システムが、例えばカートＰＯＳシステム又はスマホＰＯＳシステムなどとして考えられている。
このようなシステムにおいては、クレジットカード決済又はバーコード決済などの決済方法を用いれば、決済の処理は端末装置における客の操作に応じて完結することが可能である。また、客の操作に応じて決済処理を行うセルフタイプの会計機を用いれば、決済の処理は会計機における客の操作に応じて完結することが可能である。そしてこのようにして決済を完結できれば、店員が関与すること無しに取引を完了することが可能である。
【０００３】
ところで、新規に販売を開始した商品、あるいは期間限定で販売する商品などに関しては、商品データベースへの登録が遅れるなどして、商品データベースに登録されていない商品が店舗に陳列されてしまうことがあり得る。また、商品には商品コードを表したバーコードとは別のバーコードが表示される場合もあり、当該商品コードを表さないバーコードを客が端末装置に読み取らせてしまうことも考えられる。これらのケースでは、該当の商品を購入商品として登録することができないが、客は登録できたと思い込んでしまう場合がある。
そしてこのような状況で、店員が関与することなしに決済が行えてしまうと、決済されていない商品が客によって持ち出されてしまうことになる。
このような事情から、客が購入商品として登録しようとしたものの正しく登録できなかった商品が決済されることなく持ち出されることを防止できることが望まれていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１９−１４４７９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、客が購入商品として登録しようとしたものの正しく登録できなかった商品が決済されることなく持ち出されることを防止できる取引処理システム、取引支援装置、情報処理プログラム及び取引処理方法を提供することである。
【課題を解決するための手段】
【０００６】
実施形態の取引処理システムは、登録手段、決済手段、取得手段及び制御手段を備える。登録手段は、端末における操作により指定された商品を、端末を利用している客による購入対象の商品として登録する。決済手段は、登録手段により登録された商品の代金を客に決済させるための決済処理を行う。取得手段は、登録手段により前記購入対象として登録できなかった商品が有る場合に、端末における操作により指定されるデータを取得する。制御手段は、取得手段により取得されたデータが予め定められた解除データである場合に、決済手段による決済処理の開始を許容する。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係る取引処理システムの概略構成を示すブロック図。
【図２】図１中の店舗サーバの要部回路構成を示すブロック図。
【図３】図１中の仮想ＰＯＳサーバの要部回路構成を示すブロック図。
【図４】図１中のモバイルコントローラの要部回路構成を示すブロック図。
【図５】図４に示す取引管理データベースに含まれるデータレコードの主要なデータ構造を示す模式図。
【図６】図４に示す登録データベースに含まれるデータレコードの主要なデータ構造を示す模式図。
【図７】図１中の通信サーバの要部回路構成を示すブロック図。
【図８】図１中のユーザ端末の要部回路構成を示すブロック図。
【図９】図８に示されるプロセッサによる情報処理のフローチャート。
【図１０】図８に示されるプロセッサによる情報処理のフローチャート。
【図１１】図８に示されるプロセッサによる情報処理のフローチャート。
【図１２】図８に示されるプロセッサによる情報処理のフローチャート。
【図１３】図８に示されるプロセッサによる情報処理のフローチャート。
【図１４】図４に示されるプロセッサによる情報処理のフローチャート。
【図１５】図４に示されるプロセッサによる情報処理のフローチャート。
【図１６】図４に示されるプロセッサによる情報処理のフローチャート。
【図１７】図４に示されるプロセッサによる情報処理のフローチャート。
【図１８】一覧画面の一例を示す図。
【図１９】登録画面の一例を示す図。
【図２０】一覧画面の一例を示す図。
【図２１】一覧画面の一例を示す図。
【図２２】ガイダンス画面の一例を示す図。
【図２３】確認画面の一例を示す図。
【図２４】解除画面の一例を示す図。
【図２５】警告画面の一例を示す図。
【図２６】会計画面の一例を示す図。
【発明を実施するための形態】
【０００８】
以下、取引処理システムの一実施形態について、図面を用いて説明する。
この実施形態における取引処理システムは、購入者に年齢制限が定められている等の事情により、販売に際して店員による確認を要する商品（以下、要確認商品と称する）を含んだ複数の商品を、来訪した客に対して販売する店舗における商品の取引を処理する。
【０００９】
図１は、本実施形態に係る取引処理システムの概略構成を示すブロック図である。
取引処理システムは、複数の店舗システム１００、中継サーバ２００及びユーザ端末３００を、通信ネットワーク４００を介して通信可能として構成される。
図１では、２つの店舗システム１００を示している。これら店舗システム１００は、取引処理システムを利用するそれぞれ異なる店舗Ａ及び店舗Ｂにそれぞれ設けられる。取引処理システムを利用する店舗が３つ以上存在してもよく、店舗毎に店舗システム１００が設けられる。なお以下において、各店舗に設けられた店舗システム１００を区別する必要がある場合には、店舗Ａに設けられた店舗システム１００を店舗システム１００Ａと表し、店舗Ｂに設けられた店舗システム１００を店舗システム１００Ｂと表す。
店舗Ａを運営する事業者は、店舗Ｂを運営する事業者と同じであっても、別であってもよい。その他の店舗で取引システムが利用される場合も、その店舗を運営する事業者は、店舗Ａ又は店舗Ｂを運営する事業者と同じであっても、別であってもよい。
【００１０】
中継サーバ２００は、ユーザ端末３００と店舗システム１００との間でのデータ通信を中継する。中継サーバ２００は例えば、通信ネットワーク４００を介したクラウドサービスとしてデータ通信の中継機能を提供する。
ユーザ端末３００は、取引システムを利用した買い物を店舗にて行う客のためのユーザインタフェースとして機能する情報通信端末である。ユーザ端末３００は、店舗システム１００と無線通信する機能と、通信ネットワーク４００と無線通信する機能とを備える。ユーザ端末３００としては、スマートフォン又はタブレット端末等のデータ通信機能を備えた通信端末が利用できる。ユーザ端末３００は、客により所有されていてもよいし、店舗にて客に貸与されてもよい。
通信ネットワーク４００としては例えば、インターネット、ＶＰＮ（virtual private network）、ＬＡＮ（local area network）、公衆通信網、移動体通信網などを、単独又は適宜に組み合わせて用いることができる。通信ネットワーク４００としては典型的には、移動体通信網とインターネット又はＶＰＮとが利用される。
【００１１】
各店舗システム１００の概略的な構成は共通である。すなわち店舗システム１００は、店舗サーバ１、仮想ＰＯＳサーバ２、モバイルコントローラ３、通信サーバ４、会計機５及びアクセスポイント６を、店内通信ネットワーク７を介して通信可能として構成される。ただし、店舗サーバ１、仮想ＰＯＳサーバ２、モバイルコントローラ３、通信サーバ４、会計機５、アクセスポイント６及び店内通信ネットワーク７は、後述する動作を実現するための機能が共通であればよく、完全に同一である必要は無い。また一部の店舗システム１００は、図１に示されない装置を備えてもよい。
【００１２】
店舗サーバ１は、店舗システム１００により後述のように実現される取引処理の対象となった複数の取引を総合的に管理する。店舗サーバ１は例えば、既存のＰＯＳサーバと同様な機能を有する。
仮想ＰＯＳサーバ２は、外部からの要求に応じて取引毎の購入商品の登録及び当該購入商品の代金の決済などのための情報処理を行う。つまり仮想ＰＯＳサーバ２は、既存のＰＯＳ端末が備える機能を仮想的に実現する。仮想ＰＯＳサーバ２が行う情報処理は、店舗毎の運営方針の違いに適応するようにカスタマイズされる。つまり、例えば店舗システム１００Ａに備えられた店舗サーバ１が行う情報処理と、店舗システム１００Ｂに備えられた店舗サーバ１が行う情報処理とでは、一部相違する場合がある。
【００１３】
モバイルコントローラ３は、仮想ＰＯＳサーバ２による上記の情報処理を、ユーザ端末３００をユーザインタフェースデバイスとして用いつつ行わせるための支援を行う。モバイルコントローラ３は、取引支援装置の一例である。
通信サーバ４は、店舗サーバ１、仮想ＰＯＳサーバ２、モバイルコントローラ３及び会計機５が、通信ネットワーク４００を介して中継サーバ２００等とデータを授受するための通信処理を行う。
【００１４】
会計機５は、仮想ＰＯＳサーバ２で管理されている取引毎の購入商品に関する代金を求めて、当該代金を客に決済させるための処理を行う。会計機５が上記の決済のために利用可能とする決済方法は、現金決済、クレジットカード決済、電子マネー決済、ポイント決済、コード決済（モバイル決済又はスマートフォン決済等とも称される）等、周知の決済方法の全て又は任意の一部であってよい。会計機５は、店員及び客のいずれにより操作されるのであってもよい。会計機５としては例えば、既存のセミセルフ方式のＰＯＳシステムで用いられるセルフ方式の会計機を用いることができる。会計機５は、商品を購入商品として登録するための情報処理を行う機能を有していてもよい。この場合に会計機５としては例えば、既存のＰＯＳシステムで用いられる対面式のＰＯＳ端末又は既存のセルフ方式のＰＯＳシステムで用いられるセルフ式のＰＯＳ端末を用いることができる。
【００１５】
アクセスポイント６は、ユーザ端末３００が無線通信により店内通信ネットワーク７へとアクセスすることを可能とするための通信処理を行う。アクセスポイント６としては例えば、ＩＥＥＥ８０２．１１規格により無線通信を行う周知の通信デバイスを用いることができる。アクセスポイント６は、店舗の売場のどこからでもユーザ端末３００が無線通信可能なように、店舗内に設置される。店舗規模によっては、複数のアクセスポイント６が、１つの店舗システム１００に配置される場合もある。
店内通信ネットワーク７としては、インターネット、ＶＰＮ、ＬＡＮ、公衆通信網、移動体通信網などを、単独又は適宜に組み合わせて用いることができる。ただし典型的には、店内通信ネットワーク７は、ＬＡＮである。
【００１６】
店舗システム１００が設けられた店舗には、その入口付近にチェックイン用の２次元コードＴＣ１が掲示され、その出口付近にチェックアウト用の２次元コードＴＣ２が掲示される。２次元コードＴＣ１は、チェックインのためのチェックインデータを表す。２次元コードＴＣ２は、チェックアウトのためのチェックアウトデータを表す。チェックインデータ及びチェックアウトデータは店舗毎に異なる。このため、店舗Ａ用の２次元コードＴＣ１，ＴＣ２と店舗Ｂ用の２次元コードＴＣ１，ＴＣ２とを区別する必要がある場合には、店舗Ａ用を２次元コードＴＣ１Ａ，ＴＣ２Ａと表し、店舗Ｂ用を２次元コードＴＣ１Ｂ，ＴＣ２Ｂと表す。
【００１７】
チェックインデータは例えば、以下に示すような情報を表す。
(1) 店舗システム１００の動作バージョン。例えば、２次元コードＴＣ１Ａが表すチェックインデータは、店舗システム１００Ａの動作バージョンを表す。２次元コードＴＣ１Ｂが表すチェックインデータは、店舗システム１００Ｂの動作バージョンを表す。
(2) 店舗システム１００が設けられる店舗を運営する事業者を識別するための事業者コード。例えば２次元コードＴＣ１Ａが表すチェックインデータは、店舗Ａを運営する事業者に割り当てられた事業者コードを表す。２次元コードＴＣ１Ｂが表すチェックインデータは、店舗Ｂを運営する事業者に割り当てられた事業者コードを表す。
(3) 店舗システム１００が設けられる店舗を識別するための店舗コード。例えば２次元コードＴＣ１Ａが表すチェックインデータは、店舗Ａに割り当てられた店舗コードを表す。２次元コードＴＣ１Ｂが表すチェックインデータは、店舗Ｂに割り当てられた店舗コードを表す。なお店舗コードは、取引処理システムを利用する全ての店舗の個々を識別可能なものであってもよいし、同じ事業者により運営される複数の店舗の個々を識別可能なものであってもよい。
【００１８】
(4) 店舗システム１００が設けられる店舗を運営する事業者の名称。例えば２次元コードＴＣ１Ａが表すチェックインデータは、店舗Ａを運営する事業者の名称を表す。２次元コードＴＣ１Ｂが表すチェックインデータは、店舗Ｂを運営する事業者の名称を表す。
(5) 店舗システム１００が設けられる店舗の名称。例えば２次元コードＴＣ１Ａが表すチェックインデータは、店舗Ａの名称を表す。２次元コードＴＣ１Ｂが表すチェックインデータは、店舗Ｂの名称を表す。
(6) ２次元コードＴＣ１と２次元コードＴＣ２とを区別するためのフラグ。チェックインデータにおける当該フラグは、チェックインデータであることを表す状態とされる。当該状態は、例えば“１”である。当該フラグは、全ての２次元コードＴＣ１で共通である。
【００１９】
(7) 通信サーバ４のＩＰアドレス。例えば２次元コードＴＣ１Ａが表すチェックインデータは、店舗システム１００Ａに含まれる通信サーバ４のＩＰアドレスを表す。２次元コードＴＣ１Ｂが表すチェックインデータは、店舗システム１００Ｂに含まれる通信サーバ４のＩＰアドレスを表す。
(8) 中継サーバ２００のドメイン名。当該ドメイン名は、全ての２次元コードＴＣ１で共通である。ただし、ドメイン名が互いに異なる複数の中継サーバ２００が、店舗毎に使い分けられてもよい。そしてこの場合には、２次元コードＴＣ１が表すチェックインデータは、対応する店舗で使用される中継サーバ２００のドメイン名が表される。
(9) 電子レシートサーバのアドレス。電子レシートサーバは、図１に示す取引処理システムに含まれず、通信ネットワーク４００を介して電子レシートサービスを提供する。例えば２次元コードＴＣ１Ａが表すチェックインデータは、店舗Ａを運営する事業者が利用する電子レシートサービスを提供する電子レシートサーバに通信ネットワーク４００を介してアクセスするためのアドレスを表す。２次元コードＴＣ１Ｂが表すチェックインデータは、店舗Ｂを運営する事業者が利用する電子レシートサービスを提供する電子レシートサーバに通信ネットワーク４００を介してアクセスするためのアドレスを表す。当該アドレスは、全ての２次元コードＴＣ１で共通であってもよいし、複数のアドレスのいずれかが２次元コードＴＣ１毎に表されていてもよい。
【００２０】
(10) 店舗システム１００とのデータ授受のためにユーザ端末３００が、アクセスポイント６との無線通信及び通信ネットワーク４００との無線通信とのいずれを利用すべきかを示すフラグ。例えば、店舗Ａにおいては、店舗システム１００Ａとユーザ端末３００とのデータ授受にアクセスポイント６との無線通信を利用するのであれば、当該フラグは例えば“１”とされる。例えば、店舗Ｂにおいては、店舗システム１００Ｂとユーザ端末３００とのデータ授受に通信ネットワーク４００との無線通信を利用するのであれば、当該フラグは例えば“０”とされる。
(11) アクセスポイント６を識別するためのＳＳＩＤ（service set identifier）。例えば２次元コードＴＣ１Ａが表すチェックインデータは、店舗システム１００Ａに含まれるアクセスポイント６を識別するＳＳＩＤを表す。２次元コードＴＣ１Ｂが表すチェックインデータは、店舗システム１００Ｂに含まれるアクセスポイント６のＳＳＩＤを表す。
(12) アクセスポイント６にアクセスするためのパスワード。例えば２次元コードＴＣ１Ａが表すチェックインデータは、店舗システム１００Ａに含まれるアクセスポイント６に設定されているパスワードを表す。２次元コードＴＣ１Ｂが表すチェックインデータは、店舗システム１００Ｂに含まれるアクセスポイント６に設定されているパスワードを表す。
【００２１】
(13) アクセスポイント６が利用するセキュリティ方式の識別番号。当該識別番号は例えば、ＷＰＡ２−ＰＳＫ方式には“１”が、ＷＰＡ−ＰＳＫ方式には“２”が、そしてＷＥＰ方式には“３”が割り付けられる。例えば、店舗システム１００Ａに含まれるアクセスポイント６がセキュリティ方式としてＷＰＡ２−ＰＳＫ方式を利用するならば、２次元コードＴＣ１Ａが表すチェックインデータは当該識別番号として“１”を表す。また例えば、店舗システム１００Ｂに含まれるアクセスポイント６がセキュリティ方式としてＷＰＡ−ＰＳＫ方式を利用するならば、２次元コードＴＣ１Ｂが表すチェックインデータは当該識別番号として“２”を表す。
(14) ユーザ端末３００が中継サーバ２００との接続に失敗したときにエラーとするか、エラーとすることなく運用を続けるかを識別するためのフラグ。例えば、店舗Ａにおいては、ユーザ端末３００が中継サーバ２００との接続に失敗したときにエラーとする設定であるならば、２次元コードＴＣ１Ａが表すチェックインデータは当該フラグとして例えば“１”を表す。また例えば、店舗Ｂにおいては、ユーザ端末３００が中継サーバ２００との接続に失敗しても運用を続ける設定であるならば、２次元コードＴＣ１Ｂが表すチェックインデータは当該フラグとして例えば“０”を表す。
【００２２】
(15) ユーザ端末３００のステータスに関する送信モードの識別番号。当該送信モードには、例えば第１モード、第２モード及び第３モードがある。当該送信モードの識別番号は例えば、第１モードには“１”が、第２モードには“２”が、第３モードには“３”が割り付けられる。第１モードでは、ユーザ端末３００のステータスを中継サーバ２００に送信する。第２モードでは、ユーザ端末３００のステータスを店舗システム１００に送信する。第２モードでは、ユーザ端末３００のステータスを送信しない。例えば、店舗Ａにおいては、送信モードとして第１モードを適用するのであれば、２次元コードＴＣ１Ａが表すチェックインデータは当該識別番号として“１”を表す。また例えば、店舗Ｂにおいては、送信モードとして第２モードを適用するのであれば、２次元コードＴＣ１Ｂが表すチェックインデータは当該識別番号として“２”を表す。
【００２３】
(16) ユーザ端末３００のログデータを蓄積したログファイルに関する送信モードの識別番号。当該送信モードには、例えば第１モード、第２モード、第３モード及び第４モードがある。当該送信モードの識別番号は例えば、第１モードには“１”が、第２モードには“２”が、第３モードには“３”が、第４モードには“４”が割り付けられる。第１モードでは、ログファイルを中継サーバ２００にのみ送信する。第２モードでは、ログファイルを店舗システム１００にのみ送信する。第３モードでは、ログファイルを店舗システム１００及び中継サーバ２００の双方に送信する。第４モードでは、ログファイルを送信しない。例えば、店舗Ａにおいては、送信モードとして第１モードを適用するのであれば、２次元コードＴＣ１Ａが表すチェックインデータは当該識別番号として“１”を表す。また例えば、店舗Ｂにおいては、送信モードとして第２モードを適用するのであれば、２次元コードＴＣ１Ｂが表すチェックインデータは当該識別番号として“２”を表す。
【００２４】
(17) ログファイルを、通信ネットワーク４００を介して中継サーバ２００へとＦＴＰ（file transfer protocol）により送信する際に使用するホスト名又はＩＰアドレス。
(18) ログファイルを、通信ネットワーク４００を介して中継サーバ２００へとＦＴＰにより送信する際に使用するユーザ名。
(19) ログファイルを、通信ネットワーク４００を介して中継サーバ２００へとＦＴＰにより送信する際に使用するパスワード。
(20) 通信ネットワーク４００を介して中継サーバ２００へとＦＴＰにより送信するログファイルのパス名。
【００２５】
(21) 商品コードの一種であるＵＰＣ（universal product cord）のチェックデジットを削除するか否かを識別するためのフラグ。例えば、店舗Ａにおいては、当該のチェックデジットを削除しない運用であるならば、２次元コードＴＣ１Ａが表すチェックインデータは当該フラグとして例えば“１”を表す。また例えば、店舗Ｂにおいては、当該のチェックデジットを削除する運用であるならば、２次元コードＴＣ１Ｂが表すチェックインデータは当該フラグとして例えば“０”を表す。
(22) ユーザ端末３００においてカメラ画面を自動遷移させるまでの時間。２次元コードＴＣ１Ａが表すチェックインデータは当該時間として、店舗Ａに関して予め設定された時間を表す。２次元コードＴＣ１Ｂが表すチェックインデータは当該時間として、店舗Ｂに関して予め設定された時間を表す。
(23) ユーザ端末３００がアクセスポイント６を介して店舗システム１００と通信を行う際のタイムアウト時間。２次元コードＴＣ１Ａが表すチェックインデータは当該時間として、店舗Ａに関して予め設定された時間を表す。２次元コードＴＣ１Ｂが表すチェックインデータは当該時間として、店舗Ｂに関して予め設定された時間を表す。
【００２６】
(24) ユーザ端末３００と店舗システム１００とのアクセスポイント６を介した通信がタイムアウトした場合にリトライを許容する回数。２次元コードＴＣ１Ａが表すチェックインデータは当該回数として、店舗Ａに関して予め設定された回数を表す。２次元コードＴＣ１Ｂが表すチェックインデータは当該時間として、店舗Ｂに関して予め設定された回数を表す。
(25) ユーザ端末３００が中継サーバ２００を介して店舗システム１００と通信を行う際のタイムアウト時間。２次元コードＴＣ１Ａが表すチェックインデータは当該時間として、店舗Ａに関して予め設定された時間を表す。２次元コードＴＣ１Ｂが表すチェックインデータは当該時間として、店舗Ｂに関して予め設定された時間を表す。
(26) ユーザ端末３００と店舗システム１００との中継サーバ２００を介した通信がタイムアウトした場合にリトライを許容する回数。２次元コードＴＣ１Ａが表すチェックインデータは当該回数として、店舗Ａに関して予め設定された回数を表す。２次元コードＴＣ１Ｂが表すチェックインデータは当該時間として、店舗Ｂに関して予め設定された回数を表す。
【００２７】
(27) 店員による確認が必要な商品を対象とした取引に関する確認終了の宣言を認証するための認証処理で用いる認証データ。２次元コードＴＣ１Ａが表すチェックインデータは、店舗Ａに関して予め設定された認証データを表す。２次元コードＴＣ１Ｂが表すチェックインデータは、店舗Ｂに関して予め設定された認証データを表す。認証データは、店舗毎で異なるように定められることが好ましいが、異なる店舗で同じ認証データが設定されても構わない。
(28) 店舗システム１００の動作モードを識別するためのデータ。例えば、店舗システム１００Ａが、取引処理システムを通常に運用する通常モードに設定されているならば、２次元コードＴＣ１Ａが表すチェックインデータは当該データとして例えば“１”を表す。また例えば、店舗システム１００Ｂが、取引処理システムをデモ運用するデモモードに設定されているならば、２次元コードＴＣ１Ｂが表すチェックインデータは当該データとして例えば“２”を表す。
(29) 会計機５へのデータ転送のモードを識別するためのデータ。例えば、店舗システム１００Ａが、会計機５からモバイルコントローラ３にデータ転送を要求するモードに設定されているならば、２次元コードＴＣ１Ａが表すチェックインデータは当該データとして例えば“１”を表す。また例えば、店舗システム１００Ｂが、会計機５からの要求無しにモバイルコントローラ３から会計機５へとデータ転送するモードに設定されているならば、２次元コードＴＣ１Ｂが表すチェックインデータは当該データとして例えば“２”を表す。
【００２８】
(30) ユーザ端末３００での操作によるコード決済方式での決済を許容するか否かを表すフラグ。例えば、店舗Ａでは当該のコード決済を許容されるならば、２次元コードＴＣ１Ａが表すチェックインデータは当該フラグとして例えば“１”を表す。また例えば、店舗Ｂでは当該のコード決済が許容されないならば、２次元コードＴＣ１Ｂが表すチェックインデータは当該フラグとして例えば“０”を表す。
(31) 購入者の年齢制限が定められている商品（以下、年齢制限商品と称する）のユーザ端末３００での登録を許容するか否かを識別するためのフラグ。例えば、店舗Ａでは年齢制限商品のユーザ端末３００での登録が許容されるならば、２次元コードＴＣ１Ａが表すチェックインデータは当該フラグとして例えば“１”を表す。また例えば、店舗Ｂでは当該のコード決済が許容されないならば、２次元コードＴＣ１Ｂが表すチェックインデータは当該フラグとして例えば“０”を表す。
(32) ポイント会員の会員コードの入力モードを識別するためのデータ。例えば、店舗システム１００Ａが、会員コードを手入力するモードに設定されているならば、２次元コードＴＣ１Ａが表すチェックインデータは当該データとして例えば“１”を表す。また例えば、店舗システム１００Ｂが、バーコードの読み取りにより会員コードを入力するモードに設定されているならば、２次元コードＴＣ１Ｂが表すチェックインデータは当該データとして例えば“２”を表す。
【００２９】
(33) ポイント会員の会員コードを手入力するモードが設定されている場合に、会員コードの入力に際して店員の確認を必要とするか否かを識別するためのフラグ。例えば、店舗Ａにて当該確認を必要とするならば、２次元コードＴＣ１Ａが表すチェックインデータは当該フラグとして例えば“１”を表す。また例えば、店舗Ｂにて当該確認を不要とするならば、２次元コードＴＣ１Ｂが表すチェックインデータは当該フラグとして例えば“０”を表す。
(34) チェックイン時にユーザ端末３００のバッテリ残量のチェックをするための閾値。当該閾値は、店舗毎又は事業者毎に設定される。例えば店舗Ａを運営する事業者が当該閾値を「２０％」と定めている場合は、２次元コードＴＣ１Ａが表すチェックインデータは当該閾値として例えば“２０”を表す。また例えば店舗Ｂが当該閾値を「２５％」と定めている場合は、２次元コードＴＣ１Ｂが表すチェックインデータは当該閾値として例えば“２５”を表す。
以上が、チェックインデータが表す情報の例である。ただし、チェックインデータは、以上に示した各種の情報のうちの一部を含まなくてもよい。またチェックインデータは、以上に示した各種の情報とは別の情報を表してもよい。
【００３０】
図２は店舗サーバ１の要部回路構成を示すブロック図である。
店舗サーバ１は、プロセッサ１１、メインメモリ１２、補助記憶ユニット１３、通信インタフェース１４及び伝送路１５を含む。プロセッサ１１、メインメモリ１２、補助記憶ユニット１３及び通信インタフェース１４は、伝送路１５を介して通信可能とされている。そして、プロセッサ１１、メインメモリ１２及び補助記憶ユニット１３が伝送路１５により接続されていることによって、店舗サーバ１を制御するためのコンピュータが構成される。
【００３１】
プロセッサ１１は、上記コンピュータの中枢部分に相当する。プロセッサ１１は、オペレーティングシステム及びアプリケーションプログラム等の情報処理プログラムに従って、店舗サーバ１としての各種の機能を実現するための情報処理を実行する。プロセッサ１１は、例えばＣＰＵ（central processing unit）である。
【００３２】
メインメモリ１２は、上記コンピュータの主記憶部分に相当する。メインメモリ１２は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ１２は、不揮発性のメモリ領域では上記の情報処理プログラムを記憶する。メインメモリ１２は、プロセッサ１１が情報処理を実行する上で必要なデータを不揮発性又は揮発性のメモリ領域で記憶する場合もある。メインメモリ１２は、揮発性のメモリ領域を、プロセッサ１１によってデータが適宜書き換えられるワークエリアとして使用する。不揮発性のメモリ領域は、例えばＲＯＭ（read only memory）である。揮発性のメモリ領域は、例えばＲＡＭ（random access memory）である。
【００３３】
補助記憶ユニット１３は、上記コンピュータの補助記憶部分に相当する。補助記憶ユニット１３としては、例えばＥＥＰＲＯＭ（electric erasable programmable read-only memory）、ＨＤＤ（hard disc drive）、あるいはＳＳＤ（solid state drive）等の周知の記憶デバイスを用いた記憶ユニットを利用できる。補助記憶ユニット１３は、プロセッサ１１が各種の処理を行う上で使用するデータ、あるいはプロセッサ１１での処理によって作成されたデータ等を保存する。補助記憶ユニット１３は、上記の情報処理プログラムを記憶する場合もある。
【００３４】
通信インタフェース１４は、店内通信ネットワーク７に接続された各部との間で所定の通信プロトコルに従いデータ通信を行う。通信インタフェース１４としては、例えばＬＡＮ用の周知の通信デバイスを適用できる。
伝送路１５は、アドレスバス、データバス及び制御信号線等を含み、接続された各部の間で授受されるデータ及び制御信号を伝送する。
【００３５】
補助記憶ユニット１３は、情報処理プログラムの１つである店舗管理アプリＡＰ１１を記憶する。店舗管理アプリＡＰ１１は、アプリケーションプログラムであり、店舗サーバ１としての機能を実現するための情報処理について記述されている。店舗管理アプリＡＰ１１は、店舗毎、あるいは店舗を運営する事業者毎の店舗運営方針に適応して作成された別々のものであってよい。例えば、店舗Ａと店舗Ｂとで売上データの管理方法が異なるならば、店舗システム１００Ａで用いられる店舗管理アプリＡＰ１１は、店舗Ａでの売上データの管理方法に適応した売上データの管理のための情報処理について記述され、店舗システム１００Ｂで用いられる店舗管理アプリＡＰ１１は、店舗Ｂでの売上データの管理方法に適応した売上データの管理のための情報処理について記述される。
【００３６】
補助記憶ユニット１３の記憶領域の一部は、データベース群ＤＢ１１として使用される。データベース群ＤＢ１１は、各種の情報管理のための複数のデータベースを含む。データベース群ＤＢ１１に含まれるデータベースの１つは、店舗で販売する商品を管理するための商品データベースである。商品データベースは、管理の対象となる商品に関連付けられたデータレコードの集合である。商品データベースのデータレコードには、商品コード、価格及び商品名等の、関連付けられた商品に関するデータが含まれる。商品コードは、商品をＳＫＵ（stock keeping unit）毎に識別するために定められた識別コードであり、例えばＪＡＮ（Japanese article number）コードが用いられる。商品名は、商品を人間が区別し易いように定められた名称である。価格は、商品の販売の対価となる金額である。
【００３７】
データベース群ＤＢ１１に含まれるデータベースの１つは、店舗の利用者を管理するための利用者データベースである。利用者データベースは、利用者として登録された客に関連付けられたデータレコードの集合である。利用者データベースのデータレコードには、利用者コード及び利用者を特定するための属性情報等の、関連付けられた客に関するデータが含まれる。利用者コードは、利用者を個々に識別するために客毎に定められた一意の識別コードである。属性情報は、氏名、性別、年齢、住所、電話番号などを含み得る。また利用者データベースのデータレコードには、利用者が申告した決済情報を含む場合もある。決済情報は、クレジット番号又はコード決済ＩＤ（identifier）などである。また複数の決済方法を選択可能とする場合には、決済情報に決済方法を識別するための決済方法コードを含む場合もある。また、ポイントサービスを提供する店舗の場合には、ポイントサービスのＩＤ及び保有ポイント数などを決済情報に含む場合もある。
【００３８】
この他、データベース群ＤＢ１１には、既存のＰＯＳシステムにおけるＰＯＳサーバで管理されるような様々なデータベースが含まれ得る。なお、データベース群ＤＢ１１がどのようなデータベースと含むか、あるいはそれらデータベースがどのようなデータをどのような構造で含んでいるかは、店舗毎に定められてよい。
【００３９】
図３は仮想ＰＯＳサーバ２の要部回路構成を示すブロック図である。
仮想ＰＯＳサーバ２は、プロセッサ２１、メインメモリ２２、補助記憶ユニット２３、通信インタフェース２４及び伝送路２５を含む。プロセッサ２１、メインメモリ２２、補助記憶ユニット２３及び通信インタフェース２４は、伝送路２５を介して通信可能とされている。そして、プロセッサ２１、メインメモリ２２及び補助記憶ユニット２３が伝送路２５により接続されていることによって、仮想ＰＯＳサーバ２を制御するためのコンピュータが構成される。なお、プロセッサ２１、メインメモリ２２、補助記憶ユニット２３、通信インタフェース２４及び伝送路２５の機能の概略は、プロセッサ１１、メインメモリ１２、補助記憶ユニット１３、通信インタフェース１４及び伝送路１５と同等であるので、その説明は省略する。
【００４０】
ただし補助記憶ユニット２３は、店舗管理アプリＡＰ１１に代えて仮想ＰＯＳアプリＡＰ２１を記憶する。仮想ＰＯＳアプリＡＰ２１は、アプリケーションプログラムであり、仮想ＰＯＳサーバ２としての機能を実現するための情報処理について記述されている。仮想ＰＯＳアプリＡＰ２１は、店舗毎、あるいは店舗を運営する事業者毎の店舗運営方針に適応して作成された別々のものであってよい。例えば、店舗Ａでは、店舗Ｂでは行われない割引サービスを行うのであるならば、店舗システム１００Ａで用いられる仮想ＰＯＳアプリＡＰ２１は、当該割引サービスを実現するための情報処理について記述され、店舗システム１００Ｂで用いられる仮想ＰＯＳアプリＡＰ２１は、当該割引サービスを実現するための情報処理について記述されない。
【００４１】
また補助記憶ユニット２３の記憶領域の一部は、データベース群ＤＢ１１に代えて取引データベースＤＢ２１として使用される。取引データベースＤＢ２１は、店内で買い回り中である客との取引に関連付けられたデータレコードの集合である。取引データベースＤＢ２１のデータレコードには、取引コードと、購入商品として登録済みの商品に関する商品データとを含む。取引コードは、取引の個々を識別するために取引毎に設定された一意の識別コードである。商品データは、商品コード、商品名、価格及び個数などを表す。取引データベースＤＢ２１の構造は、店舗毎、あるいは店舗を運営する事業者毎の店舗運営方針に適応して個別に定められてよい。
【００４２】
図４はモバイルコントローラ３の要部回路構成を示すブロック図である。
モバイルコントローラ３は、プロセッサ３１、メインメモリ３２、補助記憶ユニット３３、通信インタフェース３４及び伝送路３５を含む。プロセッサ３１、メインメモリ３２、補助記憶ユニット３３及び通信インタフェース３４は、伝送路３５を介して通信可能とされている。そして、プロセッサ３１、メインメモリ３２及び補助記憶ユニット３３が伝送路３５により接続されていることによって、モバイルコントローラ３を制御するためのコンピュータが構成される。なお、プロセッサ３１、メインメモリ３２、補助記憶ユニット３３、通信インタフェース３４及び伝送路３５の機能の概略は、プロセッサ１１、メインメモリ１２、補助記憶ユニット１３、通信インタフェース１４及び伝送路１５と同等であるので、その説明は省略する。
【００４３】
ただし補助記憶ユニット３３は、店舗管理アプリＡＰ１１に代えて登録支援アプリＡＰ３１を記憶する。登録支援アプリＡＰ３１は、アプリケーションプログラムであり、購入商品の登録を支援するための後述する情報処理について記述されている。登録支援アプリＡＰ３１は、各店舗システム１００で共通である。ただし、登録支援アプリＡＰ３１に基づく情報処理のための各種の設定は、店舗システム１００毎にカスタマイズされてもよい。
【００４４】
また補助記憶ユニット２３の記憶領域の一部は、データベース群ＤＢ１１に代えて取引管理データベースＤＢ３１及び登録データベースＤＢ３２として使用される。これら取引管理データベースＤＢ３１及び登録データベースＤＢ３２の構造は、各店舗システム１００で共通である。
【００４５】
図５は取引管理データベースＤＢ３１に含まれるデータレコードＤＲ１の主要なデータ構造を示す模式図である。
取引管理データベースＤＢ３１は、店内で客が利用するユーザ端末３００に関連付けられたデータレコードＤＲ１の集合である。このため、店内に存在する客が１人であるときには、取引管理データベースＤＢ３１はデータレコードＤＲ１を１つ含む。また店内に存在する客が１人も居ないときには、取引管理データベースＤＢ３１はデータレコードＤＲ１を含まない。そしてデータレコードＤＲ１は、フィールドＦ１１，Ｆ１２，Ｆ１３，Ｆ１４を含む。
【００４６】
フィールドＦ１１には、関連付けられたユーザ端末３００を他のユーザ端末３００と識別するための端末コードがセットされる。端末コードとしては例えば、ユーザ端末３００として利用される通信端末の個々を識別するために通信端末毎に設定された一意の識別コードを用いることができる。あるいは端末コードとしては例えば、後述するスマホＰＯＳアプリをユーザ端末３００にインストールする際に当該スマホＰＯＳアプリに対して設定される識別コードを用いることができる。フィールドＦ１２には、関連付けられたユーザ端末３００を使用している客を他の客と識別するための会員コードがセットされる。フィールドＦ１３には、関連付けられたユーザ端末３００を用いて行われる取引の取引コードがセットされる。フィールドＦ１４には、関連付けられたユーザ端末３００を利用して購入商品として登録済みの商品に、要確認商品が含まれるか否かを識別するための要確認フラグがセットされる。本実施形態では、要確認フラグは、“１”であるときに要確認商品が含まれることを表すこととする。なお、データレコードＤＲ１には、フィールドＦ１１〜Ｆ１５とは別のデータがセットされる別のフィールドが含まれてもよい。言い換えれば、要確認フラグは、店員による確認が必要であるか否かを表している。
【００４７】
図６は登録データベースＤＢ３２に含まれるデータレコードＤＲ２の主要なデータ構造を示す模式図である。
登録データベースＤＢ３２は、店内で買い回り中である客との取引に関連付けられたデータレコードＤＲ２の集合である。そしてデータレコードＤＲ２は、フィールドＦ２１，Ｆ２２を含む。データレコードＤＲ１はまた、フィールドＦ２３，Ｆ２４，…を含み得る。
【００４８】
フィールドＦ２１には、関連付けられた取引の取引コードがセットされる。この取引コードは、関連付けられた取引で使用されているユーザ端末３００に関連付けられたデータレコードＤＲ１のフィールドＦ１２にセットされた取引コードと同一である。フィールドＦ２２には、関連付けられた取引に関して試みられた商品登録に関する登録データがセットされる。登録データについては、後述する。
【００４９】
データレコードＤＲ２には、関連付けられた取引に関して２つ以上の購入商品の登録が試みられている場合に、フィールドＦ２３以降のフィールドが含まれる。そしてフィールドＦ２３以降のフィールドにも、フィールドＦ１２と同様な登録データがセットされる。
【００５０】
図７は通信サーバ４の要部回路構成を示すブロック図である。
通信サーバ４は、プロセッサ４１、メインメモリ４２、補助記憶ユニット４３、通信インタフェース４４、通信ユニット４５及び伝送路４６を含む。プロセッサ４１、メインメモリ４２、補助記憶ユニット４３、通信インタフェース４４及び通信ユニット４５は、伝送路４６を介して通信可能とされている。そして、プロセッサ４１、メインメモリ４２及び補助記憶ユニット４３が伝送路４６により接続されていることによって、通信サーバ４を制御するためのコンピュータが構成される。なお、プロセッサ４１、メインメモリ４２、補助記憶ユニット４３、通信インタフェース４４及び伝送路４６の機能の概略は、プロセッサ１１、メインメモリ１２、補助記憶ユニット１３、通信インタフェース１４及び伝送路１５と同等であるので、その説明は省略する。
通信ユニット４５は通信ネットワーク４００を介したデータ通信のための通信処理を行う。通信ユニット４５としては、例えば周知のインターネット接続デバイスを適用できる。
【００５１】
補助記憶ユニット４３は、店舗管理アプリＡＰ１１に代えて通信処理アプリＡＰ４１を記憶する。通信処理アプリＡＰ４１は、アプリケーションプログラムであり、モバイルコントローラ３とユーザ端末３００との間でのデータ授受を可能とするべく、通信ネットワーク４００を介して中継サーバ２００と通信するための情報処理について記述されている。通信処理アプリＡＰ４１は、各店舗システム１００で共通である。ただし、通信処理アプリＡＰ４１に基づく情報処理のための各種の設定は、店舗システム１００毎にカスタマイズされてもよい。
【００５２】
図８はユーザ端末３００の要部回路構成を示すブロック図である。
ユーザ端末３００は、プロセッサ３０１、メインメモリ３０２、補助記憶ユニット３０３、タッチパネル３０４、カメラ３０５、無線通信ユニット３０６、モバイル通信ユニット３０７及び伝送路３０８等を備える。プロセッサ３０１と、メインメモリ３０２、補助記憶ユニット３０３、タッチパネル３０４、カメラ３０５及びモバイル通信ユニット３０７とは、伝送路３０８を介して通信可能とされている。そして、プロセッサ３０１、メインメモリ３０２及び補助記憶ユニット３０３が伝送路３０８により接続されていることによって、ユーザ端末３００を制御するためのコンピュータが構成される。なお、プロセッサ３０１、メインメモリ３０２、補助記憶ユニット３０３及び伝送路３０８の機能の概略は、プロセッサ１１、メインメモリ１２、補助記憶ユニット１３及び伝送路１５と同等であるので、その説明は省略する。
【００５３】
タッチパネル３０４は、ユーザ端末３００の入力デバイス及び表示デバイスとして機能する。
カメラ３０５は、光学系及びイメージセンサを含み、光学系により形成される視野内の像を表した画像データをイメージセンサにより生成する。
【００５４】
無線通信ユニット３０６は、アクセスポイント６との間で無線通信プロトコルに従った無線通信によりデータを授受する。無線通信ユニット３０６としては、例えばＩＥＥＥ８０２．１１規格に準拠した周知の通信デバイスを利用できる。
モバイル通信ユニット３０７は、通信ネットワーク４００を介したデータ通信のインタフェースである。モバイル通信ユニット３０７としては、例えば移動通信網を介したデータ通信を行うための周知の通信デバイスを利用できる。
【００５５】
なお補助記憶ユニット３０３は、情報処理プログラムの１つであるスマホＰＯＳアプリＡＰ３０１を記憶する。スマホＰＯＳアプリＡＰ３０１は、アプリケーションプログラムであり、ユーザ端末３００を店舗システム１００のユーザインタフェースとして機能させるための後述する情報処理について記述されている。スマホＰＯＳアプリＡＰ３０１は、複数のユーザ端末３００で共通に利用される。
【００５６】
さて、店舗サーバ１、仮想ＰＯＳサーバ２又はモバイルコントローラ３のハードウェアとしては、例えば汎用のサーバ装置を用いることができる。そして店舗サーバ１、仮想ＰＯＳサーバ２又はモバイルコントローラ３の譲渡は一般に、補助記憶ユニット１３，２３又は３３に店舗管理アプリＡＰ１１、仮想ＰＯＳアプリＡＰ２１又は登録支援アプリＡＰ３１がそれぞれ記憶され、データベース群ＤＢ１１、取引データベースＤＢ２１、又は取引管理データベースＤＢ３１及び登録データベースＤＢ３２が記憶されない状態にて行われる。しかし、店舗管理アプリＡＰ１１、仮想ＰＯＳアプリＡＰ２１又は登録支援アプリＡＰ３１が補助記憶ユニット１３，２３又は３３に記憶されない状態、あるいは同種の別バージョンのアプリケーションプログラムが補助記憶ユニット１３，２３又は３３に記憶された状態のハードウェアと、店舗管理アプリＡＰ１１、仮想ＰＯＳアプリＡＰ２１又は登録支援アプリＡＰ３１とが個別に譲渡されてもよい。そして、任意の作業者の操作に応じて、補助記憶ユニット１３，２３又は３３に店舗管理アプリＡＰ１１、仮想ＰＯＳアプリＡＰ２１又は登録支援アプリＡＰ３１が書き込まれることによって、店舗サーバ１、仮想ＰＯＳサーバ２又はモバイルコントローラ３が構成されてもよい。店舗管理アプリＡＰ１１、仮想ＰＯＳアプリＡＰ２１又は登録支援アプリＡＰ３１の譲渡は、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介した通信により行うことができる。取引データベースＤＢ２１、又は取引管理データベースＤＢ３１及び登録データベースＤＢ３２は、プロセッサ１１，２１又は３１が店舗管理アプリＡＰ１１、仮想ＰＯＳアプリＡＰ２１又は登録支援アプリＡＰ３１に基づく情報処理を実行することで、補助記憶ユニット１３，２３又は３３内に構成される。なお、店舗管理アプリＡＰ１１及びデータベース群ＤＢ１１に含まれるデータベースの少なくとも一部が、メインメモリ１２に記憶されてもよい。仮想ＰＯＳアプリＡＰ２１及び取引データベースＤＢ２１の少なくとも一部が、メインメモリ２２に記憶されてもよい。登録支援アプリＡＰ３１、取引管理データベースＤＢ３１及び登録データベースＤＢ３２の少なくとも一部が、メインメモリ３２に記憶されてもよい。
【００５７】
次に以上のように構成された取引処理システムの動作について説明する。なお、以下に説明する各種の処理の内容は一例であって、一部の処理の順序の変更、一部の処理の省略、あるいは別の処理の追加などは適宜に可能である。例えば、以下の説明では、本実施形態の特徴的な動作を分かり易く説明するために、一部の処理についての説明を省略している。例えば、何らかのエラーが発生した場合に、そのエラーに対処するための処理が行われる場合があるが、そのような処理の一部については記載を省略している。
なお、以下に説明する取引処理システムの動作により客に提供されるサービスをスマホＰＯＳサービスと称する。
【００５８】
スマホＰＯＳサービスを利用するためにユーザ端末３００が店舗システム１００とデータを授受するが、そのための通信にアクセスポイント６との無線通信及び通信ネットワーク４００との無線通信とのいずれを利用するかは、チェックインデータに含まれるフラグの状態により決まる。しかしながら以下においては説明の簡略化のために、アクセスポイント６との無線通信のみを用いる場合について説明する。また、会計機５で会計を行わせるために仮想ＰＯＳサーバ２から会計機５へのデータ転送を、会計機５からモバイルコントローラ３にデータ転送を要求するモードと、会計機５からの要求無しにモバイルコントローラ３から会計機５へとデータ転送するモードとのいずれを利用するかは、チェックインデータに含まれるフラグの状態により決まる。しかしながら以下においては説明の簡略化のために、会計機５からモバイルコントローラ３にデータ転送を要求するモードが固定的に用いられることとして説明する。
【００５９】
客は、スマホＰＯＳサービスを利用するためには、自らが所有するスマートフォン等にスマホＰＯＳアプリＡＰ３０１をインストールして、ユーザ端末３００として利用可能としておく。あるいは、客は、タブレット端末などにスマホＰＯＳアプリＡＰ３０１をインストールして構成されたユーザ端末３００を店舗にて借りる。そして客は、スマホＰＯＳアプリＡＰ３０１に基づく情報処理を起動した状態のユーザ端末３００を持って、店舗システム１００が設けられたいずれかの店舗へと入る。
【００６０】
さてユーザ端末３００においてプロセッサ３０１は、スマホＰＯＳアプリＡＰ３０１に基づいて図９、図１０、図１１、図１２及び図１３に示すような情報処理を実行する。
まず図９に示すＡＣＴ１０１としてプロセッサ３０１は、メインメニュー画面をタッチパネル３０４に表示させる。メインメニュー画面は、スマホＰＯＳアプリＡＰ３０１に基づいて行うべきいくつかの処理のいずれかの指定を受けるための画面である。メインメニュー画面には、買い物の開始を指定するためのＧＵＩ（graphical user interface）要素を含む、複数のＧＵＩ要素が配置されている。なおＧＵＩ要素は、例えばソフトキーである。
【００６１】
ＡＣＴ１０２としてプロセッサ３０１は、買い物の開始が指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定が確認できないならばＮＯと判定し、ＡＣＴ１０３へと進む。
ＡＣＴ１０３としてプロセッサ３０１は、買い物の開始以外の指定がなされたか否かを確認する。そしてプロセッサ３０１は、該当の指定が確認できないならばＮＯと判定し、ＡＣＴ１０２へと戻る。
かくしてプロセッサ３０１はＡＣＴ１０２及びＡＣＴ１０３としては、メインメニュー画面での何らかの指定がなされるのを待ち受ける。そしてプロセッサ３０１は、買い物の開始以外の指定がなされたならば、ＡＣＴ１０３にてＹＥＳと判定し、指定された処理へと進む。なおこの場合のプロセッサ３０１の処理についての説明は省略する。
【００６２】
客は、店舗に入って買い物を開始する場合には、メインメニュー画面にて買い物の開始を指定するための予め定められた操作を行う。
プロセッサ３０１は、買い物の開始を指定するための操作が例えばタッチパネル３０４にて検出されると、ＡＣＴ１０２にてＹＥＳと判定し、ＡＣＴ１０４へと進む。
ＡＣＴ１０４としてプロセッサ３０１は、チェックイン用のスキャン画面をタッチパネル３０４に表示させる。チェックイン用のスキャン画面は、チェックイン用の２次元コードＴＣ１を読み取るように客に促す画面である。プロセッサ３０１は例えば、カメラ３０５を起動し、これによりカメラ３０５で得られた画像に、２次元コードＴＣ１を読み取るように客に促す文字メッセージと、２次元コードＴＣを翳すべき位置の目安を示すラインとを重ねてスキャン画面を生成する。
【００６３】
客は、スキャン画面がタッチパネル３０４に表示されたならば、店舗の入口付近に掲示されている２次元コードＴＣ１がスキャン画面に映り込むようにカメラ３０５を２次元コードＴＣ１に向ける。
ＡＣＴ１０５としてプロセッサ３０１は、２次元コードが読み取れるのを待ち受ける。このときにプロセッサ３０１は、カメラ３０５で得られる画像を繰り返し解析し、２次元コードの読み取りを試みる。この２次元コードの読み取りは、スマホＰＯＳアプリＡＰ３０１に基づく処理として行われてもよいし、２次元コードの読み取り用の別のアプリケーションプログラムに基づく処理として行われてもよい。そしてプロセッサ３０１は、２次元コードが読み取れたならばＹＥＳと判定し、ＡＣＴ１０６へと進む。
【００６４】
ＡＣＴ１０６としてプロセッサ３０１は、読み取った２次元コードが表すデータがチェックインデータであるか否かを確認する。そしてプロセッサ３０１は、チェックインデータでなければＮＯと判定し、ＡＣＴ１０５へと戻る。このときにプロセッサ３０１は、誤った２次元コードが読み取られたことを客に通知する画面をタッチパネル３０４に表示させてもよい。
【００６５】
プロセッサ３０１は、読み取った２次元コードが表すデータがチェックインデータであることが確認できたならば、ＡＣＴ１０６にてＹＥＳと判定し、ＡＣＴ１０７へと進む。
ＡＣＴ１０７としてプロセッサ３０１は、読み取ったチェックインデータを、メインメモリ３０２又は補助記憶ユニット３０３に保存する。
【００６６】
ＡＣＴ１０８としてプロセッサ３０１は、モバイルコントローラ３に対して、チェックインを要求する。具体的にはプロセッサ３０１は、チェックインデータに表されたデータに基づいて、無線通信ユニット３０６とアクセスポイント６との無線通信を確立する。例えば店舗Ａにて２次元コードＴＣ１Ａに客によってカメラ３０５が向けられたならば、２次元コードＴＣ１Ａが表すチェックインデータに基づいてプロセッサ３０１は、店舗システム１００Ａに設けられたアクセスポイント６との無線通信を確立する。そしてプロセッサ３０１は、アクセスポイント６との無線通信を介して、チェックインを要求するための要求データをモバイルコントローラ３に宛てて送信する。上述のように店舗システム１００Ａに設けられたアクセスポイント６との無線通信が確立している場合には、当該の要求データは、店舗システム１００Ａに設けられたアクセスポイント６及び店内通信ネットワーク７を介して、店舗システム１００Ａに設けられたモバイルコントローラ３へと伝送される。なおプロセッサ３０１は、チェックインを要求するための要求データには、チェックインの要求であることを識別するための識別データと、端末コードとを含める。プロセッサ３０１は、客がスマホＰＯＳサービスの利用登録者であり、会員コードを有している場合には、その会員コードも要求データに含める。会員コードは例えば、ユーザ端末３００の補助記憶ユニット３０３で記憶される。プロセッサ３０１は、例えば客を認証するためのデータなどのその他のデータを要求データに含めてもよい。
なお、以降において説明するユーザ端末３００からモバイルコントローラ３への各種の要求は、上記と同様に、要求の理由を識別するための識別データを含んだ要求データをアクセスポイント６及び店内通信ネットワーク７を介してユーザ端末３００からモバイルコントローラ３へと送ることにより実現される。
【００６７】
モバイルコントローラ３においてプロセッサ３１は、チェックインを要求するための要求データが通信インタフェース３４によって受信されると、チェックインしようとしている客との取引に関する情報処理を開始する。
【００６８】
図１４、図１５、図１６及び図１７はプロセッサ３１による情報処理のフローチャートである。
プロセッサ３１は、チェックインを要求するための要求データが通信インタフェース３４によって受信される毎に、当該情報処理を開始する。別の要求に基づいて開始した情報処理を既に実行している場合には、それに並行して新たな情報処理を開始する。つまりプロセッサ３１は、複数のユーザ端末３００をそれぞれ対象として情報処理を複数並行して実行する場合がある。以下においては、単に「ユーザ端末３００」と表す場合には、プロセッサ３１の情報処理の対象となっているユーザ端末３００を指すこととする。
【００６９】
図１４のＡＣＴ２０１としてプロセッサ３１は、チェックイン処理を行う。プロセッサ３１は例えば、仮想ＰＯＳサーバ２に取引の開始を要求し、取引コードの通知を受ける。そしてプロセッサ３１は、要求データに含まれた端末コードをフィールドＦ１１にセットした新たなデータレコードＤＲ１を取引管理データベースＤＢ３１に追加する。プロセッサ３１は、要求データに会員コードが含まれるならば、当該会員コードを、新たなデータレコードＤＲ１のフィールドＦ１２にセットする。プロセッサ３１は、上記の通知された取引コードを、新たなデータレコードＤＲ１のフィールドＦ１３にセットする。またプロセッサ３１は、“０”を要確認フラグとして新たなデータレコードＤＲ１のフィールドＦ１４にセットする。これにより、チェックインを要求したユーザ端末３００を用いて行われる取引の管理が開始される。
【００７０】
なお仮想ＰＯＳサーバ２においてプロセッサ２１は、取引の開始がモバイルコントローラ３から要求されたならば、予め定められたルールに従って取引コードを決定し、その取引コードに関連付けての購入商品の登録処理を開始する。またプロセッサ２１は、決定した取引コードをモバイルコントローラ３に通知する。
【００７１】
ＡＣＴ２０２としてプロセッサ３１は、チェックイン処理を正常に完了したか否かを確認する。そしてプロセッサ３１は、何らかの異常によりチェックイン処理を正常に完了することができなかったならばＮＯと判定し、ＡＣＴ２０３へと進む。
ＡＣＴ２０３としてプロセッサ３１は、ユーザ端末３００に対してエラーを通知する。プロセッサ３１は例えば、エラー通知のための通知データを、店内通信ネットワーク７及びアクセスポイント６を介してユーザ端末３００へと送信する。プロセッサ３１は、エラーの通知であることを識別するための識別データを通知データに含める。プロセッサ３１は、エラーの原因を表すエラーコードを通知データに含めてもよい。
なお、以降において説明するモバイルコントローラ３からユーザ端末３００への各種の通知は、上記と同様に、通知の理由を識別するための識別データを含んだ通知データを店内通信ネットワーク７及びアクセスポイント６を介してモバイルコントローラ３からユーザ端末３００へと送ることにより実現される。
【００７２】
プロセッサ３１は一方、チェックイン処理を正常に完了することができたならばＡＣＴ２０２にてＹＥＳと判定し、ＡＣＴ２０４へと進む。
ＡＣＴ２０４としてプロセッサ３１は、ユーザ端末３００に対してチェックイン完了を通知する。プロセッサ３１は例えば、チェックイン完了の通知のための通知データを、店内通信ネットワーク７及びアクセスポイント６を介してユーザ端末３００へと送信する。プロセッサ３１は、チェックイン完了の通知であることを識別するための識別データを通知データに含める。
【００７３】
ユーザ端末３００においてプロセッサ３０１は、図９中のＡＣＴ１０８にてチェックインを要求した後には、ＡＣＴ１０９へと進む。
ＡＣＴ１０９としてプロセッサ３０１は、チェックイン完了が通知されたか否かを確認する。そしてプロセッサ３０１は、当該の通知を確認できないならばＮＯと判定し、ＡＣＴ１１０へと進む。
ＡＣＴ１１０としてプロセッサ３０１は、チェックインのエラーが通知されたか否かを確認する。そしてプロセッサ３０１は、当該の通知を確認できないならばＮＯと判定し、ＡＣＴ１０９へと戻る。
かくしてプロセッサ３０１はＡＣＴ１０９及びＡＣＴ１１０としては、チェックインの完了又はエラーが通知されるのを待ち受ける。そしてプロセッサ３０１は、前述のエラー通知のための通知データが無線通信ユニット３０６により受信されたならばＡＣＴ１１０にてＹＥＳと判定し、ＡＣＴ１１１へと進む。
【００７４】
ＡＣＴ１１１としてプロセッサ３０１は、エラー画面をタッチパネル３０４に表示させる。エラー画面は、チェックインできないことを客に報知するものとして定められた画面である。プロセッサ３０１は、例えばエラー画面中に表したＧＵＩ要素の操作などによりエラー画面の表示解消が指示されたならば、ＡＣＴ１０１に戻る。
【００７５】
プロセッサ３０１は一方、前述のチェックイン完了の通知のための通知データが無線通信ユニット３０６により受信されたならばＡＣＴ１０９にてＹＥＳと判定し、図１０中のＡＣＴ１１２へと進む。
ＡＣＴ１１２としてプロセッサ３０１は、一覧画面をタッチパネル３０４に表示させる。一覧画面は、登録済みの購入商品の一覧を表した画面である。
【００７６】
図１８は一覧画面ＳＣ１の一例を示す図である。
一覧画面ＳＣ１は、表示エリアＡＲ１１，ＡＲ１２及びボタンＢＵ１１，ＢＵ１２，ＢＵ１３を含む。表示エリアＡＲ１１は、購入商品の総数と、購入商品の代金の総額とを表す。表示エリアＡＲ１２は、購入商品の一覧を表す。ボタンＢＵ１１は、購入商品の全てを取り消して買い物を中止することを客が宣言するためのソフトキーである。ボタンＢＵ１２は、購入商品として登録する商品のスキャンを開始することを客が宣言するためのソフトキーである。ボタンＢＵ１３は、会計を開始することを客が宣言するためのソフトキーである。
【００７７】
なお、図１８は、まだ購入商品の登録が行われていない状態の一覧画面ＳＣ１を示している。このため、表示エリアＡＲ１１には総数及び総額としていずれも“０”を表し、表示エリアＡＲ１２には何も表さない。
【００７８】
図１０中のＡＣＴ１１３としてプロセッサ３０１は、商品のスキャン開始が指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定が確認できなければＮＯと判定し、ＡＣＴ１１４へと進む。
ＡＣＴ１１４としてプロセッサ３０１は、数量の変更が指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定が確認できなければＮＯと判定し、ＡＣＴ１１５へと進む。
ＡＣＴ１１５としてプロセッサ３０１は、買い物の中止が指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定が確認できなければＮＯと判定し、ＡＣＴ１１６へと進む。
ＡＣＴ１１６としてプロセッサ３０１は、会計の開始が指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定が確認できなければＮＯと判定し、ＡＣＴ１１３へと戻る。
かくしてプロセッサ３０１はＡＣＴ１１３〜ＡＣＴ１１６としては、スキャン開始、数量、中止、会計開始のいずれかが指定されるのを待ち受ける。
【００７９】
客は、商品を購入商品として登録するならば、一覧画面ＳＣ１におけるボタンＢＵ１２にタッチするなどの予め定められた操作によってスキャン開始を指定する。これに応じてプロセッサ３０１は、ＡＣＴ１１３にてＹＥＳと判定し、ＡＣＴ１１７へと進む。
ＡＣＴ１１７としてプロセッサ３０１は、登録画面をタッチパネル３０４に表示させる。登録画面は、購入商品として登録する商品の商品コードを表したバーコードを読み取るように客に促す画面である。
【００８０】
図１９は登録画面ＳＣ２の一例を示す図である。
登録画面ＳＣ２は、表示エリアＡＲ２１、メッセージＭＥ２１及びボタンＢＵ２１を含む。表示エリアＡＲ２１は、カメラ３０５で得られた画像を表示する。メッセージＭＥ２１は、商品のバーコードを読み取るように客に促す文字メッセージである。ボタンＢＵ２１は、商品コードのスキャンを中止することを客が宣言するためのソフトキーである。
【００８１】
プロセッサ３０１は例えば、カメラ３０５を起動し、これによりカメラ３０５で得られた画像に、表示エリアＡＲ２１の範囲を表すラインと、メッセージＭＥ２１及びボタンＢＵ２１とを表した画像を重ねて登録画面ＳＣ２を生成する。
【００８２】
図１０中のＡＣＴ１１８としてプロセッサ３０１は、バーコードが読み取れたか否かを確認する。このときにプロセッサ３０１は、カメラ３０５で得られる画像を解析し、バーコードの読み取りを試みる。このバーコードの読み取りは、スマホＰＯＳアプリＡＰ３０１に基づく処理として行われてもよいし、バーコードの読み取り用の別のアプリケーションプログラムに基づく処理として行われてもよい。そしてプロセッサ３０１は、バーコードが読み取れないならばＮＯと判定し、ＡＣＴ１１９へと進む。
ＡＣＴ１１９としてプロセッサ３０１は、スキャンの中止が指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定が確認できないならばＮＯと判定し、ＡＣＴ１１８に戻る。
かくしてプロセッサ３０１はＡＣＴ１１８及びＡＣＴ１１９としては、バーコードが読み取れるか、スキャン中止が指定されるのを待ち受ける。
客は、今回のスキャンは行わずに一覧画面に戻ることを希望する場合には、ボタンＢＵ２１にタッチするなどの予め定められた操作によってスキャン中止を指定する。これに応じてプロセッサ３０１は、ＡＣＴ１１９にてＹＥＳと判定し、ＡＣＴ１１２へと戻る。
【００８３】
客は、登録画面がタッチパネル３０４に表示されたならば、購入商品として登録しようとする商品に表示されたバーコードが表示エリアＡＲ２１に映り込むようにカメラ３０５を商品に向ける。これに応じてプロセッサ３０１は、ＡＣＴ１１８にてＹＥＳと判定し、ＡＣＴ１２０へと進む。
ＡＣＴ１２０としてプロセッサ３０１は、モバイルコントローラ３に対して登録を要求する。プロセッサ３０１はここで送信する要求データには、読み取ったバーコードが表すデータ（以下、バーコードデータと称する）を含める。
【００８４】
さて、モバイルコントローラ３においてプロセッサ３１は、図１４中のＡＣＴ２０４にてチェックイン完了の通知を行った後には、ＡＣＴ２０５へと進む。
ＡＣＴ２０５としてプロセッサ３１は、登録が要求されたか否かを確認する。そしてプロセッサ３１は、該当の要求が確認できなければＮＯと判定し、ＡＣＴ２０６へと進む。
【００８５】
ＡＣＴ２０６としてプロセッサ３０１は、数量変更が要求されたか否かを確認する。そしてプロセッサ３１は、該当の要求が確認できなければＮＯと判定し、ＡＣＴ２０７へと進む。
ＡＣＴ２０７としてプロセッサ３１は、購入商品の削除が要求されたか否かを確認する。そしてプロセッサ３１は、該当の要求が確認できなければＮＯと判定し、ＡＣＴ２０８へと進む。
ＡＣＴ２０８としてプロセッサ３１は、購入商品の取消が要求されたか否かを確認する。そしてプロセッサ３１は、該当の要求が確認できなければＮＯと判定し、ＡＣＴ２０９へと進む。
ＡＣＴ２０９としてプロセッサ３１は、会計が要求されたか否かを確認する。そしてプロセッサ３１は、該当の要求が確認できなければＮＯと判定し、ＡＣＴ２０５へと戻る。
かくしてプロセッサ３１はＡＣＴ２０５〜ＡＣＴ２０９としては、登録、数量変更、削除、取消及び会計のいずれかが要求されるのを待ち受ける。そしてプロセッサ３１は、前述のようにユーザ端末３００から登録が要求されたならばＡＣＴ２０５にてＹＥＳと判定し、図１５中のＡＣＴ２１０へと進む。
【００８６】
ＡＣＴ２１０としてプロセッサ３１は、処理対象となっている取引の取引コードの通知を伴って、登録の要求を仮想ＰＯＳサーバ２に転送する。プロセッサ３１はこのとき、ユーザ端末３００から送られてきた要求データをそのまま仮想ＰＯＳサーバ２に転送してもよいし、何らかの処理による変換後の要求データを仮想ＰＯＳサーバ２に送信してもよい。ただしプロセッサ３１は、ユーザ端末３００から送られてきた要求データに含まれたバーコードデータは、仮想ＰＯＳサーバ２へと通知する。
【００８７】
仮想ＰＯＳサーバ２においてプロセッサ２１は、モバイルコントローラ３から送られた要求データに含まれたバーコードデータが、既存のＰＯＳ端末に備えられたバーコードスキャナにより読み取られたものであると見做して、既存のＰＯＳ端末と同様な処理によって購入商品の登録を試みる。ただし、何らかの事情により、バーコードデータが表す商品コードが商品データベースに登録されていない場合がある。また、商品には、商品コードを表すのとは別のバーコードが表示されている場合もある。そして、これらの場合にプロセッサ２１は、購入商品の登録を行えず、エラーとする。このようにプロセッサ２１は、商品データベースに登録された商品コードを表すバーコードの読み取りに基づく購入商品の登録を行う。かくして仮想ＰＯＳアプリＡＰ２１に基づく情報処理をプロセッサ２１が実行することによって、プロセッサ２１を中枢部分とするコンピュータは登録手段として機能する。なおプロセッサ２１は、取引データベースＤＢ２１を用いて購入商品を管理する。
【００８８】
プロセッサ２１は、このような処理の結果を表した結果データを、モバイルコントローラ３に送信する。プロセッサ２１は、購入商品の登録が正しく行えた場合には、正規登録の通知であることを識別するための識別データと、登録した商品の商品コード、商品名及び価格を結果データに含める。またプロセッサ２１は、エラーとした場合には、エラーの通知であることを識別するための識別データと、登録要求で送られてきたバーコードデータとを結果データに含める。
【００８９】
モバイルコントローラ３にてプロセッサ３１は、ＡＣＴ２１０にて登録要求を転送したのちには、ＡＣＴ２１１へと進む。
ＡＣＴ２１１としてプロセッサ３１は、上記のようにして仮想ＰＯＳサーバから送信される結果データを取得する。プロセッサ３１は、取得した結果データをメインメモリ３２又は補助記憶ユニット３３に保存する。
【００９０】
ＡＣＴ２１２としてプロセッサ３１は、上記の結果データに基づいて登録データベースＤＢ３２を更新する。この登録データベースＤＢ３２の更新は、例えば以下のように行われる。
【００９１】
第１のケース：正規登録の通知であり、処理対象となっている取引が関連付けられたデータレコードＤＲ２に、通知された商品コードを含んだ登録データが含まれていない場合。
このケースにてプロセッサ３１は、処理対象となっている取引が関連付けられたデータレコードＤＲ２に既に存在する最後のフィールドの次に新たなフィールドを追加し、当該フィールドに新たな登録データを追加する。プロセッサ３１は、新たな登録データには、通知された商品コードと、エラーではないことを表す“０”としたエラーフラグと、通知された商品名及び価格と、“１”とした個数と、取り消されていないことを表す“０”とした取消フラグとを含める。かくしてこのケースで追加される登録データは、図６の右上側に示されるような構造となる。
【００９２】
第２のケース：正規登録の通知であり、処理対象となっている取引が関連付けられたデータレコードＤＲ２に、通知された商品コードを含んだ登録データが含まれているものの、当該登録データの取消フラグが取り消されていることを表す“１”となっている場合。
このケースにおいてプロセッサ３１は、上記の第１のケースの場合と同様に処理する。
【００９３】
第３のケース：正規登録の通知であり、処理対象となっている取引が関連付けられたデータレコードＤＲ２に、通知された商品コードを含んだ登録データが含まれており、当該登録データの取消フラグが“０”となっている場合。
このケースにおいてプロセッサ３１は、通知された商品コードを含み、取消フラグが“０”となっている登録データに含まれる個数の値を、１つ大きな値に書き替える。
【００９４】
第４のケース：エラーの通知である場合。
このケースにおいてプロセッサ３１は、処理対象となっている取引が関連付けられたデータレコードＤＲ２に既に存在する最後のフィールドの次に新たなフィールドを追加し、当該フィールドに新たな登録データを追加する。プロセッサ３１は、新たな登録データには、通知されたバーコードデータと、エラーを表す“１”としたエラーフラグとを含める。かくしてこのケースで追加される登録データは、図６の右下側に示されるような構造となる。
【００９５】
このようにプロセッサ３１により更新されることにより登録データベースＤＢ３２は、仮想ＰＯＳサーバ２で登録済みの購入商品のリストを表すとともに、これに加えてエラーとなったバーコード読み取りを記録したものとなる。
なおプロセッサ３１は、登録要求で送られてきたバーコードデータをメインメモリ３２又は補助記憶ユニット３３に保存しておき、上記のケース４においては、この保存してあるバーコードデータを登録データに含めてもよい。そしてこの場合には、仮想ＰＯＳサーバ２においてプロセッサ２１は、結果データにバーコードデータを含めなくてもよい。またプロセッサ３１は、保存してあるバーコードデータから商品コードを取り出し、この商品コードに基づいて第１〜第３のケースの処理を行ってもよい。また商品名及び価格は、プロセッサ３１が商品コードに基づいて店舗サーバ１などから取得してもよい。
【００９６】
ＡＣＴ２１３としてプロセッサ３１は、今回の登録が正規に行われたか否かを確認する。そしてプロセッサ３１は、例えば結果データがエラーを表していたならばＮＯと判定し、ＡＣＴ２１４へと進む。
ＡＣＴ２１４としてプロセッサ３１は、処理対象となっている取引が取引管理データベースＤＢ３１にて関連付けられたデータレコードＤＲ１に関して、そのフィールドＦ１４にセットされている要確認フラグを“１”に書き替える。なおプロセッサ３１は、書き替え前の状態に拘わらずに“１”を書き込むのでもよいし、書き替え前の状態が“１”であるならばそのままとするのでもよい。
プロセッサ３１は、例えば結果データが正規登録を表していたならばＡＣＴ２１３にてＹＥＳと判定し、ＡＣＴ２１５へと進む。
ＡＣＴ２１５としてプロセッサ３１は、処理対象となっている取引が取引管理データベースＤＢ３１にて関連付けられたデータレコードＤＲ１に関して、そのフィールドＦ１４にセットされている要確認フラグが“１”となっているか否かを確認する。そしてプロセッサ３１は、要確認フラグが“１”となっていないならばＮＯと判定し、ＡＣＴ２１６へと進む。
【００９７】
ＡＣＴ２１６としてプロセッサ３１は、今回登録された購入商品が要確認商品であるか否かを確認する。そしてプロセッサ３１は、要確認商品ではないならばＮＯと判定し、ＡＣＴ２１７へと進む。なおプロセッサ３１は、ＡＣＴ２１４にて要確認フラグを“１”に書き替えた場合と、要確認フラグが“１”となっているためにＡＣＴ２１５にてＹＥＳと判定した場合にも、ＡＣＴ２１７へと進む。
【００９８】
ＡＣＴ２１７としてプロセッサ３１は、一覧画面の表示をユーザ端末３００に対して指示する。プロセッサ３１は例えば、一覧画面の表示指示であることを識別するための識別データを含んだ指示データを、店内通信ネットワーク７及びアクセスポイント６を介してユーザ端末３００へと送信する。プロセッサ３１は、処理対象となっている取引が登録データベースＤＢ３２にて関連付けられたデータレコードＤＲ２に含まれている商品コード、商品名、価格及び個数を指示データに含める。またプロセッサ３１は、今回の登録がエラーとされているならば、その旨を表すエラーデータを指示データに含める。そしてプロセッサ３１はこののち、図１４中のＡＣＴ２０５〜ＡＣＴ２０９の待受状態に戻る。
なお、以降において説明するモバイルコントローラ３からユーザ端末３００への各種の指示は、上記と同様に、指示の理由を識別するための識別データを含んだ指示データを店内通信ネットワーク７及びアクセスポイント６を介してモバイルコントローラ３からユーザ端末３００へと送ることにより実現される。
【００９９】
一方でプロセッサ３１は、要確認商品であるためにＡＣＴ２１６にてＹＥＳと判定したならば、ＡＣＴ２１８へと進む。つまりプロセッサ３１は、正規登録された商品が要確認商品であって、かつ要確認フラグが“０”である場合に、ＡＣＴ２１８へと進む。
ＡＣＴ２１８としてプロセッサ３１は、処理対象となっている取引が取引管理データベースＤＢ３１にて関連付けられたデータレコードＤＲ１に関して、そのフィールドＦ１４にセットされている要確認フラグを“１”に書き替える。
【０１００】
ＡＣＴ２１８としてプロセッサ３１は、ガイダンス画面の表示をユーザ端末３００に対して指示する。プロセッサ３１は、ガイダンス画面の表示を指示するための指示データには、処理対象となっている取引が登録データベースＤＢ３２にて関連付けられたデータレコードＤＲ２に含まれている商品コード、商品名、価格及び個数を含める。そしてプロセッサ３１はこののち、図１４中のＡＣＴ２０５〜ＡＣＴ２０９の待受状態に戻る。
【０１０１】
ユーザ端末３００にてプロセッサ３０１は、図１０のＡＣＴ１２０にて登録を要求したのちには、図１１中のＡＣＴ１２１へと進む。
ＡＣＴ１２１としてプロセッサ３０１は、ガイダンス画面の表示が指示されたか否かを確認する。そしてプロセッサ３０１は、該当の指示が確認できなければＮＯと判定し、ＡＣＴ１２２へと進む。
ＡＣＴ１２２としてプロセッサ３０１は、一覧画面の表示が指示されたか否かを確認する。そしてプロセッサ３０１は、該当の指示が確認できなければＮＯと判定し、ＡＣＴ１２１へと戻る。
【０１０２】
かくしてプロセッサ３０１はＡＣＴ１２１及びＡＣＴ１２２としては、ガイダンス画面又は一覧画面の表示指示を待ち受ける。そしてプロセッサ３０１は、前述のように一覧画面の表示がモバイルコントローラ３から指示されたならば、ＡＣＴ１２２にてＹＥＳと判定し、図１０中のＡＣＴ１１２へと戻り、再び一覧画面ＳＣ１をタッチパネル３０４に表示させる。このときにプロセッサ３０１は、一覧画面ＳＣ１を、指示データに含まれた購入商品の商品名、価格及び個数を表す画面とする。
【０１０３】
図２０は購入商品が登録済みである状態での一覧画面ＳＣ１の一例を示す図である。
図２０に示す一覧画面ＳＣ１は、商品名が“ＡＡＡ”であり、価格が１２０円である商品が１個、商品名が“ＢＢＢ”であり、価格が９８円である商品が２個、そして商品名が “ＣＣＣ”であり、価格が１，０２４円である商品が１個、購入商品として登録済みである場合の例である。そしてこれらの商品はいずれも、要確認商品ではない。図２０に示す一覧画面ＳＣ１では、表示エリアＡＲ１２には、これらの登録済みの商品に関する商品名、価格及び個数を表している。また表示エリアＡＲ１１には、総数として“４”を表すとともに、総額として“１，３４０”を表している。なお、商品名の左側の破線で囲まれたエリアは、アイコンを表示するためのエリアを表す。当該エリアを表す破線は、実際には一覧画面ＳＣ１には表されない。
【０１０４】
図２１は購入商品が登録済みである状態での一覧画面ＳＣ１の一例を示す図である。
図２１に示す一覧画面ＳＣ１は、商品名が“ＡＡＡ”であり、価格が１２０円である商品が１個、商品名が“ＢＢＢ”であり、価格が９８円である商品が２個、商品名が“ＣＣＣ”であり、価格が１，０２４円である商品が１個、さらに商品名が“ＤＤＤ”であり、価格が３８０円である商品が１個、購入商品として登録済みである場合の例である。そして商品名が“ＤＤＤ”である商品は、要確認商品である。図２１に示す一覧画面ＳＣ１では、表示エリアＡＲ１２には、これらの登録済みの商品に関する商品名、価格及び個数を表している。また表示エリアＡＲ１１には、総数として“５”を表すとともに、総額として“１，７２０”を表している。また、商品名が“ＤＤＤ”の横には、購入者に年齢制限がある商品であることを表すアイコンＩＣ１１を表している。
【０１０５】
一方でプロセッサ３０１は、前述のようにガイダンス画面の表示がモバイルコントローラ３から指示されたならば、図１１中のＡＣＴ１２１にてＹＥＳと判定し、ＡＣＴ１２３へと進む。
ＡＣＴ１２３としてプロセッサ３０１は、ガイダンス画面をタッチパネル３０４に表示させる。ガイダンス画面は、会計時に店員による確認が必要であることを客に対して案内するための画面である。
【０１０６】
図２２はガイダンス画面ＳＣ３の一例を示す図である。
ガイダンス画面ＳＣ３は、一覧画面ＳＣ１にウィンドウＷＩ３１を重ねて表した画面である。ウィンドウＷＩ３１は、メッセージＭＥ３１及びボタンＢＵ３１を含む。メッセージＭＥ３１は、会計時に店員による確認が必要であることを表した文字メッセージである。ボタンＢＵ３１は、ガイダンス画面ＳＣ３での案内を確認したことを客が宣言するためのソフトキーである。プロセッサ３０１は、指示データに含まれた購入商品の商品名、価格及び個数を表す一覧画面ＳＣ１を生成し、これにウィンドウＷＩ３１を重ねてガイダンス画面ＳＣ３を生成する。
【０１０７】
客は、ガイダンス画面ＳＣ３での案内を確認したならば、ガイダンス画面ＳＣ３におけるボタンＢＵ３１にタッチするなどの予め定められた操作によって、確認したことを宣言する。これに応じてプロセッサ３０１は、図１１中のＡＣＴ１２３から図１０中のＡＣＴ１１２へと戻り、再び一覧画面ＳＣ１をタッチパネル３０４に表示させる。なおプロセッサ３０１は、ガイダンス画面ＳＣ３を表示した状態での経過時間が予め定めた時間に到達した場合に、ＡＣＴ１２３からＡＣＴ１１２へと戻ってもよい。
【０１０８】
客が一覧画面ＳＣ１における個数を表しているエリアにタッチすると、プロセッサ３０１は一覧画面ＳＣ１に重ねて個数指定のためのリストボックスを表示させる。そしてこのリストボックスが操作されると、プロセッサ３０１はこれを個数の指定として受ける。そしてプロセッサ３０１はこの場合、図１０中のＡＣＴ１１４にてＹＥＳと判定し、図１１中のＡＣＴ１２４へと進む。
【０１０９】
ＡＣＴ１２４としてプロセッサ３０１は、指定数が０であるか否かを確認する。そしてプロセッサ３０１は、指定数が０ではなければＮＯと判定し、ＡＣＴ１２５へと進む。
ＡＣＴ１２５としてプロセッサ３０１は、モバイルコントローラ３に対して数量変更を要求する。プロセッサ３０１はここで送信する要求データには、個数が指定された商品を特定するための特定データと指定数を含める。特定データは、商品コードでもよいし、購入商品のリスト内で各購入商品を識別するための番号などのようにモバイルコントローラ３でのみ購入商品を特定可能なデータであってもよい。なお、特定コードとして商品コードを用いるならば、プロセッサ３１は、一覧画面の表示を指示するための指示データ又はガイダンス画面の表示を指示するための指示データに、各購入商品に関する商品コードを含める。
【０１１０】
モバイルコントローラ３にてプロセッサ３１は、上記のようにユーザ端末３００から数量変更が要求されたならば、図１４中のＡＣＴ２０６にてＹＥＳと判定し、図１５中のＡＣＴ２２０へと進む。
ＡＣＴ２２０としてプロセッサ３１は、処理対象となっている取引の取引コードの通知を伴って、数量変更の要求を仮想ＰＯＳサーバ２に転送する。プロセッサ３１はこのとき、ユーザ端末３００から送られてきた要求データをそのまま仮想ＰＯＳサーバ２に転送してもよいし、何らかの処理による変換後の要求データを仮想ＰＯＳサーバ２に送信してもよい。ただしプロセッサ３１は、ユーザ端末３００から送られてきた要求データに含まれた個数は、仮想ＰＯＳサーバ２へと通知する。また要求データに含まれる特定データが商品コードではないならば、プロセッサ３１は、当該特定データを商品コードに置き換える。
【０１１１】
仮想ＰＯＳサーバ２においてプロセッサ２１は、モバイルコントローラ３から送られた要求データに含まれた個数が、既存のＰＯＳ端末に備えられた入力デバイスにより入力されたものであると見做して、既存のＰＯＳ端末と同様な処理によって購入商品の個数を変更する。プロセッサ２１は、個数を変更した商品の商品コードと、変更後の個数とを表した結果データを、モバイルコントローラ３に送信する。
【０１１２】
モバイルコントローラ３にてプロセッサ３１は、ＡＣＴ２２０にて数量変更の要求を転送したのちには、ＡＣＴ２２１へと進む。
ＡＣＴ２２１としてプロセッサ３１は、上記のようにして仮想ＰＯＳサーバ２から送信される結果データを取得する。プロセッサ３１は、取得した結果データをメインメモリ３２又は補助記憶ユニット３３に保存する。
【０１１３】
ＡＣＴ２２２としてプロセッサ３１は、上記の結果データに基づいて登録データベースＤＢ３２を更新する。つまりプロセッサ３１は、処理対象となっている取引が関連付けられたデータレコードＤＲ２から、通知された商品コードを含んだ登録データを見つけ出す。そしてプロセッサ３１は、該当する登録データに含まれる個数を、結果データに含まれた個数に書き替える。
【０１１４】
なおプロセッサ３１は、数量変更の要求データで送られてきた特定データ及び個数をメインメモリ３２又は補助記憶ユニット３３に保存しておき、更新が完了した旨を表す結果データを受けたことに応じて、この保存してある特定データで特定される商品に関する登録データの個数を、保存してある個数に書き替えてもよい。そしてこの場合には、仮想ＰＯＳサーバ２においてプロセッサ２１は、結果データに商品コード及び個数を含めなくてもよい。
【０１１５】
ＡＣＴ２２３としてプロセッサ３１は、一覧画面の表示をユーザ端末３００に対して指示する。プロセッサ３１は例えば、一覧画面の表示指示であることを識別するための識別データを含んだ指示データを、店内通信ネットワーク７及びアクセスポイント６を介してユーザ端末３００へと送信する。プロセッサ３１は、上記のように更新したデータレコードＤＲ２に含まれる登録データのうちで取消フラグが“０”である登録データに含まれている商品コード、商品名、価格及び個数を指示データに含める。プロセッサ３１はこののち、図１４中のＡＣＴ２０５〜ＡＣＴ２０９の待受状態に戻る。
【０１１６】
さて、ユーザ端末３００にてプロセッサ３０１は、指定数が０であったならば、図１１のＡＣＴ１２４にてＹＥＳと判定し、ＡＣＴ１２６へと進む。
ＡＣＴ１２６としてプロセッサ３０１は、削除画面をタッチパネル３０４に表示させる。削除画面は、個数を０個とすることが指定された商品が購入商品から削除されることを客に報知する画面である。削除画面は、削除を指定するための削除ボタンと、個数を変更せずに個数の変更を指定する前の状態に戻ることを指定するための戻りボタンとを含む。
【０１１７】
ＡＣＴ１２７としてプロセッサ３０１は、削除が指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定を確認できないならばＮＯと判定し、ＡＣＴ１２８へと進む。
ＡＣＴ１２８としてプロセッサ３０１は、戻りが指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定を確認できないならばＮＯと判定し、ＡＣＴ１２７へと戻る。
かくしてプロセッサ３０１はＡＣＴ１２７及びＡＣＴ１２８としては、削除又は戻りが指定されるのを待ち受ける。
【０１１８】
客は、削除を取り止めて、個数の変更を指定する前の状態に戻ること望むならば、削除画面において戻りボタンにタッチするなどの予め定められた操作により戻りを指定する。これに応じてプロセッサ３０１は、ＡＣＴ１２８にてＹＥＳと判定し、図１０中のＡＣＴ１１２へと戻り、再び一覧画面ＳＣ１をタッチパネル３０４に表示させる。この場合には、購入商品の登録状態は変更されないので、プロセッサ３０１は、削除画面を表示する前に表示していたのと同じ状態の一覧画面ＳＣ１をタッチパネル３０４に再び表示させる。
【０１１９】
客は、削除で間違いないならば、削除画面において削除ボタンにタッチするなどの予め定められた操作により削除を指定する。これに応じてプロセッサ３０１は、ＡＣＴ１２７にてＹＥＳと判定し、ＡＣＴ１２９へと進む。
ＡＣＴ１２９としてプロセッサ３０１は、モバイルコントローラ３に対して削除を要求する。プロセッサ３０１はここで送信する要求データには、削除が指定された商品を特定するための特定データを含める。
【０１２０】
モバイルコントローラ３にてプロセッサ３１は、上記のようにユーザ端末３００から削除が要求されたならば、図１４中のＡＣＴ２０７にてＹＥＳと判定し、図１６中のＡＣＴ２２４へと進む。
ＡＣＴ２２４としてプロセッサ３１は、処理対象となっている取引の取引コードの通知を伴って、削除の要求を仮想ＰＯＳサーバ２に転送する。プロセッサ３１はこのとき、ユーザ端末３００から送られてきた要求データをそのまま仮想ＰＯＳサーバ２に転送してもよいし、何らかの処理による変換後の要求データを仮想ＰＯＳサーバ２に送信してもよい。ただしプロセッサ３１は、要求データに含まれる特定データが商品コードではないならば、プロセッサ３１は、当該特定データを商品コードに置き換える。
【０１２１】
仮想ＰＯＳサーバ２においてプロセッサ２１は、モバイルコントローラ３から送られた要求データによる要求を、既存のＰＯＳ端末に備えられた入力デバイスにより入力された削除指示であると見做して、既存のＰＯＳ端末と同様な処理によって対象となる商品を購入商品から除外する。プロセッサ２１は、購入商品から除外した商品の商品コードを表した結果データを、モバイルコントローラ３に送信する。
【０１２２】
モバイルコントローラ３にてプロセッサ３１は、ＡＣＴ２２４にて削除の要求を転送したのちには、ＡＣＴ２２５へと進む。
ＡＣＴ２２５としてプロセッサ３１は、上記のようにして仮想ＰＯＳサーバから送信される結果データを取得する。プロセッサ３１は、取得した結果データをメインメモリ３２又は補助記憶ユニット３３に保存する。
【０１２３】
ＡＣＴ２２６としてプロセッサ３１は、上記の結果データに基づいて登録データベースＤＢ３２を更新する。つまりプロセッサ３１は、処理対象となっている取引が関連付けられたデータレコードＤＲ２から、通知された商品コードを含んだ登録データを見つけ出す。そしてプロセッサ３１は、該当する登録データに含まれる取消フラグを“１”に変更する。
【０１２４】
なおプロセッサ３１は、削除の要求データで送られてきた特定データをメインメモリ３２又は補助記憶ユニット３３に保存しておき、削除が完了した旨を表す結果データを受けたことに応じて、この保存してある特定データで特定される商品に関する登録データの取消フラグを変更してもよい。そしてこの場合には、仮想ＰＯＳサーバ２においてプロセッサ２１は、結果データに商品コードを含めなくてもよい。
【０１２５】
ＡＣＴ２２７としてプロセッサ３０１は、削除した商品が要確認商品であるか否かを確認する。そしてプロセッサ３０１は、要確認商品であったならばＹＥＳと判定し、ＡＣＴ２２８へと進む。
ＡＣＴ２２８としてプロセッサ３０１は、処理対象となっている取引の購入商品に他の要確認商品があるか否かを確認する。そしてプロセッサ３０１は、該当の商品がないならばＮＯと判定し、ＡＣＴ２２９へと進む。つまりプロセッサ３０１は、今回の商品削除によって購入商品に要確認商品が１つも含まれなくなったならば、ＡＣＴ２２９へと進む。
【０１２６】
ＡＣＴ２２９としてプロセッサ３０１は、処理対象となっている取引が取引管理データベースＤＢ３１にて関連付けられたデータレコードＤＲ１に関して、そのフィールドＦ１４にセットされている要確認フラグを“０”に変更する。
ＡＣＴ２３０としてプロセッサ３１は、一覧画面の表示をユーザ端末３００に対して指示する。プロセッサ３１は例えば、一覧画面の表示指示であることを識別するための識別データを含んだ指示データを、店内通信ネットワーク７及びアクセスポイント６を介してユーザ端末３００へと送信する。プロセッサ３１は、上記のように更新したデータレコードＤＲ２に含まれる登録データのうちで取消フラグが“０”である登録データに含まれている商品コード、商品名、価格及び個数を指示データに含める。プロセッサ３１はこののち、図１４中のＡＣＴ２０５〜ＡＣＴ２０９の待受状態に戻る。なおプロセッサ３１は、削除した商品が要確認商品ではないためにＡＣＴ２２７にてＮＯと判定した場合と、要確認商品が他にあるためにＡＣＴ２２８にてＹＥＳと判定した場合には、ＡＣＴ２２９及びＡＣＴ２３０をパスして、図１４中のＡＣＴ２０５〜ＡＣＴ２０９の待受状態に戻る。
【０１２７】
さて、ユーザ端末３００にてプロセッサ３０１は、ＡＣＴ１２５にて数量変更を要求したのち、あるいはＡＣＴ１２９にて削除を要求したのちには、ＡＣＴ１３０へと進む。
ＡＣＴ１３０としてプロセッサ３０１は、一覧画面の表示が指示されるのを待ち受ける。そしてプロセッサ３０１は、数量変更の要求に応じて、あるいは削除の要求に応じて、前述のように一覧画面の表示がモバイルコントローラ３から指示されたならばＹＥＳと判定し、図１０中のＡＣＴ１１２へと戻り、再び一覧画面ＳＣ１をタッチパネル３０４に表示させる。このときにプロセッサ３０１は、一覧画面ＳＣ１を、指示データに含まれた購入商品の商品名、価格及び個数を表す画面とする。この場合には、購入商品の登録状態が変更されるので、プロセッサ３０１は、数量変更又は削除が指定されるときに表示していたのとは異なる購入商品を表す状態の一覧画面ＳＣ１をタッチパネル３０４に表示させることになる。
【０１２８】
客は、既に登録した購入商品の全てをキャンセルし、買い物を中止したい場合には、一覧画面ＳＣ１においてボタンＢＵ１１にタッチするなどの予め定められた操作により中止を指定する。これに応じてプロセッサ３０１は、ＡＣＴ１１５にてＹＥＳと判定し、図１１中のＡＣＴ１３１へと進む。
ＡＣＴ１３１としてプロセッサ３０１は、取消画面をタッチパネル３０４に表示させる。取消画面は、既に登録した購入商品の全てが取り消されることを客に報知する画面である。取消画面は、取消実行を指定するための実行ボタンと、個数を変更せずに個数の変更を指定する前の状態に戻ることを指定するための戻りボタンとを含む。
【０１２９】
ＡＣＴ１３２としてプロセッサ３０１は、取消実行が指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定を確認できないならばＮＯと判定し、ＡＣＴ１３３へと進む。
ＡＣＴ１３３としてプロセッサ３０１は、戻りが指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定を確認できないならばＮＯと判定し、ＡＣＴ１３２へと戻る。
かくしてプロセッサ３０１はＡＣＴ１３２及びＡＣＴ１３３としては、取消実行又は戻りが指定されるのを待ち受ける。
【０１３０】
客は、そのまま買い物を続けるならば、取消画面において戻りボタンにタッチするなどの予め定められた操作により戻りを指定する。これに応じてプロセッサ３０１は、ＡＣＴ１３３にてＹＥＳと判定し、図１０中のＡＣＴ１１２へと戻り、再び一覧画面ＳＣ１をタッチパネル３０４に表示させる。この場合には、購入商品の登録状態は変更されないので、プロセッサ３０１は、取消画面を表示する前に表示していたのと同じ状態の一覧画面ＳＣ１をタッチパネル３０４に再び表示させる。
【０１３１】
客は、買い物を取り止めるのであれば、取消画面において実行ボタンにタッチするなどの予め定められた操作により取消実行を指定する。これに応じてプロセッサ３０１は、ＡＣＴ１３２にてＹＥＳと判定し、ＡＣＴ１３４へと進む。
ＡＣＴ１３４としてプロセッサ３０１は、モバイルコントローラ３に対して取消を要求する。
【０１３２】
モバイルコントローラ３にてプロセッサ３１は、上記のようにユーザ端末３００から取消が要求されたならば、図１４中のＡＣＴ２０８にてＹＥＳと判定し、図１６中のＡＣＴ２３１へと進む。
ＡＣＴ２３１としてプロセッサ３１は、処理対象となっている取引の取引コードの通知を伴って、取消の要求を仮想ＰＯＳサーバ２に転送する。プロセッサ３１はこのとき、ユーザ端末３００から送られてきた要求データをそのまま仮想ＰＯＳサーバ２に転送してもよいし、何らかの処理による変換後の要求データを仮想ＰＯＳサーバ２に送信してもよい。
【０１３３】
仮想ＰＯＳサーバ２においてプロセッサ２１は、モバイルコントローラ３から送られた要求データによる要求を、既存のＰＯＳ端末に備えられた入力デバイスにより入力された取消指示であると見做して、既存のＰＯＳ端末と同様な処理によって、通知された取引コードに関連付けて登録済みの商品の全てを購入商品から除外する。プロセッサ２１は、取消が完了したことを表した結果データを、モバイルコントローラ３に送信する。
【０１３４】
モバイルコントローラ３にてプロセッサ３１は、ＡＣＴ２３１にて削除の要求を転送したのちには、ＡＣＴ２３２へと進む。
ＡＣＴ２３２としてプロセッサ３１は、上記のようにして仮想ＰＯＳサーバから送信される結果データを取得する。プロセッサ３１は、取得した結果データをメインメモリ３２又は補助記憶ユニット３３に保存する。
【０１３５】
ＡＣＴ２３３としてプロセッサ３１は、上記の結果データに基づいて登録データベースＤＢ３２を更新する。つまりプロセッサ３１は、処理対象となっている取引が関連付けられたデータレコードＤＲ２に含まれる登録データの全てに関して、“０”となっている取消フラグを“１”に変更する。
【０１３６】
ＡＣＴ２３４としてプロセッサ３０１は、処理対象となっている取引が取引管理データベースＤＢ３１にて関連付けられたデータレコードＤＲ１に関して、そのフィールドＦ１４にセットされている要確認フラグを“０”に変更する。
ＡＣＴ２３５としてプロセッサ３１は、ユーザ端末３００に対して取消を通知する。そしてプロセッサ３１はこののち、図１４中のＡＣＴ２０５〜ＡＣＴ２０９の待受状態に戻る。
【０１３７】
さて、ユーザ端末３００にてプロセッサ３０１は、ＡＣＴ１３４にて取消を要求したのちには、ＡＣＴ１３５へと進む。
ＡＣＴ１３５としてプロセッサ３０１は、モバイルコントローラ３から取消が通知されるのを待ち受ける。そしてプロセッサ３０１は、前述のように取消が通知されたならばＹＥＳと判定し、図９中のＡＣＴ１０１へと戻る。
【０１３８】
客は、購入を希望する商品の全てを購入商品として登録し終えたならば、決済に進む。このときに客は、一覧画面ＳＣ１におけるボタンＢＵ１３にタッチするなどの予め定められた操作によって会計開始を指定する。これに応じてプロセッサ３０１は、図１０中のＡＣＴ１１６にてＹＥＳと判定し、ＡＣＴ１３６へと進む。
ＡＣＴ１３６としてプロセッサ３０１は、モバイルコントローラ３に対して会計を要求する。
【０１３９】
モバイルコントローラ３にてプロセッサ３１は、上記のようにユーザ端末３００から会計が要求されたならば、図１４中のＡＣＴ２０９にてＹＥＳと判定し、図１７中のＡＣＴ２３６へと進む。
ＡＣＴ２３６としてプロセッサ３１は、処理対象となっている取引に取引管理データベースＤＢ３１にて関連付けられたデータレコードＤＲ１のフィールドＦ１４にセットされ要確認フラグが“１”であるか否かを確認する。そして該当の要確認フラグが“１”であるならばＹＥＳと判定し、ＡＣＴ２３７へと進む。つまりプロセッサ３１は、購入商品に要確認商品が含まれるか、正しく登録できていない商品があるならば、ＡＣＴ２３７へと進む。なお以下においては、このよう要確認フラグが“１”である状態を要確認状態と称する。
ＡＣＴ２３７としてプロセッサ３１は、確認画面の表示をユーザ端末３００に対して指示する。
【０１４０】
さてユーザ端末３００にてプロセッサ３０１は、図１０中のＡＣＴ１３６にて会計を要求したのちには、ＡＣＴ１３７へと進む。
ＡＣＴ１３７としてプロセッサ３０１は、確認画面の表示が指示されたか否かを確認する。そしてプロセッサ３０１は、当該の指示が確認できないならばＮＯと判定し、ＡＣＴ１３８へと進む。
ＡＣＴ１３８としてプロセッサ３０１は、会計画面の表示が指示されたか否かを確認する。そしてプロセッサ３０１は、当該の指示が確認できないならばＮＯと判定し、ＡＣＴ１３７へと戻る。
かくしてプロセッサ３０１はＡＣＴ１３７及びＡＣＴ１３８としては、確認画面又は会計画面の表示が指示されるのを待ち受ける。そしてプロセッサ３０１は、前述のようにモバイルコントローラ３から確認画面の表示が指示されたならば、ＡＣＴ１３７にてＹＥＳと判定し、図１２中のＡＣＴ１３９へと進む。
ＡＣＴ１３９としてプロセッサ３０１は、確認画面を表示する。確認画面は、要確認商品の確認のために店員に連絡することを客に促すための画面である。
【０１４１】
図２３は確認画面ＳＣ４の一例を示す図である。
確認画面ＳＣ４は、直前に表示していた一覧画面ＳＣ１にウィンドウＷＩ４１を重ねて表した画面である。ウィンドウＷＩ４１は、メッセージＭＥ４１及びボタンＢＵ４１，ＢＵ４２を含む。メッセージＭＥ４１は、店員による確認を受ける必要があることを表した文字メッセージである。ボタンＢＵ４１は、店員による確認を受けることを客が指定するためのソフトキーである。ボタンＢＵ４２は、商品登録に戻ることを客が指定するためのソフトキーである。
【０１４２】
客は、店員による確認を受けることを決めたならば、ボタンＢＵ４１にタッチするなどの予め定められた操作によって確認を指定する。また客は、会計を一旦取り止め、商品登録に戻ることを決めたならば、ボタンＢＵ４２にタッチするなどの予め定められた操作によって、戻りを指定する。
【０１４３】
図１２中のＡＣＴ１４０としてプロセッサ３０１は、確認が指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定が確認できなければＮＯと判定し、ＡＣＴ１４１へと進む。
ＡＣＴ１４１としてプロセッサ３０１は、戻りが指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定が確認できなければＮＯと判定し、ＡＣＴ１４０へと戻る。
かくしてプロセッサ３０１はＡＣＴ１４０及びＡＣＴ１４１としては、確認又は戻りが指定されるのを待ち受ける。そしてプロセッサ３０１は、前述のように確認が指定されたならば、ＡＣＴ１４０にてＹＥＳと判定し、ＡＣＴ１４２へと進む。
【０１４４】
ＡＣＴ１４２としてプロセッサ３０１は、解除画面をタッチパネル３０４に表示させる。解除画面は、要確認状態を解除するためのバーコードをユーザ端末３００に読み取らせるための画面である。
【０１４５】
図２４は解除画面ＳＣ５の一例を示す図である。
解除画面ＳＣ５は、表示エリアＡＲ５１、メッセージＭＥ５１及びボタンＢＵ５１を含む。表示エリアＡＲ５１は、カメラ３０５で得られた画像を表示する。メッセージＭＥ５１は、要確認状態の解除用のバーコードを読み取るように店員に促す文字メッセージである。ボタンＢＵ５１は、解除用のバーコードのスキャンを中止することを客又は店員が宣言するためのソフトキーである。
プロセッサ３０１は例えば、カメラ３０５を起動し、これによりカメラ３０５で得られた画像に、表示エリアＡＲ５１の範囲を表すラインと、メッセージＭＥ５１及びボタンＢＵ５１とを表した画像を重ねて解除画面ＳＣ５を生成する。
【０１４６】
客は、店員に確認を依頼する。店員は例えば、購入商品に要確認商品が含まれるならば、その要確認商品の販売が許容されることを確認する。また店員は例えば、客が所持している商品を確認し、未登録の商品が含まれないことを確認する。そして店員は、これらがいずれも満たされるならば、決済が許容されると判定し、解除用のバーコードが表示エリアＡＲ５１に映り込むようにカメラ３０５に解除用のバーコードを翳す。なお店員はこの作業のために、解除用のバーコードが印刷されたカードなどを所持しておく。あるいは、店員は、所持している情報端末の画面に解除用のバーコードを表示させる。なお、解除用のバーコードは、好ましくは店舗毎又は事業者毎に異なるものが用いられる。ただし、異なる店舗又は異なる事業者で、同じ解除用のバーコードが用いられることは許容される。また正規の解除用のバーコードを例えば１日毎などのように変更することにより、解除用のバーコードが何らかの事情で客に取得された場合における不正を防止することが可能となる。
【０１４７】
なお店員は、要確認商品の販売が許容されないこと、あるいは未登録の商品を客が所持していることを確認したならば、ボタンＢＵ５１にタッチするなどの予め定められた操作によって、商品登録への戻りを指定する。あるいは客は、店員に確認を依頼することなく商品登録に戻ることを決めたならば、ボタンＢＵ５１にタッチするなどの予め定められた操作によって、商品登録への戻りを指定する。
この後の要確認商品又は未登録の商品に関する処置は、客又は店員により適宜に行われてよい。例えば客は、要確認商品を購入商品から取り消すようにユーザ端末３００を操作する。例えば客は、要確認商品を購入可能とするための手続きを行う。例えば客は、未登録の商品の商品コードを表したバーコードの読み取りにより当該商品を購入商品として登録するための操作をユーザ端末３００にて行う。例えば店員は、ユーザ端末３００での店員用の特別な操作、あるいは店員用の端末での操作により、未登録の商品を購入商品として登録するための操作を行う。例えば店員は、未登録の商品を回収する。この場合に店員は必要があれば、当該商品の商品コードを商品データベースに登録するための処置を講じる。
【０１４８】
ＡＣＴ１４３としてプロセッサ３０１は、バーコードが読み取れたか否かを確認する。
このときにプロセッサ３０１は、カメラ３０５で得られる画像を解析し、バーコードの読み取りを試みる。このバーコードの読み取りは、スマホＰＯＳアプリＡＰ３０１に基づく処理として行われてもよいし、バーコードの読み取り用の別のアプリケーションプログラムに基づく処理として行われてもよい。そしてプロセッサ３０１は、バーコードが読み取れないならばＮＯと判定し、ＡＣＴ１４４へと進む。
ＡＣＴ１４４としてプロセッサ３０１は、戻りが指定されたか否かを確認する。そしてプロセッサ３０１は、該当の指定が確認できないならばＮＯと判定し、ＡＣＴ１４３に戻る。
かくしてプロセッサ３０１はＡＣＴ１４３及びＡＣＴ１４４としては、バーコードが読み取れるか、戻りが指定されるのを待ち受ける。
【０１４９】
プロセッサ３０１は、前述のように戻りが指定されたならば、ＡＣＴ１４４にてＹＥＳと判定し、ＡＣＴ１４５へと進む。なおプロセッサ３０１は、確認画面ＳＣ４をタッチパネル３０４に表示させている状態において、前述のように戻りが指定されたならば、ＡＣＴ１４１にてＹＥＳと判定し、ＡＣＴ１４５へと進む。
ＡＣＴ１４５としてプロセッサ３０１は、商品登録への戻りをモバイルコントローラ３に対して要求する。そしてプロセッサ３０１は、図１０中のＡＣＴ１１２へと戻る。
【０１５０】
さてモバイルコントローラ３にてプロセッサ３１は、図１７中のＡＣＴ２３７にて確認画面の表示を指示したのちには、ＡＣＴ２３８へと進む。
ＡＣＴ２３８としてプロセッサ３１は、解除が要求されたか否かを確認する。そしてプロセッサ３１は、当該の要求が確認できないならばＮＯと判定し、ＡＣＴ２３９へと進む。
ＡＣＴ２３９としてプロセッサ３１は、戻りが要求されたか否かを確認する。そしてプロセッサ３１は、当該の要求が確認できないならばＮＯと判定し、ＡＣＴ２３８へと戻る。
かくしてプロセッサ３１はＡＣＴ２３８及びＡＣＴ２３９としては、解除又は戻りが要求されるのを待ち受ける。そしてプロセッサ３１は、前述のように商品登録への戻りがユーザ端末３００から要求されたならば、ＡＣＴ２３９にてＹＥＳと判定し、図１４中のＡＣＴ２０５〜ＡＣＴ２０９の待受状態に戻る。
つまり、モバイルコントローラ３及びユーザ端末３００ともに、商品登録を行う状態に戻る。
【０１５１】
一方で、ユーザ端末３００では、カメラ３０５により撮影される画像にバーコードが映り込むと、プロセッサ３０１は、図１２中のＡＣＴ１４３にてＹＥＳと判定し、ＡＣＴ１４６へと進む。
ＡＣＴ１４６としてプロセッサ３０１は、読み取ったバーコードが表すバーコードデータを、メインメモリ３０２又は補助記憶ユニット３０３に保存する。
【０１５２】
ＡＣＴ１４７としてプロセッサ３０１は、モバイルコントローラ３に対して要確認状態の解除を要求する。プロセッサ３０１はここで送信する要求データには、上記の保存したバーコードデータを含める。またプロセッサ３０１はここで送信する要求データには、図９中のＡＣＴ１０７にて保存してあるチェックインデータに含まれる認証データを含める。
【０１５３】
このようにユーザ端末３００からモバイルコントローラ３へと解除が要求されると、モバイルコントローラ３にてプロセッサ３１は、図１７中のＡＣＴ２３８にてＹＥＳと判定し、ＡＣＴ２４０へと進む。
ＡＣＴ２４０としてプロセッサ３１は、認証処理を行う。プロセッサ３１は例えば、要求データからバーコードデータ及び認証データを取り出し、メインメモリ３２又は補助記憶ユニット３３へと保存する。このようにスマホＰＯＳアプリＡＰ３１に基づく情報処理をプロセッサ３１が実行することによって、プロセッサ３１を中枢部分とするコンピュータは取得手段として機能する。そしてプロセッサ３１は、このように取得したバーコードデータと認証データとに基づき、読み取られたバーコードが解除用の正規のバーコードであるかを確認する処理である。この認証処理は、例えば次のいずれかにより行うことができる。
【０１５４】
(1) プロセッサ３１は、バーコードデータと認証データとが一致する場合に、解除用の正規のバーコードが読み取られたと判定する。
(2) プロセッサ３１は、バーコードデータを予め定められたアルゴリズムで処理し、この結果得られるデータと認証データとが一致する場合に、解除用の正規のバーコードが読み取られたと判定する。
(3) プロセッサ３１は、認証データを予め定められたアルゴリズムで処理し、この結果得られるデータとバーコードデータとが一致する場合に、解除用の正規のバーコードが読み取られたと判定する。
(4) プロセッサ３１は、バーコードデータを予め定められた第１のアルゴリズムで処理し、認証データを予め定められた第２のアルゴリズムで処理する。そしてこれの結果として得られる２つのデータが互いに一致する場合に、解除用の正規のバーコードが読み取られたと判定する。
この他、バーコードデータと認証データとが予め定められた関係にあることを確認する如何なる処理も適用が可能である。そしてプロセッサは、バーコードデータと認証データとが予め定められた関係にあることが確認できた場合に、解除用の正規のバーコードが読み取られたと判定すればよい。
【０１５５】
ＡＣＴ２４１としてプロセッサ３１は、認証に成功したか否かを確認する。そしてプロセッサ３１は、認証に失敗したならばＮＯと判定し、ＡＣＴ２４２へと進む。
ＡＣＴ２４２としてプロセッサ３１は、警告画面の表示をユーザ端末３００に対して指示する。そしてプロセッサ３１はこののち、ＡＣＴ２３８及びＡＣＴ２３９の待受状態に戻る。
【０１５６】
ユーザ端末３００にてプロセッサ３０１は、図１２中のＡＣＴ１４７にて解除を要求したのちには、ＡＣＴ１４８へと進む。
ＡＣＴ１４８としてプロセッサ３０１は、警告画面の表示が指示されたか否かを確認する。そしてプロセッサ３０１は、該当の指示が確認できないならばＮＯと判定し、ＡＣＴ１４９へと進む。
ＡＣＴ１４９としてプロセッサ３０１は、会計画面の表示が指示されたか否かを確認する。そしてプロセッサ３０１は、該当の指示が確認できないならばＮＯと判定し、ＡＣＴ１４８へと戻る。
かくしてプロセッサ３０１はＡＣＴ１４８及びＡＣＴ１４９としては、警告画面又は会計画面の表示が指示されるのを待ち受ける。そしてプロセッサ３０１は、前述のようにモバイルコントローラ３から警告画面の表示が指示されたならば、ＡＣＴ１４８にてＹＥＳと判定し、ＡＣＴ１５０へと進む。
【０１５７】
ＡＣＴ１５０としてプロセッサ３０１は、警告画面をタッチパネル３０４に表示させる。警告画面は、店員が読み取らせた解除用のバーコードが正しくないことを店員に警告するための画面である。
【０１５８】
図２５は警告画面ＳＣ６の一例を示す図である。
警告画面ＳＣ６は、直前に表示していた解除画面ＳＣ５にウィンドウＷＩ６１を重ねて表した画面である。ウィンドウＷＩ６１は、メッセージＭＥ６１及びボタンＢＵ６１を含む。メッセージＭＥ６１は、読み取ったバーコードが正しくないことを表した文字メッセージである。ボタンＢＵ６１は、警告画面ＳＣ６での報知を確認したことを店員が宣言するためのソフトキーである。
プロセッサ３０１は、例えば警告画面ＳＣ６中に表したボタンＢＵ６１へのタッチなどの予め定められた操作により警告画面ＳＣ６の表示解消が指示されたならば、ＡＣＴ１４２に戻る。
【０１５９】
モバイルコントローラ３にてプロセッサ３１は、図１７中のＡＣＴ２４０における認証処理の結果、認証に成功したならば、ＡＣＴ２４１にてＹＥＳと判定し、ＡＣＴ２４３へと進む。なおプロセッサ３１は、要確認フラグが“０”であるならば、ＡＣＴ２３６にてＮＯと判定し、ＡＣＴ２４３へと進む。
ＡＣＴ２４３としてプロセッサ３１は、会計画面の表示をユーザ端末３００に指示する。こののちプロセッサ３１は、仮想ＰＯＳサーバ２又は会計機５により購入商品として登録されている商品の代金を決済させるための以下に説明する処理を開始する。つまりプロセッサ３１は、取得したバーコードデータが認証データに対して予め定められた関係にあるデータとしての解除データである場合に、決済処理の開始を許容する。かくしてスマホＰＯＳアプリＡＰ３１に基づく情報処理をプロセッサ３１が実行することによって、プロセッサ３１を中枢部分とするコンピュータは制御手段として機能する。
【０１６０】
プロセッサ３１がＡＣＴ２３６にてＮＯと判定してＡＣＴ２４３へと進んだ場合、ＡＣＴ２３７はパスされるから、ユーザ端末３００に確認画面の表示が指示されることはない。このため、プロセッサ３１がＡＣＴ２４３にて会計画面の表示を指示するときには、ユーザ端末３００にてプロセッサ３０１は、図１０中のＡＣＴ１３７及びＡＣＴ１３８の待受状態にある。このためプロセッサ３０１は上記の会計画面の表示指示に応じてＡＣＴ１３８にてＹＥＳと判定し、図１３中のＡＣＴ１５１へと進む。
【０１６１】
またプロセッサ３１がＡＣＴ２４１にてＹＥＳと判定してＡＣＴ２４３へと進んだ場合、プロセッサ３１がＡＣＴ２４３にて会計画面の表示を指示するときには、ユーザ端末３００にてプロセッサ３０１は、図１２中のＡＣＴ１４８及びＡＣＴ１４９の待受状態にある。このためプロセッサ３０１は上記の会計画面の表示指示に応じてＡＣＴ１４９にてＹＥＳと判定し、図１３中のＡＣＴ１５１へと進む。
ＡＣＴ１５１としてプロセッサ３０１は、会計画面をタッチパネル３０４に表示させる。会計画面は、代金の決済のための操作をユーザ端末３００及び会計機５のいずれで行うかを客が選択するための画面である。
【０１６２】
図２６は会計画面ＳＣ７の一例を示す図である。
会計画面ＳＣ７は、表示エリアＡＲ７１、メッセージＭＥ７１及びボタンＢＵ７１，ＢＵ７２を含む。表示エリアＡＲ７１は、購入商品の総数と、購入商品の代金の総額とを表す。メッセージＭＥ７１は、代金の決済のための操作をユーザ端末３００及び会計機５のいずれで行うかを指定するように客に促す文字メッセージである。ボタンＢＵ７１は、ユーザ端末３００を客が指定するソフトキーである。ボタンＢＵ７２は、会計機５を客が指定するためのソフトキーである。
【０１６３】
客は、代金の決済のための操作をユーザ端末３００で行いたい場合には、ボタンＢＵ７１にタッチするなどの予め定められた操作によりユーザ端末３００を指定する。また客は、代金の決済のための操作を会計機５で行いたい場合には、ボタンＢＵ７２にタッチするなどの予め定められた操作により会計機５を指定する。
【０１６４】
ＡＣＴ１５２としてプロセッサ３０１は、ユーザ端末３００が指定されたか否かを確認する。そしてプロセッサ３０１は、当該の指定が確認できないならばＮＯと判定し、ＡＣＴ１５３へと進む。
ＡＣＴ１５３としてプロセッサ３０１は、会計機５が指定されたか否かを確認する。そしてプロセッサ３０１は、当該の指定が確認できないならばＮＯと判定し、ＡＣＴ１５２へと戻る。
かくしてプロセッサ３０１はＡＣＴ１５２及びＡＣＴ１５３としては、ユーザ端末３００又は会計機５が指定されるのを待ち受ける。そしてプロセッサ３０１は、上述のようにユーザ端末３００が指定されたならば、ＡＣＴ１５２にてＹＥＳと判定し、ＡＣＴ１５４へと進む。
【０１６５】
ＡＣＴ１５４としてプロセッサ３０１は、モバイルコントローラ３に対して決済を要求する。なおプロセッサ３０１は、決済を要求するための要求データには、決済のために必要な、クレジット番号又はオンライン決済サービス用の利用者コードなどのような決済データを含める。
【０１６６】
またプロセッサ３０１は、上述のように会計機５が指定されたならば、ＡＣＴ１５３にてＹＥＳと判定し、ＡＣＴ１５５へと進む。
ＡＣＴ１５５としてプロセッサ３０１は、会計バーコード画面をタッチパネル３０４に表示させる。会計バーコード画面は、会計機５が仮想ＰＯＳサーバ２から取引の内容に関するデータを取得するために必要となるデータを表した会計バーコードを表した画面である。なお、詳細な処理の図示は省略しているが、プロセッサ３０１は、モバイルコントローラ３を介して仮想ＰＯＳサーバ２から会計バーコードを取得して、当該会計バーコードを会計バーコード画面に表す。
【０１６７】
客は、他の客により使用されていない会計機５が備えるスキャナに、会計バーコードを読み取らせる。これに応じて会計機５は、会計バーコードが表すデータに従って、仮想ＰＯＳサーバ２から取引の内容に関するデータを取得し、このデータに基づいて算出した決済額を決済するための処理を実行する。そして会計機５は、決済が完了したならば、その旨を仮想ＰＯＳサーバ２に通知する。仮想ＰＯＳサーバ２にてプロセッサ２１は、会計機５から決済完了が通知されたならば、モバイルコントローラ３へと決済完了を通知する。なお、会計機５での決済完了は、会計機５からモバイルコントローラ３へと直接通知されてもよい。かくして会計機５は決済手段の一例である。
【０１６８】
モバイルコントローラ３にてプロセッサ３１は、図１７中のＡＣＴ２４３にて会計画面の表示を指示したのちには、ＡＣＴ２４４へと進む。
ＡＣＴ２４４としてプロセッサ３１は、決済が要求されたか否かを確認する。そしてプロセッサ３１は、当該の要求が確認できないならばＮＯと判定し、ＡＣＴ２４５へと進む。
ＡＣＴ２４５としてプロセッサ３１は、決済完了が通知されたか否かを確認する。そしてプロセッサ３１は、当該の通知が確認できないならばＮＯと判定し、ＡＣＴ２４４へと戻る。
かくしてプロセッサ３１はＡＣＴ２４４及びＡＣＴ２４５としては、決済要求又は決済完了通知を待ち受ける。そしてプロセッサ３１は、前述のようにユーザ端末３００から決済が要求されたならばＡＣＴ２４４にてＹＥＳと判定し、ＡＣＴ２４６へと進む。
【０１６９】
ＡＣＴ２４６としてプロセッサ３１は、処理対象となっている取引の取引コードの通知を伴って、決済の要求を仮想ＰＯＳサーバ２に転送する。プロセッサ３１はこのとき、ユーザ端末３００から送られてきた要求データをそのまま仮想ＰＯＳサーバ２に転送してもよいし、何らかの処理による変換後の要求データを仮想ＰＯＳサーバ２に送信してもよい。
【０１７０】
仮想ＰＯＳサーバ２においてプロセッサ２１は、モバイルコントローラ３から送られた要求データによる要求を、既存のＰＯＳ端末に備えられた入力デバイスにより入力された決済指示であると見做して、既存のＰＯＳ端末と同様な処理によって、通知された取引コードで識別される取引に関する代金を算出し、これを決済データに基づいて決済するための処理を行う。なお決済のための処理は例えば、図示しない決済サーバへの決済要求を含む。そしてプロセッサ２１は、決済が完了したことを表した結果データを、モバイルコントローラ３に送信する。かくして仮想ＰＯＳアプリＡＰ２１に基づく情報処理をプロセッサ２１が実行することによって、プロセッサ２１を中枢部分とするコンピュータは決済手段として機能する。
【０１７１】
モバイルコントローラ３にてプロセッサ３１は、ＡＣＴ２４６にて決済の要求を転送したのちには、ＡＣＴ２４７へと進む。
ＡＣＴ２４７としてプロセッサ３１は、決済完了が仮想ＰＯＳサーバ２から通知されるのを待ち受ける。そしてプロセッサ３１は、上述のように仮想ＰＯＳサーバ２が送信した、決済が完了したことを表した結果データが通信インタフェース３４により受信されたならばＹＥＳと判定し、ＡＣＴ２４８へと進む。またプロセッサ３１は、前述のように会計機５での決済完了が通知されたならば、ＡＣＴ２４５にてＹＥＳと判定し、ＡＣＴ２４８へと進む。
ＡＣＴ２４８としてプロセッサ３１は、ユーザ端末３００に対して決済完了を通知する。
【０１７２】
ユーザ端末３００にてプロセッサ３０１は、ＡＣＴ１４中のＡＣＴ１５４にてモバイルコントローラ３へと決済を要求したのち、あるいはＡＣＴ１５５にて会計バーコード画面を表示したのちには、ＡＣＴ１５６へと進む。
ＡＣＴ１５６としてプロセッサ３０１は、決済完了が通知されるのを待ち受ける。そしてプロセッサ３０１は、上述のようにモバイルコントローラ３から決済完了が通知されたならばＹＥＳと判定し、ＡＣＴ１５７へと進む。
ＡＣＴ１５７としてプロセッサ３０１は、完了画面をタッチパネル３０４に表示させる。完了画面は、決済が完了したことを客に報知するための画面である。
【０１７３】
客は、完了画面を確認したならば、完了画面に表されたボタンにタッチするなどの予め定められた操作によって、確認したことを宣言する。これに応じてプロセッサ３０１はＡＣＴ１５８へと進む。なおプロセッサ３０１は、完了画面を表示した状態での経過時間が予め定めた時間に到達した場合に、ＡＣＴ１５８へと進んでもよい。
【０１７４】
ＡＣＴ１５８としてプロセッサ３０１は、チェックアウト用のスキャン画面をタッチパネル３０４に表示させる。チェックアウト用のスキャン画面は、チェックアウト用の２次元コードＴＣ２を読み取るための画面である。プロセッサ３０１は例えば、カメラ３０５を起動し、これによりカメラ３０５で得られた画像に、２次元コードＴＣ２を読み取るように客に促す文字メッセージと、２次元コードＴＣ２を翳すべき位置の目安を示すラインとを重ねてスキャン画面を生成する。
【０１７５】
客は、チェックアウト用のスキャン画面がタッチパネル３０４に表示されたならば、店舗の出口付近に掲示されている２次元コードＴＣ２がスキャン画面に映り込むようにカメラ３０５を２次元コードＴＣ２に向ける。
【０１７６】
ＡＣＴ１５９としてプロセッサ３０１は、２次元コードが読み取れるのを待ち受ける。このときにプロセッサ３０１は、カメラ３０５で得られる画像を繰り返し解析し、２次元コードの読み取りを試みる。この２次元コードの読み取りは、スマホＰＯＳアプリＡＰ３０１に基づく処理として行われてもよいし、２次元コードの読み取り用の別のアプリケーションプログラムに基づく処理として行われてもよい。そしてプロセッサ３０１は、２次元コードが読み取れたならばＹＥＳと判定し、ＡＣＴ１６０へと進む。
【０１７７】
ＡＣＴ１６０としてプロセッサ３０１は、読み取った２次元コードが表すデータがチェックアウトデータであるか否かを確認する。そしてプロセッサ３０１は、チェックアウトデータでなければＮＯと判定し、ＡＣＴ１５９へと戻る。このときにプロセッサ３０１は、誤った２次元コードが読み取られたことを客に通知する画面をタッチパネル３０４に表示させてもよい。
【０１７８】
プロセッサ３０１は、読み取った２次元コードが表すデータがチェックアウトデータであることが確認できたならば、ＡＣＴ１６０にてＹＥＳと判定し、ＡＣＴ１６１へと進む。
ＡＣＴ１６１としてプロセッサ３０１は、モバイルコントローラ３に対して、チェックアウトを要求する。
【０１７９】
モバイルコントローラ３にてプロセッサ３１は、図１７中のＡＣＴ２４８にて決済完了を通知したのちには、ＡＣＴ２４９へと進む。
ＡＣＴ２４９としてプロセッサ３１は、チェックアウトが要求されるのを待ち受ける。そしてプロセッサ３１は、上述のようにユーザ端末３００からチェックアウトが要求されたならばＹＥＳと判定し、ＡＣＴ２５０へと進む。
【０１８０】
ＡＣＴ２５０としてプロセッサ３１は、チェックアウト処理を実行する。チェックアウト処理は、処理対象となっていた取引の管理のためにメインメモリ３２及び補助記憶ユニット３３に保存してあるデータをクリアするなどの処理である。なお仮想ＰＯＳサーバ２は、決済が完了したことに応じて、該当する取引に関する処理を終了してもよいし、モバイルコントローラ３からの指示に応じて取引に関する処理を終了してもよい。そして後者の場合には、プロセッサ３１はチェックアウト処理において、仮想ＰＯＳサーバ２に対して上記指示をする。また、誤ったバーコードスキャンなどを含むユーザの操作の履歴を表した履歴データベースを店舗サーバ１、仮想ＰＯＳサーバ２又はモバイルコントローラ３、あるいは図示されない別のサーバ等で管理する場合がある。この場合には、プロセッサ３１はチェックアウト処理において、今回の取引に関する操作の履歴を反映するように履歴データベースを更新するための処理を行う。
ＡＣＴ２５１としてプロセッサ３１は、チェックアウトの完了をユーザ端末３００に通知する。そしてプロセッサ３１は、図１４〜図１７に示す情報処理を終了する。
【０１８１】
ユーザ端末３００にてプロセッサ３０１は、図１３中のＡＣＴ１６１にてチェックアウトを要求したのちには、ＡＣＴ１６２へと進む。
ＡＣＴ１６２としてプロセッサ３０１は、チェックアウト完了の通知を待ち受ける。そしてプロセッサ３０１は、上述のようにモバイルコントローラ３からチェックアウト完了が通知されたならばＹＥＳと判定し、ＡＣＴ１６３へと進む。
ＡＣＴ１６３としてプロセッサ３０１は、例えば図９中のＡＣＴ１０７にて保存したチェックインデータなどのような、今回の買い物に関して一時的に利用する各種のデータをクリアする。そしてプロセッサ３０１はこののち、図９中のＡＣＴ１０１に戻る。
【０１８２】
以上のように本実施形態の取引処理システムによれば、ユーザ端末３００では、要確認状態では会計のための処理には進まない。つまり、客が購入商品として登録しようとしたものの正しく登録できなかった商品がある場合には、会計のための処理には進まない。これにより、そのような商品が決済されることなく持ち出されることを防止できる。
【０１８３】
そしてユーザ端末３００は、解除用の正規のバーコードを読み取ったならば、モバイルコントローラ３での認証の下に、会計のための処理に進む。かくして、店員による確認をユーザ端末３００で終えることができ、店員を配置した会計コーナーを利用することなしに会計を完了できる。
【０１８４】
また本実施形態の取引処理システムによれば、要確認状態の解除のために店員は、解除用のバーコードをユーザ端末３００に読み取らせるだけでよいので、そのための作業は店員の大きな負担とはならない。
【０１８５】
また本実施形態の取引処理システムによれば、要確認状態の解除のために店員は、ユーザ端末３００での操作を行えばよい。このため、客は、店内を巡回している店員を呼び止めて要確認状態の解除を要求することも、あるいはサービスカウンタなどに出向いて、そこに常駐する店員に対して要確認状態の解除を要求することもできる。つまり、所在エリアの異なる複数の店員に解除用のバーコードを与えておくことにより、要確認状態の解除の柔軟性を高めることが可能である。ただし、どのような店員に解除用のバーコードを与えるかは、店舗毎又は事業者毎の事情による。つまりどの店員に解除用のバーコードを与えるかにより、どのような形態での解除を許容するかを店舗又は事業者側の事情に応じて変更することも可能である。
【０１８６】
また本実施形態の取引処理システムによれば、認証処理を、チェックインデータに含まれる要求データに基づいて行う。このため、店舗毎あるいは事業者毎に解除用のバーコードを異ならせることが容易である。
【０１８７】
この実施形態は、次のような種々の変形実施が可能である。
要確認状態の解除用のデータは、手動での入力操作により指定されたデータを取得する、あるいは記録媒体に電子的に記録されたデータを近接無線通信により取得する等、別の任意の方法で取得されてもよい。
【０１８８】
認証データは、店舗システム１００内に設けられている任意の記憶デバイスに記憶されていてもよい。例えば認証データは、モバイルコントローラ３にてメインメモリ３２又は補助記憶ユニット３３に記憶されていてもよい。
【０１８９】
会計機による会計の際に店員による確認を行うようにし、会計機での決済へはユーザ端末での店員の確認を経ずに進めるようにしてもよい。
【０１９０】
客が商品登録を終了する前の任意のタイミングで正規の解除用のバーコードが読み取られた場合には、要確認フラグを“０”として要確認状態を解除してもよい。このようにすれば、客は店内を見回っている最中に店員を見かけたときに、その店員に要確認状態の解除を要求することができる。ただしこの場合には、要確認状態の解除後に要確認商品を購入商品として登録したならば、要確認フラグが“１”とされて要確認状態となるから、再度の解除が必要となる。
【０１９１】
購入商品として登録することができなかった商品が有る状態のみを要確認状態としてもよい。
【０１９２】
仮想ＰＯＳサーバ２の機能と、モバイルコントローラ３の機能とを、１つのサーバで実現してもよい。
【０１９３】
ユーザ端末３００は、店舗に備え付けられたショッピングカートに取り付けられた、いわゆるカート端末であってもよい。つまり取引処理システムが、カートＰＯＳシステムとして実現されてもよい。あるいは、ユーザ端末３００として、ユーザが携帯する端末と、ショッピングカートに取り付けられた端末とが混在していてもよい。
【０１９４】
情報処理によりプロセッサ１１，２１，３１，４１，３０１が実現する各機能は、その一部又は全てをロジック回路などのようなプログラムに基づかない情報処理を実行するハードウェアにより実現することも可能である。また上記の各機能のそれぞれは、上記のロジック回路などのハードウェアにソフトウェア制御を組み合わせて実現することも可能である。
【０１９５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１９６】
１…店舗サーバ、２…仮想ＰＯＳサーバ、３…モバイルコントローラ、４…通信サーバ、５…会計機、６…アクセスポイント、７…店内通信ネットワーク、１１，２１，３１，４１，３０１…プロセッサ、１２，２２，３２，４２，３０２…メインメモリ、１３，２３，３３，４３，３０３…補助記憶ユニット、１４，２４，３４，４４，…通信インタフェース、１５，２５，３５，４６，３０８…伝送路、４５…通信ユニット、３０４…タッチパネル、３０５…カメラ、３０６…無線通信ユニット、３０７…モバイル通信ユニット、１００（１００Ａ，１００Ｂ）…店舗システム、２００…中継サーバ、３００…ユーザ端末、４００…通信ネットワーク。
【図１】
2022000800.tif 000003
【図２】
2022000800.tif 000004
【図３】
2022000800.tif 000005
【図４】
2022000800.tif 000006
【図５】
2022000800.tif 000007
【図６】
2022000800.tif 000008
【図７】
2022000800.tif 000009
【図８】
2022000800.tif 000010
【図９】
2022000800.tif 000011
【図１０】
2022000800.tif 000012
【図１１】
2022000800.tif 000013
【図１２】
2022000800.tif 000014
【図１３】
2022000800.tif 000015
【図１４】
2022000800.tif 000016
【図１５】
2022000800.tif 000017
【図１６】
2022000800.tif 000018
【図１７】
2022000800.tif 000019
【図１８】
2022000800.tif 000020
【図１９】
2022000800.tif 000021
【図２０】
2022000800.tif 000022
【図２１】
2022000800.tif 000023
【図２２】
2022000800.tif 000024
【図２３】
2022000800.tif 000025
【図２４】
2022000800.tif 000026
【図２５】
2022000800.tif 000027
【図２６】
2022000800.tif 000028