以下、本発明を実施するための最良の形態について、図面を用いて説明する。
なお、この実施の形態は、ファーストフードのハンバーガショップに構築されたPOS(Point Of Sales)システムに本発明を適用した場合である。
図1は、本実施の形態におけるPOSシステムの概略図である。このPOSシステムは、複数台(図では3台)のPOS端末1A,1B,1Cと、これらPOS端末1A〜1Cの上位コンピュータとして機能するストアサーバ2とからなる。各POS端末1A〜1Cとストアサーバ2とは、LAN(Local Area Network)等のネットワーク3を介して、双方向通信自在に接続されている。
ストアサーバ2は、各POS端末1A〜1Cからの要求を受け、それを処理するもので、その処理に必要なデータファイルとして、特に、メニューマスタファイル4とセットマスタファイル5とを記憶管理している。
メニューマスタファイル4には、そのハンバーガショップで取扱う全てのメニュー商品毎に作成される商品データレコード4Dが格納されている。セットマスタファイル5には、各メニュー商品のうちセット商品についてそれぞれ作成されるセット商品データレコード5Dが格納されている。なお、セット商品とは、複数の商品を組み合わせ、各商品をそれぞれ単品で購入したときの価格よりも安いセット価格で販売する商品をいう。
商品データレコード4Dの主要部を図2に示す。図示するように、商品データレコード4Dには、品番、商品名、単価、商品区分、セット識別コード等のデータ項目が含まれている。項目「品番」は、メニュー商品毎に順番に付された商品固有の番号である。この品番は、商品識別コードとして機能する。なお、商品識別コードは、品番以外の形式であってもよい。
項目「商品区分」は、同一レコードの品番で特定されるメニュー商品が属する分類を識別するコードである。本実施の形態では、分類を、バーガ類が属するメインメニューと、フライドポテト,サラダ等が属するサイドメニューと、ジュース,コーラ,コーヒー,ウーロン茶などのドリンク類が属するドリンクメニューと、各種セット商品が属するセットメニューの4項目に分類する。
項目「セット識別コード」は、同一レコードの品番で特定されるメニュー商品がセットメニューに属するセット商品であるとき、そのセット商品を識別するために付された一意のコードである。なお、セット商品以外のメニュー商品のレコード4Dには、セット識別コードとして例えば“0”が設定されている。
セット商品データレコード5Dの主要部を図3に示す。図示するように、セット商品データレコード5Dには、セット識別コードと、複数N(N≧2)対のセットメニュー品番/選択区分のデータとが含まれている。ここで、項目「セットメニュー品番」は、同一レコードのセット識別コードで特定されるセット商品に含まれるメニュー商品の品番である。
項目「選択区分」は、対応するセットメニュー品番で特定されるメニュー商品が、グループ化された単品のメニュー商品群のなかから任意に選択される選択商品であるか否かを区分するデータである。本実施の形態では、選択商品でないメニュー商品のセットメニュー品番に対しては,区分データを“0”とする。これに対し、選択商品に該当するメニュー商品のセットメニュー品番に対しては、同一グループ内で同一の番号が付される。この場合において番号は“1”から昇順でアップする。
例えば、ドリンク類のみが選択商品であるセット商品のセット商品データレコード5Dには、ドリンク類のグループに属する全ての商品の品番にそれぞれ対応して選択区分“1”が付与される。その他の区分(バーガ類,サイドメニュー)に属する商品の品番に対応する選択区分は“0”となる。この場合において、サイドメニューも選択商品であった場合には、サイドメニューのグループに属する全ての商品の品番にそれぞれ対応して選択区分“2”が付与される。
ここに、セットマスタファイル5は、セット情報記憶部として機能する。
図4はPOS端末1A〜1Cの外観を示す斜視図であり、図5はPOS端末1A〜1Cの要部構成を示すブロック図である。各POS端末1A〜1Cは、同一構成である。このため、以下では、POS端末1として総称する。
POS端末1は、その筐体10の正面に、キーボード11、オペレータ用ディスプレイ12及びレシート発行口13を設けており、背面に、客用ディスプレイ14を設けている。オペレータ用ディスプレイ12としては、液晶ディスプレイ等のディスプレイ121の画面にタッチパネルセンサ122が配置されたタッチパネルを使用している。
POS端末1は、制御部本体としてCPU(Central Processing Unit)15を搭載している。また、ROM(Read Only Memory)16及びRAM(Random Access Memory)17等のメモリ部の他、時計部18、通信コントローラ19、釣銭機インターフェイス20、キーボードコントローラ21、タッチパネルコントローラ22、表示コントローラ23及びプリンタコントローラ24等の各部を備えている。CPU15と、ROM16,RAM17,時計部18,通信コントローラ19,釣銭機インターフェイス20,キーボードコントローラ21,タッチパネルコントローラ22,表示コントローラ23及びプリンタコントローラ24とは、アドレスバス,データバス等のバスライン25により電気的に接続されている。
通信コントローラ19は、ネットワーク3を介して接続されたストアサーバ2とのデータ通信を制御する。釣銭機インターフェイス20は、図示しない自動釣銭機に接続され、釣銭データを送出する。なお、自動釣銭機の代わりにドロワを接続してもよい。
キーボードコントローラ21は、前記キーボード11から操作キーに対応したキー信号を取込む。タッチパネルコントローラ22は、前記オペレータ用ディスプレイ12のディスプレイ121に対する画面表示を制御するとともに、タッチパネルセンサ122からタッチ操作位置に対応した座標信号を取込む。表示コントローラ23は、前記客用ディスプレイ14に対する画面表示を制御する。プリンタコントローラ24は、筐体10に内蔵されたプリンタ26によるレシート印字を制御する。このプリンタ26によって印字されたレシートは、前記レシート発行口13から発行される。
かかる構成のPOS端末1は、客が購入するメニュー商品の販売データを処理し、客との商取引を決済させるために、RAM17に、取引テーブル171、乗数メモリ172及びセット確定テーブル173を形成している。
取引テーブル171は、図6に示すように、複数の品番、商品区分、商品名、単価、点数及び金額の各項目エリアと、点数及び金額の合計エリアとから構成されている。セット確定テーブル173は、図7に示すように、複数の品番、商品区分、商品名及び点数の各項目エリアから構成されている。
しかして、各POS端末1のCPU15は、図8の流れ図に示す手順で客との商取引を処理するものとなっている。すなわちCPU15は、商取引の開始に先立ち、ST(ステップ)1として乗数メモリ172に初期値“1”に設定する。次いで、ST2としてメインメニュー画面70Mを編集し、オペレータ用ディスプレイ12に表示させる。
メインメニュー画面70Mの一例を図10に示す。図示するように、メインメニュー画面70Mには、複数(図では12個)の商品メニューボタン71と、メインメニュー,サイドメニュー,ドリンクメニュー及びセットメニューの各商品区分にそれぞれ対応した区分タグボタン72と、買上が確定された商品の商品名,品番,商品区分,単価,点数及び金額のデータを表示可能な買上商品エリア73と、1取引の買上点数,小計額,消費税額及び請求金額を表示可能な取引情報エリア74とが形成されている。そして、各商品メニューボタン71には、商品区分がメインメニューに設定された各商品の商品名が1つずつ割り当てられて表示されている。
メインメニュー画面70Mを表示後、CPU15は、ST3としていずれかの区分タグボタン72がタッチ操作されたか否かを判断する。区分タグボタン72がタッチ操作されていないと判断した場合には、CPU15は、ST5の処理に進む。
ST3にて、タッチパネルコントローラ22からの信号によりいずれかの区分タグボタン72がタッチ操作されたと判断した場合には、CPU15は、ST4としてオペレータ用ディスプレイ12の画面を、そのタッチ操作された区分タグボタン72に対応するメニュー画面に切り換える。例えば、サイドメニューに対応した区分タグボタン72がタッチ操作された場合には、サイドメニュー画面、つまりは各商品メニューボタン71に商品区分がサイドメニューに設定された各商品の商品名が1つずつ割り当てられた画面が表示される。同様に、ドリンクメニューに対応した区分タグボタン72がタッチ操作された場合には、ドリンクメニュー画面、つまりは各商品メニューボタン71に商品区分がドリンクメニューに設定された各商品の商品名が1つずつ割り当てられた画面が表示され、セットメニューに対応した区分タグボタン72がタッチ操作された場合には、図11に示すように、セットメニュー画面70S、つまりは各商品メニューボタン71に商品区分がセットメニューに設定された各商品の商品名が1つずつ割り当てられた画面が表示される。しかる後、ST5の処理に進む。
ST5では、CPU15は、乗数が入力されたか否かを判断する。乗数が入力されていないと判断した場合には、ST7の処理に進む。
ST5にて、キーボード11からキーボードコントローラ21に置数キーのキー信号が入力されると、CPU15は、その置数キーで置数された数値Nに相当する乗数が入力されたと判断する。そして、ST6として乗数メモリの値をその乗数Nに変更する。しかる後、ST7の処理に進む。
ST7では、オペレータ用ディスプレイ12に表示されているメニュー画面(メインメニュー画面70M,サイドメニュー画面,ドリンクメニュー画面またはセットメニュー画面70S)において、いずれかの商品メニューボタン71がタッチ操作されたか否かを判断する。商品メニューボタン71がタッチ操作されていないと判断した場合には、ST3の処理に戻る。
ST7にて、タッチパネルコントローラ22からの信号によりいずれかの商品メニューボタン71がタッチ操作されたと判断した場合には、CPU15は、ST8としてメニュー売上登録処理を実行する。すなわちCPU15は、メニューマスタファイル4からタッチ操作された商品メニューボタン71に割り当てられている商品名に対応した商品データレコード4Dを読み出す。そして、この商品データレコード4Dの品番,商品区分,商品名,単価を取引テーブル171に新規レコードとして格納する。また、乗数メモリ172の値をこの新規レコードの点数データとして格納する。さらに、単価データと点数データとの積をこの新規レコードの金額データとして格納する。
次に、CPU15は、ST9としてこの売上登録されたメニュー商品がセット商品であるか否かを判断する。この判断は、上記商品データレコード4Dの商品区分によって判断する(判断手段)。セット商品でない場合には、ST11の処理に進む。
セット商品であると判断した場合には、CPU15は、ST10としてセットメニュー確定処理を実行する。このセットメニュー確定処理の詳細について、図9を用いて説明する。
先ず、CPU15は、ST21として上記商品データレコード4Dからセット識別コードを取得し、このセット識別コードでセットマスタファイル5を検索して、当該セット識別コードがセットされたセット商品データレコード5Dを読み出す。そして、このセット商品データレコード5Dでセット確定テーブル173を作成する。
具体的には、上記セット商品データレコード5Dに含まれる全てのセットメニュー品番を、セット確定テーブル173の品番エリアに順次格納する。次に、セット確定テーブル173の上記商品データレコード4Dの品番に対する商品区分エリアにデータ「メイン」を格納し、その他の品番に対する商品区分エリアにデータ「リンク」をそれぞれ格納する。次に、各セットメニュー品番に対応する商品名をメニューマスタファイル4から読出し、セット確定テーブル173の商品名エリアにそれぞれセットする。最後に、対応する選択区分が“0”のセットメニュー品番に対しては、セット確定テーブル173の点数エリアに乗数メモリ172の値を格納し、対応する選択区分が“0”以外のセットメニュー品番に対しては、点数エリアに“0”を格納する。
こうしてセット確定テーブル173を作成したならば、CPU15は、次に、ST22として区分カウンタAを“1”に設定する。そして、ST23として上記セット商品データレコード5Dに区分カウンタAの値を選択区分とするセットメニュー品番があるか否かを判断する。
ここで、選択区分Aのセットメニュー品番がある場合には、CPU15は、ST24として乗数メモリ172の値をカウンタNに設定する。また、ST25として上記セット確定テーブル173の内容に基づき選択メニュー画面80を作成する。そして、この選択メニュー画面80をオペレータ用ディスプレイ12に表示させる(単品リスト表示手段)。
選択メニュー画面80の一例を図12に示す。この例は、「フィッシュバーガセット」を3点乗算登録したときの画面80である。図示するように、選択メニュー画面80には、セット名称商品表示欄81、販売点数表示欄82、複数(図では9個)の選択メニュー表示欄83及び各選択メニュー表示欄83に対応して設けられた選択個数表示欄84と、「個数クリア」ボタン85及び「キャンセル」ボタン86とが表示されている。そして、セット名称商品表示欄81には、セットメニュー画面70Sでタッチ操作された商品メニューボタン71に割り当てられている商品名が表示される。販売点数表示欄82には、カウンタNの値が表示される。各選択メニュー表示欄83には、選択区分Aの各セットメニュー品番に対応した商品名がそれぞれ表示される。選択個数表示欄84には、初期段階では何も表示されない。あるいは数値“0”が表示されていてもよい。
次に、CPU15は、ST26として各選択メニュー表示欄83のいずれかがタッチ操作されるのを待機する(選択受付手段)。そして、タッチパネルコントローラ22からの信号により各選択メニュー表示欄83のいずれかがタッチ操作されたことを検知したならば、CPU15は、ST27としてタッチ操作された選択メニュー表示欄83に表示されている商品名に対するセット確定テーブル173の点数エリアに“1”を加算する。また、ST28としてカウンタNを“1”だけカウントダウンする。しかる後、ST29として選択メニュー画面80を更新する。
図12の状態において、選択メニュー表示欄83の商品名「ウーロン茶」がタッチ操作された場合の更新後の選択メニュー画面80-1を図13に示す。図示するように、更新後の選択メニュー画面80-1には、タッチ操作された商品名「ウーロン茶」に対応する選択個数表示欄84に、セット確定テーブル173の商品名「ウーロン茶」に対する値“1”が表示される。また、販売点数表示欄82の値が“1”だけ減算される。
選択メニュー画面80を更新後、CPU15は、ST30として「個数クリア」ボタン85がタッチ操作されたか否かを判断する。「個数クリア」ボタン85がタッチ操作されていない場合には、CPU15は、ST31としてカウンタNが“0”になったか否かを判断する。カウンタNが“1”以上の場合には、ST26の処理に戻る。こうして、CPU15は、カウンタNが“0”になるまで、ST26〜ST31の処理を繰返し実行する。
今、図13の選択メニュー画面80-1において、選択メニュー表示欄83の商品名「クリームソーダ」がタッチ操作された場合の更新後の選択メニュー画面80-2を図14に示す。図示するように、更新後の選択メニュー画面80-2には、タッチ操作された商品名「クリームソーダ」に対応する選択個数表示欄84に、セット確定テーブル173の商品名「クリームソーダ」に対する値“1”が表示される。また、販売点数表示欄82の値がさらに“1”だけ減算される。
続いて、選択メニュー表示欄83の商品名「ウーロン茶」が再度タッチ操作された場合の更新後の選択メニュー画面80-3を図15に示す。図示するように、更新後の選択メニュー画面80-3には、タッチ操作された商品名「ウーロン茶」に対応する選択個数表示欄84に、セット確定テーブル173の商品名「ウーロン茶」に対する値“2”が表示される。また、販売点数表示欄82の値がさらに“1”だけ減算される。その結果、カウンタNが“0”となるので、選択メニュー画面80-3には、新たに「OK」ボタン87が追加表示される。
そこでCPU15は、ST32として「OK」ボタン87が操作入力されるのを待機する。そして、タッチパネルコントローラ22からの信号により「OK」ボタン87がタッチ操作されたことを検知した場合には、CPU15は、ST33として区分カウンタAを“1”だけカウントアップする。そして、ST23の処理に戻る。
なお、ST30にてタッチパネルコントローラ22からの信号により「個数クリア」ボタン85がタッチ操作されたことを検知した場合には、CPU15は、ST34として各選択メニュー表示欄83のいずれかがタッチ操作されるのを待機する。そして、タッチパネルコントローラ22からの信号により各選択メニュー表示欄83のいずれかがタッチ操作されたことを検知した場合には、CPU15は、ST35としてタッチ操作された選択メニュー表示欄83に表示されている商品名に対するセット確定テーブル173の点数エリアの値が“1”以上か否かを判断する。点数エリアの値が“0”の場合には、選択されていない商品の取消を指示した誤操作なので、ST30の「個数クリア」ボタン85の入力前の状態に戻る。
これに対し、点数エリアの値が“1”以上の場合には、その選択されたメニュー商品の取消が指示されたので、CPU15は、ST36としてその点数エリアの値を“1”だけ減算する。また、ST37としてカウンタNを“1”だけカウントアップする。しかる後、ST29の処理に戻って、選択メニュー画面80を更新する。
ST23にて、該当するセット商品データレコード5Dに、カウントアップ後の区分カウンタAの値を選択区分とするセットメニュー品番がさらに記憶されている場合には、CPU15は、ST24以降の処理を再度実行する。
ST23にて、該当するセット商品データレコード5Dに選択区分Aのセットメニュー品番が記憶されていない場合には、CPU15は、ST38としてセット確定テーブル173の内容を、セット商品を構成する商品として確定させる。すなわちCPU15は、セット確定テーブル173に格納されたデータのうち点数データが“1”以上のデータの各品番,商品区分,商品名及び点数を取引テーブル171にそれぞれ新規レコードとして格納する(セット確定手段)。なお、これら新規レコードの単価データ及び金額データは“0”のままとする。しかる後、ST11の処理に進む。
ST11では、CPU15は、ST8にて売上登録処理したメニュー商品の商品名、品番,商品区分,単価,点数及び金額の各データを、メニュー画面の買上商品エリア73に表示させる。セットメニュー画面70Sにおいて、「フィッシュバーガセット」を3点乗算登録し、そのセット内容が確定されたときの画面例を図16に示す。
その後、CPU15は、ST12として登録締めが宣言されたか否かを判断する。登録締めが宣言されていない場合には、CPU15は、ST1の処理に戻る。これにより、次のメニュー商品の売上登録が可能となる。
キーボード11の締めキー操作により登録締めが宣言された場合には、CPU15は、ST13として取引テーブル171の内容を基に会計明細リスト画面90を作成し、オペレータ用ディスプレイ12に表示させる。
会計明細リスト画面90の一例を図17に示す。この例は、「フィッシュバーガセット」を3点と「Sサイズのポテトフライ」を1点購入した客に対する画面である。図示するように、会計明細リスト画面90には、明細エリア91と、買上商品エリア92と、取引情報エリア93とが形成されている。そして、この明細エリア91には、取引テーブル171に記憶されている各レコードの品番,商品区分,商品名,単価,点数及び金額が表示される(セット内容表示手段)。なお、このとき、客用ディスプレイ14には、少なくとも取引情報エリア93の情報が表示されている。
会計明細リスト画面90を表示後、CPU15は、ST14として預り金データが入力されるのを待機する。そして、キーボード11のキー操作により預り金データが入力されたならば、CPU15は、ST15としてこの預り金額から請求金額を減算して釣銭額を算出し、この釣銭額をオペレータ用ディスプレイ12及び客用ディスプレイ14に表示させる。また、ST16としてプリンタ26を駆動してレシートを印字発行したならば、今回の処理を終了する。
今、メインメニュー「フィッシュバーガ」とサイドメニュー「Sサイズのポテトフライ」といずれかのドリンク類との3品目を組み合わせて504円で販売されるセット商品「フィッシュバーガセット」を客が3点注文した場合を想定する。
この場合、POS端末1のオペレータは、先ず、ディスプレイ12に表示されたメインメニュー画面70M(図10を参照)における区分タグボタン72の「セット」をタッチ操作する。そうすると、セットメニュー画面70S(図11を参照)が表示されるので、置数キーで乗数“3”を置数した後、商品メニューボタン71の「フィッシュバーガセット」をタッチ操作する。
そうすると、取引テーブル171に「フィッシュバーガセット」の品番,商品区分,商品名,単価[504円],点数[3点]及び金額[1512円]が格納される。また、セット確定テーブル173に「フィッシュバーガ」、「Sサイズのポテトフライ」及び選択可能な各ドリンクの品番と商品名とがそれぞれ格納される。また、選択区分が“0”の「フィッシュバーガ」及び「Sサイズのポテトフライ」に対しては、点数「3」が格納される。
しかる後、選択区分が“1”に設定された各ドリンク類の商品名リストを含む選択メニュー画面80(図12を参照)がディスプレイ12に表示される。そこで、オペレータは、客にドリンクの種類を尋ねる。このとき、選択メニュー画面80の販売点数表示欄82には、乗数“3”が表示されている。
ここで、1点目として「ウーロン茶」の注文を受けた場合には、オペレータは、選択メニュー画面80におけるセット名称商品表示欄81の「ウーロン茶」をタッチ操作する。そうすると、セット確定テーブル173の「ウーロン茶」に対する点数データが“1”となる。そして、図13に示すように、「ウーロン茶」に対応した選択個数表示欄84に“1”が表示される。また、販売点数表示欄82の値が“2”に変更される。
次に、2点目として「クリームソーダ」の注文を受けた場合には、オペレータは、セット名称商品表示欄81の「クリームソーダ」をタッチ操作する。そうすると、セット確定テーブル173の「クリームソーダ」に対する点数データが“1”となる。そして、図14に示すように、「クリームソーダ」に対応した選択個数表示欄84に“1”が表示される。また、販売点数表示欄82の値が“1”に変更される。
次に、3点目として「ウーロン茶」の注文を受けた場合には、オペレータは、セット名称商品表示欄81の「ウーロン茶」をタッチ操作する。そうすると、セット確定テーブル173の「ウーロン茶」に対する点数データが“2”となる。そして、図15に示すように、「ウーロン茶」に対応した選択個数表示欄84に“2”が表示される。また、販売点数表示欄82の値が“0”に変更される。このとき、「OK」ボタン87の入力が可能となる。
そこでオペレータは、「OK」ボタン87をタッチ操作する。そうすると、セット確定テーブル173に格納されたデータのうち点数データが“1”以上のデータ、すなわち「フィッシュバーガ(3点)」,「Sサイズのポテトフライ(3点)」,「ウーロン茶(2点)」,「クリームソーダ(1点)」の各品番,商品区分,商品名及び点数が取引テーブル171にそれぞれ格納される。これらのレコードの単価及び金額は“0”である。
一方、ディスプレイ12の画面は、セットメニュー画面70に戻る。そして、その買上商品エリア73に「フィッシュバーガセット」を3点売上登録したときの販売データが表示される。
その後、この客が単品で「Sサイズのポテトフライ」をさらに1点注文した場合は、オペレータは、先ず、ディスプレイ12に表示されたセットメニュー画面70Sにおける区分タグボタン72の「サイド」をタッチ操作する。そうすると、サイドメニュー画面が表示されるので、商品メニューボタン71の「Sサイズのポテトフライ」をタッチ操作する。そうすると、取引テーブル171に「Sサイズのポテトフライ」の品番,商品区分,商品名,単価[147円],点数[1点]及び金額[147円]が格納される。
以上で、この客の注文が終了したとすると、オペレータは、締めキーを操作する。そうすると、オペレータ用ディスプレイ12に会計明細リスト画面90(図17を参照)が表示される。従って、オペレータは、この画面90の明細エリア91の内容から商品の品揃えを行う。そして、品揃え後、客からの預り金額を入力し、必要に応じて釣銭とレシートを渡したならば、この客との商取引を終了する。
このように本実施の形態によれば、セットを構成する商品を複数の単品群の中から選択可能なセット商品を複数個乗算登録した場合には、選択メニュー画面80のセット名称商品表示欄81に表示されている選択可能な単品群の中から、客が選択した単品の表示欄81をその選択に応じて順次タッチ操作するだけでよいので、セットを構成する商品が異なる場合であってもその登録を簡単に行なうことができる。また、操作ミスや商品の引渡しミスもなくなるので、効率のよい販売促進が可能となる。
なお、この発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
例えば、選択メニュー画面80のレイアウトは前記実施形態のものに限定されるものではなく、選択商品のグループに属する単品のリスト画面が表示されるものであればよい。また、前記実施の形態では、オペレータ用ディスプレイ12をタッチパネル付のディスプレイとしたが、タッチパネル付でないディスプレイとし、メニュー商品の選択をキーボード11のキー操作によって行うものであってもよい。
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合わせてもよい。
1(1A,1B,1C)…POS端末、2…ストアサーバ、4…メニューマスタファイル、5…セットマスタファイル、11…キーボード、12…オペレータ用ディスプレイ、13…レシート発行口、14…客用ディスプレイ、15…CPU、26…プリンタ、171…取引テーブル、172…乗数メモリ、173…セット確定テーブル。