JP6287215B2 - Pos制御システム、印刷装置、及びpos制御システムの制御方法 - Google Patents
Pos制御システム、印刷装置、及びpos制御システムの制御方法 Download PDFInfo
- Publication number
- JP6287215B2 JP6287215B2 JP2014001450A JP2014001450A JP6287215B2 JP 6287215 B2 JP6287215 B2 JP 6287215B2 JP 2014001450 A JP2014001450 A JP 2014001450A JP 2014001450 A JP2014001450 A JP 2014001450A JP 6287215 B2 JP6287215 B2 JP 6287215B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- communication
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、上述した事情に鑑みてなされたものであり、POS端末から印刷装置に印刷制御データを送信するPOS制御システムについて、印刷装置にネットワークを介して接続された制御装置が印刷制御データに基づく処理をできるようにし、また、システムを、印刷装置と制御装置とがネットワークを介して通信する構成に対応させることを目的とする。
本発明の構成によれば、POS端末から印刷装置に対して送信された印刷制御データは、印刷データ通信部の機能によって制御装置に送信される。このため、制御装置は、受信した印刷制御データに基づいて、対応する処理を実行できる。また、印刷装置は、非同期の双方向通信で印刷制御データを制御装置に送信する。従って、印刷装置は、POS端末から印刷制御データを受信した場合、制御装置との間で通信の同期をとることなく、制御装置に印刷制御データを送信できる。このため、POS端末から印刷装置に印刷制御データを送信するPOS制御システムについて、印刷装置にネットワークを介して接続された制御装置が印刷制御データに基づく処理をできるようにでき、当該システムを、印刷装置と制御装置とがネットワークを介して通信する構成に対応させることができる。
本発明の構成によれば、制御装置は、印刷制御データから抽出された文字列のテキストを含むテキストデータを生成する。テキストデータは、文字列検索によるデータ分析が可能なデータであり、データの利用性が高い。制御装置は、受信した印刷制御データを、利用性の高いデータに変換できる。
本発明の構成によれば、制御装置は、印刷制御データと、印刷制御データに基づくテキストデータを記憶するため、後に、いずれかのデータを分析し、情報を得ることが可能である。また、印刷制御データを記憶することにより、印刷制御データに基づいてテキストデータを生成する際に欠落する情報も、記憶できる。また、印刷制御データを記憶するため、印刷制御データを利用した再印刷を行える。
本発明の構成によれば、通信制御部の機能により、印刷制御データを印刷制御部に送信して印刷部により印刷を行い、印刷制御データを印刷データ通信部に送信して、この印刷データ通信部の機能により印刷制御データを制御装置に送信できる。
本発明の構成によれば、印刷装置は、印刷部による印刷が完了した後、行われた印刷に対応する印刷制御データを、制御装置に送信できる。
本発明の構成によれば、印刷装置と、制御装置は、WebSocket通信により非同期の双方向通信を行える。
本発明の構成によれば、POS端末等の外部装置から印刷装置に送信された印刷制御データを、制御サーバーに非同期の双方向通信で送信し、制御サーバーで印刷制御データに基づく対応する処理を実行できる。また、印刷装置は、非同期の双方向通信で印刷制御データを送信する。従って、印刷装置は、POS端末から印刷制御データを受信した場合、通信の同期をとることなく、印刷制御データを送信できる。
本発明の構成によれば、POS端末から印刷装置に対して送信された印刷制御データは、印刷制御部の機能によって制御装置に送信される。このため、制御装置は、受信した印刷制御データに基づいて、対応する処理を実行できる。また、印刷装置は、非同期の双方向通信で印刷制御データを制御装置に送信する。従って、印刷装置は、POS端末から印刷制御データを受信した場合、制御装置との間で通信の同期をとることなく、制御装置に印刷制御データを送信できる。
図1は、本実施形態に係るPOS制御システム1の構成を示す図である。
図1に示すように、POS制御システム1は、制御サーバー10を備え、制御サーバー10にインターネット等のネットワークGNを介して複数の店舗システム11を接続する。また、ネットワークGNは、複数の管理装置14を接続する。
店舗システム11は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に用いられるシステムである。店舗システム11は、店舗に来店した顧客に対してレシートを発行する機能を備える。
店舗システム11は、印刷媒体に印刷を行う印刷機能を有し、レシートを発行可能な1又は複数の印刷装置12を備える。印刷装置12は、店舗内に構築されたローカルエリアネットワークLNに接続される。ローカルエリアネットワークLNは、ネットワークルーターや、モデム等の通信機器を含んで構成されたネットワーク通信制御装置13を接続する。印刷装置12は、ネットワーク通信制御装置13を介して、ネットワークGNにアクセスする。
店舗システム11において、印刷装置12は、POS端末8と接続する。POS端末8は、POSアプリケーション及びプリンタードライバーがインストールされ、これらプログラムの機能により、印刷装置12を制御する。後述するように、プリンタードライバーは、印刷装置12のコマンド体系に従った印刷制御データを生成する機能を有する。POS端末8は、プリンタードライバーの機能により、印刷装置12にレシートを発行させる印刷制御データを生成し、送信して、印刷装置12を制御する。図示は省略するが、POS端末8には、商品や商品の包装に付されたバーコードを読み取るバーコードリーダーや、顧客の会員カード等のカードを読み取るカードリーダーが接続される。また、POS端末8は、図示しないPOSサーバーにアクセスし、POSサーバーが記憶する商品マスター、顧客マスターから所定の情報を取得可能である。POS端末8は、店舗に来店した顧客の会計に際し、バーコードリーダーや、カードリーダーからの入力、また、テンキー等の入力手段に対するレジ担当者の入力に基づいて、商品マスターや顧客マスターから情報を取得して、印刷制御データを生成する。
図1において、店舗システム11Aは、スーパーマーケットSMに用いるシステムである。スーパーマーケットSMには、複数のレジカウンターRCが設けられ、レジカウンターRCには、印刷装置12、及び、POS端末8が設けられる。レジカウンターRCで、POS端末8は、会計に応じて、印刷装置12に印刷制御データを送信し、印刷装置12にレシートを発行させる。店舗システム11Aの印刷装置12は、ローカルエリアネットワークLNに接続され、ネットワーク通信制御装置13を介して、ネットワークGNにアクセスする。
本実施形態に係るPOS制御システム1で、店舗システム11の印刷装置12は、制御サーバー10との間で通信経路を確立し、制御サーバー10と通信する。詳細は後述するが、制御サーバー10は、印刷装置12との間で確立された通信経路により、POS端末8が印刷装置12に対して送信したデータを取得し、取得したデータに基づいて対応する処理を実行する。
管理装置14は、1又は複数の店舗システム11を管理する装置である。例えば、管理装置14は、店舗を運営する企業の本社に設けられ、当該店舗を運営する企業のグループの複数の店舗に設けられた店舗システム11を管理する。詳細は後述するが、管理装置14は、POS端末8から印刷装置12に送信されたデータに基づくデータを取得し、取得したデータに基づいて対応する処理を実行する。
図2に示すように、POS制御システム1において、制御サーバー10と、店舗システム11の印刷装置12との間には、WebSocket通信を行うWebSocketコネクションCTが確立される。
なお、WebSocketは、非同期な双方向通信を可能とする通信規格の1つである。WebSocketでは、サーバーとクライアントがWebSocketコネクションCTを確立した後は、データの送受信を、当該コネクションによりWebSocketのプロトコルを用いて行う。このため、データの送信が発生する度に、コネクションを確立する必要がない。
また、WebSocketコネクションCTは、当該コネクションで接続された印刷装置12と、制御サーバー10との間で、WebSocketの規格、手続きに従ってデータを送受信する論理的な通信経路である。従って、印刷装置12と、制御サーバー10との間で、所定のハンドシェイクが行われ、WebSocketコネクションCTを確立した後は、印刷装置12と制御サーバー10とは、WebSocketコネクションCTにより、非同期にデータを送受信できる。制御サーバー10は、任意のタイミングでWebSocketコネクションCTにより印刷装置12にデータを送信でき、印刷装置12は、任意のタイミングでWebSocketコネクションCTにより制御サーバー10にデータを送信できる。
また、WebSocket通信は、WebSocketコネクションCTにより印刷装置12と制御サーバー10との間で行われる、WebSocketのプロトコル、手続きに従った非同期な双方向通信である。
WebSocketコネクションCTの確立で、印刷装置12、及び、制御サーバー10は、非同期で、双方向通信できる。制御サーバー10は、クライアントとしての印刷装置12からリクエストを受けることなく、任意のタイミングで、WebSocketコネクションCTによりWebSocket通信で印刷装置12にデータをプッシュ送信できる。同様に、印刷装置12は、任意のタイミングで、WebSocketコネクションCTで制御サーバー10に対してデータをプッシュ送信できる。
本実施形態では、後述するように、印刷装置12が複数の機能部(後述)を有し、複数の機能部に応じて、制御サーバー10との間でWebSocketコネクションCTが確立される。従って、1台の印刷装置12と制御サーバー10との間で、複数のWebSocketコネクションCTが確立される。
また、図2に示すように、制御サーバー10は、複数の管理装置14を通信可能に接続する。
なお、図2では、制御サーバー10を、1つのブロックによって表現するが、これは、制御サーバー10が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー10は、複数のサーバー装置を含んで構成されたものであってもよく、所定のシステムの一部の機能により実現されるサーバーであってもよい。後述する各種処理を実現可能な構成であれば、その形態を問わない。
また、本実施形態では、制御サーバー10と印刷装置12との間で、WebSocket通信を行う。しかしながら、これら装置が、WebSocket通信に代えて、WebSocket通信と同様な非同期な双方向通信を行う構成であってもよい。
このような構成のため、以下の効果を得ることができる。
制御サーバー10は、複数の店舗システム11に接続された複数の印刷装置12から受信したデータを収集し、収集したデータに基づく情報を管理、分析できる。このため、制御サーバー10は、情報を蓄積することができる。蓄積した情報は、いわゆるビッグデータとして活用可能である。また、制御サーバー10は、印刷装置12から受信したデータについて、ネットワークGNを介して管理装置14を含む外部機器に送信できる。
また、印刷装置12に、制御サーバー10の機能により、POS端末8の制御に基づく印刷処理以外の処理を実行させることができる。特に、本実施形態に係るPOS制御システム1の構成で、印刷装置12をネットワークGNに接続するという簡易な作業により、制御サーバー10の機能によって印刷装置12に各種処理を実行させることができる。また、後述するように、本実施形態では、印刷装置12とPOS端末8とが接続された既存のシステムに改変を加えず、または、既存のシステムに影響を与えることなく、印刷装置12が制御サーバー10の機能を用いて各種処理を実行する。
また、制御サーバー10に、異なる店舗システム11の印刷装置12がWebSocketコネクションCTで接続されるため、制御サーバー10は、複数の店舗システム11に接続された複数の印刷装置12を管理できる。また、制御サーバー10は、複数の店舗システム11に接続された複数の印刷装置12を動作させることが可能となる。
なお、図3では、印刷装置12を示すブロック内で、基板(インターフェース基板20、及び、プリンター基板21)を示すブロック内に、機能ブロックを表示する。これは、1の機能ブロックの機能が、当該1の機能ブロックに対応する基板に実装されたハードウェア(CPU等)と、所定のソフトウェアとにより実現されることを意味する。
図3に示すように、印刷装置12は、インターフェース基板20と、プリンター基板21とを備え、これら基板が、インターフェース基板20に設けられた第1コネクター22と、プリンター基板21に設けられた第2コネクター23により接続される。
印刷装置12のインターフェース基板20は、通信制御部25と、印刷データ通信部26と、バーコードリーダーデータ通信部27と、カードリーダーデータ通信部28と、印刷制御部29と、第1通信部30と、第2通信部31と、第3通信部32と、USB通信接続部34(通信接続部)と、LAN通信接続部35(通信接続部)と、シリアル通信接続部36(通信接続部)と、バーコードリーダー送受信部37と、カードリーダー送受信部38と、印刷装置記憶部39と、を備える。
通信制御部25、印刷データ通信部26、バーコードリーダーデータ通信部27、カードリーダーデータ通信部28、印刷制御部29、第1通信部30、第2通信部31、及び、第3通信部32の機能については後述する。
USB通信接続部34は、図示しないUSBポートに接続され、USBケーブルを介して接続されたPOS端末8とUSBの規格で通信する。
また、LAN通信接続部35は、図示しないLANポートに接続され、LANケーブルを介して接続されたPOS端末8とイーサネットの規格で通信する。
また、シリアル通信接続部36は、図示しないシリアルポートに接続され、シリアルケーブルを介して接続されたPOS端末8とシリアル通信規格で通信する。
バーコードリーダー送受信部37は、バーコードリーダーデータ通信部27の制御で、所定の規格のポートに接続されたバーコードリーダーBRと、所定の規格で通信する。バーコードリーダーBRは、バーコードを光学的に読み取る装置である。
カードリーダー送受信部38は、カードリーダーデータ通信部28の制御で、所定の規格のポートに接続されたカードリーダーCRと、所定の規格で通信する。カードリーダーCRは、カードに記録された情報を読み取る装置である。
印刷装置記憶部39は、各種データを記憶する。印刷装置記憶部39は、第1通信先情報データ391a、第2通信先情報データ392a、第3通信先情報データ393a、及び、印刷装置識別情報データ39bを記憶するが、これらデータについては後述する。
印刷装置12のプリンター基板21は、プリンター制御部40を備える。プリンター制御部40の機能については、後述する。
また、印刷装置12は、印刷部41を備える。印刷装置12は、印刷媒体のロール紙がセットされる。印刷部41は、ロール紙に印刷する印刷機構、ロール紙を搬送する搬送機構、ロール紙を切断する切断機構等のレシートを発行する各種機構、装置を備える。
以下の説明では、印刷データ通信部26、バーコードリーダーデータ通信部27、及び、カードリーダーデータ通信部28を区別せずに表現する場合、これら機能ブロックを総称して「機能部」と表現する。
POS端末制御部45は、CPUや、ROM、RAM、その他の回路等を備え、POS端末8を制御する。POS端末制御部45は、機能ブロックとして、POSアプリケーション実行部45a、及び、プリンタードライバー実行部45bを備える。
POSアプリケーション実行部45aの機能は、POS端末8にインストールされたPOSアプリケーションにより実行される。POSアプリケーション実行部45aは、レジカウンターRCで行われた会計に応じて、上述したバーコードリーダーや、カードリーダーからの入力、テンキー等の入力手段に対するレジ担当者の入力に基づいて、商品マスターや顧客マスターから情報を取得して、印刷に関する情報を含む印刷情報データを生成し、プリンタードライバー実行部45bに送信する。
プリンタードライバー実行部45bは、POS端末8にインストールされたプリンタードライバーの機能により実行される。プリンタードライバー実行部45bは、POSアプリケーション実行部45aから受信した印刷情報データに基づいて、印刷装置12の印刷部41のコマンド体系に従って印刷制御データを生成し、送信する。
端末通信I/F46は、POS端末制御部45の制御で、印刷装置12と所定の通信規格で通信する。
本実施形態では、POS端末制御部45と、印刷装置12とは、USBケーブルで接続され、USBの規格で通信する。
通信管理部50、印刷データ処理部51、バーコードリーダー処理部52、カードリーダー処理部53、第1接続部54、第2接続部55、及び、第3接続部56の機能については後述する。
制御サーバー記憶部57は、各種データを記憶する。制御サーバー記憶部57は、コネクション管理データベース57a、印刷制御データデータベース57b(以下、「印刷制御データDB57b」と表現する。)、管理装置管理データベース57c(以下、「管理装置管理DB57c」と表現する。)、会員番号データデータベース57d(以下、「会員番号データDB57d」と表現する。)、及び、店舗情報管理データベース57e(以下、「店舗情報管理DB57e」と表現する。)を記憶する。これらデータについては後述する。
制御サーバー通信I/F58は、ネットワークGNを介して、管理装置14を含む外部機器と所定の通信規格で通信する。
管理装置制御部70は、CPUや、ROM、RAM、その他の周辺回路等を備え、管理装置14を制御する。
管理装置通信I/F71は、ネットワークGNを介して、制御サーバー10と通信する。
管理装置記憶部72は、各種データを記憶する。管理装置記憶部72は、条件データベース72aを記憶するが、これについては後述する。
以下、WebSocketコネクションCTの確立時の印刷装置12、及び、制御サーバー10の動作について、第3WebSocketコネクションCT3を確立する場合を例にして説明する。
図4は、第3WebSocketコネクションCT3の確立時の印刷装置12、及び、制御サーバー10の動作を示すフローチャートである。(A)は印刷装置12の動作を示し、(B)は制御サーバー10の動作を示す。
以下の説明では、フローチャートの開始時点で、印刷装置12は、対応する店舗システム11のローカルエリアネットワークLNに接続され、ネットワークGNにアクセス可能である。
また、図4に示すフローチャートが示す動作は、印刷装置12の電源がオンされた場合や、印刷装置12がネットワークGNに通信可能に接続された場合、ユーザーから指示があった場合等に実行される。
例えば、これら機能ブロックは、オブジェクトである。オブジェクトとは、オブジェクト指向プログラミングで生成されるインスタンス、すなわち、データ及びメソッドの集合として定義された機能ブロックである。そして、これら機能ブロックの機能は、機能ブロックに実装されたメソッドが呼び出されることによって実行される。
また、これら機能ブロックの機能は、アプリケーションがCPU等のハードウェアによって読み出され実行されることによって、実行される。1つのアプリケーションにより1つの機能ブロックの機能が実行される構成であってもよい。また、1つのアプリケーションにより複数の機能ブロックの機能が実行される構成であってもよい。また、複数のアプリケーションにより1つの機能ブロックの機能が実行される構成であってもよい。
機能ブロックは、機能をブロックとして表現したものであり、特定のアプリケーションや、ハードウェア等を意味するものではない。
バーコードリーダーデータ通信部27とバーコードリーダーBRとが通信可能となる場合とは、印刷装置12にバーコードリーダーBRが接続された場合である。また、バーコードリーダーBRが電源を有する場合は、接続されたバーコードリーダーBRの電源がオンとなった場合である。
バーコードリーダーBRと通信可能となった場合(ステップSA1)、バーコードリーダーデータ通信部27は、印刷装置記憶部39にアクセスし、印刷装置記憶部39が記憶する第3通信先情報データ393aを取得する(ステップSA2)。
第3通信先情報データ393aは、第3WebSocketコネクションCT3を確立する際に、アクセスする制御サーバー10のアドレス(ドメイン名、IPアドレス、パス名等。)を示すデータである。ここで、WebSocketで、WebSocketコネクションCTの確立時に、クライアント(本例では、印刷装置12)は、サーバー(本例では、制御サーバー10)に対して、HTTP(Hypertext Transfer Protocol)に基づくハンドシェイクを行う。ハンドシェイクで、クライアントは、サーバーのアドレスが含まれるメッセージ等のメッセージを送信するが、第3通信先情報データ393aは、アクセス先のアドレスが含まれる。
印刷装置12の機能部に応じて、WebSocketコネクションCTを確立するときのアクセス先のアドレスが異なる。本例では、印刷制御部17と、バーコードリーダーデータ通信部27と、カードリーダーデータ通信部28とは、種類が異なる機能部である。そして、印刷データ通信部26が第1WebSocketコネクションCT1を確立するときにアクセスするアドレスと、カードリーダーデータ通信部28が第2WebSocketコネクションCT2を確立するときにアクセスするアドレスと、バーコードリーダーデータ通信部27が第3WebSocketコネクションCT3を確立するときにアクセスするアドレスは異なる。印刷装置記憶部39は、第1通信先情報データ391a、第2通信先情報データ392a、及び、第3通信先情報データ393aを記憶する。第1通信先情報データ391aは印刷データ通信部26が第1WebSocketコネクションCT1を確立するときにアクセスするアドレスを含む。第2通信先情報データ392aはカードリーダーデータ通信部28が第2WebSocketコネクションCT2を確立するときにアクセスするアドレスを含む。第3通信先情報データ393aはバーコードリーダーデータ通信部27が第3WebSocketコネクションCT3を確立するときにアクセスするアドレスを含む。
第3通信部32、及び、第3接続部56は、WebSocketの規格、手続きに従ってデータの送受信を行うWebSocketインターフェースである。これら機能ブロックは、例えば、WebSocketのSocketライブラリーを用いて生成される。
第3通信部32は、バーコードリーダーデータ通信部27から受信したデータについて、WebSocketの規格に従って処理を行い、WebSocketの手続きで第3WebSocketコネクションCT3によりデータを送信する機能を有する。また、第3通信部32は、第3WebSocketコネクションCT3により受信したデータについて、WebSocketに従った処理を行って、バーコードリーダーデータ通信部27に送信する機能を有する。第1通信部30、第2通信部31、第1接続部54、第2接続部55、及び、第3接続部56についても同様である。
次いで、バーコードリーダーデータ通信部27は、印刷装置識別情報データ39bを第3通信部32に送信する(ステップSA5)。
第3通信部32は、受信した印刷装置識別情報データ39bを、第3WebSocketコネクションCT3で、制御サーバー10に送信する(ステップSA6)。
通信管理部50は、制御サーバー記憶部57が記憶するコネクション管理データベース57aにアクセスする(ステップSB4)。コネクション管理データベース57aは、印刷装置12との間で確立しているWebSocketコネクションCTについて、WebSocketコネクションCTの識別情報であるコネクション識別情報と、印刷装置12の印刷装置識別情報とを対応付けて記憶するデータベースである。次いで、通信管理部50は、コネクション管理データベース57aに1件のレコードを生成する。そして、通信管理部50は、生成したレコードにおいて、ステップSB1で確立したWebSocketコネクションCT(本例では、第3WebSocketコネクションCT3)のコネクション識別情報と、受信した印刷装置識別情報データ39bが示す印刷装置識別情報とを対応付けて記憶する(ステップSB5)。通信管理部50は、WebSocketコネクションCTが確立したときに、既に確立しているWebSocketコネクションCTのコネクション識別情報と異なる値のコネクション識別情報を生成する。ステップSB5の処理により、WebSocketコネクションCTと、印刷装置12との対応関係が管理される。
このように、印刷装置12のバーコードリーダーデータ通信部27は、制御サーバー10からの要求を受けることなく、バーコードリーダーBRと通信可能となったことをトリガーとして第3WebSocketコネクションCT3を確立する。このような構成のため、ユーザーは、第3WebSocketコネクションCT3を確立するために、煩雑な作業を行う必要がない。また、ユーザーは、WebSocketコネクションCTを確立するために、専門的な知識も必要ない。
また、バーコードリーダーBRが通信可能となり、バーコードリーダーBRからバーコードリーダーデータ通信部27に対してデータが送信される可能性が生じた後に、第3WebSocketコネクションCT3が確立される。このため、不必要に第3WebSocketコネクションCT3を確立する処理が行われず、また、不必要に第3WebSocketコネクションCT3が確立された状態が維持されず、リソースの有効活用を実現できる。
以下、第1WebSocketコネクションCT1の確立時の処理について説明する。
印刷装置12の電源がオンされると、印刷データ通信部26は、通信制御部25からデータを受信したか否かを監視する。通信制御部25が印刷データ通信部26にデータを送信する処理については後に詳述する。
印刷装置12の電源のオン後に、通信制御部25から印刷制御データを受信した場合、印刷データ通信部26は、制御サーバー10の印刷データ処理部51と、第1通信部30と第1接続部54との間に第1WebSocketコネクションCT1を確立する。当該コネクションの確立に応じて、通信管理部50は、コネクション管理データベース57aに、当該コネクションのコネクション識別情報と、印刷装置12の印刷装置識別情報とを対応付けて記憶する。
このように、印刷装置12の印刷データ通信部26は、電源のオン後に通信制御部25からデータを受信したことをトリガーとして、第1WebSocketコネクションCT1を確立する。当該コネクションの確立後は、印刷データ通信部26は、当該コネクションにより、データの送受信を行う。
次に、第2WebSocketコネクションCT2の確立時の処理について、図4のフローチャートを援用して説明する。
図4(A)のステップSA1において、印刷装置12のカードリーダーデータ通信部28は、カードリーダーCRと通信可能となったか否かを監視する。カードリーダーデータ通信部28とカードリーダーCRとが通信可能となる場合とは、例えば、印刷装置12にカードリーダーCRが接続された場合である。また、カードリーダーCRが電源を有する場合は、接続されたカードリーダーCRの電源がオンとなった場合である。
カードリーダーCRが通信可能となった場合(ステップSA1:YES)、カードリーダーデータ通信部28は、上記で説明した方法と同様の方法で、第2WebSocketコネクションCT2を確立する。制御サーバー10の通信管理部50は、コネクション管理データベース57aに、第2WebSocketコネクションCT2のコネクション識別情報と印刷装置12の印刷装置識別情報とを対応付けて記憶する。
これに伴って、印刷装置12の印刷データ通信部26と制御サーバー10の印刷データ処理部51との間で、第1WebSocketコネクションCT1に基づく第1機能部間通信経路KT1が確立する。第1機能部間通信経路KT1は、印刷データ通信部26と印刷データ処理部51との間で通信するデータを送受信する論理的な通信経路である。印刷データ通信部26と印刷データ処理部51とは、第1機能部間通信経路KT1により、非同期な双方向通信を行う。第1機能部間通信経路KT1により行われる非同期な双方向通信については後述する。
同様に、第2WebSocketコネクションCT2の確立で、印刷装置12のカードリーダーデータ通信部28と制御サーバー10のカードリーダー処理部53との間で、第2機能部間通信経路KT2が確立する。カードリーダーデータ通信部28とカードリーダー処理部53とは、第2機能部間通信経路KT2により、非同期な双方向通信を行う。
また同様に、第3WebSocketコネクションCT3の確立で、印刷装置12のバーコードリーダーデータ通信部27と制御サーバー10のバーコードリーダー処理部52との間で、第3機能部間通信経路KT3が確立する。バーコードリーダーデータ通信部27とバーコードリーダー処理部52とは、第3機能部間通信経路KT3により、非同期な双方向通信を行う。
そして、POS制御システム1は、POS端末8に改変(例えば、POSアプリケーションのプログラム修正)を加えることなく、POS端末8が印刷装置12に送信する印刷制御データを用いることを目的の1つとする。
より詳細には、POS制御システム1で、印刷装置12にインターフェース基板20が搭載されることにより、印刷装置12に拡張機能を有する。印刷装置12は、拡張機能により、ネットワークGNを介して印刷制御データを制御サーバー10に送信する。また、制御サーバー10は、受信した印刷制御データに基づいて、後述する各種処理を実行する。
以下、POS端末8が送信する印刷制御データの内容について例を挙げて説明し、次に、制御サーバー10が備える各装置の印刷制御データに基づく処理について説明する。
図5(A)に示すように、レシートの先頭に、トップロゴを示すトップロゴ画像R1が印刷される。
トップロゴ画像R1の下方に、レシートが発行された日時(日付、及び、時刻)を示す発行日時画像R2が印刷される。発行日時画像R2が示す文字列(日時を示す文字列)は、右寄せで印刷される。
発行日時画像R2の下方に、購入商品関連画像R3が印刷される。購入商品関連画像R3は、顧客が購入した商品について、顧客が購入した商品の名称、商品の単価、商品の購入数量、および、商品の購入金額(商品の単価×商品の購入数量によって算出される金額)を一覧表示する画像である。購入商品関連画像R3において、1行の文字列は、左寄せで印刷される。
購入商品関連画像R3の下方に、購入商品の合計金額を示す合計金額画像R4が印刷される。合計金額画像R4に係る文字列は、左寄せで、太字で印刷される。
合計金額画像R4の下方に、レシートの識別番号のバーコードを示すバーコード画像R5が印刷される。
バーコード画像R5の下方に、顧客の会員番号を示す会員番号画像R6が印刷される。会員番号画像R6が示す文字列は、左寄せで印刷される。ここで、上述したように、POS端末8に、顧客が所有する会員カードを読み取るカードリーダーが接続される。そして、レジカウンターRCにおける会計に際し、顧客が会員カードを提示した場合、当該会員カードがカードリーダーによって読み取られる。カードリーダーによって読み取られた会員番号が、POS端末8の所定の記憶領域に記憶される。
会員番号画像R6の下方に、レシートの末端に定型的に記録される文字列を示す末端画像R7が印刷される。本例では、末端画像R7が示す文字列は、「Thank△You」(△は、スペースを表わす。以下同じ。)である。末端画像R7が示す文字列は、中央寄せで印刷される。
なお、図5(A)では、レシートのレイアウトを単純化している。通常、レシートには、税に関する情報や、おつりに関する情報等、上記で示した以外の情報が印刷される。
図5(B)に示すように、印刷制御データは、トップロゴ印刷指示コマンドC1を含む。このトップロゴ印刷指示コマンドC1は、トップロゴ画像R1の印刷を指示するコマンドである。トップロゴ印刷指示コマンドC1は、グラフィック画像印刷指示コマンドGCを含んで構成される。グラフィック画像印刷指示コマンドGCは、グラフィック画像の印刷を指示する命令コードと、印刷するグラフィック画像の画像データと、を含んで構成される。画像データは、ビットマップデータ等の、画素ごとに、色の情報を階調値として保持するデータである。グラフィック画像印刷指示コマンドGCは、「XXX“画像データ”」(ただし、「XXX」は、画像データに基づく画像の印刷を指示する命令コード。)という構成である。本例のトップロゴ印刷指示コマンドC1に係るグラフィック画像印刷指示コマンドGCは、「XXX“トップロゴ画像R1の画像データ”」という構成である。
文字列装飾コマンドSCは、文字列印刷指示コマンドMCが指定する文字列に付加する装飾を指定するコマンドである。装飾は、印刷する文字列に対して描画に関する何らかの処理を行うことを意味する。装飾としては、例えば、文字列の位置の移動(左寄せや、中央寄せ、右寄せ等)、文字列の拡大、縮小、回転、強調、太字化、装飾文字又は装飾記号の付加等がある。本例の発行日時印刷指示コマンドC2に係る文字列装飾コマンドSCは、印刷する文字列について、右寄せの装飾を行うことを指示する。
文字列印刷指示コマンドMCは、文字列を指定し、指定した文字列の印刷を指示するコマンドである。文字列印刷指示コマンドMCは、文字列の印刷を指示する命令コードと、文字列を指定するデータ部と、を含んで構成される。データ部は、所定の文字コード(例えば、Unicodeや、アスキーコード)によって表現された文字の組み合わせが含まれる。本例の発行日時印刷指示コマンドC2に係る文字列印刷指示コマンドMCは、「YYY“2013/1/1/12:00”」(ただし、「YYY」は、文字列の記録を指示する命令コードである。ダブルクォーテーション内は、データ部であり、印刷する文字列が指定される。)という構成である。印刷装置12によって印刷可能な文字について、各文字のフォントデータが印刷装置12に登録される。印刷装置12のプリンター制御部40は、文字列印刷指示コマンドMCに基づいて、印刷する各文字をフォントデータに変換し、変換したフォントデータに基づいて印刷を行う。
改行コマンドLFは、改行を指示するコマンドである。
明細印刷指示コマンドC3は、左寄せの装飾を指示する文字列装飾コマンドSCを含む。また、明細印刷指示コマンドC3は、商品の名称、商品の単価、購入数量、および、購入金額を表わす文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドMCと、改行コマンドLFとを含む。
印刷制御データにおいて、明細印刷指示コマンドC3の次には、合計金額印刷指示コマンドC4が設けられる。合計金額印刷指示コマンドC4は、太字化、および、左寄せの装飾を指示する文字列装飾コマンドSCを含む。また、合計金額印刷指示コマンドC4は、文字列「Total」、及び、合計金額を示す文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドMCと、改行コマンドLFとを含む。
印刷制御データにおいて、合計金額印刷指示コマンドC4の次には、バーコード印刷指示コマンドC5が設けられる。バーコード印刷指示コマンドC5は、コードを指定し、指定したコードを示すバーコード画像R5を印刷することを指示するコマンドである。印刷装置12には、バーコード印刷指示コマンドC5が指定するコードに基づいて、バーコードの画像データを生成し、生成した画像データに基づいて、バーコード画像R5を印刷する機能を含む。
印刷制御データにおいて、バーコード印刷指示コマンドC5の次には、会員番号印刷指示コマンドC6が含まれる。会員番号印刷指示コマンドC6は、左寄せの装飾を指示する文字列装飾コマンドSCを含む。また、会員番号印刷指示コマンドC6は、「membership△NO.」という文字列、および、会員番号を示す文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドMCと、改行コマンドLFとを含む。
印刷制御データにおいて、会員番号印刷指示コマンドC6の次には、末端画像印刷指示コマンドC7を含む。末端画像印刷指示コマンドC7は、中央寄せの装飾を指示する文字列装飾コマンドSCを含む。また、末端画像印刷指示コマンドC7は、「Thank△You」という文字列を指定して、当該文字列の印刷を指示する文字列印刷指示コマンドMCと、改行コマンドLFとを含む。
印刷制御データにおいて、末端画像印刷指示コマンドC7の次には、切断指示コマンドSSが含まれる。切断指示コマンドSSは、ロール紙の切断を指示するコマンドである。レシートの発行を指示する印刷制御データにおいて、切断指示コマンドSSが最後のコマンドとなる。
図6、図7は、POS端末8が印刷装置12印刷制御データを送信したときのPOS制御システム1の各装置の動作を示すフローチャートである。図6(A)はPOS端末8の動作を、(B)は印刷装置12の動作を、(C)は制御サーバー10の動作を、(D)は管理装置14の動作を示す。
以下の説明では、第1機能部間通信経路KT1による印刷データ通信部26と、印刷データ処理部51との非同期な双方向通信についても説明する。
図6(A)に示すように、レジカウンターRCでの決済処理に基づいて、POS端末8のPOS端末制御部45のPOSアプリケーション実行部45a、及び、プリンタードライバー実行部45bは、印刷制御データを生成する(ステップSC1)。印刷制御データは、レジカウンターRCでの決済処理に基づくレシートの発行を指示するデータである。ステップSC1で生成された印刷制御データは、バイナリーデータである。また、以下の説明では、ステップSC1で生成された印刷制御データの内容は、図5(B)で例示した印刷制御データの内容である。
次いで、POS端末制御部45は、端末通信I/F46を制御して、印刷装置12に印刷制御データを送信する(ステップSC2)。
通信制御部25は、受信した印刷制御データを、RAM等に形成されたワークエリアに記憶する。通信制御部25は、印刷制御データを印刷制御部29に送信する(ステップSD3)。
印刷制御部29は、プリンター制御部40との間での通信を確立し、印刷制御データをプリンター制御部40に送信する(ステップSD4)。印刷制御部29とプリンター制御部40とは、USBで通信する。ステップSD4で、印刷制御部29は、USBで、印刷制御データを、プリンター制御部40に送信する。インターフェース基板20とプリンター基板21とを接続する第1コネクター22、及び、第2コネクター23は、USBの規格のコネクターである。
なお、印刷制御部29と、プリンター制御部40の通信の通信規格は、USBに限らない。SPI(Serial Peripheral Interface)に対応する通信規格等、他の通信規格であってもよい。
プリンター制御部40は、印刷制御データに基づいて印刷部41を制御して、印刷部41を動作させる制御回路である。印刷制御データを受信したプリンター制御部40は、印刷制御データに基づいて、印刷部41を制御して、図5(A)で例示したレシートを発行する(ステップSD5)。
次いで、プリンター制御部40は、発行日時印刷指示コマンドC2に基づいて発行日時画像R2を印刷する。発行日時画像R2の印刷時、プリンター制御部40は、文字列印刷指示コマンドMCが指定する文字列をフォントデータに変換し、文字列装飾コマンドが指定する装飾を反映して、フォントデータを画像バッファーに展開する。次いで、プリンター制御部40は、画像バッファーに展開した画像データに基づいて、印刷部41の印刷機構、搬送機構、その他の機構を制御して、発行日時画像R2を印刷する。
同様にして、プリンター制御部40は、明細印刷指示コマンドC3、合計金額印刷指示コマンドC4に基づいて、購入商品関連画像R3、合計金額画像R4を印刷する。
次いで、プリンター制御部40は、バーコード印刷指示コマンドC5に基づいて、バーコード画像R5を印刷する。バーコード画像R5の印刷時、プリンター制御部40は、バーコード印刷指示コマンドC5が指定するコードに基づいて、バーコード画像R5の画像データを生成する。次いで、プリンター制御部40は、バーコード画像R5の画像データを画像バッファーに展開し、印刷部41の印刷機構、搬送機構、その他の機構を制御して、バーコード画像R5を印刷する。
次いで、プリンター制御部40は、会員番号印刷指示コマンドC6、末端画像印刷指示コマンドC7に基づいて、会員番号画像R6、末端画像R7を印刷する。
次いで、プリンター制御部40は、切断指示コマンドSSに基づいて、切断機構、搬送機構、その他の機構を制御して、ロール紙を切断する。
以上により、図5(B)で例示した印刷制御データに基づいて、図5(A)で例示したレシートが発行される。
印刷制御部29は、受信した処理結果通知データを、通信制御部25に送信する(ステップSD7)。
通信制御部25は、受信した処理結果通知データの内容が、レシートの発行が正常に終了したことを示すものであるか否かを判別する(ステップSD8)。
処理結果通知データの内容が、レシートの発行が正常に終了したことを示すものではない場合(ステップSD8:NO)、通信制御部25は、対応する処理を実行する(ステップSD9)。例えば、通信制御部25は、POS端末8に、処理結果通知データを送信する。POS端末8は、処理結果通知データに基づいて、レシートの発行が失敗したことのユーザーへの報知等を実行する。また例えば、通信制御部25は、印刷装置12に配設されたLED等の報知手段を制御して、レシートの発行が失敗したことをユーザーに報知する。
一方、ステップSD8において、処理結果通知データの内容が、レシートの発行が正常に終了したことを示すものである場合(ステップSD8:YES)、通信制御部25は、ワークエリアに記憶した印刷制御データを、印刷データ通信部26に送信する(ステップSD10)。
ステップSD10の処理を詳述する。
上述したように、通信制御部25は、受信した印刷制御データを、ワークエリアに記憶する。ワークエリアは、受信バッファーとして機能する。ワークエリアへの記憶に際して、通信制御部25は、ワークエリアに印刷制御データに含まれる各コマンドを順番に格納していく。印刷制御データに含まれる各コマンドのワークエリアへの記憶中、通信制御部25は、ワークエリアに記憶したコマンドが、切断指示コマンドSSであるか否かを監視する。切断指示コマンドSSである場合、図示しないRTC(real time clock)の出力に基づいて、通信制御部25は、現在の日時(日付+時刻)を示すデータ(以下、「発行日時データ」という。)を取得する。現在の発行日時データの取得方法は、上記方法に限らず、どのような方法であってもよい。発行日時データが示す日時は、レシートを発行した日時に対応する。
ステップSD10で、通信制御部25は、印刷制御データの先頭に、時刻データを付加して、印刷データ通信部26に送信する。時刻データの利用方法については、後述する。
以下、ステップSD11の処理について詳述する。
図5(B)を用いて説明したとおり、印刷制御データは、画像の印刷を指示する複数のコマンドを備え、最後のコマンドとして、切断指示コマンドSSを備える。
そして、印刷データ通信部26は、通信制御部25から、印刷制御データに含まれるコマンドを、受信し、切断指示コマンドSSを受信した場合に、1つのレシートに対応する印刷制御データの受信が完了したと判断する。そして、ステップSD11において、印刷データ通信部26は、1つ前の切断指示コマンドSSを受信してから、新たに切断指示コマンドSSを受信するまでに受信したコマンド(新たに受信した切断指示コマンドSSを含む。)を、1つのレシートに対応する印刷制御データとして、第1通信部30に送信する。
このような構成のため、通信制御部25から印刷データ通信部26に対して、複数のレシートに対応する印刷制御データが送信された場合であっても、印刷データ通信部26は、1のレシートに対応する印刷制御データを、異なるレシートに対応する印刷制御データとして、第1通信部30に送信できる。
第1通信部30は、受信した印刷制御データを、第1WebSocketコネクションCT1により、制御サーバー10に送信する(ステップSD12)。ステップSD12で第1通信部30が送信した印刷制御データの先頭には、発行日時データが付加されている。
印刷データ処理部51は、受信した印刷制御データを、RAM等に形成されたワークエリアに記憶する。次いで、印刷データ処理部51は、受信した印刷制御データに基づいて、印刷制御データに基づいて発行されるレシートに印刷される文字列を抽出し、抽出した文字列を含むテキストファイルである抽出文字列データを生成する(ステップSE3)。
まず、印刷データ処理部51は、テキストファイルである抽出文字列データを生成する。
次いで、印刷データ処理部51は、トップロゴ印刷指示コマンドC1を処理対象とする。印刷データ処理部51は、トップロゴ印刷指示コマンドC1のグラフィック画像印刷指示コマンドを読み出し、当該コマンドは、文字列の印刷を指示するコマンドでないと判断する。当該判断は、例えば、命令コードを識別することによって行われる。印刷データ処理部51は、トップロゴ印刷指示コマンドC1からの文字列の抽出を行わない。
次いで、印刷データ処理部51は、発行日時印刷指示コマンドC2を処理対象とする。印刷データ処理部51は、発行日時印刷指示コマンドC2の文字列印刷指示コマンドMCを読み出し、当該コマンドは、文字列の印刷を指示するコマンドであると判断する。当該判断は、例えば、命令コードを識別することによって行われる。印刷データ処理部51は、文字列印刷指示コマンドMCのデータ部を参照し、データ部が指定する文字列をテキスト化する。次いで、印刷データ処理部51は、テキスト化した文字列(本例では、文字列「2013/1/1/12:00」。)を抽出文字列データに記述し、改行する。
以上のようにして、印刷データ処理部51は、印刷制御データに含まれるコマンドを順番に処理対象とし、処理対象のコマンドが文字列の印刷を指示するコマンドである場合は、文字列を抽出してテキスト化し、テキスト化した文字列を抽出文字列データにし、改行する。
図8は、図5(B)の印刷制御データに基づいて生成される抽出文字列データの内容を示す図である。
図8に示すように、抽出文字列データには、レシート(図5(A)参照。)に印刷される文字列が、テキストとして、含まれる。
図9(A)は、印刷制御データDB57bの1件のレコードのデータ構造を示す図である。
図9(A)に示すように、印刷制御データDB57bの1件のレコードは、印刷装置識別情報と、レコード作成日時と、抽出文字列データと、印刷制御データと、発行日時データと、を対応付けて記憶する。なお、レコード作成日時とは、レコードを作成した日時を示す情報である。
次いで、印刷データ処理部51は、印刷制御データDB57bに1件のレコードを作成する。印刷データ処理部51は、当該レコードで、印刷制御データの送信元の印刷装置12の印刷装置識別情報と、当該レコードを作成したときの日時を示すレコード作成日時と、受信した印刷制御データに基づいて生成した抽出文字列データと、受信した印刷制御データと、受信した印刷制御データに付加された発行日時データと、を対応付けて記憶する(ステップSE5)。
ステップSE5において、印刷データ処理部51は、印刷装置識別情報を以下のようにして取得する。すなわち、まず、印刷データ処理部51は、印刷制御データの受信に用いたWebSocketコネクションCT(本例では、第1WebSocketコネクションCT1)のコネクション識別情報を取得する。次いで、印刷データ処理部51は、制御サーバー記憶部57が記憶するコネクション管理データベース57aを参照する。上述したように、コネクション管理データベース57aでは、確立しているWebSocketコネクションCTについて、コネクション識別情報と、印刷装置識別情報とを対応付けて記憶する。次いで、印刷データ処理部51は、取得したコネクション識別情報をキーとして、コネクション管理データベース57aで当該識別情報と対応付けられた印刷装置識別情報を取得する。
なお、上述したように、抽出文字列データはレシートに印刷される文字列が含まれるテキストファイルであり、印刷制御データはバイナリーデータである。
また、レコードに含まれる印刷装置識別情報や、レコード作成日時は、印刷制御データDB57bの所望のレコードを検索するときの検索キーとして利用可能である。
すなわち、後述するように、抽出文字列データは、管理装置14に送信され、管理装置14は、抽出文字列データに基づいて、各種処理を実行する。ここで、レシートに印刷される情報には、文字列以外でも、後に利用可能な情報がある。例えば、トップロゴ印刷指示コマンドC1は、レシートに印刷されたトップロゴを知る際に用いることができる。また、バーコード印刷指示コマンドC5は、レシートの識別情報を知る際に用いることができる。従って、印刷制御データを記憶することにより、文字列以外の情報を後に用いることが可能となる。
また、印刷制御データを記憶することにより、印刷制御データを用いて、レシートを再発行できる。
以下、ステップSE6の処理について詳述する。
制御サーバー記憶部57は、店舗情報管理DB57eを記憶する。
店舗情報管理DB57eは、印刷装置識別情報と、対応付けて店舗情報を記憶するデータベースである。店舗情報は、対応する印刷装置12が設定されている店舗の名称、店舗の識別情報を含む情報である。店舗情報に、店舗の住所や、電話番号等の他の情報を含んでいてもよい。
ステップSE6で、印刷データ処理部51は、店舗情報管理DB57eを参照する。次いで、印刷データ処理部51は、印刷装置識別情報をキーとして、店舗情報管理DB57ed、当該識別情報と対応付けられた店舗情報を取得する。次いで、印刷データ処理部51は、抽出文字列データ、及び、印刷装置識別情報を示すデータと共に、店舗情報を示すデータを通信管理部50に送信する。
通信管理部50は、制御サーバー記憶部57が記憶する管理装置管理DB57cを参照する(ステップSE7)。
管理装置管理DB57cは、制御サーバー10に接続された印刷装置12について、印刷装置12の印刷装置識別情報と、印刷装置12に対応する管理装置14のアドレスとを対応付けて記憶するデータベースである。1の印刷装置12と、1の管理装置14とが対応するとは、当該1の印刷装置12が、当該1の管理装置14が管理する店舗システム11に設けられ、当該1の印刷装置12が、当該1の管理装置14の制御対象であることを示す。
次いで、通信管理部50は、印刷データ処理部51から受信したデータが示す印刷装置識別情報をキーとして、管理装置管理DB57cで当該識別情報と対応付けられた管理装置14のアドレスを取得する(ステップSE8)。
次いで、通信管理部50は、制御サーバー通信I/F58を制御して、ステップSE8で取得したアドレスの管理装置14に、抽出文字列データ、及び、店舗情報を示すデータを送信する(ステップSE9)。
次いで、管理装置制御部70は、管理装置記憶部72が記憶する条件データベース72aを参照し、抽出文字列分析処理を実行する(ステップSF2)。
以下、抽出文字列分析処理について詳述する。
抽出文字列分析処理は、管理装置制御部70が、抽出文字列データに含まれる文字列を分析してクーポンを発行するか否かを判別し、クーポンを発行する場合は、発行するクーポンの内容を示すクーポン内容情報を取得する処理である。
条件データベース72aは、クーポンを発行する条件と、条件が成立した場合に発行するクーポンの内容を示す情報であるクーポン内容情報と、を対応付けて記憶するデータベースである。条件は、複数存在してもよい。
例えば、クーポンを発行する条件は、会計を行った顧客の会員番号が、特定の番号であること、である。この場合、管理装置制御部70は、以下の処理を実行する。すなわち、管理装置制御部70は、抽出文字列データについて、文字列「membership△NO.」をキーとして文字列検索を行い、当該文字列と同一行に記述された文字列を、顧客の会員番号として取得する。次いで、管理装置制御部70は、取得した顧客の会員番号が、特定の番号であるか否かを判別する。管理装置制御部70は、取得した顧客の会員番号が、特定の番号である場合、条件が成立したとして、クーポンを発行すると判別する。次いで、管理装置制御部70は、条件データベース72aを参照し、成立した条件と対応付けられたクーポン内容情報を取得する。
また、クーポンを発行する条件は、所定の商品名の商品が購入されていること、である。この場合、管理装置制御部70は、以下の処理を実行する。すなわち、管理装置制御部70は、抽出文字列データについて、所定の商品名をキーとして文字列検索を行う。次いで、管理装置制御部70は、検索が成立した場合、条件が成立したとして、クーポンを発行すると判別する。次いで、管理装置制御部70は、条件データベース72aを参照し、成立した条件と対応付けられたクーポン内容情報を取得する。
また例えば、クーポンを発行する条件は、購入商品の合計金額が、所定の金額を上回ったこと、である。この場合、管理装置制御部70は、以下の処理を実行する。すなわち、管理装置制御部70は、抽出文字列データについて、文字列「Total」をキーとして文字列検索を行い、当該文字列と同一行に含まれる文字列が示す値を、購入商品の合計金額として取得する。次いで、管理装置制御部70は、取得した購入商品の合計金額が、所定の金額を上回ったか否かを判別する。管理装置制御部70は、取得した購入商品の合計金額が、所定の金額を上回った場合、条件が成立したとして、クーポンを発行すると判別する。次いで、管理装置制御部70は、条件データベース72aを参照し、成立した条件と対応付けられたクーポン内容情報を取得する。
条件は、時間帯や、会員によって動的に変更する構成であってもよい。すなわち、条件とは、抽出文字列データに含まれる情報、及び、他の情報に基づいて、その成否が決定するものであれば、どのようなものであってもよい。
例えば、ステップSF1で、管理装置制御部70は、抽出文字列データと共に、店舗情報を示すデータを受信する。そして、条件に、店舗情報を利用してもよい。例えば、条件に、特定の店舗であること、を含めもよい。これにより、店舗によって、クーポンの内容を変更することができる。また、これにより、クーポンに、店舗の名称を印刷することができる。
本例では、ステップSF2の抽出文字列分析処理で、管理装置制御部70は、所定の条件が成立したため、クーポンを発行すると判別し、対応するクーポン内容情報を取得する。
クーポン発行制御データは、クーポンの発行に際し、印刷装置12に印刷させる情報が含まれるXML(Extensible Markup Language)ファイルである。クーポン発行制御データには、XMLフォーマットに従って、印刷装置12に印刷させる情報、例えば、画像データや、画像の位置を示す情報等が含まれる。また、クーポン発行制御データは、印刷させる印刷装置12の印刷装置識別情報がタグとして含む。
管理装置制御部70は、ステップSF2の抽出文字列分析処理により取得したクーポン内容情報に基づいて、当該情報が示す内容のクーポンを発行させるクーポン発行制御データを生成する機能を有する。
図7(D)に示すように、管理装置制御部70は、管理装置通信I/F71を制御して、生成したクーポン発行制御データを、制御サーバー10に送信する(ステップSF4)。
印刷データ処理部51は、受信したクーポン発行制御データを、第1接続部54に送信する(ステップSE12)。
第1接続部54は、受信したクーポン発行制御データを、第1WebSocketコネクションCT1により、印刷装置12に送信する(ステップSE13)。
印刷データ通信部26は、受信したクーポン発行制御データを、印刷部18のコマンド体系のコマンドであるクーポン発行制御コマンドに変換する(ステップSD15)。印刷データ通信部26は、XMLファイルであるクーポン発行制御データを、印刷部41の制御回路であるプリンター制御部40が解釈可能なコマンドに変換する。
次いで、印刷制御部17は、クーポン発行制御コマンドを、印刷制御部29に送信する(ステップSD16)。
印刷制御部29は、プリンター制御部40との間での通信を確立し、クーポン発行制御コマンドをプリンター制御部40に送信する(ステップSD17)。
プリンター制御部40は、受信したクーポン発行制御コマンドに基づいて、印刷部41を制御して、クーポンを発行する(ステップSD18)。
印刷装置12のプリンター制御部40は、クーポンの発行処理の結果を示すクーポン発行結果通知データを生成する。クーポン発行結果通知データは、クーポンの発行が正常に完了したか否かを示す情報、及び、失敗した場合はその原因を示す情報を含むデータである。
プリンター制御部40は、生成したクーポン発行結果通知データを印刷制御部29に送信する。印刷制御部29は、受信したクーポン発行結果通知データを、印刷データ通信部26に送信する。印刷データ通信部26は、受信したクーポン発行結果通知データを、第1WebSocketコネクションCT1で、制御サーバー10の印刷データ処理部51に送信する。印刷データ処理部51は、受信したクーポン発行結果通知データを、通信管理部50に送信する。通信管理部50は、制御サーバー通信インターフェース58を制御して、受信したクーポン発行結果通知データを、管理装置14の管理装置制御部70に送信する。管理装置制御部70は、クーポン発行結果通知データに基づいて、管理装置14が備える表示パネルに、クーポンの発行処理の結果を表示する。
以上の処理が行われるため、管理装置14の管理者は、表示パネルを参照することにより、クーポンの発行が正常に行われたか否かを認識でき、失敗した場合は、その原因九名等の処理を行える。
また、本実施形態では、制御サーバー10は、印刷装置12から受信した印刷制御データ、及び、印刷制御データに基づく抽出文字列データを記憶する。これらデータは、店舗ごとの、また、印刷装置12の商品の販売の状況、売り上げの状況、顧客の来店の状況等の分析に利用可能な有益なデータである。つまり、本実施形態に係る制御サーバー10は、POS端末8から印刷装置12に対して送信される印刷制御データを用いて、情報を記憶する。
また、本実施形態では、制御サーバー10から、管理装置14に対して、抽出文字列データが送信される。管理装置14は、抽出文字列データに基づいて、顧客に対してクーポンを発行するか否かを判別する。このため、管理装置14は、顧客、顧客が購入した商品顧客の会計の内容等に応じて、クーポンを発行するか否かを判別できる。また、管理装置14は、クーポンを発行する場合は、成立した条件に対応する内容のクーポンを発行する。このため、管理装置14は、顧客、顧客が購入した商品、顧客の会計の内容等に応じた内容のクーポンを発行できる。管理装置14は、POS端末8から印刷装置12に対して送信される印刷制御データを用いて、対応するクーポンの発行等、各種処理を実行できる。また、管理装置14から制御サーバー10に対してクーポンの発行の指示(クーポン発行制御データの送信)があった場合、制御サーバー10は、第1WebSocketコネクションCT1を用いてクーポン発行制御データを送信する。このため、制御サーバー10は、新たにコネクションを確立する等の処理をすることなく、印刷装置12にクーポン発行制御データを送信できる。従って、印刷装置12によってレシートが発行された後、同じ印刷装置12によってレシートに対応するクーポンを発行できる。 また、本実施形態では、POS端末8から印刷装置12に対して送信する印刷制御データの内容を変更することなく、制御サーバー10、及び、管理装置14は、上述した各種処理を実行できる。つまり、本実施形態によれば、POS端末8に対する改変(POSアプリケーションのプログラム修正等)を行うことなく、制御サーバー10、管理装置14は、上述した各種処理を実行できる。従って、POS端末8と、印刷装置12とで構成された既存のシステムに対して変更をほとんど加えることなく、POS制御システム1を構築でき、POS制御システム1の構築を簡易にできる。
以下、発行日時データの利用方法について、説明する。
ステップSD11で、印刷データ通信部26は、印刷制御データを送信する前に、第1WebSocketコネクションCT1でのデータの送受信を正常に行える状態か否かを確認する。確認は、例えば、以下のようにして行われる。印刷データ通信部26は、WebSocketコネクションCT1で、印刷データ処理部51に応答要求コマンドを送信する。印刷データ処理部51は、応答要求コマンドを受信した場合に、応答コマンドを送信する機能を有している。印刷データ処理部51は、応答要求コマンドの送信に応じて、所定の期間内に、応答コマンドを受信した場合、WebSocketコネクションCT1でデータの送受信ができる状態であると判別する。一方、印刷データ処理部51は、応答要求コマンドの送信に応じて、所定の期間内に、応答コマンドを受信した場合、WebSocketコネクションCT1で正常にデータの送受信ができない状態であると判別する。確認方法は、上述した方法に限らない。
通信に関するエラー等に起因して、WebSocketコネクションCT1でのデータの送受信ができない場合が生じ得る。
WebSocketコネクションCT1でデータの正常な送受信ができる状態である場合、上述のフローチャートで説明した処理が、行われる。
一方、WebSocketコネクションCT1でデータの正常な送受信ができない状態である場合、印刷データ通信部26は、以下の処理を行う。
印刷データ通信部26は、印刷制御データを印刷装置記憶部39の所定の記憶領域に記憶する。このほか、印刷装置12が、SDメモリーカード等の外付けの記憶媒体のスロットを有している場合は、当該記憶媒体に記憶する構成であってもよい。
WebSocketコネクションCT1で正常にデータの送受信ができる状態となった場合、印刷データ通信部26は、印刷装置記憶部39にアクセスして、当該記憶部に記憶した印刷制御データを、WebSocketコネクションCT1で送信する。印刷制御データには、発行日時データが付加されている。
印刷制御データを受信した制御サーバー10の印刷データ処理部51は、印刷制御データDB57bに1件のレコードを作成する。印刷データ処理部51は、当該レコードで、印刷制御データの送信元の印刷装置12の印刷装置識別情報と、当該レコードを作成したときの日時を示すレコード作成日時と、受信した印刷制御データに基づいて生成した抽出文字列データと、受信した印刷制御データと、受信した印刷制御データに付加された発行日時データと、を対応付けて記憶する(ステップSE5)。
ステップSE5で印刷データ処理部51が生成したレコードには、発行日時データが格納されている。発行日時データは、レシートが発行された日時に対応する日時を示すデータである。
このように、受信した印刷制御データに対応するレコードで、発行日時データが格納されているため、以下の効果を奏する。第1WebSocketコネクションCT1でデータの送受信が正常に行えなかったことに起因して、レシートを発行した日時と、対応する印刷制御データが制御サーバー10に送信された日時とが乖離した場合であっても、対応するレコードの発行日時データを取得することにより、レシートの発行日時を取得できる。このため、例えば、印刷制御データDB57bに基づいて、時間帯ごとのレシート発行枚数を調査することができる。
また、1のレコードのレコード作成日時と、発行日時データが示す日時との乖離状況を分析することにより、第1WebSocketコネクションCT1での通信の遅延状況を把握することが可能である。
従って、印刷装置12に対して、印刷制御データとクーポン発行制御データとが、重なった時間に送信される可能性がある。本実施形態に係る印刷装置12は、このような場合であっても、各データに基づく処理を実行する。以下、詳述する。
図10は、印刷装置12の動作を示すフローチャートである。
図10に示すフローチャートの説明では、通信制御部25、及び、印刷データ通信部26を区別せずに表現する場合、「制御機能部」と表現する。
印刷装置12の印刷制御部29は、通信制御部25から印刷制御データを受信したか、又は、印刷データ通信部26からクーポン発行制御データを受信したかを監視する(ステップSG1)。
ステップSG1の監視は、例えば、以下の方法で行われる。
例えば、印刷制御部29は、通信制御部25が受信したデータを一時記憶する受信バッファーの状態と、印刷データ通信部26が受信したデータを一時記憶する受信バッファーの状態とを監視する。そして、いずれかの受信バッファーにデータの書き込みがあった場合、対応する制御機能部がデータを受信したと判別する。
ステップSG2では、印刷制御部29は、通信制御部25から印刷制御データを受信した場合、印刷データ通信部26がクーポン発行制御コマンドを印刷制御部29へ送信することを禁止する。一方、印刷制御部29は、印刷データ通信部26からクーポン発行制御データを受信した場合、通信制御部25が印刷制御データを印刷制御部29へ送信することを禁止する。
ステップSG2において、印刷制御部29は、非対象制御機能部に対して、印刷制御部29へのデータの送信を禁止する旨の送信禁止通知を行う。制御機能部は、当該通知を受けた場合、データの送信の禁止を解除する旨の送信禁止解除通知(後述)を受信するまでは、外部装置(POS端末8、又は、制御サーバー10)からデータを受信した場合であっても、印刷制御部29に対してデータを送信せず、外部装置から受信したデータを受信バッファーに記憶した状態を維持する。
次いで、印刷制御部29は、対象制御機能部からデータを受信し、受信したデータをプリンター制御部40に送信して、印刷部41による処理を開始する(ステップSG3)。対象制御機能部が通信制御部25である場合、印刷制御部29は、通信制御部25から印刷制御データを受信し、受信した印刷制御データをプリンター制御部40に送信して、印刷部41によるレシートの発行の処理を開始する。また、対象制御機能部が印刷データ通信部26である場合、印刷制御部29は、印刷データ通信部26からクーポン発行制御コマンドを受信し、受信したクーポン発行制御コマンドをプリンター制御部40に送信して、印刷部41によるクーポンの発行の処理を開始する。
次いで、印刷制御部29は、期間T1の計時を開始する(ステップSG5)。期間T1は、例えば、1秒である。
次いで、印刷制御部29は、期間T1が経過する前に対象制御機能部からデータを受信したか否かを監視し(ステップSG6)、また、対象制御機能部からデータを受信することなく期間T1が経過したか否かを監視する(ステップSG7)。
期間T1が経過する前に、対象制御機能部からデータを受信した場合(ステップSG6:YES)、印刷制御部29は、処理手順をステップSG3へ戻し、受信したデータをプリンター制御部40に送信して、印刷部41による処理を開始する。
対象制御機能部からデータを受信することなく期間T1が経過した場合(ステップSG7:YES)、印刷制御部29は、非対称制御機能部について、印刷制御部29に対するデータの送信の禁止を解除する(ステップSG8)。
本例では、ステップSG8において、印刷制御部29は、非対象制御機能部に対して、印刷制御部29へのデータの送信の禁止を解除する旨の送信禁止解除通知を行う。制御機能部は、当該通知を受けた場合、印刷制御部29に対してデータを送信可能となる。その後、印刷制御部29は、処理手順をステップSG1へ戻す。
このような構成のため、POS端末8から印刷装置12に対する印刷制御データの送信、及び、制御サーバー10から印刷装置12に対するクーポン発行制御データの送信が同時に行われた場合であっても、印刷制御部29は、一方のデータに基づく処理が完了した後、他方のデータに基づく処理が実行する。従って、このような場合であっても、印刷装置12が受信したデータが混合する等、印刷制御部29に対して同時にデータが送信されることに起因したエラーが発生することがない。
図11は、カードリーダーCRによって顧客の会員カードが読み取られた場合の印刷装置12、制御サーバー10、及び、管理装置14の動作を示すフローチャートである。図11(A)は印刷装置12の動作を、(B)は制御サーバー10の動作を、(C)は管理装置14の動作を示す。
図11(A)に示すように、カードリーダーCRによる会員カードが読み取られると(ステップSH1)、カードリーダーCRからカードリーダーデータ通信部28に対して読み取り結果を示す読取結果データが送信される(ステップSH2)。読取結果データは、バイナリーデータである。読取結果データには、顧客の会員番号を示す情報が含まれる。
以下の説明では、第2機能部間通信経路KT2によりカードリーダーデータ通信部28と、カードリーダー処理部53との通信についても併せて説明する。
カードリーダーデータ通信部28は、受信した読取結果データに、現在日時を示す情報(以下、「読取日時情報」という。)を含め、読取結果データ、及び、カードリーダー識別情報データ(後述)を、第2通信部31に送信する(ステップSH3)。読取日時情報は、カードリーダーCRによる読み取りが行われた日時を示す情報である。
ステップSH3の処理について詳述する。
カードリーダー識別情報データは、カードリーダー識別情報を示すデータである。カードリーダー識別情報は、カードリーダーCRを識別するデバイス識別情報である。デバイス識別情報は、デバイス(本例では、カードリーダーCR、バーコードリーダーBR)に対して、割り振られた識別情報であり、デバイスごとに、その値が異なっている。デバイス識別情報は、例えば、プロダクトIDと、ベンダーIDの組合せである。
カードリーダーCRが印刷装置12に接続されたときに、カードリーダーCRからカードリーダーデータ通信部28に対して、所定のプロトコルに従ってカードリーダー識別情報が通知される。カードリーダーデータ通信部28は、受信したカードリーダー識別情報を示すカードリーダー識別情報データを所定の記憶領域に記憶する。
ステップSH3で、カードリーダーデータ通信部28は、読取結果データと共に、所定の記憶領域に記憶したカードリーダー識別情報データを、第2通信部31に送信する。
第2通信部31は、受信した読取結果データ、及び、カードリーダー識別情報データを、第2WebSocketコネクションCT2により、制御サーバー10に送信する(ステップSH4)。
第2接続部55は、受信した読取結果データ、及び、カードリーダー識別情報データを、カードリーダー処理部53に送信する(ステップSI2)。
カードリーダー処理部53は、受信した読取結果データを、RAM等に形成されたワークエリアに記憶する。次いで、カードリーダー処理部53は、読取結果データに含まれる顧客の会員番号を示す文字列を抽出し、抽出した会員番号を示す文字列のテキスト(文字データ)を含むテキストファイルである会員番号データ(デバイスデータ)を生成する(ステップSI3)。
次いで、カードリーダー処理部53は、制御サーバー記憶部57が記憶する会員番号データDB57dにアクセスする(ステップSI4)。
図9(B)は、会員番号データDB57dの1件のレコードのデータ構造を示す図である。
図9(B)に示すように、会員番号データDB57dの1件のレコードは、印刷装置識別情報と、レコード作成日時と、会員番号データと、読取結果データと、読取日時データと、デバイス識別情報データと、を対応付けて記憶する。なお、レコード作成日時とは、レコードを作成した日時を示す情報である。
次いで、カードリーダー処理部53は、会員番号データDB57dに1件のレコードを作成し、当該レコードの対応するフィールドに、印刷制御データの送信元の印刷装置12の印刷装置識別情報を格納する。また、カードリーダー処理部53は、当該レコードの対応するフィールドに、当該レコードを作成したときの日時を示すレコード作成日時を格納する。また、カードリーダー処理部53は、当該レコードの対応するフィールドに、受信した読取結果データに基づいて生成した会員番号データを格納する。また、カードリーダー処理部53は、当該レコードの対応するフィールドに、受信した読取結果データを格納する。また、カードリーダー処理部53は、当該レコードの対応するフィールドに、読取結果データに含まれる読取日時情報を示すデータである読取日時データを格納する。また、カードリーダー処理部53は、当該レコードの対応するフィールドに、デバイス識別情報データ(本例では、カードリーダー識別情報データ)を格納する(ステップSI5)。
通信管理部50は、制御サーバー記憶部57が記憶する管理装置管理DB57cを参照する(ステップSI7)。
次いで、通信管理部50は、カードリーダー処理部53から受信したデータが示す印刷装置識別情報をキーとして、管理装置管理DB57cで当該識別情報と対応付けられた管理装置14のアドレスを取得する(ステップSI8)。
次いで、通信管理部50は、制御サーバー通信I/F58を制御して、ステップSI8で取得したアドレスの管理装置14に会員番号データ、及び、カードリーダー識別情報データを送信する(ステップSI9)。
次いで、管理装置制御部70は、会員番号データ、及び、カードリーダー識別情報データに基づいて、対応する処理を実行する(ステップSJ2)。
例えば、ステップSJ2で、管理装置制御部70は、会員番号データが示す会員番号と、カードリーダー識別情報データが示すデバイス識別情報と、現在日時を示す情報とを対応付けて記憶する。記憶した情報は、会員の来店履歴として用いることができ、店舗に来店する顧客の傾向等の分析に用いることができる。また、記憶したデバイス識別情報に基づいて、会員番号が、カードリーダーCRの読み取りに結果に基づくものであることを把握できる。
管理装置制御部70は、会員番号データが示す会員番号に応じたクーポンの発行を指示する。
会員番号データが示す会員番号の顧客に対して、店舗に関する情報や、クーポンが記載されたメールを送信したり、ポイントシステムが存在する場合は、顧客に対してポイントを付与したりする。
なお、カードリーダー処理部53は、会員番号データ及びカードリーダー識別情報データと共に、上述した店舗情報を送信する構成であってもよい。この構成によれば、管理装置制御部70は、例えば、店舗に応じた来店履歴を管理でき、また、店舗に応じて、来店顧客の傾向等を分析できる。
以上、カードリーダーCRによるカードの読み取りが行われた後の各装置の動作を説明したが、バーコードリーダーBRによってバーコードが読み取られた場合も、読み取り結果に基づくデータが、印刷装置12により制御サーバー10に送信され、制御サーバー10で対応する処理が実行される。また、制御サーバー10から管理装置14にデータが素心去れ、管理装置14で対応する処理が実行される。
また、本実施形態では、制御サーバー10は、印刷装置12から受信した読取結果データ、及び、読取結果データに基づく会員番号データを記憶する。これらデータは、店舗の、または、印刷装置12の顧客の来店の状況等の分析に用いることが可能なデータである。制御サーバー10は、印刷装置12にデバイスが接続されることを用いて、情報を記憶する。
また、本実施形態では、制御サーバー10から、管理装置14に対して、会員番号データが送信される。管理装置14は、会員番号データに基づいて、対応する処理を実行する。つまり、本実施形態に係る管理装置14は、印刷装置12にデバイスが接続されることを用いて、対応する処理を実行できる。
POS端末8は、決済処理に基づいて印刷制御データを生成するPOS端末制御部45(制御部)、及び印刷制御データを送信する端末通信インターフェース46(通信部)を有する。
印刷装置12は、印刷を行う印刷部41、印刷制御データに基づいて印刷部41を制御する印刷制御部29、POS端末8と接続して印刷制御データを受信するUSB通信接続部34(通信接続部)、及び印刷制御データを第1WebSocketコネクションCT1により非同期の双方向通信で送信する印刷データ通信部26を有する。
制御サーバー10は、印刷装置12の印刷データ通信部26で送信された印刷制御データを第1WebSocketコネクションCT1で受信する第1接続部54(受信部)、及び受信した印刷制御データに基づく処理を行う印刷データ処理部51を有する。
この構成によれば、POS端末8から印刷装置12に対して送信された印刷制御データは、印刷データ通信部26の機能によって制御サーバー10に送信される。このため、制御サーバー10は、受信した印刷制御データに基づいて、対応する処理を実行できる。また、印刷装置12は、非同期の双方向通信で印刷制御データを制御サーバー10に送信する。従って、印刷装置12は、POS端末8から印刷制御データを受信した場合、通信経路を新たに確立することなく、また、制御サーバー10との間で通信の同期をとることなく、制御サーバー10に印刷制御データを送信できる。このため、POS端末8から印刷装置12に印刷制御データを送信するPOS制御システム1について、印刷装置12にネットワークを介して接続された制御サーバー10が印刷制御データに基づく処理をできるようにでき、当該システムを、印刷装置12と制御サーバー10とがネットワークGNを介して通信する構成に対応させることができる。
この構成によれば、制御サーバー10は、受信した印刷制御データを、利用性の高いデータに変換できる。
この構成によれば、制御サーバー10は、印刷制御データと、印刷制御データに基づく抽出文字列データを記憶するため、後に、いずれかのデータを分析し、情報を得ることが可能である。また、印刷制御データを記憶することにより、印刷制御データに基づいて抽出文字列データを生成する際に欠落する情報も、記憶できる。また、印刷制御データを記憶するため、印刷制御データを利用した再印刷を行える。
この構成によれば、通信制御部25の機能により、印刷制御データを印刷制御部29に送信して印刷部41により印刷を行い、印刷制御データを印刷データ通信部26に送信して、印刷制御データを制御サーバー10に送信できる。
この構成によれば、印刷装置12は、印刷部41による印刷が完了した後、行われた印刷に対応する印刷制御データを、制御サーバー10に送信できる。
例えば、上述した実施形態では、デバイスの例として、カードリーダーCRや、バーコードリーダーBRを挙げたが、印刷装置12に接続されるデバイスは例示したものに限らない。例えば、デバイスとしては、キャッシュレジスター、表示パネル、タッチパネル等がある。
また、抽出文字列データに基づいて管理装置14が行う処理は、クーポンの発行に限らない。例えば、抽出文字列データの一部又は全部を記憶する処理を行ってもよい。また、抽出文字列データに基づいて、顧客マスターを参照して、顧客のメールアドレスを取得し、顧客にメールする処理を行ってもよい。
また、上述した実施形態では、印刷装置12は店舗に用いられる店舗システム11に設けられていた。しかしながら、印刷装置12は、必ずしも、店舗システム11に設けられたものでなくてもよい。例えば、他のシステムに設けられたものであってもよい。
また、図3に示す各機能ブロックはハードウェアとソフトウェアにより実現可能であり、特定のハードウェア構成を示唆するものではない。また、印刷装置12の機能を、当該装置に外部接続される別の装置に持たせるようにしてもよい。また、印刷装置12は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種処理を実行しても良い。
Claims (6)
- 決済処理に基づいて印刷制御データを生成する制御部、及び前記印刷制御データを送信する通信部を有するPOS端末と、
前記通信部から前記印刷制御データを受信する通信接続部、前記印刷制御データを出力する通信制御部、印刷を行う印刷部、前記通信制御部から出力された前記印刷制御データに基づいて前記印刷部を制御し、印刷が正常に終了したか否かを通知する印刷制御部、及び前記印刷制御部から印刷が正常に終了した旨の通知を受信した前記通信制御部から出力された前記印刷制御データを非同期の双方向通信で送信する印刷データ通信部を有する印刷装置と、
前記印刷データ通信部と通信経路を確立して前記印刷データ通信部から前記印刷制御データを受信する受信部、及び受信した前記印刷制御データに基づく処理を行う印刷データ処理部を有する制御装置と、
を備えることを特徴とするPOS制御システム。 - 前記印刷制御データは、バイナリーデータであり、
前記印刷データ処理部は、前記印刷制御データに含まれる文字列を抽出し、抽出した文字列を含むテキストデータを生成する請求項1に記載のPOS制御システム。 - 前記制御装置は、
前記印刷制御データと前記テキストデータとを対応付けて記憶する記憶部を有する請求項2に記載のPOS制御システム。 - 前記非同期の双方向通信は、WebSocket通信である請求項1乃至3のいずれか1項に記載のPOS制御システム。
- 第1の外部装置から印刷制御データを受信する通信接続部と、
前記印刷制御データを出力する通信制御部と、
印刷を行う印刷部と、
前記通信制御部から出力された前記印刷制御データに基づいて前記印刷部を制御し、印刷が正常に終了したか否かを通知する印刷制御部と、
前記通信制御部から出力された前記印刷制御データを非同期の双方向通信で第2の外部装置に送信する印刷データ通信部と、
を有し、
前記通信制御部は、前記印刷制御部から印刷が正常に終了した旨の通知を受信した場合に、前記印刷制御データを前記印刷データ通信部に出力することを特徴とする印刷装置。 - POS端末、印刷装置、及び制御装置を備えるPOS制御システムの制御方法であって、
前記POS端末は、
決済処理を行い、前記決済処理に基づく印刷制御データを生成し、生成した前記印刷制御データを前記印刷装置に送信し、
前記印刷装置は、
受信した前記印刷制御データに基づく印刷を実行し、印刷が正常に終了した場合に前記印刷制御データを非同期の双方向通信で前記制御装置に送信することを特徴とするPOS制御システムの制御方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014001450A JP6287215B2 (ja) | 2014-01-08 | 2014-01-08 | Pos制御システム、印刷装置、及びpos制御システムの制御方法 |
CN201410836406.3A CN104765579B (zh) | 2014-01-08 | 2014-12-29 | Pos控制系统、pos控制系统的控制方法、以及打印装置 |
US14/591,490 US9224138B2 (en) | 2014-01-08 | 2015-01-07 | POS control system, control method of a POS control system, and printing device |
EP15150457.8A EP2894559A1 (en) | 2014-01-08 | 2015-01-08 | POS control system, control method of a POS control system, and printing device |
US14/851,256 US9406204B2 (en) | 2014-01-08 | 2015-09-11 | POS control system, control method of a POS control system, and printing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014001450A JP6287215B2 (ja) | 2014-01-08 | 2014-01-08 | Pos制御システム、印刷装置、及びpos制御システムの制御方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015130092A JP2015130092A (ja) | 2015-07-16 |
JP2015130092A5 JP2015130092A5 (ja) | 2016-12-08 |
JP6287215B2 true JP6287215B2 (ja) | 2018-03-07 |
Family
ID=53760760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014001450A Active JP6287215B2 (ja) | 2014-01-08 | 2014-01-08 | Pos制御システム、印刷装置、及びpos制御システムの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6287215B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2570427B (en) * | 2016-11-25 | 2021-11-17 | Mitsubishi Heavy Ind Mach Systems Ltd | Client, broker, communication system, communication method, and program |
JP7127506B2 (ja) | 2018-11-19 | 2022-08-30 | セイコーエプソン株式会社 | 印刷装置、及び印刷装置の制御方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4200693B2 (ja) * | 2002-06-10 | 2008-12-24 | セイコーエプソン株式会社 | Posシステム、アダプタ装置およびネットワークシステム |
JP4604525B2 (ja) * | 2004-03-17 | 2011-01-05 | セイコーエプソン株式会社 | ネットワークシステム、プログラムおよび印刷装置の制御方法 |
JP4670264B2 (ja) * | 2004-06-03 | 2011-04-13 | セイコーエプソン株式会社 | 印刷装置、プリンタインターフェース、posシステム、プログラムおよび印刷装置の制御方法 |
JP4710903B2 (ja) * | 2005-05-17 | 2011-06-29 | セイコーエプソン株式会社 | 印刷システム、posシステム、接続デバイス、印刷システムの制御方法およびそのプログラム |
JP4760416B2 (ja) * | 2006-02-06 | 2011-08-31 | セイコーエプソン株式会社 | ネットワークシステムのデバイスドライバ実現方法、およびデバイスドライバ実現システム |
US20080278750A1 (en) * | 2007-05-11 | 2008-11-13 | Daniel Adolf Lehotsky | System And Method For Intelligent Label Printer Control |
CN101930578A (zh) * | 2009-12-14 | 2010-12-29 | 庾良建 | 一种信息推广定向交换方法及系统 |
JP6055201B2 (ja) * | 2012-05-10 | 2016-12-27 | キヤノン株式会社 | サーバー装置、システム及びその制御方法 |
CN104765579B (zh) * | 2014-01-08 | 2019-01-18 | 精工爱普生株式会社 | Pos控制系统、pos控制系统的控制方法、以及打印装置 |
-
2014
- 2014-01-08 JP JP2014001450A patent/JP6287215B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015130092A (ja) | 2015-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2894559A1 (en) | POS control system, control method of a POS control system, and printing device | |
JP6424438B2 (ja) | Posシステム、及びデータ処理装置 | |
EP2953033B1 (en) | Control system and control method for the control system | |
JP2015130087A (ja) | Pos制御システム、及び、pos制御システムの制御方法 | |
JP6287215B2 (ja) | Pos制御システム、印刷装置、及びpos制御システムの制御方法 | |
JP6439368B2 (ja) | 情報処理装置、会計システム、及び、記録装置 | |
JP2015130080A (ja) | Pos制御システム、及び、印刷装置 | |
JP2015130086A (ja) | Pos制御システム、及び、印刷装置 | |
JP6260231B2 (ja) | 印刷制御システム、及び、印刷制御方法 | |
JP2015135635A (ja) | Posシステム、及び、posシステムの制御方法 | |
JP6503905B2 (ja) | ネットワークシステム、及び、ネットワークシステムの制御方法 | |
JP6578895B2 (ja) | ネットワークシステム、及び、制御装置 | |
JP6344152B2 (ja) | 記録装置、及び、記録装置の制御方法 | |
JP6281248B2 (ja) | 印刷装置、印刷装置の制御方法、及び、印刷制御システム | |
KR101917547B1 (ko) | 네트워크 시스템 및 통신 방법 | |
JP2015102930A (ja) | 印刷制御システム、及び印刷制御方法 | |
JP6252115B2 (ja) | 印刷制御システム | |
JP6331337B2 (ja) | 印刷制御システム、及び、印刷装置 | |
JP6268931B2 (ja) | 印刷制御装置、及び、印刷制御システム | |
JP6224558B2 (ja) | 商品販売データ処理装置及びプログラム | |
JP2021121961A (ja) | 電子レシート発行方法、情報処理装置及びプログラム | |
JP2016051273A (ja) | 記録装置、及び、記録装置の制御方法 | |
JP2015088105A (ja) | 印刷装置、及び、印刷制御システム | |
JP2015090646A (ja) | 印刷制御装置、及び、印刷制御システム | |
JP2015148874A (ja) | 印刷制御システムの制御方法、及び印刷制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161024 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161024 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171003 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171201 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180122 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6287215 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |