以下、図面を参照して、本発明の実施形態について説明する。
図1は、本実施形態に係る予約管理装置を含むネットワークシステム(予約管理システム)の構成の一例を示す。本実施形態に係る予約管理装置は、複数のWebサイトを介して行われる例えば飲食店等の店舗への予約の一括管理(Web予約管理)を実現するために用いられる。
図1に示すように、予約管理装置10は、コンピュータ(サーバコンピュータ)10a及び記憶装置10bを備える。コンピュータ10aは、例えばCPU等のプロセッサを含む。記憶装置10bは、例えばHDD(Hard Disk Drive)、SSD(Solid State Drive)、ROM(Read Only Memory)またはRAM(Random Access Memory)等を含む。
予約管理装置10は、インターネットのようなネットワークを介して複数のWebサーバ装置と通信可能に接続される。図1においては複数のWebサーバ装置として便宜的にWebサーバ装置20a及び20bのみが示されているが、予約管理装置10は、3以上のWebサーバ装置と通信可能に接続されても構わない。
Webサーバ装置20a及び20bは、店舗への予約を受けつけるためのWebサイトを管理し、当該Webサイトを介して各種店舗への予約を受け付けるサービス(以下、Web予約サービスと表記)をユーザに提供する。なお、Webサーバ装置20a及び20bは、それぞれ異なるWebサイトを管理するものとする。
また、予約管理装置10は、Webサーバ装置20a及び20bによって管理されているWebサイトの各々を介して予約可能な店舗に設置されている店舗端末30とインターネットのようなネットワークを介して通信可能に接続される。
店舗端末30は、当該店舗端末30が設けられている店舗に対するWeb予約の状況を当該店舗の従業員等が確認するための店舗管理画面を表示するための端末であり、例えばパーソナルコンピュータ(PC)、スマートフォン及びタブレットコンピュータ等を含む。
なお、図1においては便宜的に1つの店舗端末30のみが示されているが、予約管理装置10は、上記したWebサーバ装置20a及び20bによって管理されるWebサイトを含む様々なWebサイトを介して予約を行うことができる複数の店舗の各々に設置されている店舗端末と通信可能に接続される。
以下の説明においては、店舗端末30が設置されている店舗はWebサーバ装置20a及び20bの各々によって管理されている2つのWebサイトを介して予約可能であるものとする。この場合、便宜的に、Webサーバ装置20aによって管理されているWebサイトをWebサイトA、Webサーバ装置20bによって管理されているWebサイトをWebサイトB、店舗端末30が設置されている店舗を対象店舗と称する。
図2は、図1に示す予約管理装置10の主として機能構成を示すブロック図である。図2に示すように、予約管理装置10は、格納部11、ログイン処理部12、店舗管理画面生成部13、表示処理部14及びメール解析部15を含む。
本実施形態において、格納部11は、例えば上記した記憶装置10bに格納されている。また、本実施形態において、ログイン処理部12、店舗管理画面生成部13、表示処理部14及びメール解析部15は、例えば図1に示すコンピュータ10aが記憶装置10bに格納されているプログラムを実行すること(つまり、ソフトウェア)によって実現されるものとする。このプログラムは、コンピュータ読み取り可能な記憶媒体に予め格納して頒布されるものでもよいし、ネットワークを介して予約管理装置10にダウンロードされるものであっても構わない。なお、これらの各部12〜15は、ハードウェア(例えば、IC等)によって実現されるものであってもよい。
格納部11には、Webサーバ装置20a及び20bによって管理されているWebサイトA及びBの各々にログインするための情報(以下、ログイン情報と表記)が格納されている。このログイン情報には、ログインID及びパスワードが含まれる。
ログイン処理部12は、格納部11に格納されているログイン情報を取得する。ログイン処理部12は、Webサーバ装置20a及び20bにアクセスし、取得されたログイン情報を順次使用してWebサイトA及びBにログインする。これにより、ログイン処理部12は、WebサイトAで受け付けられた対象店舗への予約を示す予約情報を収集する。また、ログイン処理部12は、WebサイトBで受け付けられた対象店舗への予約(の内容)を示す予約情報を収集する。ログイン処理部12によって収集された予約情報は、格納部11に格納される。
店舗管理画面生成部13は、格納部11に格納された予約情報を含む店舗管理画面を生成する。店舗管理画面は、上記したように対象店舗の従業員等が当該対象店舗に対する予約状況(Web予約状況)を確認するための画面である。
表示処理部14は、店舗管理画面生成部13によって生成された店舗管理画面(データ)を店舗端末30に対して送信することによって、当該店舗管理画面を当該店舗端末30に表示する。
ここで、Web予約サービスを利用するユーザは、WebサイトA及びBを介して対象店舗に対する新規予約、予約の変更及び予約のキャンセル等を行うことができる。これにより、例えばWebサイトAで対象店舗に対する新規予約が受け付けられた場合、当該WebサイトAを管理するWebサーバ装置20aは、予め登録されている当該ユーザのメールアドレスに対してメールを送信する。なお、WebサイトAで予約の変更及び予約のキャンセルが受け付けられた場合についても同様に、その旨を通知するためのメールが送信される。ここでは、WebサイトA(Webサーバ装置20a)について説明したが、WebサイトB(Webサーバ装置20b)についても同様である。
メール解析部15は、Webサーバ装置20a及び20bによって送信されたメールを解析する。メール解析部15は、解析結果に基づいて、新規予約、予約の変更または予約のキャンセルを受け付けたWebサイトを特定する。
この場合、ログイン処理部12は、格納部11に格納されているログイン情報を使用して、メール解析部15によって特定されたWebサイトにログインする。ログイン処理部12は、ログインしたWebサイトで受け付けられた対象店舗への新規予約、予約の変更または予約のキャンセルを示す情報を取得する。ここでログイン処理部12によって取得された情報は、後述する他のWebサイトの空席情報の更新及び店舗管理画面の更新等に利用される。
以下、本実施形態に係る予約管理装置10の動作について説明する。上記したように対象店舗への予約は、WebサイトA及びBで受け付け可能である。この場合、対象店舗には、WebサイトA及びBの各々から発行されたそれぞれ異なるログイン情報が割り当てられている。ログイン情報は、WebサイトA及びBにログインするための情報である。なお、このログイン情報にはログインID及びパスワードが含まれているが、当該ログインID及びパスワードは対象店舗側で指定したものであってもよい。
ここで、対象店舗が本実施形態に係る予約管理装置10によるWeb予約管理を利用するためには、当該対象店舗に割り当てられているWebサイトA及びBにログインするためのログイン情報(以下、単にWebサイトのログイン情報と表記)を登録し、当該予約管理装置10とWebサーバ装置20a及び20bとの連携を開始させる必要がある。
まず、図3のフローチャートを参照して、予約管理装置10とWebサーバ装置20a及び20bとの連携を開始させる際の予約管理装置10の処理手順の一例について説明する。
この場合、予約管理装置10に含まれる表示処理部14は、各Webサイトのログイン情報を登録するための画面(以下、ログイン情報登録画面と表記)を店舗端末30に表示する(ステップS1)。
ここで、図4は、ログイン情報登録画面の一例を示す。図4に示すログイン情報登録画面においては、WebサイトA及びBを含む複数のWebサイトのログイン情報を登録することができる。
図4に示すように、ログイン情報登録画面100には、Webサイト毎にログインID欄101及びパスワード欄102が設けられている。
上記したように対象店舗はWebサイトA及びBのログイン情報を有しているため、対象店舗の従業員等は、WebサイトAに対応するログインID欄101及びパスワード欄102にWebサイトAのログインID及びパスワードを入力し、WebサイトBに対応するログインID欄101及びパスワード欄102にWebサイトBのログインID及びパスワードを入力する。
なお、WebサイトA及びB以外の他のWebサイトでも対象店舗への予約等が受け付け可能であり、当該他のWebサイトのログイン情報を有しているような場合には、当該他のWebサイトのログイン情報もログイン情報登録画面100において登録することになる。
上記したようにログイン情報登録画面100に対する入力が終了されると、当該ログイン情報登録画面100において入力されたログイン情報(ここでは、WebサイトA及びBのログイン情報)は、店舗端末30から予約管理装置10に対して送信される。
図3に戻ると、予約管理装置10は、店舗端末30から送信されたログイン情報を受信する(ステップS2)。予約管理装置10において受信されたログイン情報は、格納部11に格納される。
次に、ログイン処理部12は、格納部11に格納された各ログイン情報に対して以下のステップS3〜S5の処理を実行する。ここでは、WebサイトAのログイン情報について主に説明する。
この場合、ログイン処理部12は、WebサイトAのログイン情報を使用してWebサイトAにログインする(ステップS3)。
ここで、WebサイトA(を管理するWebサーバ装置20a)においては、当該WebサイトAで予約の有無が管理されている対象店舗の席(テーブル)を示す席情報、当該席情報によって示される席のうち、WebサイトAで既に受け付けられた予約を示す予約情報及び現時点で予約を受け付けることが可能な席(つまり、空席)を示す空席情報等が保持されている。
ログイン処理部12は、ステップS3においてログインしたWebサイトAにおいて保持されている席情報及び予約情報を取得する(ステップS4)。
ステップS4において取得された席情報及び予約情報は、格納部11に格納される(ステップS5)。
ここでは、WebサイトAのログイン情報について説明したが、WebサイトBのログイン情報についても同様の処理が実行され、格納部11には、WebサイトBにおいて保持されている席情報及び予約情報が格納される。
ここで、図5は、格納部11に格納された席情報のデータ構造の一例を示す。ここでは、WebサイトAから取得された席情報について説明する。
図5に示すように、席情報には、席IDに対応づけて席の種類及び利用可能人数等が含まれている。
席IDは、WebサイトAで予約の有無が管理されている対象店舗の席(つまり、WebサイトAに割り当てられている席)を識別するための識別情報である。
席の種類は、当該席の種類に対応づけられている席IDによって識別される席の種類を示し、例えばテーブル、座敷及び円卓等が含まれる。
利用可能人数は、当該利用可能人数に対応づけられている席IDによって識別される席(テーブル、座敷及び円卓等)を利用することができる人数(最大人数及び最小人数)を示す。
図5に示す例では、WebサイトAから取得された席情報には、席情報111a及び111bが含まれている。
席情報111aには、席ID「1」に対応づけて席の種類「テーブル1」及び利用可能人数「4」が含まれている。この席情報111aによれば、席ID「1」によって識別されるWebサイトAで予約の有無が管理されている(つまり、WebサイトAに割り当てられている)席は「テーブル1」の席であり、当該テーブルの利用可能人数が4人であることが示されている。
席情報111bには、席ID「2」に対応づけて席の種類「テーブル2」及び利用可能人数「8」が含まれている。この席情報111bによれば、席ID「2」によって識別されるWebサイトAで予約の有無が管理されている席は「テーブル2」の席であり、当該テーブルの利用可能人数が8であることが示されている。
ここでは席情報111a及び111bについてのみ説明したが、格納部11には、WebサイトAから取得された全ての席情報が格納されている。
また、格納部11にはWebサイトBから取得された席情報についても格納されているが、当該席情報のデータ構造は、図5において説明したデータ構造と同様であるため、その詳しい説明を省略する。
なお、WebサイトAで予約の有無が管理されている対象店舗の席とWebサイトBで予約の有無が管理されている対象店舗の席とは少なくとも一部が重複していてもよいし、重複しないようにWebサイトA及びBに対してそれぞれ異なる席が割り当てられていてもよい。
上記したWebサイトAで予約の有無が管理される対象店舗の席は、当該WebサイトAにおいて予め設定されている。同様に、WebサイトBで予約の有無が管理される対象店舗の席は、当該WebサイトBにおいて予め設定されている。なお、WebサイトA及びBで予約の有無が管理される対象店舗の席は、例えば店舗端末30を操作する対象店舗の従業員等によって変更されることも可能である。
図6は、格納部11に格納された予約情報のデータ構造の一例を示す。ここでは、WebサイトAから取得された予約情報について説明する。
図6に示すように、予約情報には、予約IDに対応づけて、氏名、メールアドレス、利用日時、人数及び席IDが含まれている。
予約IDは、WebサイトAで受け付けられた予約に対して割り当てられた識別情報である。
氏名は、当該氏名に対応づけられている予約IDによって識別される予約を行ったユーザの氏名である。
メールアドレスは、当該メールアドレスに対応づけられている予約IDによって識別される予約を行ったユーザのメールアドレスである。
利用日時は、当該利用日時に対応づけられている予約IDによって識別される予約においてユーザによって指定された対象店舗の利用開始日時(つまり、対象店舗への入店予定日時)である。
人数は、当該人数に対応づけられている予約IDによって識別される予約においてユーザによって指定された対象店舗の利用人数である。
席IDは、当該席IDに対応づけられている予約IDによって識別される予約においてユーザによって指定された対象店舗の席(つまり、予約席)を識別するための識別情報である。
図6に示す例では、WebサイトAから取得された予約情報には、予約情報112a及び112bが含まれている。
予約情報112aには、予約ID「1」に対応づけて氏名「○○○○」、メールアドレス「メールアドレス1」、利用日時「5/27 19:00」、人数「4」及び席ID「1」が含まれている。この予約情報112aによれば、対象店舗の席ID「1」によって識別される席を5月27日の19時から4名で利用する予約が、氏名が「○○○○」であるユーザによってされていることが示されている。また、このユーザのメールアドレスが「メールアドレス1」であることが示されている。
予約情報112bには、予約ID「2」に対応づけて氏名「××××」、メールアドレス「メールアドレス2」、利用日時「5/27 19:30」、人数「6」及び席ID「2」が含まれている。この予約情報112bによれば、対象店舗の席ID「2」によって識別される席を5月27日の19時半から6名で利用する予約が、氏名が「××××」であるユーザによってされていることが示されている。また、このユーザのメールアドレスが「メールアドレス2」であることが示されている。
ここでは予約情報112a及び112bについてのみ説明したが、格納部11にはWebサイトAから取得された全ての予約情報が格納されている。
なお、図6においては予約情報が予約ID、氏名、メールアドレス、利用日時、人数及び席IDを含むものとして説明したが、当該予約情報には他の情報が含まれていても構わない。具体的には、電話番号、予約時にユーザによって指定されたコース(料理)、または当該ユーザに関する情報(年齢及び性別等)が予約情報に含まれていてもよい。
また、格納部11にはWebサイトBから取得された予約情報についても格納されているが、当該予約情報のデータ構造は、図6において説明したデータ構造と同様であるため、その詳しい説明を省略する。
なお、上記した図5において説明した席情報及び図6において説明した予約情報によれば、対象店舗において用意されている席のうち、予約されている席及び当該席の利用日時等を把握することができる。
再び図3に戻ると、店舗管理画面生成部13は、格納部11に格納された席情報及び予約情報に基づいて、対象店舗に対する予約状況を表示するための店舗管理画面を生成する(ステップS6)。この場合、店舗管理画面生成部13は、席情報(WebサイトA及びBの各々から取得された席情報)に基づいて、対象店舗において用意されている席の各々のタイムテーブルを生成する。店舗管理画面生成部13は、生成されたタイムテーブルに対して予約情報(WebサイトA及びBの各々から取得された予約情報)によって示される予約を対応づけていくことによって店舗管理画面を生成する。
表示処理部14は、ステップS6において生成された店舗管理画面を店舗端末30に表示するために、当該店舗管理画面(データ)を店舗端末30に送信する(ステップS7)。これにより、店舗端末30には、店舗管理画面が表示される。
ここで、図7は、店舗端末30に表示された店舗管理画面の一例を示す。図7に示すように、店舗管理画面200には、日付表示領域201、席情報表示領域202及び予約情報表示領域203等が設けられている。
日付表示領域201には、例えば現在の日付が表示される。この場合、店舗管理画面200においては、現在の日付(つまり、本日)の予約状況を確認することができる。
席情報表示領域202には、対象店舗(ここでは、店舗X)において用意されている席の一覧が表示される。
予約情報表示領域203には、対象店舗において用意されている席(つまり、席情報表示領域202に表示されている席)の各々に対する予約の有無が、日付表示領域201に表示されている日付の各時間帯に対応づけて表示される。
図7に示す例では、対象店舗において用意されている席のうち「テーブル1」の席は19時から4名で予約がされていることが示されている。また、対象店舗において用意されている席のうち、「テーブル2」の席は19時半から6名で予約がされていることが示されている。また、対象店舗において用意されている席のうち、「テーブル3」の席は現時点で予約がされていないことが示されている。また、対象店舗において用意されている席のうち、「座敷1」の席は20時から10名でリクエスト予約されていることが示されている。リクエスト予約については後述する。
ここで、予約情報表示領域203に表示されている予約(情報)のうち、実線で囲まれていてハッチングが付されている予約は、当該予約を行ったユーザ(を含むグループ)が既に入店済みであることを示す。一方、予約情報表示領域203に表示されている予約のうち、実線で囲まれていてハッチングが付されていない予約は、当該予約を行ったユーザ(を含むグループ)がまだ入店していないことを示す。なお、店舗管理画面200に表示されている予約を行ったユーザが入店したか否かについては、店舗端末30を操作することによって対象店舗の従業員が入力することができるものとする。
また、店舗管理画面200においては、図7に示すように、予約情報表示領域203に表示されている予約の各々についての予約経路(例えば、WebサイトA及びB等)の情報も付加されている。これによれば、例えばWebサイトA及びBで受け付けられた予約の状況(つまり、当該WebサイトA及びBを利用した効果等)を容易に把握することができる。なお、予約経路の情報は、予約情報の取得先(WebサイトA及びB等)により、当該予約情報に付加して格納部11に格納しておくことが可能である。
なお、図7に示す店舗管理画面200では、5月27日(土)の19時から21時までの予約状況が表示されているが、当該店舗管理画面200の予約情報表示領域203を左右にスクロールすることによって、他の時間帯の予約状況も表示することが可能である。また、店舗管理画面200において例えば日付表示領域201を指定した場合には、カレンダーが表示されるものとし、当該カレンダーにおいて指定された日付の予約の情報を表示させることも可能である。
上記した店舗管理画面200を確認することによって、対象店舗の従業員等は、複数のWebサイト(例えば、WebサイトA及びB)の各々で受け付けられた予約を一括で管理及び把握することが可能となる。
ここで、Web予約サービスを利用するユーザは、当該ユーザが所持するユーザ端末(パーソナルコンピュータ、スマートフォン及びタブレットコンピュータ等)を利用して、例えばWebサイトAを介して対象店舗に対する新規予約を行うことができる。
以下、図8のフローチャートを参照して、例えばユーザがWebサイトAを介して対象店舗に対して新規予約を行った場合の予約管理装置10の処理手順について説明する。ここでは、店舗端末30は上記した図3に示す処理が実行されることによって店舗管理画面が表示された状態であるものとする。
上記したようにユーザがWebサイトAを介して対象店舗に対して新規予約を行った場合、当該新規予約の内容を示す情報(以下、新規予約情報と表記)がWebサイトAにおいて保持されるとともに、当該新規予約が受け付けられた旨を通知するためのメール(以下、予約完了メールと表記)がWebサーバ装置20aからユーザに対して送信される。なお、新規予約情報は、上記した図6において説明した予約情報と同様に、例えば予約IDに対応づけて氏名、メールアドレス、利用日時、人数及び席ID等を含む。また、予約完了メールには、対象店舗に対する予約を受け付けたWeb予約サービス(ここでは、WebサイトA)を示す情報等が含まれる。上記したWebサーバ装置20aからユーザへの予約完了メールの送信には、新規予約情報に含まれるメールアドレスが用いられる。
なお、Webサーバ装置20aにおいては、当該Webサーバ装置20aからのメール(例えば、予約完了メール)の送信先として、予約管理装置10のメールアドレスが登録されているものとする。これによれば、Webサーバ装置20aからのメールは、ユーザに加えて、予約管理装置10に対しても送信される。ここでは、Webサーバ装置20aから送信されるメールについてのみ説明したが、Webサーバ装置20bから送信されるメールについても同様である。
上記したようにWebサーバ装置20aから予約完了メールが送信された場合、予約管理装置10は、当該予約完了メールを受信する(ステップS11)。
メール解析部15は、ステップS11において受信された予約完了メールを解析する。これによれば、メール解析部15は、予約完了メールに含まれるWeb予約サービスを示す情報からユーザが予約を行ったWebサイト(ここでは、WebサイトA)を特定する(ステップS12)。
次に、ログイン処理部12は、ステップS12において特定されたWebサイトAのログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトAにログインする(ステップS13)。なお、ステップS13における処理(ログイン処理)は、クローラーまたはAPI等で実行されても構わない。以下、WebサイトA及びBにログインする処理については同様である。
ここで、上記したようにWebサイトAには、新規予約の内容を示す新規予約情報が保持されている。このため、ログイン処理部12は、ステップS13においてログインしたWebサイトAにおいて保持されている新規予約情報を取得する(ステップS14)。
ステップS14において取得された新規予約情報は、格納部11に格納される(ステップS15)。なお、ステップS14において取得された新規予約情報が格納部11に格納されている予約情報の形式(つまり、店舗管理画面に表示できる形式)と異なるような場合には、当該新規予約情報は適宜加工、編集等されても構わない。なお、以下に説明する格納部11に格納される各種情報についても同様である。
ステップS15の処理が実行された場合、以下に説明するステップS16及びS17の処理と、ステップS18及びS19の処理とが並列に実行される。
この場合、店舗管理画面生成部13は、格納部11に格納された新規予約情報(及び席情報、他の予約情報)に基づいて店舗管理画面を生成する(ステップS16)。
ステップS16の処理が実行されると、表示処理部14は、当該ステップS16において生成された店舗管理画面を店舗端末30に表示するために、当該店舗管理画面(データ)を店舗端末30に送信する(ステップS17)。これにより、店舗端末30に表示されている店舗管理画面は、新規予約情報が反映された店舗管理画面に更新される。
一方、ログイン処理部12は、ステップS12において特定されたWebサイトAとは別のWebサイト(ここでは、WebサイトB)のログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトBにログインする(ステップS18)。
ログイン処理部12は、ステップS14において取得された新規予約情報に基づいて、ステップS18においてログインしたWebサイトBにおいて保持されている空席情報(在庫情報)を更新する(ステップS19)。
ここで、WebサイトBにおいて保持されている空席情報は、上記したように当該WebサイトBで予約の有無が管理される対象店舗の席のうち、まだ予約されていない空席を示す情報をいう。なお、空席情報によって示される席(空席)には、既に予約された席及び予約をすることができない席は含まれない。
ステップS19の処理においては、例えば新規予約情報に含まれる席IDによって識別される席(以下、WebサイトAの新規予約席と表記)がWebサイトBにおいて保持されている席情報によって示される席(つまり、WebサイトBに割り当てられている席)であるか否かを判定する。換言すれば、WebサイトAの新規予約席がWebサイトBでも予約の有無が管理されているか否かが判定される。
なお、WebサイトA及びWebサイトBにおいて同一の席が管理されている(割り当てられている)場合、当該WebサイトA及びWebサイトBにおいて管理されている同一の席は、紐付けられるように予め設定しておくことが可能であるものとする。
WebサイトAの新規予約席がWebサイトBで管理されていない場合には、新規予約情報(によって示される新規予約)に応じてWebサイトBにおいて保持されている空席情報を更新する必要はない。この場合、ステップS19の処理は省略される。
一方、新規予約席がWebサイトBで管理されている場合には、ログイン処理部12は、新規予約情報の内容と同一の内容の予約がWebサイトBでも受け付けられたものとして、当該新規予約席については予約ができないように空席情報を更新する。
このステップS19の処理によれば、WebサイトAで新規予約が受け付けられた席(新規予約席)に対してWebサイトBを介して重複した予約が行われないように、WebサイトB(別のWebサイト)の空席情報を自動的に更新することが可能となる。
ここでは、例えばWebサイトAで新規予約が受け付けられた場合には、WebサイトBでも新規予約席について予約ができないように空席情報を更新するものとして説明したが、例えば飲食店等の店舗の予約の場合、1つの席(テーブル及び座敷等)であっても時間帯が異なる場合には異なる予約を受け入れることが可能である。このため、空席情報は、時間の概念を考慮して管理されるものとする。
具体的には、ユーザは、新規予約を示す新規予約情報に含まれる利用日時から予め定められた時間(以下、利用期間と表記)、店舗を利用するものとする。なお、利用期間(滞在期間)については予め定められた期間であってもよいし、店舗端末30を介して対象店舗の従業員等によって設定されてもよいし、当該新規予約においてコース(料理)が指定されている場合には当該コースに応じた期間としてもよい。
この場合、WebサイトA及びBにおいて予約を受け付けることが可能な時間帯から、新規予約情報に含まれる利用日時から始まる利用期間(以下、新規予約による利用期間と表記)を除外した際に、当該利用期間の長さで店舗を利用すると想定される予約を受け入れることが可能な時間(空き時間)が存在する場合には、新規予約席であっても当該空き時間において予約をすることができるものとして空席情報を更新する。一方、新規予約による利用期間を除外した場合に他の予約を受け入れる空き時間が存在しない場合には、新規予約席については予約をすることができないものとして空席情報を更新する。
ここでは、新規予約が受け付けられた場合について説明したが、WebサイトA及びBの空席情報の管理は、後述する他の場合であっても同様の概念で行われるものとする。
なお、例えばWebサイトA(Webサーバ装置20a)の仕様によっては、上記した予約完了メールに新規予約に関する様々な情報(例えば、予約ID、ユーザの氏名、利用日時、人数及び席ID等)が記述されている場合がある。すなわち、メール解析部15による予約完了メールの解析結果からステップS14において取得される新規予約情報に相当する情報を取得することができる場合がある。この場合には、ステップS13の処理を省略し、WebサイトAにログインすることなく、新規予約情報(に相当する情報)が取得される構成であっても構わない。
図8においてはユーザがWebサイトAを介して対象店舗に対して新規予約を行った場合について説明したが、当該ユーザは、例えばWebサイトAで受け付けられた対象店舗への予約の内容を変更するまたは当該予約をキャンセルすることも可能である。
以下、図9のフローチャートを参照して、例えばユーザがWebサイトAで受け付けられた対象店舗への予約の内容を変更した場合の予約管理装置10の処理手順について説明する。
上記したようにユーザがWebサイトAで受け付けられた対象店舗への予約の内容を変更した場合、当該予約の変更内容を示す情報(以下、変更予約情報と表記)がWebサイトAにおいて保持されるとともに、当該予約の変更が受け付けられた旨を通知するためのメール(以下、変更完了メールと表記)がWebサーバ装置20aからユーザに対して送信される。なお、変更予約情報は、上記した図6において説明した予約情報(つまり、ユーザによって行われた予約の内容を示す情報)の内容の一部を変更したものであり、例えば予約IDに対応づけて氏名、メールアドレス、利用日時、人数及び席ID等を含む。また、変更完了メールには、対象店舗に対する予約の変更を受け付けたWeb予約サービス(ここでは、WebサイトA)を示す情報等が含まれる。上記したWebサーバ装置20aからユーザへの変更完了メールの送信には、変更予約情報に含まれるメールアドレスが用いられる。
なお、上記した予約完了メールと同様に、Webサーバ装置20aからの変更完了メールは予約管理装置10に対しても送信される。このため、予約管理装置10は、このWebサーバ装置20aから変更完了メールを受信する(ステップS21)。
メール解析部15は、ステップS21において受信された変更完了メールを解析する。これによれば、メール解析部15は、変更完了メールに含まれるWeb予約サービスを示す情報からユーザが予約の変更を行ったWebサイト(ここでは、WebサイトA)を特定する(ステップS22)。
次に、ログイン処理部12は、ステップS22において特定されたWebサイトAのログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトAにログインする(ステップS23)。
ここで、上記したようにWebサイトAには、予約の変更内容を示す変更予約情報が保持されている。このため、ログイン処理部12は、ステップS23においてログインしたWebサイトAにおいて保持されている変更予約情報を取得する(ステップS24)。なお、変更予約情報は、上記したように既に行われていた予約の内容を示す予約情報(以下、変更前の予約情報と表記)の一部、例えば利用日時、人数及び席ID等を変更した情報である。
格納部11に格納されている変更前の予約情報(つまり、内容が変更される前の予約情報)は、ステップS24において取得された変更予約情報に変更される(ステップS25)。
ここで、WebサイトAにおいては複数の予約情報が保持されているが、上記したように変更予約情報は変更前の予約情報の一部の内容を変更した情報である。このため、例えば変更前の予約情報及び変更予約情報に含まれる予約IDは一致する。よって、変更前の予約情報は、変更予約情報に含まれる予約IDに基づいて特定することができる。
ステップS25の処理が実行された場合、以下に説明するステップS26及びS27の処理と、ステップS28及びS29の処理とが並列に実行される。
この場合、店舗管理画面生成部13は、格納部11に格納された変更予約情報(及び席情報、他の予約情報)に基づいて店舗管理画面を生成する(ステップS26)。
ステップS26の処理が実行されると、表示処理部14は、当該ステップS26において生成された店舗管理画面を店舗端末30に表示するために、当該店舗管理画面(データ)を店舗端末30に送信する(ステップS27)。これにより、店舗端末30に表示されている店舗管理画面は、変更予約情報が反映された店舗管理画面に更新される。
一方、ログイン処理部12は、ステップS22において特定されたWebサイトAとは別のWebサイト(ここでは、WebサイトB)のログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトBにログインする(ステップS28)。
ログイン処理部12は、ステップS24において取得された変更予約情報に基づいて、ステップS28においてログインしたWebサイトBにおいて保持されている空席情報(在庫情報)を更新する(ステップS29)。
以下、例えばユーザがWebサイトAで予約していた席を変更した場合のステップS29の処理について説明する。
ステップS29の処理においては、例えば変更予約情報に含まれる席IDによって識別される席(以下、WebサイトAの変更予約席と表記)がWebサイトBにおいて保持されている席情報によって示される席(つまり、WebサイトBに割り当てられている席)であるか否かを判定する。換言すれば、WebサイトAの変更予約席がWebサイトBでも予約の有無が管理されているか否かが判定される。
WebサイトAの変更予約席がWebサイトBで管理されていない場合には、変更予約情報によってWebサイトBにおいて保持されている空席情報を更新する必要はない。この場合、ステップS29の処理は省略される。
一方、変更予約席がWebサイトBでも管理されている場合には、ログイン処理部12は、変更予約情報の内容と同一の内容の予約がWebサイトBでも受け付けられたものとして、当該変更予約席については予約ができないように空席情報を更新する。
また、上記した変更前の予約情報に相当する予約情報に含まれる席IDによって識別される席(変更前の予約席と表記)がWebサイトBにおいて管理されている場合には、ログイン処理部12は、WebサイトBにおいて管理されている変更前の予約席について予約ができるように空席情報を更新する。
このようなステップS29の処理においては、上記したようにユーザがWebサイトAで予約していた席を変更した場合に、変更された後の席(変更予約席)についてはWebサイトBで予約することができないように空席情報を更新するとともに、変更前の予約席についてはWebサイトBで予約することができるように空席情報を更新することが可能となる。なお、予約の変更において席の変更がないような場合には、空席情報の更新は行われなくてもよい。
すなわち、上記したステップS29の処理によれば、WebサイトAで受け付けられた予約の内容が変更された場合であっても、WebサイトBの空席情報を自動的に更新することが可能となる。
なお、上記した予約完了メールと同様に、メール解析部15による変更完了メールの解析結果からステップS24において取得される変更予約情報に相当する情報を取得することができる場合には、ステップS23の処理を省略し、WebサイトAにログインすることなく、変更予約情報(に相当する情報)が取得される構成であってもよい。
次に、図10のフローチャートを参照して、例えばユーザがWebサイトAを介して対象店舗で受け付けられた予約をキャンセルした場合の予約管理装置10の処理手順について説明する。
上記したようにユーザがWebサイトAで受け付けられた対象店舗への予約をキャンセルした場合、当該予約のキャンセルを示す情報(以下、予約キャンセル情報と表記)がWebサイトAにおいて保持されるとともに、予約がキャンセルされた旨を通知するためのメール(以下、キャンセル完了メールと表記)がWebサーバ装置20aからユーザに対して送信される。なお、予約キャンセル情報は、例えばキャンセルされた予約の内容を示し、例えば予約IDに対応づけて氏名、メールアドレス、利用日時、人数及び席ID等を含む。また、キャンセル完了メールには、対象店舗に対する予約のキャンセルを受け付けたWeb予約サービス(ここでは、WebサイトA)を示す情報等が含まれる。上記したWebサーバ装置20aからユーザへのキャンセル完了メールの送信には、予約キャンセル情報に含まれるメールアドレスが用いられる。
なお、上記したようにWebサーバ装置20aからのキャンセル完了メールは予約管理装置10に対しても送信される。このため、予約管理装置10は、このWebサーバ装置20aからキャンセル完了メールを受信する(ステップS31)。
メール解析部15は、ステップS31において受信されたキャンセル完了メールを解析する。これによれば、メール解析部15は、キャンセル完了メールに含まれるWeb予約サービスを示す情報からユーザが予約のキャンセルを行ったWebサイト(ここでは、WebサイトA)を特定する(ステップS32)。
次に、ログイン処理部12は、ステップS32において特定されたWebサイトAのログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトAにログインする(ステップS33)。
ここで、上記したようにWebサイトAには、キャンセルされた予約の内容を示す予約キャンセル情報が保持されている。このため、ログイン処理部12は、ステップS33においてログインしたWebサイトAにおいて保持されている予約キャンセル情報を取得する(ステップS34)。なお、予約キャンセル情報は、予約情報と同様に、例えば予約ID、氏名、メールアドレス、利用日時及び席ID等が含まれている。
ログイン処理部12は、ステップS34において取得された予約キャンセル情報に対応する予約情報を格納部11からキャンセル(削除)する(ステップS35)。なお、予約キャンセル情報に含まれる予約IDはキャンセル前の予約情報に含まれる予約IDと一致しているものとする。このため、予約キャンセル情報に対応する予約情報は、当該予約キャンセル情報に含まれる予約IDに基づいて特定することが可能である。
ステップS35の処理が実行された場合、以下に説明するステップS36及びS37の処理と、ステップS38及びS39の処理とが並列に実行される。
この場合、店舗管理画面生成部13は、格納部11においてキャンセルされた予約情報(及び席情報、他の予約情報)に基づいて店舗管理画面を生成する(ステップS36)。
ステップS36の処理が実行されると、表示処理部14は、当該ステップS36において生成された店舗管理画面を店舗端末30に表示するために、当該店舗管理画面(データ)を店舗端末30に送信する(ステップS37)。これにより、店舗端末30に表示されている店舗管理画面は、予約情報のキャンセルが反映された店舗管理画面に更新される。
一方、ログイン処理部12は、ステップS32において特定されたWebサイトAとは別のWebサイト(ここでは、WebサイトB)のログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトBにログインする(ステップS38)。
ログイン処理部12は、ステップS34において取得された予約キャンセル情報に基づいて、ステップS38においてログインしたWebサイトBにおいて保持されている空席情報(在庫情報)を更新する(ステップS39)。
ステップS39の処理においては、例えば予約キャンセル情報に含まれる席IDによって識別される席(以下、WebサイトAのキャンセル席と表記)がWebサイトBにおいて保持されている席情報によって示される席(つまり、WebサイトBに割り当てられている席)であるか否かを判定する。換言すれば、WebサイトAのキャンセル席がWebサイトBでも予約の有無が管理されているか否かが判定される。
WebサイトAのキャンセル席がWebサイトBで管理されていない場合には、予約キャンセル情報によってWebサイトBにおいて保持されている空席情報を更新する必要はない。この場合、ステップS39の処理は省略される。
一方、キャンセル席がWebサイトBで管理されている場合には、例えば図8に示す処理によってWebサイトBにおいてもキャンセル席は予約することができないような空席情報となっている。このため、ログイン処理部12は、キャンセル席について予約ができるように空席情報を更新する。
このステップS39の処理によれば、WebサイトAで予約がキャンセルされた席に対してはWebサイトBでも予約が可能となるように、WebサイトBの空席情報を自動的に更新することが可能となる。
なお、上記した予約完了メールと同様に、メール解析部15による変更完了メールの解析結果からステップS34において取得される予約キャンセル情報に相当する情報を取得することができる場合には、ステップS33の処理を省略し、WebサイトBにログインすることなく、予約キャンセル情報(に相当する情報)が取得される構成であってもよい。
上記したように例えばWebサイトAで新規予約、予約の変更及び予約のキャンセルが受け付けられた場合には、WebサイトBにおいても自動的に空席情報を更新することができるとともに、店舗管理画面にも当該新規予約、予約の変更及び予約のキャンセルを反映させることができる。
ここでは、WebサイトAで新規予約、予約の変更及び予約のキャンセルが受け付けられた場合について主に説明したが、別のWebサイト(例えば、WebサイトB)で新規予約、予約の変更及び予約のキャンセルが受け付けられた場合についても同様である。
なお、本実施形態においては上記したように個々の席を区別して予約が行われるものとして説明するが、当該席を区別することなく、対象店舗において用意されている予約可能な席数で管理する(つまり、単に席数を増減する)ような構成とすることも可能である。
ここで、新規予約については、ユーザが店舗に電話を掛けることによって行われる(つまり、店舗端末30側で行われる)場合がある。このような電話による新規予約についても店舗管理画面で管理することともに、WebサイトA及びBの空席情報に反映させることが好ましい。
以下、図11のフローチャートを参照して、店舗端末30側で新規予約の登録が行われる場合の予約管理装置10の処理手順について説明する。
この場合、表示処理部14は、店舗端末30に予約登録画面を表示する(ステップS41)。
ここで、図12は、予約登録画面の一例を示す。図12に示す予約登録画面300においては、来店日(利用日)、受付方法、状態、ご来店時間(利用開始時間)、人数、席及び氏名(お名前)及び電話番号を入力することが可能である。
なお、受付方法は、例えば「TEL」及び「来店」を含む。「TEL」は、予約登録画面300において登録する新規予約が電話による予約であることを示す。ここでは、電話による新規予約を登録する場合について説明するが、例えばユーザが対象店舗に直接来店して予約を行った場合には「来店」が選択されるものとする。
状態は、予約登録画面300において登録される新規予約の状態を示す。状態は、例えば「予約」、「入店済み」及び「キャンセル」等が含まれる。「予約」は、予約がされた(予約が成立した)状態にあることを示す。「入店済み」は、予約をしていたユーザ(を含むグループ)が入店したことを示す。なお、予約登録画面300において新規予約が登録された後に当該新規予約の内容を編集する場合には、当該予約登録画面300と同様の画面(予約編集画面)を表示することができる。予約をしていたユーザが入店した場合には、対象店舗の従業員等は、この予約編集画面で「入店」の項目を指定することによって当該ユーザが入店したことを店舗端末30に入力することができる。本実施形態においては、図7において説明したように、ユーザが入店したか否かによって店舗管理画面上の予約情報の表示態様を変更することができる。
また、予約登録画面300には、各種情報を入力することが可能な入力欄301〜306が設けられている。
入力欄301には、利用開始時間を入力することができる。入力欄301の右側に設けられている入力欄302には、上記した滞在期間が入力される。なお、この入力欄302に滞在期間が入力されない場合には、当該滞在期間は例えば予め定められた期間またはコースに応じた期間等に自動的に設定される。
入力欄303〜306には、それぞれ人数、席、氏名及び電話番号を入力することが可能である。
なお、予約登録画面300においては、上記した以外に例えば料理のコース及び予約者の情報等が入力できるようにしてもよい。
上記したように予約登録画面300に各種情報が入力された場合、当該入力された情報(例えば、氏名、電話番号、利用日時、人数及び席等)が店舗端末30から予約管理装置10に送信される。
再び図11に戻ると、予約管理装置10は、店舗端末30からの情報を受信する。この場合、予約管理装置10においては、受信された情報に基づいて新規予約情報が生成される(ステップS42)。なお、この新規予約情報は上記した図8において説明した新規予約情報と同等の情報であるが、上記したように予約登録画面300においてメールアドレスではなく電話番号が登録されている場合には、ステップS42において生成される新規予約情報には、メールアドレスに代えて電話番が含まれるデータ構造であっても構わない。
ステップS42において生成された新規予約情報は、格納部11に格納される(ステップS43)。これにより、電話等による新規予約が予約管理装置10に登録される。
ステップS43の処理が実行された場合、ステップS44及びS45の処理と、ステップS46及びS47の処理とが並列に実行される。
なお、ステップS44及びS45の処理は、図8に示すステップS16及びS17の処理に相当する。これにより、店舗端末30に表示されている店舗管理画面は、店舗端末30側で行われた新規予約が反映された店舗管理画面に更新される。
一方、ログイン処理部12は、例えばWebサイトAのログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトAにログインする(ステップS46)。
ログイン処理部12は、ステップS42において生成された新規予約情報に基づいて、ステップS46においてログインしたWebサイトAにおいて保持されている空席情報を更新する(ステップS47)。なお、上記した図8に示すステップS19においてはWebサイトBにおいて保持されている空席情報の更新について説明しているが、このステップS47の処理は、WebサイトBをWebサイトAとしている以外は当該ステップS19の処理と同様であるため、その詳しい説明を省略する。
また、ここではWebサイトAにログインして当該WebサイトAの空席情報を更新するものとして説明したが、上記したステップS46及びS47の処理は、WebサイトAとは別のWebサイト(つまり、WebサイトB)についても実行される。
すなわち、上記したように例えば予約登録画面300を介して電話等による新規予約が登録された場合、当該新規予約(情報)に応じた空席情報の更新は、対象店舗への予約を受け付けることが可能な全てのWebサイト(つまり、ログイン情報が格納されている全てのWebサイト)に対して実行される。
なお、対象店舗の従業員等は、例えば上記した予約編集画面等を介して、店舗端末30側で登録された予約の変更及びキャンセル等を行うことも可能である。
まず、図13のフローチャートを参照して、店舗端末30側で予約の変更が行われる場合の予約管理装置10の処理手順について説明する。
この場合、表示処理部14は、店舗端末30に予約編集画面を表示する(ステップS51)。この予約編集画面においては、既に受け付けられた予約に対して、上記した図12に示す各項目(例えば、ご来店時間、人数及び席等)を変更する(つまり、予約の変更を行う)ことができる。
このように予約編集画面において予約の変更が行われた場合、当該変更された情報が店舗端末30から予約管理装置10に送信される。
予約管理装置10は、店舗端末30からの情報を受信する。この場合、予約管理装置10においては、受信された情報に基づいて変更予約情報が生成される(ステップS52)。なお、この変更予約情報は、上記した図9において説明した変更予約情報と同等の情報である。
ステップS52の処理が実行されると、格納部11に格納されている予約情報がステップS52において生成された変更予約情報に変更される(ステップS53)。なお、変更予約情報に変更される予約情報は、当該変更予約情報と同一の予約IDを含む予約情報である。
ステップS53の処理が実行された場合、ステップS54及びS55の処理と、ステップS56及びS57の処理とが並列に実行される。
なお、ステップS54及びS55の処理は、図9に示すステップS26及びS27の処理に相当する。これにより、店舗端末30に表示されている店舗管理画面は、店舗端末30側で行われた予約の変更が反映された店舗管理画面に更新される。
一方、ログイン処理部12は、例えばWebサイトAのログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトAにログインする(ステップS56)。
ログイン処理部12は、ステップS52において生成された変更予約情報に基づいて、ステップS56においてログインしたWebサイトAにおいて保持されている空席情報を更新する(ステップS57)。なお、上記した図9に示すステップS29においてはWebサイトBにおいて保持されている空席情報の更新について説明しているが、このステップS57の処理は、WebサイトBをWebサイトAとしている以外は当該ステップS29の処理と同様であるため、その詳しい説明を省略する。
また、ここではWebサイトAにログインして当該WebサイトAの空席情報を更新するものとして説明したが、上記したステップS56及びS57の処理は、WebサイトAとは別のWebサイト(つまり、WebサイトB)についても実行される。
次に、図14のフローチャートを参照して、店舗端末30側で予約のキャンセルが行われる場合の処理手順について説明する。
この場合、表示処理部14は、店舗端末30に予約編集画面を表示する(ステップS61)。この予約編集画面においては、既に受け付けられた予約に対して上記した図12に示す状態の「キャンセル」の項目を指定することによって、当該予約をキャンセルすることができるものとする。
このように予約編集画面において予約のキャンセルが行われた場合、当該キャンセルされた予約の情報が店舗端末30から予約管理装置10に送信される。
予約管理装置10は、店舗端末30からの情報を受信する。この場合、予約管理装置10においては、受信された情報に基づいて予約キャンセル情報が生成される(ステップS62)。なお、この予約キャンセル情報は、上記した図10において説明した予約キャンセル情報と同等の情報である。
ステップS62の処理が実行されると、予約キャンセル情報に対応する予約情報が格納部11からキャンセル(削除)される(ステップS63)。なお、格納部11からキャンセルされる予約情報は、予約キャンセル情報にと同一の予約IDを含む予約情報である。
ステップS63の処理が実行された場合、ステップS64及びS65の処理と、ステップS66及びS67の処理が並列に実行される。
なお、ステップS64及びS65の処理は、図10に示すステップS36及びS37の処理に相当する。これにより、店舗端末30に表示されている店舗管理画面は、店舗端末30側で行われた予約のキャンセルが反映された店舗管理画面に更新される。
一方、ログイン処理部12は、例えばWebサイトAのログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトAにログインする(ステップS66)。
ログイン処理部12は、ステップS62において生成された予約キャンセル情報に基づいて、ステップS66においてログインしたWebサイトAにおいて保持されている空席情報を更新する(ステップS67)。なお、上記した図10示すステップS39においてはWebサイトBにおいて保持されている空席情報の更新について説明しているが、このステップS67の処理は、WebサイトBをWebサイトAとしている以外は当該ステップS39の処理と同様であるため、その詳しい説明を省略する。
また、ここではWebサイトAにログインして当該WebサイトAの空席情報を更新するものとして説明したが、上記したステップS66及びS67の処理は、WebサイトAとは別のWebサイト(つまり、WebサイトB)についても実行される。
なお、ここでは店舗端末30側で新規予約、予約の変更及び予約のキャンセルを行うことができるものとして説明したが、本実施形態に係る予約管理装置10においてWebサイトで受け付けられた予約(Web予約)の管理のみを行う場合には、上記した図11、図13及び図14の処理は実行されない構成であっても構わない。
ここで、WebサイトA及びBにおいては、前述した通常の予約に加えて、リクエスト予約と称される形態の予約を行うことが可能であるものとする。
通常の予約はユーザによる予約の申し込みの完了と同時に予約が成立するのに対して、リクエスト予約は、ユーザによる予約の申し込みの完了後、当該予約を受けるか否かの店舗からユーザへの連絡によって予約の成否が確定する点が通常の予約とは異なる。
以下、図15のフローチャートを参照して、ユーザがWebサイトAを介して対象店舗に対してリクエスト予約を行った場合の予約管理装置10の処理手順について説明する。
上記したようにユーザがWebサイトAを介して対象店舗に対してリクエスト予約を行った場合、当該リクエスト予約の内容を示す情報(以下、リクエスト予約情報と表記)がWebサイトAにおいて保持されるとともに、当該リクエスト予約が受け付けられた旨を通知するためのメール(以下、リクエスト予約メールと表記)がWebサーバ装置20aからユーザに対して送信される。なお、リクエスト予約情報は、例えばWebサイトAで受け付けられたリクエスト予約に対して割り当てられたリクエスト予約IDを含む。リクエスト予約情報のデータ構造は、予約IDに代えてリクエスト予約IDが含まれている点以外は、例えば図6において説明した予約情報と同様であるため、その詳しい説明を省略する。
なお、リクエスト予約は、例えばユーザの要望等を対象店舗に伝え、当該要望を実現できるか否かを対象店舗側で判断して、当該予約を受けるか否かを判断するような場合に用いられるため、当該リクエスト予約には当該要望等のテキストが含まれていてもよい。
また、上記したリクエスト予約メールには、対象店舗に対する予約を受け付けたWeb予約サービス(ここでは、WebサイトA)を示す情報等が含まれる。上記したWebサーバ装置20aからユーザへのリクエスト予約メールの送信には、リクエスト予約情報に含まれるメールアドレスが用いられる。
なお、上記したようにWebサーバ装置20aからのリクエスト予約メールは、他のメールと同様に、予約管理装置10に対しても送信される。このため、予約管理装置10は、このWebサーバ装置20aからリクエスト予約メールを受信する(ステップS71)。
メール解析部15は、ステップS71において受信されたリクエスト予約メールを解析する。これによれば、メール解析部15は、リクエスト予約メールに含まれるWeb予約サービスを示す情報からユーザがリクエスト予約を行ったWebサイト(ここでは、WebサイトA)を特定する(ステップS72)。
次に、ログイン処理部12は、ステップS72において特定されたWebサイトAのログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトAにログインする(ステップS73)。
ここで、上記したようにWebサイトAには、リクエスト予約の内容を示すリクエスト予約情報が保持されている。このため、ログイン処理部12は、ステップS73においてログインしたWebサイトAにおいて保持されているリクエスト予約情報を取得する(ステップS74)。
ステップS74において取得されたリクエスト予約情報は、格納部11に格納される(ステップS75)。
ステップS75の処理が実行された場合、ステップS76及びS77の処理と、ステップS78及びS79の処理とが並列に実行される。
この場合、店舗管理画面生成部13は、格納部11に格納されたリクエスト予約情報(及び席情報、他の予約情報)に基づいて店舗管理画面を生成する(ステップS76)。
ステップS76の処理が実行されると、表示処理部14は、当該ステップS76において生成された店舗管理画面を店舗端末30に表示するために、当該店舗管理画面(データ)を店舗端末30に送信する(ステップS77)。これにより、店舗端末30に表示されている店舗管理画面は、リクエスト予約情報が反映された店舗管理画面に更新される。なお、図7において説明したように、リクエスト予約(を示すリクエスト予約情報)は、通常の予約(を示す予約情報)とは異なる態様で表示される。このため、対象店舗の従業員等は、リクエスト予約の有無を容易に把握することが可能となる。
一方、ログイン処理部12は、ステップS72において特定されたWebサイトAとは別のWebサイト(ここでは、WebサイトB)のログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトBにログインする(ステップS78)。
ログイン処理部12は、ステップS74において取得されたリクエスト予約情報に基づいて、ステップS78においてログインしたWebサイトBにおいて保持されている空席情報(在庫情報)を更新する(ステップS79)。なお、上記した図8に示すステップS19においては新規予約情報に基づいて空席情報が更新される場合について説明しているが、このステップS79の処理は、新規予約情報をリクエスト予約情報としている点以外は当該ステップS19の処理と同様であるため、その詳しい説明を省略する。
上記したように対象店舗に対するリクエスト予約が受け付けられた場合、当該対象店舗の従業員等は、店舗端末30において当該リクエスト予約の内容を確認し、当該リクエスト予約を受けるか否か(つまり、承諾するか拒否するか)を回答する必要がある。以下、リクエスト予約が承諾される場合及び拒否される場合の予約管理装置10の動作について説明する。
図16のフローチャートは、リクエスト予約が承諾される場合の予約管理装置10の処理手順について説明する。
まず、上記した図15に示すステップS77の処理が実行された場合、店舗端末30には、例えば図7に示すようなリクエスト予約情報によって示されるリクエスト予約が表示された店舗管理画面が表示される。この店舗管理画面上でリクエスト予約を指定する操作が行われた場合、表示処理部14は、店舗端末30にリクエスト予約確認画面を表示する(ステップS81)。
ここで、図17は、リクエスト予約確認画面の一例を示す。図17に示すように、リクエスト予約確認画面400には、リクエスト予約情報によって示されるリクエスト予約の内容が表示されるとともに、「承諾する」ボタン401及び「拒否する」ボタン402が設けられている。
「承諾する」ボタン401は、リクエスト予約確認画面400に表示されているリクエスト予約を承諾する際に指定されるボタンである。
「拒否する」ボタン402は、リクエスト予約確認画面400に表示されているリクエスト予約を拒否する際に指定されるボタンである。
ここで、対象店舗の従業員等がリクエスト予約を承諾すると判断し、リクエスト予約確認画面400上で「承諾する」ボタン401が指定された場合を想定する。この場合、店舗端末30は、リクエスト予約を承諾する旨の指示(以下、リクエスト予約の承諾指示と表記)を予約管理装置10に送信する。なお、リクエスト予約の承諾指示には、例えば当該リクエスト予約に対して割り当てられているリクエスト予約IDが含まれている。
これにより、予約管理装置10は、店舗端末30からリクエスト予約の承諾指示を受信する(ステップS82)。
次に、ログイン処理部12は、例えば図15に示すステップS72において特定されているWebサイトA(つまり、リクエスト予約を受け付けたWebサイト)のログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトAにログインする(ステップS83)。
ログイン処理部12は、WebサイトAに保持されている、ステップS82において受信されたリクエスト予約の承諾指示に含まれるリクエスト予約IDを含むリクエスト予約情報のステータスを「成立(承諾)」に変更する(ステップS84)。
ステップS84の処理が実行されると、格納部11に格納されているリクエスト予約情報(リクエスト予約の承諾指示に含まれるリクエスト予約IDを含むリクエスト予約情報)は、例えば当該リクエスト予約情報に含まれるリクエスト予約IDを予約IDとする新規予約情報に変更される(ステップS85)。これによれば、リクエスト予約情報によって示されるリクエスト予約の内容で予約が成立し、このリクエスト予約情報は新規予約情報と同様に扱われる。
ステップS85の処理が実行された場合、図8に示すステップS16及びS17の処理に相当するステップS86及びS87の処理が実行される。これにより、店舗端末30に表示されている店舗管理画面は、リクエスト予約が新規予約として成立したことが反映された店舗管理画面に更新される。
次に、図18のフローチャートを参照して、リクエスト予約が拒否される場合の予約管理装置10の処理手順について説明する。
まず、図16に示すステップS81の処理に相当するステップS91の処理が実行される。
ここで、対象店舗の従業員等がリクエスト予約を拒否すると判断し、リクエスト予約確認画面400上で「拒否する」ボタン402が指定された場合を想定する。この場合、店舗端末30は、リクエスト予約を拒否する旨の指示(以下、リクエスト予約の拒否指示と表記)を予約管理装置10に送信する。なお、リクエスト予約の拒否指示には、例えば当該リクエスト予約に対して割り当てられているリクエスト予約IDが含まれている。
これにより、予約管理装置10は、店舗端末30からリクエスト予約の拒否指示を受信する(ステップS92)。
次に、ログイン処理部12は、例えば図15に示すステップS72において特定されているWebサイトA(つまり、リクエスト予約を受け付けたWebサイト)のログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトAにログインする(ステップS93)。
ログイン処理部12は、WebサイトAに保持されている、ステップS92において受信されたリクエスト予約の拒否指示に含まれるリクエスト予約IDを含むリクエスト予約情報のステータスを「キャンセル(拒否)」に変更する(ステップS94)。
ステップS94の処理が実行されると、格納部11に格納されているリクエスト予約情報(リクエスト予約の拒否指示に含まれるリクエスト予約IDを含むリクエスト予約情報)は、当該格納部11から削除される(ステップS95)。
ステップS95の処理が実行された場合、ステップS96及びS97の処理と、ステップS98及びS99の処理とが並列に実行される。
なお、ステップS96及びS97の処理は、図10に示すステップS36及びS37の処理に相当する。これにより、店舗端末30に表示されている店舗管理画面は、リクエスト予約がキャンセル(拒否)されたことが反映された店舗管理画面に更新される。
一方、ログイン処理部12は、図15に示すステップS72において特定されているWebサイトAとは別のWebサイト(ここでは、WebサイトB)のログイン情報を格納部11から取得し、当該ログイン情報を使用してWebサイトBにログインする(ステップS98)。
ログイン処理部12は、ステップS74において取得されたリクエスト予約情報(つまり、ステップS95において削除されたリクエスト予約情報)に基づいて、ステップS98においてログインしたWebサイトBにおいて保持されている空席情報(在庫情報)を更新する(ステップS99)。なお、このステップS99の処理は、新規予約がキャンセルされている代わりにリクエスト予約がキャンセルされている点以外は図10に示すステップS39の処理と同様であるため、その詳しい説明を省略する。
本実施形態においては、上記したようにWebサイトでリクエスト予約が受け付けられた場合であっても、対象店舗への予約を適切に管理することが可能である。
ところで、Webサイトにおいては、当該Webサイトにおいて予約を受け付けることが可能な時間帯(以下、サイト受付時間と表記)が設定されている。しかしながら、このサイト受付時間は、日毎に設定(個別設定)することができないのが一般的である。
また、予約管理装置10側においても、上述した店舗端末30に表示される店舗管理画面を介してWeb予約の受付時間(以下、Web受付時間)が設定される。
更に、店舗端末30に表示される店舗管理画面を介してWeb受付時間の一部の時間帯についてはWeb予約を受け付けないこと(以下、ブロックと表記)を設定することも可能であるものとする。
したがって、上記したように予約等が行われる以外であっても、サイト受付時間、Web受付時間及びブロックの設定状況によっては各Webサイトの空席情報を調整する必要がある。
以下、図19のフローチャートを参照して、空席情報を調整する際の予約管理装置10の処理手順について説明する。
ここで、上記したWeb受付時間は、例えば予約管理装置10とWebサーバ装置(他例えばWebサーバ装置20a及び20b)との連携が設定される際に設定される。この場合、ログイン処理部12は、Web受付時間が設定されたWebサイトを特定する(ステップS101)。以下の説明においては、ステップS101において特定されたWebサイトを対象Webサイトと称する。
次に、ログイン処理部12は、対象Webサイトにおいて設定されているサイト受付時間(以下、対象Webサイトのサイト受付時間と表記)を取得する(ステップS102)。対象Webサイトのサイト受付時間は、例えば格納部11に格納されている対象Webサイトのログイン情報を使用して当該対象Webサイトにログインすることによって、当該対象Webサイトから取得される。なお、ログイン処理部12によって取得された対象Webサイト受付時間は、例えば予約管理装置10内で管理されてもよい。
ログイン処理部12は、予約管理装置10において設定されたWeb受付時間とステップS102において取得された対象Webサイトのサイト受付時間とが一致しているか否かを判定する(ステップS103)。換言すれば、ステップS103においては、例えばWeb受付時間内に対象Webサイトのサイト受付時間と対応しない時間帯が存在しないか否かが判定される。
Web受付時間と対象Webサイトのサイト受付時間とが一致しないと判定された場合(ステップS103のNO)、ログイン処理部12は、上記したように対象Webサイトにログインし、当該対象Webサイトの空席情報を調整する(ステップS104)。なお、ステップS104における空席情報の調整の具体例については後述する。
一方、Web受付時間と対象Webサイトのサイト受付時間とが一致すると判定された場合(ステップS103のYES)、ログイン処理部12は、当該対象Webサイトのサイト受付時間(及びWeb受付時間)とブロックが設定されている時間(Web予約を受け付けない時間)とが重複するか否かを判定する(ステップS105)。
対象Webサイトのサイト受付時間とブロックが設定されている時間とが重複すると判定された場合(ステップS105のYES)、ステップS104の処理が実行される。
一方、対象Webサイトのサイト受付時間とブロックが設定されている時間とが重複しないと判定された場合(ステップS105のNO)、対象Webサイトのサイト受付時間、Web受付時間及びブロックとの関係では空席情報の調整は必要ないため、ステップS104の処理は実行されない。
上記した図19に示す処理によれば、予約管理装置10とWebサーバ装置との連携が設定される場合において、例えばWeb受付時間の設定(編集)が行われ、当該設定時間とWebサイトのサイト受付時間とで一致しない時間帯が生じたとき、または当該Web受付時間とブロックが設定されている時間とが重複する時間帯が生じたときに空席情報の調整が必要であると判定される。なお、ここではWeb受付時間の設定が行われた場合に図19の処理が実行されるものとして説明したが、例えば店舗端末30においてブロックの設定が行われた場合に図19に示す処理が実行されても構わない。
ここで、図20を参照して、上記した図19に示す処理において空席情報を調整する必要があるケース及び空席情報を調整する必要がないケースについて具体的に説明する。
図20に示す各ケースは、サイト受付時間、Web受付時間、ブロックが設定されている時間(ブロック設定時間)及び予約の状況が時間帯毎に示されている。なお、図20の「予約」は、当該予約における利用開始時間及び予め設定されている利用期間を考慮した時間帯(つまり、店舗を利用すると想定される時間帯)を示している。
例えば図20に示すケース1においては、サイト受付時間は19時から21時までの時間帯であり、Web受付時間も同様に19時から21時までの時間帯である。この場合、サイト受付時間及びWeb受付時間は一致しており、19時から21時までの時間帯においては予約の受付が可能であるため、空席情報の調整は不要である。
一方、ケース2においては、サイト受付時間は19時から21時までの時間帯であり、Web受付時間は19時から20時半までの時間帯である。この場合、20時30分から21時までの時間帯においては、サイト受付時間とWeb受付時間が重複しておらず、予約を受け付けることができない。このため、20時30分から21時までの時間帯については予約を受け付けないようにWebサイトの空席情報が調整される。
次に、ケース3においては、サイト受付時間及びWeb受付時間はケース1と同様であり、ブロック設定時間は18時から19時までの時間帯である。この場合、サイト受付時間及びWeb受付時間は一致しており、かつ、ブロック設定時間は当該サイト受付時間及びWeb受付時間と重複していないため、空席情報の調整は不要である。
一方、ケース4においては、サイト受付時間及びWeb受付時間はケース1と同様であり、ブロック設定時間は20時半から21時半までの時間帯である。この場合、サイト受付時間及びWeb受付時間は一致しているが、20時30分から21時までの時間帯においては、ブロック設定時間とサイト受付時間及びWeb受付時間とが重複しており、予約を受け付けることができない。このため、20時30分から21時までの時間帯については予約を受け付けないようにWebサイトの空席情報が調整される。
なお、ケース5については、予約によって店舗が利用されると想定される時間帯についてはサイト受付時間及びWeb受付時間が一致する時間帯であっても他の予約を受け付けることができないことが示されている。
上記した図19に示す処理によれば、例えば図20に示すケース2及びケース4のような場合に自動的に空席情報を調整することができる。
上記したように本実施形態においては、Webサーバ装置20a及び20b(第1及び第2のサーバ装置)の各々によって管理されているWebサイトA及びB(第1及び第2のWebサイト)の各々で受け付けられた予約を示す予約情報(第1の予約情報)を収集し、当該収集された予約情報を含む店舗管理画面を生成し、当該生成された店舗管理画面が店舗端末30に表示される。なお、予約情報は、WebサイトA及びBの各々にログインすることによって収集される。
本実施形態においては、このような構成により、複数のWebサイトで受け付けられた予約の管理を容易にすることが可能となる。
また、本実施形態においては、WebサイトAにおいて対象店舗への予約が受け付けられた場合にWebサーバ装置20aから送信されるメールを受信し、当該受信されたメールに基づいてWebサイトAにおいて受け付けられた予約を示す予約情報(第2の予約情報)を取得し、当該取得された予約情報を反映した店舗管理画面を生成する。このような構成によれば、例えばWebサイトAで新規予約が受け付けられた場合に、当該新規予約が反映された店舗管理画面を店舗端末30に表示することが可能となる。
更に、本実施形態においては、上記したようにWebサイトAで新規予約が受け付けられた場合に、WebサイトBにログインし、当該WebサイトBの空席情報を更新する。これにより、WebサイトAで受け付けられた新規予約と重複する予約がWebサイトBで受け付けられることを回避することが可能となる。
また、本実施形態においては、WebサイトAにおいて対象店舗への予約の内容が変更された場合にWebサーバ装置20aから送信されるメールを受信し、当該受信されたメールに基づいてWebサイトAにおいて変更された予約の内容を示す予約変更情報を取得し、当該取得された予約変更情報を反映した店舗管理画面を生成する。このような構成によれば、例えばWebサイトAにおいて予約が変更された場合に、当該予約の変更が反映された店舗管理画面を店舗端末30に表示することが可能となる。
更に、本実施形態においては、上記したようにWebサイトAにおいて予約が変更された場合に、WebサイトBにログインし、当該WebサイトBの空席情報を更新する。これにより、WebサイトAにおいて変更された予約の内容に応じてWebサイトBの空席情報を自動的に更新することが可能となる。
また、本実施形態においては、WebサイトAにおいて対象店舗への予約がキャンセルされた場合にWebサーバ装置20aから送信されるメールを受信し、当該受信されたメールに基づいてWebサイトAにおいてキャンセルされた予約を示す予約キャンセル情報を取得し、当該取得された予約キャンセル情報を反映した店舗管理画面を生成する。このような構成によれば、例えばWebサイトAにおいて予約がキャンセルされた場合に、当該予約のキャンセルが反映された店舗管理画面を店舗端末30に表示することが可能となる。
更に、本実施形態においては、上記したようにWebサイトAにおいて予約がキャンセルされた場合に、WebサイトBにログインし、当該WebサイトBの空席情報を更新する。これにより、WebサイトAにおける予約のキャンセルに応じてWebサイトBの空席情報を自動的に更新することが可能となる。
また、本実施形態においては、店舗端末30を利用する利用者(例えば、店舗の従業員等)の当該店舗端末30に対する操作に応じて、対象店舗への予約を示す予約情報(第2の予約情報)を取得し、当該予約情報に基づいてWebサイトA及びBの空席情報(第1及び第2の空席情報)をそれぞれ更新する。このような構成によれば、例えば対象店舗において電話等により新規予約を受け付けた場合であっても、当該新規予約と重複する予約がWebサイトA及びBで受け付けられることを回避することが可能となる。
なお、本実施形態においては、説明の便宜上、Webサーバ装置(Webサイト)が2つである場合について説明したが、当該Webサーバ装置(Webサイト)は3以上であっても構わない。
また、本実施形態においては、説明の便宜上、1つの店舗端末30についてのみ説明したが、予約管理装置10が複数の店舗端末と通信可能に接続される場合には、上記した店舗端末30と同様の処理が各店舗端末に対して実行されればよい。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。