(57)【要約】【課題】チェッカー等の作業の負担を増大させることなくクーポンを利用して商品の組み合わせに対する値引を簡便に行うことのできる技術を提供する。【解決手段】コンピュータをクーポンの対象となる商品の値引処理を実行するＰＯＳ端末として動作させるプログラムにおいて、クーポン券に印字されているコードよりクーポンの内容を含むクーポン情報を取得して記憶部に記憶する。記憶したクーポン情報を参照して、商品登録を行った複数の商品についての商品情報のうち、クーポンが値引の対象とする商品の組み合わせに含まれる商品についての商品情報を抽出する。抽出された商品情報の中から、クーポン対象となる商品の組み合わせを成立させる成立商品情報及び組み合わせの成立数を判断する。記憶したクーポン情報のうちの商品の組み合わせに対する値引額と判断した組み合わせの成立数とから、クーポンによる値引額を算出する。【選択図】図１
2013206107.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、クーポンの対象となる商品の値引処理を実行するＰＯＳ端末として動作させるプログラムであって、
前記値引処理は、
クーポン券に印字されているコードより、所定の商品の組み合わせに対するクーポンの内容を含むクーポン情報を取得して、該クーポン情報を記憶部に記憶する記憶処理と、
前記記憶部に記憶したクーポン情報を参照して、商品登録を行った複数の商品についての商品情報のうち、前記クーポンが値引の対象とする前記商品の組み合わせに含まれる商品についての商品情報を抽出する商品情報抽出処理と、
前記記憶部に記憶したクーポン情報を参照して、前記商品情報抽出処理により抽出された商品情報の中から、前記クーポン対象となる商品の組み合わせを成立させる成立商品情報及び該組み合わせの成立数を判断する判断処理と、
前記記憶部に記憶したクーポン情報のうちの前記商品の組み合わせに対する値引額と、前記判断した前記組み合わせの成立数とから、該クーポンによる値引額を算出する値引額算出処理と、
を備えることを特徴とするプログラム。
【請求項２】
前記商品情報抽出処理においては、前記商品情報のうちの、商品を識別する商品識別情報及び該商品の属する区分を識別する商品分類情報を、前記クーポン情報のうちのクーポン対象商品の商品識別情報あるいは該クーポン対象の商品分類情報と順次比較していくことにより、前記商品の組み合わせに含まれる商品についての商品情報を抽出する
ことを特徴とする請求項１記載のプログラム。
【請求項３】
前記クーポン情報は、第１の商品群に属する商品の商品識別情報または商品分類情報と、第２の商品群に属する商品の商品識別情報または商品分類情報とを含み、
前記判断処理においては、前記商品情報抽出処理により抽出された商品情報の中に、前記クーポン情報の前記第１の商品群に属する商品識別情報または商品分類情報に一致する第１の商品情報と、該クーポン情報の前記第２の商品群に属する商品識別情報または商品分類情報に一致する第２の商品情報とを含む場合には、該第１及び第２の商品情報を、前記成立商品情報と判断するとともに、該成立商品情報が表す商品により前記クーポン対象となる商品の組み合わせが１組成立すると判断する
ことを特徴とする請求項２記載のプログラム。
【請求項４】
前記クーポン情報は、１の商品群に属する商品の商品識別情報または商品分類情報と、前記組み合わされる商品数を表す点数情報とを含み、
前記判断処理においては、前記商品情報抽出処理により抽出された商品情報が、前記点数情報が表す件数分抽出されている場合には、該点数情報が表す件数分の商品情報を、前記成立商品情報と判断するとともに、該成立商品情報が表す商品により前記クーポン対象となる商品の組み合わせが１組成立すると判断する
ことを特徴とする請求項２記載のプログラム。
【請求項５】
前記クーポン情報は、前記クーポンで値引取引をし得る商品の組の最大値を表す成立回数を含み、
前記判断処理においては、前記クーポン情報に含まれる成立回数を超えない範囲で、前記組み合わせの成立数を判断する、
ことを特徴とする請求項１記載のプログラム。
【請求項６】
前記商品情報は、該商品情報が前記判断処理により前記成立商品情報であると判断されたか否かを表す値引対象情報を含み、
前記判断処理においては、前記商品情報抽出処理において抽出された商品情報のうち、前記値引対象情報に、未だ前記成立商品情報であると判断されていないことを示す値の設定されている前記商品情報を、該判断処理の対象とするとともに、前記成立商品情報と判断した商品情報の値引対象情報には、前記成立商品情報であると判断したことを示す値を設定していく
ことを特徴とする請求項１記載のプログラム。
【請求項７】
前記クーポン情報は、前記クーポンにより値引を行う期間を表す有効期間情報を更に含み、
前記有効期間情報が表す期間内であるか否かを判定し、該期間内であると判定した場合には、前記商品情報抽出処理、前記判断処理及び前記値引額算出処理を実行する
ことを特徴とする請求項１記載のプログラム。
【請求項８】
クーポンの対象となる商品の値引処理を実行するＰＯＳ端末であって、
クーポン券に印字されているコードより、所定の商品の組み合わせに対するクーポンの内容を含むクーポン情報を取得して、該クーポン情報を記憶するクーポン情報生成部と、
前記クーポン情報生成部により記憶したクーポン情報を参照して、商品登録を行った複数の商品についての商品情報のうち、前記クーポンが値引の対象とする前記商品の組み合わせに含まれる商品についての商品情報を抽出する商品情報抽出部と、
前記クーポン情報生成部により記憶したクーポン情報を参照して、前記商品情報抽出部により抽出された商品情報の中から、前記クーポン対象となる商品の組み合わせを成立させる成立商品情報及び該組み合わせの成立数を判断する判断部と、
前記クーポン情報生成部により記憶したクーポン情報のうちの前記商品の組み合わせに対する値引額と、前記判断した前記組み合わせの成立数とから、該クーポンによる値引額を算出する値引額算出部と、
を備えることを特徴とするＰＯＳ端末。
【請求項９】
クーポンの対象となる商品の値引処理を実行するＰＯＳ端末の制御方法であって、
クーポン券に印字されているコードより、所定の商品の組み合わせに対するクーポンの内容を含むクーポン情報を取得して、該クーポン情報を記憶部に記憶し、
前記記憶したクーポン情報を参照して、商品登録を行った複数の商品についての商品情報のうち、前記クーポンが値引の対象とする前記商品の組み合わせに含まれる商品についての商品情報を抽出し、
前記記憶部に記憶したクーポン情報を参照して、前記抽出された商品情報の中から、前記クーポン対象となる商品の組み合わせを成立させる成立商品情報及び該組み合わせの成立数を判断し、
前記記憶部に記憶したクーポン情報のうちの前記商品の組み合わせに対する値引額と、前記判断した前記組み合わせの成立数とから、該クーポンによる値引額を算出する、
ことを特徴とするＰＯＳ端末の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＯＳ（Point Of Sales）端末において、クーポンの対象となる商品の値引を行う技術に関する。
【背景技術】
【０００２】
スーパーマーケット等の小売店舗においては、ＰＯＳシステムを利用して、売上の集計を商品ごとに行うことが広く行われるようになってきている。スーパーマーケット等において、クーポン券を利用して割引等のサービスを顧客に提供する場合は、レジスタ機能を有するＰＯＳ端末において、チェッカーがＰＯＳシステムに登録された商品がクーポンにおいて割引対象の商品であるか否かを確認するか、事前にシステムのマスタに値引に関する情報を登録しておく必要がある。
【０００３】
クーポン券等を利用して値引を行う技術としては、例えば、クーポン券等にバーコード等を印字し、これを読み取り機で読み取ることによりシステムにおいて値引額を認識し、値引を行う技術について開示されている（例えば、特許文献１、２、３）。クーポンに印字するコードに二次元コードを利用する技術についても開示されている（例えば、特許文献４、５）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１８２２５号公報
【特許文献２】特開２００６−３５０８０４号公報
【特許文献３】特開平７−６５２４２号公報
【特許文献４】特開２００２−２６０１００号公報
【特許文献５】特開２０１１−１４５９９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
小売での販売形態の一つに、店舗で取り扱う複数の商品の中から所定の商品を組み合わせて購入した顧客に対し、一定額の値引を行う方法がある。クーポン券を利用して、このような複数商品を組み合わせての値引を行おうとすると、チェッカーの負担を増大させるか、あるいは、マスタに値引に関する情報を登録する作業者の負担を増大させることとなる。
【０００６】
本発明は、チェッカー等の作業者の負担を増大させることなく、クーポンを利用して商品の組み合わせに対する値引を簡便に行うことのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るプログラムによれば、コンピュータを、クーポンの対象となる商品の値引処理を実行するＰＯＳ端末として動作させるプログラムであって、前記値引処理は、クーポン券に印字されているコードより、所定の商品の組み合わせに対するクーポンの内容を含むクーポン情報を取得して、該クーポン情報を記憶部に記憶する記憶処理と、前記記憶部に記憶したクーポン情報を参照して、商品登録を行った複数の商品についての商品情報のうち、前記クーポンが値引の対象とする前記商品の組み合わせに含まれる商品についての商品情報を抽出する商品情報抽出処理と、前記記憶部に記憶したクーポン情報を参照して、前記商品情報抽出処理により抽出された商品情報の中から、前記クーポン対象となる商品の組み合わせを成立させる成立商品情報及び該組み合わせの成立数を判断する判断処理と、前記記憶部に記憶したクーポン情報のうちの前記商品の組み合わせに対する値引額と、前記判断した前記組み合わせの成立数とから、該クーポンによる値引額を算出する値引額算出処理と、を備えることを特徴とする。
【０００８】
また、本発明の一態様に係るＰＯＳ端末によれば、クーポンの対象となる商品の値引処理を実行するＰＯＳ端末であって、クーポン券に印字されているコードより、所定の商品の組み合わせに対するクーポンの内容を含むクーポン情報を取得して、該クーポン情報を記憶するクーポン情報生成部と、前記クーポン情報生成部により記憶したクーポン情報を参照して、商品登録を行った複数の商品についての商品情報のうち、前記クーポンが値引の対象とする前記商品の組み合わせに含まれる商品についての商品情報を抽出する商品情報抽出部と、前記クーポン情報生成部により記憶したクーポン情報を参照して、前記商品情報抽出部により抽出された商品情報の中から、前記クーポン対象となる商品の組み合わせを成立させる成立商品情報及び該組み合わせの成立数を判断する判断部と、前記クーポン情報生成部により記憶したクーポン情報のうちの前記商品の組み合わせに対する値引額と、前記判断した前記組み合わせの成立数とから、該クーポンによる値引額を算出する値引額算出部と、を備えることを特徴とする。
【０００９】
また、本発明の一態様に係るＰＯＳ端末の制御方法によれば、クーポンの対象となる商品の値引処理を実行するＰＯＳ端末の制御方法であって、クーポン券に印字されているコードより、所定の商品の組み合わせに対するクーポンの内容を含むクーポン情報を取得して、該クーポン情報を記憶部に記憶し、前記記憶したクーポン情報を参照して、商品登録を行った複数の商品についての商品情報のうち、前記クーポンが値引の対象とする前記商品の組み合わせに含まれる商品についての商品情報を抽出し、前記記憶部に記憶したクーポン情報を参照して、前記抽出された商品情報の中から、前記クーポン対象となる商品の組み合わせを成立させる成立商品情報及び該組み合わせの成立数を判断し、前記記憶部に記憶したクーポン情報のうちの前記商品の組み合わせに対する値引額と、前記判断した前記組み合わせの成立数とから、該クーポンによる値引額を算出する、ことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、チェッカー等の作業者の負担を増大させることなく、クーポンを利用して商品の組み合わせに対する値引を簡便に行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係るＰＯＳシステムの構成を示す図である。
【図２】ＰＯＳ端末のブロック図である。
【図３】実施形態において使用されるクーポン券について説明する図（その１）である。
【図４】実施形態において使用されるクーポン券について説明する図（その２）である。
【図５Ａ】実施形態に係るＰＯＳ端末による取引処理を示したフローチャート（その１）である。
【図５Ｂ】実施形態に係るＰＯＳ端末による取引処理を示したフローチャート（その２）である。
【図６】商品マスタの構造例を示す図である。
【図７】登録商品テーブルの構造例を示す図である。
【図８】クーポンテーブルの構造例を示す図（その１）である。
【図９】クーポンテーブルの構造例を示す図（その２）である。
【図１０】ＰＯＳ端末がクーポン券を用いて組み合わせの商品につき値引を行った場合のレシートの例を示す図である。
【図１１】クーポン情報生成処理の詳細を示したフローチャートである。
【図１２Ａ】クーポン値引処理の詳細を示したフローチャート（その１）である。
【図１２Ｂ】クーポン値引処理の詳細を示したフローチャート（その２）である。
【図１２Ｃ】クーポン値引処理の詳細を示したフローチャート（その３）である。
【図１２Ｄ】クーポン値引処理の詳細を示したフローチャート（その４）である。
【図１２Ｅ】クーポン値引処理の詳細を示したフローチャート（その５）である。
【図１２Ｆ】クーポン値引処理の詳細を示したフローチャート（その６）である。
【図１２Ｇ】クーポン値引処理の詳細を示したフローチャート（その７）である。
【図１２Ｈ】クーポン値引処理の詳細を示したフローチャート（その８）である。
【図１３】値引データ編集テーブルの構造例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
図１は、本実施形態に係るＰＯＳシステムの構成を示す図である。図１のＰＯＳシステム５は、サーバ２とＰＯＳ端末１とを有し、商品に関するデータや顧客に関するデータ等の各種データを管理する。
【００１３】
ＰＯＳ端末１は、スーパーマーケット等の店舗に配置されるＰＯＳレジであり、顧客が店舗で購入しようとする商品の登録や会計等の処理を実行する。図１においては、１台のＰＯＳ端末１のみを示しているが、ＰＯＳシステム５内に複数台設ける構成としてもよく、複数店舗に１台以上を配置する構成としてもよい。
【００１４】
サーバ２は、ネットワークを介してＰＯＳ端末１と接続され、ＰＯＳ端末１から受信する各種のデータをデータベースに格納して、売上管理をはじめとした各種の管理を行う。
【００１５】
図１に示すとおり、サーバ２は、商品マスタ２１に、取り扱う商品等に関するデータを格納している。ＰＯＳ端末１は、サーバ２の商品マスタ２１に格納されているデータを取得して、取得したデータを自装置１の商品マスタ３に格納する。そして、商品マスタ３のデータを用いて、顧客が購買しようとしてレジに持参した商品の登録処理や、会計処理を実行する。ＰＯＳ端末１における登録処理や会計処理の詳細については後述する。
【００１６】
本実施形態に係るＰＯＳシステム５によれば、顧客が購買商品とともに値引のクーポン券４をレジにて提示した場合には、ＰＯＳ端末１は、ＰＯＳ端末１と接続されている読み取り機を介してクーポン券４から値引に関するデータを取得する。クーポン券４には、二次元コードが印字され、二次元コードは、所定の商品の組み合わせに対して値引をするために必要なデータを有する。ＰＯＳ端末１は、クーポン券４の二次元コードから読み取ったデータに基づき、組み合わせの条件を満たす商品の組が登録した商品に含まれると判断すると、その商品の組に対して値引をして会計処理を実行する。
【００１７】
図２は、ＰＯＳ端末１のブロック図である。図２に示すＰＯＳ端末１は、制御部１０及びデータベース１３を有し、制御部１０は、商品登録部１１、クーポン処理部１４及び会計処理部１２を有する。図２においては、クーポン券の利用に対し、クーポン対象の所定の組み合わせの商品につき値引する処理に関連する構成のみを示す。
【００１８】
制御部１０は、ＰＯＳ端末１の各部の制御を行う。
このうち、商品登録部１１は、商品登録処理を実行する。具体的には、商品登録部１１は、ＰＯＳ端末１に接続されている不図示の読み取り機を介して商品に付されたバーコードを読み取って得た商品バーコード等をキーに、図１の商品マスタ３を検索する。商品登録部１１は、検索により取得した商品情報を、所定のテーブルに格納していく。
【００１９】
データベース１３には、商品マスタ３等の必要なデータテーブル等を格納する。データベース１３に格納される各種データテーブルについては、後に図６〜９、図１３を参照して説明する。
【００２０】
クーポン処理部１４は、クーポン情報生成部１５及び値引処理部１６を有し、クーポンに関する処理を実行する。
【００２１】
クーポン処理部１４のうち、クーポン情報生成部１５は、不図示の読み取り機で読み取った二次元コードからクーポン情報を取得して、取得したクーポン情報をデータベース１３の所定のテーブルに格納する。
【００２２】
値引処理部１６は、クーポン情報生成部１５が生成したクーポン情報を参照して、商品登録を行った複数の商品についての商品情報のうち、クーポン情報が示すクーポンが値引の対象とする組み合わせに含まれる商品についての商品情報を抽出する。値引取引部１６は、抽出した商品情報のうち、クーポン対象となる商品の組み合わせが成立する商品情報や、組み合わせの成立数を判断する。値引取引部１６は、クーポン情報のうちの商品の組み合わせに対する値引額と、組み合わせの成立数とから、クーポンによる値引額を算出する。
【００２３】
会計処理部１２は、クーポン処理部１４が算出した値引額の分を減算した上で、登録された商品についての会計処理を実行する。
【００２４】
本実施形態に係るＰＯＳ端末１によれば、サーバ２からクーポンに関する情報を取得する必要がなく、接続されている読み取り機でクーポン券から読み取った情報に基づき、クーポン対象となる所定の商品の組み合わせで商品を購入する顧客に対し、値引をして取引処理を実行する。以下に、本実施形態に係るＰＯＳ端末１による取引処理の実行方法について、具体的に説明する。
【００２５】
図３及び図４は、本実施形態において使用されるクーポン券について説明する図である。実施例では、図３及び図４の２とおりのクーポン券を用意する。
【００２６】
このうち、図３は、複数の商品群のそれぞれから所定の商品を購入する場合に値引するクーポン券を例示する。図３のクーポン券の例によれば、「○○社の唐揚げ粉」と「鶏肉各種」をまとめて購入した場合には、２０円の値引を行う。
【００２７】
図３（ａ）は、クーポン券を例示する図であり、図３（ｂ）は、クーポン券に印字されている二次元コード上の情報を例示する図であり、図３（ｃ）は、クーポン券に設定されている情報のデータ構造を例示する図である。ここでは、２つの商品群のそれぞれに属する商品を１点ずつ購入した場合に値引をするクーポンを例示する。
【００２８】
図３（ａ）に示すとおり、クーポン券には、値引対象となる商品の組み合わせ（（ｅ）及び（ｆ））、値引額（ｄ）、利用可能な期間（ｃ）、利用限度取引回数（ｈ）及び二次元コード３０が印字されている。
【００２９】
読み取り機で二次元コード３０を読み取って得られるコードの一例を図３（ｂ）に示す。二次元コード３０から得られるコードには、（ａ）クーポンタイプ、（ｂ）クーポンコード、（ｃ）有効期間情報、（ｄ）値引金額情報、（ｅ）対象商品群Ａ、（ｆ）対象商品群Ｂ、（ｈ）成立回数情報及び（ｉ）値引集計部門の情報を含んでいる。
【００３０】
図３（ｃ）に示すように、（ａ）クーポンタイプは、クーポンタイプを識別するフラグ等の識別情報である。実施例では、図３及び図４に例示するような２とおりのクーポンタイプを識別するために、フラグを用いている。図３（ａ）に示す例では、クーポンタイプ「０」であることを表す値が設定されている。
【００３１】
（ｂ）クーポンコードは、ＰＯＳ端末１の上位装置であるサーバ２に送信する管理コードである。クーポンコードは、クーポンを識別するための情報であり、クーポンコードにより、ＰＯＳ端末１は、顧客に対して提供される複数のクーポンのうち、いずれのクーポンであるかを識別する。
【００３２】
（ｃ）有効期間情報には、図３（ａ）のクーポン券により値引を行う期間を表す値が設定され、（ｄ）値引金額情報には、図３（ａ）のクーポン券により値引される金額が設定される。
【００３３】
（ｅ）対象商品群Ａは、クーポンの対象となる商品の組み合わせのうち、一方の商品を識別する値が設定される。図３に示す例では、商品「○○社唐揚げ粉」のバーコード情報が設定される。バーコード情報とは、商品マスタ３上の商品を識別するための商品識別情報であり、実施例では、１３桁からなる商品バーコードを使用する。
【００３４】
（ｆ）対象商品群Ｂは、対象商品群Ａと組み合わされることによりクーポンの対象となる商品を識別する値が設定される。図３に示す例では、商品群「鶏肉各種」が属する分類コードが設定される。分類コードは、商品が属する区分を識別する商品分類識別情報である。実施例では、分類コードを対象商品群ＡやＢに設定する場合は、図３（ｂ）や図３（ｃ）に示すように、先頭に「ｘ」を付す。これにより、ＰＯＳ端末１のクーポン処理部１４は、対象商品群に設定されているのが商品バーコードか、あるいは分類コードかを判別する。
【００３５】
このように、対象商品群ＡやＢには、２以上の商品の商品バーコードを設定したり、分類コードを設定したりすることによって、複数の商品を設定し得る。このため、本実施形態の説明においては、商品「群」の語を用いている。以降の説明においては、クーポンの対象となる商品数によらず、一律に商品「群」の語を用いることとする。
【００３６】
なお、対象商品群Ａ、Ｂについては、１または２以上の商品バーコードを設定する構成としてもよいし、１または２以上の分類コードを設定する構成としてもよい。商品バーコード及び分類コードの両方を１つの商品群に設定することもできる。
【００３７】
（ｈ）成立回数情報は、１回の取引において、対象商品群ＡとＢの組み合わせのうち、クーポンコード「１１１１１１１１」により識別されるクーポンで値引取引を許可する組み合わせ数の最大値が設定される。例えば、図３のクーポン券の利用に対しては、商品「唐揚げ粉」と分類コード「鶏肉各種」の組み合わせのうち、３組までは値引をするが、これら商品の組み合わせが購入商品中に４組以上含まれる場合であっても、３組までしか値引を認めない。
【００３８】
（ｉ）値引集計部門は、ＰＯＳシステム５を利用する企業等の各部門のうち、値引した金額を計上する部門を表すコードが設定される。
【００３９】
図４は、ある商品群の中から所定の点数の商品をまとめて購入する場合に値引するクーポン券を例示する。図４のクーポン券の例によれば、「○○社の各種インスタントラーメン」を２点購入した場合には、５０円の値引を行う。
【００４０】
図４（ａ）は、クーポン券を例示する図であり、図４（ｂ）は、クーポン券に印字されている二次元コード上の情報を例示する図であり、図４（ｃ）は、クーポン券に設定されている情報のデータ構造を例示する図である。図３と同様の構成については説明を省略し、ここでは、図３の構成と異なる点を中心に説明する。
【００４１】
図４に示す例では、クーポン券の二次元コード３０から得られる情報のうち、１つの対象商品群すなわち（ｅ）対象商品群Ｃと、（ｇ）組み合わせ点数情報とを含む点で図３のクーポン券のコードと異なっている。
【００４２】
前述のとおり、本実施形態に係るＰＯＳ端末１は、サーバ２から値引に関する情報を取得することなく、図３や図４等に例示するクーポン券の二次元コードから読み取った情報を利用して、組み合わせ商品に対する値引を行う。以下に、ＰＯＳ端末１が、クーポン券の二次元コード３０から読み取った情報を利用して、所定の条件を満たす商品の組み合わせに対して値引をした上で取引処理を実行する方法について、具体的に説明する。
【００４３】
図５Ａ及び図５Ｂは、本実施形態に係るＰＯＳ端末１による取引処理を示したフローチャートである。ＰＯＳ端末１の制御部１０が、端末１の電源の投入により、処理の開始を認識したことを契機として、図５Ａ及び図５Ｂに示す一連の処理を開始する。
【００４４】
まず、ステップＳ１において、制御部１０は、本実施形態に係る取引処理に利用する各種テーブルの領域をクリアし、ステップＳ２において、制御部１０は、取引処理で使用する変数ｊ、ｋ、ｐ、ｑ、ｒを初期化する。使用する各種テーブルの具体的な構造例等については、後に図面を参照して説明する。
【００４５】
ステップＳ３において、制御部１０は、バーコード等の読み取りがあったか否かを判定する。ここでは、商品に付されているバーコードまたはクーポン券の二次元コードの読み取りがあったか否かを判定している。ＰＯＳ端末１に接続されている読み取り機から商品バーコード等の入力があった場合には、ステップＳ４に進み、制御部１０は、読み取り機が読み取ったコードが、クーポン券から読み取った二次元コードであるか否かを判定する。ステップＳ４においては、読み取ったコードのフォーマットが商品のバーコードあるいはクーポンの二次元コードのいずれについてのものであるかを判断している。ステップＳ４の判定の結果、クーポンの二次元コードである場合は、ステップＳ５へと処理を移行させ、商品のバーコードである場合は、ステップＳ６へと処理を移行させる。
【００４６】
ステップＳ５では、クーポン処理部１４のクーポン情報生成部１５が、クーポン情報生成処理を実行する。クーポン情報生成処理の詳細については、後に図１１等を参照して説明する。
【００４７】
ステップＳ６では、商品登録部１１が、ステップＳ３において読み取った商品バーコード（バーコード情報）をキーに商品マスタ３を検索し、対応する商品情報を抽出する。
【００４８】
図６は、商品マスタ３の構造例を示す図である。図６に示すように、実施例では、商品マスタ３においては、商品バーコードと対応付けて、商品名、価格及び分類コードが設定されている。このうち、分類コードについては、商品が属する区分を表し、例えば図６に示す例では、分類コード「３００１」は野菜、「３００３」は鶏肉、「３００９」は牛乳、「３０１０」は乾麺、「３０１２」は文具に区分される商品であることを表す。
【００４９】
前述のとおり、商品マスタ３には、ＰＯＳ端末１がサーバ２の商品マスタ２１から取得した情報が格納されている。
【００５０】
ステップＳ７では、商品登録部１１は、登録済の商品数をカウントするための変数ｐに１を加算して、ステップＳ８で、登録商品テーブルにステップＳ６で抽出した商品情報を登録する。
【００５１】
図７は、登録商品テーブルの構造例を示す図である。図７に示すように、登録商品テーブルは、商品バーコード、商品名、価格、分類コード及び商品フラグを含む。
【００５２】
登録商品テーブルを構成する情報のうち、商品バーコード、商品名、価格及び分類コードについては、図６の商品マスタ３より取得した情報が格納される。
【００５３】
なお、商品バーコードが同一の商品が２点登録された場合等には、以下の値引額の算出方法においては、商品情報が２件登録されているものとして処理する。
【００５４】
商品フラグは、商品情報が、クーポンが値引の対象とする商品の組み合わせを成立させると判断されたものであるか否かを示す値引対象情報から構成される。実施例では、クーポンが値引の対象とする商品の組み合わせを成立させると判断された商品情報には、商品フラグに「１」を、未だ値引対象の商品の組み合わせを成立させると判断されていない商品の商品情報には、商品フラグに「０」を設定する。これにより、登録された商品情報の中に、クーポンの対象となる商品の組み合わせが複数組含まれる場合や、ある商品が複数のクーポンの対象となる場合等であっても、図３の成立回数情報が示す値を超えない範囲で、重複することなく適切に値引をすることが可能となる。商品フラグの具体的な設定方法については、図１２Ａ〜図１２Ｈ等を参照して詳しく説明する。
【００５５】
ステップＳ８では、商品登録部１１は、登録商品テーブルのｐ行目に、ステップＳ６で取得した商品情報と、商品フラグの初期値「０」とを登録する。そして、ステップＳ９で、商品登録部１１は、登録商品の合計金額を表す変数ｋに、ステップＳ８において登録商品テーブルのｐ行目に登録した商品情報のうちの「価格」を加算して、ステップＳ１０に進む。ステップＳ１０においては、商品登録部１１は、商品登録処理が完了したか否かを、小計キーが押下されたか否か等により判定する。商品登録処理が未完了の場合は、ステップＳ３に戻り、上記の商品登録処理を繰り返す。商品登録処理が完了した場合は、処理をステップＳ１１へと移行させる。
【００５６】
ステップＳ１１で、制御部１０は、クーポン券の二次元コードの読み取りがあったか否かを判定する。ステップＳ１１においては、読み取ったコードのフォーマットが、クーポンの二次元コードのそれであるか否かを判断している。クーポン券の二次元コードの読み取りがあった場合には、処理をステップＳ１２へと移行させる。ステップＳ１２においては、クーポン情報生成部１５が、クーポン情報生成処理を実行し、処理をステップＳ１３へと移行させる。ステップＳ１２のクーポン情報生成処理については、ステップＳ５のそれと同様であり、後に図１１等を参照して説明する。クーポン券の二次元コードの読み取りがなかった場合には、特に処理を行わず、ステップＳ１３へと処理を移行させる。
【００５７】
ステップＳ１３では、制御部１０は、クーポン券から読み取ったデータを格納するクーポンテーブルを管理するための変数ｑ及びｒの値のいずれかが「０」でないかを判定する。変数ｑ及びｒのうち、少なくとも一方の値が０以外であれば、ステップＳ１４へと進む。変数ｑ及びｒのいずれについても値が０である場合は、取引においてはクーポンの利用はないと判断し、特に処理を行わず、ステップＳ１５へと処理を移行させる。
【００５８】
ここで、クーポンテーブルとは、前述のクーポン情報を格納するテーブルをいい、実施例では、図３及び図４のクーポンタイプに応じて、それぞれクーポンテーブル０及びクーポンテーブル１を用意している。図３のクーポンタイプ０のクーポンについては、二次元コードを読み取って得られる情報は、図８に示すクーポンテーブル０に格納する。図４のクーポンタイプ１のクーポンについては、二次元コードを読み取って得られる情報は、図９に示すクーポンテーブル１に格納する。
【００５９】
図８及び図９は、クーポンテーブルの構造例を示す図である。図８及び図９は、それぞれ図３及び図４に例示するクーポンタイプのクーポン券の二次元コードを読み取って得られる図３（ｂ）及び図４（ｂ）のコードから生成する。
【００６０】
図８の「クーポンタイプ０」のクーポンテーブル０は、クーポンコード１、有効期間１、値引金額１、商品コードＡ、商品コードＢ、成立回数１及び値引集計部門１を含む。クーポンテーブル０を構成する情報は、クーポン券の二次元コードに含まれる情報、図３（ｂ）では、（ｂ）乃至（ｆ）、（ｈ）乃至（ｉ）の情報とそれぞれ対応している。
【００６１】
図９の「クーポンタイプ１」のクーポンテーブル１は、クーポンコード２、有効期間２、値引金額２、対象コードＣ、組み合わせ点数、成立回数２及び値引集計部門２を含む。クーポンテーブル１を構成する情報は、クーポン券の二次元コードに含まれる情報、図４（ｂ）では、（ｂ）乃至（ｅ）及び（ｇ）乃至（ｉ）の情報とそれぞれ対応している。
【００６２】
なお、図３（ｂ）や図４（ｂ）に例示するように、実施例では、符号「ａ」〜「ｉ」が各情報の前に付されている。ＰＯＳ端末１の制御部１０は、クーポンの二次元コードを読み取って得られるコード上のａ〜ｉの符号を参照して、符号に続く情報を取得し、クーポンテーブル０、１の対応する箇所に取得した情報を格納していく。
【００６３】
ステップＳ１４では、クーポン処理部１４の値引処理部１６が、クーポン値引処理を実行する。クーポン値引処理では、まず、図８や図９に示すクーポンテーブルに格納されている情報に基づき、ステップＳ３〜ステップＳ９の処理で図７の登録商品テーブルに登録した商品情報のうち、クーポンの商品の組み合わせの条件を満たす商品情報を抽出する。値引処理部１６は、クーポンテーブルを参照して、抽出した商品情報のうち、クーポン対象の商品の組み合わせが成立する商品情報と、組み合わせの成立数とを判断する。そして、値引処理部１６は、クーポンテーブルに格納されている値引金額と、組み合わせの成立数とから、値引額ｊを算出する。クーポン値引処理の詳細については、図１２Ａ〜図１２Ｈ等を参照して説明する。
【００６４】
ステップＳ１５で、会計処理部１２は、現金が投入されたか否かを判定し、釣銭釣札機に現金が投入されると、処理をステップＳ１６へと進める。ステップＳ１６で、会計処理部１２が、入金された現金を計数し、ステップＳ１７で、会計処理部１２が、登録商品の合計金額ｋから値引額ｊを減算し、請求額を算出する。
【００６５】
ステップＳ１８では、会計処理部１２は、ステップＳ１６で計数した入金金額からステップＳ１７で算出した請求額を減算して、釣銭の額を求めると、ステップＳ１９で、制御部１０は、レシートの編集及び印字を実行させる。そして、ステップＳ２０で、制御部１０は、釣銭やレシートを出力すると、１つの取引処理を終了し、ステップＳ１に戻る。
【００６６】
図１０は、本実施形態に係るＰＯＳ端末１が、図３のクーポン券を用いて組み合わせの商品につき値引を行った場合のレシートの例を示す図である。顧客の購入した商品（登録商品テーブルに登録された商品情報）には、クーポンテーブル０のクーポン対象商品に該当する商品の組「○○社唐揚げ粉」及び「鶏肉（もも）」が１組（＊）含まれている。このため、値引は図３の「組み合わせクーポン」による旨を明記した上で、値引処理は１回成立であること（値引は１組の商品について成立していること）や、値引額「２０円」分の値引がなされていることがレシートに記載されている。
【００６７】
次に、本実施形態に係るＰＯＳ端末１が、接続されている読み取り機で読み取ったクーポン券の二次元コードに基づき、登録された商品の中からクーポンの条件を満たす商品の組み合わせを判断してこれに対して値引を行う方法について、具体的に説明する。
【００６８】
図１１は、図５ＡのステップＳ５や図５ＢのステップＳ１２のクーポン情報生成処理の詳細を示したフローチャートである。
【００６９】
クーポン情報生成処理では、まず、ステップＳ３１で、クーポン情報生成部１５は、図３（ｂ）や図４（ｂ）に例示するコードの中から、クーポンタイプを参照し、クーポンタイプ０であるか否かを判定する。クーポンタイプ０である場合はステップＳ３２に進み、クーポンタイプ０でない場合はステップＳ４０に進む。
【００７０】
ステップＳ３２以降においては、クーポン情報生成部１５は、読み取ったコードからクーポンテーブル０の各項目に該当する情報を順次取得して、図８のクーポンテーブル０の所定の箇所に格納していく。
【００７１】
具体的には、ステップＳ３２で、読み取ったコードのうち、クーポンコードを、クーポンテーブル０のｑ行目のクーポンコード１に格納する。ステップＳ３３では、読み取ったコードのうち、有効期間情報を、クーポンテーブル０のｑ行目の有効期間１に格納し、ステップＳ３４で、読み取ったコードのうち、値引金額情報を、クーポンテーブル０のｑ行目の値引金額１に格納する。ステップＳ３５で、読み取ったコードのうち、対象商品群Ａの商品コード等を、クーポンテーブル０のｑ行目の商品コードＡに格納し、ステップＳ３６で、対象商品群Ｂの商品コード等を、クーポンテーブル０のｑ行目の商品コードＢに格納する。ステップＳ３７で、読み取ったコードのうち、成立回数情報を、クーポンテーブル０のｑ行目の成立回数１に格納し、ステップＳ３８で、読み取ったコードのうち、値引集計部門を、クーポンテーブル０のｑ行目の値引集計部門１に格納すると、ステップＳ３９で、カウンタｑに１を加算して、処理を終了する。
【００７２】
先のステップＳ３１において判定した結果、クーポンタイプ０でない場合には、ステップＳ４０で、クーポン情報生成部１５が、クーポンタイプ１であるか否かを更に判定する。クーポンタイプ１である場合は、ステップＳ４１に進み、クーポンタイプ１でない場合は、ＰＯＳ端末１で取り扱うことのできないクーポンであると判断し、処理を終了する。
【００７３】
ステップＳ４１以降においては、クーポン情報生成部１５は、読み取ったコードからクーポンテーブル１の各項目に該当する情報を順次取得して、図９のクーポンテーブル１の所定の箇所に格納していく。
【００７４】
具体的には、ステップＳ４１で、読み取ったコードのうち、クーポンコードを、クーポンテーブル１のｒ行目のクーポンコード２に格納する。ステップＳ４２では、読み取ったコードのうち、有効期間情報を、クーポンテーブル１のｒ行目の有効期間２に格納し、ステップＳ４３で、読み取ったコードのうち、値引金額情報を、クーポンテーブル１のｒ行目の値引金額２に格納する。ステップＳ４４で、読み取ったコードのうち、対象商品群Ｃの商品コード等を、クーポンテーブル１のｒ行目の対象コードＣに格納し、ステップＳ４５で、組み合わせ点数情報を、クーポンテーブル１のｒ行目の組み合わせ点数に格納する。ステップＳ４６で、読み取ったコードのうち、成立回数情報を、クーポンテーブル１のｒ行目の成立回数２に格納し、ステップＳ４７で、読み取ったコードのうち、値引集計部門を、クーポンテーブル１のｒ行目の値引集計部門２に格納すると、ステップＳ４８で、カウンタｒに１を加算して、処理を終了する。
【００７５】
このように、ＰＯＳ端末１は、クーポン券の二次元コードを読み取って得られるコードよりクーポンテーブル０、１の各項目に情報を格納していくことにより、商品の値引に必要な情報を得る。
【００７６】
次に、生成したクーポン情報すなわちクーポンテーブル０、１を用いて、クーポン対象となる商品の組み合わせを判断して値引額を算出する方法について、図１２Ａ〜図１２Ｈ等を参照して説明する。
【００７７】
図１２Ａ〜図１２Ｈは、図５ＢのステップＳ１４のクーポン値引処理の詳細を示したフローチャートである。
【００７８】
クーポン値引処理では、まず、ステップＳ５１で、値引処理部１６は、クーポン値引処理において用いる各種変数を初期化する。前述のとおり、変数ｊは、１取引で値引される総値引額を算出するために使用する。変数ｍ及びｉについては後述する。
【００７９】
ステップＳ５２で、値引処理部１６は、前述の変数ｑの値が０であるか否か、すなわち、クーポンタイプ０のクーポンテーブル０に情報が未登録であるか否かを判定する。ｑ≠０すなわちクーポンタイプ０のクーポンテーブル０に情報が登録されている場合は、ステップＳ５３へと処理を移行させ、ｑ＝０すなわちクーポンテーブル０に情報が未登録である場合は、ステップＳ９１へと処理を移行させる。
【００８０】
ステップＳ５３で、値引処理部１６は、変数ｍとｑとの大小関係を比較する。変数ｍは、クーポンタイプ０のクーポンテーブル０の行数ｑと比較するために用いる。変数ｍがｑを超える場合、すなわち、クーポンテーブル０の全ての行について処理が完了している場合は、ステップＳ９１へと処理を移行させ、変数ｍがｑ以下の場合、すなわち、クーポンテーブル０に未処理の行が存在する場合は、ステップＳ５４に進む。
【００８１】
ステップＳ５４で、値引処理部１６は、クーポンテーブル０のｍ行目の有効期間１と、ＰＯＳ端末１の制御部１０が管理する日付情報（本日日付）とを比較する。有効期間１に日付が含まれていない場合は、処理をステップＳ９０へと移行さる。日付が有効期間１に含まれる場合は、ステップＳ５５に進む。
【００８２】
ステップＳ５５で、値引処理部１６は、クーポンテーブル０のチェックに使用する変数ｎ、ｘ、ｙを初期化する。ｎは、図７の登録商品テーブルのうち、処理対象の行を表す。ｘ及びｙは、登録商品テーブルに登録されている商品のうち、それぞれ図８の商品コードＡ及びＢと一致する商品数をカウントするために使用する。
【００８３】
ステップＳ５６以降の処理においては、登録商品テーブルに登録されている商品情報の中から、クーポンの対象となる商品の組み合わせに含まれる商品についての商品情報を抽出する。
【００８４】
具体的には、まず、ステップＳ５６で、値引処理部１６は、変数ｎと登録商品テーブルに登録済の商品数ｐとの大小関係を比較する。登録済の商品数ｐについては、図５ＡのステップＳ３〜ステップＳ１０の説明で述べたとおりである。変数ｎがｐを超える場合、すなわち、ｐ点の全ての登録商品についてチェックが完了している場合は、ステップＳ６５へと処理を移行させ、抽出した商品情報より、クーポン対象となる商品の組み合わせの成立数を判断する。変数ｎがｐ以下の場合、すなわち、未チェックの登録商品が存在する場合は、ステップＳ５７に進む。
【００８５】
ステップＳ５７で、値引処理部１６は、図７の登録商品テーブルのうち、ｎ行目の商品フラグを参照し、ｎ行目の商品が既に値引対象と判断されたものであるか否かを判定する。商品フラグの値が１である場合、すなわち、ｎ行目の商品情報に対応する商品が既に値引対象と判断されている場合は、処理をステップＳ６４へと移行させる。商品フラグの値が０である場合、すなわち、ｎ行目の商品情報に対応する商品がまだ値引対象と判断されていない場合は、ステップＳ５８に進む。
【００８６】
ステップＳ５８で、値引処理部１６は、図８のクーポンテーブル０のｍ行目の商品コードＡの中に、図７の登録商品テーブルのｎ行目の商品バーコードと一致するものが存在するか否かを判定する。クーポンテーブル０のｍ行目の商品コードＡの中に、登録商品テーブルのｎ行目の商品バーコードと一致するものが存在する場合は、ステップＳ６０へと処理を移行させる。ｍ行目の商品コードＡには、登録商品テーブルのｎ行目の商品バーコードと一致するものが存在しない場合は、ステップＳ５９に進む。
【００８７】
ステップＳ５９で、値引処理部１６は、クーポンテーブル０のｍ行目の商品コードＡの中に、登録商品テーブルのｎ行目の分類コードと一致するものが存在するか否かを判定する。前述のとおり、実施例では、商品が属する区分を表す分類コードでもクーポンの対象商品が指定されているため、ステップＳ５９の判定を行っている。クーポンテーブル０のｍ行目の商品コードＡの中に、登録商品テーブルのｎ行目の分類コードと一致するものが存在するか否かに応じて、それぞれステップＳ６０及びステップＳ６１へと処理を移行させる。
【００８８】
ステップＳ６０では、値引処理部１６は、商品コードＡと一致する商品の数をカウントするための変数ｘに１を加算し、処理をステップＳ６４へと移行させる。
【００８９】
ステップＳ６１〜ステップＳ６３の処理においては、登録商品テーブルのｎ行目の商品バーコードや分類コードと比較する商品コードは、クーポンテーブル０の商品コードＢである点で、上記のステップＳ５８〜ステップＳ６０の処理と異なる。値引処理部１６は、クーポンテーブル０のｍ行目の商品コードＢの中に、商品登録テーブルのｎ行目の商品バーコードまたは分類コードと一致するものが存在する場合は、商品コードＢと一致する商品の数をカウントするための変数ｙに１を加算し、処理をステップＳ６４へと移行させる。
【００９０】
ステップＳ６４で、値引処理部１６は、登録商品テーブルのうち、チェック中の行を表す変数ｎに１を加算し、ステップＳ５６に戻り、登録商品テーブルの次の行に対し、同様の処理を実行する。
【００９１】
登録商品テーブルに登録されているｐ行の全ての商品情報について上記の処理を実行すると、クーポンテーブル０のｍ行目の商品コードＡと一致する商品情報の件数ｘ及び商品コードＢと一致する商品情報の件数ｙがカウントされる。登録商品テーブルのｐ行の全ての商品情報について上記の処理が完了した場合には、処理をステップＳ５６からステップＳ６５へと移行させ、抽出した商品情報より、クーポン対象となる商品の組み合わせの成立数を判断する。
【００９２】
ステップＳ６５で、値引処理部１６は、変数ｘ及びｙの値が０でないかを判定する。変数ｘ及びｙのいずれも値が０の場合または一方の値が０の場合は、登録商品テーブルにはクーポン対象となる商品についての商品情報は登録されていないと判断し、処理をステップＳ９０へと移行させる。変数ｘ及びｙのいずれも値が０以外の場合は、ステップＳ６６に進む。
【００９３】
ステップＳ６６で、値引処理部１６は、変数ｘとｙとの大小関係を比較する。前述のとおり、ｘ及びｙは、それぞれ商品コードＡ及びＢと一致する商品バーコードまたは分類コードを有する商品情報の件数を表している。組み合わせで値引して販売することのできる組の数は、ｘ及びｙのうち小さい方で表されている。このため、ｘの方が小さい場合はステップＳ６７に進み、変数ｚにｘの値を設定し、ｙの方が小さい場合はステップＳ６８に進み、変数ｚにｙの値を設定して、ステップＳ６９に進む。
【００９４】
ステップＳ６９で、値引処理部１６は、ステップＳ６７またはステップＳ６８で設定した変数ｚの値と、クーポンテーブル０のｍ行目の成立回数１との大小関係を比較する。変数ｚが成立回数１以下である場合は、上記の処理で抽出された商品情報が表す商品からなる全ての組み合わせに対して値引をすることができると判断する。この場合は、特に処理を行わず、処理をステップＳ７１へと移行させる。一方、変数ｚが成立回数１を超える場合は、抽出された商品情報が表す商品からなる組み合わせの数が、制限数を超えており、全ての組に対して値引をすることができない。この場合は、ステップＳ７０で、値引処理部１６は、変数ｚに成立回数１を設定し、処理をステップＳ７１へと移行させる。
【００９５】
ステップＳ７１以降の処理では、値引処理部１６は、クーポンテーブル０の商品コードＡ及び商品コードＢと一致する商品につき、登録商品テーブルの商品フラグに「１」を設定して、ｚ組の商品の組み合わせを成立させる商品情報（成立商品情報）を判断し、確定させていく。
【００９６】
まず、ステップＳ７１で、値引処理部１６は、変数ｎ、ｘ、ｙを初期化して、ステップＳ７２で、変数ｘ及びｙが、いずれも値がｚに等しいか否かを判定する。ｘ＝ｚ且つｙ＝ｚの条件を満たすのは、当該クーポンの対象となる商品の組の全てについて処理が完了した場合である。この場合は、処理をステップＳ８５へと移行させる。ｘ及びｙのうち少なくとも一方にｚ以外の値が設定されている場合は、ステップＳ７３に進む。
【００９７】
ステップＳ７３で、値引処理部１６は、登録商品テーブルのｎ行目の商品フラグの値が０であるか否かを判定する。商品フラグに１が設定されている場合は、ｎ行目の商品情報が表す商品についてはすでにクーポンタイプ０のクーポンでの値引対象に設定されているとして、特に処理を行わず、ステップＳ８４へと処理を移行させる。商品フラグに０が設定されている場合は、ステップＳ７４に進む。
【００９８】
ステップＳ７４で、値引処理部１６は、変数ｘの値が、組み合わせの成立数ｚに等しいか否かを判定する。ｘ＝ｚの場合は、組み合わせで値引をする商品のうち、商品コードＡに属する商品については全て商品フラグを１に設定し終えたと判断し、ステップＳ７９へと処理を移行させる。ｘ≠ｚの場合は、ステップＳ７５に進む。
【００９９】
ステップＳ７５及びステップＳ７６においては、値引処理部１６は、クーポンテーブル０のｍ行目のクーポンの商品コードＡの中に、図７の登録商品テーブルのｎ行目の商品バーコードや分類コードと一致するものを検索する。商品コードＡの中に商品バーコードや分類コードと一致するものが存在する場合は、ステップＳ７７で、ｘに１を加算し、ステップＳ７８で、成立商品情報の商品フラグに１を設定して、ステップＳ８４へと処理を移行させる。商品コードＡには商品バーコードや分類コードと一致するものが存在しない場合は、特に処理を行わず、ステップＳ７９へと処理を移行させる。
【０１００】
ステップＳ７９〜ステップＳ８３の処理においては、ステップＳ７４〜ステップＳ７８の処理とそれぞれ同様の処理を行う。具体的には、クーポンテーブル０のｍ行目の商品コードＢの中に、商品バーコードや分類コードと一致するものが存在する場合は、登録商品テーブルの成立商品情報の商品フラグに１を設定するとともに、ｙに１を加算して、ステップＳ８４へと処理を移行させる。
【０１０１】
ステップＳ８４で、値引処理部１６は、登録商品テーブルのうち、チェック中の行を表す変数ｎに１を加算して、ステップＳ７２に戻る。前述のとおり、ステップＳ７２においては、ｘ＝ｚ且つｙ＝ｚの条件を満たす場合には、当該クーポンの対象となる商品の組の全てについて、商品情報の商品フラグの設定処理が完了しているとして、処理をステップＳ８５へと移行させる。このように、ステップＳ７２においてｘ＝ｚ且つｙ＝ｚの条件を満たすまで上記の処理を繰り返すと、登録商品テーブルの先頭の商品情報から順に、商品コードＡ／商品コードＢと一致する商品バーコード等の商品情報については、成立商品情報と判断されていくこととなる。商品コードＡと商品バーコード等が一致する１件目の成立商品情報の商品と、商品コードＢと商品バーコード等が一致する１件目の成立商品情報の商品とで、クーポン対象となる商品の組み合わせが１組成立すると判断する。２組目以降についても同様の判断を行っていき、ｚ組目の商品の組み合わせが成立する（ｘ＝ｚ且つｙ＝ｚを満たす）と判断すると、処理をステップＳ８５へと移行させる。
【０１０２】
ステップＳ８５以降の処理では、レシートに出力する値引に関する情報を格納するための値引データ編集テーブルの各項目に値を設定する。
【０１０３】
図１３は、値引データ編集テーブルの構造例を示す図である。図１３に示すように、実施例では、値引データ編集テーブルは、クーポン種別、成立回数及び値引額を含む。
【０１０４】
クーポン種別は、クーポンタイプ０または１のいずれのタイプのクーポンであるかを示す情報が格納される。実施例では、図３に例示するクーポンのクーポン種別は「組合せクーポン」、図４に例示するクーポンについては「よりどりクーポン」とする。
【０１０５】
成立回数については、上述のとおりであり、１枚のクーポン券により値引する商品の組の数が格納される。
【０１０６】
値引額は、１枚のクーポン券により値引される総額が格納される。
値引データ編集テーブルの各項目の値の設定方法については、具体的には、ステップＳ８５で、値引処理部１６は、値引データ編集テーブルの「クーポン種別」には、組み合わせクーポンであることを表す値を設定する。ステップＳ８６で、値引処理部１６は、値引データ編集テーブルの成立回数に、変数ｚの値を設定する。ステップＳ８７で、値引処理部１６は、値引データ編集テーブルの値引額に、クーポンテーブル０のｍ行目の値引金額１に変数ｚ（すなわち成立回数）の値をかけて得られる値を設定する。そして、ステップＳ８８で、値引処理部１６は、総値引額を表す変数ｊにステップＳ８７で求めた額を加算する。ステップＳ８９で、値引処理部１６は、値引データ編集テーブルの行をカウントする変数ｉに１を加算し、ステップＳ９０で、クーポンテーブル０の行をカウントする変数ｍに１を加算して、ステップＳ５３に戻る。
【０１０７】
以降は、クーポンテーブル０の次の行ｍを参照して、クーポンテーブル０に次に登録されたクーポンの対象となる商品情報の抽出や組み合わせの成立数（値引できる組の数）ｚの判断、組み合わせが成立する商品についての商品情報には、商品フラグに値「１」を設定する処理を実行する。クーポンテーブル０に登録されているｑ行の全てについて処理を実行すると、ステップＳ９１へと処理を移行させる。
【０１０８】
ステップＳ９１以降の処理では、登録商品テーブルに登録されている商品の中に、クーポンタイプ１のクーポンで値引をすることができる商品が含まれている場合には、その商品情報の商品フラグに「１」を設定して総値引額ｊの変更等を行う。
【０１０９】
具体的には、まず、ステップＳ９１で、値引処理部１６は、変数ｍを初期化する。変数ｍは、以降の処理においては、クーポンタイプ１のクーポンテーブル１の行数ｒと比較するために用いている。
【０１１０】
ステップＳ９２で、値引処理部１６は、変数ｒの値が０であるか否か、すなわち、クーポンタイプ１のクーポンテーブル１に情報が未登録であるか否かを判定する。ｒ≠０すなわちクーポンタイプ１のクーポンテーブル１に情報が登録されている場合は、ステップＳ９３へと処理を移行させ、ｒ＝０すなわちクーポンテーブル１に情報が未登録である場合は、クーポン値引処理を終了する。
【０１１１】
ステップＳ９３で、値引処理部１６は、変数ｍとｒとの大小関係を比較することにより、クーポンテーブル１の全ての行につき処理が完了しているか否かを判定する。変数ｍがｒを超える場合は、クーポンテーブル１の全ての行につき処理が完了しているとして、クーポン値引処理を終了する。変数ｍがｒ以下の場合は、ステップＳ９４に進み、クーポンテーブル１のｍ行目のクーポンにつき、該当する商品の組み合わせが存在するか否かのチェックを行う。
【０１１２】
ステップＳ９４では、値引処理部１６は、クーポンテーブル１のｍ行目の有効期間２とＰＯＳ端末１の制御部１０が管理する日付情報（本日日付）とを比較して、有効期間２に日付が含まれていない場合は、処理をステップＳ１２０へと移行させる。日付が有効期間２に含まれる場合は、ステップＳ９５に進む。
【０１１３】
ステップＳ９５で、値引処理部１６は、クーポンテーブル１のチェックに使用する変数ｎ、ｘを初期化する。ｎは、図７の登録商品テーブルのうち、処理対象の行を表す。ｘは、登録商品テーブルに登録されている商品のうち、図９の商品コードＣと一致する商品数をカウントするために使用する。
【０１１４】
ステップＳ９６で、値引処理部１６は、変数ｎと登録商品テーブルに登録済の商品数ｐとの大小関係を比較する。変数ｎがｐを超える場合は、全ての登録商品についてチェックが完了しているとして、ステップＳ１０２へと処理を移行させ、抽出した商品情報より、クーポン対象となる商品の組み合わせの成立数を判断する。変数ｎがｐ以下の場合は、未チェックの登録商品が存在するとして、ステップＳ９７に進む。
【０１１５】
ステップＳ９７〜ステップＳ１００においては、値引処理部１６は、それぞれ上記のステップＳ５７〜ステップＳ６０の処理と同様の処理を実行する。すなわち、登録商品テーブルのｎ行目の商品フラグの値が０の未だ値引対象とされていないことを条件として（ステップＳ９７でＹＥＳ）、クーポンテーブル１のｍ行目の商品コードＣの中に、登録商品テーブルのｎ行目の商品バーコードや分類コードと一致するものが存在するか否かを判断する（ステップＳ９８及びステップＳ９９）。クーポンテーブル１のｍ行目の商品コードＣの中に、商品登録テーブルのｎ行目の商品バーコードや分類コードと一致するものが存在する場合（ステップＳ９８及びステップＳ９９でＹＥＳの場合）は、ステップＳ１００で、値引処理部１６は、ｍ行目のクーポンの商品コードＣと一致する商品の点数を表す変数ｘに１を加算する。
【０１１６】
ステップＳ１０１で、値引処理部１６は、登録商品テーブルのうち、チェック中の行を表す変数ｎに１を加算し、ステップＳ９６に戻る。そして、登録商品テーブルの次の行に対して、同様の処理を実行する。
【０１１７】
登録商品テーブルに登録されている全ての商品情報について上記の処理を実行すると、クーポンテーブル１のｍ行目の商品コードＣと一致する商品情報の件数ｘがカウントされる。登録商品テーブルの全ての商品情報について上記の処理が完了した場合には、処理をステップＳ９６からステップＳ１０２へと移行させ、抽出した商品情報より、クーポン対象となる商品の組み合わせの成立数を判断する。
【０１１８】
ステップＳ１０２で、値引処理部１６は、商品コードＣと一致する商品数を表す変数ｘと、クーポンテーブル１のｍ行目の組み合わせ点数との大小関係を判定する。ｘがクーポンテーブル１の「組み合わせ点数」未満である場合は、特に処理を行わず、処理をステップＳ１２０へと移行させる。ｘが「組み合わせ点数」以上である場合は、ステップＳ１０３に進む。
【０１１９】
ステップＳ１０３で、値引処理部１６は、商品コードＣと一致する商品数ｘのうち、クーポン対象となる商品の組み合わせの成立数を算出する。具体的には、変数ｚには、変数ｘを「組み合わせ点数」で除算した場合の商を設定する。ステップＳ１０４及びステップＳ１０５の処理は、上記のステップＳ６９及びステップＳ７０の処理とそれぞれ同様である。クーポンテーブル１のｍ行目の成立回数２とｚとの大小関係により、ｚの最大値を成立回数２として、クーポンテーブル１のｍ行目のクーポンで値引する組の数をｚに設定する。
【０１２０】
ステップＳ１０６以降の処理では、値引処理部１６は、クーポンテーブル１の商品コードＣと一致する商品については登録商品テーブルの該当する商品情報の商品フラグに「１」を設定して、組み合わせを成立させる商品情報を判断し、確定させていく。
【０１２１】
まず、ステップＳ１０６で、値引処理部１６は、変数ｎ、ｘの値を初期化して、ステップＳ１０７で、ｘに組み合わせ点数にｚをかけた値を設定する。そして、ステップＳ１０８で、値引処理部１６は、ｘが０に等しいか否かを判定する。ｘ＝０の条件を満たすのは、当該クーポンの対象となる商品の全てについて処理が完了した場合である。この場合は、処理をステップＳ１１５へと移行させる。ｘ≠０である場合は、ステップＳ１０９に進む。
【０１２２】
ステップＳ１０９以降の処理では、値引処理部１６は、登録商品テーブルのｎ行目の商品情報の商品フラグが０（ステップＳ１０９でＹＥＳ）の場合に、その商品バーコードまたは分類コードが、クーポンテーブル１のｍ行目の商品コードＣと一致するか否かを判定していく（ステップＳ１１０〜ステップＳ１１１）。登録商品テーブルのｎ行目の商品バーコード等がクーポンテーブル１のｍ行目の商品コードＣと一致する場合には、値引対象の商品数ｘから１を減算し（ステップＳ１１２）、ｎ行目の成立商品情報の商品フラグに１を設定する（ステップＳ１１３）。ｎに１を加算すると（ステップＳ１１４）、ステップＳ１０９〜ステップＳ１１３の処理を、登録商品テーブルの商品情報のそれぞれについて実行していく。
【０１２３】
上記のステップＳ１０８の判定において、ｘ＝０となった場合には、クーポンテーブル１のｍ行目のクーポンにより値引される当該クーポンの対象となる商品について、商品情報の商品フラグに１が設定されたと判断して、処理をステップＳ１０８からステップＳ１１５へと移行させる。このように、ステップＳ１０８においてｘ＝０の条件を満たすまで上記の処理を繰り返すと、登録商品テーブルの先頭の商品情報から順に、商品コードＣと一致する商品バーコード等の商品情報については、成立商品情報と判断されていくこととなる。商品コードＣと商品バーコード等が一致する成立商品情報の件数が組み合わせ点数に一致するごとに、クーポン対象となる商品の組み合わせが１組成立すると判断する。２組目以降についても同様の判断を行っていき、ｚ組目の商品の組み合わせが成立する（ｘ＝０を満たす）と判断すると、処理をステップＳ１１５へと移行させる。
【０１２４】
ステップＳ１１５以降の処理では、値引処理部１６は、図１３の値引データ編集テーブルの各項目に値を設定していく。具体的には、ステップＳ１１５で、クーポン種別として、クーポンタイプ１であることを表す「よりどりクーポン」を設定し、ステップＳ１１６で、成立回数に、変数ｚの値を設定する。ステップＳ１１７で、クーポンテーブル１のｍ行目のクーポンで値引される金額として、クーポンテーブル１のｍ行目の値引金額２に成立回数を表すｚをかけて得られる値を設定する。ステップＳ１１８で、総値引額を表す変数ｊにステップＳ１１７で求めた値引額を加算すると、ステップＳ１１９でｉに１を加算し、ステップＳ１２０で、クーポンテーブル１の参照する行を表すｍに１を加算して、ステップＳ９３に戻る。クーポンテーブル１のｒ行の全ての行につき上記の処理が完了すると（ステップＳ９３でＹＥＳ）、クーポン値引処理を終了する。
【０１２５】
以上説明したように、本実施形態に係るＰＯＳ端末１によれば、クーポン券に印字された二次元コードから読み取ったクーポン情報をクーポンテーブルに格納し、クーポンテーブルの情報より、商品登録を行った複数の商品の中から、クーポンにより値引対象となる商品の組み合わせに含まれる商品についての商品情報を抽出する。ＰＯＳ端末１は、抽出された商品情報の中から、クーポン対象の組み合わせを成立させることのできる商品情報と、成立する組み合わせの数とを判断する。そして、ＰＯＳ端末１は、クーポンテーブルの組み合わせに対する値引額と、成立する組み合わせの数とから、そのクーポンにより値引される額を算出する。本実施形態に係るＰＯＳ端末１では、クーポン券からクーポン情報を取得することによりクーポンによる値引をすることができ、サーバ２から必要な情報を取得することが不要となる。このため、チェッカーが、レジにて登録した商品の中に、クーポンで値引対象となる商品の組み合わせが含まれているか否か等の確認作業や、ＰＯＳシステム５のサーバ２にクーポンに関する情報を登録する作業等が不要となる。これにより、チェッカー等の作業者の負担を増大させることなく、クーポンを利用して商品の組み合わせに対する値引を簡便に行うことが可能となる。
【０１２６】
なお、上記の実施形態においては、例えば図６において、分類コードは１階層の場合を例示するが、これに限定されるものではない。例えば、大分類、中分類、小分類の３階層で商品を区分して、クーポン券の対象商品群に設定する分類コードには、大中小いずれの分類コードを設定してもよい構成とすることもできる。
【０１２７】
この他にも、本発明は、本発明の要旨を逸脱しない範囲内で、種々の改良及び変更が可能である。例えば、前述の各実施形態に示された全体構成からいくつかの構成要素を削除してもよく、更には各実施形態の異なる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１２８】
１      ＰＯＳ端末
２      サーバ
３      ＰＯＳ端末の商品マスタ
４      値引クーポン券
５      ＰＯＳシステム
１０    制御部
１１    商品登録部
１２    会計処理部
１３    データベース
１４    クーポン処理部
１５    クーポン情報生成部
１６    値引処理部
２１    サーバの商品マスタ
３０    二次元コード
【図２】
2013206107.tif 000003
【図３】
2013206107.tif 000004
【図４】
2013206107.tif 000005
【図５Ａ】
2013206107.tif 000006
【図５Ｂ】
2013206107.tif 000007
【図６】
2013206107.tif 000008
【図７】
2013206107.tif 000009
【図８】
2013206107.tif 000010
【図９】
2013206107.tif 000011
【図１０】
2013206107.tif 000012
【図１１】
2013206107.tif 000013
【図１２Ａ】
2013206107.tif 000014
【図１２Ｂ】
2013206107.tif 000015
【図１２Ｃ】
2013206107.tif 000016
【図１２Ｄ】
2013206107.tif 000017
【図１２Ｅ】
2013206107.tif 000018
【図１２Ｆ】
2013206107.tif 000019
【図１２Ｇ】
2013206107.tif 000020
【図１２Ｈ】
2013206107.tif 000021
【図１３】
2013206107.tif 000022
【図１】
2013206107.tif 000023