以下、注文システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、ユーザ端末10から1または2以上のユーザ識別情報を受信し、当該1または2以上のユーザ識別情報に対応するユーザ情報から、一のユーザ情報を選択し、選択したユーザ情報に対応するユーザ用のメニューを表示する注文システム1について説明する。
また、本実施の形態において、テーブル番号等を受け付けたり、注文メニューを表示したりする注文システム1について説明する。
また、本実施の形態において、注文した対象の履歴情報を蓄積し、当該注文履歴と対象に関する情報と対象の属性を示す対象属性とを用いて注文のためのメニューを動的に変更する注文システム1について説明する。
また、本実施の形態において、対象の商品に関するルールである1以上の対象ルールを用いて、動的にメニューを変更する注文システム1について説明する。
また、本実施の形態において、来店人数、ご一緒されているお客様の関係(例えば、家族、恋人、同姓友人等)、お客様のアレルギー情報等のお客様の属性に応じて注文メニューを動的に変更する注文システム1について説明する。
また、本実施の形態において、対象の在庫情報を用いて、メニューを動的に変更する注文システム1について説明する。
また、本実施の形態において、注文履歴から個人の嗜好を分析し、嗜好の情報を用いてメニューを動的に変更する注文システム1について説明する。
また、本実施の形態において、メニューの変更の態様として、メニュー項目の順序を変更したり、メニュー項目を削除またはグレーアウトしたり、メニュー項目の一部の表示の変更(金額、量などの変更)を行ったりする場合について説明する。
図1は、本実施の形態における注文システム1の概念図である。注文システム1は、1または2以上のユーザ端末10、情報処理装置11、1または2以上の端末装置12を備える。注文システム1は、通常、2以上のユーザ端末10、および2以上の端末装置12を備える。ユーザ端末10は、注文を行うユーザが保有している端末であり、通常、いわゆるスマートフォンや携帯電話や携帯パソコン等の携帯端末である。また、情報処理装置11は、通常、情報の送受信機能を有するコンピュータである。情報処理装置11は、例えば、サーバ装置である。さらに、端末装置12は、注文を行う端末であり、通常、注文を受ける店舗が保有する端末であるが、ユーザ端末10でも良い。つまり、ユーザ端末10と端末装置12とは一つの装置でも良い。
図2は、本実施の形態における注文システム1のブロック図である。また、図3は、情報処理装置11のブロック図である。
ユーザ端末10は、ユーザ識別情報格納部101、ユーザ識別情報送信部102を備える。なお、
情報処理装置11は、ユーザ管理情報格納部1101、席情報格納部1102、注文履歴格納部1103、対象属性情報格納部1104、メニュー項目格納部1105、ルール格納部1106、在庫格納部1107、ユーザ識別情報受信部1108、ユーザ情報取得部1109、ユーザ情報送信部1110、席情報受付部1111、席識別子蓄積部1112、ユーザ属性情報受付部1113、注文情報受付部1114、注文情報蓄積部1115、メニュー取得部1116、メニュー送信部1117、嗜好情報取得部1118を備える。
端末装置12は、端末メニュー格納部1201、ユーザ情報受信部1202、ユーザ情報出力部1203、受付部1204、端末送信部1205、メニュー受信部1206、メニュー蓄積部1207、メニュー出力部1208を備える。
ユーザ端末10を構成するユーザ識別情報格納部101は、ユーザ識別情報を格納している。ユーザ識別情報は、ユーザを識別する情報である。ユーザ識別情報は、例えば、ユーザ端末の識別子でも良く、例えば、ユーザ端末のMACアドレス、電話番号、ユーザのメールアドレス等である。また、ユーザ識別情報は、ユーザを識別できれば良く、他の構成要素で利用するユーザ識別情報と同一の情報でなくても良い。
ユーザ識別情報送信部102は、ユーザ識別情報格納部101のユーザ識別情報を送信する。ユーザ識別情報送信部102は、通常、情報処理装置11にユーザ識別情報を送信する。但し、ユーザ識別情報送信部102は、端末装置12にユーザ識別情報を送信しても良い。なお、ユーザ識別情報送信部102は、ユーザ識別情報をブロードキャストにより送信しても良いし、相手の装置を特定して送信しても良い。また、ユーザ識別情報送信部102は、ユーザ識別情報を定期的に送信しても良いし、何らかのトリガーによりユーザ識別情報を送信しても良い。ユーザ識別情報送信部102は、図示しない位置情報取得手段が取得した位置情報も、ユーザ識別情報とともに送信しても良い。位置情報取得手段は、例えば、GPS受信機である。また、位置情報は、経度と緯度の情報などの位置を特定する情報である。
情報処理装置11を構成するユーザ管理情報格納部1101は、1以上のユーザ管理情報を格納し得る。ユーザ管理情報は、ユーザ識別情報とユーザ情報とを有する。ユーザ情報は、ユーザに関する情報である。また、ユーザ情報は、通常、ユーザを特定するための情報を含む。ユーザを特定する情報は、通常、人が認識可能な情報であり、例えば、ユーザの写真、氏名、ニックネームなどである。
席情報格納部1102は、1以上の席情報を格納し得る。席情報は、ユーザ識別情報と席を特定する席識別子とを有する。また、席識別子は、座席またはテーブル等を特定する情報であり、例えば、テーブル番号、席番号などである。
注文履歴格納部1103は、注文履歴情報が格納される。注文履歴情報とは、ユーザが注文した対象の履歴を示す情報であって、注文情報の集合である。また、注文履歴情報は、ユーザが現在来店中の店舗において、現在の来店中に注文した対象の履歴を示す情報であることは好適である。また、注文履歴情報は、現在の来店中に注文情報受付部1114が受信した注文情報の集合であることは好適である。注文情報受付部1114が受信した注文情報は、通常、受付部1204が受け付けた注文情報である。また、注文履歴情報を構成する各注文情報は、注文情報受付部1114が注文情報を受信した順番を示す情報と対応付けられて格納されていても良い。また、注文履歴情報または注文情報は、通常、ユーザ識別情報と対応付けて格納されている。なお、注文履歴情報は、店外に設置されている装置(この装置も端末装置12である、と考えても良い。)から送信された情報でも良い。また、注文履歴情報は、後述する過去注文履歴情報を含むと考えても良い。また、対象とは、商品やサービス等であり、購入するものを指す。対象は、例えば、飲食物である。さらに、注文した対象は、来店して注文したものに限らず、インターネット等を利用して注文したものも含む、と考えても良い。また、ここで、注文情報とは、例えば、注文した商品等を特定する対象識別情報を有する。また、注文した商品の個数なども有しても良い。
注文履歴格納部1103には、過去注文履歴情報が格納されても良い。過去注文履歴情報は、過去に注文された対象の履歴を示す情報である。また、過去注文履歴情報は、ユーザが現在来店中の店舗において、過去の来店時に注文した対象の履歴を示す情報であることは好適である。過去注文履歴情報は、ユーザの過去の来店時に、注文情報受付部1114が受信した注文情報の集合であることは好適である。過去注文履歴情報は、この過去注文履歴情報が有する対象識別情報が示す対象の注文を受け付けたタイミングが異なる点を除けば、上述した注文履歴情報と同様の情報であってもよい。注文履歴格納部1103において、注文履歴情報と過去注文履歴情報とはどのように区別されるかは問わない。例えば、注文履歴格納部1103に格納されているユーザが注文した飲食物の履歴を示す情報のうちの、現在の来店時よりも前の日時と対応付けられた履歴を示す情報を過去注文履歴情報とし、現在の来店時以降の日時と対応付けられた履歴を示す情報を注文履歴情報としても良い。また、注文履歴情報と過去注文履歴情報とは、異なるフォルダ等に格納されていてもよい。この場合、例えば、ユーザによる来店が終了した時点(例えば、ユーザが注文した飲食物の精算を完了した時点)以降に、注文情報蓄積部1115や図示しない処理部等が、注文履歴格納部1103に格納された注文履歴情報を、過去注文履歴情報が格納されているフォルダに移動させるようにしても良い。また、注文履歴情報と過去注文履歴情報とに、異なる識別情報(例えば、注文履歴情報であるか過去注文履歴情報であるかを示すフラグ等の情報)を対応付けて注文履歴格納部1103に蓄積するようにしても良い。
なお、注文履歴格納部1103は、例えば、物理的には分離されている複数の記憶媒体等から構成されていても良く、注文履歴情報と、過去注文履歴情報とが、複数の記憶媒体のうちの異なる記憶媒体にそれぞれ格納されていても良い。
対象属性情報格納部1104は、対象属性情報が格納される。対象属性情報は、対象識別情報と対応付けられた情報であって、対象識別情報が示す対象の属性を示す情報である。対象属性情報は、例えば、飲食物の種類、性質等を示す情報等である。また、対象が、例えば、飲食物の場合、対象属性情報は、例えば、飲食物の種類(オードブル、メイン、デザート等)、飲食物の材料の種類(野菜、肉類、スープ等)、カロリーの値、調理方法、分野、重量等である。
メニュー項目格納部1105は、1以上のメニュー項目が格納される。メニュー項目は、対象識別情報が示す対象に関する情報であって、メニューに配置可能な情報である。メニュー項目は、例えば、「<対象識別情報>唐揚げ,<価格>300円,<対象属性情報><カロリー>500KCal,<ジャンル>揚げ物,<材料>鶏肉,・・・</対象属性情報>」である。
また、メニュー項目は、注文履歴情報、嗜好情報、ユーザ属性情報のうちの1以上の情報に基づいて、その内容が変更されても良い。かかる場合、メニュー項目は、例えば、内容を変更するための条件である内容変更条件、変更する内容に関する情報である変更内容情報を有する。メニュー項目は、例えば、「<対象識別情報>唐揚げ,<価格>300円,<内容変更条件>注文履歴情報に2以上の「<対象識別情報>唐揚げ」が存在,<変更内容情報>価格=100+(200−50×N),<対象属性情報><カロリー>500KCal,<ジャンル>揚げ物,<材料>鶏肉,・・・</対象属性情報>」である。かかるメニュー項目のうちの「<内容変更条件>注文履歴情報に2以上の「<対象識別情報>唐揚げ」が存在」は、唐揚げを2以上注文していることを示す。また、「<変更内容情報>価格=100+(200−50×N)」は、「価格=100+(200−50×N)」(Nは注文回数)により、価格が算出されることを示す。なお、<変更内容情報>は数式であるが、値など、他の表現形式でも良いことは言うまでもない。
また、メニュー項目は、メニュー項目内容と内容選択条件とを有する2以上のメニュー項目部品であっても良い。メニュー項目内容とは、出力されるメニュー項目の内容を示す情報である。また、選択条件は、メニュー項目内容が選択される条件を示す情報である。メニュー項目を構成する2つのメニュー項目部品は、例えば、「<メニュー項目内容>対象識別情報>唐揚げ,<価格>300円</メニュー項目内容>,<選択条件>総額2000円未満」「<メニュー項目内容><対象識別情報>唐揚げ,<価格>250円</メニュー項目内容>,<選択条件>総額2000円以上」である。かかるメニュー項目は、総額2000円未満の間は、唐揚げの価格が300円のメニュー項目が選択され、総額2000円以上の場合は唐揚げの価格が250円のメニュー項目が選択されることを示す。なお、2以上のメニュー項目部品を有するメニュー項目を、適宜、選択的メニュー項目という。また、総額とは、ユーザが注文した飲食物(対象の一例)の価格の合計である。
ルール格納部1106は、1以上の消費ルールを格納し得る。消費ルールとは、対象属性情報を有するルールであり、対象の消費に関するルールである。また、消費ルールとは、消費する順序に関するルール(順序ルールという)、消費した対象の総量に関するルール(総量ルールという)、特定の対象属性情報に対応する対象の総量に関するルール(特定総量ルールという)などがある。さらに具体的には、対象が、例えば、飲食物である場合、順序ルールは、例えば、「<順序><ジャンル>オードブル,<ジャンル>魚類,<ジャンル>肉類,<ジャンル>デザート,<ジャンル>ドリンク</順序>」など、飲食の順序を示すルールである。本ルールは、「オードブル、魚類、肉類、デザート、ドリンク」の順に、飲食することを示す。また、総量ルールは、例えば、「<カロリー>1000KCal以下」、「<重量>1kg以下」などである。「<カロリー>1000KCal以下」は、一回の来店において、飲食する総カロリーが1000KCal以下であることを示す。また、「<重量>1kg以下」は、来店以降に飲食した飲食物の総重量が1kg以下であることを示す。また、特定総量ルールは、例えば、「<総量 ジャンル=ビール>3杯以下」などである。「<総量 ジャンル=ビール>3杯以下」は、ビールは3杯以下に押さえること(4杯以上のビールは飲まないこと)を示す。なお、飲食ルールの記載方法やデータ構造は問わない。
また、1以上の消費ルールは、ユーザ毎に管理されていることは好適である。つまり、消費ルールとユーザ識別情報とは、対応付けて格納されていることは好適である。かかる場合、ユーザ毎に適用される消費ルールが異なることになる。
また、ルール格納部1106は、ユーザ識別情報と対応付けられている消費ルールと、ユーザ識別情報と対応付けられていない消費ルールの両方を含んでも良い。ユーザ毎に適用される消費ルールが異なる場合、ダイエットを実施中のユーザは、総カロリーが500KCal以下になることをルールとして保持しており、他のユーザは総カロリーについての制約が存在しない、等の処理が可能となる。また、ユーザによって、消費する順序を変えた順序ルールが存在する場合、ユーザの嗜好に応じた対象(例えば、飲食物)の提供が可能となる。また、ユーザ識別情報と対応付けられていない消費ルールは、例えば、飲食店の都合(例えば、希少価値の高い飲食物は、一人1個まで等)を、すべてのユーザに課すために有効である。
また、ユーザ識別情報と対応付けられている消費ルールとユーザ識別情報と対応付けられていない消費ルールであり、両方を満たすことができない2以上のルールがルール格納部1106に格納されている場合、通常、ユーザ識別情報と対応付けられている消費ルールが優先されて、適用される。
在庫格納部1107は、対象の在庫状況を示す情報である在庫情報が、対象識別情報と対応付けて格納されている。なお、在庫格納部1107の在庫情報は、対象の消費に従って、図示しない手段により更新される。在庫情報の更新は、通常、人手により行われるが、在庫情報の自動チェック機能(図示しない手段による)を有し、自動的に行われても良い。
ユーザ識別情報受信部1108は、1または2以上のユーザ端末10から、1または2以上のユーザ識別情報を受信する。ユーザ端末10は、通常、ユーザが保持している装置である。また、ユーザ端末10は、端末装置12と同じ装置でも良い。ここで、通常、ユーザ端末10は、自発的に(プッシュ型で)、ユーザ識別情報を送信するが、情報処理装置11がプル型でユーザ識別情報を受信しても良い。
ユーザ情報取得部1109は、ユーザ識別情報受信部1108が受信した1または2以上の各ユーザ識別情報に対応する1または2以上のユーザ情報を、ユーザ管理情報格納部1101から取得する。ユーザ情報取得部1109は、ユーザ情報のうちの一部の情報を取得するだけでも良い。かかる一部の情報もユーザ情報と言える。
ユーザ情報送信部1110は、ユーザ情報取得部1109が取得した1または2以上のユーザ情報を端末装置12に送信する。
席情報受付部1111は、席情報を受け付ける。ここでの受け付けとは、通常、受信である。ただし、席情報受付部1111は、席情報または席情報の一部(例えば、席識別子のみ)を、ユーザの手入力により、受け付けても良い。席情報は、ユーザ識別情報とユーザが確保した席を示す席識別子とを有する。席識別子は、テーブルを識別する情報でも良い。席情報受付部1111は、席情報を端末装置12から受信しても良いし、他の端末(例えば、ユーザ端末10、レジの端末など)から受信しても良い。
席識別子蓄積部1112は、席情報受付部1111が受け付けた席情報が有する席識別子を、席情報受付部1111が受け付けたユーザ識別情報と対応付けて、席情報格納部1102に蓄積する。ここで、席識別子蓄積部1112は、席識別子とユーザ識別情報とを対応付ければ良い。席識別子蓄積部1112は、席識別子だけを蓄積して、当該席識別子を、格納されているユーザ識別情報に対応付けても良い。また、席識別子蓄積部1112は、ユーザ識別情報だけを蓄積して、当該ユーザ識別情報を、格納されている席識別子に対応付けても良い。さらに、席識別子蓄積部1112は、受信した席識別子とユーザ識別情報との両方を、対応付けて蓄積しても良い。
ユーザ属性情報受付部1113は、ユーザの属性を示す情報であるユーザ属性情報を受け付ける。ユーザ属性情報とは、例えば、来店人数、一緒に来店された複数のユーザ(お客様)の関係(例えば、家族、恋人、同姓友人など)、ユーザのアレルギーに関する情報であるアレルギー情報(そばアレルギー等)などである。また、ユーザ属性情報受付部1113は、通常、受け付けたユーザ属性情報を、ユーザ識別情報と対応付けて、図示しない記録媒体に一時蓄積する。なお、ユーザ属性情報受付部1113は、ユーザ端末10からユーザ属性情報を受信しても良いし、端末装置12からユーザ属性情報を受信しても良いし、人手による入力を受け付けても良い。また、ユーザ属性情報は、ユーザ識別情報を含んでも良いし、ユーザ識別情報と対応付いていても良い。ユーザ属性情報がユーザ識別情報と対応付いている場合、ユーザ属性情報受付部1113は、ユーザ識別情報とユーザ属性情報とを受け付ける。
注文情報受付部1114は、端末装置12から注文情報を受け付ける。ここでの受け付けとは、通常、受信である。また、注文情報受付部1114は、端末装置12からユーザ識別情報と注文情報とを受信することは好適である。ただし、注文情報受付部1114は、ユーザの手入力により、注文情報を受け付けても良い。
注文情報蓄積部1115は、注文情報受付部1114が受け付けた注文情報を、注文情報受付部1114が受け付けたユーザ識別情報と対応付けて蓄積する。注文情報蓄積部1115は、通常、注文情報、または注文情報とユーザ識別情報とを、注文履歴格納部1103に蓄積する。注文履歴蓄積部1115は、例えば、注文情報受付部1114が受け付けた注文情報を、上述したような受け付けた順番を示す情報と対応付けて注文履歴格納部1103に蓄積してもよい。順番を示す情報が時刻である場合、情報処理装置11が有する図示しない時計等から現在の時刻を取得するようにすればよい。また、注文履歴蓄積部1115は、注文情報の入力を行ったユーザのユーザ識別情報や、注文を受け付けた店舗の店舗識別情報と対応付けて注文情報を蓄積するようにしても良い。ユーザ識別情報は、例えば、注文を行うユーザが情報処理装置11にログイン等を行う際に入力したユーザ識別情報を用いる。また、注文情報蓄積部1115は、例えば、予め図示しない記憶媒体等に蓄積されている対象識別情報を読み出す。ユーザが現在の来店中に受け付けた注文情報は、例えば、注文履歴情報として注文履歴格納部1103に蓄積(例えば、追記)される。また、例えば、ユーザが来店を終えた後には、蓄積された注文履歴情報が過去注文履歴情報となる。
メニュー取得部1116は、メニュー項目を配置したメニューであって、注文履歴格納部1103に格納された注文履歴情報と、対象属性情報格納部1104に格納された対象属性情報とに応じた態様のメニューを取得する。つまり、メニュー取得部1116は、通常、注文がなされる毎に、異なるメニューを取得する。なお、本明細書において、メニューとは、注文する画面を構成するための情報と指す場合、注文するメニュー画面を指す場合等がある。
メニュー取得部1116は、メニュー項目を配置したメニューであって、注文履歴格納部1103に格納された注文履歴情報を1以上の消費ルールに適用し、注文履歴情報と属性情報とに応じた態様のメニューを取得する。例えば、消費ルールが、順序ルール「<順序><ジャンル>オードブル,<ジャンル>魚類,<ジャンル>肉類,<ジャンル>デザート,<ジャンル>ドリンク</順序>」である場合、メニュー取得部1116は、第一にオードブルのメニューを構成し、第二に魚類のメニューを構成し、第三に肉類のメニューを構成し、第四にデザートのメニューを構成し、最後にドリンクのメニューを構成する。また、例えば、消費ルールが、特定総量ルール「<総量 ジャンル=ビール>3杯以下」である場合、3杯のビールが注文された後は、メニュー取得部1116は、ビールのメニュー項目を用いずに、ビールのメニュー項目が存在しないメニューを構成する。
メニュー取得部1116は、さらに、ユーザ属性情報受付部1113が受け付けたユーザ属性情報に応じた態様のメニューを取得する。ユーザ属性情報が「そばアレルギー」である場合、メニュー取得部1116は、材料識別情報として「そば」を有するメニュー項目、および対象識別情報「そば」のメニュー項目を取得せず、かかるメニュー項目が存在しないメニューを構成する。
メニュー取得部1116は、在庫情報に応じた態様のメニューを取得する。つまり、メニュー取得部1116は、在庫情報が、在庫が存在しない対象のメニュー項目、および在庫が存在しない対象を材料として使用する対象のメニュー項目を取得せず、かかるメニュー項目が存在しないメニューを構成する。
メニュー取得部1116は、嗜好情報に応じた態様のメニューを取得する。嗜好情報が「ビールが大好き」であることを示す情報である場合、例えば、メニュー取得部1116は、「ビール」のメニュー項目を選択しやすい位置に配置したり、「ビール」の表示を目立つ表示にしたり、中ジョッキの代わりに大ジョッキのビールのメニュー項目にしたりする。
メニュー取得部1116は、メニュー項目の一部の値を変更したメニューを取得しても良い。一部の値とは、例えば、メニュー項目を構成する価格、数量などである。メニュー取得部1116は、例えば、注文履歴情報が示す注文の履歴や、ユーザの嗜好情報等に応じて、メニュー項目の一部の値を変更したメニューを取得する。
また、メニュー取得部1116は、メニュー項目の配置を、デフォルトの配置に対して変更したメニューを取得しても良い。デフォルトの配置に関する情報は、メニュー項目格納部1105が保持していても良いし、メニュー取得部1116が保持していても良い。
また、メニュー取得部1116は、メニュー項目の一部を削除、または選択を受け付けない状態としたメニューを取得しても良い。
メニュー取得部1116は、注文情報受付部1114が注文情報を受信する毎に、注文履歴情報と属性情報とに応じた態様のメニューを取得することは好適である。
メニュー取得部1116は、注文履歴情報と属性情報とを選択条件に適用し、合致する選択条件に対応するメニュー項目内容を取得し、メニューを構成することは好適である。
なお、メニュー取得部1116が取得したメニュー項目から出力するメニューを構成する技術は公知技術であるので、詳細な説明を省略する。メニュー取得部1116は、例えば、メニュー項目を配置するためのテンプレートの情報を保持しており、かかるテンプレートの情報に、メニュー項目を代入して、メニューを構成する。
メニュー送信部1117は、メニュー取得部1116が取得したメニューを端末装置12に送信する。
嗜好情報取得部1118は、過去注文履歴情報を用いて、ユーザの嗜好を示す情報である嗜好情報を取得する。嗜好情報とは、例えば、対象属性情報、対象属性情報を選択するパターンを示す情報である。嗜好情報取得部1118は、例えば、ある店舗に訪問の度に注文されている対象(例えば、飲食物)のジャンル(「種類」と言っても良い。)、またはある店舗に訪問の度に注文されている対象の対象識別情報を取得する。かかる場合、嗜好情報はジャンル、または対象識別情報である。そして、嗜好情報取得部1118は、嗜好情報とユーザ識別情報を対応付けて保持することは好適である。また、嗜好情報取得部1118は、過去注文履歴情報の中に、閾値以上(例えば、店舗訪問の総回数のうちの70%以上など)、存在する対象識別情報またはジャンルを取得しても良い。
端末装置12を構成する端末メニュー格納部1201は、注文を受け付けるメニューであり、1以上のメニュー項目を有するメニューが格納される。ここでの格納は、通常、一時的な格納である。
ユーザ情報受信部1202は、ユーザ情報送信部1110が送信した1または2以上のユーザ情報を受信する。ユーザ情報は、例えば、ユーザの写真とユーザ識別情報である。
ユーザ情報出力部1203は、ユーザ情報受信部1202が受信した1または2以上のユーザ情報を出力する。ここで、ユーザ情報は、例えば、ユーザの写真である。また、ユーザ情報出力部1203は、2以上のユーザ情報を出力することは好適である。また、ユーザ情報出力部1203は、ユーザ情報受信部1202が受信した情報のうちの一部のユーザ情報を出力するだけでも良い。ここで、出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
受付部1204は、各種のデータや命令を受け付ける。受付部1204は、例えば、ユーザ情報出力部1203が出力した1または2以上のユーザ情報のうちの、一のユーザ情報に対する指示であるユーザ指示を受け付ける。また、受付部1204は、例えば、注文を示す注文情報も受け付ける。また、受付部1204は、例えば、席識別子も受け付ける。ユーザ指示や注文情報や席識別子の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部1204は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末送信部1205は、受付部1204が受け付けたユーザ指示が示すユーザ情報に対応するユーザ識別情報と、受付部1204が受け付けた注文情報とを対応付けて送信する。端末送信部1205は、ユーザ識別情報と注文情報とを、別々に送信しても良い。ここでのユーザ識別情報は、ユーザを識別できれば良く、他の構成要素(例えば、ユーザ管理情報格納部1101)で利用するユーザ識別情報と同一でなくても良い。また、注文情報等の送信先は、情報処理装置11でも良いし、情報処理装置11とは異なる装置(例えば、注文管理サーバなど)でも良い。
また、端末送信部1205は、受付部1204が受け付けた席識別子と、ユーザ識別情報とを、情報処理装置11に送信しても良い。
メニュー受信部1206は、メニューを情報処理装置11から受信する。
メニュー蓄積部1207は、メニュー受信部1206が受信したメニューを端末メニュー格納部1201に蓄積する。ここでの蓄積とは、通常、一時的な蓄積である。
メニュー出力部1208は、メニュー受信部1206が受信したメニューを出力する。
ユーザ識別情報格納部101、ユーザ管理情報格納部1101、席情報格納部1102、注文履歴格納部1103、対象属性情報格納部1104、メニュー項目格納部1105、ルール格納部1106、在庫格納部1107、および端末メニュー格納部1201は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
ユーザ識別情報格納部101等にユーザ識別情報等が記憶される過程は問わない。例えば、記録媒体を介してユーザ識別情報等がユーザ識別情報格納部101等記憶されるようになってもよく、通信回線等を介して送信されたユーザ識別情報等がユーザ識別情報格納部101等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたユーザ識別情報等がユーザ識別情報格納部101等で記憶されるようになってもよい。
ユーザ識別情報送信部102、ユーザ情報送信部1110、メニュー送信部1117、および端末送信部1205は、通常、無線の通信手段で実現されるが、有線の通信手段や放送手段で実現されても良い。
ユーザ識別情報受信部1108、席情報受付部1111、ユーザ属性情報受付部1113、注文情報受付部1114、ユーザ情報受信部1202、およびメニュー受信部1206は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
ユーザ情報取得部1109、席識別子蓄積部1112、注文情報蓄積部1115、メニュー取得部1116、嗜好情報取得部1118、およびメニュー蓄積部1207は、通常、MPUやメモリ等から実現され得る。ユーザ情報取得部1109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
ユーザ情報出力部1203、およびメニュー出力部1208は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。ユーザ情報出力部1203等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、注文システム1の動作について説明する。まず、ユーザ端末10の動作について説明する。ユーザ端末10のユーザ識別情報送信部102は、ユーザ識別情報格納部101からユーザ識別情報を取得する。そして、ユーザ識別情報送信部102は、取得したユーザ識別情報を送信する。
次に、情報処理装置11の動作について、図4のフローチャートを用いて説明する。
(ステップS401)ユーザ識別情報受信部1108は、1または2以上のユーザ識別情報を受信したか否かを判断する。ユーザ識別情報を受信すればステップS402に行き、ユーザ識別情報を受信しなければステップS404に行く。
(ステップS402)ユーザ情報取得部1109は、ステップS401で受信された1または2以上のユーザ識別情報を用いて、当該1または2以上の各ユーザ識別情報に対応する1または2以上のユーザ情報を、ユーザ管理情報格納部1101から取得する。
(ステップS403)ユーザ情報送信部1110は、1または2以上のユーザ情報を端末装置12に送信する。ステップS401に戻る。
(ステップS404)席情報受付部1111は、席情報を受け付けたか否かを判断する。席情報を受け付ければステップS405に行き、席情報を受け付けなければステップS406に行く。
(ステップS405)席識別子蓄積部1112は、ステップS404で受け付けられた席情報が有する席識別子を、ステップS404で受け付けられたユーザ識別情報と対応付けて、席情報格納部1102に蓄積する。ステップS401に戻る。
(ステップS406)注文情報受付部1114は、注文情報とユーザ識別情報とを受け付けたか否かを判断する。注文情報等を受け付ければステップS407に行き、注文情報等を受け付けなければステップS410に行く。
(ステップS407)注文情報蓄積部1115は、ステップS406で受け付けられた注文情報を、ユーザ識別情報と対応付けて、注文履歴格納部1103に蓄積する。
(ステップS408)メニュー取得部1116は、ユーザ識別情報により識別されるユーザ向けのメニューを構成する。かかる処理をメニュー構成処理という。メニュー構成処理について、図5のフローチャートを用いて説明する。
(ステップS409)メニュー送信部1117は、ステップS408で構成されたメニューを、端末装置12に送信する。ステップS401に戻る。
(ステップS410)ユーザ属性情報受付部1113は、ユーザ属性情報を受け付けたか否かを判断する。ユーザ属性情報を受け付ければステップS411に行き、ユーザ属性情報を受け付けなければステップS412に行く。
(ステップS411)ユーザ属性情報受付部1113は、ステップS410で受け付けたユーザ属性情報を、ユーザ識別情報と対応付けて、図示しない記録媒体に一時蓄積する。ステップS401に戻る。
(ステップS412)嗜好情報取得部1118は、嗜好情報を取得するタイミングであるか否かを判断する。嗜好情報を取得するタイミングであればステップS413に行き、嗜好情報を取得するタイミングでなければステップS414に行く。なお、嗜好情報を取得するタイミングは、例えば、情報処理装置11が、ユーザ識別情報で識別されるユーザが来店したことを示す情報を受信した場合である。また、嗜好情報を取得するタイミングは、例えば、ステップS406で、一のユーザ識別情報に対して、情報処理装置11が注文情報を、一の日に初めて受信した場合等である。また、嗜好情報を取得するタイミングは、例えば、図示しない手段が、ユーザの決済が完了した旨の情報を受信した場合である。
(ステップS413)嗜好情報取得部1118は、嗜好情報取得処理を行う。嗜好情報取得処理について、図10のフローチャートを用いて説明する。ステップS401に戻る。
(ステップS414)図示しない受付手段が、在庫情報を変更する指示を受け付けたか否かを判断する。在庫情報を変更する指示を受け付ければステップS415に行き、在庫情報を変更する指示を受け付けなければステップS416に行く。なお、在庫情報を変更する指示は、変更内容を有する。変更内容は、変更する対象、および変更のための情報を有する。在庫情報を変更する指示は、例えば、「変更 <対象>鶏肉 <変更データ>0」である。「変更 <対象>鶏肉 <変更データ>0」は、食材「鶏肉」の在庫がなくなったことを示す。また、在庫情報を変更する指示は、例えば、「変更 <対象>から揚げ <変更データ>0」である。本指示は、対象識別情報「から揚げ」の在庫がなくなったことを示す。また、図示しない受付手段は、当該注文情報受付部1114が受け付けた注文情報を用いて在庫情報を変更する指示を受け付けることは好適である。注文情報受付部1114が、「注文 <対象>から揚げ <数量>2」を受け付けた場合、図示しない受付手段は、注文情報受付部1114から、「変更 <対象>から揚げ <内容>$在庫−2」を受け付ける。ここで「$在庫」は、現在の「<対象>から揚げ」の在庫数を示す変数である。
(ステップS415)図示しない修正手段が、ステップS414において受け付けた在庫情報を変更する指示が有する変更内容に従って、在庫格納部1107の在庫情報を変更する。ステップS401に戻る。
(ステップS416)図示しない受付手段は、メニューの出力指示を、端末装置12から受信したか否かを判断する。メニューの出力指示を受信すればステップS408に行き、受信しなければステップS401に戻る。
なお、図4のフローチャートにおいて、ステップS416でYesの場合、ステップS408に行ったが、メニュー取得部1116がデフォルトの1以上のメニュー項目をメニュー項目格納部1105から読み出し、メニューを構成しても良い。そして、メニュー送信部1117が当該メニューを端末装置12に送信しても良い。
また、図4のフローチャートにおいて、注文情報を受信するごとに、動的にメニューを構成した。しかし、他のタイミングでメニューを構成しても良い。他のタイミングとは、例えば、定期的(10分に1回など)、ユーザからの指示があった際などである。
さらに、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS408のメニュー構成処理について、図5のフローチャートを用いて説明する。
(ステップS501)メニュー取得部1116は、メニューを出力する先のユーザを識別するユーザ識別情報を取得する。なお、このユーザ識別情報は、例えば、ステップS406で受信されたユーザ識別情報である。
(ステップS502)メニュー取得部1116は、ステップS501で取得したユーザ識別情報に対応する注文履歴情報を、注文履歴格納部1103から読み出す。
(ステップS503)メニュー取得部1116は、ステップS501で取得したユーザ識別情報に対応するユーザ属性情報が存在するか否かを判断する。ユーザ属性情報が存在すればステップS504に行き、ユーザ属性情報が存在しなければステップS505に行く。
(ステップS504)メニュー取得部1116は、ステップS501で取得したユーザ識別情報に対応するユーザ属性情報を取得する。なお、このユーザ属性情報の取得処理は、ユーザ属性情報受付部1113が行っても良い。
(ステップS505)メニュー取得部1116は、在庫格納部1107の在庫情報を取得する。
(ステップS506)メニュー取得部1116は、ステップS501で取得したユーザ識別情報に対応する嗜好情報が存在するか否かを判断する。嗜好情報が存在すればステップS507に行き、嗜好情報が存在しなければステップS508に行く。
(ステップS507)メニュー取得部1116は、ユーザ識別情報に対応する嗜好情報を取得する。
(ステップS508)ルール格納部109に消費ルールが存在するか否かを判断する。消費ルールが存在すればステップS509に行き、消費ルールが存在しなければステップS510に行く。
(ステップS509)メニュー取得部1116は、消費ルールを適用したメニュー構成処理を行う。かかる処理について、図6のフローチャートを用いて説明する。上位処理にリターンする。
(ステップS510)メニュー取得部1116は、消費ルールを適用しないメニュー構成処理を行う。かかる処理について、図7のフローチャートを用いて説明する。上位処理にリターンする。
なお、図5のフローチャートにおいて、注文履歴情報、ユーザ属性情報、在庫情報、嗜好情報、消費ルールを用いてメニューを構成した。しかし、これらのすべての情報を用いずに、一部の情報のみを用いて、注文履歴情報等のうち、1以上の情報を用いて、動的にメニューを構成しても良い。
次に、ステップS509の消費ルールを適用したメニュー構成処理について、図6のフローチャートを用いて説明する。
(ステップS601)メニュー取得部1116は、ルール格納部1106に順序ルールが存在するか否かを判断する。順序ルールが存在すればステップS602に行き、順序ルールが存在しなければステップS604に行く。
(ステップS602)メニュー取得部1116は、順序ルールに従って、対象識別情報または種類識別情報にランクを付与する。ここでは、メニュー取得部1116は、次に選択される可能性が高い対象識別情報または種類識別情報に高い値のランクを付与する。また、メニュー取得部1116は、既に選択された対象識別情報または種類識別情報や、順序ルールに従えば、選択されるのがかなり先になる対象識別情報または種類識別情報に低い値(例えば、選択されないような値)のランクを付与する。なお、ランクとは、メニュー項目の出現態様に差異を設けるための指標であり、ここでは、ランクの値が大きいメニュー項目ほど、目立つ態様または選択されやすい態様で、メニュー項目が表示される、とする。
(ステップS603)メニュー取得部1116は、各メニュー項目が有する対象識別情報のランクまたは種類識別情報のランクを、各メニュー項目のランクとして付与する。
(ステップS604)メニュー取得部1116は、ルール格納部1106に総量ルールが存在するか否かを判断する。総量ルールが存在すればステップS605に行き、総量ルールが存在しなければステップS613に行く。
(ステップS605)メニュー取得部1116は、ユーザ識別情報に対応する注文履歴情報であり、現在来店中の店舗において現在の来店中に注文した対象の履歴を示す注文履歴情報を、注文履歴格納部1103から読み出す。そして、メニュー取得部1116は、読み出した注文履歴情報から、対象となる総量(例えば、カロリーの総量)である摂取総量を取得する。なお、メニュー取得部1116は、例えば、注文履歴情報に含まれる各注文情報の属性値である対象の値を取得し、加算する。
(ステップS606)メニュー取得部1116は、カウンタiに1を代入する。
(ステップS607)メニュー取得部1116は、i番目のメニュー項目が存在するか否かを判断する。i番目のメニュー項目が存在すればステップS608に行き、存在しなければステップS619に行く。
(ステップS608)メニュー取得部1116は、i番目のメニュー項目に対応する値であり、対象を摂取した場合の量(例えば、カロリー)を、対象属性情報格納部1104から取得する。
(ステップS609)メニュー取得部1116は、ステップS605で取得した摂取総量と、ステップS608で取得した摂取した場合の量とを加算し、総量ルールに含まれる制限の量の範囲内であるか否か(総量ルールに合致するか否か)を判断する。総量ルールに合致する場合はステップS610に行き、合致しない場合はステップS611に行く。
(ステップS610)メニュー取得部1116は、i番目のメニュー項目に、総量ルールに合致する場合に対応するランクを付加する。なお、例えば、メニュー取得部1116は、i番目のメニュー項目が選択されやすくなるように、ランクを閾値分だけ増加させる(例えば、「+5」する)。
(ステップS611)メニュー取得部1116は、i番目のメニュー項目に、総量ルールに合致しない場合に対応するランクを付加する。なお、例えば、メニュー取得部1116は、i番目のメニュー項目が、絶対に選択されやすくなるように、ランクを閾値分だけ減少させる(例えば、「−∞」する)。なお、ここで、メニュー取得部1116は、i番目のメニュー項目を削除しても良い。
(ステップS612)メニュー取得部1116は、カウンタiを1、インクリメントする。ステップS607に戻る。
(ステップS613)メニュー取得部1116は、ルール格納部1106に特定総量ルールが存在するか否かを判断する。特定総量ルールが存在すればステップS614に行き、特定総量ルールが存在しなければステップS623に行く。
(ステップS614)メニュー取得部1116は、注文履歴格納部1103に存在する注文履歴情報であり、現在来店中の店舗において現在の来店中に注文した対象の履歴を示す注文履歴情報であり、特定総量ルールに含まれる特定の対象の注文履歴情報を読み出す。そして、メニュー取得部1116は、当該読み出した注文履歴情報から、特定の対象の総量(例えば、注文数)である摂取総量を取得する。なお、メニュー取得部1116は、例えば、注文履歴情報に含まれる各注文情報の属性値を取得し、加算する。
(ステップS615)メニュー取得部1116は、特定の対象の対象識別情報または種類識別情報を有するメニュー項目を、メニュー項目格納部1105から取得する。
(ステップS616)メニュー取得部1116は、カウンタiに1を代入する。
(ステップS617)メニュー取得部1116は、i番目のメニュー項目が存在するか否かを判断する。i番目のメニュー項目が存在すればステップS618に行き、存在しなければステップS623に行く。
(ステップS618)メニュー取得部1116は、i番目のメニュー項目に対応する対象の摂取量(該当する特定の量であり、例えば、注文数)を取得する。
(ステップS619)メニュー取得部1116は、ステップS614で取得した特定の対象の摂取総量と、ステップS618で取得した量とを加算し、特定総量ルールに含まれる制限の量の範囲内であるか否か(特定総量ルールに合致するか否か)を判断する。特定総量ルールに合致する場合はステップS620に行き、合致しない場合はステップS621に行く。
(ステップS620)メニュー取得部1116は、i番目のメニュー項目に、特定総量ルールに合致する場合に対応するランクを付加する。なお、例えば、メニュー取得部1116は、i番目のメニュー項目が選択されやすくなるように、ランクを閾値分だけ増加させる(例えば、「+10」する)。
(ステップS621)メニュー取得部1116は、i番目のメニュー項目に、特定総量ルールに合致しない場合に対応するランクを付加する。なお、例えば、メニュー取得部1116は、i番目のメニュー項目が、絶対に選択されやすくなるように、ランクを閾値分だけ減少させる(例えば、「−∞」する)。なお、ここで、メニュー取得部1116は、i番目のメニュー項目を削除しても良い。
(ステップS622)メニュー取得部1116は、カウンタiを1、インクリメントする。ステップS617に戻る。
(ステップS623)メニュー取得部1116は、消費ルールを適用しないメニュー構成処理を行う。消費ルールを適用しないメニュー構成処理について、図7のフローチャートを用いて説明する。上位処理にリターンする。
なお、図6のフローチャートにおいて、順序ルール、総量ルール、および特定総量ルールが、最大それぞれ1個存在する場合について説明した。しかし、ルール格納部1106は、2以上の各種類のルールを格納していても良い。順序ルールが2以上存在する場合、ステップS602からステップS603が順序ルールの数だけループする。また、総量ルールが2以上存在する場合、ステップS605からステップS612が総量ルールの数だけループする。さらに、特定総量ルールが2以上存在する場合、ステップS614からステップS622が特定総量ルールの数だけループする。
また、図6のフローチャートにおいて、消費ルールを用いて、メニュー項目にランクを付与したが、かかる処理方法は一例であることは言うまでもない。図6のフローチャートにおいて、消費ルールに合致しないメニュー項目を、非表示としたり、グレーアウトしたりしても良いし、直ぐに選択されにくい位置に配置する等しても良い。
次に、ステップS623の消費ルールを適用しないメニュー構成処理について、図7のフローチャートを用いて説明する。
(ステップS701)メニュー取得部1116は、カウンタiに1を代入する。
(ステップS702)メニュー取得部1116は、i番目のメニュー項目が存在するか否かを判断する。i番目のメニュー項目が存在すればステップS703に行き、存在しなければステップS711に行く。
(ステップS703)メニュー取得部1116は、i番目のメニュー項目がユーザ属性情報を満たすか否かを判断する。ユーザ属性情報を満たす場合はステップS704に行き、ユーザ属性情報を満たさない場合はステップS705に行く。
(ステップS704)メニュー取得部1116は、ユーザ属性情報を満たす場合に対応するように、i番目のメニュー項目のランクを変更する。例えば、i番目のメニュー項目が選択され易くなるように、メニュー取得部1116は、ランクを閾値分だけ増加させる(例えば、「+5」する)。
(ステップS705)メニュー取得部1116は、i番目のメニュー項目に、ユーザ属性情報を満たさない場合に対応するランクを付加する。なお、例えば、メニュー取得部1116は、i番目のメニュー項目が、選択されにくくなる、または絶対に選択されやすくなるように、ランクを閾値分だけ減少させる(例えば、「−∞」する)。なお、ここで、メニュー取得部1116は、i番目のメニュー項目を削除しても良い。
(ステップS706)メニュー取得部1116は、i番目のメニュー項目が、本ユーザの嗜好情報に対応するか(合致するか)否かを判断する。嗜好情報に対応する場合はステップS707に行き、嗜好情報に対応しない場合はステップS708に行く。
(ステップS707)メニュー取得部1116は、嗜好情報に対応する場合に合致するように、i番目のメニュー項目のランクを変更する。例えば、i番目のメニュー項目が選択され易くなるように、メニュー取得部1116は、ランクを閾値分だけ増加させる(例えば、「+8」する)。なお、嗜好情報に対応しない場合、メニュー取得部1116は、ランクを閾値分だけ減少させる、メニュー項目を削除する等の処理を行っても良い。
(ステップS708)メニュー取得部1116は、在庫情報を用いて、i番目のメニュー項目に対応する対象が提供可能であるか否かを判断する。提供可能である場合はステップS710に行き、提供可能でない場合はステップS709に行く。なお、メニュー取得部1116は、i番目のメニュー項目の対象識別子、または材料(食材など)の情報を取得する。そして、メニュー取得部1116は、当該対象識別子で識別される対象、または当該材料が、在庫情報を参照して、在庫が存在するか否かを判断する。そして、メニュー取得部1116は、在庫が存在しない場合は、提供不可能である、と判断する。
(ステップS709)メニュー取得部1116は、i番目のメニュー項目を削除する。なお、メニュー取得部1116は、i番目のメニュー項目が選択されないように、ランクを変更しても良い。
(ステップS710)メニュー取得部1116は、カウンタiを1、インクリメントする。ステップS702に戻る。
(ステップS711)メニュー取得部1116は、ランクを用いたメニュー構成処理を行う。かかる処理について、図8のフローチャートを用いて説明する。
(ステップS712)メニュー取得部1116は、選択的メニュー項目処理を行う。選択的メニュー項目処理について、図9のフローチャートを用いて説明する。上位処理にリターンする。
なお、図7のフローチャートにおいて、図6のフローチャートと同様に、メニュー項目にランクを付与したが、かかる処理方法は一例であることは言うまでもない。図7のフローチャートにおいて、直ぐに非表示としたり、直ぐにグレーアウトしたりしても良いし、直ぐに選択されにくい位置に配置する等しても良い。
次に、ステップS711のランクを用いたメニュー構成処理について、図8のフローチャートを用いて説明する。
(ステップS801)メニュー取得部1116は、メニューの変更が、メニュー項目の配置の変更であるか否かを判断する。メニュー項目の配置の変更である場合はステップS802に行き、メニュー項目の配置の変更でない場合はステップS803に行く。
(ステップS802)メニュー取得部1116は、各メニュー項目に対応するランクを用いて、メニュー項目の集合をソートして、配置を変更する。つまり、かかる処理により、ランクが大きいメニュー項目が、選択されやすい位置(例えば、上部)に配置される。上位処理にリターンする。
(ステップS803)メニュー取得部1116は、メニューの変更が、ランクの低いメニュー項目や選択されてはいけないメニュー項目を、非選択となるような変更であるか否かを判断する。非選択となるような変更である場合はステップS804に行き、非選択となるような変更でない場合はステップS805に行く。
(ステップS804)メニュー取得部1116は、閾値以下のランクのメニュー項目を非選択の状態とする。なお、非選択の状態とする処理は、例えば、メニュー項目の削除、グレイアウトとする処理等である。上位処理にリターンする。
(ステップS805)メニュー取得部1116は、メニューの変更が、メニュー項目の内容の変更であるか否かを判断する。内容の変更である場合はステップS806に行き、内容の変更でない場合は上位処理にリターンする。
(ステップS806)メニュー取得部1116は、カウンタiに1を代入する。
(ステップS807)メニュー取得部1116は、i番目のメニュー項目が存在するか否かを判断する。i番目のメニュー項目が存在すればステップS808に行き、存在しなければ上位処理にリターンする。
(ステップS808)メニュー取得部1116は、i番目のメニュー項目が内容変更の候補であるメニュー項目か否かを判断する。内容変更の候補である場合はステップS809に行き、内容変更の候補でない場合はステップS812に行く。なお、メニュー取得部1116は、メニュー項目の情報を参照し、内容変更の候補のフラグを検知して、内容変更の候補であるメニュー項目か否かを判断しても良いし、内容変更条件や変更内容情報を参照して、内容変更の候補であるメニュー項目か否かを判断しても良い。
(ステップS809)メニュー取得部1116は、本ユーザ識別情報に対応する注文履歴情報のうち、内容変更条件に関連する情報を取得する。例えば、内容変更条件が、「ビールの注文数>=3」である場合、注文履歴情報が有する注文情報のうち、「<対象識別情報>ビール」を含む注文情報を取得する。
(ステップS810)メニュー取得部1116は、ステップS809で取得した内容変更条件に関連する情報が、i番目のメニュー項目に対応する内容変更条件に合致するか否かを判断する。内容変更条件に合致する場合はステップS811に行き、内容変更条件に合致しない場合はステップS812に行く。なお、例えば、内容変更条件「ビールの注文数>=3」であり、ステップS809で取得した内容変更条件に関連する情報(ここでは、ビールの注文情報)が「ビールの注文数=3(注文情報が3つ存在)」を示す場合、メニュー取得部1116は、内容変更条件に合致すると判断する。
(ステップS811)メニュー取得部1116は、変更内容情報を取得する。そして、メニュー取得部1116は、変更内容情報に従って、i番目のメニュー項目の内容を変更する。
(ステップS812)メニュー取得部1116は、カウンタiを1、インクリメントする。ステップS807に戻る。
なお、図8のフローチャートにおいて、3つのメニューの変更方法について説明した。しかし、ランクに応じて、選択されやすさが変化するようなメニューの変更であれば、他の処理でも良い。また、3つのメニューの変更方法のうち、2以上の変更方法を組み合わせても良い。さらに、例えば、3つのメニューの変更方法のうち選択する変更方法をどれにするかについて、メニュー取得部1116は、予め情報を保持している、とする。
次に、ステップS712の選択的メニュー項目処理について、図9のフローチャートを用いて説明する。
(ステップS901)メニュー取得部1116は、メニュー項目格納部1105または、メモリ上のメニュー項目(消去されていないメニュー項目)から、選択的メニュー項目を取得する。
(ステップS902)メニュー取得部1116は、カウンタiに1を代入する。
(ステップS903)メニュー取得部1116は、ステップS901で取得した選択的メニュー項目のうち、i番目の選択的メニュー項目が存在するか否かを判断する。i番目の選択的メニュー項目が存在すればステップS904に行き、i番目の選択的メニュー項目が存在しなければ上位処理にリターンする。
(ステップS904)メニュー取得部1116は、i番目の選択的メニュー項目が有する選択条件に関連する情報を、注文履歴情報等から取得する。注文履歴情報等とは、注文履歴情報だけでも良いし、ユーザ属性情報、嗜好情報、在庫情報等を含んでも良い。
(ステップS905)メニュー取得部1116は、カウンタjに1を代入する。
(ステップS906)メニュー取得部1116は、i番目の選択的メニュー項目の中に、j番目のメニュー項目部品が存在するか否かを判断する。j番目のメニュー項目部品が存在すればステップS907に行き、j番目のメニュー項目部品が存在しなければステップS910に行く。
(ステップS907)メニュー取得部1116は、j番目のメニュー項目部品に対応する選択条件を取得する。
(ステップS908)メニュー取得部1116は、ステップS904で取得した情報が、ステップS907で取得した選択条件に合致するか否かを判断する。選択条件に合致する場合はステップS909に行き、選択条件に合致しない場合はステップS911に行く。
(ステップS909)メニュー取得部1116は、j番目のメニュー項目部品を、i番目のメニュー項目の内容として取得する。
(ステップS910)メニュー取得部1116は、カウンタiを1、インクリメントする。ステップS903に戻る。
(ステップS911)メニュー取得部1116は、カウンタjを1、インクリメントする。ステップS906に戻る。
次に、ステップS413の嗜好情報取得処理について、図10のフローチャートを用いて説明する。
(ステップS1001)嗜好情報取得部1118は、ユーザ識別情報を取得する。
(ステップS1002)嗜好情報取得部1118は、ステップS1001で取得したユーザ識別情報に対応する注文情報であって、現在来店中の店舗に過去に来店した際に注文した内容に関する1以上の注文情報を、注文履歴格納部1103から取得する。なお、ここでの1以上の注文情報も、注文履歴情報と言っても良い。
(ステップS1003)嗜好情報取得部1118は、カウンタiに1を代入する。
(ステップS1004)嗜好情報取得部1118は、i番目の対象識別情報が存在するか否かを判断する。なお、嗜好情報取得部1118は、例えば、対象属性情報格納部1104の情報を参照して、かかる判断を行う。
(ステップS1005)嗜好情報取得部1118は、i番目の対象識別情報で識別される対象の注文の頻度を示す頻度情報を、ステップS1002で取得した注文履歴情報から取得する。なお、頻度情報は、例えば、来店した日のうち、どの程度の割合の日で、注文しているか否かを示す情報でも良いし、注文した日の総数でも良いし、注文した総回数(1日に2回以上、注文する場合もある)でも良い。また、嗜好情報取得部1118は、注文の量に関する量情報も、ステップS1002で取得した注文履歴情報から取得しても良い。なお、量情報は、例えば、注文した総重量、総杯数などである。
(ステップS1006)嗜好情報取得部1118は、頻度情報、または量情報、または頻度情報と量情報を用いて、i番目の対象識別情報で識別される対象の好きな度合いを示す嗜好レベルを取得する。なお、頻度情報、または量情報が大きい値を示すほど、通常、嗜好レベルが高くなる。
(ステップS1007)嗜好情報取得部1118は、i番目の対象識別情報と、ステップS1006で取得した嗜好レベルとを対応付けて蓄積する。なお、嗜好情報取得部1118は、図示しない記録媒体に対象識別情報と嗜好レベルとを対応付けて蓄積する。
(ステップS1008)嗜好情報取得部1118は、カウンタiを1、インクリメントする。ステップS1004に戻る。
(ステップS1009)嗜好情報取得部1118は、カウンタiに1を代入する。
(ステップS1010)嗜好情報取得部1118は、i番目の種類識別情報が存在するか否かを判断する。なお、嗜好情報取得部1118は、例えば、対象属性情報格納部1104の情報を参照して、かかる判断を行う。なお、種類識別情報とは、対象の種類を識別する情報であり、ジャンル識別情報と言っても良い。対象の種類とは、どのような分類方法によってグループ化されたものでも良い。
(ステップS1011)嗜好情報取得部1118は、i番目の種類識別情報で識別される対象の注文の頻度を示す頻度情報を、ステップS1002で取得した注文履歴情報から取得する。また、嗜好情報取得部1118は、i番目の種類識別情報で識別される対象の注文の量に関する量情報も、ステップS1002で取得した注文履歴情報から取得しても良い。
(ステップS1012)嗜好情報取得部1118は、頻度情報、または量情報、または頻度情報と量情報を用いて、i番目の種類識別情報で識別される種類の対象の好きな度合いを示す嗜好レベルを取得する。なお、頻度情報、または量情報が大きい値を示すほど、通常、嗜好レベルが高くなる。
(ステップS1013)嗜好情報取得部1118は、i番目の種類識別情報と、ステップS1012で取得した嗜好レベルとを対応付けて蓄積する。なお、嗜好情報取得部1118は、図示しない記録媒体に種類識別情報と嗜好レベルとを対応付けて蓄積する。
(ステップS1014)嗜好情報取得部1118は、カウンタiを1、インクリメントする。ステップS1010に戻る。
次に、端末装置12の動作について、図11のフローチャートを用いて説明する。
(ステップS1101)ユーザ情報受信部1202は、1または2以上のユーザ情報を受信したか否かを判断する。ユーザ情報を受信すればステップS1102に行き、ユーザ情報を受信しなければステップS1105に行く。なお、ここで、ユーザ情報受信部1202は、通常、ユーザ識別情報も受信する。
(ステップS1102)ユーザ情報出力部1203は、ユーザ情報受信部1202が受信した1または2以上のユーザ情報を出力する。ここで、ユーザ情報出力部1203は、受信されたユーザ情報(例えば、ユーザの氏名と写真とユーザ識別情報)のうち、一部のユーザ情報のみ(例えば、写真のみ)を出力しても良い。
(ステップS1103)受付部1204は、ステップS1102で出力された1または2以上のユーザ情報のうちの、一のユーザ情報に対する指示であるユーザ指示を受け付けたか否かを判断する。ユーザ指示を受け付ければステップS1104に行き、ユーザ指示を受け付けなければステップS1103に戻る。
(ステップS1104)受付部1204は、ステップS1103で受け付けたユーザ指示に対応するユーザ識別情報を予め決められた記憶領域に蓄積する。ステップS1101に戻る。
(ステップS1105)受付部1204は、注文情報を受け付けたか否かを判断する。注文情報を受け付ければステップS1106に行き、注文情報を受け付けなければステップS1108に行く。
(ステップS1106)端末送信部1205は、予め決められた記憶領域に格納されているユーザ識別情報を読み出す。
(ステップS1107)端末送信部1205は、ステップS1105で受け付けられた注文情報と、ステップS1106で読み出したユーザ識別情報とを、情報処理装置11に送信する。なお、端末送信部1205は、情報処理装置11に情報を送信するための情報(例えば、情報処理装置11のIPアドレス等)を保持している、とする。ステップS1101に戻る。
(ステップS1108)メニュー受信部1206は、メニューを情報処理装置11から受信したか否かを判断する。メニューを受信すればステップS1109に行き、受信しなければステップS1111に行く。
(ステップS1109)メニュー蓄積部1207は、ステップS1108で受信されたメニューを端末メニュー格納部1201に蓄積する。
(ステップS1110)メニュー出力部1208は、メニュー受信部1206が受信したメニューを出力する。ステップS1101に戻る。
(ステップS1111)受付部1204は、席識別子も受け付けたか否かを判断する。席識別子も受け付ければステップS1112に行き、席識別子も受け付けなければステップS1114に行く。
(ステップS1112)端末送信部1205は、予め決められた記憶領域に格納されているユーザ識別情報を読み出す。
(ステップS1113)端末送信部1205は、ステップS1111で受け付けられた席識別子と、ステップS1112で読み出したユーザ識別情報とを、情報処理装置11に送信する。ステップS1101に戻る。
(ステップS1114)受付部1204は、出力されているメニューに対する指示を受け付けたか否かを判断する。メニューに対する指示を受け付ければステップS1115に行き、メニューに対する指示を受け付けなければステップS1101に戻る。
(ステップS1115)メニュー出力部1208は、ステップS1114で受け付けた指示に対応して、メニューの表示を変更する。ステップS1101に戻る。
以下、本実施の形態における注文システム1の具体的な動作について説明する。今、ユーザ管理情報格納部1101は、図12に示すユーザ管理情報管理表を保持している。ユーザ管理情報管理表は、「ID」「ユーザ識別情報」「ユーザ情報」を有する1以上のレコードを格納している。「ID」はレコードを識別する情報である。「ユーザ情報」は、ここでは、「氏名」「年齢」「性別」「写真」を有する。「写真」は、ユーザの写真のデータであり、顔写真が好ましい。
また、メニュー項目格納部1105は、図13に示す多数のメニュー項目を格納している、とする。図13はメニュー項目管理表である。メニュー項目管理表は、「ID」「種類識別情報」「対象識別情報」「選択フラグ」「内容選択条件」「メニュー項目内容」の属性値を有するレコード(メニュー項目)を1以上格納している。属性「種類識別情報」は、対象(ここでは、飲食物)の種類を示す情報である。種類とは、ジャンルやカテゴリーと言っても良い。「選択フラグ」は、メニュー項目が選択的メニュー項目であるか否かを示す。「選択フラグ」が「1」の場合は、メニュー項目は選択的メニュー項目である。また、「メニュー項目内容」として、「価格」「数量」を有する。また、メニュー項目は、対象の画像や動画等を有することは好適である。また、「ID」は、レコードを識別する情報である。また、また、図13における「ID=1」のレコードは選択的メニュー項目である。そして、「ID=1」のレコードの「内容選択条件」「メニュー項目内容」は、ユーザが使った総額が3000円以下である場合は、えだ豆の価格は300円のメニュー項目が選択されるが、総額が3000円を超えた後は、えだ豆の価格は250円のメニュー項目が選択されることを示す。また、「ID=28」のレコードの「内容選択条件」「メニュー項目内容」は、注文したから揚げが0の場合(初めて注文する場合)は、数量「80g」のメニュー項目が選択されるが、注文したから揚げが1以上の場合は、数量「160g」のメニュー項目が選択されることを示す。なお、選択的メニュー項目の選択候補のメニュー項目は、「ID=19」のレコードが示すように2より多くても良い。つまり、選択的メニュー項目により、注文状況に応じて、価格や数量等のメニューの内容が変更され得る。
また、注文履歴格納部1103は、図14に示す注文履歴情報を格納している。図14は、注文履歴管理表である。注文履歴管理表は、多数の注文情報を有する。注文履歴管理表は、ここでは、現在来店中の飲食店において現在の来店中に注文した飲食物の履歴を示す注文情報、および過去注文履歴情報を有する。注文履歴管理表は、「ID」「ユーザ識別情報」「日時」「対象識別情報」「数量」「ユーザ属性情報」を有するレコード(注文情報)を多数格納している。「日時」は注文された日時であり、上述した時刻情報である。また、「数量」は注文された数量である。「ユーザ属性情報」は、ここでは一緒に来客した人数を示す。なお、図14において、一のユーザの注文情報だけが管理されているように見えるが、通常、多数のユーザの注文情報が管理されている。
また、対象属性情報格納部1104は、図15に示す対象属性情報を格納している。図15は、対象属性情報管理表である。対象属性情報管理表は、「ID」「対象識別情報」「材料識別情報」「カロリー」「重量」「人数」を有するレコード(対象属性情報)を多数格納している。「材料識別情報」は、対象を調理するのに必要な材料の情報であり、対象識別情報と同じ場合もある。「材料識別情報」は、1以上の材料の情報を有する。「カロリー」は対象(ここでは、飲食物)を摂取した時に取り込まれるカロリー数を示す。「重量」は対象の重量である。「人数」は摂取する際の適切な人数である。
また、在庫格納部1107は、図16に示す在庫情報を格納している。図13は、在庫管理表である。在庫管理表は、「ID」「対象識別情報」「材料識別情報」「在庫数量」を有するレコード(在庫情報)を多数格納している。
さらに、ルール格納部1106は、図17に示す消費ルールを格納している。図17はルール管理表である。ルール管理表は、「ID」「ユーザ識別情報」「消費ルール」を有するレコードを多数格納している。「消費ルール」は「ルール種別」「ルール内容」を有する。「ルール種別」は、ルールの種類を示す。「ルール内容」はルールの内容を示す。
かかる状況において、ユーザ識別情報「0013」で識別されるユーザ、ユーザ識別情報「0015」で識別されるユーザ、ユーザ識別情報「0017」で識別されるユーザが順次、飲食店に入った、とする。なお、上記の3名の各ユーザは、一のグループではなく、それぞれ、一人で食事のために飲食店に入った、とする。また、上記の3名の各ユーザは、全員、自分のユーザ端末10を保持している、とする。さらに、3名の各ユーザのユーザ端末10のユーザ識別情報格納部101には、それぞれユーザを識別するユーザ識別情報が格納されている、とする。
次に、3名の各ユーザのユーザ端末10のユーザ識別情報送信部102は、ユーザ識別情報格納部101からユーザ識別情報を読み出し、送信する。また、ここで、3名の各ユーザのユーザ端末10は、ユーザ端末10の位置情報も、ユーザ識別情報とともに送信する、とする。なお、ユーザ端末10の図示しない位置情報取得手段は、ユーザ端末10の位置情報を取得する、とする。
そして、情報処理装置11のユーザ識別情報受信部1108は、3つの各ユーザ端末10から、それぞれユーザ識別情報「0013」とその位置情報、ユーザ識別情報「0015」その位置情報、およびユーザ識別情報「0017」その位置情報を受信する。
次に、情報処理装置11のユーザ情報取得部1109は、ユーザ識別情報と対で送信されてくる位置情報を用いて、ユーザ端末10が店舗に入ったか否かを判断する。ユーザ情報取得部1109は、上記の3つのユーザ端末10が店舗に入った、と判断し、3名の各ユーザ識別情報に対応する3つのユーザ情報をユーザ管理情報管理表から取得する。なお、ユーザ情報取得部1109は、店舗の範囲を示す位置情報である範囲位置情報を保持しており、かかる範囲位置情報とユーザ端末10が送信した位置情報とから、ユーザ端末10が店舗に入ったか否かを判断する。なお、ユーザ情報取得部1109が取得するユーザ情報は、ユーザ情報の一部(例えば、写真のみ)でも良い。
次に、ユーザ情報送信部1110は、ユーザ情報取得部1109が取得した3名のユーザ情報を、端末装置12に送信する。なお、ここでのユーザ情報は、ユーザ識別情報を含む、とする。
次に、端末装置12のユーザ情報受信部1202はユーザ情報を受信する。そして、ユーザ情報出力部1203は、図18に示すような3名のユーザ情報(ここでは、ユーザの写真のみ)を出力する。なお、端末装置12は、図18に示す写真と対応付けて、各写真と対になるユーザ識別情報を保持している。
次に、例えば、店員は、端末装置12に表示されている3名のお客様のうち、担当のお客様(ここでは、ユーザ識別情報「0015」のお客様である、とする。)を選択する。つまり、例えば、店員は、端末装置12に対して、ユーザ指示を入力する。また、店員は、端末装置12に対して、席識別子「4」を入力した、とする。さらに、店員は、端末装置12の「送信」ボタンを押下した、とする。
次に、端末装置12の受付部1204は、ユーザ識別情報「0015」のお客様の写真の指示であるユーザ指示、席識別子「4」、および「送信」ボタンの押下を受け付ける。そして、受付部1204は、ユーザ識別情報「0015」、および席識別子「4」を図示しないバッファに一時蓄積する。
次に、端末送信部1205は、ユーザ識別情報「0015」、および席識別子「4」を情報処理装置11に送信する。
次に、情報処理装置11の席情報受付部1111は、ユーザ識別情報「0015」、および席識別子「4」を有する席情報を受信する。そして、席識別子蓄積部1112は、席情報が有する席識別子「4」を、ユーザ識別情報「0015」と対応付けて、席情報格納部1102に蓄積する。つまり、席情報格納部1102には、「ユーザ識別情報:0015,席識別子:4」が蓄積された。
また、例えば、本店舗の店員が、ユーザ属性情報「一人」を、端末装置12に入力する、とする。次に、端末装置12の受付部1204は、ユーザ属性情報「一人」を受け付ける。次に、端末送信部1205は、ユーザ属性情報「一人」を、ユーザ識別情報「0015」と対にして情報処理装置11に送信する
次に、情報処理装置11のユーザ属性情報受付部1113は、ユーザ属性情報「一人」とユーザ識別情報「0015」とを受信し、一時蓄積する。
以後、店員は、この端末装置12を、ユーザ識別情報「0015」で識別されるユーザに渡し、当該ユーザは、端末装置12を用いて、対象(ここでは、飲食物)の注文を行う、とする。
つまり、ユーザ識別情報「0015」で識別されるユーザ(以下、本ユーザという。)が、端末装置12を操作して、端末装置12は、情報処理装置11からメニューを受信し、図19に示すようなメニュー画面を出力した、とする。なお、メニュー画面を出力する動作の詳細は、例えば、以下である。つまり、情報処理装置11がメニュー出力指示を端末装置12から受信する。そして、情報処理装置11のメニュー取得部1116が図13のメニュー項目管理表を読み込み、図19に示すメニューを構成する。次に、メニュー送信部1117は当該メニューを端末装置12に送信する。そして、端末装置12のメニュー受信部1206はメニューを受信し、メニュー出力部1208は図19のメニューを出力する。なお、メニュー蓄積部1207は当該メニューの情報を端末メニュー格納部1201に一時蓄積する、とする。
次に、本ユーザは、図19の画面を用いて、「えだ豆」を注文した、とする。すると、端末装置12は、注文情報「<ユーザ識別情報>0015,<対象識別情報>えだ豆,<数量>1」を、情報処理装置11に送信する。
次に、情報処理装置11の注文情報受付部1114は、注文情報「<ユーザ識別情報>0015,<対象識別情報>えだ豆,<数量>1」を受信する。
次に、注文情報蓄積部1115は、受信した注文情報を、ユーザ識別情報「0015」と対応付けて、注文履歴格納部1103に蓄積する。なお、ここで蓄積する注文情報は、「<対象識別情報>えだ豆,<数量>1」でも良い。また、注文情報蓄積部1115は、日時「2012/12/6 17:35」を図示しない時計から取得する。そして、注文情報蓄積部1115は、注文情報と日時とユーザ属性情報「一人」とを対応付けて蓄積する。
次に、メニュー取得部1116は、以下のようにメニューを構成する。つまり、メニュー取得部1116は、ユーザ識別情報「0015」を取得する。次に、メニュー取得部1116は、ユーザ識別情報「0015」に対応する注文履歴情報を、注文履歴格納部1103から読み出す。次に、メニュー取得部1116は、ユーザ識別情報に対応するユーザ属性情報「0015」に対応するユーザ属性情報「一人」を取得する。また、メニュー取得部1116は、図16の在庫情報を取得する。さらに、メニュー取得部1116は、ユーザ識別情報「0015」に対応する嗜好情報「<対象識別情報>ビール<嗜好レベル>10,<対象識別情報>えだ豆<嗜好レベル>5,<対象識別情報>豆腐<嗜好レベル>2,・・・」を取得する。なお、この嗜好情報は、嗜好情報取得部1118が、図10で説明した動作により、取得した情報である。
そして、次に、メニュー取得部1116は、ユーザ属性情報「一人」を用いて、各メニュー項目のランクを変更する。例えば、メニュー取得部1116は、「人数」に1を含まない対象情報(「人数=1」「人数=1〜2」は1を含むと判断される。)に対応するメニュー項目のランクを「−∞」に変更する。つまり、対象識別情報「おさしみセット」や「から揚げ」は「人数」に1を含まない対象情報であるので、これらのメニュー項目には「−∞」が付与される。なお、ここでは、デフォルトのメニュー項目のランクは「5」である、とする。また、「その他」のランクは「0」である、とする。
次に、メニュー取得部1116は、在庫情報を用いて、提供不可な対象を決定し、当該対象に対応するメニュー項目を削除する。なお、この段階では、提供不可なメニュー項目は存在しない。
次に、メニュー取得部1116は、ランクを用いて、メニュー項目の集合をソートする。つまり、メニュー取得部1116は、ランクを用いて、種類識別情報「魚」、「ドリンク」、「肉」、「デザート」、「おつまみ」、「他」の順に、メニュー項目の集合を並び替える。
また、メニュー取得部1116は、閾値以下のランクのメニュー項目を非選択(ここでは、例えば、削除)とする。ここでは、例えば、ランク「−∞」の「おさしみセット」や「から揚げ」が削除される。
次に、メニュー取得部1116は、メニューの内容の変更を行うか否かを判断する。ここでは、メニューの内容の変更を行わない、と判断した、とする。
次に、メニュー取得部1116は、選択的メニュー項目処理を行う。つまり、メニュー取得部1116は、例えば、図13の「ID=19」のメニュー項目が選択的メニュー項目である、と判断する。そして、メニュー取得部1116は、内容選択条件に関連する情報である価格を注文履歴情報から取得する。具体的には、メニュー取得部1116は、本ユーザの本日の注文情報から価格「300円」のみを取得する。メニュー取得部1116は、この価格「300円」から総額「300円」を得る。そして、メニュー取得部1116は、総額「300円」は、選択的メニュー項目が有する「総額<=1500円」を満たす、と判断する。そして、メニュー取得部1116は、メニュー項目内容「<価格>700円,<数量>60g,・・・」を取得する。
そして、メニュー取得部1116は、図20のメニューを得る。図20において、選択されやすい位置に、種類識別情報「魚」の画面が配置されている。また、一人向けでは無い「おさしみセット」は削除されている。
次に、メニュー送信部1117は、図20のメニューを端末装置12に送信する。
次に、端末装置12のメニュー受信部1206は図20のメニューを受信し、メニュー出力部1208は当該メニューを出力する。
次に、本ユーザは、ビールを次々に3杯注文した、とする。すると、特定総量ルール「ビール「3杯まで」」の制限ぎりぎりになったことを、メニュー取得部1116は検知する。
次に、メニュー取得部1116は、対象識別情報<ビール>に対応するメニュー項目が削除されたメニューを構成する。そして、メニュー送信部1117は、当該メニューを端末装置12に送信する。
次に、端末装置12は、当該メニューを受信し、出力する。
なお、本ユーザが、例えば、フォアグラを注文した後、すべてのユーザに適用されるルール「フォアグラ「1個まで」」が、本ユーザにも適用され、フォアグラのメニュー項目は削除される。かかる処理は、上述した処理と同様である。
以上、本実施の形態によれば、対象を注文する注文者を容易に確定できる。つまり、複数の注文者が店舗に入った場合でも、店員が担当する注文者を容易に識別し、確定できる。
また、本実施の形態によれば、座席と注文者とを容易に対応付けることができる。つまり、複数の注文者が店舗に入った場合でも、店員が担当する注文者と座席との対応を容易にとることができる。また、本実施の形態によれば、通常、店員が席識別子を入力するので、店舗のお客が席識別子を入力する必要が無い。
また、本実施の形態によれば、注文の際に、注文を行うためのメニューの使用性を向上できる。
また、本実施の形態によれば、対象の注文状況、消費ルール、お客様の属性、在庫状況、お客様の嗜好等に応じて、適切にメニュー画面を変更できる。
また、本実施の形態によれば、注文をするごとにメニューの変更を行えることにより、常に、ユーザの状況に応じたメニューをユーザに提供できる。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、ユーザを識別するユーザ識別情報とユーザに関する情報であるユーザ情報とを有する1以上のユーザ管理情報を格納しており、コンピュータを、ユーザが保持している装置である1または2以上のユーザ端末から、1または2以上のユーザ識別情報を受信するユーザ識別情報受信部と、前記ユーザ識別情報受信部が受信した1または2以上の各ユーザ識別情報に対応する1または2以上のユーザ情報を取得するユーザ情報取得部と、前記ユーザ情報取得部が取得した1または2以上のユーザ情報を端末装置に送信するユーザ情報送信部として機能させるためのプログラム、である。
また、上記プログラムにおいて、記録媒体に、ユーザ識別情報と席を特定する席識別子とを有する1以上の席情報を、さらに格納しており、コンピュータを、ユーザ識別情報と当該ユーザが確保した席を示す席識別子とを有する席情報を受信する席情報受信部と、前記席情報受信部が受信した席情報が有する席識別子を、前記席情報受信部が受信したユーザ識別情報と対応付けて、前記席情報格納部に蓄積する席識別子蓄積部と、前記端末装置からユーザ識別情報と注文情報とを受信する注文情報受信部と、前記注文情報受信部が受信した注文情報を、前記注文情報受信部が受信したユーザ識別情報と対応付けて蓄積する注文情報蓄積部として、さらに機能させるためのプログラム、であることは好適である。
また、上記プログラムにおいて、記録媒体に、ユーザが注文した対象の履歴を示す情報であって、前記受付部が受け付けた前記注文情報の集合である注文履歴情報と、対象識別情報と対応付けられた情報であって、当該対象識別情報が示す対象の属性を示す情報である対象属性情報と、前記対象識別情報が示す対象に関する情報であって、メニューに配置可能な情報である1以上のメニュー項目とがさらに格納されており、コンピュータを、前記端末装置から注文情報を受信する注文情報受信部と、前記受付部が受け付けた注文情報を前記記録媒体に蓄積する注文履歴蓄積部と、前記メニュー項目を配置したメニューであって、前記記録媒体に格納された注文履歴情報と、前記記録媒体に格納された飲食物属性情報とに応じた態様のメニューを取得するメニュー取得部と、前記メニュー取得部が取得したメニューを前記端末装置に送信するメニュー送信部として、さらに機能させるためのプログラム、であることは好適である。
また、上記プログラムにおいて、記録媒体に、属性情報を有するルールであり、対象の消費に関するルールである1以上の消費ルールがさらに格納されており、前記メニュー取得部は、前記メニュー項目を配置したメニューであって、前記記録媒体に格納された注文履歴情報を前記1以上の消費ルールに適用し、前記注文履歴情報と前記属性情報とに応じた態様のメニューを取得するものとして機能させるためのプログラム、であることは好適である。
また、上記プログラムにおいて、ユーザの属性を示す情報であるユーザ属性情報を受け付けるユーザ属性情報受付部として、コンピュータをさらに機能させ、前記メニュー取得部は、さらに、前記ユーザ属性情報受付部が受け付けたユーザ属性情報に応じた態様のメニューを取得するものとして、コンピュータを機能させるためのプログラム、であることは好適である。
また、上記プログラムにおいて、記録媒体に、さらに、対象の在庫状況を示す情報である在庫情報が、当該対象識別情報と対応付けて格納されており、前記メニュー取得部は、さらに、在庫情報に応じた態様のメニューを取得するものとして、コンピュータを機能させるためのプログラム、であることは好適である。
また、上記プログラムにおいて、前記記録媒体には、さらに、前記ユーザが過去に注文した飲食物の履歴を示す情報であって、過去に前記注文情報受付部が受け付けた前記注文情報の集合である過去注文履歴情報が格納されており、コンピュータを、前記過去注文履歴情報からユーザの嗜好を示す情報である嗜好情報を取得する嗜好情報取得部として、さらに機能させ、前記メニュー取得部は、さらに、前記嗜好情報に応じた態様のメニューを取得するものとして、コンピュータを機能させるためのプログラム、であることは好適である。
また、上記プログラムにおいて、前記メニュー取得部は、前記注文情報受付部が注文情報を受け付ける毎に、前記注文履歴情報と前記属性情報とに応じた態様のメニューを取得し、前記メニュー送信部は、前記メニュー取得部が取得したメニューを前記端末装置に送信するものとして、コンピュータを機能させるためのプログラム、であることは好適である。
また、上記プログラムにおいて、前記1以上のメニュー項目のうちの、少なくとも一部のメニュー項目は、出力されるメニュー項目の内容を示すメニュー項目内容と、当該メニュー項目内容が選択される条件を示す選択条件とを有する2以上のメニュー項目部品を有する選択的メニュー項目であり、前記メニュー取得部は、前記注文履歴情報と前記属性情報とを前記選択条件に適用し、合致する選択条件に対応するメニュー項目内容を取得し、メニューを構成するものとして、コンピュータを機能させるためのプログラム、であることは好適である。
(実施の形態2)
本実施の形態において、ユーザ端末から1または2以上のユーザ識別情報を受信し、当該1または2以上のユーザ識別情報に対応するユーザ情報から、一のユーザ情報を選択し、選択したユーザ情報に対応するメニューを表示する注文システム2について説明する。
図21は、本実施の形態における注文システム2の概念図である。 注文システム2は、1または2以上のユーザ端末10、情報処理装置21、注文サーバ装置22を備える。情報処理装置21は、通常、注文を行う端末であり、通常、注文を受ける店舗が保有する端末であるが、ユーザ端末10でも良い。つまり、ユーザ端末10と情報処理装置21とは一つの装置でも良い。
図22は、本実施の形態における注文システム2のブロック図である。注文システム2を構成する情報処理装置21は、ユーザ管理情報格納部1101、ユーザ識別情報受信部1108、ユーザ情報取得部1109、ユーザ情報出力部2101、受付部2102、および端末送信部1205を備える。
また、注文サーバ装置22は、注文履歴格納部1103、注文情報受付部1114、注文情報蓄積部1115、および注文情報表示部2201を備える。
情報処理装置21を構成するユーザ情報出力部2101は、ユーザ情報取得部1109が取得した1または2以上のユーザ情報を出力する。
ユーザ情報出力部2101は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。ユーザ情報出力部2101は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
受付部2102は、ユーザ情報出力部2101が出力した1または2以上のユーザ情報のうちの、一のユーザ情報に対する指示であるユーザ指示、および注文を示す注文情報を受け付ける。受付部2102は、その他の指示や情報等を受け付けても良い。
ユーザ指示等の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部2102は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
注文情報送信部1205は、受付部2102が受け付けたユーザ指示が示すユーザ情報と、受付部2102が受け付けた注文情報とを対応付けて送信する。注文情報送信部1205は、ユーザ情報と注文情報とを同時に送付する必要はない。
注文情報送信部1205は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
注文サーバ装置22を構成する注文情報表示部2201は、注文情報受付部1114が受け付けた注文情報を表示する。注文情報表示部2201は、ディスプレイデバイスを含むと考えても含まないと考えても良い。注文情報表示部2201は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
次に、注文システム2の動作について説明する。まず、情報処理装置21の動作について、図23のフローチャートを用いて説明する。図23のフローチャートにおいて、図4または図11のフローチャートと同様のステップについて、説明を省略する。
(ステップS2301)ユーザ情報出力部1203は、ステップS402で取得された1または2以上のユーザ情報を出力する。
(ステップS2302)受付部2102は、ステップS2301で出力された1または2以上のユーザ情報のうちの、一のユーザ情報に対する指示であるユーザ指示を受け付けたか否かを判断する。ユーザ指示を受け付ければステップS2303に行き、ユーザ指示を受け付けなければステップS2302に戻る。
(ステップS2303)受付部2102は、ステップS2302で受け付けたユーザ指示に対応するユーザ識別情報を予め決められた記憶領域に蓄積する。ステップS401に戻る。
(ステップS2304)受付部2102は、出力されているメニューに対する指示を受け付けたか否かを判断する。メニューに対する指示を受け付ければステップS2305に行き、メニューに対する指示を受け付けなければステップS2306に行く。
(ステップS2305)図示しないメニュー出力部は、ステップS2304で受け付けた指示に対応して、メニューの表示を変更する。ステップS401に戻る。
(ステップS2306)受付部2102は、注文情報を受け付けたか否かを判断する。注文情報を受け付ければステップS2307に行き、注文情報等を受け付けなければステップS410に戻る。
(ステップS2307)端末送信部1205は、予め決められた記憶領域に格納されているユーザ識別情報を読み出す。
(ステップS2308)端末送信部1205は、ステップS2306で受け付けられた注文情報と、ステップS2307で読み出したユーザ識別情報とを、注文サーバ装置22に送信する。なお、端末送信部1205は、注文サーバ装置22に情報を送信するための情報(例えば、注文サーバ装置22のIPアドレス等)を保持している、とする。ステップS401に戻る。
なお、図23のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以上、本実施の形態によれば、対象を注文する注文者を容易に確定できる。
なお、本実施の形態において、実施の形態1と同様、情報処理装置21において、メニューを動的に変更できることは好適である。なお、動的なメニューの変更とは、注文を行うごとに、メニューを変更することである。
かかる場合の情報処理装置21の構成を示すブロック図は、図24のようになる。つまり、情報処理装置21は、ユーザ情報出力部2101、受付部2102、端末送信部1205、ユーザ管理情報格納部1101、席情報格納部1102、注文履歴格納部1103、対象属性情報格納部1104、メニュー項目格納部1105、ルール格納部1106、在庫格納部1107、ユーザ識別情報受信部1108、ユーザ情報取得部1109、席情報受付部1111、席識別子蓄積部1112、ユーザ属性情報受付部1113、注文情報蓄積部1115、メニュー取得部1116、メニュー送信部1117、および嗜好情報取得部1118を備える。
さらに、本実施の形態における情報処理装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、ユーザを識別するユーザ識別情報とユーザに関する情報であるユーザ情報とを有する1以上のユーザ管理情報を格納しており、コンピュータを、ユーザが保持している装置である1または2以上のユーザ端末から、1または2以上のユーザ識別情報を受信するユーザ識別情報受信部と、前記ユーザ識別情報受信部が受信した1または2以上の各ユーザ識別情報に対応する1または2以上のユーザ情報を取得するユーザ情報取得部と、前記ユーザ情報取得部が取得した1または2以上のユーザ情報を出力するユーザ情報出力部と、前記ユーザ情報出力部が出力した1または2以上のユーザ情報のうちの、一のユーザ情報に対する指示であるユーザ指示、および注文を示す注文情報を受け付ける受付部と、前記受付部が受け付けたユーザ指示が示すユーザ情報に対応するユーザと、前記受付部が受け付けた注文情報とを対応付けて送信する注文情報送信部として機能させるためのプログラムである。
また、図25は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の注文システムを構成する装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図25は、このコンピュータシステム300の概観図であり、図26は、システム300のブロック図である。
図25において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304と、マイク305と、スピーカー306とを含む。
図26において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、バス3014と、ROM3015と、RAM3016と、ハードディスク3017とを含む。なお、バス3014は、MPU3013やCD−ROMドライブ3012に接続されている。また、ROM3015には、ブートアッププログラム等のプログラムが記憶されている。また、RAM3016は、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのものである。また、ハードディスク3017は、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのものである。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の注文システムの機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の注文システムの機能を実行させるオペレーティングシステム、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(端末情報送信部、端末情報受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。