(57)【要約】【課題】電子レシートシステムに係るデータ処理をＰＯＳアプリケーションに代わって請け負う電子レシートエージェントを提供する。【解決手段】電子レシートエージェントは、入力処理部、印刷処理部、送信処理部、判断部、切替部を備える。判断部は、入力デバイスを介して入力されたデータが電子レシートを要求するデータであるか否かを判断する。切替部は、判断部で電子レシートを要求するデータであると判断された後に実行部で生成されたレシートデータについては送信処理部へ与え、判断部で電子レシートを要求するデータであると判断されることなく実行部で生成されたレシートデータについては印刷処理部へ与える。【選択図】      図４
2019067305.tif 000002
【特許請求の範囲】
【請求項１】
入力デバイスを介して入力された商取引に関するデータを、当該データを基にレシートデータを生成するアプリケーションプログラムの実行部に出力する入力処理部と、
前記レシートデータを基にレシート印刷を印刷デバイスに実行させる印刷処理部と、
通信デバイスを制御して前記レシートデータをサーバへと送信する送信処理部と、
前記入力デバイスを介して入力されたデータが電子レシートを要求するデータであるか否かを判断する判断部と、
前記判断部で前記電子レシートを要求するデータであると判断された後に前記実行部で生成されたレシートデータについては前記送信処理部へ与え、前記判断部で前記電子レシートを要求するデータであると判断されることなく前記実行部で生成されたレシートデータについては前記印刷処理部へ与える切替部と、
を具備する電子レシートエージェント。
【請求項２】
前記入力処理部は、
前記入力デバイスを介して入力されたデータを取り込むサービスオブジェクトと、前記実行部とのインターフェースを提供して前記入力されたデータを前記実行部へと出力するコントロールオブジェクトと、で構成し、
前記判断部は、
前記入力処理部の前記サービスオブジェクトと前記コントロールオブジェクトの間に介在して、前記サービスオブジェクトにより取り込まれたデータが電子レシートを要求するデータである場合にはそのデータを前記切替部へ与え、前記サービスオブジェクトにより取り込まれたデータが電子レシートを要求するデータでない場合にはそのデータを前記コントロールオブジェクトに与えるダミーサービスオブジェクトで構成する、
請求項１記載の電子レシートエージェント。
【請求項３】
前記印刷処理部は、
前記実行部とのインターフェースを提供して前記レシートデータを取り込むコントロールオブジェクトと、レシートの印刷を印刷デバイスに実行させるサービスオブジェクトと、で構成し、
前記切替部は、
前記印刷処理部の前記コントロールオブジェクトと前記サービスオブジェクトとの間に介在して、前記コントロールオブジェクトにより取り込まれたレシートデータを、前記判断部から電子レシートを要求するデータを受信した場合には前記送信処理部へ与え、前記電子レシートを要求するデータを受信していない場合には前記サービスオブジェクトに与えるダミーサービスオブジェクトで構成する、
請求項１記載の電子レシートエージェント。
【請求項４】
前記判断部は、前記入力デバイスを介して入力されたデータが、電子レシート会員として登録された会員に対して発行される会員ＩＤであるとき、電子レシートを要求するデータであると判断してその会員ＩＤを前記切替部に与え、
前記切替部は、前記判断部から前記会員ＩＤが与えられた場合、この会員ＩＤとともに前記実行部で生成されたレシートデータを前記送信処理部へ与える、
請求項１記載の電子レシートエージェント。
【請求項５】
入力デバイス、印刷デバイス及び通信デバイスを備えたコンピュータに、請求項１乃至４のうちいずれか１項記載の電子レシートエージェントとしての機能を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＰＯＳ（Point Of Sales）端末に適用される電子レシートエージェント及びプログラムに関する。
【背景技術】
【０００２】
近年、一部の店舗では、電子レシートシステムが導入されている。電子レシートシステムは、店舗のＰＯＳ（Point Of Sales）端末から買物客に対して発行されるレシートを電子化してセンタサーバに保管する。そして、このセンタサーバに保管された電子レシートのデータを買物客がスマートフォン等の情報端末にダウンロードできるようにしたものである。
【０００３】
このような電子レシートシステムを導入することにより、店舗では紙レシートを発行しないようになるため、レシートの印字時間を省略できる。また、レシート用紙を節約できるため、コストを削減できるメリットもある。
【０００４】
そこで、新たに電子レシートシステムを導入したいという店舗が増えている。しかし、電子レシートシステムを導入するためには、ＰＯＳ端末にインストールされているＰＯＳ端末専用のアプリケーションソフトウェア、いわゆるＰＯＳアプリケーションの改修が必要である。この点が、電子レシートシステムの普及の弊害となっている。このような問題は、ＰＯＳアプリケーションに代わって電子レシートシステムに係るデータ処理を請け負うソフトウェアを開発することで解決できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４‐２０６７９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態が解決しようとする課題は、電子レシートシステムに係るデータ処理をＰＯＳアプリケーションに代わって請け負うことができる電子レシートエージェント及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００７】
一実施形態において、電子レシートエージェントは、入力処理部と、印刷処理部と、送信処理部と、判断部と、切替部と、を備える。入力処理部は、入力デバイスを介して入力された商取引に関するデータを、当該データを基にレシートデータを生成するアプリケーションプログラムの実行部に出力する。印刷処理部は、レシートデータを基にレシート印刷を印刷デバイスに実行させる。送信処理部は、通信デバイスを制御してレシートデータをサーバへと送信する。判断部は、入力デバイスを介して入力されたデータが電子レシートを要求するデータであるか否かを判断する。切替部は、判断部で電子レシートを要求するデータであると判断された後に実行部で生成されたレシートデータについては送信処理部へ与え、判断部で電子レシートを要求するデータであると判断されることなく実行部で生成されたレシートデータについては印刷処理部へ与える。
【図面の簡単な説明】
【０００８】
【図１】電子レシートシステムを説明するための模式図。
【図２】ＰＯＳ端末のハードウェア構成を示すブロック図。
【図３】ＰＯＳ端末が有する主要なソフトウェアを示すブロック図。
【図４】図３の要部を詳細に示すブロック図。
【図５】電子レシートエージェントを備えたＰＯＳ端末のプロセッサの主要な動作を示すフローチャート。
【図６】電子レシートエージェントを備えたＰＯＳ端末のプロセッサの主要な動作を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、電子レシートシステムに係るデータ処理をＰＯＳアプリケーションに代わって請け負うことができる電子レシートエージェントの実施形態について、図面を用いて説明する。始めに、電子レシートシステムについて説明する。
【００１０】
図１は、電子レシートシステム１０を説明するための模式図である。電子レシートシステム１０は、各加盟店Ｓにそれぞれ設けられるＰＯＳ端末２０と、電子レシートセンタＣに設けられるセンタサーバ３０と、ネットワーク４０と、を含む。加盟店Ｓは、電子レシートシステム１０を利用するために加盟店登録をした店舗である。電子レシートセンタＣは、電子レシートシステム１０を運営する運営体によって管理されるコンピュータセンタである。ネットワーク４０は、例えばインターネットである。各加盟店ＳのＰＯＳ端末２０と電子レシートセンタＣのサーバ３０とは、それぞれルータ等の通信機器を介してネットワーク４０に接続されている。
【００１１】
消費者（買物客）が電子レシートシステム１０を利用するためには、情報端末５０が必要である。情報端末５０は、無線ＬＡＮ（Local Area Network）又はモバイル通信の技術を利用して無線通信が可能な携帯型の電子機器である。ネットワーク４０には、無線ＬＡＮ又はモバイル通信に対応したアクセスポイント６０が多数接続されている。情報端末５０は、いずれかのアクセスポイント６０を介してセンタサーバ３０と無線通信を可能とする。このような情報端末５０としては、例えばスマートフォン、タブレット端末、携帯電話等が適用される。
【００１２】
電子レシートシステムを利用する消費者は、情報端末５０に専用のアプリケーションプログラムをインストールし、電子レシート会員の登録を行う。会員登録を行うことにより、その消費者固有の会員ＩＤが発行される。会員ＩＤが発行された後は、アプリケーションプログラムを起動することで、当該会員ＩＤを表すバーコードが情報端末５０の表示デバイスに表示される。そこで消費者は、加盟店Ｓで買物を行い買上商品の会計を会計担当の店員に申し出る際に、表示デバイスに表示された会員ＩＤのバーコードを提示する。店員は、ＰＯＳ端末２０に備えられたバーコード読取用のスキャナ２０８を用いて会員ＩＤのバーコードを読み取る。
【００１３】
ＰＯＳ端末２０は、スキャナ２０８で会員ＩＤのバーコードが読み取られた場合、レシートを紙レシートではなく電子レシートとして発行する商取引であると認識する。そしてＰＯＳ端末２０は、その商取引の明細を示すレシートを電子化した電子レシートデータを、バーコードから取得した会員ＩＤとともにセンタサーバ３０へと送信する。
【００１４】
センタサーバ３０は、各ＰＯＳ端末２０から受信した電子レシートデータを、会員ＩＤと関連付けて記憶する。その後、情報端末５０から会員ＩＤを含む電子レシートデータの要求コマンドを受信すると、センタサーバ３０は、その会員ＩＤで関連付けられた電子レシートデータを要求元の情報端末５０へと無線送信する。電子レシートデータを受信した情報端末５０では、その電子レシートデータに基づき表示デバイスにレシート画像が表示される。かくして消費者は、加盟店での会計時には受け取らなかったレシートを確認することができる。
【００１５】
さて、本実施形態の電子レシートエージェントは、ＰＯＳ端末２０に対して適用される。そこで次に、ＰＯＳ端末２０について説明する。始めに、ＰＯＳ端末２０のハードウェア構成について、図２を用いて説明する。
【００１６】
図２は、ＰＯＳ端末２０のハードウェア構成を示すブロック図である。ＰＯＳ端末２０は、プロセッサ２０１、メインメモリ２０２、補助記憶デバイス２０３、時計２０４、通信インターフェース２０５、キーボード２０６、ディスプレイ２０７、スキャナ２０８、プリンタ２０９、自動釣銭機２１０及びシステムバス２１１を備える。そしてＰＯＳ端末２０は、システムバス２１１に、プロセッサ２０１、メインメモリ２０２、補助記憶デバイス２０３、時計２０４、通信インターフェース２０５、キーボード２０６、ディスプレイ２０７、スキャナ２０８、プリンタ２０９及び自動釣銭機２１０を直接または信号入出力回路を介して接続する。かくしてＰＯＳ端末２０は、プロセッサ２０１、メインメモリ２０２及び補助記憶デバイス２０３と、これらを接続するシステムバス２１１とによってコンピュータを構成する。
【００１７】
プロセッサ２０１は、上記コンピュータの中枢部分に相当する。プロセッサ２０１は、オペレーティングシステムやアプリケーションプログラムに従って、ＰＯＳ端末２０としての各種の機能を実現するべく各部を制御する。
【００１８】
メインメモリ２０２は、上記コンピュータの主記憶部分に相当する。メインメモリ２０２は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ２０２は、不揮発性のメモリ領域ではオペレーティングシステムやアプリケーションプログラムを記憶する。またメインメモリ２０２は、プロセッサ２０１が各部を制御するための処理を実行する上で必要なデータを不揮発性または揮発性のメモリ領域で記憶する場合もある。メインメモリ２０２は、揮発性のメモリ領域を、プロセッサ２０１によってデータが適宜書き換えられるワークエリアとして使用する。
【００１９】
補助記憶デバイス２０３は、上記コンピュータの補助記憶部分に相当する。例えばＥＥＰＲＯＭ（Electric Erasable Programmable Read-Only Memory）、ＨＤＤ（Hard Disc Drive）、あるいはＳＳＤ（Solid State Drive）等が補助記憶デバイス２０３として使用される。補助記憶デバイス２０３は、プロセッサ２０１が各種の処理を行う上で使用するデータや、プロセッサ２０１での処理によって生成されたデータを保存する。補助記憶デバイス２０３は、上記のアプリケーションプログラムを記憶する場合もある。
【００２０】
時計２０４は、ＰＯＳ端末２０の時刻情報源として機能する。プロセッサ２０１は、時計２０４によって計時される時刻情報を基に、現在の日付及び時刻を計時する。
【００２１】
通信インターフェース２０５は、ＬＡＮ（Local Area Network）を介して店舗Ｓ内のストアサーバ等とデータ通信を行う。また通信インターフェース２０５は、ＬＡＮに接続されたルータを介してネットワーク４０に接続しており、所定の通信プロトコルに従い、ネットワーク４０を介してセンタサーバ３０とデータ通信を行う。
【００２２】
キーボード２０６は、テンキー、小計キー、締めキー等のように、ＰＯＳ端末２０として必要な種々のキーが配設され、操作者による各種指示の入力を受け付ける。キーボード２０６は、ＰＯＳ端末２０の入力デバイスとして機能する。なお、キーボード２０６に代えて、あるいはキーボード２０６と組み合わせてタッチパネルを、この種の入力デバイスとして適用することも可能である。操作者は、典型的には、会計担当の店員である。しかし、消費者である買物客が自ら操作者となることも妨げるものではない。
【００２３】
ディスプレイ２０７は、操作者に対して各種の情報を通知するための各種画面を表示する。ディスプレイ２０７は、ＰＯＳ端末２０の表示デバイスとして機能する。ディスプレイ２０７は１つに限定されるものではない。例えば店員用と買物客用の２つのディスプレイ２０７をＰＯＳ端末２０が備えていてもよい。
【００２４】
スキャナ２０８は、バーコードを光学的にスキャンして読み取る。スキャナ２０８は、ＰＯＳ端末２０の入力デバイスとして機能する。各商品には、その商品固有の商品コードを表わしたバーコードが付されている。スキャナ２０８は、各商品に付されたバーコードを読み取ることができる。また、前述したように、情報端末５０の表示デバイスに会員ＩＤを示す会員ＩＤのバーコードが表示されている場合、スキャナ２０８は、このバーコードを読み取ることができる。なお、スキャナ２０８は、バーコード以外のコードシンボル、例えば二次元データコードを読み取るものであってもよい。
【００２５】
プリンタ２０９は、レシート用紙に対してレシート画像をプリントし、紙レシートを発行する。プリンタ２０９は、レシート用紙以外の用紙、例えばジャーナル用紙にデータを印字してもよい。プリンタ２０９は、ＰＯＳ端末２０の印刷デバイスとして機能する。
【００２６】
自動釣銭機２１０は、紙幣及び硬貨の投入口を有し、投入された紙幣又は硬貨の金額を算出する。そして自動釣銭機は、この投入金額から取引金額を減じた差額を釣銭額として釣銭額相当の紙幣又は硬貨を払出口に払い出すものである。なお、自動釣銭機２１０に代えて、現金を収容するためのドロワを備えてもよい。
【００２７】
次に、ＰＯＳ端末２０のソフトウェア構成について、図３及び図４を用いて説明する。
図３は、ＰＯＳ端末２０が有する主要なソフトウェアを示すブロック図であり、図４は、図３の要部（スキャナダミーサービスオブジェクト８０７とプリンタダミーサービスオブジェクト８０８）を詳細に示すブロック図である。図３に示すようにＰＯＳ端末２０は、ＰＯＳアプリケーション７０と電子レシートエージェント８０とを備える。
【００２８】
ＰＯＳアプリケーション７０は、キーボード２０６、ディスプレイ２０７、スキャナ２０８、プリンタ２０９等のデバイスを制御し、商品販売に係る情報処理を、プロセッサ２０１を主体としたコンピュータに実行させるためのプログラムである。すなわちプロセッサ２０１を主体としたコンピュータは、ＰＯＳアプリケーション７０の実行部として機能する。
【００２９】
商品販売に係る情報処理には、登録処理と決済処理とが含まれる。登録処理は、入力デバイス（キーボード２０６、スキャナ２０８等）を介して買物客が買い上げる商品の商品コードが入力されるのを待ち受ける。そして商品コードが入力されると、その商品コードで特定される商品の販売データを生成し、取引メモリに登録する処理である。また登録処理は、取引メモリに登録された販売データの商品名、価格等を表示デバイス（ディスプレイ２０７等）に表示させる処理も含む。取引メモリは、メインメモリ２０２の揮発性メモリ領域に形成されている。
【００３０】
決済処理は、締めキーの入力により商取引の登録締めが指令されると、取引メモリに登録されたデータを基に取引金額を算出する。そして、支払データが入力されると、取引金額を支払いデータで決済する処理である。また決済処理は、取引メモリに登録されたデータを基にレシートデータを生成する処理も含む。支払データは、現金決済の場合、預り金額のデータである。電子マネー決済の場合、電子マネーカードの残高である。ポイント決済の場合、ポイントカードの残ポイントである。
【００３１】
電子レシートエージェント８０は、ＰＯＳアプリケーション７０に成り代わって電子レシートシステムに係るデータ処理を請け負う。すなわち電子レシートエージェント８０は、会員ＩＤの読取りに供される入力デバイスすなわちスキャナ２０８を制御する。また電子レシートエージェント８０は、レシート印刷に供される印刷デバイスすなわちプリンタ２０９を制御する。さらに電子レシートエージェント８０は、レシートデータの送信に供される通信デバイスである通信インターフェース２０５を制御する。
【００３２】
具体的には電子レシートエージェント８０は、ＵＳＢ（Universal Serial Bus）ドライバ８０１、スキャナコントロールオブジェクト８０２、スキャナサービスオブジェクト８０３、プリンタコントロールオブジェクト８０４、プリンタサービスオブジェクト８０５、レシートデータ送信プロセス８０６、スキャナダミーサービスオブジェクト８０７、及びプリンタダミーサービスオブジェクト８０８を含む。ＵＳＢドライバ８０１は、カーネル空間に属する。スキャナコントロールオブジェクト８０２、スキャナサービスオブジェクト８０３、プリンタコントロールオブジェクト８０４、プリンタサービスオブジェクト８０５、レシートデータ送信プロセス８０６、スキャナダミーサービスオブジェクト８０７、及びプリンタダミーサービスオブジェクト８０８は、ユーザ空間に属する。
【００３３】
ＵＳＢドライバ８０１は、ＵＳＢインターフェースに準拠したデバイスとのデータ通信を制御するソフトウェアである。本実施形態において、スキャナ２０８及びプリンタ２０９は、ＵＳＢインターフェースに準拠したデバイスであり、ＰＯＳ端末２０の本体に対してＵＳＢケーブルで接続される。
【００３４】
スキャナコントロールオブジェクト８０２及びスキャナサービスオブジェクト８０３は、ＰＯＳアプリケーション７０に対してオープンＰＯＳ標準仕様に準拠したインターフェースを有し、スキャナ２０８に対応して設けられたソフトウェアである。
【００３５】
スキャナコントロールオブジェクト８０２は、スキャナ２０８に関するプロパティ、メソッド、イベントのセットをＰＯＳアプリケーション７０に提供する。ＰＯＳアプリケーション７０は、スキャナコントロールオブジェクト８０２から提供されたメソッド及びプロパティを通じてスキャナ２０８への実行要求を行う。そしてＰＯＳアプリケーション７０は、メソッドの戻り値とプロパティ及びイベントを通じて、スキャナコントロールオブジェクト８０２からスキャナ２０８の処理結果を取得する。
【００３６】
スキャナサービスオブジェクト８０３は、スキャナ２０８の製造元及び機種に対応しており、スキャナコントロールオブジェクト８０２によって呼び出されて動作する。すなわちスキャナサービスオブジェクト８０３は、ＰＯＳアプリケーション７０からの実行要求をスキャナ２０８に指令し、スキャナ２０８から処理結果を受け取って、スキャナコントロールオブジェクト８０２へと出力する。
【００３７】
ここに、スキャナコントロールオブジェクト８０２及びスキャナサービスオブジェクト８０３は、入力デバイス（スキャナ２０８）を介して入力された商取引に関するデータを、当該データを基にレシートデータを生成するアプリケーションプログラムの実行部に出力する入力処理部として機能する。
【００３８】
プリンタコントロールオブジェクト８０４及びプリンタサービスオブジェクト８０５は、ＰＯＳアプリケーション７０に対してオープンＰＯＳ標準仕様に準拠したインターフェースを有し、プリンタ２０９に対応して設けられたソフトウェアである。
【００３９】
プリンタコントロールオブジェクト８０４は、プリンタ２０９に関するプロパティ、メソッド、イベントのセットをＰＯＳアプリケーション７０に提供する。ＰＯＳアプリケーション７０は、プリンタコントロールオブジェクト８０４から提供されたメソッド及びプロパティを通じてプリンタ２０９への実行要求を行う。そしてＰＯＳアプリケーション７０は、メソッドの戻り値とプロパティ及びイベントを通じて、プリンタコントロールオブジェクト８０４からプリンタ２０９の処理結果を取得する。
【００４０】
プリンタサービスオブジェクト８０５は、プリンタ２０９の製造元及び機種に対応しており、プリンタコントロールオブジェクト８０４によって呼び出されて動作する。すなわちプリンタサービスオブジェクト８０５は、ＰＯＳアプリケーション７０からの実行要求をプリンタ２０９に指令し、プリンタ２０９から処理結果を受け取って、プリンタコントロールオブジェクト８０４へと出力する。
【００４１】
ここに、プリンタコントロールオブジェクト８０４及びプリンタサービスオブジェクト８０５は、レシートデータを基にレシート印刷を印刷デバイス（プリンタ２０９）に実行させる印刷処理部として機能する。
【００４２】
レシートデータ送信プロセス８０６は、ＰＯＳアプリケーション７０によるデータ処理で生成されたレシートデータをセンタサーバ３０へと送信するように、通信インターフェース２０５を制御するソフトウェアである。すなわちレシートデータ送信プロセス８０６は、レシートデータをＸＭＬ（Extensible Markup Language）フォーマット、ＪＣＯＮ（JavaScript Object Notation）又はＣＳＶ（Comma Separated Value）フォーマットの構造化データに変換する。レシートデータを構造化することで、レシートデータに含まれる各要素（レシートを構成する各テキストデータ）を区別、特定することができ、要素間の配列関係などを、そのデータだけから認識することができるようになる。そこでレシートデータ送信プロセス８０６は、通信インターフェース２０５を制御して、構造化データに変換されたレシートデータをセンタサーバ３０へと送信させる。
【００４３】
ここにレシートデータ送信プロセス８０６は、通信デバイス（通信インターフェース２０５）を制御してレシートデータをセンタサーバ３０へと送信する送信処理部として機能する。
【００４４】
スキャナダミーサービスオブジェクト８０７は、スキャナサービスオブジェクト８０３と同様に、スキャナコントロールオブジェクト８０２によって呼び出されて動作するソフトウェアである。スキャナダミーサービスオブジェクト８０７は、スキャナサービスオブジェクト８０３からスキャナコントロールオブジェクト８０２へと出力されるスキャナ２０８の処理結果に対し、以下の処理を行う。
【００４５】
プリンタダミーサービスオブジェクト８０８は、プリンタサービスオブジェクト８０５と同様に、プリンタコントロールオブジェクト８０４によって呼び出されて動作するソフトウェアである。プリンタダミーサービスオブジェクト８０８は、プリンタコントロールオブジェクト８０４からプリンタサービスオブジェクト８０５へと出力されるレシートデータに対し、以下の処理を行う。
【００４６】
図４は、スキャナダミーサービスオブジェクト８０７及びプリンタダミーサービスオブジェクト８０８の処理構成を具体的に示すブロック図である。以下、図４を用いて、スキャナダミーサービスオブジェクト８０７及びプリンタダミーサービスオブジェクト８０８の処理について説明する。
【００４７】
スキャナダミーサービスオブジェクト８０７は、入力部８０７１、判断部８０７２、第１出力部８０７３及び第２出力部８０７４によって構成される。入力部８０７１は、スキャナサービスオブジェクト８０３の出力、すなわちスキャナ２０８で読み取ったバーコードのデータを入力する。そして入力部８０７１は、入力されたバーコードデータを判断部８０７２へと与える。
【００４８】
判断部８０７２は、入力部８０７１を介して入力されたバーコードデータが、電子レシートを要求するデータであるか否かを判断する。前述したように本実施形態では、レシートを電子レシートとして受け取る消費者は、情報端末５０の表示デバイスに表示された会員ＩＤのバーコードを店員に提示する。店員は、スキャナ２０８を操作して、そのバーコードを読み取る。そこで判断部８０７２は、入力部８０７１を介して入力されたバーコードデータが、会員ＩＤのバーコードを読み取ったデータであるか否かを判断する。
【００４９】
スキャナ２０８によって読み取られるバーコードには、主に、会員ＩＤのバーコードと商品コードのバーコードとがある。会員ＩＤのバーコードと商品コードのバーコードとは、コード体系が異なる。判断部８０７２は、コード体系の違いによって、バーコードデータが会員ＩＤのバーコードを読み取ったデータであるか否かを判断する。
【００５０】
バーコードデータが会員ＩＤのバーコードを読み取ったデータでない場合、判断部８０７２は、当該バーコードデータが電子レシートを要求するデータではないと判断する。この場合、判断部８０７２は、バーコードデータを第１出力部８０７３へと出力する。これに対し、バーコードデータが会員ＩＤのバーコードを読み取ったデータである場合には、判断部８０７２は、当該バーコードデータが電子レシートを要求するデータであると判断する。この場合、判断部８０７２は、バーコードデータを第２出力部８０７４へと出力する。
【００５１】
第１出力部８０７３は、判断部８０７２を介して入力されたバーコードデータをスキャナコントロールオブジェクト８０２へと出力する。
【００５２】
第２出力部８０７４は、判断部８０７２を介して入力されたバーコードデータを、後述するプリンタダミーサービスオブジェクト８０８の切替部８０８２へと出力する。
【００５３】
ここに、スキャナダミーサービスオブジェクト８０７は、入力デバイス（スキャナ２０８）を介して入力されたデータが電子レシートを要求するデータ（会員ＩＤのバードデータ）であるか否かを判断する判断部として機能する。
【００５４】
プリンタダミーサービスオブジェクト８０８は、入力部８０８１、切替部８０８２、第１出力部８０８３及び第２出力部８０８４によって構成される。入力部８０８１は、プリンタコントロールオブジェクト８０４の出力、すなわちレシートデータを入力する。そして入力部８０８１は、入力されたレシートデータを切替部８０８２へと与える。
【００５５】
切替部８０８２は、入力部８０８１を介して入力されたレシートデータの出力先を、第１出力部８０８３と第２出力部８０８４との間で切り替える。切替部８０８２は、スキャナダミーサービスオブジェクト８０７の第２出力部８０７４からバーコードデータが入力されていない状態でレシートデータを入力すると、このレシートデータの出力先を第１出力部８０８３とする。すなわち切替部８０８２は、レシートデータを第１出力部８０８３へと出力する。これに対し、切替部８０８２は、スキャナダミーサービスオブジェクト８０７の第２出力部８０７４からバーコードデータが入力された後でレシートデータを入力すると、このレシートデータの出力先を第２出力部８０８４とする。すなわち切替部８０８２は、レシートデータをバーコードデータとともに第２出力部８０８４へと出力する。
【００５６】
第１出力部８０８３は、切替部８０８２を介して入力されたレシートデータをプリンタサービスオブジェクト８０５へと出力する。
【００５７】
第２出力部８０８４は、切替部８０８２を介して入力されたレシートデータとバーコードデータとをレシートデータ送信プロセス８０６へと出力する。
【００５８】
このようにプリンタダミーサービスオブジェクト８０８は、判断部（スキャナダミーサービスオブジェクト８０７）で電子レシートを要求するデータであると判断された後に実行部で生成されたレシートデータについては送信処理部（レシートデータ送信プロセス８０６）へ与える。また、プリンタダミーサービスオブジェクト８０８は、判断部（スキャナダミーサービスオブジェクト８０７）で電子レシートを要求するデータであると判断されることなく実行部で生成されたレシートデータについては印刷処理部（プリンタサービスオブジェクト８０５）へ与える。ここに、プリンタダミーサービスオブジェクト８０８は、切替部として機能する。
【００５９】
図５及び図６は、図３及び図４を用いて説明した電子レシートエージェント８０を備えたＰＯＳ端末２０のプロセッサ２０１の主要な動作（処理手順）を示すフローチャートである。具体的には、図５は、スキャナ２０８から入力されるバーコードデータに対する動作を示しており、図６は、ＰＯＳアプリケーション７０で生成されたレシートデータに対する動作を示している。始めに、図５を用いてバーコードデータに対するプロセッサ２０１の動作について説明する。
【００６０】
プロセッサ２０１は、Ａｃｔ１１としてスキャナ２０８からバーコードデータが入力されるのを待ち受ける。スキャナ２０８からバーコードデータが入力されたならば（Ａｃｔ１、ＹＥＳ）、プロセッサ２０１は、Ａｃｔ１２してそのバーコードデータを解析する。そしてプロセッサ２０１は、Ａｃｔ１３としてそのバーコードデータが会員ＩＤのコード体系を有するバーコードデータであるか否かを判断する。プロセッサ２０１は、会員ＩＤのコード体系を有するバーコードデータでないと判断した場合（Ａｃｔ１３、ＮＯ）、Ａｃｔ１４としてそのバーコードデータでＰＯＳアプリケーション７０を実行する。
【００６１】
一方、会員ＩＤのコード体系を有するバーコードデータであると判断した場合には（Ａｃｔ１３、ＹＥＳ）、プロセッサ２０１は、Ａｃｔ１５としてそのバーコードデータを含む割込み信号を生成する。しかる後、プロセッサ２０１は、Ａｃｔ１に戻り、次のバーコードデータが入力されるのを待ち受ける。
【００６２】
次に、図６を用いてレシートデータに対するプロセッサ２０１の動作について説明する。
【００６３】
プロセッサ２０１は、Ａｃｔ２１として状態フラグＦを“０”にリセットする。状態フラグＦは、メインメモリ２０２の揮発性領域に記憶されている。プロセッサ２０１は、Ａｃｔ２２としてＰＯＳアプリケーション７０の処理によりレシートデータが生成されたか否かを判断する。レシートデータが生成されていない場合（Ａｃｔ２２、ＮＯ）、プロセッサ２０１は、Ａｃｔ２３として割込み信号が生成されたか否かを判断する。割込み信号が生成されていない場合（Ａｃｔ２３、ＮＯ）、プロセッサ２０１は、Ａｃｔ２２に戻る。ここにプロセッサ２０１は、Ａｃｔ２２及びＡｃｔ２３の処理により、レシートデータが生成されるか割込み信号が生成されるのを待ち受ける。
【００６４】
プロセッサ２０１は、Ａｃｔ２２及びＡｃｔ２３の待ち受け状態において、割込み信号が生成されたことを確認した場合（Ａｃｔ２３、ＹＥＳ）、Ａｃｔ２４として状態フラグＦを“１”にセットする。その後、プロセッサ２０１は、Ａｃｔ２２及びＡｃｔ２３の待ち受け状態に戻る。
【００６５】
プロセッサ２０１は、Ａｃｔ２２及びＡｃｔ２３の待ち受け状態において、レシートデータが生成されたことを確認した場合（Ａｃｔ２２、ＹＥＳ）、Ａｃｔ２５として状態フラグＦを判定する。ここで、状態フラグＦが“０”にリセットされたままであった場合（Ａｃｔ２５、ＮＯ）、プロセッサ２０１は、Ａｃｔ２６としてレシートデータをプリンタ２０９へと出力し、レシート印刷を制御する。これに対し、状態フラグＦが“１”にセットされていた場合には（Ａｃｔ２６、ＹＥＳ）、プロセッサ２０１は、Ａｃｔ２７としてレシートデータを電子化し、この電子化されたレシートデータをセンタサーバ３０へと送信するように通信インターフェース２０５を制御する。
【００６６】
かくして、レシート印刷を制御するか通信インターフェース２０５を制御した後、プロセッサ２０１は、Ａｃｔ２１の処理に戻る。すなわちプロセッサ２０１は、状態フラグＦを“０”にリセットし、レシートデータ又は割込み信号が生成されるのを待ち受ける。
【００６７】
このように電子レシートエージェント８０においては、判断部８０７２を備えたスキャナダミーサービスオブジェクト８０７を、スキャナコントロールオブジェクト８０２とスキャナサービスオブジェクト８０３との間に介在させている。また、切替部８０８２を備えたプリンタダミーサービスオブジェクト８０８を、プリンタコントロールオブジェクト８０４とプリンタサービスオブジェクト８０５との間に介在させている。
【００６８】
そうすることにより、スキャナ２０８で読み取られ、スキャナサービスオブジェクト８０３により取り込まれたバーコードデータは、スキャナダミーサービスオブジェクト８０７に与えられる。そして、スキャナダミーサービスオブジェクト８０７により、会員ＩＤのバーコードデータはプリンタダミーサービスオブジェクト８０８へ出力される。会員ＩＤのバーコードデータは、ＰＯＳアプリケーション７０には出力されない。一方、会員ＩＤのバーコード以外のバーコードデータは、スキャナコントロールオブジェクト８０２によりＰＯＳアプリケーション７０の実行部に与えられ、登録処理又は決済処理に供される。
【００６９】
そして、この決済処理によりレシートデータが生成されると、このレシートデータはプリンタコントロールオブジェクト８０４によりプリンタダミーサービスオブジェクト８０８に与えられる。このとき、会員ＩＤのバーコードデータがプリンタダミーサービスオブジェクト８０８に与えられていない場合には、レシートデータは、プリンタサービスオブジェクト８０５によりプリンタ２０９へと出力される。すなわち紙レシートが発行される。
【００７０】
一方、会員ＩＤのバーコードデータがプリンタダミーサービスオブジェクト８０８に与えられていた状態で、レシートデータが生成された場合には、このレシートデータは、レシートデータ送信プロセス８０６により構造化データに変換される。そしてレシートデータは、バーコードデータとともに通信インターフェース２０５を介してセンタサーバ３０へと送信される。
【００７１】
このように電子レシートエージェント８０によれば、ＰＯＳアプリケーション７０に代わって電子レシートシステムに係るデータ処理を請け負うことができる。したがって、既存のＰＯＳアプリケーション７０を改修することなく、電子レシートシステム１０に対応したＰＯＳ端末２０を得ることができる。
【００７２】
また、電子レシートエージェント８０は、スキャナ２０８に対応したソフトウェアとして、スキャナコントロールオブジェクト８０２とスキャナサービスオブジェクト８０３とを備え、さらにスキャナコントロールオブジェクト８０２とスキャナサービスオブジェクト８０３との間にスキャナダミーサービスオブジェクト８０７を介在させた構成となっている。したがって、電子レシートエージェント８０は、スキャナ２０８に関し、ＰＯＳアプリケーション７０に対してオープンＰＯＳ標準仕様に準拠したインターフェースを有しているので、スキャナ２０８の製造元及び機種を適宜変更することができる。
【００７３】
同様に、電子レシートエージェント８０は、プリンタ２０９に対応したソフトウェアとして、プリンタコントロールオブジェクト８０４とプリンタサービスオブジェクト８０５とを備え、さらにプリンタコントロールオブジェクト８０４とプリンタサービスオブジェクト８０５との間にプリンタダミーサービスオブジェクト８０８を介在させた構成となっている。したがって、電子レシートエージェント８０は、プリンタ２０９に関し、ＰＯＳアプリケーション７０に対してオープンＰＯＳ標準仕様に準拠したインターフェースを有しているので、プリンタ２０９の製造元及び機種を適宜変更することができる。
【００７４】
以下、実施形態の変形例について説明する。  
前記実施形態では、スキャナ２０８及びプリンタ２０９をＵＳＢインターフェースに準拠したデバイスとして説明したが、必ずしもＵＳＢインターフェースに準拠したデバイスでなくてもよい。ただしその場合には、スキャナ２０８及びプリンタ２０９にそれぞれ対応したドライバが必要となる。また、電子レシートエージェント８０は、ＵＳＢドライバ８０１を除いて構成される。
【００７５】
前記実施形態では、電子レシートを要求するデータを会員ＩＤのバーコードデータとしたが、必ずしも会員ＩＤのバーコードデータに限定されるものではない。例えば、会員が所有するポイントカードのカード番号と当該会員の会員ＩＤとを関連付けて記憶する。そして、ポイントカードには、カード番号を表すバーコードが表記されているものとする。このような実施形態においては、判断部８０７２は、会員ＩＤと関連付けられたカード番号のバーコードデータが入力された場合、そのバーコードデータを、電子レシートを要求するデータと判断すればよい。
【００７６】
なお、ＰＯＳ端末２０の譲渡は一般に、ＰＯＳアプリケーション７０や電子レシートエージェント８０等のソフトウェアがメインメモリ２０２又は補助記憶デバイス２０３に記憶された状態にて行われる。しかしこれに限らず、ソフトウェアがメインメモリ２０２又は補助記憶デバイス２０３に記憶されていない状態で譲渡されてもよい。そしてこの場合は、ＰＯＳ端末２０が備える書き込み可能な記憶デバイスに、このＰＯＳ端末２０とは個別に譲渡されたソフトウェアがユーザなどの操作に応じて書き込まれてもよい。ソフトウェアの譲渡は、リムーバブルな記録媒体に記録して、あるいはネットワークを介した通信により行うことができる。記録媒体は、ＣＤ−ＲＯＭ，メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。また、プログラムのインストールやダウンロードにより得る機能は、装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。
【００７７】
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７８】
１０…電子レシートシステム、２０…ＰＯＳ端末、３０…センタサーバ、４０…ネットワーク、５０…情報端末、２０１…プロセッサ、２０２…メインメモリ、２０３…補助記憶デバイス、２０８…スキャナ、２０９…プリンタ、７０…ＰＯＳアプリケーション、８０…電子レシートエージェント、８０１…ＵＳＢドライバ、８０２…スキャナコントロールオブジェクト、８０３…スキャナサービスオブジェクト、８０４…プリンタコントロールオブジェクト、８０５…プリンタサービスオブジェクト、８０６…レシートデータ送信プロセス、８０７…スキャナダミーサービスオブジェクト、８０８…プリンタダミーサービスオブジェクト。
【図１】
2019067305.tif 000003
【図２】
2019067305.tif 000004
【図３】
2019067305.tif 000005
【図４】
2019067305.tif 000006
【図５】
2019067305.tif 000007
【図６】
2019067305.tif 000008