図1は、本実施形態に係る電子レシートシステムの構成例を示す図である。同図に示すように、電子レシートシステム1は、POS端末2と、ストアサーバ3と、企業サーバ4と、電子レシートサーバ5と、携帯端末6とを有する。
POS端末2及びストアサーバ3は、各店舗P1内に設けられる。POS端末2とストアサーバ3とは、LAN(Local Area Network)等のネットワークN1を介して通信可能に接続される。また、POS端末2及びストアサーバ3は、ネットワークN1に接続されたルータ等のネットワーク機器(図示せず)を介して、店舗P1と企業サーバ4とを繋ぐネットワークN2に接続することができる。ネットワークN2は、例えば、インターネットやVPN(Virtual Private Network)等の専用線である。
POS端末2は、本実施形態において印字制御装置として機能する。POS端末2は、商品の売上登録等の各種の取引に係る処理を実行し、その取引内容を示すレシート情報を生成する。また、POS端末2は、生成したレシート情報を後述するプリンタ23で印字することで紙レシートを出力する。また、POS端末2は、レシート情報のデータ形式を変換した電子レシート情報を生成し、ストアサーバ3等を介して電子レシートサーバ5に出力(送信)する。
ストアサーバ3は、POS端末2で行われる商品販売データ処理等の管理を統括的に行う。例えば、ストアサーバ3は、POS端末2で生成された電子レシート情報を、所定のタイミングで企業サーバ4に送信する。また、ストアサーバ3は、商品販売データ処理に用いる商品マスタや後述する企業会員マスタ等を記憶し管理する。
なお、店舗P1に設けられるPOS端末2の個数は特に問わず、複数台であってもよい。また、本実施形態では、POS端末2が電子レシート情報を出力する構成を説明するが、これに限らないものとする。例えば、POS端末2で生成されたレシート情報を、ストアサーバ3や図示しない変換装置がデータ形式を変換することで、電子レシート情報として電子レシートサーバ5に出力する構成としてもよい。
企業サーバ4は、店舗P1を運営する企業P2毎に設けられる。同企業に属する企業サーバ4と各店舗P1とは、ネットワークN2を介して通信可能に接続される。また、企業サーバ4と電子レシートサーバ5とは、インターネットやVPN等のネットワークN3を介して通信可能に接続される。
企業サーバ4は、店舗を運営する企業の売上管理、売上分析、在庫管理等の機能を有する。また、企業サーバ4は、各店舗P1から送信された電子レシート情報を、ネットワークN2を介して受信する。また、企業サーバ4は、各店舗P1の電子レシート情報を、ネットワークN3を介して電子レシートサーバ5に送信する。また、企業サーバ4は、電子レシートサーバ5から受信した後述する第2会員マスタを、ネットワークN2を介して、各店舗P1のストアサーバ3に送信(転送)する。
電子レシートサーバ5は、各企業P2の電子レシート情報を一括に管理する。電子レシートサーバ5は、後述する手順等により本システムへの登録を行った各顧客(会員)の会員データを、後述する会員マスタに記憶し管理する。ここで、会員データは、各会員を識別するための第1識別コード、氏名、電子レシート情報の送信先となる携帯端末6の送信先情報(例えば電子メールアドレス)等を含む。また、後述する紐付登録が行われた第1識別コードについては、当該第1識別コードに対応付けて第2識別コードを記憶し管理する。
電子レシートサーバ5は、会員マスタに記憶された会員データから、第1識別コードと第2識別コードとの対応関係を示すデータを企業毎に抽出する。そして、電子レシートサーバ5は、抽出したデータを第2会員マスタとして、該当する企業の企業サーバ4に提供(送信)する。
また、電子レシートサーバ5は、各店舗P1から送信された電子レシート情報を、ネットワークN3を介して受信し、後述する電子レシート管理領域に記憶し管理する。より詳細には、電子レシート情報は、取引内容の他、第1識別コード等の要素を含み、対応する会員データと対応付けて管理される。
また、電子レシートサーバ5は、電子レシート管理領域に電子レシート情報を記憶すると、この電子レシート情報の第1識別コードに対応付けされた送信先情報を参照することで、送信先(携帯端末6)を特定する。そして、電子レシートサーバ5は、後述するネットワークN4を介して、電子レシート管理領域に記憶した電子レシート情報をその送信先に提供(送信)する。また、電子レシートサーバ5は、第1識別コードを指定する電子レシート照会を携帯端末6から受け付けると、当該第1識別コードに対応する電子レシートを電子レシート管理領域から抽出し、携帯端末6に提供(送信)する。
携帯端末6は、本システムの利用者(顧客)が使用する端末装置である。携帯端末6としては、例えばスマートフォン、携帯電話機、PDA(Personal Digital Assistant)、タブレット型コンピュータ等が挙げられる。携帯端末6は、ネットワークN4上で提供される各種情報を閲覧するためのWebブラウザ等のアプリケーションを実装する。なお、携帯端末6に代えて、PC等の端末装置を適用してもよい。
携帯端末6は、ネットワークN4を介して電子レシートサーバ5にアクセスすることで、本システムへの会員登録を行う。ここで、ネットワークN4は、インターネットや各種公衆網である。
ところで、本システムでの顧客の会員登録は、例えば次のような手順で行われる。顧客は、携帯端末6を用いることで、電子レシートサーバ5に対して空メールを送信する。電子レシートサーバ5は、受信したメールアドレスに会員登録のためのページを示すURL(Uniform Resource Locator)を送信する。顧客は、携帯端末6から会員登録のためのページを示すURLにアクセスして会員登録に必要な事項(氏名、送信先情報等)を入力させる入力画面を表示させる。顧客による必要事項の入力終了後、電子レシートサーバ5は、会員マスタに対する会員登録を実行する。その後、電子レシートサーバ5は、携帯端末6に対して第1識別コード等を含む会員登録完了メールを配信する。これにより、会員登録が終了する。
上述のような会員登録後、携帯端末6は、図2に示すように、顧客の第1識別コードをバーコードや二次元コード等のコードシンボルCSとして表示部63に表示する。顧客は、店舗P1における取引決済時に店員に対して携帯端末6に表示されたコードシンボルCSを提示する。店員は、携帯端末6に表示されたコードシンボルCSをPOS端末2に接続されたコードスキャナ25(図3参照)で読み取る。これにより、各種取引後にPOS端末2で生成されるレシート情報に対して、顧客の第1識別コードを対応付けることが可能になっている。
また、携帯端末6は、POS端末2での取引後、電子レシートサーバ5から提供される当該取引の電子レシート情報を、ネットワークN4を介して受信する。また、携帯端末6は、第1識別コードを指定した電子レシート照会を、電子レシートサーバ5に送信することで、当該第1識別コードに関係する電子レシート情報を電子レシートサーバ5から受信する。また、携帯端末6は、受信した電子レシート情報を、後述する表示部63に表示する。
また、第1識別コードの登録後、各企業が各顧客に独自に発行した第2識別コードを、第1識別コードに対応付けることが可能である。ここで、第2識別コードは、例えば、企業から配布されたポイントカード等のカード媒体が保持する固有の識別コードである。係る第2識別コードは、例えば、企業内において、顧客の管理や、購入金額等に応じて各顧客に発行されたポイントの管理に用いられる。
第1識別コードを、各企業の第2識別コードと対応付ける場合、例えば次のような手順を行う。顧客は、自身の第1識別コードをコードシンボルCSとして携帯端末6の表示部63に表示する。顧客は、店舗P1の店員に対して携帯端末6に表示されたコードシンボルCSを、その店舗P1を運営する企業から配布されたカード媒体とともに提示する。店員は、携帯端末6に表示されたコードシンボルCS(第1識別コード)をPOS端末2に接続されたコードスキャナ25(図3参照)で読み取る。また、店員は、提示されたカード媒体が保持する第2識別コードをPOS端末2に接続されたカードリーダ26(図3参照)で読み取る。POS端末2は、第1識別コード及び第2識別コードを、店舗P1を運営する企業P2の識別コード(企業コード)等とともに、ストアサーバ3や企業サーバ4等を介して電子レシートサーバ5に送信する。これにより、第1識別コードに対して、各企業が各顧客に発行した第2識別コードを対応付けることが可能になっている。以下、第1識別コードと第2識別コードとの対応付けに係る処理を「紐付登録」という。
電子レシートシステム1では、店舗P1のPOS端末2で各種の取引が行われると、その取引の内容を示すレシート情報(電子レシート情報)が生成される。生成された電子レシート情報は、電子レシートサーバ5に伝送され、携帯端末6で閲覧可能に記憶し管理される。したがって、Webブラウザ等の閲覧アプリケーションを実装した携帯端末6は、電子レシートサーバ5にアクセスすることで電子レシート情報を閲覧することができる。
次に、電子レシートシステム1を構成する主要な装置の構成について説明する。
まず、POS端末2について説明する。図3は、POS端末2の構成を示すブロック図である。図3に示すように、POS端末2は、各種演算やPOS端末2の各部を統括的に制御する制御部21を備えている。制御部21は、CPU(Central Processing Unit)、各種プログラムやデータを記憶するROM(Read Only Memory)、各種プログラムを一時的に記憶したり各種データを書き換え自在に記憶するRAM(Random Access Memory)、現在の日時を計時するRTC(Real Time Clock)部等によって構成されるコンピュータである。
制御部21は、バス29を介して操作部22、プリンタ23、表示部24、コードスキャナ25及びカードリーダ26に接続されている。
操作部22は、オペレータが操作入力を行うための各種の操作キーを有している。操作キーとしては、例えば、数値を入力するための置数キー、所定の項目を選択するためのカーソルキーや選択決定キー、取引における売上登録が行われる商品の合計出力を指示する小計キーが設けられる。また、各種取引の開始を宣言する取引開始キーや、一取引の締めを宣言する締めキー等が設けられる。
プリンタ23は、レシートやジャーナル等の印字を行うプリンタ装置である。プリンタ23は、操作部22の制御の下、レシート情報をロール紙等の用紙に印字を行うことで、紙レシートを出力する。
表示部24は、例えば液晶ディスプレイ等の表示デバイスである。表示部24は、売上登録された商品の品名、価格、決済が宣言された一取引の合計金額、釣銭額等の各種情報を表示する。表示部24は、キャッシャ向けに各種情報を表示する第1ディスプレイ24aと、主に顧客向けに各種情報を表示する第2ディスプレイ24bとを備える。なお、表示部24をタッチパネル構成としてもよく、この場合、タッチパネルは操作部22として機能する。
コードスキャナ25は、バーコードや二次元コード等のコードシンボルを光学的に読み取るスキャナ装置である。コードスキャナ25は、例えば、商品に付されたコードシンボルや、携帯端末6に表示されたコードシンボル等を読み取り、読み取った情報を制御部21に出力する。なお、商品に付されたコードシンボルには、その商品を特定するための商品コード等が保持されているとする。また、携帯端末6に表示されるコードシンボルには、その携帯端末6を携帯する顧客を特定するための第1識別コード等が保持されているとする。
カードリーダ26は、カード媒体が保持する情報を読み取るリーダ装置である。カードリーダ26としては、例えば、カード媒体が保持する情報を磁気的に読み取る磁気カードリーダや、RFID等の近距離無線通信技術を用いて読み取るICカードリーダ等を用いることができる。カードリーダ26は、例えば、顧客が提示するカード媒体から第2識別コード等を読み取り、読み取った情報を制御部21に出力する。
また、制御部21は、バス29を介して通信I/F(インターフェース)27に接続される。制御部21は、この通信I/F27を介してネットワークN1やネットワークN2に接続することが可能となっている。
また、制御部21は、バス29を介して、記憶部28に接続されている。記憶部28は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置である。記憶部28は、商品販売データ処理を含む各種のPOS業務を実行するためのプログラムや各種設定情報を記憶する。記憶部28は、設定情報の1つとして、各取引種別の出力方法を設定した出力設定情報28aを記憶する。
図4は、出力設定情報28aの一例を模式的に示す図である。図4に示すように、出力設定情報28aは、取引種別と、印字条件と、出力方法とを項目として有する。項目名「取引種別」には、POS端末2で実行される取引の取引名等が設定される。項目名「印字条件」には、対応する取引種別について、所定の条件と、当該条件を満たした場合にレシート情報に含める特定の文字列(以下、取引文字列という)が設定される。また、項目「出力方法」には、「印字条件」に定義された取引文字列がレシート情報に含まれる場合の出力方法が設定される。
図4の例では、「取引種別」が登録済の商品の取り消しを行う“取消”の場合に、全ての商品の取り消しを行ったことを条件に、取引文字列“取消”をレシート情報に含めることが「印字条件」に設定されている。そして、レシート情報に“取消”の文字列が含まれる場合に、レシート情報を印字することが「出力方法」として定められている。
また、他の例では、「取引種別」が取引の保留を行う“取引保留”の場合に、この“取引保留”が行われたことを条件に、取引文字列“保留”をレシート情報に含めることが「印字条件」に設定されている。そして、レシート情報に“保留”の文字列が含まれる場合に、レシート情報を印字することが「出力方法」として定められている。
また、他の例では、「取引種別」が第2識別コードの紐付登録を行う“紐付登録”の場合に、この“紐付登録”が行われたことを条件に、取引文字列“紐付”をレシート情報に含めることが「印字条件」に設定されている。そして、レシート情報に“紐付”の文字列が含まれる場合に、レシート情報を電子レシート情報に変換して送信することが「出力方法」として定められている。
この出力設定情報28aは、取引毎に出力方法を定めるような場合に用いることができる。出力設定情報28aの設定内容は、図4の例に限らず、任意に設定することが可能である。なお、出力設定情報28aに登録されていない他の取引(例えば、商品の売上登録を行う「売上登録」等)の出力方法については、デフォルトの出力設定(例えば印字)や、他の規約に従うものとする。
また、記憶部28は、自己のPOS端末2を他のPOS端末2と識別するためのPOS識別情報を識別コード管理領域28bに記憶する。POS識別情報は、例えば、自己のPOS端末2に割り振られたPOSナンバー、企業コード(店舗を運営する企業の識別コード)、当該POS端末2が設置される店舗P1を示す店舗コード等を含む。また、企業コード(店舗を運営する企業の識別コード)については、企業サーバ4が保持する形態としてもよい。
制御部21は、オペレータから指示された取引に係る処理を実行し、当該取引に応じたレシート情報を生成する。また、制御部21は、予め定められた特定の文字列がレシート情報に含まれるか否かに応じて、生成したレシート情報の出力方法を決定する。
次に、ストアサーバ3の構成を、図5のブロック図を用いて説明する。図5は、ストアサーバ3の構成を示すブロック図である。図5に示すように、ストアサーバ3は、各種演算やストアサーバ3の各部を統括的に制御する制御部31を備えている。制御部31は、CPU、各種プログラムやデータを記憶するROM、各種プログラムを一時的に記憶したり各種データを書き換え自在に記憶するRAM、現在の日時を計時するRTC部等によって構成されるコンピュータである。
制御部31は、バス34に接続された通信I/F32を介して、ネットワークN1やネットワークN2に接続することが可能となっている。また、制御部31は、バス34を介して記憶部33に接続されている。
記憶部33は、制御部31(CPU)が実行可能な各種プログラムや各種設定情報を記憶する。また、記憶部33は、自店舗P1内のPOS端末2の各々で生成されたレシート情報を店舗レシート管理領域33aに記憶する。また、記憶部33は、各商品の商品名、商品コード及び単価等の商品データを格納した商品マスタを商品マスタ管理領域33bに記憶する。また、記憶部33は、第2会員マスタを企業会員マスタ管理領域33cに記憶する。なお、商品マスタ及び第2会員マスタは、所定のタイミングで自店舗P1内の各POS端末2に配布する形態としてもよい。
制御部31は、企業サーバ4から第2会員マスタを受信すると、当該第2会員マスタを企業会員マスタ管理領域33cに格納する。また、制御部31は、記憶部33に確保された商品マスタ管理領域33bや企業会員マスタ管理領域33cを、自店舗の各POS端末2が参照可能に公開する。また、制御部31は、各POS端末2で生成されたレシート情報を収集し、店舗レシート管理領域33aに格納する。なお、ストアサーバ3を経由して電子レシート情報を企業サーバ4に送信する構成の場合、制御部31は、各POS端末2で生成された電子レシート情報を受信すると、当該電子レシート情報を企業サーバ4に送信(転送)する。
次に、企業サーバ4の構成を、図6のブロック図を用いて説明する。図6は、企業サーバ4の構成を示すブロック図である。図6に示すように、企業サーバ4は、各種演算や企業サーバ4の各部を統括的に制御する制御部41を備えている。制御部41は、CPU、各種プログラムやデータを記憶するROM、各種プログラムを一時的に記憶したり各種データを書き換え自在に記憶するRAM、現在の日時を計時するRTC部等によって構成されるコンピュータである。
制御部41は、バス44に接続された通信I/F42を介して、ネットワークN2やネットワークN3に接続することが可能となっている。また、制御部41は、バス44を介して記憶部43に接続されている。
記憶部43は、制御部41(CPU)が実行可能な各種プログラムや各種設定情報を記憶する。また、記憶部43は、自企業が運営する各店舗P1から送信された電子レシート情報を企業レシート管理領域43aに記憶する。
制御部41は、電子レシートサーバ5から企業会員マスタを受信すると、当該企業会員マスタを自企業が運営する各店舗P1のストアサーバ3に送信(転送)する。また、制御部41は、自企業が運営する各店舗(POS端末2、ストアサーバ3)から電子レシート情報を受信すると、当該電子レシート情報を企業レシート管理領域43aに格納する。また、制御部41は、企業レシート管理領域43aに格納した電子レシート情報を、所定のタイミングで電子レシートサーバ5に送信する。ここで、電子レシート情報を送信するタイミングは特に問わないものとする。例えば、電子レシート情報を企業レシート管理領域43aに格納する度に、当該電子レシート情報を送信してもよい。また、1時間に1回等の所定の時間間隔で、企業レシート管理領域43aに格納した電子レシート情報を送信してもよい。
次に、電子レシートサーバ5の構成を、図7のブロック図を用いて説明する。図7は、電子レシートサーバ5の構成を示すブロック図である。図7に示すように、電子レシートサーバ5は、各種演算や電子レシートサーバ5の各部を統括的に制御する制御部51を備えている。制御部51は、CPU、各種プログラムやデータを記憶するROM、各種プログラムを一時的に記憶したり各種データを書き換え自在に記憶するRAM、現在の日時を計時するRTC部等によって構成されるコンピュータである。
制御部51は、バス54に接続された通信I/F52を介して、ネットワークN3及びネットワークN4に接続することが可能となっている。また、制御部51は、バス54を介して、記憶部53に接続されている。
記憶部53は、制御部51(CPU)が実行可能な各種プログラムや各種設定情報を記憶する。また、記憶部53は、会員マスタを会員マスタ管理領域53aに記憶する。
ここで、図8は、会員マスタ管理領域53a(会員マスタ)のデータ構成の一例を示す図である。図8に示すように、会員マスタは、各会員の第1識別コードと対応付けて、氏名、送信先情報等を記憶する。また、会員マスタは、紐付登録が行われた会員の第1識別コードについて、企業コード及び第2識別コードを対応付けて記憶する。
第1識別コードは、例えば複数桁の数値で表される。ここで、図9は、第1識別コードのフォーマットの一例を示す図である。なお、図9では、第1識別コードC1を16桁の数値で表す例を示している。
第1識別コードC1は、ヘッダ部C11、データ部C12及びオプション部C13の3つの部位を有する。ヘッダ部C11には、本コードが第1識別コードであることを示す特定の数値(例えば“99”)が入力される。データ部C12には、各会員に割り振られた固有の数値が入力される。オプション部C13には、各種の付加条件を指示するための数値が入力される。なお、図9では、上位の2桁をヘッダ部C11とし、続く10桁をデータ部C12、末尾の4桁をオプション部C13とした例を示しているが、各部位の桁数はこれに限らないものとする。
また、記憶部53は、企業サーバ4の各々から送信された電子レシート情報を電子レシート管理領域53bに記憶する。より詳細には、電子レシート管理領域53bは、店舗を運営する各企業の電子レシート情報を会員毎に管理する。電子レシート情報は、第1識別コード、企業コード、店舗コード、POSナンバー、レシートナンバー、商品販売データ(日時データを含む)等を含む。
制御部51は、各企業の企業サーバ4から電子レシート情報を受信すると、当該電子レシート情報を電子レシート管理領域53bに格納する。また、制御部51は、電子レシート情報が紐付登録を指示するものである場合、その電子レシート情報に含まれる第1識別コードに対応付けて、企業コード及び第2識別コードを会員マスタ管理領域53aに登録する。また、制御部51は、会員マスタ管理領域53aから、第1識別コードと第2識別コードとの対応関係を示すデータを企業(企業コード)毎に抽出する。そして、制御部51は、抽出したデータを企業会員マスタとして、該当する企業の企業サーバ4に送信する。
また、制御部51は、電子レシート管理領域53bに電子レシート情報を格納すると、この電子レシート情報の第1識別コードに対応付けされた送信先情報を参照することで、送信先を特定する。そして、制御部51は、電子レシート管理領域53bに格納した電子レシート情報をその送信先に提供(送信)する。また、制御部51は、第1識別コードを指定する電子レシート照会を携帯端末6から受け付けると、当該第1識別コードに対応する電子レシート情報を電子レシート管理領域53bから抽出する。そして、制御部51は、抽出した電子レシート情報を携帯端末6に提供する。
次に、携帯端末6の構成を、図10のブロック図を用いて説明する。図10は、携帯端末6の構成を示すブロック図である。図10に示すように、携帯端末6は、各種演算や携帯端末6の各部を統括的に制御する制御部61を備えている。制御部61は、CPU、各種プログラムやデータを記憶するROM、各種プログラムを一時的に記憶したり各種データを書き換え自在に記憶するRAM、現在の日時を計時するRTC部等によって構成されるコンピュータである。
操作部62は、バス66を介して操作部62及び表示部63に接続されている。操作部62は、ユーザ(顧客)が操作入力を行うための各種の操作キーや、ポインティングデバイスを有している。表示部63は、例えば液晶ディスプレイ等であり、後述する電子レシート情報等の各種情報を表示する。なお、表示部63をタッチパネル構成としてもよく、この場合、タッチパネルは操作部62として機能する。
また、制御部61は、バス66を介して通信I/F64に接続されており、この通信I/F64を介してネットワークN4に接続することが可能となっている。なお、通信I/F64を介して、ネットワークN1に接続可能な構成としてもよい。
また、制御部61は、バス66を介して、記憶部65に接続されている。記憶部65は、各種情報(コンテンツ)を閲覧するためのWebブラウザ等、制御部61(CPU)が実行可能な各種プログラムや各種設定情報を記憶する。また、記憶部65は、第1識別コードを第1識別コード管理領域65aに記憶する。
制御部61は、電子レシートサーバ5から提供される当該取引の電子レシート情報を受信する。また、制御部61は、第1識別コードを指定した電子レシート照会を電子レシートサーバ5に送信することで、当該第1識別コードに対応付けされた電子レシート情報を電子レシートサーバ5から受信する。また、制御部61は、受信した電子レシート情報を、表示部63に表示したりする。
次に、電子レシートシステム1を構成する装置のうち、本実施形態の印字制御装置であるPOS端末2の機能構成について説明する。POS端末2のCPUは、ROMや記憶部28に記憶されたプログラムと協働することで、図11に示すように、レシート情報生成部211と、出力処理部212とを機能部として備える。ここで、図11は、POS端末2の機能構成を示すブロック図である。
レシート情報生成部211は、各種の取引及びレシートの印字用データ(レシート情報)の生成を主に行う機能部である。具体的に、レシート情報生成部211は、操作部22の取引開始キー等を介して取引の開始が指示されると、当該取引に応じた処理を実行し、その取引に応じた印字用データを生成する。
例えば、レシート情報生成部211は、取引種別として商品の売上登録の実行が指示されると、コードスキャナ25を介して商品を特定する商品コードを取得する。次いで、レシート情報生成部211は、その商品コードに対応する商品データを商品マスタから読み出す。また、レシート情報生成部211は、読み出した商品データに含まれる単価に基づき決済金額を算出する商品販売データ処理を実行する。そして、レシート情報生成部211は、その取引の内訳を示すレシート情報を生成する。
また、レシート情報生成部211は、出力設定情報28aに基づき、実行中の取引種別に応じた取引文字列をレシート情報に含める。具体的に、レシート情報生成部211は、出力設定情報28aに設定された「取引種別」を実行した際に、「印字条件」に設定された条件が成立すると、その「印字条件」に定義された取引文字列をレシート情報に含める。
また、レシート情報生成部211は、一取引中の何れかのタイミングにおいて、顧客を特定する第1識別コードの入力を受け付ける、具体的に、レシート情報生成部211は、コードスキャナ25を介して第1識別コードが読み取られると、第1識別コードの入力を受け付けたと判定する。また、レシート情報生成部211は、カードリーダ26を介して第2識別コードの入力を受け付けると、この第2識別コードに対応する第1識別コードを第2会員マスタに照会する。そして、レシート情報生成部211は、第2会員マスタから、対応する第1識別コードを取得すると、当該第1識別コードの入力を受け付けたと判定する。
また、レシート情報生成部211は、第1識別コードの入力を受け付けた場合、第1識別コードが存在することを示す特定の文字列(以下、フラグ文字列という)をレシート情報に含める。また、レシート情報生成部211は、第1識別コードや第2識別コードの入力を受け付けると、それらの識別コードをレシート情報に含める。
図12、図13は、レシート情報の一例を模式的に示す図である。ここで、レシート情報は、非構造化形式のテキストデータ等であって、プリンタ23での印字に用いられるものである。
図12、図13に示すように、レシート情報は、店舗を運営する企業を示す企業コード(企業名)D1、店舗コードD2、取引日時D3、取引ナンバー(レシートナンバー)D4、レジナンバーD5、担当者名D6等の要素を含む。
また、レシート情報は、取引種別に応じた内容の要素を含む。例えば、商品の売り上げ登録が行われた場合、図12に示すように、登録された各商品の商品名(商品コード)や金額、各商品の合計金額、顧客が支払った預かり金額等の取引内容が、領域D7に入力される。
また、出力設定情報28aの「取引種別」及び「印字条件」に該当する場合、レシート情報生成部211は、図13に示すように、その「印字条件」に設定された取引文字列を含んだレシート情報を生成する。ここで、図13は、紐付登録が行われた際に生成されるレシート情報の一例を示している、取引文字列D8として文字列“紐付”が含まれている。
また、第1識別コードが入力された場合、レシート情報生成部211は、図12、図13に示すように、第1識別コードが存在することを示すフラグ文字列D9を含んだレシート情報を生成する。なお、図12、図13では、フラグ文字列D9として、文字列“SRID”を用いた例を示しているが、これに限らないものとする。
また、第1識別コードや第2識別コードが入力された場合、レシート情報生成部211は、それらの識別コードを示す第1識別コードD10、第2識別コードD11を含んだレシート情報を生成する。具体的に、図12では、第1識別コードが入力された例を示しており、その値が第1識別コードD10としてレシート情報に含まれる。また、図13では、第1識別コード及び第2識別コードが入力された例を示しており、その値が第1識別コードD10及び第2識別コードD11としてレシート情報に含まれる。
また、レシート情報生成部211は、オペレータからの指示等に応じて、第1識別コードD10の末尾にコマンド文字列D12を付加する。係るコマンド文字列D12は、レシート情報の出力方法を例外的に指示するためのものである。
例えば、レシート情報の印字が指示された場合、レシート情報生成部211は、印字を指示するコマンド文字列D12(例えば“*A”)を第1識別コードD10の末尾に付加する。また、レシート情報を印字するとともに電子レシート情報として外部装置に送信すること(以下「送信」という)が指示された場合、レシート情報生成部211は、印字及び送信を指示するコマンド文字列D12(例えば“*B”)を第1識別コードD10の末尾に付加する。
なお、本実施形態では、オペレータからの指示操作に応じて、コマンド文字列D12を付加することを想定しているが、これに限らないものとする。例えば、コマンド文字列D12を付加する条件と、付加するコマンド文字列D12とを対応付け、設定情報として予め設定してもよい。
例えば、条件として「オフライン状態の場合」を設定し、「印字」を指示するコマンド文字列D12を付加するよう設定してもよい。この設定を採用した場合、電子レシート情報として外部装置に送信することが予定されているレシート情報であっても、オフライン状態の場合には、紙レシートが出力されることになる。
また、他の条件として「フラグ文字列D9が存在する場合」を設定し、「印字」や「送信」を指示するコマンド文字列D12を付加するよう設定してもよい。また、取引種別の単位でコマンド文字列D12を付加するよう設定してもよい。また、出力設定情報28aの「印字条件」に設定する取引文字列として、コマンド文字列D12を設定してもよい。
本実施形態では、コマンド文字列D12が付加されていない場合、電子レシート情報の送信を行うものとするが、これに限らず、コマンド文字列D12によって送信を明示的に指示する形態としてもよい。また、印字及び送信の何れも行わないような場合には、その指示内容に応じたコマンド文字列D12を付加してもよい。
図11に戻り、出力処理部212は、レシート情報生成部211が生成したレシート情報の出力に係る処理を行う機能部である。図11に示すように、出力処理部212は、状態判定部2121と、フィルタ処理部2122と、印字出力部2123と、電子レシート出力部2124とを有する。
状態判定部2121は、通信I/F27と協働することで、外部装置との通信状態を判定する。ここで、外部装置は、例えばストアサーバ3や企業サーバ4等、電子レシート情報の送信先となる装置である。なお、電子レシート情報を電子レシートサーバ5に直接送信する構成の場合には、電子レシートサーバ5との通信状態を確認してもよい。
状態判定部2121は、例えばポーリング等を行うことで、外部装置と通信可能なオンライン状態か否かを判定する。ここで、状態判定部2121は、ネットワーク障害等の発生により、外部装置との通信が不可能な場合、オフライン状態と判定する。なお、通信状態の確認を行うタイミングは特に問わないものとする。例えば、所定の時間間隔毎に行ってもよいし、電子レシート情報を外部装置に送信する際に行ってもよい。
フィルタ処理部2122は、レシート情報に特定の文字列(特定文字列)が含まれるか否かを判定し、その判定結果に応じて、レシート情報の出力方法を決定する。
具体的に、フィルタ処理部2122は、フラグ文字列D9(例えば“SRID”)がレシート情報に含まれるか否かを判定する。ここで、フラグ文字列D9は、第1の文字列に対応するものである。
フラグ文字列D9が含まれない場合、フィルタ処理部2122は、レシート情報を印字出力部2123に出力する。一方、フラグ文字列D9がレシート情報に含まれる場合、第1識別コードが入力されたことを示す。そこで、フィルタ処理部2122は、第1識別コードD10のヘッダ部C11に所定の数値(例えば“99”)が含まれるか否かを判定する。
ヘッダ部C11に所定の数値が含まれない場合、その第1識別コードD10は本システムの第1識別コードとして使用することはできない。そこで、ヘッダ部C11に所定の数値が含まれない場合、フィルタ処理部2122は、レシート情報を印字出力部2123に出力することで、電子化(電子レシート情報化)の対象から除外する。
また、ヘッダ部C11に所定の数値が含まれる場合、フィルタ処理部2122は、取引文字列D8がレシート情報に含まれるか否かを判定する。ここで、取引文字列D8は、第2の文字列に対応するものである。
より詳細には、フィルタ処理部2122は、出力設定情報28aを参照し、「印字条件」に設定された何れかの取引文字列D8が、レシート情報に含まれるか否かを判定する。取引文字列D8がレシート情報に含まれる場合、フィルタ処理部2122は、その取引文字列D8に対応付けて設定された出力方法に従いレシート情報を出力する。ここで、出力方法として印字が設定されている場合には、フィルタ処理部2122は、レシート情報を印字出力部2123に出力する。また、出力方法として送信が指示されている場合には、フィルタ処理部2122は、レシート情報を電子レシート出力部2124に出力する。
また、取引文字列D8がレシート情報に含まれない場合、フィルタ処理部2122は、第1識別コードD10の末尾にコマンド文字列D12が付加されているか否かを判定する。ここで、コマンド文字列D12は、第3の文字列及び第4の文字列に対応するものである。
第1識別コードD10の末尾にコマンド文字列D12が付加されていない場合、フィルタ処理部2122は、デフォルトの設定として、レシート情報を電子レシート出力部2124に出力する。
一方、コマンド文字列D12が付加されている場合、フィルタ処理部2122は、そのコマンド文字列D12の指示内容に従いレシート情報を出力する。ここで、コマンド文字列D12が印字を指示する場合、フィルタ処理部2122は、レシート情報を印字出力部2123に出力する。また、コマンド文字列D12が印字及び送信の両方を指示する場合、フィルタ処理部2122は、レシート情報を印字出力部2123及び電子レシート出力部2124の両方に出力する。
印字出力部2123は、例えばプリンタドライバ等である。印字出力部2123は、フィルタ処理部2122からレシート情報が入力されると、プリンタ23を制御することで、当該レシート情報を用紙に印字させる。
電子レシート出力部2124は、例えばネットワークドライバ等である。電子レシート出力部2124は、フィルタ処理部2122からレシート情報が入力されると、所定の変換規則に従い、レシート情報を所定のデータ形式に変換する。そして、電子レシート出力部2124は、データ形式を変換したレシート情報、つまり電子レシート情報を、通信I/F27を介して企業サーバ4に送信(出力)する。なお、電子レシート情報は、ストアサーバ3等を介して企業サーバ4に送信してもよいし、企業サーバ4に直接送信する構成としてもよい。また、電子レシートサーバ5に直接送信する構成としてもよい。
ここで、電子レシート情報は、例えばXMLやCSV等の構造化形式のデータ(構造化文書)で構成される。レシート情報から電子レシート情報への変換は、予め定められた変換規則に基づき行われる。具体的に、変換規則には、レシート情報を構成する所定の要素と、その要素の属性を示す属性情報(タグ等)とが定義されている。電子レシート出力部2124は、レシート情報の各要素を対応する属性情報を用いて構造化することで、構造化形式の電子レシート情報を生成する。このような、構造化形式の電子レシート情報とすることで、当該電子レシート情報に含まれる要素を効率的に利用することができるため、データ管理の上で様々な利点を得ることができる。
なお、本実施形態では、状態判定部2121と、電子レシート出力部2124とを別体としたが、電子レシート出力部2124が状態判定部2121の機能を有してもよい。
以下、図14及び図15を参照して、POS端末2の動作について説明する。ここで図14は、POS端末2が実行するレシート生成処理の一例を示すフローチャートである。
まず、POS端末2のレシート情報生成部211は、オペレータから実行の対象とする取引種別が指示されると、その取引種別に応じた処理を開始する(ステップS11)。例えば、取引種別として「売上登録」が指示された場合には、レシート情報生成部211は、商品の売上登録を行うための取引処理を実行する。また、取引種別として「紐付登録」が指示された場合には、紐付登録を行うための取引処理を実行する。
続いて、レシート情報生成部211は、第1識別コードが入力済か否かを判定する(ステップS12)。第1識別コードが未入力の場合(ステップS12;No)、レシート情報生成部211は、第1識別コードの入力を受け付けたか否かを判定する(ステップS13)。ここで、第1識別コードの入力を受け付けると(ステップS13;Yes)、レシート情報生成部211は、その第1識別コードをRAM等に一時記憶し(ステップS14)、ステップS17に移行する。また、第1識別コードが入力されない場合も(ステップS13;No)、ステップS17に移行する。
一方、第1識別コードが入力済の場合(ステップS12;Yes)、レシート情報生成部211は、レシート情報の出力方法が指示されたか否かを判定する(ステップS15)。ここで、出力方法は、オペレータの操作により指示されるものであってもよいし、予め設定された設定情報により指示されるものであってもよい。
出力方法が指示された場合(ステップS15;Yes)、レシート情報生成部211は、指示された出力方法をRAM等に一時記憶し(ステップS16)、ステップS17に移行する。また、出力方法が指示されない場合も(ステップS15;No)、ステップS17に移行する。
続いて、レシート情報生成部211は、第2識別コードが入力済か否かを判定する(ステップS17)。ここで、第2識別コードが入力済の場合(ステップS17;Yes)、ステップS20に移行する。
第2識別コードが未入力の場合(ステップS17;No)、レシート情報生成部211は、第2識別コードの入力を受け付けたか否かを判定する(ステップS18)。ここで、第2識別コードの入力を受け付けると(ステップS18;Yes)、レシート情報生成部211は、その第2識別コードをRAM等に一時記憶し(ステップS19)、ステップS20に移行する。また、第2識別コードが入力されない場合も(ステップS18;No)、ステップS20に移行する。
なお、第2識別コードに対応する第1識別コードが第2会員マスタに登録されている場合、レシート情報生成部211は、その第1識別コードを第2会員マスタから取得する。そして、ステップS13において、第1識別コードの入力を受け付けたと判定する。
続いて、レシート情報生成部211は、締めキー等の操作により取引の終了が指示されたか否かを判定する(ステップS20)。取引終了の指示がない場合(ステップS20;No)、レシート情報生成部211は、ステップS12に戻ることで、第1識別コードや第2識別コードの入力、出力方法の指示入力を待機する。
ステップS20において、取引終了の指示を受け付けると(ステップS20;Yes)、レシート情報生成部211は、その取引の内容に応じたレシート情報を生成し(ステップS21)、処理を終了する。
ここで、ステップS21で生成されるレシート情報には、ステップS11~S19の処理結果に応じた特定文字列が含まれる。具体的には、ステップS11で実行された取引の取引種別が、出力設定情報28aに設定されている場合には、取引文字列がレシート情報に含まれる。また、ステップS13で第1識別コードの入力を受け付けた場合には、上述したフラグ文字列D9と第1識別コードD10とがレシート情報に含まれる。また、ステップS18で第2識別コードの入力を受け付けた場合には、第2識別コードD11がレシート情報に含まれる。また、ステップS15で出力方法の指示入力を受け付けた場合には、その出力方法に対応するコマンド文字列D12が第1識別コードD10の末尾に付加される。
図15は、POS端末2が実行するレシート出力処理の一例を示すフローチャートである。本処理は、上述したレシート生成処理に続いて実行されるものである。なお、状態判定部2121は、本処理のバックグラウンドで通信状態の判定を行うものとする。
フィルタ処理部2122は、レシート生成処理で生成されたレシート情報を解析し、当該レシート情報に特定文字列が含まれるか否かを判定する。まず、フィルタ処理部2122は、フラグ文字列D9がレシート情報に含まれるか否かを判定する(ステップS31)。レシート情報にフラグ文字列D9が含まれない場合(ステップS31;No)、フィルタ処理部2122は、レシート情報を印字出力部2123に出力することで、用紙に印字させる(ステップS37)。
レシート情報にフラグ文字列D9が含まれる場合(ステップS31;Yes)、フィルタ処理部2122は、第1識別コードD10のヘッダ部C11に所定の数値が含まれるか否かを判定する(ステップS32)。ヘッダ部C11に所定の数値が含まれない場合(ステップS32;No)、フィルタ処理部2122は、レシート情報を印字出力部2123に出力することで、レシートを印字させる(ステップS37)。
ヘッダ部C11に所定の数値が含まれる場合(ステップS32;Yes)、フィルタ処理部2122は、その第1識別コードD10の末尾にコマンド文字列D12が付加されているか否かを判定する(ステップS33)。コマンド文字列D12が付加されている場合(ステップS33;Yes)、フィルタ処理部2122は、コマンド文字列D12で指示された出力方法を判別する(ステップS35)。
また、コマンド文字列D12が付加されていない場合(ステップS33;No)、フィルタ処理部2122は、出力設定情報28aに設定された取引文字列D8がレシート情報に含まれるか否かを判定する(ステップS34)。取引文字列D8が含まれる場合(ステップS34;Yes)、フィルタ処理部2122は、出力設定情報28aを参照することで、その取引文字列D8に対応する処理方法を判別する(ステップS35)。なお、取引文字列D8が含まれない場合には(ステップS34;No)、フィルタ処理部2122は、ステップS38に移行する。
ステップS35での判別の結果、出力方法が印字を指示する場合(ステップS36;No)、フィルタ処理部2122は、レシート情報を印字出力部2123に出力することで、レシートを印字させる(ステップS37)。
一方、ステップS35での判別の結果、出力方法が電子レシート情報の送信を指示する場合(ステップS36;Yes)、フィルタ処理部2122は、ステップS38に移行する。ステップS38では、フィルタ処理部2122は、レシート情報を電子レシート出力部2124に出力することで、電子レシート情報として外部装置に送信させる(ステップS38)。なお、出力方法が印字と送信との両方を指示する場合、フィルタ処理部2122は、ステップS37とステップS38との両処理を実行するものとする。
以上のように、本実施形態のPOS端末2は、オペレータからの指示や、予め設定された設定情報に基づき、出力方法を指示する特定の文字列を含んだレシート情報を生成する。そして、POS端末2は、レシート情報に含まれた特定の文字列に応じて、当該レシート情報の出力方法を決定する。このように、POS端末2では、レシート情報に含めた特定の文字列により、レシート情報の出力方法を任意に指定することができるため、レシート情報の出力を柔軟に行うことができる。
以上、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、追加、組合せ等を行うことができる。また、上記実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、上記実施形態では、コマンド文字列で指定される出力方法を、他の特定文字列で指定される出力方法よりも優先的に採用する形態としたが、これに限らないものとする。例えば、取引文字列で指定される出力方法を最優先としてもよい。また、特定文字列間の優先順位を予め設定しておくことで、複数の特定文字列がレシート情報に含まれた場合に、当該優先順位に基づいて採用する出力方法を決定してもよい。
また、上記実施形態では、本発明の印字制御装置をPOS端末2に適用した例を説明したが、適用対象はこれに限らないものとする。
また、上記実施形態の各装置で実行されるプログラムは、各装置が備える記憶媒体(ROM又は記憶部)に予め組み込んで提供するものとするが、これに限らないものとする。例えば、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供してもよい。更に、記憶媒体は、コンピュータ或いは組み込みシステムと独立した媒体に限らないものとする。例えば、LANやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
また、上記実施形態の各装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、インターネット等のネットワーク経由で提供又は配布する構成としてもよい。