(57)【要約】【課題】レシートに印刷される情報を有効活用する。【解決手段】ホストコンピューター１２は、レシートプリンター１０にレシートを発行させる制御コマンドを生成して出力する印刷制御部２０ａと、印刷制御部２０ａが生成したレシートに係る制御コマンドを解析して、サーバー装置ごとに、制御コマンドに含まれる所定の情報を抽出し、抽出した情報に基づいてサーバー装置ごとに送信データを生成し、サーバー装置のそれぞれに送信するコマンド解析部２０ｂと、を備える。【選択図】図３
2014215865.tif 000002
【特許請求の範囲】
【請求項１】
レシートを発行する印刷装置に接続されると共に、複数のサーバー装置に接続された制御装置であって、
前記印刷装置にレシートを発行させる制御コマンドを生成して出力する印刷制御部と、
前記印刷制御部が生成したレシートに係る制御コマンドを解析して、前記サーバー装置ごとに、制御コマンドに含まれる所定の情報を抽出し、抽出した情報に基づいて前記サーバー装置ごとに送信データを生成し、前記サーバー装置のそれぞれに送信するコマンド解析部と、
を備えることを特徴とする制御装置。
【請求項２】
制御コマンドには、文字列を指定すると共に、指定した文字列の印刷を指示する文字列印刷指示コマンドが含まれており、
前記コマンド解析部は、
文字列印刷指示コマンドが指定する文字列が特定の内容の場合は、当該文字列を抽出し、抽出した文字列を含む前記送信データを生成して、特定の前記サーバー装置に送信することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記コマンド解析部は、
文字列印刷指示コマンドに基づいてレシートに係る記録媒体に文字列を印刷した場合における、当該文字列の位置に基づいて、当該文字列の内容を特定することを特徴とする請求項２に記載の制御装置。
【請求項４】
レシートに係る制御コマンドには、文字列印刷指示コマンドが印刷を指示する文字列について、所定の装飾を施すことを指示する文字列装飾コマンドが含まれており、
前記コマンド解析部は、
文字列印刷指示コマンドが印刷を指示する文字列に施される装飾に基づいて、当該文字列の内容を特定することを特徴とする請求項２または３に記載の制御装置。
【請求項５】
レシートを発行する印刷装置に接続された制御装置と、前記制御装置に接続された複数のサーバー装置とを備える制御システムであって、
前記制御装置は、
前記印刷装置にレシートを発行させる制御コマンドを生成して出力する印刷制御部と、
前記印刷制御部が生成したレシートに係る制御コマンドを解析して、前記サーバー装置ごとに、制御コマンドに含まれる所定の情報を抽出し、抽出した情報に基づいて前記サーバー装置ごとに送信データを生成し、前記サーバー装置のそれぞれに送信するコマンド解析部と、
を備えることを特徴とする制御システム。
【請求項６】
レシートを発行する印刷装置に接続されると共に、複数のサーバー装置に接続された制御装置の制御方法であって、
前記印刷装置にレシートを発行させる制御コマンドを生成し出力し、
生成したレシートに係る制御コマンドを解析して、前記サーバー装置ごとに、制御コマンドに含まれる所定の情報を抽出し、
抽出した情報に基づいて前記サーバー装置ごとに送信データを生成し、
前記サーバー装置のそれぞれに送信する
ことを特徴とする制御装置の制御方法。
【請求項７】
レシートを発行する印刷装置に接続されると共に、複数のサーバー装置に接続された制御装置を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記印刷装置にレシートを発行させる制御コマンドを生成して出力する印刷制御部と、
前記印刷制御部が生成したレシートに係る制御コマンドを解析して、前記サーバー装置ごとに、制御コマンドに含まれる所定の情報を抽出し、抽出した情報に基づいて前記サーバー装置ごとに送信データを生成し、前記サーバー装置のそれぞれに送信するコマンド解析部と、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レシートを発行する印刷装置に接続された制御装置、当該制御装置とサーバー装置とを備える制御システム、当該制御装置の制御方法、および、当該制御装置の制御に係るプログラムに関する。
【背景技術】
【０００２】
従来、レシートを発行するシステムが知られている（例えば、特許文献１参照）。一般に、レシートには、購入商品に関する情報や、会計に関する情報、顧客に関する情報等、が印刷される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１２９０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したシステムのように、レシートを発行するシステムでは、レシートに印刷される情報を有効活用し、マーケティングに役立てたり、顧客の管理に役立てたりしたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、レシートに印刷される情報を有効活用することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、レシートを発行する印刷装置に接続されると共に、複数のサーバー装置に接続された制御装置であって、前記印刷装置にレシートを発行させる制御コマンドを生成して出力する印刷制御部と、前記印刷制御部が生成したレシートに係る制御コマンドを解析して、前記サーバー装置ごとに、制御コマンドに含まれる所定の情報を抽出し、抽出した情報に基づいて前記サーバー装置ごとに送信データを生成し、前記サーバー装置のそれぞれに送信するコマンド解析部と、を備えることを特徴とする。
この構成によれば、レシートの発行に際し、レシートに係る制御コマンドから、サーバー装置ごとに情報が抽出され、サーバーごとに抽出された情報に基づく送信データが送信される。これにより、各サーバー装置が、レシートに印刷される情報のうち、必要な情報を取得することが可能となり、各サーバー装置の機能を利用して、レシートに印刷される情報を有効活用することができる。
【０００６】
また、本発明は、制御コマンドには、文字列を指定すると共に、指定した文字列の印刷を指示する文字列印刷指示コマンドが含まれており、前記コマンド解析部は、文字列印刷指示コマンドが指定する文字列が特定の内容の場合は、当該文字列を抽出し、抽出した文字列を含む前記送信データを生成して、特定の前記サーバー装置に送信することを特徴とする。
この構成によれば、特定の内容の文字列（情報）を、特定のサーバー装置に送信することが可能となり、サーバー装置に必要な情報を送信することができる。
【０００７】
また、本発明は、前記コマンド解析部は、文字列印刷指示コマンドに基づいてレシートに係る記録媒体に文字列を印刷した場合における、当該文字列の位置に基づいて、当該文字列の内容を特定することを特徴とする。
ここで、レシートは、印刷される画像のフォーマットが決まっており、所定の内容の文字列は、所定の位置に印刷される、という特性がある。そして、上記構成によれば、当該特性を利用して、レシートに印刷される文字列の内容を判別することが可能となる。
【０００８】
また、本発明は、レシートに係る制御コマンドには、文字列印刷指示コマンドが印刷を指示する文字列について、所定の装飾を施すことを指示する文字列装飾コマンドが含まれており、前記コマンド解析部は、文字列印刷指示コマンドが印刷を指示する文字列に施される装飾に基づいて、当該文字列の内容を特定することを特徴とする。
ここで、レシートは、所定の内容の文字列には、定型的に、所定の装飾が施される、という特性がある。そして、上記構成によれば、当該特性を利用して、レシートに印刷される文字列の内容を判別することが可能となる。
【０００９】
また、上記目的を達成するために、本発明は、レシートを発行する印刷装置に接続された制御装置と、前記制御装置に接続された複数のサーバー装置とを備える制御システムであって、前記制御装置は、前記印刷装置にレシートを発行させる制御コマンドを生成して出力する印刷制御部と、前記印刷制御部が生成したレシートに係る制御コマンドを解析して、前記サーバー装置ごとに、制御コマンドに含まれる所定の情報を抽出し、抽出した情報に基づいて前記サーバー装置ごとに送信データを生成し、前記サーバー装置のそれぞれに送信するコマンド解析部と、を備えることを特徴とする。
この構成によれば、レシートの発行に際し、レシートに係る制御コマンドから、サーバー装置ごとに情報が抽出され、サーバーごとに抽出された情報に基づく送信データが送信される。これにより、各サーバー装置が、レシートに印刷される情報のうち、必要な情報を取得することが可能となり、各サーバー装置の機能を利用して、レシートに印刷される情報を有効活用することができる。
【００１０】
また、上記目的を達成するために、本発明は、レシートを発行する印刷装置に接続されると共に、複数のサーバー装置に接続された制御装置の制御方法であって、前記印刷装置にレシートを発行させる制御コマンドを生成して出力し、前記印刷制御部が生成したレシートに係る制御コマンドを解析して、前記サーバー装置ごとに、制御コマンドに含まれる所定の情報を抽出し、抽出した情報に基づいて前記サーバー装置ごとに送信データを生成し、前記サーバー装置のそれぞれに送信することを特徴とする。
この制御方法によれば、レシートの発行に際し、レシートに係る制御コマンドから、サーバー装置ごとに情報が抽出され、サーバーごとに抽出された情報に基づく送信データが送信される。これにより、各サーバー装置が、レシートに印刷される情報のうち、必要な情報を取得することが可能となり、各サーバー装置の機能を利用して、レシートに印刷される情報を有効活用することができる。
【００１１】
また、上記目的を達成するために、本発明は、レシートを発行する印刷装置に接続されると共に、複数のサーバー装置に接続された制御装置を制御する制御部により実行されるプログラムであって、前記制御部を、前記印刷装置にレシートを発行させる制御コマンドを生成して出力する印刷制御部と、前記印刷制御部が生成したレシートに係る制御コマンドを解析して、前記サーバー装置ごとに、制御コマンドに含まれる所定の情報を抽出し、抽出した情報に基づいて前記サーバー装置ごとに送信データを生成し、前記サーバー装置のそれぞれに送信するコマンド解析部と、として機能させることを特徴とする。
このプログラムによれば、レシートの発行に際し、レシートに係る制御コマンドから、サーバー装置ごとに情報が抽出され、サーバーごとに抽出された情報に基づく送信データが送信される。これにより、各サーバー装置が、レシートに印刷される情報のうち、必要な情報を取得することが可能となり、各サーバー装置の機能を利用して、レシートに印刷される情報を有効活用することができる。
【発明の効果】
【００１２】
本発明によれば、レシートに印刷される情報を有効活用できるようになる。
【図面の簡単な説明】
【００１３】
【図１】制御システムの構成を示す図である。
【図２】制御システムを構成する各機器の機能的構成を示すブロック図である。
【図３】ホストコンピューターの機能ブロックをより詳細に示す図である。
【図４】コマンド整理部の機能の説明に利用する図である。
【図５】各サーバー装置に送信される各送信データを示す図である。
【図６】ホストコンピューター、クーポン管理サーバーの動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る制御システム１の構成を示す図である。
制御システム１は、スーパーマーケットや、コンビニエンスストア等の店舗に適用され、店舗における商品の販売の状況や、売上の状況、在庫の状況等を管理するいわゆるＰＯＳシステムである。制御システム１は、少なくとも、店舗に来店した顧客の会計に応じてレシートを発行する機能、および、レシートの発行に応じて適宜クーポンを発行する機能を有している。
制御システム１が適用される店舗では、複数のレジカウンターＬが設けられている。レジカウンターＬのそれぞれには、レシート発行用のプリンターであるレシートプリンター１０（印刷装置）と、クーポンプリンター１１（クーポン発行用印刷装置）と、これらプリンターを制御するホストコンピューター１２（制御装置）とが設けられている。
レシートプリンター１０は、例えば、サーマルプリンターであり、対応するホストコンピューター１２の制御の下、感熱ロール紙の印刷面にサーマルヘッドによって熱を与えて画像を印刷した上で、所定の位置で感熱ロール紙を切断することにより、レシートを発行する。
また、クーポンプリンター１１は、例えば、インクジェットプリンターであり、対応するホストコンピューター１２の制御の下、ロール紙の印刷面にインクジェットヘッドによってインクを吐出して画像を印刷した上で、所定の位置でロール紙を切断することにより、クーポンを発行する。
各ホストコンピューター１２には、ＬＡＮ等のネットワークＮを介して、ＰＯＳ管理サーバー１４が接続されている。ＰＯＳ管理サーバー１４は、商品マスターや、顧客マスター、在庫マスター等の各種データベースを記憶し、制御システム１を統括的に管理する。ホストコンピューター１２は、レシートの発行に際し、適宜、ＰＯＳ管理サーバー１４にアクセスして必要な情報を取得する。
また、図１に示すように、ネットワークＮには、クーポン管理サーバー１５（サーバー装置）、売上管理サーバー１６（サーバー装置）、電子レシート管理サーバー１７（サーバー装置）、および、顧客行動管理サーバー１８（サーバー装置）が接続されている。これらサーバー装置については、後述する。
【００１５】
図２は、制御システム１を構成する各機器、特に、ホストコンピューター１２、レシートプリンター１０、クーポンプリンター１１、および、クーポン管理サーバー１５の機能的構成を模式的に示すブロック図である。
図２に示すように、ホストコンピューター１２は、ホスト制御部２０（制御部）と、ホスト入力部２１と、ホスト表示部２２と、ホスト記憶部２３と、ネットワーク通信部２４と、レシートプリンター通信部２５と、クーポンプリンター通信部２６と、を備えている。
ホスト制御部２０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路等を備え、ホストコンピューター１２の各部を制御する。ホスト制御部２０は、機能ブロックとして、印刷制御部２０ａと、コマンド解析部２０ｂと、クーポン発行制御部２０ｃと、を備えているが、これらについては後述する。ホスト入力部２１は、マウスや、キーボード等の入力デバイスに接続され、入力デバイスに対する入力を検出し、ホスト制御部２０に出力する。ホスト表示部２２は、液晶表示パネル等の表示パネルに接続され、ホスト制御部２０の制御の下、各種データを表示パネルに表示する。ホスト記憶部２３は、ハードディスクやＥＥＰＲＯＭ等のメモリーを備え、各種データを不揮発的に書き換え可能に記憶する。ホスト記憶部２３には、クーポン画像データベース２３ａが記憶されているが、これについては後述する。ネットワーク通信部２４は、ホスト制御部２０の制御の下、所定の通信規格に準拠して、ネットワークＮを介して、ネットワークＮ上の外部機器と通信する。レシートプリンター通信部２５は、ホスト制御部２０の制御の下、所定の通信規格に準拠して、レシートプリンター１０と通信する。クーポンプリンター通信部２６は、ホスト制御部２０の制御の下、所定の通信規格に準拠して、クーポンプリンター１１と通信する。
また、図２に示すように、レシートプリンター１０は、レシートプリンター制御部３０と、レシートプリンター印刷部３１とを備えている。レシートプリンター制御部３０は、ＣＰＵ等を備え、レシートプリンター１０の各部を制御する。レシートプリンター印刷部３１は、記録媒体に画像を印刷する印刷ヘッド、記録媒体を搬送する搬送機構、記録媒体を切断する切断機構等を備えている。同様に、クーポンプリンター１１は、クーポンプリンター制御部３２と、クーポンプリンター印刷部３３とを備えている。
【００１６】
図３は、ホストコンピューター１２の機能的構成をより詳細に示す図である。図３では、説明の便宜のため、クーポン管理サーバー１５の機能ブロックも表わしている。
図３では、説明の便宜のため、機能ブロックや、プログラム、記憶領域、物理的な装置等を、同等のブロックで表現している。
なお、以下で説明する機能ブロックのそれぞれの機能は、ＣＰＵがプログラムを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
ホスト制御部２０が備える印刷制御部２０ａは、レシートプリンター１０にレシートを発行させる制御コマンドを生成し、出力する機能を有する機能ブロックである。
詳述すると、ホストコンピューター１２には、ＰＯＳアプリケーション３５、および、プリンタードライバー３６がインストールされている。印刷制御部２０ａは、ＰＯＳアプリケーション３５の機能により、レシートに印刷すべき画像に関する情報を含んで構成された印刷データを生成し、プリンタードライバー３６に出力する。印刷制御部２０ａは、プリンタードライバー３６の機能により、印刷データに基づいて、レシートプリンター１０にレシートの発行に係る各種処理を実行させる制御コマンドを生成し、ソフトウェア的な（論理的な）ポートとして開放されている論理ポートＰに出力する。
次いで、印刷制御部２０ａは、ＰＣＳ（Port Communication Service）３７の機能により、論理ポートＰに出力された制御コマンドに対して、所定の処理を施し、レシートプリンター通信部２５に出力する。
ＰＣＳ３７とは、プリンタードライバー３６から呼び出し可能な関数であり、印刷制御部２０ａと、レシートプリンター通信部２５との間で各種データの入出力を行なう機能を有している。
ＰＣＳ３７は、プリンタードライバー３６が出力するデータ（制御コマンドを含む）、および、プリンタードライバー３６に入力されるデータについて、ホストコンピューター１２と、レシートプリンター１０との間のインターフェースの規格（ＲＳ２３２Ｃや、ＵＳＢ等の規格）に対応したデータ整形、データ変換を行なう。これにより、各種インターフェースの規格の際を吸収し、プリンタードライバー３６に対するソフトウェア的な改変を行なうことなく、各種規格に係るインターフェースに準じた通信を行なうことを可能とする。レシートプリンター通信部２５は、入力された制御コマンドを、所定の通信規格に準拠して、レシートプリンター１０に送信する。レシートプリンター１０は、受信した制御コマンドに基づいてレシートを発行する。
【００１７】
コマンド解析部２０ｂは、プリンタードライバー３６の機能によって生成されたレシートプリンター１０にレシートを発行させる制御コマンドを解析して、後述する各種処理を実行する機能ブロックである。
このコマンド解析部２０ｂの機能は、ＯＰＯＳや、ＵＰＯＳが提供するＡＰＩ関数を利用して作成されたプログラムによって実現される。このコマンド解析部２０ｂに係るプログラムは、同じくＯＰＯＳや、ＵＰＯＳの規格に準拠したプリンタードライバー３６によって、適宜、呼び出し可能な構成となっている。
図３に示すように、コマンド解析部２０ｂは、機能ブロックとして、コマンド整理部４０と、送信データ生成部４１と、データ送信部４２と、を備えている。これら機能ブロックの機能は、ＣＰＵが、プログラムを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
【００１８】
まず、コマンド整理部４０について説明する。
図４は、コマンド整理部４０について説明するための図である。（Ａ）は、レシートプリンター１０によって発行されるレシートの一例を示す図である。（Ｂ）は、（Ａ）が示すレシートの発行のために生成される制御コマンドの内容を示す図である。（Ｃ）は、（Ｂ）が示す制御コマンドについて、コマンド整理部４０の機能によって整理した様子を説明に適した態様で模式的に示す図である。
図４（Ａ）に示すように、レシートの先頭には、いわゆるトップロゴを示すトップロゴ画像Ｒ１が印刷される。このトップロゴ画像Ｒ１の下方には、レシートが発行された日時（日付＋時刻）を示す発行日時画像Ｒ２が印刷される。発行日時画像Ｒ２に係る文字列（日時を示す文字列）は、右寄せで印刷される。
発行日時画像Ｒ２の下方には、購入商品関連画像Ｒ３が印刷される。購入商品関連画像Ｒ３は、顧客が購入した商品の名称、商品の単価、商品の購入数量、および、商品の購入金額（商品の単価×商品の購入数量によって算出される金額）を一覧表示する画像である。購入商品関連画像Ｒ３について詳述すると、当該画像において、ある１行における顧客が購入した商品の名称、商品の単価、商品の購入数量、および、商品の購入金額は、以下の規則に従って印刷される。すなわち、該当する行における１文字目を基点として、商品の名称が印刷される。さらに、Ｔ１（Ｔ１は、予め定められた正の整数。）文字目を基点として、商品の単価が印刷される。さらに、Ｔ２（Ｔ２は、予め定められた正の整数であり、Ｔ２＞Ｔ１。）文字目を基点として、商品の購入数量が印刷される。さらに、Ｔ３（Ｔ３は、予め定められた性の整数であり、Ｔ３＞Ｔ２。）文字目を基点として、商品の購入金額が印刷される。購入商品関連画像Ｒ３に係る１行の文字列は、左寄せで印刷される。
購入商品関連画像Ｒ３の下方には、購入商品の合計金額を示す合計金額画像Ｒ４が印刷される。合計金額画像Ｒ４に係る文字列は、左寄せで、かつ、太字で印刷される。合計金額画像Ｒ４の下方には、レシートの識別番号を表わすバーコードを示すバーコード画像Ｒ５が印刷される。このバーコード画像Ｒ５の下方には、顧客の会員番号を示す会員番号画像Ｒ６が印刷される。会員番号画像Ｒ６に係る文字列は、左寄せで印刷される。ここで、図示は省略したが、ホストコンピューター１２には、顧客が所有する会員カードを読み取るカードリーダーが接続されている。そして、レジカウンターＬにおける会計に際し、顧客が会員カードを呈示した場合、当該会員カードがカードリーダーによって読み取られる。そして、当該会員カードに記録された会員番号がホストコンピューター１２の所定の記憶領域に記憶される。
会員番号画像Ｒ６の下方には、レシートの末端に定型的に記録される文字列を示す末端画像Ｒ７が印刷される。図４（Ａ）の例では、会員番号画像Ｒ６に係る文字列は、「Ｔｈａｎｋ△Ｙｏｕ」（△は、スペースを表わす。以下同じ。）である。この会員番号画像Ｒ６に係る文字列は、中央寄せで印刷される。
【００１９】
本実施形態においては、レシートのレイアウトは、基本的に、図４（Ａ）に示すレシートのレイアウトに準じるものとなっている。すなわち、本実施形態に係るレシートには、先頭から後端へ向かって順番に、トップロゴ画像Ｒ１、発行日時画像Ｒ２、購入商品関連画像Ｒ３、合計金額画像Ｒ４、バーコード画像Ｒ５、会員番号画像Ｒ６、末端画像Ｒ７が印刷される。
なお、レシートのレイアウトは、説明の便宜を考慮して単純化しており、通常、税に関する情報や、おつりに関する情報等、上記で示した以外の情報に係る画像が印刷される。
【００２０】
一方、図４（Ｂ）に示すように、レシートに係る制御コマンドは、複数のコマンドを含んで構成されている。
図４（Ｂ）に示すように、レシートに係る制御コマンドには、トップロゴ印刷指示コマンドＣ１が含まれている。このトップロゴ印刷指示コマンドＣ１は、トップロゴ画像Ｒ１の印刷を指示するコマンドであり、グラフィック画像印刷指示コマンドＧＣを含んで構成されている。グラフィック画像印刷指示コマンドＧＣは、グラフィック画像の印刷を指示する命令コードと、印刷すべき画像の画像データと、を含んで構成されている。画像データとは、ビットマップデータ等の、画素ごとに、情報を例えば階調値として保持するデータのことである。本実施形態では、グラフィック画像印刷指示コマンドＧＣは、「ＸＸＸ“画像データ”」（ただし、「ＸＸＸ」は、画像データに基づく画像の印刷を指示する命令コード。）という構成となっている。トップロゴ印刷指示コマンドＣ１に係るグラフィック画像印刷指示コマンドＧＣは、「ＸＸＸ“トップロゴ画像Ｒ１の画像データ”」という構成となっている。
レシートに係る制御コマンドにおいて、トップロゴ印刷指示コマンドＣ１の次には、発行日時印刷指示コマンドＣ２が記述されている。この発行日時印刷指示コマンドＣ２は、発行日時画像Ｒ２の印刷を指示するコマンドであり、文字列装飾コマンドＳＣ、文字列印刷指示コマンドＭＣ、および、改行コマンドＬＦを含んで構成されている。
文字列装飾コマンドＳＣとは、文字列印刷指示コマンドＭＣが指定する文字列の印刷に際し、施すべき装飾を指定するコマンドである。装飾とは、印刷する文字列に対して描画に関する何らかの処理を行うことを意味する。装飾としては、例えば、文字列の位置の移動（左寄せや、中央寄せ、右寄せ等）、文字列の拡大、縮小、回転、強調、太字化、装飾文字又は装飾記号の付加等がある。発行日時印刷指示コマンドＣ２に係る文字列装飾コマンドＳＣは、印刷する文字列について、右寄せの装飾を施すことを指示する。
文字列印刷指示コマンドＭＣは、文字列を指定すると共に、指定した文字列の印刷を指示するコマンドである。文字列印刷指示コマンドＭＣは、文字列の印刷を指示する命令コードと、文字列を指定するデータ部と、を含んで構成されている。データ部には、所定の文字コード（例えば、Ｕｎｉｃｏｄｅや、アスキーコード）によって表現された文字の組み合わせが記述される。発行日時印刷指示コマンドＣ２に係る文字列印刷指示コマンドＭＣは、「ＹＹＹ“２０１３／１／１／１２：００”」（ただし、「ＹＹＹ」は、文字列の記録を指示する命令コード。ダブルクォーテーション内は、データ部であり印刷すべき文字列が指定されている。）という構成となっている。なお、本実施形態では、レシートプリンター１０によって記録可能とされている文字のそれぞれについて、各文字のフォントデータが事前にレシートプリンター１０に登録されている。レシートプリンター１０は、文字列印刷指示コマンドＭＣに基づいて、印刷すべき文字列を構成する各文字をフォントデータに変換し、変換したフォントデータに基づいて印刷を行う。
改行コマンドＬＦは、改行を指示するコマンドである。
【００２１】
レシートに係る制御コマンドにおいて、発行日時印刷指示コマンドＣ２の次には、明細印刷指示コマンドＣ３が記述されている。この明細印刷指示コマンドＣ３は、購入商品関連画像Ｒ３における購入商品ごとに（＝行ごとに）存在する。
明細印刷指示コマンドＣ３は、左寄せの装飾を施すことを指示する文字列装飾コマンドＳＣと、商品の名称、商品の単価、購入数量、および、購入金額を表わす文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドＭＣと、改行コマンドＬＦとを含んで構成されている。特に、文字列印刷指示コマンドＭＣのデータ部において、商品の名称を示す文字列と、商品の単価を示す文字列との間には、商品の単価を示す文字列がＴ１文字目から印刷されるように適切なスペースが記述される。同様に、データ部において、商品の単価を示す文字列と、購入数量を示す文字列との間には、購入数量を示す文字列がＴ２文字目から印刷されるように適切なスペースが記述される。同様に、データ部において、購入数量を示す文字列と、購入金額を示す文字列との間には、個入金額を示す文字列がＴ３文字目から印刷されるように適切なスペースが記述される。データ部の態様の一例を示すと、「“ＩｔｅｍＡ△△△△△８００△△△２△△△△１６００”」である。
レシートに係る制御コマンドにおいて、全ての明細印刷指示コマンドＣ３の次には、合計金額印刷指示コマンドＣ４が記述されている。この合計金額印刷指示コマンドＣ４は、太字化、および、左寄せの装飾を施すことを指示する文字列装飾コマンドＳＣと、「Ｔｏｔａｌ」という文字列、および、合計金額を示す文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドＭＣと、改行コマンドＬＦとを含んで構成されている。
レシートに係る制御コマンドにおいて、合計金額印刷指示コマンドＣ４の次には、バーコード印刷指示コマンドＣ５が記述されている。このバーコード印刷指示コマンドＣ５は、コードを指定すると共に、指定したコードを示すバーコード画像Ｒ５を印刷することを指示するコマンドである。レシートプリンター１０には、バーコード印刷指示コマンドＣ５が指定するコードに基づいて、バーコードの画像データを生成し、生成した画像データに基づいて、バーコード画像Ｒ５を印刷する機能が実装されている。
レシートに係る制御コマンドにおいて、バーコード印刷指示コマンドＣ５の次には、会員番号印刷指示コマンドＣ６が記述されている。この会員番号印刷指示コマンドＣ６は、左寄せの装飾を施すことを指示する文字列装飾コマンドＳＣと、「ｍｅｍｂｅｒｓｈｉｐ△ＮＯ．」という文字列、および、会員番号を示す文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドＭＣと、改行コマンドＬＦとを含んで構成されている。
レシートに係る制御コマンドにおいて、会員番号印刷指示コマンドＣ６の次には、末端画像印刷指示コマンドＣ７が記述されている。この末端画像印刷指示コマンドＣ７は、中央寄せの装飾を施すことを指示する文字列装飾コマンドＳＣと、「Ｔｈａｎｋ△Ｙｏｕ」という文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドＭＣと、改行コマンドＬＦとを含んで構成されている。
レシートに係る制御コマンドにおいて、末端画像印刷指示コマンドＣ７の次には、切断指示コマンドＳＳが記述されている。この切断指示コマンドＳＳは、ロール紙の切断を指示するコマンドである。レシートの発行を指示する制御コマンドにおいて、この切断指示コマンドＳＳが必ず最後のコマンドとなる。
【００２２】
プリンタードライバー３６の機能によって生成される制御コマンドは、順次、ＲＡＭに形成されたワークエリアＷＡの所定の記憶領域に記憶される。そして、コマンド整理部４０は、制御コマンドのワークエリアＷＡへの記憶中、コマンド整理部４０は、切断指示コマンドＳＳがワークエリアＷＡに記憶された否かを監視し、記憶されたことをトリガーとして以下の処理を実行する。なお、ワークエリアＷＡに切断指示コマンドＳＳが記憶されたということは、レシートに係る制御コマンドを構成するコマンドの全てが、ワークエリアＷＡに記憶されたということである。
すなわち、コマンド整理部４０は、制御コマンドを解析して、制御コマンドを構成するコマンドを、文字列の印刷に係るコマンド、グラフィック画像の印刷に係るコマンド、および、バーコードの印刷に係るコマンドに振り分ける。そして、コマンド整理部４０は、図４（Ｃ）に示すように、振り分けたコマンドをワークエリアＷＡにおける別の領域に記憶する。図４（Ｃ）では、記憶領域Ａ１は、グラフィック画像の印刷に係るコマンドが格納される領域であり、トップロゴ印刷指示コマンドＣ１が格納される。また、記憶領域Ａ２は、文字列の印刷に係るコマンドが格納される領域であり、発行日時印刷指示コマンドＣ２、明細印刷指示コマンドＣ３の全て、合計金額印刷指示コマンドＣ４、会員番号印刷指示コマンドＣ６、および、末端画像印刷指示コマンドＣ７が格納される。各コマンドは、制御コマンドにおける順番と同様の順番で記憶領域Ａ２に格納される。また、記憶領域Ａ３は、バーコードの印刷に係るコマンドが格納される領域であり、バーコード印刷指示コマンドＣ５が格納される。
このように、コマンド整理部４０は、全ての制御コマンドがワークエリアＷＡに格納されたことを検出すると共に、制御コマンドに含まれる各コマンドを種類に応じて振り分け、別々の記憶領域に格納する。
【００２３】
次に、送信データ生成部４１について説明する。
送信データ生成部４１は、第１送信データ生成部４１ａ、第２送信データ生成部４１ｂ、第３送信データ生成部４１ｃ、および、第４送信データ生成部４１ｄを備えている。
第１送信データ生成部４１ａは、クーポン管理サーバー１５に送信する第１送信データＤ１を生成する機能ブロックである。以下、第１送信データ生成部４１ａについて詳述する。
図５（Ａ）は、第１送信データＤ１を、説明に適した態様で模式的に示す図である。本実施形態では、第１送信データＤ１は、ＸＭＬ等のマークアップ言語で記述されたデータである。第１送信データＤ１には、購入商品ごとに、商品の名称、単価、購入数量、および、購入金額を示す情報（購入商品に関する情報）が含まれている。また、第１送信データＤ１には、合計金額を示す情報（会計に関する情報）、および、会員番号を示す情報が含まれている。
第１送信データ生成部４１ａは、第１送信データＤ１を以下のようにして生成する。すなわち、購入商品関連画像Ｒ３では、行ごとに、商品の名称、単価、購入数量、および、購入金額が印刷されるが、各行の印刷を指示する明細印刷指示コマンドＣ３には、以下の特徴がある。１つ目の特徴は、１行目の印刷を指示する明細印刷指示コマンドＣ３は、発行日時印刷指示コマンドＣ２の次に記述されている、という特徴である。２つ目の特徴は、最後の行の印刷を指示する明細印刷指示コマンドＣ３は、合計金額印刷指示コマンドＣ４の前に記述されている、という特徴である。３つ目の特徴は、明細印刷指示コマンドＣ３に係る文字列装飾コマンドＳＣは、左寄せの装飾を指示している、という特徴である。これら特徴を利用して、第１送信データ生成部４１ａは、記憶領域Ａ２に記憶されたコマンドの中から、明細印刷指示コマンドＣ３の全てを抽出する。
【００２４】
詳述すると、まず、第１送信データ生成部４１ａは、記憶領域Ａ２に格納されたコマンドの中から、発行日時印刷指示コマンドＣ２を特定する。例えば、第１送信データ生成部４１ａは、発行日時印刷指示コマンドＣ２が記憶領域Ａ２に格納されたコマンドのうち最初のコマンドであることを利用して、上記特定を行なう。また例えば、第１送信データ生成部４１ａは、発行日時印刷指示コマンドＣ２に係る文字列装飾コマンドＳＣが、右寄せの装飾を施すことを指定するコマンドであることを利用して、発行日時印刷指示コマンドＣ２に係る文字列装飾コマンドＳＣを特定し、これにより、上記特定を行なう。また例えば、第１送信データ生成部４１ａは、発行日時印刷指示コマンドＣ２に係る文字列印刷指示コマンドＭＣが指定する文字列が、「※／※／※／※」（※は、ワイルドカードを示す。）を含むことを利用して、文字列検索により、発行日時印刷指示コマンドＣ２に係る文字列印刷指示コマンドＭＣを特定し、これにより、上記特定を行う。
次いで、第１送信データ生成部４１ａは、記憶領域Ａ２に格納されたコマンドの中から、合計金額印刷指示コマンドＣ４を特定する。例えば、第１送信データ生成部４１ａは、合計金額印刷指示コマンドＣ４に係る文字列装飾コマンドＳＣが、太字化、および、左寄せの装飾を施すことを指定することを利用して、合計金額印刷指示コマンドＣ４に係る文字列装飾コマンドＳＣを特定し、これにより、上記特定を行なう。このほか、合計金額印刷指示コマンドＣ４に係る文字列印刷指示コマンドＭＣが指定する文字列が、「Ｔｏｔａｌ」を含むことを利用して、文字列検索により、合計金額印刷指示コマンドＣ４に係る文字列印刷指示コマンドＭＣを特定し、これにより、上記特定を行なってもよい。
以上により、記憶領域Ａ２における発行日時印刷指示コマンドＣ２、および、合計金額印刷指示コマンドＣ４を特定した後、第１送信データ生成部４１ａは、これらコマンドの間に格納された明細印刷指示コマンドＣ３の全てを特定し、抽出する。その際、明細印刷指示コマンドＣ３に係る文字列装飾コマンドＳＣは、左寄せの装飾を施すことを指示していることを利用して、より的確に、明細印刷指示コマンドＣ３を抽出してもよい。
【００２５】
次に、第１送信データ生成部４１ａは、明細印刷指示コマンドＣ３のそれぞれに基づいて、購入商品ごとに、商品の名称、単価、購入数量、および、購入金額を示す情報を取得する。
１の明細印刷指示コマンドＣ３に基づいて、商品の名称、単価、購入数量、および、購入金額を示す情報を取得する場合を例にして説明する。上述したように、明細印刷指示コマンドＣ３に係る文字列印刷指示コマンドＭＣのデータ部では、１文字目を基点として商品の名称が記述され、Ｔ１文字目を基点として単価が記述され、Ｔ２文字目を基点として購入数量が記述され、Ｔ３も締めを基点として購入金額が記述されている。これを利用して、第１送信データ生成部４１ａは、データ部において、１文字目を基点として記述された一連の文字列を、商品の名称として取得する。同様に、第１送信データ生成部４１ａは、データ部において、Ｔ１文字目を基点として記述された一連の文字列を、単価として取得する。同様に、第１送信データ生成部４１ａは、データ部において、Ｔ２文字目を基点として記述された一連の文字列を、購入数量として取得する 。同様に、第１送信データ生成部４１ａは、データ部において、Ｔ３文字目を基点として記述された一連の文字列を、購入金額として取得する。
さらに、第１送信データ生成部４１ａは、記憶領域Ａ２に格納されたコマンドの中から、上述した手法により、合計金額印刷指示コマンドＣ４を特定し、特定したコマンドに基づいて合計金額を取得する。ここで、合計金額印刷指示コマンドＣ４に係る文字列印刷指示コマンドＭＣのデータ部では、「Ｔｏｔａｌ」という文字列の後に、スペースを介して、数字からなる合計金額が記述されている。これを踏まえ、第１送信データ生成部４１ａは、合計金額印刷指示コマンドＣ４に係る文字列印刷指示コマンドＭＣのデータ部において、文字列「Ｔｏｔａｌ」の後に、スペースを介して記述された数字からなる文字列を合計金額として、取得する。
さらに、第１送信データ生成部４１ａは、記憶領域Ａ２に格納されたコマンドの中から、会員番号印刷指示コマンドＣ６を特定し、特定したコマンドに基づいて会員番号を取得する。ここで、記憶領域Ａ２において、会員番号印刷指示コマンドＣ６は、末端画像印刷指示コマンドＣ７の前に格納されている。これを踏まえ、例えば、第１送信データ生成部４１ａは、末端画像印刷指示コマンドＣ７を特定した上で、当該コマンドの前に格納されているコマンドを会員番号印刷指示コマンドＣ６として特定する。なお、末端画像印刷指示コマンドＣ７の特定は、記憶領域Ａ２に格納されたコマンドのうち、最後のコマンドであることや、「Ｔｈａｎｋ△Ｙｏｕ」という文字列の印刷を指示する文字列印刷指示コマンドＭＣが含まれていることを利用して行なわれる。
また例えば、第１送信データ生成部４１ａは、会員番号印刷指示コマンドＣ６に係る文字列印刷指示コマンドＭＣが指定する文字列が、「ｍｅｍｂｅｒｓｈｉｐ△ＮＯ．」を含むことを利用して、文字列検索により、会員番号印刷指示コマンドＣ６に係る文字列印刷指示コマンドＭＣを特定し、これにより、会員番号印刷指示コマンドＣ６を特定する。
会員番号印刷指示コマンドＣ６を特定した後、第１送信データ生成部４１ａは、以下のようにして、会員番号を取得する。すなわち、会員番号印刷指示コマンドＣ６に係る文字列印刷指示コマンドＭＣのデータ部では、「ｍｅｍｂｅｒｓｈｉｐ△ＮＯ．」という文字列の後に、スペースを介して、会員番号を示す文字列が記述されている。これを踏まえ、第１送信データ生成部４１ａは、会員番号印刷指示コマンドＣ６に係る文字列印刷指示コマンドＭＣのデータ部において、文字列「ｍｅｍｂｅｒｓｈｉｐ△ＮＯ．」の後に、スペースを介して記述された文字列を会員番号として、取得する。
【００２６】
以上のようにして、購入商品ごとに、商品の名称、単価、購入数量、および、購入金額を示す情報を取得すると共に、合計金額、および、会員番号を取得した後、第１送信データ生成部４１ａは、取得した情報に基づいて、第１送信データＤ１（図５（Ａ））を生成する。上述したように、本実施形態では、第１送信データＤ１は、マークアップ言語で記述されたデータである。例えば、第１送信データＤ１は、所定のプログラム上に定義された変数に、各情報が格納された上で、当該プログラムが実行されることにより、生成される。また例えば、第１送信データＤ１は、予め、第１送信データＤ１のフォーマットを示すスタイルシートが用意され、当該スタイルシートの適切な箇所に適切な情報が記述されることにより生成される。
上述したように、第１送信データＤ１は、クーポン管理サーバー１５に送信されるデータである。第１送信データＤ１がクーポン管理サーバー１５に送信された後の、当該サーバー、および、ホストコンピューター１２の動作については後に詳述する。
【００２７】
次に、第２送信データ生成部４１ｂについて説明する。
第２送信データ生成部４１ｂは、売上管理サーバー１６に送信する第２送信データＤ２を生成する機能ブロックである。
図５（Ｂ）は、第２送信データＤ２を、説明に適した態様で模式的に示す図である。第２送信データＤ２は、ＸＭＬ等のマークアップ言語で記述されたデータである。
図５（Ｂ）に示すように、第２送信データＤ２には、レシートの発行日時を示す情報、商品ごとに、商品の名称、単価、購入数量、および、購入金額を示す情報、および、合計金額を示す情報が含まれている。
第２送信データ生成部４１ｂは、商品の名称、単価、購入数量、および、購入金額を示す情報、および、合計金額を示す情報を、上述した手法により取得する。また、第２送信データ生成部４１ｂは、上述した手法により、記憶領域Ａ２において、発行日時印刷指示コマンドＣ２を特定し、当該コマンドのデータ部から発行日時を示す文字列を抽出することにより、レシートの発行日時を示す情報を取得する。第２送信データ生成部４１ｂは、取得したレシートの発行日時を示す情報、商品ごとの、商品の名称、単価、購入数量、および、購入金額を示す情報、および、合計金額を示す情報に基づいて、第２送信データＤ２を生成する。
【００２８】
次に、第３送信データ生成部４１ｃについて説明する。
第３送信データ生成部４１ｃは、電子レシート管理サーバー１７に送信する第３送信データＤ３を生成する機能ブロックである。以下、第３送信データ生成部４１ｃについて詳述する。
図５（Ｃ）は、第３送信データＤ３を、説明に適した態様で模式的に示す図である。第３送信データＤ３は、ＸＭＬ等のマークアップ言語で記述されたデータである。
図５（Ｃ）に示すように、第３送信データＤ３には、レシートの画像データ、レシートに印刷されるトップロゴの画像データ、および、レシートの識別コードが含まれている。レシートの識別コードとは、レシートに印刷されるバーコードが示すコードである。
第３送信データ生成部４１ｃは、ワークエリアＷＡの所定の記憶領域に記憶されている制御コマンドに基づいて、レシートに印刷される画像（例えば、図４（Ａ）に例示した画像）の画像データ（以下、「レシート画像データ」という。）を生成する。第３送信データ生成部４１ｃの機能を実現するプログラムには、レシートに制御コマンドに基づいて、レシート画像データを生成する機能が実装されている。さらに、第３送信データ生成部４１ｃは、記憶領域Ａ１に格納されているトップロゴ印刷指示コマンドＣ１を取得し、当該コマンドに含まれるトップロゴ画像Ｒ１の画像データ（以下、「トップロゴ画像データ」という。）を取得する。さらに、第３送信データ生成部４１ｃは、記憶領域Ａ３に格納されているバーコード印刷指示コマンドＣ５を取得し、当該コマンドにおいて指定されたコード（＝レシートの識別コード）を取得する。
以上のようにして、レシート画像データを生成すると共に、トップロゴ画像データ、および、レシートの識別コードを取得した後、第３送信データ生成部４１ｃは、これら情報を含む第３送信データＤ３を生成する。
【００２９】
次に、第４送信データ生成部４１ｄについて説明する。
第４送信データ生成部４１ｄは、顧客行動管理サーバー１８に送信する第４送信データＤ４を生成する機能ブロックである。以下、第４送信データ生成部４１ｄについて詳述する。
図５（Ｄ）は、第４送信データＤ４を、説明に適した態様で模式的に示す図である。第４送信データＤ４は、ＸＭＬ等のマークアップ言語で記述されたデータである。
図５（Ｄ）に示すように、第４送信データＤ４には、レシートの発行日時を示す情報、商品ごとの、商品の名称、単価、購入数量、および、購入金額を示す情報、合計金額を示す情報、および、会員番号を示す情報が含まれている。第４送信データ生成部４１ｄは、これら情報を上述した手法により取得すると共に、取得した情報に基づいて第４送信データＤ４を生成する。
【００３０】
次に、データ送信部４２について説明する。
データ送信部４２は、ネットワーク通信部２４を制御して、第１送信データＤ１をクーポン管理サーバー１５に、第２送信データＤ２を売上管理サーバー１６に、第３送信データＤ３を電子レシート管理サーバー１７に、第４送信データＤ４を顧客行動管理サーバー１８に送信する。
以下、各サーバーが、受信したデータをどのように利用するかについて、例を挙げて説明する。
第１送信データＤ１がクーポン管理サーバー１５に送信された後におけるクーポン管理サーバー１５、および、ホストコンピューター１２の動作については後述する。
【００３１】
売上管理サーバー１６は、店舗における売上の状況を管理するサーバーである。
売上管理サーバー１６に送信される第２送信データＤ２（図５（Ｂ）参照。）には、レシートの発行日時を示す情報と、購入商品のそれぞれについて、名称、単価、購入数量、購入金額を示す情報と、合計金額を示す情報が含まれている。
売上管理サーバー１６は、受信した第２送信データＤ２を累積的に記憶する。そして、売上管理サーバー１６は、特定の期間における売上の総計についての問い合わせや、特定の期間における特定の商品の購入数量の総計の問い合わせ、特定の期間における合計金額の平均についての問い合わせ等を受け付けるユーザーインターフェースを提供する。そして、当該ユーザーインターフェースを介して、問い合わせがあった場合、売上管理サーバー１６は、適切な第２送信データＤ２を抽出し、抽出した第２送信データＤ２の内容に基づいて、問い合わせに対する解答を算出し、問い合わせに対して応答する。
例えば、上記ユーザーインターフェースを介して、特定の期間における売上の総計についての問い合わせがあったとする。この場合、売上管理サーバー１６は、累積的に記憶した第２送信データＤ２の中から、発行日時が、特定の期間に属する第２送信データＤ２を抽出する。そして、売上管理サーバー１６は、抽出した第２送信データＤ２のそれぞれの合計金額の総計を算出し、算出した総計を解答として問い合わせに対して応答する。
【００３２】
電子レシート管理サーバー１７は、レシートを電子的に管理するサーバーである。
電子レシート管理サーバー１７は、受信した第３送信データＤ３を累積的に記憶する。電子レシート管理サーバー１７は、例えば、レシートの識別コードの入力、および、レシートの再発行を指示するためのユーザーインターフェースを提供する。そして、当該ユーザーインターフェースを介して、レシートの識別コードの入力、および、レシートの再発行の指示があった場合、電子レシート管理サーバー１７は、累積的に記憶した第３送信データＤ３の中から、入力された識別コードが記述された第３送信データＤ３を検索する。そして、電子レシート管理サーバー１７は、検索した第３送信データＤ３に含まれるレシート画像データに基づいて、所定の印刷装置にレシートを発行させる。
また例えば、電子レシート管理サーバー１７は、レシートの識別コードとメールアドレスとの入力、および、入力したメールアドレスへのレシート画像データの送信を指示するためのユーザーインターフェースを提供する。そして、当該ユーザーインターフェースを介して、レシートの識別コード、メールアドレスの入力、および、レシート画像データの送信の指示があった場合、電子レシート管理サーバー１７は、レシートの識別コードに対応するレシート画像データを検索し、メーラーを制御して、入力されたメールアドレスに対して、所定の態様でレシート画像データを送信する。なお、第３送信データＤ３に会員番号を含める構成とし、さらに、電子レシート管理サーバー１７は、会員番号ごとに、メールアドレスを対応づけて記憶し、第３送信データＤ３を受信した場合、対応するメールアドレスにレシート画像データをシステマティックに送信する構成であってもよい。
また、第３送信データＤ３には、トップロゴ画像データが含まれているため、電子レシート管理サーバー１７は、特定の識別コードのレシートについて、トップロゴのみを表示したり、また、トップロゴ画像データを送信したりすることが可能である。
【００３３】
顧客行動管理サーバー１８は、顧客の購買行動を管理するサーバーである。
顧客行動管理サーバー１８は、例えば、受信した第４送信データＤ４について、会員番号ごとに（＝会員ごとに）、累積的に記憶する。そして、顧客行動管理サーバー１８は、会員ごとの第４送信データＤ４に基づいて、例えば、会員ごとの合計金額の平均を算出したり、会員ごとに購入商品を管理したりする。
顧客行動管理サーバー１８は、会員ごとに累積的に記憶した第４送信データＤ４に基づいて、所定のデータマイニングの手法、統計学的手法に基づいて、購買行動の分析を行なう構成であってもよい。
【００３４】
次に、第１送信データＤ１がクーポン管理サーバー１５に送信された後の、クーポン管理サーバー１５、および、ホストコンピューター１２の動作について説明する。
まず、クーポン管理サーバー１５の機能的構成について、図３を用いて説明する。図３に示すように、クーポン管理サーバー１５は、サーバー制御部５０と、サーバー記憶部５１と、インターフェース部５２と、を備えている。サーバー制御部５０は、ＣＰＵ等を備え、クーポン管理サーバー１５の各部を制御する。サーバー記憶部５１は、データを不揮発的に書き換え可能に記憶する。このサーバー記憶部５１には、条件データベース５１ａが記憶されているが、これについては後述する。インターフェース部５２は、サーバー制御部５０の制御の下、ネットワークＮ上の外部機器と所定の通信規格に準拠して通信する。
【００３５】
図６は、ホストコンピューター１２、および、クーポン管理サーバー１５の動作を示すフローチャートであり、（Ａ）はクーポン管理サーバー１５の動作を、（Ｂ）はホストコンピューター１２の動作を、それぞれ示している。
上述したように、ホストコンピューター１２のデータ送信部４２は、第１送信データ生成部４１ａが生成した第１送信データＤ１をクーポン管理サーバー１５に送信する（ステップＳＡ１）。
クーポン管理サーバー１５のサーバー制御部５０は、第１送信データＤ１を受信すると（ステップＳＢ１）、条件データベース５１ａを参照し（ステップＳＢ２）、第１送信データＤ１に基づいて、クーポンを発行すべきか否かを判別する（ステップＳＢ３）。
詳述すると、サーバー記憶部５１に記憶された条件データベース５１ａには、クーポンを発行すると判別するための条件と、条件が成立した場合に発行するクーポンのクーポン識別情報（後述）とが対応付けて記憶されている。条件は、複数存在してもよい。
条件は、例えば、以下のようなものである。すなわち、第１送信データＤ１には、購入商品の商品名を示す情報が含まれている。これを踏まえ、所定の商品名の商品が購入されていること、が条件の一例である。また、購入商品ごとに購入数量を取得することができるため、所定の商品名の商品を、所定の個数以上購入したこと、を条件としてもよい。
また、第１送信データＤ１には、合計金額を示す情報が含まれている。これを踏まえ、合計金額が予め定められた所定の金額を上回ったこと、が条件の一例である。
また、第１送信データＤ１には、会員番号を示す情報が含まれている。これを踏まえ、会員番号が所定の会員番号であること、が条件の一例である。
なお、条件は、時間帯や、会員によって動的に変更する構成であってもよい。すなわち、条件とは、第１送信データＤ１に含まれる情報に基づいて、その成否が決定するものであれば、どのようなものであってもよい。
ステップＳＢ３において、サーバー制御部５０は、条件データベース５１ａにおいて管理されている条件のそれぞれについて、成立するか否かを判別し、成立したものが１つでも存在すれば、クーポンを発行すると判別し、一方、成立したものが１つも無ければ、クーポンを発行しないと判別する。
【００３６】
ステップＳＢ３においてクーポンを発行しないと判別した場合（ステップＳＢ４：ＮＯ）、サーバー制御部５０は、クーポンを発行しない旨を示すデータをホストコンピューター１２に送信する（ステップＳＢ５）。ホストコンピューター１２のクーポン発行制御部２０ｃは、上記データを受信した場合、クーポンの発行に係る処理を実行せず、クーポンの発行を行なわない。
一方、ステップＳＢ３においてクーポンを発行すると判別した場合（ステップＳＢ４：ＹＥＳ）、サーバー制御部５０は、条件データベース５１ａにおいて、成立した条件と対応付けて記憶されているクーポン識別情報を特定する（ステップＳＢ６）。成立した条件が複数ある場合は、対応する複数のクーポン識別情報が特定される。
ここで、クーポン識別情報について説明すると、上述したように、ホストコンピューター１２のホスト記憶部２３には、クーポン画像データベース２３ａが記憶されている。このクーポン画像データベース２３ａでは、発行可能なクーポンのそれぞれについて、クーポンに印刷すべき画像の画像データ（以下、「クーポン画像データ」という。）と、一意に付与された識別情報であるクーポン識別情報と、が対応付けて記憶されている。そして、クーポン識別情報とは、クーポン画像データベース２３ａにおいて、クーポン画像データと対応づけて記憶されている識別情報のことである。
次いで、サーバー制御部５０は、ステップＳＢ６で特定したクーポン識別情報を含んで構成された指示データを生成し（ステップＳＢ７）、生成した指示データをホストコンピューター１２に送信する（ステップＳＢ８）。
【００３７】
ホストコンピューター１２のホスト制御部２０のクーポン発行制御部２０ｃは、指示データを受信すると（ステップＳＡ２）、クーポン画像データベース２３ａにアクセスする（ステップＳＡ３）。
なお、クーポン発行制御部２０ｃの機能は、コマンド解析部２０ｂと同様、ＯＰＯＳや、ＵＰＯＳが提供するＡＰＩ関数を利用して作成されたプログラムによって実現される。このクーポン発行制御部２０ｃに係るプログラムは、同じくＯＰＯＳや、ＵＰＯＳの規格に準拠したプリンタードライバー３６によって、適宜、呼び出し可能な構成となっている。
次いで、クーポン発行制御部２０ｃは、クーポン画像データベース２３ａにおいて、指示データに含まれるクーポン識別情報と対応付けて記憶されているクーポン画像データを取得する（ステップＳＡ４）。指示データにクーポン識別情報が複数含まれている場合は、対応する複数のクーポン画像データが取得される。
次いで、クーポン発行制御部２０ｃは、取得したクーポン画像データに基づいて、予めインストールされたクーポンプリンター１１の制御用のプリンタードライバーの機能を利用して、クーポンプリンター１１にクーポンを発行させる制御コマンドを生成する（ステップＳＡ５）。次いで、クーポン発行制御部２０ｃは、例えば、ＰＣＳの機能を利用して、生成した制御コマンドについて必要なデータ整形を行なった上で、クーポンプリンター通信部２６と協働して、クーポンに係る制御コマンドを、クーポンプリンター１１に送信する（ステップＳＡ６）。発行すべきクーポンが、複数、存在する場合は、制御コマンドの生成、送信は、発行すべきクーポンごとに行なわれる。
クーポンプリンター１１は、受信した制御コマンドに基づいて、クーポンを発行する。
【００３８】
以上説明したように、本実施形態では、ホストコンピューター１２は、レシートプリンター１０（印刷装置）にレシートを発行させる制御コマンドを生成して出力する印刷制御部２０ａを備えている。さらに、ホストコンピューター１２は、印刷制御部２０ａが生成したレシートに係る制御コマンドを解析して、レシートに係る制御コマンドに含まれる所定の情報を抽出し、抽出した情報に基づく第１送信データＤ１（送信データ）をクーポン管理サーバー１５（サーバー装置）に送信するコマンド解析部２０ｂと、第１送信データＤ１の送信後、クーポン管理サーバー１５から、クーポンの発行を指示する指示データを受信した場合、クーポンプリンター１１にクーポンを発行させる制御コマンドを生成して出力するクーポン発行制御部２０ｃと、を備える。
この構成によれば、クーポン管理サーバー１５がプリンターを制御して、プリンターにクーポンを発行させるのではなく、ホストコンピューター１２が、クーポン管理サーバー１５からの指示データに基づいて、クーポンプリンター１１にクーポンを発行させる。このため、例えば、クーポン管理サーバー１５が複数のプリンターに同時期にクーポンを発行させるといった事態が発生することがなくなり、クーポン管理サーバー１５に負荷が集中することが抑制される。また、クーポン管理サーバー１５から受信する指示データは、レシートに係る制御コマンドから抽出した情報に基づいて生成されるものであるため、レシートの内容を踏まえた適切なクーポンの発行が可能となる。
なお、本実施形態では、ホストコンピューター１２に、クーポンを専用的に発行するクーポンプリンター１１が接続され、このプリンターによってクーポンを発行する構成であった。これにより、レシートプリンター１０によるレシートの発行に影響を与えることなく、クーポンプリンター１１にクーポンを発行させることが可能となる。しかしながら、レシートプリンター１０にクーポンを発行させる構成であってもよい。この構成によれば、ホストコンピューター１２に接続すべきプリンターが１台で済み、コストの削減等を実現できる。
【００３９】
また、本実施形態では、ホストコンピューター１２は、クーポン画像データベース２３ａにおいて、クーポンに印刷する画像の画像データであるクーポン画像データと、クーポン識別情報とを対応付けて記憶する。そして、クーポン発行制御部２０ｃは、クーポン管理サーバー１５から、指示データを受信した場合、指示データに含まれるクーポン識別情報に対応付けられたクーポン画像データに基づいてクーポンに係る制御コマンドを生成して出力する。
この構成によれば、クーポン管理サーバー１５から、ホストコンピューター１２に対して送信される指示データのサイズを小さくでき、通信トラフィックの増大の抑制、通信効率の向上を図ることができる。
【００４０】
また、本実施形態では、コマンド解析部２０ｂは、レシートに係る制御コマンドから、購入商品に関する情報（商品の名称、単価、購入数量、および、購入金額）、および、会計に関する情報（合計金額）を抽出し、抽出した情報に基づく第１送信データＤ１をクーポン管理サーバー１５に送信する。
この構成によれば、クーポン管理サーバー１５は、購入商品に関する情報、または、会計に関する情報に基づいて、購入商品に対応して、または、会計に対応して適切に指示データを生成することが可能となる。
なお、上述した実施形態では、ホストコンピューター１２は、購入商品に関する情報、および、会計に関する情報の双方をクーポン管理サーバー１５に送信する構成であったが、一方の情報のみを送信する構成であってもよい。
また、会計に関する情報は、合計金額以外でもよく、レシートに印刷される情報であって会計に関連する情報であれば、何でもよい。
【００４１】
また、上述した実施形態では、ホストコンピューター１２は、印刷制御部２０ａが生成したレシートに係る制御コマンドを解析して、複数のサーバー装置ごとに、制御コマンドに含まれる所定の情報を抽出し、抽出した情報に基づいてサーバー装置ごとに送信データを生成し、サーバー装置のそれぞれに送信するコマンド解析部２０ｂを備える。
この構成によれば、レシートの発行に際し、レシートに係る制御コマンドから、サーバー装置ごとに情報が抽出され、サーバーごとに抽出された情報に基づく送信データが送信される。これにより、各サーバー装置が、レシートに印刷される情報のうち、必要な情報を取得することが可能となり、各サーバー装置の機能を利用して、レシートに印刷される情報を有効活用することができる。
【００４２】
また、本実施形態では、レシートに係る制御コマンドには、文字列を指定すると共に、指定した文字列の印刷を指示する文字列印刷指示コマンドＭＣが含まれている。そして、コマンド解析部２０ｂは、文字列印刷指示コマンドＭＣが指定する文字列の内容が特定の内容の場合は、当該文字列を抽出し、抽出した文字列を含む送信データを生成して、特定のサーバー装置に送信する。
一例を挙げると、コマンド解析部２０ｂは、レシートに係る制御コマンドから、内容が発行日時、商品名、単価、購入数量、購入金額、合計金額である文字列を抽出し、抽出した文字列を含んで構成された第２送信データＤ２を、売上管理サーバー１６に送信する。
この構成によれば、特定の内容の文字列（情報）を、特定のサーバー装置に送信することが可能となり、サーバー装置に必要な情報を送信することができる。
【００４３】
また、本実施形態では、文字列印刷指示コマンドＭＣに基づいてレシートに係る記録媒体に文字列を印刷した場合における、当該文字列の位置に基づいて、当該文字列の内容を特定する。
一例を挙げると、コマンド解析部２０ｂは、明細印刷指示コマンドＣ３に基づく１行分の文字列について、１文字目を基点とする文字列については、その内容が商品名であると特定し、Ｔ１文字目を基点とする文字列については、その内容が単価であると特定し、また、Ｔ２文字目を基点とする文字列については、その内容が購入数量であると特定する。
ここで、レシートは、印刷される画像のフォーマットが決まっており、所定の内容の文字列は、所定の位置に印刷される、という特性がある。そして、上記構成によれば、当該特性を利用して、レシートに印刷される文字列の内容を特定することが可能となる。
【００４４】
また、本実施形態では、レシートに係る制御コマンドには、文字列印刷指示コマンドＭＣが印刷を指示する文字列について、所定の装飾を施すことを指示する文字列装飾コマンドＳＣが含まれている。そして、コマンド解析部２０ｂは、文字列印刷指示コマンドＭＣが印刷を指示する文字列に施される装飾に基づいて、当該文字列の内容を判別する。
一例を挙げると、コマンド解析部２０ｂは、発行日時印刷指示コマンドＣ２に係る文字列装飾コマンドＳＣが、右寄せの装飾を施すことを指定するコマンドであることを利用して、発行日時印刷指示コマンドＣ２に係る文字列装飾コマンドＳＣを特定し、これにより、文字列の内容が発行日時であることを特定する。
ここで、レシートは、所定の内容の文字列には、定型的に、所定の装飾が施される、という特性がある。そして、上記構成によれば、当該特性を利用して、レシートに印刷される文字列の内容を判別することが可能となる。
【００４５】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、図４（Ａ）で示したレシートの内容や、図４（Ｂ）で示した制御コマンドの内容、図５で示した送信データの内容は、あくまで一例であり、例示した内容に限られないことは言うまでもない。
また例えば、図２、３に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、各プリンターや、ホストコンピューター１２、サーバー装置の各機能を、これら装置に外部接続される別の装置に持たせてもよい。また、各プリンターや、ホストコンピューター１２は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種動作を実行してもよい。
【符号の説明】
【００４６】
１…制御システム、１０…レシートプリンター（印刷装置）、１１…クーポンプリンター（クーポン発行用印刷装置）、１２…ホストコンピューター（制御装置）、１４…ＰＯＳ管理サーバー（サーバー装置）、１５…クーポン管理サーバー（サーバー装置）、１６…売上管理サーバー（サーバー装置）、１７…電子レシート管理サーバー（サーバー装置）、１８…顧客行動管理サーバー（サーバー装置）、２０…ホスト制御部（制御部）、２０ａ…印刷制御部、２０ｂ…コマンド解析部、２０ｃ…クーポン発行制御部。
【図１】
2014215865.tif 000003
【図２】
2014215865.tif 000004
【図３】
2014215865.tif 000005
【図４】
2014215865.tif 000006
【図５】
2014215865.tif 000007
【図６】
2014215865.tif 000008