以下、予約情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本発明の実施の形態における予約情報処理装置1のブロック図である。
予約情報処理装置1は、利用箇所格納部11、予約情報格納部12、利用状況格納部13、利用状況受付部14、予約照会情報受付部15、空き状況情報取得部16、予約判断部17、予約画面格納部18、行列予約画面格納部19、出力部20、行列予約情報格納部21、予約指示受付部22、予約情報蓄積部23、行列予約指示受付部24、または、行列予約情報蓄積部25を備える。
利用箇所格納部11には、利用箇所情報が格納される。利用箇所情報は、飲食店内の1または2以上の利用箇所に関する情報である。利用箇所とは、飲食店内におけるユーザが利用可能な箇所であり、例えば、座席やテーブル、個室等である。利用箇所情報は、例えば、利用箇所の識別情報である。利用箇所の識別情報は、例えば、座席番号や座席コード、テーブル番号、個室名や、個室番号、座敷名等である。飲食店とは、例えば、レストランや、喫茶店、居酒屋等の、飲食物を提供する店舗等である。ユーザとは、飲食店の顧客である。ここでのユーザは、個人であってもグループであっても良い。利用箇所識別情報は、利用箇所の数を示す情報であっても良い。利用箇所の数は、例えば、飲食店内の座席数や、テーブル数、個室数、座敷数等である。利用箇所格納部11には、例えば、飲食店内の全ての利用箇所について利用箇所情報が格納される。例えば、利用箇所情報が利用箇所の識別情報である場合、利用箇所格納部11には、飲食店内の全ての利用箇所の識別情報が格納される。また、利用箇所情報が飲食店内の利用箇所の数を示す情報である場合、利用箇所情報格納部11には、飲食店内の全ての利用箇所の数を示す利用箇所情報が格納される。ただし、利用箇所格納部11には、飲食店内の一部の利用箇所を除外した残りの利用箇所についての利用箇所情報が格納されるようにしても良い。この一部は、例えば、予備用の座席等の、予め指定された利用箇所である。利用箇所情報が利用箇所の識別情報である場合、利用箇所格納部11には、例えば、1または2以上の利用箇所識別情報が格納される。
利用箇所格納部11は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
予約情報格納部12には、1または2以上の予約情報が格納される。予約情報は、飲食店におけるユーザの予約を示す情報である。予約情報は、例えば、利用箇所情報を有する情報である。予約情報が有する利用箇所情報は、ユーザが予約した利用箇所に関する利用箇所情報である。例えば、予約情報が有する利用箇所情報は、ユーザが予約した利用箇所の識別情報である。例えば、予約情報が有する利用箇所情報は、ユーザが予約した利用箇所の数であってもよい。予約情報は、更に予約したユーザのユーザ識別情報を有していても良い。ユーザ識別情報は、ユーザの識別情報であり、例えば、ユーザの名前や、ユーザの会員番号、携帯電話番号、メールアドレス等である。予約情報が有するユーザ識別情報は、予約したユーザのユーザ識別情報である。予約情報は、予約した時間帯を示す情報を有していても良い。予約した時間帯とは、例えば、予約が有効となる時間帯である。予約した時間帯を示す情報は、例えば、予約した時間帯の開始時刻と終了時刻とを含む情報や、時間帯の開始時刻と時間帯の継続時間とを示す情報とを含む情報である。ただし、予約した時間帯を示す情報は、予約した時間帯を代表する時刻等として良く、例えば、時間帯の開始時刻や中間の時刻等であってもよい。例えば、予約した時間帯を示す情報が、予約した時間帯の開始時刻である場合、予約した時間帯は、この開始時刻から、飲食店の営業の終了時刻までの時刻や、開始時刻から、予め指定された一定または不定の時間が経過した時刻までの時間帯であっても良い。また、ここでの時間帯を示す情報は、日付の情報等を含んでいても良い。予約した時間帯を示す情報は、例えば、午前、午後、前半、後半、ランチタイム、喫茶タイム、ディナータイム等の時間帯の名称であっても良い。この場合、例えば、この名称と実際の時間帯とが、予め対応付けられているようにする。また、予約情報は、予約した人数や、飲食物の注文内容を示す情報や、ユーザ等からの飲食物やサービス等に関する要望を示す情報を有していても良い。また、予約情報は、飲食店の利用目的等の、その後の販売促進活動等に利用可能な情報等を含んでいても良い。
利用状況格納部13には、1または2以上の利用状況情報が格納される。利用状況情報は、飲食店に来店しているユーザが利用している1または2以上の利用箇所に関する利用箇所情報を有する情報である。利用状況情報は、例えば、飲食店に来店しているユーザが利用している1または2以上の利用箇所の識別情報である利用箇所情報を有する情報である。また、利用状況情報は、例えば、飲食店に来店しているユーザが利用している1または2以上の利用箇所の数を示す利用箇所情報を有する情報である。利用状況情報は、例えば、飲食店に来店しているユーザのユーザ識別情報と、このユーザが利用している1または2以上の利用箇所に関する利用箇所情報とを有する情報であってもよい。利用状況情報は、更に、ユーザの来店時刻の情報を有していても良い。なお、来店時刻は、ユーザが利用箇所の利用を開始した時刻やそれに相当する時刻と考えても良い。また、利用状況情報は、更に、ユーザが注文した飲食物を示す情報である注文履歴情報を有していても良い。注文履歴情報は、ユーザが注文した飲食物を示す情報である。注文履歴情報は、例えば、ユーザが注文した飲食物の識別情報や、その飲食物の数量等の情報を有している。また、注文履歴情報は、注文を行った順番や時刻等を示す情報を有していても良い。なお、ユーザが飲食店を退店後、あるいは、飲食代等の支払を終えた後は、このユーザのユーザ識別情報を有する利用状況情報は削除するようにしても良い。あるいは、この利用状況情報には、後述する空き状況情報を取得する処理等で利用しない情報であることを示すための、フラグや退店時刻等の情報を付与するようにしてもよい。
利用状況受付部14は、飲食店に来店しているユーザが利用している利用箇所に関する利用箇所情報を受け付ける。利用状況受付部14は、例えば、飲食店に来店しているユーザのユーザ識別情報と、ユーザが利用している利用箇所に関する利用箇所情報とを受け付けてもよい。ユーザが利用している利用箇所に関する利用箇所情報とは、例えば、ユーザが利用している利用箇所の識別情報である。ユーザが利用している利用箇所に関する利用箇所情報は、例えば、ユーザが利用している利用箇所の数を示す情報であっても良い。利用状況受付部14は、受け付けた利用箇所情報を有する利用状況情報を、利用状況格納部13に蓄積する。利用状況受付部14は、例えば、受け付けたユーザ識別情報と利用箇所情報とを有する利用状況情報を、利用状況格納部13に蓄積しても良い。利用状況受付部14は、更に、利用状況情報を蓄積する直前の時刻等を、図示しない時計や図示しないNTP(Network Time Protocol)サーバ等から取得するようにして、この時刻を含む利用状況情報を蓄積するようにしても良い。また、利用状況受付部14は、更に、ユーザが注文した飲食物の識別情報や、その飲食物の数量等の情報を受け付け、受け付けたこれらの情報で構成される注文履歴情報を更に含む利用状況情報を蓄積しても良い。また、一旦、ユーザ識別情報等を有する利用状況情報を蓄積した後に、ユーザが注文した飲食物の識別情報や、その飲食物の数量等の情報を追加で受け付け、これらの情報を有する注文履歴情報を、注文を行ったユーザのユーザ識別情報を有する利用状況情報に追記するようにしても良い。飲食物の識別情報とは、例えば、飲食物名や、飲食物に割り当てられたコード等である。
ここでの受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。例えば、利用状況受付部14は、図示しない携帯情報端末等から送信されたユーザ識別情報と利用箇所情報とを受け付けても良い。この携帯情報端末は、例えば、ユーザが利用する注文を行うための端末であっても良いし、飲食店の店員が利用する注文を受け付けるための端末であっても良い。
ユーザ識別情報や利用箇所情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。利用状況受付部14は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア、通信デバイスやそのデバイスドライバー等で実現され得る。
予約照会情報受付部15は、飲食店に対するユーザの予約の可否を照会する情報である予約照会情報を受け付ける。予約可否情報は、例えば、予約の可否の照会を行うことを示す情報を含む情報である。予約照会情報は、例えば、予約の可否を照会することを指示する情報(例えば、命令等)を含む情報と考えても良い。予約照会情報は、例えば、ユーザのユーザ識別情報を有していても良い。このユーザとは、例えば、予約が照会されるユーザ、具体的には予約の可否が判断されるユーザである。予約照会情報は、予約についての条件を有していても良い。予約についての条件とは、例えば、予約したい時間帯を示す情報や、予約したい座席等の利用箇所に関する利用箇所情報、予約人数、禁煙席の指定の有無等である。予約したい座席等の利用箇所に関する利用箇所情報とは、具体的には、予約したい利用箇所の識別情報や、予約したい利用箇所の数である。予約したい時間帯を示す情報は、例えば、予約の開始時刻、具体的にはユーザが来店する時刻であっても良い。ここでの時刻は、日付も含む概念である。なお、予約照会情報受付部15が、ユーザ識別情報や、予約条件等の入力を受け付けたことを、ここでは、予約照会情報の受け付けと考えてもよい。この場合、予約の可否を照会することを指示する情報は含まなくても良い。
ここでの要求情報の受け付けや、その入力手段等は、上述した利用状況受付部14において説明した受け付けや、入力手段等と同様である。予約照会情報受付部15は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
空き状況情報取得部16は、利用箇所格納部11に格納されている利用箇所情報と、予約情報に含まれる利用箇所情報と、利用状況情報に含まれる利用箇所情報とを用いて、予約可能な利用箇所についての状況を示す情報である空き状況情報を取得する。空き状況情報とは、予約可能な利用箇所の数を含む情報であっても良いし、予約可能な1または2以上の利用箇所の識別情報を含む情報であっても良い。また、空き状況情報は、予約可能な利用箇所の有無を示す情報でも良い。また、空き状況情報は、予約可能な時間帯を示す情報であっても良い。予約可能な時間帯を示す情報は、その時間帯の開始時刻の情報であっても良いし、その時間帯の開始時刻と終了時刻とを特定可能な情報であっても良い。また、空き状況情報は、上記の情報の2以上の組合せであっても良い。空き状況情報は、結果的に、予約が可能な利用箇所の有無を判断可能な情報であればよい。
以下、利用箇所情報が利用箇所の識別情報である場合の例について、空き状況情報取得部16の処理を説明する。例えば、空き状況情報取得部16は、利用箇所格納部11に格納されている利用箇所情報から、予約情報に含まれる利用箇所情報と、利用状況情報に含まれる利用箇所情報とを除外して得られた利用箇所情報、あるいはその総数を、空き状況情報として取得する。また、空き状況情報取得部16は、利用箇所格納部11に格納されている利用箇所情報の総数から、予約情報に含まれる利用箇所情報の総数と、利用状況情報に含まれる利用箇所情報の総数とを減算して得られた数を、空き状況情報として取得しても良い。あるいは得られた数が1以上であれば、予約可能な利用箇所があることを示す空き状況情報を取得し、それ以外の場合は、予約可能な利用箇所がないことを示す空き状況情報を取得しても良い。
なお、利用箇所情報が利用箇所の数である場合、空き状況情報取得部16は、利用箇所格納部11に格納されている利用箇所情報(ここでは利用箇所数)から、予約情報に含まれる利用箇所情報と、利用状況情報に含まれる利用箇所情報とを減算して得られた数を、空き状況情報として取得する。あるいは、得られた数が1以上であれば、予約可能な利用箇所があることを示す空き状況情報を取得し、それ以外の場合は、予約可能な利用箇所がないことを示す空き状況情報を取得しても良い。
予約情報に、予約が実行される時間帯を示す情報が含まれており、予約照会情報に予約を実行する時間帯を示す情報が含まれていない場合、空き状況情報取得部16は、更に、予約が可能な時間帯を示す情報を取得するようにしても良い。また、空き状況情報取得部16は、この時間帯の情報を、利用箇所情報毎に取得するようにしても良い。この時間帯を示す情報は、例えば、一または複数の利用箇所情報に対応付けられた予約情報に含まれる予約された時間帯を示す情報と、上記と同じ利用箇所情報に対応付けられた利用状況情報が示している現在ユーザが利用している時間帯を示す情報との、いずれにも重ならない予め指定された長さの時間帯を検出することにより取得可能である。なお、予約された時間帯は、予約の開始時刻から予め指定されたルール等で推定される時間帯としても良い。このルールは、例えば、予め指定された長さの時間を加算するルール等である。現在ユーザが利用している時間帯も、ユーザの来店時刻から、同様の予め指定されたルール等で推定される時間帯としても良い。かかることは、以下においても同様である。
また、予約情報に、予約が実行される時間帯を示す情報が含まれており、予約照会情報にも予約についての条件として時間帯を示す情報が含まれている場合を考える。この場合、空き状況情報取得部16は、例えば、利用箇所格納部11に格納されている利用箇所情報から、予約照会情報が示す時間帯と重なる時間帯の予約情報に含まれる利用箇所情報と、予約照会情報が示す時間帯と重なる時間帯の利用状況情報に含まれる利用箇所情報とを除外する。ここでの重なる時間帯は、少なくとも一部が重なることも含む概念と考えて良い。かかることは、以下においても同様である。そして、得られた利用箇所情報、または、その総数を、空き状況情報として取得するようにしてもよい。また、得られた数が1以上であれば、空き状況情報取得部16は、予約可能な利用箇所があることを示す空き状況情報を取得しても良い。あるいは、利用箇所格納部11に格納されている利用箇所情報の総数から、予約照会情報が示す時間帯と重なる時間帯の予約情報に含まれる利用箇所情報の総数と、予約照会情報が示す時間帯と重なる時間帯の利用状況情報に含まれる利用箇所情報の総数とを除外する。そして、これにより得られた数を、空き状況情報として取得するようにしてもよい。また、得られた数が1以上であれば、空き状況情報取得部16は、予約可能な利用箇所があることを示す空き状況情報を取得しても良い。
予約照会情報が示す時間帯と重なる時間帯の予約情報とは、例えば、予約照会情報に含まれる時間帯を示す情報が示す時間帯と重なる期間を有する時間帯を示す情報が含まれる予約情報である。具体的には、予約照会情報に含まれる時間帯を示す情報と、予約情報に含まれる時間帯を示す情報とが、ともに期間の情報であるとすると、それぞれの時間帯の一部が重なる場合、あるいは予め指定された長さ以上重なる場合に、空き状況情報取得部16は、上記のように期間が重なると判断すればよい。期間の情報とは、ここでは、期間の開始時刻と終了時刻とを特定可能な情報であるとする。また、例えば、予約照会情報の時間帯を指定する情報と、予約情報の時間帯を示す情報との一方が、期間の開始時刻と終了時刻とが特定可能な情報であり、他方が、開始時刻等の期間内の一の時刻を特定する情報であるとする。この場合、時刻を特定する情報が示す時刻が、期間の開始時刻と終了時刻とを特定可能な情報が示す期間内の時刻である場合に、空き状況情報取得部16は、上記のように期間が重なると判断するようにしてもよい。また、予約照会情報に含まれる時間帯を指定する情報と、予約情報に含まれる時間帯を示す情報とが、いずれも開始時刻等の時刻を特定する情報であるとすると、両者の時間差が、予め指定された値以下である場合に、空き状況情報取得部16は、上記のように期間が重なると判断するようにしてもよい。なお、時間帯を示す情報が、開始時刻等の時刻を示す情報である場合、この時刻を含む予め指定された一定または不定の長さの期間を、この時間帯を示す情報が示す時間帯と考えて、上記の期間が重なるか否かの判断処理を行うようにしても良い。
また、予約照会情報が示す時間帯と重なる時間帯の利用状況情報とは、予約照会情報に含まれている時間帯を示す情報が示す時間帯に対応する利用状況情報のことであり、例えば、予約照会情報に含まれる時間帯を示す情報が示す時間帯と重なる期間を有する時間帯と対応付けられた利用状況情報である。例えば、空き状況情報取得部16は、利用状況格納部13に格納されている各利用状況情報に含まれる来店時刻を開始時刻とした予め指定された長さを有する期間と、予約照会情報が有する時間帯を示す情報が示す時間帯とが重なる期間を有するか否かを判断する。来店時刻を開始時刻とした予め指定された長さを有する期間は、現在来店中のユーザが、退店するまでに滞在すると予想される期間と考えても良い。予め指定された長さは、例えば、飲食店におけるユーザの平均滞在時間等に設定しても良い。重なる期間を有する場合に、空き状況情報取得部16は、この来店時刻を含む利用状況情報を、予約照会情報に含まれている時間帯を示す情報に対応する利用状況情報であると判断しても良い。なお、予約照会情報が有する時間帯を示す情報が、開始時刻等の時間帯内の時刻である場合、空き状況情報取得部16は、この時刻を含む予め指定された長さの期間が、上記の来店時刻を開始時刻とした期間と重なるか判断しても良い。なお、利用状況格納部13に格納されている利用状況情報のうちの、退店時刻等を有するものや、上述したようなフラグが付与されたものについては、この判断処理から除外するようにしてもよい。かかることは以下においても同様である。
また、予約照会情報が有する時間帯を示す情報が、予約の開始時刻等の時間帯内の時刻である場合、空き状況情報取得部16は、利用状況格納部13に格納されている各利用状況情報に含まれる来店時刻と、予約照会情報が有する時間帯を示す情報が示す時刻との差が、予め指定された時間以内であるか否かを判断する。そして、予め指定された時間以内の場合に、空き状況情報取得部16は、この来店時刻を含む利用状況情報を、予約照会情報に含まれている時間帯を示す情報に対応する利用状況情報であると判断しても良い。
また、空き状況情報取得部16は、例えば、予約照会情報が示す時間帯を示す情報が示す時間帯の開始時刻と、予約照会情報を受け付けた時刻との差が、予め指定された時間以内である場合に、利用状況格納部13に格納されている利用状況情報を、予約照会情報の時間帯を示す情報に対応する利用状況情報と判断しても良い。なお、上記においては、予約照会情報を受け付けた時刻の代わりに、現在時刻を用いても良い。
空き状況情報取得部16は、さらに、予約照会情報が有する時間帯以外の条件に合致する利用箇所情報の有無を判断し、利用箇所情報がある場合に、予約可能な利用箇所があることを示す空き状況情報を取得するようにしても良い。例えば、予約照会情報が、予約したい利用箇所の識別情報である利用箇所情報を含むとする。この場合、空き状況情報取得部16は、この予約照会情報が有する利用箇所情報と一致する利用箇所情報が、予約情報および利用状況情報に含まれるか否かを判断する。そして、空き状況情報取得部16は、含まれない場合は、この利用箇所情報が示す利用箇所があることを示す空き状況情報を取得し、含まれる場合は、この利用箇所情報が示す利用箇所がないことを示す空き状況情報を取得するようにしても良い。また、例えば、予約情報に、予約が実行される時間帯を示す情報が含まれており、予約照会情報にも予約についての条件として時間帯を示す情報が含まれているとする。この場合、空き状況情報取得部16は、例えば、予約照会情報に含まれている時間帯を示す情報に対応する予約情報に含まれる利用箇所の識別情報である利用箇所情報と、予約照会情報に含まれている時間帯を示す情報に対応する利用状況情報に含まれる利用箇所の識別情報である利用箇所情報との中に、予約照会情報が有する利用箇所情報と一致する利用箇所情報が含まれるか否かを判断する。そして、空き状況情報取得部16は、含まれない場合は、この利用箇所情報が示す利用箇所があることを示す空き状況情報を取得し、含まれる場合は、この利用箇所情報が示す利用箇所がないことを示す空き状況情報を取得するようにしても良い。
なお、飲食店において、受け付け可能な予約が当日の予約のみに限られ、さらには、一の利用箇所を利用するユーザが、一日一人、あるいは一組に限られる場合、空き状況情報取得部16は、空き状況情報を取得する際に上記のような時間帯を示す情報を利用しなくてもよい。空き状況情報を取得する際に、空き状況情報取得部16は、当日の予約や利用の有無だけを判断すればよいからである。かかることは、受け付け可能な予約が、現在の直後の予約に限られる場合等においても同様である。
空き状況情報取得部16は、通常、予約照会情報受付部15が予約照会情報を受け付けた場合に、空き状況情報を取得する処理を行う。
空き状況情報取得部16は、通常、MPUやメモリ等から実現され得る。空き状況情報取得部16の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、空き状況情報取得部16を、ハードウェア(専用回路)で実現しても良い。
予約判断部17は、空き状況情報を用いて、予約照会情報が示す予約の可否を判断する。予約判断部17は、例えば、空き状況情報取得部16が、1以上の利用箇所情報があることを示す空き状況情報を取得した場合、あるいは、1以上の予約可能な利用箇所情報を有する空き状況情報を取得した場合に、予約が可能であると判断する。また、予約判断部17は、予約照会情報が有する予約の条件を満たす利用箇所情報があることを示す空き状況情報を取得した場合に、予約が可能であると判断する。また、利用箇所情報が利用箇所の識別情報である場合、予約判断部17は、空き状況情報取得部16が取得した空き状況情報に含まれる利用箇所情報の中に、予約照会情報が有する予約の条件を満たす利用箇所情報が含まれるか否かを判断し、含まれる場合に、予約が可能であると判断し、含まれない場合、予約が不可であると判断してもよい。例えば、利用箇所情報が利用箇所の識別情報である場合、予約判断部17は、空き状況情報取得部16が取得した空き状況情報に含まれる利用箇所情報の中に、予約照会情報に含まれる予約の条件である利用箇所情報と一致する利用箇所情報があるか否かを判断し、ある場合に、予約が可能であると判断する。また、例えば、予約判断部17は、空き状況情報取得部16が取得した空き状況情報に含まれる利用箇所情報の中に、予約照会情報に含まれる予約の条件である予約する利用箇所の数と一致する数の利用箇所情報があるか否かを判断し、ある場合に、予約が可能であると判断する。この場合の利用箇所とは、例えば、座席や、テーブルである。予約する利用箇所の数は、予約人数や、予約グループ数と考えても良い。
予約判断部17は、通常、MPUやメモリ等から実現され得る。予約判断部17の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、予約判断部17を、ハードウェア(専用回路)で実現しても良い。
予約画面格納部18には、予約指示を受け付ける画面である予約画面の情報が格納される。予約指示とは、予約を行う指示である。予約画面とは、例えば、予約指示を受け付けるためのインターフェース画面である。例えば、予約画面は、予約指示を受け付けるための入力フィールドやボタン等を有していても良い。予約画面の情報とは、予約画面を出力するための情報である。予約画面の情報は、例えば、予約画面を構成する画像データや、HTMLデータや、XMLデータ等である。ここでの格納は、一時記憶も含む概念である。
なお、出力部20が予約画面を出力する直前等に、図示しない出力画面生成部が、予め用意されたテンプレート情報と、空き状況情報取得部16が取得した予約可能な利用箇所の利用箇所情報とを用いて、予約可能な利用箇所に関する情報を有する予約画面を生成してもよい。予約可能な利用箇所に関する情報とは、例えば、予約可能な利用箇所の識別情報や、予約可能な利用箇所の数である。そして、この出力画面生成部が、この予約画面を、予約画面格納部18に一時記憶し、出力部20がこの予約画面を読み出して出力するようにしても良い。テンプレート情報は、図示しないテンプレート情報格納部に予め格納しておくようにすれば良い。例えば、利用箇所情報が利用箇所の識別情報である場合、図示しない出力画面生成部が、予約可能な利用箇所情報を、テンプレート情報内の予め指定されたリスト上に配置することで、予約可能な利用箇所情報のリストを有する予約画面を生成しても良い。あるいは、利用箇所情報が利用箇所の識別情報である場合、図示しない予約画像生成部が、飲食店内の見取図やフロア図を有するテンプレート情報の、予約可能な利用箇所情報に対応する利用箇所を示す位置を、予約可能な利用箇所であることを示す出力態様に変更することで、予約可能な利用箇所を視覚的に識別可能な見取図やフロア図を生成するようにしてもよい。出力態様を変更とは、例えば、部分的に背景色等の色を変更することで強調表示することや、予め移用された画像を配置することである。また、利用箇所情報が利用箇所の識別情報である場合において、例えば、予約可能な利用箇所情報に対応する利用箇所を示す位置を、予約可能な利用箇所であることを示す出力態様に変更するということは、予約不可である利用箇所情報に対応する利用箇所を示す位置を、予約不可である利用箇所であることを示す出力態様に変更することも含む概念である。
行列予約画面格納部19には、行列予約指示を受け付ける画面である行列予約画面の情報が格納される。行列予約指示とは、行列予約情報を蓄積する指示である。行列予約情報は、飲食店における利用箇所の空きを待つユーザのユーザ識別情報を有する情報である。行列予約情報は、いわゆる行列待ちをしているユーザを管理するための情報である。行列待ちは、キャンセル待ち等と考えても良い。利用箇所の空きとは、例えば、予約されておらず、かつ、現在来店中のユーザが滞在していないと考えられる利用箇所である。ここでの利用箇所の空きは、例えば、上述した予約照会情報が有する時間帯を示す情報が示す時間帯において、空いている利用箇所であってもよい。また、予約照会情報が有する予約の条件を満たす利用箇所の空きであっても良い。例えば、利用箇所の空きとは、ユーザが予約したい利用箇所の空きであっても良いし、飲食店内の不特定の利用箇所の空きであっても良い。行列予約画面とは、例えば、行列予約指示を受け付けるためのインターフェース画面である。例えば、予約画面は、予約指示を受け付けるための入力フィールドやボタン等を有していても良い。行列予約画面の情報とは、行列予約画面を出力するための情報である。行列予約画面の情報は、例えば、行列予約画面を構成する画像データや、HTMLデータや、XMLデータ等である。ここでの格納は、一時記憶も含む概念である。
出力部20は、予約判断部17の判断結果に応じた出力を行う。例えば、出力部20は、予約判断部17が予約可能と判断した場合に、予約画面格納部18に格納されている予約画面を読み出して出力する。また、出力部20は、例えば、予約判断部17が予約可能でないと判断した場合に、行列予約画面格納部19に格納されている行列予約画面を出力する。また、出力部20は、予約判断部17の判断結果である予約の可否を示す情報、例えば、予約の可否を示す文字列や、予約の可否に対応して図示しない記憶媒体等から読み出した画像を出力しても良い。
なお、出力部20は、予約画面の予め指定された入力フィールド等に、予約照会情報に含まれるユーザ識別情報や、利用箇所情報や、時間帯を示す情報等を配置した予約画面を出力しても良い。行列予約画面についても同様である。
ここでの出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。例えば、出力部20は、判断結果に応じた出力を、図示しない注文等を受け付けるための情報処理端末等に送信しても良い。
出力部20は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部20は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
行列予約情報格納部21には、1または2以上の行列予約情報が格納される。行列予約情報格納部21に格納される行列予約情報は、例えば、利用箇所情報や、行列予約情報が蓄積された順番を示す情報を有していても良い。行列予約情報格納部21には、例えば、利用箇所情報毎に、その利用箇所情報が示す利用箇所についての行列予約情報が、行列予約情報が蓄積された順番を示す情報と対応付けられて格納されている。順番を示す情報は、蓄積された行列予約情報の相対的な順位が判断可能な情報であれば良く、例えば、昇順や降順の連番を含む情報や、蓄積された時刻を示す情報であっても良い。
予約指示受付部22は、予約情報を蓄積する指示である予約指示を受け付ける。予約指示受付部22は、例えば、予約判断部17が、予約照会情報が要求する予約が可能であると判断した場合に、予約指示を受け付ける。予約指示受付部22は、例えば、出力部20が出力する予約画面を介して、予約指示を受け付ける。予約画面を介して受け付けるとは、予約画面を入力インターフェースとして用いて予約指示を受け付けることや、予約画面の出力中に予約指示を受け付けることと考えても良い。予約指示は、予約を行うユーザのユーザ識別情報を有していても良い。予約指示は、予約する利用箇所に関する利用箇所情報を有していても良い。また、予約指示は、予約の時間帯を示す情報を有していても良い。また、予約指示は、予約人数の情報を有していても良い。
予約指示受付部22は、例えば、予約照会情報に対応する予約情報を蓄積する指示である予約指示を受け付けるようにしてもよい。予約照会情報に対応する予約情報とは、例えば、予約照会情報が有するユーザ識別情報を有する予約情報や、予約照会情報が有する利用箇所情報を有する予約情報や、予約照会情報が示す条件を満たす利用箇所に関する利用箇所情報有する予約情報等である。また、例えば、予約指示受付部22は、予約照会情報に含まれるこれらのユーザ識別情報や、利用箇所情報や、時間帯を示す情報等を読み出して、これらの情報を有する予約指示を受け付けるようにしても良い。
予約指示の受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。予約指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。予約指示受付部22は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
予約情報蓄積部23は、予約指示に応じた予約情報を予約情報格納部12に蓄積する。予約情報蓄積部23は、例えば、予約指示受付部22が受け付けた予約指示に含まれるユーザ識別情報や、利用箇所情報や、予約の時間帯を示す情報を有する予約情報を取得し、予約情報格納部12に蓄積する。また、予約情報蓄積部23は、予約照会情報に含まれるユーザ識別情報や、利用箇所情報や、予約の時間帯を示す情報を有する予約情報を取得し、予約情報格納部12に蓄積しても良い。また、予約指示受付部が受け付けた予約指示に含まれる情報と、予約照会情報に含まれる情報とから適宜読み出した情報を含む予約情報を取得し、蓄積しても良い。
また、予約指示や予約照会情報が利用箇所情報を有していない場合や、利用箇所を特定するための予約の条件が予約照会情報に含まれていない場合等においては、予約が可能な予約箇所識別情報の中から、予め指定されたルール等に応じて、予約する利用箇所に関する利用箇所情報を自動取得しても良い。
予約情報蓄積部23は、通常、MPUやメモリ等から実現され得る。予約情報蓄積部23の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
行列予約指示受付部24は、行列予約指示を受け付ける。行列予約指示受付部24は、例えば、予約判断部17が、予約照会情報が要求する予約が可能でないと判断した場合に、行列予約指示を受け付ける。行列予約指示受付部24は、例えば、出力部20が出力する行列予約画面を介して、行列予約指示を受け付ける。なお、行列予約指示受付部24の他の構成や処理等は、上述した予約指示受付部22の構成や処理において、予約指示を、行列予約指示等に置きかえたもの等と同様であるため、ここでは詳細な説明は省略する。
行列予約情報蓄積部25は、行列予約指示に応じた行列予約情報を行列予約情報格納部21に蓄積する。行列予約情報蓄積部25の構成や処理等は、上述した予約情報蓄積部23の構成や処理において、予約指示や予約情報を、行列予約指示や行列予約情報等に置きかえたもの等と同様であるため、ここでは詳細な説明は省略する。
次に、予約情報処理装置1の動作について図2のフローチャートを用いて説明する。なお、ここでは、利用箇所情報が、利用箇所の識別情報である場合を例に挙げて説明する。
(ステップS101)利用状況受付部14は、利用状況情報を受け付けたか否かを判断する。受け付けた場合、ステップS102に進み、受け付けていない場合、ステップS103に進む。
(ステップS102)利用状況受付部14は、ステップS101で受け付けた利用状況情報を、利用状況格納部13に蓄積する。そして、ステップS101に戻る。
(ステップS103)利用状況受付部14は、来店中のユーザが退店したことを示す情報を受け付けたか否かを判断する。退店したことを示す情報は、例えば、退店したユーザのユーザ識別情報と、図示しない時計等から取得した退店時刻を含む情報である。ユーザが退店した場合、ステップS104に進み、退店していない場合、ステップS105に進む。
(ステップS104)利用状況受付部14は、退店したユーザのユーザ識別情報を有する利用状況情報に退店時刻を追記する。そして、ステップS101に戻る。なお、利用状況受付部14は、この利用情報を削除するようにしても良い。
(ステップS105)予約照会情報受付部15は、予約照会情報を受け付けたか否かを判断する。受け付けた場合、ステップS106に進み、受け付けていない場合、ステップS101に戻る。
(ステップS106)空き状況情報取得部16は、予約情報と、利用状況情報とを用いて、空き状況情報を取得する。
(ステップS107)予約判断部17は、ステップS106で取得した空き状況情報を用いて、予約が可能であるか否かを判断する。可能である場合、ステップS108に進み、可能でない場合、ステップS111に進む。
(ステップS108)出力部20は、予約画面の情報を予約画面格納部18から読み出し、予約画面を出力する。
(ステップS109)予約指示受付部22は、予約指示を受け付けたか否かを判断する。受け付けた場合、ステップS110に進み、受け付けていない場合、ステップS109に戻る。
(ステップS110)予約情報蓄積部23は、ステップS109で受け付けた予約指示に対応する予約情報を取得し、予約情報格納部12に蓄積する。そして、ステップS101に戻る。
(ステップS112)出力部20は、行列予約情報格納部21から行列予約画面の情報を読み出し、出力する。
(ステップS113)行列予約指示受付部24は、行列予約指示を受け付けたか否かを判断する。受け付けた場合、ステップS114に進み、受け付けていない場合、ステップS113に戻る。
(ステップS114)行列予約情報蓄積部25は、ステップS113で受け付けた行列予約指示に対応する行列予約情報を取得し、行列予約情報格納部21に蓄積する。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における予約情報処理装置1の具体的な動作について説明する。
図3は、予約情報処理装置1を備えた予約システムの概念図である。
情報処理システム1000は、飲食店Aで利用されている予約情報処理装置1と、飲食店Aの店員が保持する複数の情報通信端末2と、を備えている。ここでは、説明の便宜上、情報通信端末2が一つである場合を図示しているが、情報通信端末2は、複数であっても良い。予約情報処理装置1と、情報通信端末2とは、一例としてネットワークを介して無線通信により接続されているものとする。情報通信端末2は、一例として、タッチパネル等を備えたいわゆるタブレット型端末と呼ばれる装置であるとする。
なお、この飲食店Aにおいては、例えば、当日の予約のみが受け付け可能であるとする。また、この飲食店Aの営業時間は、「17時00分」から、「24時00分」までであるとする。また、ここでは、利用箇所情報が利用箇所の識別情報である場合を例に挙げて説明する。
まず、ユーザ識別情報が「U1001」であるユーザ(以下、ユーザ「U1001」と称す)が、三人で飲食店Aに来店し、テーブル識別情報が「T05」であるテーブルに着席したとする。ユーザ識別情報は、ここでは、飲食店Aの会員番号であるとする。会員番号は、例えば、会員であるユーザの、氏名や、電話番号やメールアドレス等の連絡先情報や、住所等と対応付けられて、図示しない記憶媒体等に蓄積されている。また、テーブル識別情報は、テーブル番号であるとする。なお、ここでは、飲食店内の各テーブルが利用箇所、テーブル識別情報が、利用箇所情報であるとする。
飲食店Aの店員が、来店したユーザ「U1001」のテーブルに移動し、情報通信端末2を操作して、来店したユーザのユーザ識別情報と、テーブル番号とを入力する画面を表示させる。そして、店員が、ユーザ識別情報「U1001」と、テーブル番号「T05」と、利用人数「3」人とを入力し、図示しない送信ボタン等を押したとする。ユーザ識別情報とテーブル番号が、情報通信端末2から予約情報処理装置1に送信される。予約情報処理装置1の利用状況受付部14は、送信されたユーザ識別情報とテーブル番号を受信する。利用状況受付部14は、受信したユーザ識別情報とテーブル番号と、図示しない時計等から取得した現在の時刻「18時05分」である来店時刻とを有する利用状況情報を、利用状況格納部13に蓄積する。なお、ここでは、説明の便宜上、時刻の情報として、日時を含まない同日の時刻の情報を用いるようにしたが、時刻の情報として、日時の情報を有する日時の情報を用いるようにしても良い。
図4は、利用状況格納部13に格納された利用状況情報を管理する利用状況管理情報を示す図である。利用状況管理情報は、「利用ID」、「ユーザID」、「テーブルID」、「来店時刻」、「退店時刻」、「利用人数」等の属性を有する。「利用ID」は、利用状況管理情報を管理するための識別情報である。「ユーザID」は、ユーザ識別情報、「テーブルID」は利用箇所情報、「来店時刻」は、来店時刻、「退店時刻」は退店時刻である。来店時刻は、飲食店Aの利用開始時刻と考えても良い。「利用人数」は、利用人数である。ここでは、各行が、一の利用状況情報を管理する利用状況管理情報であるとする。なお、利用状況情報には、これら以外の属性を有していても良い。なお、ここでは、既に格納されていた利用状況管理情報に、上記の「利用ID」が「10052」である利用状況管理情報のレコードが追記されたものとする。
なお、ユーザが退店する場合、このユーザのユーザ識別情報を、退店するユーザのユーザ識別情報として店員が情報通信端末2に入力すると、利用状況管理情報のこのユーザ識別情報を有するレコードの「退店時刻」の値として、図示しない時計から取得した現在時刻が蓄積される。
次に、例えば、ユーザ「U1001」が、店員に注文を行うと、店員は、情報通信端末2に、「ユーザID」である「U1001」と、注文した商品の、商品名と、商品コードと、注文数とを入力する。ここでは、入力された商品名が「ビール」、商品コードが「BR50」、注文数が「3」であったとする。入力された情報の組は情報通信端末2から、飲食店の注文を受け付けるサーバ等(図示せず)に送信される。また、送信された情報は、情報通信端末2にも送信され、利用状況受付部14は送信された情報を受け付ける。そして、利用状況受付部14は、受け付けた商品名と、商品コードと、注文数との組を、受け付けた「ユーザID」である「U1001」と対応付けて、上記で受け付けた「ユーザID」が「U1001」である利用状況管理情報で管理される利用状況情報の注文履歴情報として、利用状況格納部13に蓄積する。
図5は、利用状況格納部13に格納された注文履歴情報を管理する注文履歴管理情報である。注文履歴管理情報は、「注文履歴ID」と、「利用ID」と、「注文履歴」という属性を有している。「注文履歴」は、更に、「商品名」、「商品コード」、「注文数」という属性を有している。「注文履歴ID」は、注文履歴管理情報のレコードを管理する識別情報である。ここでは、図5の一の行を注文履歴管理情報の一のレコードと考える。「利用ID」は、注文履歴管理情報のレコードが対応付けられた利用状況管理情報の「利用ID」であり、図4の「利用ID」に対応する。「注文履歴」は、注文履歴情報である。「商品名」、「商品コード」、および「注文数」は、利用状況受付部14が受け付けた商品名、商品コード、注文数の組を構成する各情報である。なお、ここでは、既に、他のレコードが格納されていた注文履歴管理情報に、上記で利用状況受付部14が受け付けた情報の組を含むレコードが追記されたものとする。
利用状況受付部14は、例えば、情報通信端末2から送信された情報を受け付けた場合に、この情報に含まれる「ユーザID」の値と一致する「ユーザID」を有する利用状況管理情報のレコードであって、「退店時刻」が空欄である利用状況管理情報のレコードを、図4の利用状況管理情報から検索する。そして、検索により検出した利用状況管理情報の「利用ID」の値を取得する。利用状況受付部14は、取得した値を、注文履歴管理情報の「利用ID」として、他の注文履歴情報と対応付けて蓄積する。これにより、注文履歴管理情報の各レコードは、各レコードの「利用ID」の値が示す利用状況管理情報のレコードに対応づけられる。即ち、一の利用状況情報に含まれる注文履歴情報は、この一の利用状況情報を管理する利用状況管理情報の一のレコードに含まれる「利用ID」と同じ「利用ID」を有する注文履歴管理情報のレコードで管理される注文履歴情報に相当するものとなっている。例えば、「利用ID」が「10059」である注文履歴管理情報で管理される注文履歴情報は、「利用ID」が「10059」である利用状況管理情報で管理される利用状況情報の注文履歴情報である。
なお、情報通信端末2を用いて飲食物の注文を入力する処理やその処理を実現するための構成等については、公知の技術であるので、ここでは詳細な説明は省略する。
図6は、予約情報格納部12に格納されている予約情報を管理する予約管理情報である。予約管理情報は、「予約ID」、「ユーザID」、「テーブルID」、「予約開始時刻」、「利用人数」という属性を有している。「予約ID」は、予約管理情報のレコードを管理する識別情報である。「ユーザID」は、予約されているユーザのユーザ識別情報である。「テーブルID」は予約されたテーブルのテーブル識別情報である。「予約開始時刻」は、予約が実行される開始時刻であり、ここでは、営業時間内の正時からの15分刻みの時刻が指定可能であるとする。「利用人数」は、予約された人数である。なお、予約管理情報の一のレコードは、例えば、そのレコードに含まれる予約情報が示す予約が実行された時点で削除されるものとする。
図7は、利用箇所格納部11に格納されている利用箇所情報を管理する利用箇所管理情報を示す図である。利用箇所管理情報は、「テーブルID」と、「利用人数」という属性を有している。「テーブルID」は、利用箇所情報であり、ここでは、飲食店Aの利用箇所であるテーブルのテーブル番号を示している。「利用人数」は、利用箇所であるテーブルの最大利用人数である。ここでは、各行が一の利用箇所管理情報を示している。
ここで、例えば、一のユーザから、電話や電子メール等を介して、本日の予約の申込みがあったとする。この予約の申込みは、時刻の指定のない予約であったとし、予約を希望する人数の値である「4」の指定があったとする。なお、ここでは特に、予約を希望する時間帯の指定がない場合、本日の現在の時刻以降の時間帯について予約が可能な時間帯を照会するよう、予め設定されているものとする。
申込みを受け付けた店員は、情報通信端末2に予約の照会を行うための入力インターフェース画面を表示させ、予約の照会に必要な情報を入力する。
図8は、情報通信端末2のモニタに表示された予約の照会を行うための入力インターフェース画面である。
店員が、図8の画面において、予約開始時刻の入力フィールド81に「指定なし」、予約人数の入力フィールド82に「4」(人)、予約テーブルの入力フィールド83に「指定なし」を入力し、「予約照会」ボタン84を押したとする。
情報通信端末2は、入力された情報を、予約照会情報として、予約情報処理装置1に送信する。予約情報処理装置1の予約照会情報受付部15は、情報通信端末2から送信された予約照会情報を受信する。予約照会情報受付部15が予約照会情報を受け付けたため、空き状況情報取得部16は、空き状況情報の取得を開始する。ここでは、予約照会情報が示す条件に合致する予約が可能であるか否かの照会を行う。具体的には、空き状況情報取得部16は、本日の現在以降に、4人が利用可能な任意の空きテーブルがあるか否かの判断を行う。
まず、空き状況情報取得部16は、図7に示した利用箇所管理情報の、「利用人数」の値が、予約照会情報が示す利用人数の値である「4」以上のレコードの、上から1番目のレコードから、「テーブルID」の値である「T01」を取得する。そして、図6に示した予約管理情報の「テーブルID」が「T01」である各レコードから、「予約開始時刻」の値を取得する。そして、空き状況情報取得部16は、取得した各「予約開始時刻」が示す時刻から、予め指定された長さの時間が経過した時刻を、それぞれ取得する。ここでは、予め指定された長さを2時間とする。また、予め指定された長さの時間が経過した時刻を、ここでは、予想予約終了時刻と呼び、予約開始時刻と予想予約終了時刻との間の時間帯を、予想予約時間帯と呼ぶ。
例えば、図6の予約管理情報において、「テーブルID」の値が「T01」であるレコードが、「レコードID」が「0020」であるレコードのみであったとする。この場合、空き状況情報取得部16は、このレコードから、「予約開始時刻」の値「19時30分」を取得する。そして、空き状況情報取得部16は、この「予約開始時刻」から、この時刻に2時間を加算した時刻である予想予約終了時刻「21時30分」を取得する。
なお、上記で、仮に、他の予約開始時刻が取得された場合、この予約開始時刻についても、予想予約終了時刻を取得する。
また、空き状況情報取得部16は、図4に示した現在状況管理情報のうちの、「退店時刻」が空欄、即ちNullであるレコードの中から、「テーブルID」の値が「T01」であるレコードを検出する。そして、空き状況情報取得部16は、検出したレコードの「来店時刻」の値を取得する。ここでは、「利用ID」が「10053」であるレコードの「来店時刻」の値「17時10分」を取得する。そして、取得した「来店時刻」が示す時刻から、予め指定された長さの時間が経過した時刻を、それぞれ取得する。ここでは、予め指定された長さを2時間とする。予め指定された長さの時間が経過した時刻を、ここでは、予想退店時刻と呼び、来店時刻と予想退店時刻との間の時間帯を、予想利用時間帯と呼ぶ。ここでは、予想退店時刻として、「19時10分」を取得する。
次に、空き状況情報取得部16は、飲食店Aの営業時間内において、上記の予想予約時間帯と、予想利用時間帯とのいずれにも重ならない予め指定された長さの連続した時間帯の検出を行う。ここでは一例として、予め指定された時間の長さを2時間とする。そして、現在の時刻以降の正時から15分刻みの時刻をそれぞれ開始時刻とした2時間の各時間帯について、上記の予想予約時間帯と、予想利用時間帯とに重なるか否かを順次判断する。ここでは、この15分刻みの開始時刻を、比較開始時刻と呼ぶ。そして、空き状況情報取得部16は、いずれにも重ならなかった場合の比較開始時刻を、それぞれ、予約可能な空き時間の開始時刻として取得する。取得した開始時刻は、「テーブルID」の値と対応付けて、図示しない記憶媒体等に一時記憶する。ここで一時記憶した情報が、この具体例における空き状況情報である。
なお、この具体例においては、比較開始時刻を、正時を基準とした15分刻みの時刻としたが、比較開始時刻はどのような時刻に設定しても良く、例えば、正時を基準としたn分刻み(nは1〜30までの値等)の時刻であっても良い。
ここでは、例えば、現在の時刻が、「18時25分」であったとすると、空き状況情報取得部16は、現在時刻に最も近い15分刻みの時刻である「18時30分」から、順番に上記の処理を行う。具体的には、空き状況情報取得部16は、まず、この時刻「18時30分」を比較開始時刻として、この時刻から2時間経過した時刻「20時30分」を取得する。そして、まず、比較開始時刻が、上記の予想予約時間帯、または予想利用時間帯のいずれか一方の時間帯内の時刻であるか否かを判断する。なお、比較開始時刻が、予想予約終了時刻と一致する時刻である場合、ここでは、比較開始時刻が、上記の予想予約時間帯内の時刻ではないと判断する。予想退店時刻についても同様である。比較開始時刻がいずれか一方の時間帯内の時刻である場合、空き状況情報取得部16は、この開始時刻は、予想予約時間帯と、予想利用時間帯とのいずれにも重ならない予め指定された長さの連続した時間帯の開始時刻ではないと判断する。そして、次の15分後の開始時刻についても同様の処理を行う。また、いずれの時間帯の時刻でもない場合、空き状況情報取得部16は、2時間経過した時刻「20時30分」が、上記の予想予約時間帯、または予想利用時間帯のいずれか一方の時間帯内の時刻であるか否かを判断する。いずれか一つの時間帯内の時刻である場合、空き状況情報取得部16は、この開始時刻は、予想予約時間帯と、予想利用時間帯とのいずれにも重ならない予め指定された長さの連続した時間帯の開始時刻でないと判断する。そして、次の15分後の開始時刻についても同様の処理を行う。また、いずれの時間帯の時刻でもなかった場合、空き状況情報取得部16は、この開始時刻を予約可能な空き時間の開始時刻として取得する。取得した開始時刻は、「テーブルID」の値である「T01」と対応付けて、図示しない記憶媒体等に一時記憶する。そして、次の15分後の開始時刻についても同様の処理を行う。なお、開始時刻に2時間を加算した時刻が、飲食店Aの営業時間外の時刻となる場合に、この「テーブルID」が「T01」である利用箇所についての空き時間の検出処理を終了する。ここでは、空き状況情報取得部16は、上記の処理により、「21時30分」と、「21時45分」と、「22時00分」とを、予約可能な空き時間の開始時刻として取得する。
空き状況情報取得部16は、同様に、図7に示した利用箇所管理情報の、「利用人数」の値が、予約照会情報が示す利用人数の値である「4」以上のレコードの、上から2番目以降の各レコードから、「テーブルID」の値を順次取得し、上記と同様の処理を行い、「テーブルID」毎に、空き時間の開始時刻を取得する。
なお、ここでは具体例の説明は省略するが、図8において、予約テーブルの入力フィールド83に、テーブル識別情報が入力されていた場合、上記の処理の代わりに、例えば、この入力されていたテーブル識別情報が示すテーブルについて、本日の現在以降に空きがあるか否かを判断する。また、図8において、予約開始時刻の入力フィールド81に開始時刻が指定されている場合、上記の処理の代わりに、例えば、本日のこの開始時刻から、予め指定された時間内に、テーブルに空きがあるか否かを判断する。
図9は、空き状況情報取得部16が取得して一時記憶させている空き状況情報を示す図である。空き状況情報は、「テーブルID」と「予約可能時刻」という属性を有している。「テーブルID」は、図7の「テーブルID」に対応する。「予約可能時刻」は、2時間の予約が可能な空き時間の開始時刻である。ここでは、各行を、空き状況情報の各レコードと考える。
次に、予約判断部17は、空き状況情報取得部16が取得した空き状況情報を用いて、予約が可能であるか否かを判断する。ここでは、空き状況情報取得部16が、1以上のレコードを有する空き状況情報を取得したため、予約判断部17は、予約が可能であると判断する。
出力部20は、予約判断部17が、予約が可能であると判断したため、予約を行うための予約画面の情報を予約画面格納部18から読み出して、情報通信端末2に送信する。
また、この具体例においては、出力部20は、空き状況情報取得部16が取得した図9の空き状況情報の「予約可能時刻」の値を、15分刻みの時刻毎に集計する。そして、出力部20は、集計により得られた値を、図示しない記憶媒体等に予め格納されているテンプレートに配置して飲食店Aの空き状況を示す画面の情報を作成し、予約画面と同様に、情報通信端末2に送信する。なお、予約画面や空き状況を示す画面等は、例えばHTMLファイル等のデータや、画像データで構成される。
情報通信端末2は、出力部20から送信される予約画面や空き状況を示す画面の情報を受信すると、これらの情報をモニタに表示する。
図10は、情報通信端末2による、出力部20が出力した予約画面および空き状況を示す画面の情報の表示例を示す図である。図において、左側が予約画面101を示し、左側が空き状況を示す画面102を示す。空き状況を示す画面102においては、「予約可能時刻」の集計結果が「0」であった時刻については「空席なし」が表示され、「予約可能時刻」の集計結果が「0」以外であった時刻については「空席」の後にその集計数が表示される。
次に、店員が、電話やメールを用いて、予約を申し込んだユーザに、予約が可能である旨を伝え、情報通信端末2に表示されている空き状況を示す画面102を参考にして、ユーザに予約可能な時刻を伝え、ユーザから、ユーザの識別情報である「U0801」と、予約可能な時刻のうちの一つを選択する指示を受けたとする。
店員は、予約画面102において、ユーザにより選択された予約時刻「21時30分」を予約時刻入力フィールド105に、ユーザ識別情報「U0801」をユーザ識別情報入力フィールド106に、上記で受け付けた利用人数「4」を利用人数入力フィールド107に、それぞれ入力する。そして、店員が「予約実行」ボタン108を押したとする。
図11は、「予約実行」ボタン108を押す直前の情報通信端末2の表示例を示す図である。なお、予約画面102は、上記以外の情報を受け付けるための入力フィールドやチェックボックス等を有していても良いことはいうまでもない。また、予約するテーブルを指定するための情報として「テーブルID」を受け付けても良い。
予約画面101のこれらの入力フィールドに入力された情報が、情報通信端末2から予約情報処理装置1に送信される。予約情報処理装置1の予約指示受付部22は、この予約時刻、ユーザ識別情報、および利用人数の情報を予約指示として受け付け、予約情報蓄積部23は、この予約時刻、ユーザ識別情報、および利用人数の情報を有する予約情報を、予約情報格納部12に追記する。なお、ここでは、予約指示に利用箇所情報である「テーブルID」が含まれていないため、予約情報蓄積部23は、図9に示した空き状況情報から、予約指示に含まれる時刻「21時30分」と一致する時刻を示す「予約可能時刻」を有するレコードの「テーブルID」の値を取得し、予約情報に用いる。ここでは、「テーブルID」として、「T01」を取得する。なお、複数の「テーブルID」の値が取得される場合、どのように一の「テーブルID」の値を取得するようにしても良く、例えば、ランダムに取得してもよいし、空き状況情報の配列順に取得しても良い。
図12は、予約情報を含むレコードが追記された予約情報管理情報を示す図である。これにより、予約が完了したこととなる。
なお、予約画面101等に「ユーザID」を登録するための画面へのリンクボタン等を設けるようにし、このリンクボタンを押すことで、会員登録画面等を出力して、会員登録が行えるようにしても良い。これにより、例えば、予約を行うユーザが会員登録されておらず、予約に利用する「ユーザID」がない場合には、会員登録を行って「ユーザID」を取得することが可能となる。
ここで、仮に、上記において空き状況情報取得部16が、1以上の空き状況情報を取得できなかったとする。
予約判断部17は、予約照会情報により要求された予約ができないと判断する。そして、出力部20は、行列予約画面格納部19に格納されている行列予約画面の情報を情報通信端末2に送信する。
情報通信端末2は、出力部20から送信される行列予約画面の情報を受信すると、これらの情報をモニタに表示する。
図13は、情報通信端末2による、出力部20が出力した行列予約画面の情報の表示例を示す図である。
次に、店員が、電話やメールを用いて、予約を申し込んだユーザに、予約はできないが、行列待ちの予約ができる旨を伝え、行列待ちの予約を行うことに同意を得たユーザから、ユーザ識別情報である「U0801」と、利用人数である「4」との提供を受けたとする。なお、店員は、更に、行列待ちを行うテーブルを指定するための情報として「テーブルID」を受け付けても良い。
店員は、図13に示すような、情報通信端末2に表示されている行列予約画面において、ユーザ識別情報「U0801」をユーザ識別情報入力フィールド132に入力し、上記で受け付けた利用人数「4」を利用人数入力フィールド133に入力し、「行列予約実行」ボタン134を押したとする。
情報通信端末2は、上記のユーザ識別情報「U0801」と、利用人数「4」とを予約情報処理装置1に送信する。予約情報処理装置1の行列予約指示受付部24は、情報通信端末2から送信されるこれらの情報を行列予約指示として受信し、行列予約情報蓄積部25は、これらの情報と、図示しない時計等から取得した現在の時刻とを有する行列予約情報を、行列予約情報格納部21に追記する。
図14は、行列予約情報格納部21に格納されている行列予約情報を管理する行列予約情報管理情報である。行列予約情報管理情報は、「ユーザID」と、「利用人数」と、「蓄積時刻」、「テーブルID」という項目を有している。「ユーザID」は、行列予約画面から入力されたユーザ識別情報である。「利用人数」は、行列予約画面から入力された利用人数である。「蓄積時刻」は、行列予約情報が蓄積された時刻である。なお、「蓄積時刻」の代わりに、行列予約情報の蓄積された順番が判断可能な情報であれば、「蓄積時刻」の代わりに、行列予約指示等を受け付けた時刻や、蓄積順番等を示す情報を用いるようにしても良い。「テーブルID」は、行列予約画面から入力された利用箇所情報であり、ここでは、テーブル番号である。なお、「テーブルID」の空欄、即ちNull値は、行列予約時に利用するテーブルの指定がないことを示す。
このようにして、予約ができなかった場合、行列待ちの予約を行うことが可能となる。
以上、本実施の形態によれば、予約情報と現在状況情報とを用いて取得した空き状況情報を用いて、新たな予約の可否を判断することができるため、予約状況と現在の飲食店におけるユーザの来店状況との両方を考慮して、予約を適切に行うことが可能となる。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(予約状況情報受付部や予約指示受付部等)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、本発明においては、予約情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記各実施の形態における予約情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、飲食店におけるユーザが利用可能な箇所である1以上の利用箇所に関する情報である利用箇所情報が格納される利用箇所格納部と、飲食店におけるユーザの予約を示す情報であって、ユーザが予約した利用箇所に関する利用箇所情報を有する情報である予約情報が格納される予約情報格納部と、飲食店に来店しているユーザが利用している利用箇所に関する利用箇所情報を有する情報である利用状況情報が格納される利用状況格納部と、にアクセス可能なコンピュータを、飲食店に来店しているユーザが利用している利用箇所に関する利用箇所情報を受け付け、利用箇所情報を有する利用状況情報を、利用状況格納部に蓄積する利用状況受付部と、飲食店に対するユーザの予約の可否を照会する情報である予約照会情報を受け付ける予約照会情報受付部と、利用箇所格納部に格納されている利用箇所情報と、予約情報に含まれる利用箇所情報と、利用状況情報に含まれる利用箇所情報とを用いて、予約可能な利用箇所についての状況を示す情報である空き状況情報を取得する空き状況情報取得部と、空き状況情報を用いて、予約照会情報が示す予約の可否を判断する予約判断部と、予約判断部の判断結果に応じた出力を行う出力部と、予約判断部が予約可能であると判断した場合に、予約情報を蓄積する指示である予約指示を受け付ける予約指示受付部と、予約指示に応じた予約情報を予約情報格納部に蓄積する予約情報蓄積部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図15は、上記プログラムを実行して、上記実施の形態による予約情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図15において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図16は、コンピュータシステム900の内部構成を示す図である。図16において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による予約情報処理装置等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による予約情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。