[第1実施例]
図1はこの発明の情報処理システムの構成の一例を示す図である。
図1を参照して、この発明の第1実施例である情報処理システム10はサーバ12およびPOS(Point of sales)端末14を含む。サーバ12およびPOS端末14は、それぞれ、インターネットのようなネットワーク16を介して、複数の携帯端末200と通信可能に接続される。なお、本実施形態は、情報処理システム10を飲食店に適用した場合について説明する。
サーバ12は、汎用のサーバであり、CPU、RAMおよび通信モジュールなどのコンポーネントを備えている。
POS端末14は、飲食店等の店舗に設置され、ユーザが注文する料理等の登録や精算等を行うものである。このPOS端末14は、汎用のコンピュータと同様に、CPU14a、RAM14bなどのコンポーネントを備える。また、図示は省略するが、POS端末14は、通信モジュール、キーボード、ディスプレイ、レシートプリンタ、およびカードリーダなどを備え、主として会計場所等に設置され、当該店舗におけるレジ係等の操作者(オペレータ)によって操作される。
図2は図1に示す携帯端末200の電気的な構成を示すブロック図である。
図2を参照して、第1実施例の携帯端末200はCPU212を含む。CPU212には、バス240を介してRAM214、タッチパネル制御回路216、描画制御回路218、無線通信回路224およびHDD226が接続される。また、タッチパネル制御回路216にはタッチパネル220が接続され、描画制御回路218にはディスプレイ222が接続される。
また、この第1実施例では、携帯端末200の入力手段の一例として、タッチパネル220が用いられる場合について説明するが、タッチパネル220とは別に、または、タッチパネル220とともに、操作パネルのようなハードウェアキーやマイクなどの他の入力手段が設けられてもよい。
図2に戻って、CPU212は、携帯端末200の全体的な制御を司る。RAM214は、CPU212のワーク領域およびバッファ領域として用いられる。無線通信回路224は、電波または赤外線等による無線通信を行う機能を有する。したがって、携帯端末200は、サーバ12およびPOS端末14や他の携帯端末200と直接またはネットワーク16を介して通信することができる。HDD226は、店舗において料理を注文するための料理の注文アプリケーションを記憶したり、各種のデータを記憶したりするために使用される。
タッチパネル制御回路216は、タッチパネル220に必要な電圧などを付与するとともに、タッチパネル220のタッチ有効範囲内でのタッチ操作(タッチ入力)を検出して、そのタッチ入力の位置を示すタッチ座標データをCPU212に出力する。
タッチパネル220は、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。この第1実施例では、タッチパネル220としては、静電容量方式のタッチパネルがディスプレイ222の表示面上に設けられる。
描画制御回路218は、GPUおよびVRAMなどを含んでおり、CPU212の指示の下、GPUは、RAM214に記憶された画像生成データを用いてディスプレイ222に種々の画面を表示するための表示画像データをVRAMに生成し、生成した表示画像データをディスプレイ222に出力する。ディスプレイ222としては、たとえばLCDやEL(Electro-Luminescence)ディスプレイなどを用いることができる。
また、図示は省略するが、CPU212には、バス240を介してカメラ制御回路が接続され、当該カメラ制御回路にはカメラが接続される。このカメラは、撮像素子(イメージセンサ)および位置の調節が可能なフォーカスレンズを有し、撮像素子から取り込んだ可視光としての撮像光を、電気信号へと変換することによって撮像を行う。この撮像素子の例としては、CCD(Charge Coupled Device)イメージセンサ、またはCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の固体撮像素子が挙げられる。
なお、図2に示す携帯端末200の電気的な構成は単なる一例であり、これに限定される必要はない。
また、携帯端末200の典型的な例としては、スマートフォンやフューチャーフォンであり、この場合には、携帯端末200には、通話機能についてのコンポーネントも含まれる。
情報処理システムでは、ユーザが携帯端末200を用いて料理の注文情報をPOS端末14に送信することによって、料理を注文することができる。つまり、この情報処理システム10では、店舗の接客担当者を呼ばなくても、ユーザ毎に個別の注文が可能である。
このようにユーザが携帯端末200を用いて料理を注文する場合、携帯端末200のディスプレイ222に店舗で提供される複数の料理のメニューが表示される。
しかしながら、携帯端末200に表示されるメニューは、店舗毎に予め設定された料理のリストに基づいて表示されるだけであり、各料理の中にユーザがアレルギーを起こす食材や嫌いな食材のような不要な食材が含まれるか否かが分からない。したがって、ユーザが自身の不要な食材を含む料理を誤って注文してしまう可能性がある。また、不要な食材が含まれるか否かが分からないので、ユーザは店舗の接客担当者に各料理の中に不要な食材が含まれるか否かを確認する必要があり、携帯端末200を用いた個別の注文が可能であるという利便性が失われてしまう。
したがって、この第1実施例では、情報処理システム10は、このような不都合を回避するために、ユーザ毎に不要な食材を示す情報(以下、「不要食材情報」という。)を登録しておき、登録された不要食材情報に基づいて、ユーザの不要な食材が含まれないように料理の注文を管理するようにしてある。
簡単に説明すると、この第1実施例では、ユーザ毎に不要食材情報をサーバ12に登録しておき、POS端末14は、携帯端末200からの要求に応じて、当該携帯端末200のユーザに紐付けされた不要食材情報をサーバ12から取得し、取得した不要食材情報を参照して当該ユーザについてのメニュー(以下、「個人メニュー」という。)を作成して、当該携帯端末200に送信する。ユーザは、携帯端末200を用いて、個人メニューに従って料理の注文を行う。これによって、ユーザの設定したアレルギー食材が含まれる料理の注文ができないようにされ、また、ユーザの設定した嫌いな食材が含まれる料理を注文する場合に、当該嫌いな食材が含まれることの警告と当該料理を注文するかどうかの確認が行われる。以下、具体的に説明する。
図3は携帯端末200に表示される基本画面100の一例を示す図解図である。この基本画面100は、注文アプリケーションが起動されるとディスプレイ222に表示される。
図3に示すように、基本画面100には、基本情報の設定を行う機能が割り当てられた基本情報設定ボタン102a、不要食材情報の設定を行う機能が割り当てられた不要食材情報設定ボタン102b、および店舗へのチェックインを行う機能が割り当てられたチェックインボタン102cが設けられる。
基本情報設定ボタン102aが選択(タッチ)されると、図示は省略するが、基本情報を設定するための画面がディスプレイ222に表示され、ユーザの入力を受け付けて基本情報の設定をすることができる。具体的には、メールアドレスまたはユーザ固有のIDなどのユーザ(携帯端末200)を特定するための基本情報が設定される。たとえば、ユーザ固有のIDは、携帯端末200に設定された識別情報やユーザの名称(ニックネーム)などである。基本情報は、ネットワーク16を介してサーバ12に送信されて記憶(登録)される。また、後述するように、携帯端末200は、POS端末14と直接通信することが可能であるため、基本情報の他に携帯端末200の固有の識別情報(端末識別情報)として、無線通信回路224に割り当てられたMACアドレスもサーバ12に送信され記憶(登録)される。ただし、端末識別情報(MACアドレス)は、ユーザの入力によらず、自動的に携帯端末200からサーバ12に送信される。また、携帯端末200から送信された基本情報と端末識別情報とは紐付けられる。
なお、携帯端末200において注文アプリケーションが初めて起動される場合には、自動的に基本情報の設定が開始されてもよい。これは、注文アプリケーションにおいてユーザを特定するために、ユーザの基本情報をサーバ12に登録する必要があるからである。この場合、たとえば、基本情報が設定された後に、基本画面100が表示される。
図4は携帯端末200に表示される第1不要食材情報設定画面110の一例を示す図解図である。
図3の基本画面100において、不要食材情報設定ボタン102bが選択されると、図4に示すような第1不要食材情報設定画面110がディスプレイ222に表示され、ユーザは不要な食材を選択(設定)する。この第1実施例では、不要な食材は、アレルギーを起こすまたは起こす可能性のある食材(以下、「アレルギー食材」という。)および嫌いな(苦手な)食材を含む。第1実施例では、先にアレルギー食材の設定をする第1不要食材情報設定画面110が表示される。
図4に示すように、第1不要食材情報設定画面110には、“<不要食材情報の設定>アレルギー食材を選択してください”のようなアレルギー食材の選択(設定)を促すメッセージが表示される。また、第1不要食材情報設定画面110には、えび、かに、卵…などの各食材が割り当てられた複数の食材ボタン112が表示されるとともに、決定ボタン114および戻るボタン116が表示される。
なお、図4では、9種類の食材がそれぞれ割り当てられた食材ボタン112が表示された例を示しているが、これに限定される必要は無い。たとえば、画面をスクロールしたり、頁送り(頁戻し)したりすることによって、他の食材(食材ボタン112)が選択できるようにしてもよい。
食材ボタン112は、ユーザによって一度タッチされると仮選択状態になり、仮選択状態でもう一度タッチされるとこの仮選択状態が解除される。図4では、一例として、“卵”および“そば”が仮選択されている場合を示している。仮選択状態の食材ボタン112は、高輝度の色に変化されたり、食材の名称を示す文字が太字にされたりして、どの食材ボタン112が仮選択状態であるかをユーザが認識できるようにされる。ただし、図4では、食材ボタン112の枠を太線にするとともに、食材ボタン112の背景に斜線を付すことによって、仮選択状態であることを表現してある。これらのことは、後述する第2不要食材情報設定画面120(図5参照)やメニュー選択画面150(図8参照)においても同じである。
決定ボタン114が選択されると、仮選択状態の食材ボタン112に割り当てられた食材がアレルギー食材として設定され、続いて、嫌いな食材の設定を行うための第2不要食材情報設定画面120(図5参照)がディスプレイ222に表示される。また、戻るボタン116が選択された場合は、すべての食材ボタン112の仮選択状態が解除され、基本画面100に戻る。
図5は携帯端末200に表示される第2不要食材情報設定画面120の一例を示す図解図である。
図5に示すように、第2不要食材情報設定画面120には、“<不要食材情報の設定>嫌いな食材を選択してください”のような嫌いな食材の選択(設定)を促すメッセージが表示される。また、第2不要食材情報設定画面120には、各食材が割り当てられた複数の食材ボタン122が表示されるとともに、決定ボタン124および戻るボタン126が表示される。ただし、第2不要食材情報設定画面120では、アレルギー食材として選択(設定)された食材が割り当てられた食材ボタン122には、×印が表示され、選択できないようにされる。ただし、×印が表示されることに代えて、グレーアウト表示されたり、低輝度の色に変化されたりするようにしてもよい。図5に示す第2不要食材情報設定画面120においては、 “卵”および“そば”が割り当てられた食材ボタン112が選択できない状態であることが示される。また、図5に示す第2不要食材情報設定画面120では、一例として、“えび”および“かに”が嫌いな食材として仮選択されている状態が示される。
ここで、決定ボタン124が選択されると、仮選択状態の食材ボタン122に割り当てられた食材が嫌いな食材として選択(設定)され、確認画面130(図6参照)がディスプレイ222に表示される。また、戻るボタン126が選択されると、すべての食材ボタン122の仮選択状態が解除され、第1不要食材情報設定画面110に戻る。
図6は携帯端末200に表示される確認画面130の一例を示す図解図である。この確認画面130では、ユーザにアレルギー食材および嫌いな食材の確認(不要食材情報の確認)が要求される。
図6に示すように、確認画面130には、“<不要食材情報の設定の確認>”および“この設定でよろしいですか?”のような確認を促すメッセージとともに、第1不要食材情報設定画面110で選択(設定)されたアレルギー食材、および第2不要食材情報設定画面120で選択(設定)された嫌いな食材が表示される。ここでは、アレルギー食材として“卵”および“そば”が表示され、嫌いな食材として“えび”および“かに”が表示される。また、上記メッセージおよび選択された食材の表示とは別に、決定ボタン134および戻るボタン136が表示される。
決定ボタン134が選択されると、アレルギー食材および嫌いな食材(不要食材情報)が確定され、不要食材情報の設定が終了する。また、戻るボタン136が選択された場合は、第2不要食材情報設定画面120に戻る。
そして、確定されたアレルギー食材および嫌いな食材を示す不要食材情報は、ネットワーク16を介してサーバ12に送信され、当該ユーザの基本情報に紐付けられて登録される。
なお、基本情報の設定および不要食材情報の設定は、ネットワーク16に接続可能な場所であれば、たとえば自宅など、店舗の外でも行うことができる。したがって、ユーザは、店舗に入る前に、予め基本情報および不要食材情報をサーバ12に登録しておくことができる。
図3に戻って、チェックインボタン102cが選択されると、店舗(座席)にチェックインするための携帯端末200側の処理(チェックイン処理)が開始される。ただし、この明細書においては、客(ユーザ)が店舗に入り、座席に着くことを便宜上「チェックイン」ということにする。これに対して、客が清算し、店舗から退出することを便宜上「チェックアウト」ということにする。
チェックイン処理が開始されると、ユーザによって所定の操作(以下、「チェックイン操作」という。)が行われ、店舗に設置されたPOS端末14にチェックイン情報が送信される。
ここで、チェックイン情報は、チェックインするユーザを識別するための情報、チェックインする店舗を識別するための情報、および当該店舗内で当該ユーザが着席した座席の情報のそれぞれを含む情報である。また、チェックイン操作は、チェックイン情報に含まれる店舗および座席の情報を入力するための操作である。チェックイン操作の具体例としては、店舗の座席(テーブル)毎に、当該店舗および座席の情報を含むバーコード(QRコード(登録商標))が設けられ、当該バーコードが携帯端末200のカメラで読み取られる。すると、携帯端末200から自動的にPOS端末14に電子メールが送信される。または、バーコードに代えて、店舗の座席毎に付されたメールアドレスを掲示し、ユーザがそのメールアドレスを直接携帯端末200に入力して、空メールを送信する操作を行ってもよい。
ただし、通信の方法は電子メールに限定されず、携帯端末200およびPOS端末14が互いにWiFi(登録商標)方式や、ブルートゥース(Bluetooth;登録商標)方式等の近距離通信が可能であれば、携帯端末200からPOS端末14に直接チェックイン情報のデータを送信してもよい。この場合、送信されるデータのヘッダ情報に、携帯端末200は、当該携帯端末200のMACアドレス(端末識別情報)がユーザを識別するための情報として含まれる。
POS端末14は、チェックイン情報を受信すると、POS端末14側のチェックイン処理を開始し、該当するユーザの店舗へのチェックイン処理を行うとともに、当該ユーザについて個人メニューを作成し、作成した個人メニューをチェックイン情報の送信元の携帯端末200に送信する。このとき、個人メニューの送信先の携帯端末200は、サーバ12に登録されている基本情報または端末識別情報を用いて特定される。たとえば、電子メールでチェックイン情報が送信されていた場合には、送信元のメールアドレスから携帯端末200が特定され、チェックイン情報が近距離無線通信によって送信された場合には、送信元の携帯端末200のMACアドレスから携帯端末200が特定される。送信された個人メニューは、携帯端末200で受信される。
このようなチェックインの手続きは、各ユーザが自身の所有する携帯端末200を用いて実行される。その後、ユーザは、自身の所有する携帯端末200を操作することによって、受信した個人メニューを使用して、注文を行う。
図7は携帯端末200に表示される店内画面140の一例を示す図解図である。
チェックインの手続きが終了すると、携帯端末200では、図7に示す店内画面140がディスプレイ222に表示される。この店内画面140では、料理を注文する機能が割り当てられたメニュー選択ボタン142、注文履歴を表示(確認)する機能が割り当てられた注文履歴ボタン144、および、代金の精算についての処理を含むチェックアウトの処理(以下、「チェックアウト処理」という。)を行う機能が割り当てられたお勘定ボタン146が表示される。
図8は携帯端末200に表示されるメニュー選択画面150の一例を示す図解図である。
店内画面140でメニュー選択ボタン142が選択されると、図8に示すメニュー選択画面150がディスプレイ222に表示される。メニュー選択画面150には、海鮮やきそば、豚焼きそば、ざるそば…等の各料理が割り当てられた料理ボタン152が表示されるとともに、確定ボタン154および戻るボタン156が表示される。
なお、図8では、9種類の料理をそれぞれ示す料理ボタン152が表示される例を示しているが、これに限定される必要は無い。たとえば、画面をスクロールしたり、頁送り(頁戻し)を行ったりすることによって、他の料理(料理ボタン152)を選択することもできる。
料理ボタン152は、ユーザによって一度タッチされると仮選択状態になり、仮選択状態でもう一度タッチされると仮選択状態が解除される。図8では、一例として、“辛子明太子”が仮選択状態である場合について示される。
また、ユーザが設定したアレルギー食材が含まれる料理が割り当てられた料理ボタン152は、注文禁止にされている。ここでは、注文禁止であることを示すために、料理ボタン152に×印が表示される。ただし、×印が表示されることに代えて、グレーアウト表示されたり、低輝度の色に変化されたりするようにしてもよい。したがって、ユーザが設定したアレルギー食材を含まない料理だけが注文可能である。上述したように、この第1実施例では、ユーザがアレルギー食材として“卵”と“そば”を設定してあるため、“卵”が含まれる“豚焼きそば”および“そば”が含まれる“ざるそば”がそれぞれ割り当てられた料理ボタン152が注文禁止にされている。
さらに、注文禁止にされている料理ボタン152がタッチ(選択)された場合には、警告(説明の都合上、以下「第1警告」という。)が行われる。この第1警告では当該料理ボタン152に割り当てられた料理の注文が禁止されていることをユーザに警告する第1警告ウインドウ158がディスプレイ222に表示される。
図9は携帯端末200に表示される第1警告ウインドウ158の一例を示す図解図である。図9に示すように、たとえば、第1警告ウインドウ158は、メニュー選択画面150の前面に表示される。
たとえば、メニュー選択画面150で、注文禁止にされている“ざるそば”の料理ボタン152が選択された場合、図9に示すように、第1警告ウインドウ158が、メニュー選択画面150の前面に表示される。たとえば、第1警告ウインドウ158には、“!!!注意!!!/≪ざるそば≫は選択できません/アレルギー食材「そば」が含まれています”の警告メッセージが表示され、ユーザに注意が促される。また、この第1警告ウインドウ158には、当該第1警告ウインドウ158を閉じるための閉じるボタン158aが表示される。
この第1警告ウインドウ158は、閉じるボタン158aを選択して閉じる以外の操作ができないようになっており、注文禁止にされている料理ボタン152がタッチされた場合でも、当該料理ボタン152に割り当てられた料理は注文できないようになっている。
図8に戻って、メニュー選択画面150において、ユーザが設定した嫌いな食材が含まれる料理が割り当てられた料理ボタン152は、アレルギー食材が含まれる場合とは異なり、注文禁止にされておらず、選択すること自体は可能である。ただし、ユーザが設定した嫌いな食材が含まれる料理が割り当てられた料理ボタン152がタッチされた場合には、警告(説明の便宜上、以下「第2警告」という。)が行われる。この第2警告では、当該料理ボタン152に割り当てられた料理にユーザが設定した嫌いな食材が含まれることをユーザに警告し、注文するか否かの意志確認を行う第2警告ウインドウ160がディスプレイ222に表示される。
図10は携帯端末200に表示される第2警告ウインドウ160の一例を示す図解図である。この第2警告ウインドウ160もまた、メニュー選択画面150の前面に表示される。
たとえば、メニュー選択画面150で、ユーザが設定した嫌いな食材「えび」が含まれる“海鮮やきそば”の料理ボタン152が選択された場合、図10に示すように、第2警告ウインドウ160が表示される。この第2警告ウインドウ160には、“!!!注意!!!/≪海鮮やきそば≫には嫌いな食材「えび」が含まれています/注文しますか?”の警告メッセージが表示され、ユーザに注意を促し、仮選択(注文)するか否かの意志確認が行われる。
また、第2警告ウインドウ160には、“海鮮やきそば”の仮選択(注文)をする“はい”ボタン160aおよび仮選択(注文)をしない“いいえ”ボタン160bが表示される。そして、“はい”ボタン160aが選択された場合、つまり、“海鮮やきそば”に嫌いな食材「えび」が含まれていてもユーザに注文する意思がある場合は、“海鮮やきそば”を仮選択状態にして、メニュー選択画面150に戻る。つまり、第2警告ウインドウ160が非表示される。以下、同様である。一方、“いいえ”ボタン160bが選択された場合は、“海鮮やきそば”を仮選択状態にせずに、メニュー選択画面150に戻る。
そして、メニュー選択画面150で確定ボタン154が選択されると、仮選択状態の料理ボタン152に割り当てられた料理を注文するための情報(以下、「注文情報」という。)がPOS端末14に送信される。また、戻るボタン156が選択された場合は、すべての料理ボタン152の仮選択状態が解除され、店内画面140に戻る。
なお、この第1実施例では、注文する料理だけを選択するようにしてあるが、料理の数量や量(大、普通、小)を選択可能にしてもよい。また、料理に使用される調味料や薬味を増やしたり、減らしたり、抜いたりすることを選択可能にしてもよい。
図7に戻って、店内画面140で注文履歴ボタン144が選択されると、たとえば、その店舗で過去に注文した料理が割り当てられた料理ボタン152の一覧が表示される。そして、この一覧から料理ボタン152を選択し、注文することが可能になっている。
また、店内画面140でお勘定ボタン146が選択されると、チェックアウト処理が開始され、携帯端末200からチェックアウトすることの情報がPOS端末に送信される。POS端末14は、チェックアウトすることの情報を受信すると、当該情報の送信元の携帯端末200で注文された履歴から代金を算出し、代金情報を送信元の携帯端末200に送信する。携帯端末200は、代金情報を受信すると、受信した代金情報をディスプレイ222に表示する。その後、POS端末14は、代金が清算されると、ユーザ(携帯端末200)のチェックアウトを受け付ける。
情報処理システム10の上記のような動作は、POS端末14のCPU14aがRAM14bに記憶されたPOS端末14用の情報処理プログラムを実行し、また、携帯端末200のCPU212がRAM214に記憶された携帯端末200用の情報処理プログラムを実行することによって実現される。具体的な処理については、後でフロー図を用いて説明する。
図11は図1に示したPOS端末14に内蔵されるRAM14bのメモリマップ300の一例を示す。図11に示すように、RAM14bは、プログラム記憶領域302およびデータ記憶領域304を含む。RAM14bのプログラム記憶領域302には、上述したように、POS端末14用の情報処理プログラムが記憶される。この情報処理プログラムは、通信プログラム302a、座席管理プログラム302b、基本情報取得プログラム302c、不要食材情報取得プログラム302d、メニュー作成プログラム302e、注文管理プログラム302fおよび精算プログラム302gを含む。
通信プログラム302aは、携帯端末200やサーバ12と、直接またはネットワーク16を介して通信するためのプログラムである。
座席管理プログラム302bは、携帯端末200から送信されるチェックイン情報に基づいて、POS端末14側におけるユーザのチェックイン処理およびチェックアウト処理を行うためのプログラムである。具体的には、後述するように、チェックイン処理およびチェックアウト処理を実行することによって、どの座席にどのユーザが着いているかを示すデータ(座席情報データ304b)が更新される。
基本情報取得プログラム302cは、チェックイン処理時に、チェックインするユーザ(携帯端末200)の基本情報を取得するためのプログラムである。たとえば、チェックインの際に、空メールがPOS端末14に送信された場合には、当該空メールの差出人に記述されたメールアドレスが基本情報として取得され、チェックイン情報のデータがネットワーク16を介して直接POS端末14に送信されていた場合には、そのヘッダ情報に含まれるMACアドレスが基本情報として取得される。
不要食材情報取得プログラム302dは、基本情報取得プログラム302cに従って取得したユーザの基本情報を含む当該ユーザの不要食材情報の送信要求をサーバ12に送信し、サーバ12から当該ユーザについての不要食材情報を取得するためのプログラムである。このとき、POS端末14は、通信プログラム302aに従ってサーバ12と通信する。
メニュー作成プログラム302eは、店舗毎に設定されたメニュー、および不要食材情報取得プログラム302dによって取得したユーザの不要食材情報を使用して、アレルギー食材が含まれる料理の注文をできないようにするとともに、嫌いな食材が含まれる料理の注文時には確認を促すようにした当該ユーザの個人メニューを作成するためのプログラムである。また、メニュー作成プログラム302eは、作成した個人メニューを該当するユーザの携帯端末200に送信するためのプログラムでもある。このとき、通信プログラム302aによって携帯端末200と通信する。
注文管理プログラム302fは、携帯端末200から送信される料理の注文を示す注文情報を受信し、ユーザ毎(座席毎)の注文情報を管理するためのプログラムである。したがって、たとえば、この注文情報に従って注文された料理が提供されたり、注文した料理およびその数量が管理されたり、現時点での小計(代金)が計算されたりすることができる。
精算プログラム302gは、チェックアウト処理において、注文管理プログラム302fで管理されているユーザ毎(座席毎)の注文情報に基づいて代金を計算するためのプログラムである。ただし、精算プログラム302gは、代金を計算した後、計算した代金を示す代金情報を携帯端末200へ送信するためのプログラムでもある。このとき、通信プログラム302aによって携帯端末200と通信する。
なお、図示は省略するが、プログラム記憶領域302には、POS端末14で実行可能な各種の機能を選択および実行するためのプログラムなども記憶される。
また、RAM14bのデータ記憶領域304には、店舗情報データ304a、座席情報データ304b、基本情報データ304c、不要食材情報データ304d、個人メニューデータ304e、および注文情報データ304fなどが記憶される。
店舗情報データ304aは、店舗の名称、所在地、当該店舗で使用されるPOS端末14のメーラに設定されたメールアドレスなどの基本的な情報に加え、店舗毎に設定されているメニューを含むデータである。
座席情報データ304bは、店舗の座席毎の識別情報に対応して座席毎に着席しているユーザの基本情報を記述したデータである。ただし、この座席情報データ304bは、座席管理プログラム302bに従ってチェックイン処理またはチェックアウト処理が実行された場合に、更新される。
基本情報データ304cは、ユーザ毎の基本情報についてのデータである。この基本情報データ304cは、ユーザ毎にサーバ12に記憶されており、ユーザのチェックイン操作があった場合に、基本情報取得プログラム302cによってサーバ12から取得される。
不要食材情報データ304dは、不要食材情報取得プログラム302dによって取得されたチェックインしたユーザの不要食材情報についてのデータである。この不要食材情報データ304dは、同じユーザの基本情報データ304cと紐づけられている。
個人メニューデータ304eは、ユーザ毎に作成された個人メニューについてのデータである。個人メニューは、上述したように、メニュー作成プログラム302eに従って、店舗毎に設定されたメニュー、および該当するユーザの不要食材情報データ304dを使用して作成される。
注文情報データ304fは、注文管理プログラム302fに従って記憶(更新)されるユーザ毎の注文情報についてのデータである。
なお、図示は省略するが、データ記憶領域304には、キーボードや操作パネルからの操作データなど、POS端末14用の情報処理プログラムの実行に必要な他のデータが記憶されたり、POS端末14用の情報処理プログラムの実行に必要なタイマ(カウンタ)やレジスタが設けられたりする。
図12は図2に示した携帯端末200に内蔵されるRAM214のメモリマップ320の一例を示す。図12に示すように、RAM214は、プログラム記憶領域322およびデータ記憶領域324を含む。プログラム記憶領域322には、上述したように、携帯端末200用の情報処理プログラムが記憶される。この情報処理プログラムは、注文アプリケーションを含み、通信プログラム322a、表示プログラム322b、チェックインプログラム322c、注文プログラム322dおよびチェックアウトプログラム322fなどで構成される。
通信プログラム322aは、サーバ12やPOS端末14と、直接またはネットワーク16を介して通信するためのプログラムである。
表示プログラム322bは、VRAMを用いて注文アプリケーションの実行画面(店内画面140およびメニュー選択画面150など)の表示画像データを生成し、ディスプレイ222に出力するためのプログラムである。
チェックインプログラム322cは、店舗(座席)へチェックインするための携帯端末200側のチェックイン処理を実行するためのプログラムである。具体的には、チェックインプログラム322cは、ユーザによって所定のチェックイン操作がされた場合に、チェックインする店舗に設置されたPOS端末14にチェックイン情報を送信するためのプログラムである。
注文プログラム322dは、POS端末14から送信された個人メニューを示す個人メニューデータ324bを使用して、ユーザにメニューを提示(メニュー選択画面150を表示)し、ユーザによって選択された料理を示す注文情報をPOS端末14に送信するためのプログラムである。また、注文プログラム322dでは、個人メニューデータ324bに従って、アレルギー食材が含まれる料理の注文をできないようにするとともに、嫌いな食材が含まれる料理の注文時には確認を促すようにもしてある。なお、この注文プログラム322dは、予め携帯端末のHDD226に記憶されていてもよいし、チェックイン後にネットワーク16を介してPOS端末14またはサーバ12から取得し、一時的にRAM214に記憶されるものでもよい。
警告プログラム322eは、個人メニューデータ324bに従って、ユーザによって設定された不要な食材が含まれる料理が割り当てられた料理ボタン152が選択された場合に、ユーザに警告するためのプログラムである。具体的には、警告プログラム322eに従って、アレルギー食材が含まれる料理の注文をできない旨の第1警告が行われ、嫌いな食材が含まれる料理の注文時には確認を促す第2警告が行われる。
チェックアウトプログラム322fは、店舗(座席)からチェックアウトするための携帯端末200側のチェックアウト処理を実行するためのプログラムである。具体的には、チェックアウトプログラム322fは、ユーザによって所定のチェックアウト操作がされた場合に、チェックアウトする店舗に設置されたPOS端末14にチェックアウトを通知し、これに応じてPOS端末14から送信される代金情報のデータを受信してディスプレイ222に表示するためのプログラムである。
なお、図示は省略するが、プログラム記憶領域322には、携帯端末200が備える各種の機能を選択および実行するためのプログラムなども記憶される。
RAM214のデータ記憶領域324には、表示画像データを生成するためのポリゴンデータやテクスチャデータなどの画像データや端末識別データ324a、個人メニューデータ324b、および代金データ324cなどが記憶される。
端末識別データ324aは、サーバ12およびPOS端末14が、ユーザ(携帯端末200)を特定するためのデータである。この実施例では、携帯端末200のメーラに設定されたメールアドレスや携帯端末200の無線通信回路224に割り当てられたMACアドレスのデータである。
個人メニューデータ324bは、POS端末14から受信した個人メニューのデータである。代金データ324cは、チェックアウト処理において、POS端末14から送信された代金情報についてのデータである。
なお、図示は省略するが、データ記憶領域304には、キーボードや操作パネルからの操作データなど、携帯端末200用の情報処理プログラムの実行に必要な他のデータが記憶されたり、携帯端末200用の情報処理プログラムの実行に必要なタイマ(カウンタ)やレジスタが設けられたりする。
図13および図14は図2に示す携帯端末200のCPU212の注文アプリケーションについての全体処理の一例を示すフロー図である。この全体処理は、ユーザの基本情報および不要食材情報をサーバ12に登録したり、携帯端末200側のチェックイン処理をしたりするための処理である。
ユーザが携帯端末200において注文アプリケーションを起動させると、図13に示すように、CPU212は、全体処理を開始し、ステップS1で、登録されたユーザであるかどうかを判断する。ここでは、CPU212は、サーバ12と通信して、当該携帯端末200のユーザについての基本情報および端末識別情報が登録されているかどうかを問い合わせる。
ステップS1で“NO”であれば、つまり、登録されていない新規のユーザであれば、後述するステップS9に進み、基本情報の設定処理を行う。
一方、ステップS1で“YES”であれば、つまり、登録されたユーザであれば、ステップS3で、サーバ12から該当するユーザの基本情報および不要食材情報を取得し、ステップS5で、図3に示したような基本画面100をディスプレイ222に表示して、ステップS7に進む。
ステップS7では、基本情報の設定かどうかを判断する。ここでは、CPU212は、基本画面100において、基本情報設定ボタン102aが選択されたかどうかを判断する。
ステップS7で“YES”であれば、つまり、基本情報の設定が選択された場合は、ステップS9で、基本情報の設定処理を行う。ここでは、CPU212は、基本情報として、メールアドレスやユーザ固有のIDの入力するための画面を表示して、これらの入力をユーザに要求する。そして、続くステップS9において、設定された基本情報をサーバ12に送信する。また、このとき、携帯端末200の端末識別情報(MACアドレス)もサーバ12に送信する。
一方、ステップS7で“NO”であれば、つまり、基本情報の設定でなければ、ステップS13に進み、不要食材情報の設定かどうかを判断する。ここでは、CPU212は、基本画面100において、不要食材情報設定ボタン102bが選択されたかどうかを判断する。
ステップS13で“YES”であれば、つまり、不要食材情報の設定が選択された場合は、ステップS15で、不要食材情報の設定処理を行う。ここでは、上述したように、ユーザに対して、ディスプレイ222に第1不要食材情報設定画面110を表示してアレルギー食材を選択(設定)させ、続いて、第2不要食材情報設定画面120を表示して嫌いな食材の選択を選択(設定)させ、最後に、確認画面130を表示して設定した不要食材情報の確認をさせる。そして、不要食材情報の設定処理がされた後は、続くステップS17において、設定された不要食材情報をサーバ12に送信し、図14に示すステップS23に進む。
一方、ステップS13で“NO”であれば、つまり、不要食材情報の設定でなければ、図14に示すように、ステップS19で、チェックインかどうかを判断する。ここでは、CPU212は、基本画面100において、チェックインボタン102cが選択されたかどうかを判断する。
ステップS19で“NO”であれば、つまり、チェックインでなければ、ステップS23に進む。一方、ステップS19で“YES”であれば、つまり、チェックインであれば、ステップS21で、携帯端末側のチェックイン処理(図15参照)を行い、ステップS23に進む。
ステップS23では、終了かどうかを判断する。ここでは、CPU212は、ユーザによって注文アプリケーションの終了を指示されたかどうかを判断する。ステップS23で“NO”であれば、つまり、終了でなければ、ステップS5に戻る。一方、ステップS23で“YES”であれば、つまり、終了であれば、全体処理を終了する。
図15は図2に示す携帯端末200のCPU212の携帯端末側チェックイン処理の一例を示すフロー図である。上述したステップS17の携帯端末側のチェックイン処理は、詳しくは、図15に示すサブルーチンに従う。また、この携帯端末側のチェックイン処理は、携帯端末200のCPU212で処理され、後述するPOS端末側のチェックイン処理と並行して実行される。
図15に示すように、携帯端末200のCPU212は、携帯端末200側のチェックイン処理を開始すると、ステップS31で、チェックイン操作がされたかどうかを判断する。ステップS31で“NO”であれば、つまり、チェックイン操作がされていなければ、そのまま同じステップS31に戻る。一方、ステップS31で“YES”であれば、ステップS33で、チェックイン情報を取得して、ステップS35でチェックイン情報をPOS端末14に送信し、ステップS37に進む。
ステップS37では、POS端末14から送信される個人メニューを受信したかどうかを判断する。ステップS37で“NO”であれば、つまり、個人メニューを受信していなければ、そのまま同じステップS37に戻る。一方、ステップS37で“YES”であれば、つまり、個人メニューを受信した場合は、受信した個人メニューのデータ(個人メニューデータ324b)をRAM214に記憶して、ステップS39で、注文処理を起動し、携帯端末側のチェックイン処理を終了してメインルーチン(図13および図14に示した全体処理)にリターンする。
図16は図1に示すPOS端末14のCPU14aのPOS端末側チェックイン処理の一例を示すフロー図である。このPOS端末側チェックイン処理は、POS端末14のCPU14aで処理され、上述したように、図15に示した携帯端末側のチェックイン処理と並行して実行される。ただし、POS端末14のCPU14aは、携帯端末200から送信されたチェックイン情報を受信した場合に、POS端末側のチェックイン処理を開始する。
図16に示すように、POS端末14のCPU14aは、POS端末側のチェックイン処理を開始すると、ステップS51で、受信したチェックイン情報に基づいて、座席情報データ304bを更新する。ここでは、CPU14aは、チェックイン情報に含まれる、どのユーザがどこの座席に着席したかを示す情報に基づいて、座席情報データ304bを更新し、該当するユーザがその店舗(座席)にチェックインしたと判断する。続いて、ステップS53で、店舗のメニューを読み出して、ステップS55で、サーバ12に不要食材情報の送信を要求する。
続くステップS57では、サーバ12から不要食材情報を受信したかどうかを判断する。ステップS57で“NO”であれば、つまり、不要食材情報を受信していなければ、同じステップS57に戻る。つまり、不要食材情報を受信するまで待機する。一方、ステップS57で“YES”であれば、つまり、不要食材情報を受信した場合は、ステップS59で、受信した不要食材情報と、ステップS53で読み出した店舗のメニューとに基づいて、チェックインしたユーザの個人メニューを作成する。そして、続くステップS61で、作成した個人メニューを該当するユーザの携帯端末200に送信して、POS端末側のチェックイン処理を終了する。
なお、ステップS53の処理は、ステップS55およびステップS57の後でもよい。つまり、ステップS59で個人メニューを作成するときに、店舗のメニューとユーザの不要食材情報が取得されていればよい。
図17および図18は図2に示す携帯端末200のCPU212の注文処理の一例を示すフロー図である。この注文処理は、上述したように、携帯端末側チェックイン処理のステップS37で個人メニューを受信した場合に開始される。
図17に示すように、携帯端末200のCPU212は、注文処理を開始すると、ステップS71で、図7に示したような店内画面140をディスプレイ222に表示し、ステップS73で、店内画面140に設けられたメニュー選択ボタン142が選択されたかどうかを判断する。
ステップS73で“NO”であれば、つまり、店内画面140でメニュー選択ボタン142が選択されていなければ、ステップS101に進む。一方、ステップS73で“YES”であれば、つまり、店内画面140でメニュー選択ボタン142が選択された場合は、ステップS75で、図8に示したようなメニュー選択画面150をディスプレイ222に表示する。そして、図18に示すステップS77で、料理が選択されたかどうか、つまり、メニュー選択画面150において料理ボタン152がタッチされたかどうかを判断する。
ステップS77で“NO”であれば、つまり、メニュー選択画面150において料理ボタン152が選択されていなければ、同じステップS77に戻る。一方、ステップS77で“YES”であれば、つまり、メニュー選択画面150において料理ボタン152が選択された場合は、ステップS79に進み、ステップS77で選択された料理(料理ボタン152)が既に仮選択されているかどうかを判断する。
ステップS79で“YES”であれば、つまり、ステップS77で選択された料理が仮選択されている場合は、ステップS81で、仮選択を解除して、ステップS77に戻る。一方、ステップS77で“NO”であれば、つまり、ステップS77で選択された料理が仮選択されていない場合は、ステップS83に進み、個人メニューを参照して、ステップS77で選択された料理にアレルギー食材が含まれるかどうかを判断する。
ステップS83で“YES”であれば、つまり、ステップS77で選択された料理にアレルギー食材が含まれる場合は、ステップS85で、第1警告を実行して、ステップS77に戻る。具体的には、ステップS85では、CPU212は、当該料理にアレルギー食材が含まれており、注文が禁止されていることをユーザに警告する第1警告ウインドウ158をディスプレイ222に表示する。一方、ステップS77で“NO”であれば、つまり、ステップS77で選択された料理にアレルギー食材が含まれない場合は、ステップS87に進み、個人メニューを参照して、ステップS77で選択された料理に嫌いな食材が含まれるかどうかを判断する。
ステップS87で“NO”であれば、つまり、ステップS77で選択された料理に嫌いな食材が含まれない場合には、後述するステップS93に進む。一方、ステップS87で“YES”であれば、つまり、ステップS77で選択された料理に嫌いな食材が含まれる場合は、ステップS89で、第2警告を実行する。具体的には、CPU212は、当該料理にユーザが設定した嫌いな食材が含まれることをユーザに警告し、注文するか否かの意志確認を行う第2警告ウインドウ160をディスプレイ222に表示する。
続くステップS91では、注文するかどうか、つまり、第2警告ウインドウ160において“はい”ボタン160aが選択されたかどうかを判断する。
ステップS91で“NO”であれば、つまり、第2警告ウインドウ160において“いいえ”ボタン160bが選択された場合は、そのままステップS77に戻る。一方、ステップS91で“YES”であれば、つまり、第2警告ウインドウ160において“はい”ボタン160aが選択された場合は、ステップS93に進む。
ステップS93では、ステップS77で選択された料理を仮選択状態にする。そして、続くステップS95で、注文する料理が確定されたか、つまり、メニュー選択画面150において確定ボタン154が選択されたかどうかを判断する。ステップS95で“NO”であれば、つまり、メニュー選択画面150において確定ボタン154が選択されない場合は、上述したステップS77に戻る。一方、ステップS95で“YES”であれば、つまり、メニュー選択画面150において確定ボタン154がタッチされた場合は、ステップS97で、仮選択された料理を注文情報としてPOS端末14に送信して、図17に示すステップS71に戻る。
図17に戻って、ステップS73で“NO”の場合は、ステップS101で、店内画面140に設けられたお勘定ボタン146が選択されたかどうかを判断する。ステップS73で“NO”であれば、つまり、お勘定ボタン146が選択されていない場合は、その他の処理を実行して、ステップS71に戻る。たとえば、注文履歴ボタン144が選択された場合には、注文履歴を表示する。一方、ステップS73で“YES”であれば、つまり、お勘定ボタン146が選択された場合は、ステップS105で、チェックアウト要求をPOS端末14に送信する。ここでは、図示は省略するが、POS端末14は、チェックアウト要求を受信した場合、POS端末側のチェックアウト処理を開始し、ユーザ毎の注文情報についてのデータである注文情報データ304fを読み出して、該当するユーザの代金を精算し、精算した代金情報を携帯端末200に送信する。
そして、ステップS107で、POS端末14から送信された代金情報を受信したかどうかを判断する。ステップS107で“NO”であれば、つまり、代金情報を受信していない場合は、同じステップS107に戻り、代金情報を受信するまで待機する。一方、ステップS107で“YES”であれば、つまり、代金情報を受信した場合は、ステップS109で、代金をディスプレイ222に表示し、ユーザに代金を提示して、注文処理を終了する。このとき、注文アプリケーションは終了される。
なお、チェックアウト処理は、POS端末14がレジでの代金の支払いが完了したことを認識した場合に、該当するユーザのチェックアウトを受け付ける。
この第1実施例によれば、POS端末14のCPU14aおよび携帯端末200のCPU212が協働して、店舗で提供される複数の料理のメニューと、サーバ12に登録された不要食材情報とを使用し、ユーザの不要な食材が含まれないように料理の注文を管理するので、ユーザが自身の不要な食材を含む料理を誤って注文してしまうことがない。また、不要食材情報が予めサーバ12に登録されているので、ユーザが店舗において注文する際に、各料理の中にアレルギー食材が含まれるか否かをその都度確認する手間を省くことができ、情報処理システム10の使い勝手を向上させることができる。
また、第1実施例によれば、ユーザの不要な食材が含まれる料理の注文が禁止されるので、各料理の中に不要な食材が含まれるか否かをその都度確認する手間を省きながら、ユーザが自身の不要な食材を含む料理を誤って注文してしまうことを防止することができる。
さらに、第1実施例によれば、不要な食材にアレルギー食材を含むので、ユーザが設定したアレルギー食材を含む料理を誤って注文してしまうことを防止することができる。したがって、ユーザは安心して料理を注文することができる。
[第2実施例]
第2実施例の情報処理システム10は、不要食材が含まれる料理を、当該不要食材を除いて注文できるようにした以外は第1実施例と同じであるため、第1実施例と異なる内容について説明し、重複した説明については省略することにする。
たとえば、ユーザが設定したアレルギー食材が含まれる料理が選択された場合には、アレルギー食材が含まれることの警告が行われるとともに、その料理から当該アレルギー食材を除いて注文するかどうかの確認が行われる。そして、ユーザがアレルギー食材を除いて料理を注文することを選択した場合には、選択された料理に、当該アレルギー食材を除くことを紐づけする(付加する)。ただし、ユーザがアレルギー食材を除いた料理を注文しないことを選択した場合には、当該アレルギー食材が含まれる料理は注文されない。
この第2実施例では、第1実施例とは異なり、ユーザが設定したアレルギー食材が含まれる料理が割り当てられた料理ボタン152は、注文禁止にされていない。したがって、ユーザのアレルギー食材が含まれる料理を注文すること自体は可能である。ただし、ユーザが設定したアレルギー食材が含まれる料理が割り当てられた料理ボタン152が選択された場合には、警告(説明の便宜上、以下「第3警告」という。)が行われる。この第3警告では、上述したように、アレルギー食材が含まれることについての警告が行われるとともに、アレルギー食材を除いた料理に変更して注文するかどうかの確認が行われる。このとき、ディスプレイ222には、第3警告を行うための第3警告ウインドウ162が表示される。
図19は第2実施例において携帯端末200に表示される第3警告ウインドウ162の一例を示す図解図である。この第3警告ウインドウ162もまた、メニュー選択画面150の前面に表示される。
たとえば、メニュー選択画面150で、ユーザが設定したアレルギー食材「卵」が含まれる“豚やきそば”の料理ボタン152が選択された場合、図19に示すように、第3警告ウインドウ162が表示される。この第3警告ウインドウ162には、“!!!注意!!!/≪豚やきそば≫にはアレルギー食材「卵」が含まれています/「卵」なしで注文しますか?”の警告メッセージが表示され、ユーザに注意が促されるとともに、アレルギー食材を除いた料理に変更して注文(仮選択)するか否かの意志確認が行われる。
また、第3警告ウインドウ162には、選択された料理(ここでは、“豚やきそば”)を注文(仮選択)する“はい”ボタン162aおよび選択された料理を注文(仮選択)しない“いいえ”ボタン162bが表示される。そして、“はい”ボタン162aが選択された場合、つまり、ユーザに、“豚やきそば”からアレルギー食材「卵」を除いて注文する意思がある場合は、「卵」を除くという食材の変更内容を紐づけして“豚やきそば”が仮選択状態にされる。すると、第3警告ウインドウ162が非表示され、メニュー選択画面150に戻る。以下、同様である。一方、“いいえ”ボタン162bが選択された場合は、“豚やきそば”が仮選択状態にされずに、メニュー選択画面150に戻る。
また、たとえば、ユーザの嫌いな食材が含まれる料理が選択された場合には、上述したアレルギー食材が含まれる場合と同様に、嫌いな食材を除いた料理を注文することもできる。図示は省略するが、ユーザが設定した嫌いな食材が含まれる料理が割り当てられた料理ボタン152が選択された場合には、第1実施例で示したように、第2警告が行われる。ここで、嫌いな食材を含む料理を注文することが選択されると、さらに、嫌いな食材を抜くかどうかの意思確認が行われる。ここでは、たとえば、嫌いな食材を除いた料理に変更して注文するかどうかのメッセージが表示されるとともに、嫌いな食材を除いた料理を注文するための“はい”ボタンおよび嫌いな食材を除かずに料理を注文するための“いいえ”ボタンを含むウインドウが表示される。
上記のように、二段階で意思確認するのではなく、他の実施例として、第2警告ウインドウ160において、“はい”ボタン160aに代えて、嫌いな食材を除いた料理に変更して注文するためのボタンと、嫌いな食材を除かずに料理を注文するためのボタンを設けて、一段階で意思確認するようにしてもよい。
以下、フロー図を用いて、第2実施例における携帯端末200のCPU212の注文処理について説明するが、第1実施例で説明した注文処理と同じ処理については同じ参照符号を付し、重複した内容については、説明を省略するまたは簡単に説明することにする。なお、全体処理、携帯端末側チェックイン処理およびPOS端末側チェックイン処理は、第1実施例と同じであるため、重複した説明は省略する。
図20は第2実施例における携帯端末200のCPU212の注文処理の一部を示すフロー図である。また、この第2実施例の注文処理では、ステップS71〜S83の処理およびステップS93〜S109の処理は、第1実施例と同じあるため、図17に示した注文処理の一部についての図示も省略してある。
図20に示すように、携帯端末200のCPU212は、ステップS83で“YES”であれば、つまり、ステップS77で選択された料理にアレルギー食材が含まれる場合は、ステップS131で、第3警告を実行する。具体的には、CPU212は、図19に示したような第3警告ウインドウ162をディスプレイ222に表示して、アレルギー食材が含まれることを警告するとともに、アレルギー食材を除いた料理に変更して注文するかどうかの確認を行い、ステップS133に進む。ステップS133では、アレルギー食材を除いた料理に変更して注文するかどうか、つまり、“はい”ボタン162aが選択されたかどうかを判断する。
ステップS133で“NO”であれば、つまり、“いいえ”ボタン162bが選択された場合は、ステップS77において選択された料理を仮選択状態にせずに、そのままステップS77に戻る。一方、ステップS133で“YES”であれば、つまり、“はい”ボタン162aが選択された場合は、後述するステップS137に進む。
また、ステップS91で“YES”であれば、つまり、第2警告ウインドウ160で“はい”ボタン160aが選択された場合は、ステップS135で、嫌いな食材を除いた料理に変更して注文するかどうかを判断する。
ステップS135で“NO”であれば、つまり、嫌いな食材を除かずに料理を注文するための“いいえ”ボタンが選択された場合は、ステップS93に進み、ステップS77で選択された料理をそのまま、つまり、嫌いな食材を除かずに仮選択状態にする。一方、ステップS135で、“YES”であれば、つまり、嫌いな食材を除いた料理を注文するための“はい”ボタンが選択された場合は、ステップS137に進む。
ステップS137では、アレルギー食材を除く、または嫌いな食材を除くという食材の変更内容を、ステップS77において選択された料理に紐づけして、ステップS93に進む。そして、ステップS93では、食材の変更内容が紐づけられた料理を仮選択状態にする。
この第2実施例によれば、料理から不要な食材を除いた料理に変更して注文することができるので、料理の選択肢を狭めることなく、ユーザが自身の不要な食材を含む料理を誤って注文してしまうことを防止することができる。
[第3実施例]
第3実施例の情報処理システム10は、ユーザ自身のみならず同席する他のユーザの不要な食材も考慮して注文できるようにした以外は、第1実施例の情報処理システム10と同じであるため、異なる内容について説明し、重複した説明については省略することにする。
たとえば、複数人のユーザが同席する場合、POS端末14は、同席する他のユーザの不要な食材も考慮して、各ユーザの個人メニューを作成する。したがって、第3実施例では、チェックイン情報には、ユーザが着席した座席が有るテーブルの情報がさらに含まれる。したがって、POS端末14は、同じテーブルの座席に着席している二人以上のユーザを同席者として判断し、この二人以上のユーザを含む一つのグループとして検出する。
このようにグループを検出した場合には、POS端末14は、グループに含まれるユーザ全員の不要食材情報をサーバ12から取得し、当該グループに含まれるユーザのアレルギー食材および嫌いな食材を示す不要食材情報を紐付けたユーザ毎の個人メニューを作成して、それぞれのユーザの個人メニューをそれぞれの携帯端末200に送信する。具体的には、個人メニューは、ユーザ自身については第1実施例で示したように、アレルギー食材については注文禁止にされ、ユーザが嫌いな食材については当該嫌いな食材が含まれることが警告されるとともに、当該料理を注文するかどうかの確認が行われ、同席者についての不要食材については、当該同席者の名称と、アレルギー食材または嫌いな食材であることが警告されるとともに、当該不要食材を含む料理を注文するかどうかの確認が行われるように作成される。
したがって、この第3実施例では、或るユーザが、自身の個人メニューに従って、グループに含まれる他のユーザの不要な食材が含まれる料理を注文する場合に、当該他のユーザの不要な食材が含まれることが警告されるとともに、当該料理を注文するかどうかの意思確認が行われる。
たとえば、この第3実施例では、他のユーザが設定したアレルギー食材が含まれており、ユーザ自身のアレルギー食材が含まれない料理が割り当てられた料理ボタン152は、注文禁止にされておらず、選択すること自体は可能である。ただし、他のユーザが設定したアレルギー食材が含まれる料理が割り当てられた料理ボタン152がタッチされた場合には、警告(便宜上、以下「第4警告」という。)が行われる。この第4警告では、当該料理ボタン152が示す料理にグループに含まれる他のユーザのアレルギー食材が含まれることをユーザに警告するとともに、料理を注文するか否かの意志確認を行う第4警告ウインドウ164がディスプレイ222に表示される。
図21は第3実施例において携帯端末200に表示される第4警告ウインドウ164の一例を示す図解図である。この第4警告ウインドウ164もまた、メニュー選択画面150の前面に表示される。
たとえば、メニュー選択画面150で、他のユーザが設定したアレルギー食材「かに」が含まれる“蟹チャーハン”が割り当てられた料理ボタン152が選択された場合、図21に示すように、第4警告ウインドウ164が表示される。この第4警告ウインドウ164には、“!!!注意!!!/≪蟹チャーハン≫には同席者「花子さん」のアレルギー食材「かに」が含まれています/注文しますか?”の警告メッセージが表示され、ユーザに注意を促し、料理を仮選択(注文)するか否かの意志確認が行われる。
また、第4警告ウインドウ164には、選択された料理(ここでは、“蟹チャーハン”)の仮選択する“はい”ボタン164aおよび選択された料理を仮選択しない“いいえ”ボタン164bが表示される。そして、“はい”ボタン164aが選択された場合、つまり、ユーザに、“蟹チャーハン”を注文する意思がある場合は、“蟹チャーハン”が仮選択状態にされる。このとき、第4警告ウインドウ164が非表示され、メニュー選択画面150に戻る。以下、同様である。一方、“いいえ”ボタン164bが選択された場合は、“蟹チャーハン”が仮選択状態にされずに、メニュー選択画面150に戻る。
さらに、この第3実施例では、他のユーザの嫌いな食材が含まれる料理が選択された場合も、上述したアレルギー食材が含まれる場合と同様に警告を行い、ユーザに注意を促し、料理を仮選択するか否かの意志確認が行われる。図示は省略するが、嫌いな食材の場合には、第2警告ウインドウ160と同様の警告ウインドウが表示される。たとえば、第2警告ウインドウ160に表示される警告メッセージにおいて、嫌いな食材が設定されているユーザの名称を表示することによって、誰の嫌いな食材が含まれるかが明記される。
以下、フロー図を用いて、第3実施例におけるPOS端末14のCPU14aのPOS端末側チェックイン処理、および携帯端末200のCPU212の注文処理について説明するが、第1実施例で説明した処理と同じ処理については同じ参照符号を付し、重複した内容については、説明を省略するまたは簡単に説明することにする。なお、全体処理および携帯端末側チェックイン処理は、第1実施例と同じであるため、重複した説明は省略する。
図22は第3実施例におけるPOS端末14のCPU14aのPOS端末側チェックイン処理の一例を示すフロー図である。
第3実施例では、POS端末14のCPU14aは、ステップS53で、当該店舗のメニューを読み出すと、ステップS151で、同席者がいるかどうかを判断する。つまり、CPU14aは、同じテーブルの情報を含むチェックイン情報を複数受信したかどうかを判断する。ステップS151で“NO”であれば、つまり、同じ座席についてのチェックイン情報を複数受信していなければ、同席者がいないと判断し、ステップS55に進む。一方、ステップS151で“YES”であれば、同席者がいると判断し、複数のユーザを含むグループを検出して、ステップS153で、サーバ12に同席者全員(グループに含まれる全ユーザ)の不要食材情報の送信を要求し、ステップS57に進む。したがって、同席者がいる場合には、ステップS59では、これらの同席者の不要食材情報をすべて考慮した個人メニューが作成される。
図23は第3実施例における携帯端末200のCPU212の注文処理の一例を示すフロー図である。また、この第3実施例の注文処理では、ステップS71〜S83の処理およびステップS91〜S109の処理は、第1実施例と同じあるため、図17に示した注文処理の一部についての図示も省略してある。
第3実施例では、携帯端末200のCPU212は、ステップS87で“NO”であれば、つまり、ステップS77で選択された料理に当該携帯端末200のユーザのアレルギー食材および嫌いな食材が含まれない場合には、ステップS171に進む。
ステップS171では、ステップS77で選択された料理にグループに含まれる他のユーザの不要な食材が含まれるかどうかを判断する。ステップS171で“NO”であれば、つまり、ステップS77で選択された料理にグループに含まれる他のユーザの不要な食材が含まれない場合には、ステップS93に進む。
一方、ステップS171で“YES”であれば、つまり、ステップS77で選択された料理にグループに含まれる他のユーザの不要な食材が含まれる場合は、ステップS173で、第4警告を実行する。具体的には、CPU212は、第4警告ウインドウ164をディスプレイ222に表示して、他のユーザの不要な食材が含まれることを警告するとともに、当該料理を注文するかどうかの確認を行い、ステップS91に進む。
この第3実施例によれば、ユーザが同じグループに含まれる他のユーザの不要な食材が含まれる料理を注文する場合に、この他のユーザの不要な食材が含まれることが警告されるとともに、当該料理を注文するかどうかの確認が行われるので、ユーザが注文する料理に同席者の不要な食材が含まれていることを知らせることができ、同席者が誤って不要な食材が含まれる料理を食べてしまうことを防止することができる。
また、第3実施例によれば、ユーザ自身のアレルギー食材が含まれなければ、同席する他のユーザの不要な食材が含まれる料理も注文可能であるので、料理の選択肢を狭めずに注文することができる。
なお、第1実施例〜第3実施例では、ユーザの基本情報および不要食材情報をサーバ12に登録(記憶)するようにしたが、これに限定される必要は無い。たとえば、ユーザの基本情報および不要食材情報は、携帯端末200に記憶させてもよいし、チェックイン時に店舗においてユーザに入力させるようにしてもよい。また、個人メニューは、POS端末14で作成せずに、携帯端末200で作成するようにしてもよい。たとえば、携帯端末200が、POS端末14から店舗のメニューを取得するとともに、登録されたユーザの不要食材情報を参照して、アレルギー食材が含まれる料理の注文をできないようにし、また、嫌いな食材が含まれる料理の注文時には確認を促すようにした当該ユーザの個人メニューを作成するようにしてもよい。
また、第1実施例〜第3実施例では、ユーザが所有する携帯端末200を用いる場合について説明したが、これに限定される必要は無い。たとえば、携帯端末200は、店舗に備え付けられる端末であってもよい。
さらに、第2実施例および第3実施例に示した第1実施例の変形例は、同時に採用することも可能である。
さらにまた、上述の実施例で挙げた具体的な数値、画面構成等は一例であり、実際の製品に応じて適宜変更することが可能である。また、上述の実施例で示したフロー図の各ステップは、同じ結果が得られるのであれば、処理される順番は適宜変更することが可能である。