以下、添付図面を参照して、本発明の様々な実施形態を説明する。なお、添付図面において共通する構成要素には同一の参照符号が付されている。
1.予約支援システムの概要
一実施形態に係る予約支援システムは、各ユーザが、その端末装置にインストールされたメッセージング(メッセンジャー/インスタントメッセンジャー)アプリケーションを実行することにより、自己が所望する少なくとも1つの条件を少なくとも部分的に満たす少なくとも1つの候補店舗に関する情報を取得し、必要に応じて候補店舗の端末装置との間において(メール及び/又は電話を利用して)文字/音声メッセージの送受信を行い、候補店舗から選択した対象店舗を予約する、という処理を支援するサービス(以下便宜上「予約支援サービス」という。)を提供するものである。なお、メッセージングアプリケーションとは、一方のユーザ(顧客及び/又は店舗)の端末装置及び他方のユーザ(顧客及び/又は店舗)の端末装置の両方にインストールされ実行されることにより、当該一方のユーザの端末装置と当該他方のユーザの端末装置との間において、テキストメッセージ及び/又は音声メッセージをリアルタイム方式で送受信することを可能にするアプリケーションであって、例えば、「LINE」、「カカオトーク」、「Cubie」、「WeChat」、「Comm」及び「ChatOn」等を、これらに限定することなく含むものである。
2.予約支援システムの構成
図1は、一実施形態に係る予約支援サービスを実現するために用いられる予約支援システムの構成の一例を示すブロック図である。図1に示すように、予約支援システム1は、各ユーザの端末装置10と、各ユーザの端末装置10により実行されるメッセージングアプリケーションにより呼び出される第1のアプリケーションプログラミングインターフェイス(API)20と、第1のAPI20を介して各ユーザの端末装置10に接続され、各ユーザによる店舗等の予約を支援する予約支援サーバ装置30と、予約支援サーバ装置30に接続され、各ユーザの予約を管理等する店舗サーバ装置40と、店舗サーバ装置40に接続される各店舗の端末装置50と、を主に含み得る。
なお、予約支援システム1においては、複数のユーザが、各々の端末装置10を利用して、その端末装置10が実行するメッセージングアプリケーションにより呼び出される第1のAPI20を介して、予約支援サーバ装置30に接続することができるが、図1には、説明の簡略化のために、複数のユーザのうちの或る1人のユーザに用いられる1つの端末装置10のみしか示されていない。同様に、予約支援システム1においては、複数の店舗の担当者が、各々の端末装置50を利用して、店舗サーバ装置40に接続することができるが、図1には、説明の簡略化のために、複数の店舗の担当者のうちの或る1人の担当者により用いられる1つの端末装置50のみしか示されていない。
また、予約支援システム1は、各ユーザの予約等に関連する履歴(ログ)を記録するログデータベース60を含むことができる。ログデータベース60は、ログデータベース60にアクセスする予約支援サーバ装置30及び/又は店舗サーバ装置40に対して、各ユーザの予約等に関連するログに関する情報を提供することができる。
さらに、予約支援システム1は、店舗サーバ装置40が実行するアプリケーションにより呼び出され、各ユーザによる店舗等に対する予約を実行及び管理等する第2のアプリケーションプログラミングインターフェイス(API)を含むことができる。
上記構成を有する予約支援システム1において、ユーザの端末装置10は、所定のメッセージングアプリケーションを実行することが可能な、スマートフォン、タブレット、パーソナルコンピュータ及び携帯電話(フィーチャーフォン)等を、これらに限定することなく含むものである。
第1のAPI20は、上記のとおり、ユーザの端末装置10が実行するメッセージングアプリケーションにより呼び出されるAPIである。この第1のAPI20は、ユーザの端末装置10が実行するメッセージングアプリケーションにより呼び出されることにより、予約支援サービスに関する様々な機能をユーザの端末装置10により実行されるメッセージングアプリケーションに対して提供するものである。このような第1のAPI20により呼び出される様々な機能は、ユーザの端末装置10が実行するメッセージングアプリケーションに対して「メッセージング機能」を提供する所定の1又は複数のメッセージングサーバ装置(図示せず)により提供されるものであってもよいし、当該所定のメッセージングサーバ装置とは別体として設けられた別の1又は複数のサーバ装置(図示せず)により提供されるものであってもよい。
予約支援サーバ装置30は、各ユーザの端末装置10が実行するメッセージングアプリケーションにより呼び出される第1のAPIを介して、各ユーザの端末装置10に接続され、各ユーザに対して予約支援サービスを提供する(特に各ユーザによる店舗等の予約に必要な様々な情報を各ユーザの端末装置10との間において送受信する)ものである。
店舗サーバ装置40は、予約支援サーバ装置30と協働して、各ユーザに対して予約支援サービスを提供する(特に各ユーザによる店舗等の予約を管理する)ものである。
これら予約支援サーバ装置30及び店舗サーバ装置40について、図1には、予約支援サーバ装置30及び店舗サーバ装置40が、それぞれ、別体として物理的に別々の場所に配置される態様が例示されているが、予約支援サーバ装置30及び店舗サーバ装置40は、物理的に同一の場所に配置された1つのサーバ装置として統合されたものであってもよい。
第2のAPI70は、上記のとおり、店舗サーバ装置40が実行する所定のアプリケーションにより呼び出されるAPIである。この第2のAPI70は、店舗サーバ装置40が実行する所定のアプリケーションにより呼び出されることにより、予約支援サービスに関する様々な機能(特に各ユーザによる店舗等に対する予約を実行及び管理等する機能)を店舗サーバ装置40により実行される所定のアプリケーションに対して提供するものである。このような第2のAPI70により呼び出される様々な機能は、所定の1又は複数のサーバ装置(図示せず)により提供されるものであってもよい。
各店舗の担当者の端末装置50は、各ユーザの端末装置10と同様に、所定のメッセージングアプリケーションを実行することが可能な、スマートフォン、タブレット、パーソナルコンピュータ及び携帯電話(フィーチャーフォン)等を、これらに限定することなく含むものである。各担当者の端末装置50が実行するメッセージングアプリケーションに対して「メッセージング機能」を提供する所定の1又は複数のメッセージングサーバ装置(図示せず)は、ユーザの端末装置10が実行するメッセージングアプリケーションに対して「メッセージング機能」を提供する上述した所定の1又は複数のメッセージングサーバ装置(図示せず)と同一のものであってもよい。これにより、各端末装置10と各端末装置50とは、同一のメッセージングアプリケーションを実行することにより、文字/音声によるメッセージの送受信を行うことができる。
2−1.予約支援サーバ装置30の構成
図2は、図1に示した予約支援システム1において用いられる予約支援サーバ装置30の内部構成の一例を示すブロック図である。
予約支援サーバ装置30は、図2に示すように、CPU31と、メインメモリ32と、ユーザインタフェイス(I/F)33と、通信インタフェイス(I/F)34と、外部メモリ35と、ディスクドライブ36と、を含み、これらの各構成要素がバス37を介して互いに電気的に接続されている。CPU31は、外部メモリ35からオペレーティングシステムや予約支援サービスの進行を制御する様々なプログラムをメインメモリ32にロードし、ロードしたプログラムに含まれる命令を実行する。メインメモリ32は、CPU31が実行するプログラムを格納するために用いられ、例えば、DRAMによって構成される。
ユーザI/F33は、例えば、オペレータの入力を受け付けるキーボードやマウス等の情報入力装置と、CPU31の演算結果を出力するディスプレイ等の情報出力装置と、を含む。通信I/F34は、ハードウェア、ファームウェア、TCP/IPドライバやPPPドライバ等の通信用ソフトウェア、又は、これらの組み合わせとして実装され、通信網Nを介して端末装置10と通信可能に構成される。
外部メモリ35は、例えば磁気ディスクドライブで構成され、予約支援サービスの進行を制御するための制御用プログラム等の様々なプログラムが記憶される。また、外部メモリ35には、予約支援サービスにおいて用いられる各種データも記憶され得る。
ディスクドライブ36は、CD−ROM、DVD−ROM、DVD−R等の各種の記憶メディアに格納されたデータを読み込み、又は、これらの記憶メディアにデータを書き込む。
一実施形態において、予約支援サーバ装置30は、端末装置10によりインストールされ実行された所定のメッセージングアプリケーションを介して、予約支援サービスの提供に際して必要とされる様々な情報を端末装置10との間で送受信することができるものである。
さらに、予約支援サーバ装置30は、階層構造を有する複数のウェブページから成るウェブサイトを管理するウェブサーバとして機能するようになっていてもよい。端末装置10にインストールされたメッセージングアプリケーションは、ウェブページを表示するためのHTMLデータを予約支援サーバ装置30及び/又は店舗サーバ装置40から取得し、取得したHTMLデータを解析して、当該ウェブページを端末装置10のユーザに提示することができる。このウェブページを表示するためのHTMLデータも外部メモリ35に記憶され得る。HTMLデータは、HTML等のマークアップ言語で記述されたHTML文書から成り、このHTML文書には、タグを利用して様々な画像を関連付けることができる。また、HTML文書には、Action ScriptやJavaScript(登録商標)等のスクリプト言語等で記述されたプログラムを埋め込むことができる。
このように、予約支援サーバ装置30は、メッセージングアプリケーションを実行する端末装置10からこのメッセージングアプリケーションにより呼び出される第1のAPI20を介して受信する要求に応じて様々な情報を送受信することにより、予約支援サービスを進行させることができる。或いはまた、予約支援サーバ装置30は、予約支援サービスを提供するウェブサイトを管理し、当該ウェブサイトを構成するウェブページを第1の
API20を介して端末装置10からの要求に応じて配信することにより、予約支援サービスを進行させることができるものであってもよい。予約支援サーバ装置30は、各ユーザを識別する識別情報ごとに予約支援サービスの進行に必要なデータを記憶することができる。
端末装置10は、一実施形態において、予約支援サーバ装置30、店舗サーバ装置40及び/又は別途設けられた他のサーバ装置(図示せず)からダウンロードした所定のメッセージングアプリケーションをインストールして実行することにより、さらには、このメッセージングアプリケーションにより呼び出された第1のAPI20を利用することにより、予約支援サーバ装置30との間において通信網Nを介して予約支援サービスに関連した様々な情報の送受信を実行可能な任意の情報処理装置である。別の実施形態において、端末装置10は、通信網Nを介して、予約支援サーバ装置30、店舗サーバ装置40及び/又は他のサーバ装置(図示せず)から取得した予約支援サービスのためのウェブページを当該メッセージングアプリケーションに組み込まれたウェブブラウザ上で表示することができる任意の情報処理装置である。このような情報処理装置は、例えば、タブレット、携帯電話機、スマートフォン、携帯情報端末、パーソナルコンピュータ、タッチパッド、電子書籍リーダー、及び、テレビ等を、これらに限定することなく含むことができる。
2−2.店舗サーバ装置40の構成
店舗サーバ装置40は、図2を参照して上述した予約支援サーバ装置30と同様の内部構成を有するものとすることができる。
2−3.端末装置10の構成
図3は、図1に示した予約支援システム1において用いられる端末装置10の内部構成の一例を示すブロック図である。
端末装置10は、図2に示すように、CPU11と、メインメモリ12と、ユーザI/F13と、通信I/F14と、外部メモリ15と、を含み、これらの各構成要素がバス16を介して互いに電気的に接続されている。
CPU11は、外部メモリ15からオペレーティングシステム等の様々なプログラムをメインメモリ12にロードし、ロードしたプログラムに含まれる命令を実行する。メインメモリ12は、CPU11が実行するプログラムを格納するために用いられ、例えば、DRAMによって構成される。
ユーザI/F13は、例えば、ユーザの入力を受け付けるタッチパネル、キーボード、ボタンやマウス等の情報入力装置と、CPU11の演算結果を出力する液晶ディスプレイ等の情報出力装置と、を含む。通信I/F14は、ハードウェア、ファームウェア、又は、TCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装され、通信網Nを介して予約支援サーバ装置30と通信可能に構成される。
外部メモリ15は、例えば磁気ディスクドライブやフラッシュメモリ等により構成され、オペレーティングシステム、メッセージングアプリケーション及びブラウザ等の様々なプログラムを記憶する。
このような構成を有する端末装置10は、一実施形態では、メッセージングアプリケーションをインストールして実行することにより、予約支援サーバ装置30及び/又は店舗サーバ装置40との間において様々な情報の送受信を行い、予約支援サービスの提供に必要な画面等を表示することができる。
また、端末装置10は、例えば、HTML形式のファイル(HTMLデータ)を解釈して画面表示するためのブラウザソフトウェアを(例えばメッセージングアプリケーションに組み込まれた態様により)備えており、このブラウザソフトウェアの機能により予約支援サーバ装置30、店舗サーバ装置40及び/又は他のサーバ装置(図示せず)から取得したHTMLデータを解釈して、受信したHTMLデータに対応するウェブページを表示することができる。また、端末装置10は、ブラウザソフトウェアに組み込まれるプラグインソフト(例えば、アドビシステムズ社から提供されているFLASH Player)(FLASHは商標)を備えており、HTMLデータに埋め込まれたSWF形式のファイルを予約支援サーバ装置30、店舗サーバ装置40及び/又は他のサーバ装置(図示せず)から取得し、当該SWF形式のファイルをブラウザソフトウェア及びプラグインソフトを用いて実行することができる。
端末装置10において予約支援サービスの提供を受けると、例えば、メッセージングアプリケーションにより指示されたアニメーションや操作用アイコンが端末装置10の画面に表示される。ユーザは、端末装置10の入力インタフェイス(例えば、タッチスクリーン、ボタン及びマイク)を用いて外部評価サービスを進行させるための指示を文字又は音声により入力することができる。ユーザから入力された指示は、端末装置10により実行される、メッセージングアプリケーション、ブラウザ(メッセージングアプリケーションに組み込まれたブラウザ等)、メッセージングアプリケーションにより呼び出される第1のAPI20、及び/又は、NgCore(商標)等のプラットフォームの機能を通じて、予約支援サーバ装置30、店舗サーバ装置40及び/又は他のサーバ装置(図示せず)に伝達される。
2−4.予約支援サーバ装置30の機能
図4は、図2に示した構成を有する予約支援サーバ装置30により実現される機能の一例を示すブロック図である。図4に示すように、予約支援サーバ装置30は、主に、受信部90と、送信部91と、記憶部92と、制御部98と、を含むことができる。また、オプションとして、予約支援サーバ装置30は、さらに、表示部93と、第1の取得部94と、第2の取得部95と、第3の取得部96と、第4の取得部97と、を含むものであってもよい。
受信部90は、端末装置10が実行するメッセージングアプリケーションにより呼び出される第1のAPI20(及び通信網N)を介して、端末装置10に接続され、端末装置10から、予約支援サービスの提供に必要な様々な情報を受信するものである。受信部90は、図2に示した構成のうち主にCPU31、メインメモリ32及び通信I/F34により実現され得るものである。
例えば、受信部90は、店舗の予約についての少なくとも1つの条件に関する条件情報を端末装置10から第1のAPI20を介して受信する。また、受信部90は、少なくとも1つの候補店舗から選択された対象店舗に関する対象店舗情報を端末装置10から第1のAPI20を介して受信することができる。さらに、受信部90は、複数の条件の各々に対応する条件情報を、相互に異なるタイミングで受信してもよい。さらにまた、受信部90は、少なくとも1つの条件に関する条件情報を含むテキスト情報を、端末装置10から第1のAPI20を介して受信してもよい。
送信部91は、端末装置10が実行するメッセージングアプリケーションにより呼び出される第1のAPI20(及び通信網N)を介して、端末装置10に接続され、端末装置10に対して、予約支援サービスの提供に必要な様々な情報を送信するものである。送信部91は、図2に示した構成のうち主にCPU31、メインメモリ32及び通信I/F34により実現され得るものである。
例えば、送信部91は、少なくとも1つの条件を少なくとも部分的に満たす少なくとも1つの候補店舗に関する候補店舗情報を、第1のAPI20を介して端末装置10に送信する。また、送信部91は、複数の店舗から少なくとも1つの条件を少なくとも部分的に満たす少なくとも1つの店舗を抽出する店舗サーバ装置から受信した該少なくとも1つの店舗に関する情報に基づいて、候補店舗情報を送信してもよい。さらに、送信部91は、少なくとも1つの条件を少なくとも部分的に満たしかつ空席のある少なくとも1つの候補店舗に関する候補店舗情報を送信してもよい。さらにまた、送信部100は、複数の店舗から少なくとも1つの条件を少なくとも部分的に満たしかつ空席のある少なくとも1つの店舗を抽出する店舗サーバ装置から受信した該少なくとも1つの店舗に関する情報に基づいて、候補店舗情報を送信してもよい。
また、送信部91は、リクエストに返信した少なくとも1つの候補店舗に関する候補店舗情報を送信するようにしてもよい。さらに、送信部91は、複数の店舗から、少なくとも1つの条件を少なくとも部分的に満たし、リクエストに返信しかつ空席のある少なくとも1つの店舗を抽出する店舗サーバ装置から受信した該少なくとも1つの店舗に関する情報に基づいて、候補店舗情報を送信してもよい。
また、送信部91は、テキスト情報に対する形態素解析により抽出される条件情報を、端末装置10に確認させるために送信してもよい。
記憶部92は、予約支援サービスに関連する様々な情報、例えば、オペレーティングシステムに関連する情報、メッセージングアプリケーションに関連する情報、各ユーザの端末装置10及び/又は各担当者の端末装置50から受信した情報等を含む様々な情報を、記憶する。記憶部92は、図2に示した構成のうち主にCPU31、メインメモリ32及び外部メモリ35により実現され得るものである。
表示部93は、予約支援サービスに関連する様々な情報を、必要に応じて予約支援サーバ装置30のオペレータ等に提示すべくディスプレイ等に出力するものである。表示部93は、図2に示した構成のうち主にユーザI/F33により実現され得るものである。
第1の取得部94は、テキスト情報に対する形態素解析により抽出される条件情報を取得するものである。第1の取得部94は、テキスト情報に対して形態素解析を実行する第1の解析サーバ装置から条件情報を取得してもよい。
第2の取得部95は、(ユーザにより選択された)画像に割り当てられた少なくとも1つの特性に関する情報からユーザの志向値に関する情報を取得するものである。第2の取得部95は、特性に関する情報から志向値を生成する第2の解析サーバから、ユーザの志向値に関する情報を取得してもよい。
第3の取得部96は、複数のサンプルユーザの中から抽出された、ユーザの志向値に適合する志向値を有する少なくとも1つのサンプルユーザに関する情報を取得するものである。第3の取得部96は、複数のサンプルユーザの中から、指定された志向値に適合する志向値を有する少なくとも1つのサンプルユーザを抽出する第2の解析サーバから、少なくとも1つのサンプルユーザに関する情報を取得してもよい。
第4の取得部97は、少なくとも1つのサンプルユーザの各々に対応付けて記憶された少なくとも1つの店舗に関する情報を取得する。第4の取得部97は、各サンプルユーザに対応付けて少なくとも1つの店舗に関する情報を記憶する第2の解析サーバから、少なくとも1つのサンプルユーザの各々に対応付けて記憶された少なくとも1つの店舗に関する情報を取得してもよい。
これら第1の取得部94〜第4の取得部97は、図2に示した構成のうち主にCPU31、メインメモリ32及び通信I/F34により実現され得るものである。
制御部98は、上記各部の動作を制御するものである。制御部98は、図2に示した構成のうち主にCPU31及びメインメモリ32により実現され得るものである。
3.予約支援システムの動作
上記構成を有する予約支援システムにおいて各ユーザに予約支援サービスを提供するために行われる動作の具体例について説明する。
3−1.全体の動作
まず、全体的な動作の一例について説明する。
図5は、図1に示した予約支援システムにおいて行われる全体的な動作の一例を示すフロー図である。図5には、最上段において、動作を行う主体として、端末装置10、予約支援サーバ装置30、店舗サーバ装置40及び店舗の端末装置50が示されている。さらに、これらの主体の各々の下方には、各主体に対応付けて、各主体が実行する動作が示されている。なお、端末装置10が行う動作は、端末装置10が実行するメッセージングアプリケーションにより呼び出される第1のAPI20を介して端末装置10により行われる(第1のAPI20が行う動作ということもできる)ものである。
まず、ステップ(以下「ST」という。)100において、メッセージングアプリケーションを実行している端末装置10は、店舗の予約を選択する旨を示す情報をユーザから入力して予約支援サーバ装置30に送信する。ST101において、予約支援サーバ装置30は、ユーザに対して希望する店舗等に対するニーズ(条件)を入力する旨を要求する信号を送信する。なお、ST100及びST101をまとめて「ステップA」と称し、このステップAの詳細については、図6を参照して後述する。
次に、ST102において、端末装置10は、ユーザから希望する店舗等に対する少なくとも1つのニーズ(条件)を入力して予約支援サーバ装置30に送信する。ST103において、予約支援サーバ装置30は、端末装置10から受信したニーズ(条件)に関する情報(条件情報)から、ユーザによる店舗等の予約に関する情報(予約情報)を生成して店舗サーバ装置40に送信する。なお、ST102及びST103をまとめて「ステップB」と称し、このステップBの詳細については、図7A及び図7Bを参照して後述する。
次に、ST104において、店舗サーバ装置40は、予約支援サーバ装置30から受信した予約情報に基づいて、ユーザにより指定された少なくとも1つのニーズ(条件)を少なくとも部分的に満たす少なくとも1つの店舗を候補店舗として抽出する。さらに、一実施形態では、店舗サーバ装置40は、ユーザにより指定された少なくとも1つのニーズ(条件)の中に特別なリクエスト(例えば、コース料理に特定の料理を追加する旨のリクエストやコース料理から鶏肉を除去する旨のリクエスト等)が含まれている場合には、各候補店舗の端末装置50に対して、ユーザにより指定されたそのようなリクエストを通知することができる。なお、ST104を「ステップC」と称し、このステップCの詳細については、図8を参照して後述する。
次に、ST105において、各候補店舗の担当者は、その端末装置50を利用して、そのようなリクエストに対して(リクエストを受け入れる又は拒否する等について)店舗サーバ装置40に返信することができる。なお、各候補店舗の担当者は、そのようなリクエストに対して返信をしないことも可能である。
次に、ST106において、店舗サーバ装置40は、一実施形態では、ST104において抽出した少なくとも1つの候補店舗のうち、ST105においてリクエストに返信してきた候補店舗のみを、最終的な候補店舗として予約支援サーバ装置30に通知することができる。別の実施形態では、店舗サーバ装置40は、ST104において抽出した少なくとも1つの候補店舗すべてを、最終的な候補店舗として(例えばリクエストに対する返信の有無を示して)予約支援サーバ装置30に通知することができる。
次に、ST107において、予約支援サーバ装置30は、店舗サーバ装置40から通知されてきた少なくとも1つの候補店舗に関する情報(候補店舗情報)を端末装置10に送信することにより、候補店舗をユーザに表示して選択させる旨を、端末装置10に要求する。これにより、端末装置10は、予約支援サーバ装置30から受信した候補店舗情報に示されている少なくとも1つの候補店舗を、例えばリスト形式により表示してユーザに提示することができる。一実施形態では、端末装置10は、ユーザが指定したリクエストに対する応答の内容(応答の有無、応答の具体的な内容等)を、候補店舗ごとに表示してもよい。
ST108において、ユーザは、端末装置10に表示された少なくとも1つの候補店舗のうちのいずれかの店舗を選択することができる。ST109において、ユーザは、そのように選択した店舗を予約するかどうかを端末装置10を用いて決定することができる。ユーザがそのように選択した店舗を予約の対象となる対象店舗として決定した場合には、端末装置10は、対象店舗に関する情報(対象店舗情報:対象店舗を特定する情報)を予約支援サーバ装置30に送信して、処理はST110に移行する。逆に、ユーザがそのように選択した店舗をまだ対象店舗として決定しない場合には、処理はST115に移行する。
ST110において、予約支援サーバ装置30は、端末装置10から受信した対象店舗情報から対象店舗を特定し、予約の登録を行うとともに、この対象店舗情報を店舗サーバ装置40に転送する。ST111において、予約支援サーバ装置30は、登録した予約を示す情報を、ログデータベース60に記録する。
ST112において、対象店舗情報を受信した店舗サーバ装置40は、受信した対象店舗情報から対象店舗を特定し、予約の登録を行う。さらに、店舗サーバ装置40は、対象店舗の端末装置50に対して予約を行った旨を通知する。ST113において、店舗サーバ装置40は、第2のAPI70を呼び出して、各店舗の空席情報を記憶する所定のデータベース(顧客台帳データベース)に対して、対象店舗の空席情報に予約がなされた旨(対応する空席が埋まった旨)を示す情報を書き込むことができる。
ST114において、店舗サーバ装置40から対象店舗として予約された旨を通知された対象店舗の端末装置50は、その旨を担当者に示すことができる。
他方、ST115において、ユーザは、ST108において選択された候補店舗の端末装置50とチャット(文字及び/又は音声によるメッセージの送受信)を行うかどうかを、端末装置10を用いて決定することができる。ユーザがチャットを行うことを決定した場合には、処理はST116に移行し、逆に、ユーザがチャットを行わないことを決定した場合には、処理はST119に移行する。
ST116において、予約支援サーバ装置30は、ユーザの端末装置10と選択された候補店舗の端末装置50との間におけるチャットを開始する。具体的には、予約支援サーバ装置30は、端末装置10により端末装置50に対して送信された文字/音声メッセージ(メッセージ情報)を店舗サーバ装置40に転送する。次に、ST117において、店舗サーバ装置40は、予約支援サーバ装置30から転送されてきた文字/音声メッセージ(メッセージ情報)を端末装置50に転送する。
ST118において、選択された候補店舗の端末装置50は、メッセージングアプリケーション(端末装置10により実行されるメッセージングアプリケーションと同一のもの)を実行することにより、店舗サーバ装置40から端末装置10により送信された文字/音声メッセージ(メッセージ情報)を受信して表示部に表示又はスピーカから出力する。担当者が、端末装置50を利用して、文字/音声メッセージを返信した場合には、かかる文字/音声メッセージ(メッセージ情報)は、例えば、店舗サーバ装置40及び予約支援サーバ装置30を介して、端末装置10により受信される。端末装置10は、受信した文字/音声メッセージ(メッセージ情報)を、実行しているメッセージングアプリケーションにより提示される画面において表示又はスピーカから出力することができる。これにより、ユーザは、アクティブ状態にあるアプリケーションをメッセージングアプリケーションから他のアプリケーションに切り替えるという煩わしい動作を行うことなく、メッセージングアプリケーションにより提示される画面において、受信したメッセージ(メッセージ情報)を確認することができる。この後、処理は上述したST115に戻る。
他方、ST119において、ユーザは、ST108において選択された候補店舗に関する情報を閲覧するかどうかを、端末装置10を用いて決定することができる。ユーザがかかる情報を閲覧することを決定した場合には、処理はST120に移行し、逆に、ユーザがかかる情報を閲覧しないことを決定した場合には、処理は上述したST108に戻る。
ST120において、端末装置10は、実行しているメッセージングアプリケーションに組み込まれたウェブブラウザを用いて、選択された候補店舗に関するウェブページを店舗サーバ装置40に要求することにより、当該ウェブページを店舗サーバ装置40から受信して表示部に表示することができる。これにより、ユーザは、アクティブ状態にあるアプリケーションをメッセージングアプリケーションからウェブブラウザに切り替えるという煩わしい動作を行うことなく、メッセージングアプリケーションにより提示される画面において、選択された候補店舗に関するウェブページを表示させることができる。
3−2.ステップAの具体例
上述したステップAの具体例について、図6を参照して説明する。図6は、図5に示した動作のうちの一部(ステップA)の動作の具体例を示すフロー図である。図6には、最上段において、動作を行う主体として、端末装置10、第1のAPI20及び予約支援サーバ装置30が示されている。さらに、これらの主体の各々の下方には、各主体に対応付けて、各主体が実行する動作が示されている。
図6を参照すると、まず、ST200において、メッセージングアプリケーションを実行している端末装置10は、店舗の予約を選択する旨を示す情報をユーザから入力する。ST201において、端末装置10により実行されているメッセージングアプリケーションにより呼び出された第1のAPI20は、ユーザに関する情報(ユーザ情報)を端末装置10から取得して予約支援サーバ装置30に送信する。ここで、ユーザ情報は、氏名、年齢、性別、住所等を含む任意の情報であってもよい。
ST202において、ユーザ情報を受信した予約支援サーバ装置30は、ユーザによる店舗等の予約に関する情報(予約情報)を生成し、ニーズ(条件)を入力する旨を要求する通知を第1のAPI20に送信する。ここでは、予約情報は、ユーザ情報のみを含むものとすることができる。
ST203において、第1のAPI20は、ニーズ(条件)を入力する旨を要求する通知を端末装置10に送信する。ST204において、端末装置10は、ニーズ(条件)を入力する旨を要求する通知を確認する。ST205において、ユーザからニーズ(条件)を入力する動作(ステップB)に移行する。
3−3.ステップBの具体例
上述したステップBの具体例について、図7A及び図7Bを参照して説明する。図7A及び図7Bは、図5に示した動作のうちの一部(ステップB)の動作の具体例を示すフロー図である。図7A及び図7Bには、図6と同様に、最上段において、動作を行う主体として、端末装置10、第1のAPI20及び予約支援サーバ装置30(図7Bには、さらに、ログデータベース60及び店舗サーバ装置40)が示されている。さらに、これらの主体の各々の下方には、各主体に対応付けて、各主体が実行する動作が示されている。
図7Aを参照すると、ST210において、端末装置10は、ニーズ(条件)を入力する旨を要求する通知を確認して、第1のAPI20に処理の実行を指示する。ST211において、第1のAPI20は、(ニーズ/条件の1つである)日程の入力を要求するメッセージを呼び出して端末装置10のメッセージングアプリケーションに送信する。ST212において、端末装置10のメッセージングアプリケーションは、受信したメッセージ(日程の入力を要求するメッセージ。例えば「希望の日時をお知らせ下さい」といったようなメッセージ。)を表示部に出力する。ST213において、このメッセージを確認したユーザは、端末装置10を利用して、希望の日時を入力する。一実施形態では、ユーザは、表示部に表示されたカレンダーにおける日時をタップ又はクリックすることにより簡単に希望の日時を入力することができる。端末装置10は、入力された日時に関する情報(日程情報)を、ニーズ/条件に関する情報(条件情報)として予約支援サーバ装置30に送信する。ST214において、予約支援サーバ装置30は、受信した条件情報を用いて、ST202(図6参照)において生成した予約情報を更新する。これにより、予約情報は、ユーザ情報、及び、日時に関する情報を含むことができる。
次に、ST215において、第1のAPI20は、日程情報を確認する旨の通知を端末装置10のメッセージングアプリケーションに送信する。ST216において、端末装置10は、メッセージングアプリケーションにおいて日程情報を表示部に出力してユーザに確認させる。
次に、ST217において、第1のAPI20は、(ニーズ/条件の1つである)人数の入力を要求するメッセージを呼び出して端末装置10のメッセージングアプリケーションに送信する。ST218において、端末装置10のメッセージングアプリケーションは、受信したメッセージ(人数の入力を要求するメッセージ。例えば「希望の人数をお知らせ下さい」といったようなメッセージ。)を表示部に出力する。ST219において、このメッセージを確認したユーザは、端末装置10を利用して、希望の人数を入力する。一実施形態では、ユーザは、表示部に表示された例えば1〜20等の数字をタップ又はクリックすることにより簡単に希望の人数を入力することができる。端末装置10は、入力された人数に関する情報(人数情報)を、ニーズ/条件に関する情報(条件情報)として予約支援サーバ装置30に送信する。ST220において、予約支援サーバ装置30は、受信した条件情報を用いて、ST214において更新した予約情報をさらに更新する。これにより、予約情報は、ユーザ情報、日時に関する情報及び人数に関する情報を含むことができる。
次に、ST221において、第1のAPI20は、人数情報を確認する旨の通知を端末装置10のメッセージングアプリケーションに送信する。ST222において、端末装置10は、メッセージングアプリケーションにおいて人数情報を表示部に出力してユーザに確認させる。
次に、ST223において、第1のAPI20は、(ニーズ/条件の1つである)エリアの入力を要求するメッセージを呼び出して端末装置10のメッセージングアプリケーションに送信する。ST224において、端末装置10のメッセージングアプリケーションは、受信したメッセージ(エリアの入力を要求するメッセージ。例えば「希望のエリアをお知らせ下さい」といったようなメッセージ。)を表示部に出力する。次に、図7Bを参照すると、ST225において、このメッセージを確認したユーザは、端末装置10を利用して、希望のエリアを入力する。一実施形態では、ユーザは、表示部に表示された例えば複数のエリアを表現する文字等をタップ又はクリックすることにより簡単に希望のエリアを入力することができる。端末装置10は、入力されたエリアに関する情報(エリア情報)を、ニーズ/条件に関する情報(条件情報)として予約支援サーバ装置30に送信する。ST226において、予約支援サーバ装置30は、受信した条件情報を用いて、ST220において更新した予約情報をさらに更新する。これにより、予約情報は、ユーザ情報、日時に関する情報、人数に関する情報及びエリアに関する情報を含むことができる。
次に、ST227において、第1のAPI20は、エリア情報を確認する旨の通知を端末装置10のメッセージングアプリケーションに送信する。ST228において、端末装置10は、メッセージングアプリケーションにおいてエリア情報を表示部に出力してユーザに確認させる。
次に、ST229において、第1のAPI20は、(ニーズ/条件の1つである)ジャンルの入力を要求するメッセージを呼び出して端末装置10のメッセージングアプリケーションに送信する。ST230において、端末装置10のメッセージングアプリケーションは、受信したメッセージ(ジャンルの入力を要求するメッセージ。例えば「希望のジャンルをお知らせ下さい」といったようなメッセージ。)を表示部に出力する。ST231において、このメッセージを確認したユーザは、端末装置10を利用して、希望のジャンル(和食、洋食等のジャンル)を入力する。一実施形態では、ユーザは、表示部に表示された例えば複数のジャンルを表現する文字等をタップ又はクリックすることにより簡単に希望の人数を入力することができる。端末装置10は、入力されたジャンルに関する情報(ジャンル情報)を、ニーズ/条件に関する情報(条件情報)として予約支援サーバ装置30に送信する。ST232において、予約支援サーバ装置30は、受信した条件情報を用いて、ST226において更新した予約情報をさらに更新する。これにより、予約情報は、ユーザ情報、日時に関する情報、人数に関する情報、エリアに関する情報及びジャンルに関する情報を含むことができる。
次に、ST233において、第1のAPI20は、ジャンル情報を確認する旨の通知を端末装置10のメッセージングアプリケーションに送信する。ST234において、端末装置10は、メッセージングアプリケーションにおいてジャンル情報を表示部に出力してユーザに確認させる。
次に、ST235において、第1のAPI20は、(ニーズ/条件の1つである)リクエストの入力を要求するメッセージを呼び出して端末装置10のメッセージングアプリケーションに送信する。ST236において、端末装置10のメッセージングアプリケーションは、受信したメッセージ(リクエストの入力を要求するメッセージ。例えば「リクエストをお知らせ下さい」といったようなメッセージ。)を表示部に出力する。ST237において、このメッセージを確認したユーザは、端末装置10を利用して、希望のリクエスト(例えば、コース料理から特定の食材を除くこと、参加者の1人の料理を子供料理にすること等を含む任意のリクエスト)を入力する。端末装置10は、入力されたリクエストに関する情報(リクエスト情報)を、ニーズ/条件に関する情報(条件情報)として予約支援サーバ装置30に送信する。ST238において、予約支援サーバ装置30は、受信した条件情報を用いて、ST232において更新した予約情報をさらに更新する。これにより、予約情報は、ユーザ情報、日時に関する情報、人数に関する情報、エリアに関する情報、ジャンルに関する情報及びリクエストに関する情報を含むことができる。さらに、予約支援サーバ装置30は、このように更新した予約情報を、各ユーザの予約情報を将来のサービスに利用すべく収集するログデータベース60に送信する。これにより、ST239において、ログデータベース60は、予約支援サーバ装置30から受信した予約情報を、記憶するとともに、店舗サーバ装置40に送信する(予約支援サーバ装置30が予約情報を直接店舗サーバ装置40に送信してもよい)。
ST240において、店舗サーバ装置40は、(この後に抽出されることになる)候補店舗に通知すべき情報を生成して、ST241において処理をステップCに移行させる。
なお、図7A及び図7Bを参照して説明した例では、ニーズ/条件に関する情報(条件情報)は、日時、人数、エリア、ジャンル及びリクエストに関するニーズ/条件を含むものとすることができるが、一実施形態では、条件情報は、日時、人数、エリア、ジャンル、リクエスト及び他のニーズ/条件を含む群から選択された少なくとも1つのニーズ/条件を含むものであってもよい。
また、端末装置10の表示部において、ユーザに対して確認させるために表示されるメッセージ、ユーザにより入力及び表示されるメッセージ等を含む様々なメッセージは、あたかもメッセージングアプリケーションとユーザとが対話をしているかのように見えるように、時系列的に順次表示されるようにしてもよい。また、このように時系列的に表示されるメッセージ群は、ユーザが表示部に対してタップ又はクリック操作をすることによって、及び/又は、ユーザがボタン又はキーボード等を操作することによって、古いメッセージから新しいメッセージに向かって及び/又は新しいメッセージから古いメッセージに向かって、スクロールさせることができるものであってもよい。これにより、ユーザは、予約に際して現時点までに入力した内容、過去に行った各予約の内容等を、簡単な操作で迅速に確認することができる。なお、時系列的に順次表示されるメッセージは、例えば、上述したST212、ST213、ST216、ST218、ST219、ST222、ST224、ST225、ST228、ST230、ST231、ST234、ST236及びST237等において、第1のAPI20の指示により表示されるメッセージ及び/又はユーザにより入力されるメッセージを、これらに限定することなく含むものである。
3−4.ステップCの具体例
上述したステップCの具体例について、図8を参照して説明する。図8は、図5に示した動作のうちの一部(ステップC)の動作の具体例を示すフロー図である。図8には、最上段において、動作を行う主体として、店舗サーバ装置40、第2のAPI70及び店舗の端末装置50が示されている。さらに、これらの主体の各々の下方には、各主体に対応付けて、各主体が実行する動作が示されている。
図8を参照すると、まず、ST250において、店舗サーバ装置40は、各ユーザに関する予約情報を収集する。各ユーザについて、以下に述べる動作が行われるものとすることができる。
ST251において、店舗サーバ装置40は、対象となっているユーザの予約情報に基づいて、複数の店舗から、予約情報により特定される少なくとも1つの条件を少なくとも部分的に満たす少なくとも1つの候補店舗を抽出する(ここで、候補店舗の総数をnとする)。なお、店舗サーバ装置40は、候補店舗としては、複数の店舗のうち、予約情報により特定される条件(少なくとも1つの条件)を「完全に」満たす少なくとも1つの店舗を候補店舗として抽出してもよいし、予約情報により特定される条件(少なくとも1つの条件)を「部分的に」満たす少なくとも1つの店舗を候補店舗として抽出してもよい。ここで、「部分的に満たす」とは、予約情報により特定される条件が例えば4つの条件(例えば、日時、人数、エリア、ジャンル)である場合に、3つ以下の条件を満たすことを含むことができる。
ST252において、店舗サーバ装置40は、変数iを設定して、以下に説明するST253〜ST257を、i=1〜i=nまで繰り返す。
ST253において、店舗サーバ装置40は、第2のAPI70を呼び出して、i番目の空席情報を要求する。ST254において、店舗サーバ装置40により呼び出された第2のAPI70は、各店舗の空席情報を記憶する所定のデータベースを検索することにより、店舗サーバ装置40により要求されたi番目の店舗の空席情報を検索して店舗サーバ装置40に返信する。
ST255において、店舗サーバ装置40は、対象となっているユーザの予約情報と、i番目の店舗の空席情報と、を比較して、i番目の店舗において、ユーザにより要求された人数等に関する条件を満たす空席が存在するかを決定する。空席が存在しない場合には、ST256において、店舗サーバ装置40は、i番目の店舗を候補店舗から削除する。空席が存在する場合には、ST257において、店舗サーバ装置40は、i番目の店舗を候補店舗として残す。以上のようなST253〜ST257が、nの候補店舗のすべてについて実行される。
ST258において、店舗サーバ装置40は、ST257において残された各候補店舗の端末装置50に対して、(例えばユーザがニーズ/条件の1つとしてリクエストを指定している場合には)、ユーザにより指定されたリクエストを通知することができる(図5におけるST104に対応)。
このように、本実施形態によれば、ユーザは、店舗の予約に付随する一連の処理(ニーズ/条件の入力、列挙された候補店舗の確認、列挙された候補店舗から対象店舗の選択、店舗とのチャット、対象店舗の予約等を含む処理)を、単一のメッセージングアプリケーションにより要求される操作を行うことにより、実行することができる。すなわち、店舗の予約に付随する一連の処理は、単一のメッセージングアプリケーションの実行により完結させることができるものである。これにより、様々なニーズ/条件を入力すべく、表示されたウェブページにおける対応するフィールドに逐一カーソルを移動させること、同時に起動されている複数のアプリケーション(ブラウザ、電話アプリケーション、メールアプリケーション等)のうち、実際に操作したいアプリケーションを選択すべく、複数のウィンドウを切り替えること等を含む煩わしい操作から、ユーザは少なくとも部分的に解放され得る。したがって、ユーザによる店舗等に対する予約を、ユーザに対する利便性を向上させながら、支援することができる。
4.変形例
以下、様々な変形例に係る実施形態について説明する。
4−1.第1の変形例
店舗等(の特に端末装置50)による操作を必要とすることなく、ユーザが店舗等の予約を確定することができる実施形態について、図9を参照して説明する。図9は、別の実施形態に係る予約支援システムにおいて行われる動作の一例を示すフロー図である。なお、図9においてこれまでに説明した実施形態におけるものと共通する構成要素については、同一の参照符号を付して、その詳細な説明を省略する。図9には、最上段において、動作を行う主体として、端末装置10、店舗サーバ装置40及び第2のAPI70が示されている。さらに、これらの主体の各々の下方には、各主体に対応付けて、各主体が実行する動作が示されている。
図9には、説明の簡略化のために、端末装置10と店舗サーバ装置40との間に配置された予約支援サーバ装置30により実行される動作が(以下の説明においても)省略されているが、実際には、図6等を参照して上述したものと同様に、予約支援サーバ装置30が端末装置10と店舗サーバ装置40との間を接続する動作を行うものとすることができる。
図9を参照すると、まず、ST300において、店舗サーバ装置40は、ユーザの端末装置10に対して、予約情報をリクエストする。ST301において、ユーザは、端末装置10を利用して予約情報(ニーズ/条件)を入力する。ここでの動作は、図7A及び図7Bを参照して上述したものと同様である。
ST302において、店舗サーバ装置40は、ユーザの端末装置10から受信した予約情報に基づいて、nの候補店舗を抽出する。ここでの動作は、ST251(図8)に関連して上述したものと同様である。ST303において、店舗サーバ装置40は、第2のAPI70を呼び出して、nの候補店舗の空席情報をリクエストする。ここでの動作は、ST253に関連して上述したものと同様である。ST304において、店舗サーバ装置40により呼び出された第2のAPI70は、nの候補店舗の空席情報を検索して店舗サーバ装置40に返信する。ここでの動作は、ST254に関連して上述したものと同様である。
nの候補店舗の空席情報を第2のAPI70から受信した店舗サーバ装置40は、ST305において、nの候補店舗に関する情報(候補店舗情報)を、端末装置10に送信する。この候補店舗情報は、各候補店舗についての空席情報(空席があるか否かを示す情報)を含むものであってもよい。
ST306において、ユーザは、端末装置10を利用して、nの候補店舗の中から予約したい店舗(対象店舗)を決定することができる。端末装置10は、決定された候補店舗に関する情報(対象店舗情報)を店舗サーバ装置40に送信する。
ST307において、対象店舗情報を受信した店舗サーバ装置40は、第2のAPI70を呼び出して、対象店舗情報により特定される店舗の空席を確保するようにリクエストする。ST308において、店舗サーバ装置40により呼び出された第2のAPI70は、各店舗の空席情報を記憶する所定のデータベース(顧客台帳データベース)にアクセスして、店舗サーバ装置40により指定された店舗に空席があるか否かを判定する。
ST308において当該空席がないと判定された場合には、ST309において、店舗サーバ装置40は、当該店舗に空席がない旨を端末装置10に通知する。このとき、店舗サーバ装置40は、同一のニーズ/条件に部分的に又は完全に合致する別の店舗(をレコメンドすべく)に関連する情報を端末装置10に送信してもよい。この後、処理は、上述したST306に戻る。
一方、ST308において当該空席が存在すると判定された場合には、ST310において、第2のAPI70は、各店舗の空席情報を記憶する所定のデータベース(顧客台帳データベース)に対して、対象店舗の空席情報に予約がなされた旨(対応する空席が埋まった旨)を示す情報を書き込む。次に、ST311において、店舗サーバ装置40は、ユーザにより決定された対象店舗について指定されたニーズ/条件により予約を完了した旨を示す情報(予約確定情報)を端末装置10に送信する。ST312において、端末装置10は、予約確定情報を表示部に出力してユーザに確認させる。
4−2.第2の変形例
今までに存在しなかったコースに対する予約を行うことを可能にする実施形態について、図10を参照して説明する。図10は、さらに別の実施形態に係る予約支援システムにおいて行われる動作の一例を示すフロー図である。なお、図10においてこれまでに説明した実施形態におけるものと共通する構成要素については、同一の参照符号を付して、その詳細な説明を省略する。図10には、最上段において、動作を行う主体として、端末装置10、店舗サーバ装置40、第2のAPI70及び店舗の端末装置50が示されている。さらに、これらの主体の各々の下方には、各主体に対応付けて、各主体が実行する動作が示されている。
図10には、説明の簡略化のために、端末装置10と店舗サーバ装置40との間に配置された予約支援サーバ装置30により実行される動作が(以下の説明においても)省略されているが、実際には、図6等を参照して上述したものと同様に、予約支援サーバ装置30が端末装置10と店舗サーバ装置40との間を接続する動作を行うものとすることができる。
図10を参照すると、ST400〜ST404において、それぞれ、上述したST300〜ST304(図9参照)におけるものと同様の動作が行われる。ここで、ST401においては、ユーザが、端末装置10を利用して、ニーズ/条件の1つとしてリクエストを指定することにより、端末装置10は、リクエストに関する情報を含む予約情報を店舗サーバ装置40に送信する。
ST405において、店舗サーバ装置40は、nの候補店舗に関する空席情報に基づいて、nの候補店舗のうち、空席が存在する候補店舗(の端末装置50)のみに対して、ユーザの予約情報を送信する。
予約情報を受信した各店舗の担当者は、ST406において、予約情報から特定されるリクエストに対応可能であるか否かを判断する。そのようなリクエストに対応できないと判断した担当者は、端末装置50を利用して、その旨を店舗サーバ装置40に通知する。これにより、ST407において、店舗サーバ装置40は、そのような店舗を候補店舗から削除する。
逆に、ST406において、そのようなリクエストに対応できると判断した担当者は、ST408において、端末装置50を利用して、その旨を対応可能なコースの内容を示した情報(コース情報)とともに、店舗サーバ装置40に通知する。
ST409において、店舗サーバ装置40は、候補店舗として残っている各候補店舗(ST407において候補店舗から削除されていない各候補店舗)について、その候補店舗に関する候補店舗情報をコース情報とともに、端末装置10に送信する。ST409の前又は後に(又はST409と並行して)、ST410において、店舗サーバ装置40は、第2のAPI70を呼び出して、候補店舗として残っている各候補店舗に存在する空席を確保するように指示する。具体的には、例えば、店舗サーバ装置40は、各店舗の空席情報を記憶する所定のデータベース(顧客台帳データベース)に対して、対象店舗の空席情報に仮の予約がなされた旨(対応する空席が一時的に埋まった旨)を示す情報を書き込むようにしてもよい。
ST411において、端末装置10は、ST409において店舗サーバ装置40により送信された候補店舗情報及びコース情報を受信し、これらの情報を表示部に出力する。ST412において、ユーザは、端末装置10を利用して、候補店舗の中から希望する店舗を対象店舗として選択する。端末装置10は、対象店舗に関する対象店舗情報を店舗サーバ装置40に送信する。ST413において、店舗サーバ装置40は、端末装置10から受信した対象店舗情報に基づいて対象店舗を特定し、第2のAPI70を呼び出す。ST414において、店舗サーバ装置40により呼び出された第2のAPI70は、各店舗の空席情報を記憶する所定のデータベース(顧客台帳データベース)に対して、ST410において確保された対象店舗の空席情報に予約がなされた旨(対応する空席が埋まった旨)を示す情報を書き込む一方、ST410において確保された他の対象店舗の空席情報に仮の予約がキャンセルされた旨(対応する空席が空いている旨)を示す情報を書き込む。
次に、ST415及びST416において、それぞれ、上述したST311及びST312(図9参照)におけるものと同様の動作が行われる。
4−3.第3の変形例
ユーザがニーズ/条件をテキストベースで入力することを可能にする実施形態について、図11を参照して説明する。図11は、さらに別の実施形態に係る予約支援システムにおいて行われる動作の一例を示すフロー図である。なお、図11においてこれまでに説明した実施形態におけるものと共通する構成要素については、同一の参照符号を付して、その詳細な説明を省略する。図11には、最上段において、動作を行う主体として、端末装置10、予約支援サーバ装置30、解析サーバ装置80及び店舗サーバ装置40が示されている。さらに、これらの主体の各々の下方には、各主体に対応付けて、各主体が実行する動作が示されている。
図11を参照すると、まず、ST500において、店舗サーバ装置40は、予約支援サーバ装置30を介して、ユーザの端末装置10に対して予約情報をリクエストする。ST501において、予約支援サーバ装置30は、端末装置10に対して、希望する店舗等に対するニーズ(条件)を入力する旨を要求する信号を送信する。
ST502において、ユーザは、端末装置10を利用して、希望する情報(ニーズ/条件に関する情報)を例えば1又はそれ以上の文章(なお、単なる単語の羅列であってもよい)で入力する。このように入力された文章は、1又はそれ以上のニーズ/条件を含むテキスト情報であるといえる。例えば、ユーザが「京都市左京区で2018年12月2日19時に5名でフランス料理を提供するレストランを予約したい。」という文章(又は「京都市左京区、2018年12月2日19時、5名、フランス料理」という単語の羅列)を入力した場合、この文章(又は単語の羅列)は、「京都市左京区」というエリアに関するニーズ/条件、「2018年12月2日19時」という日時に関するニーズ/条件、「5名」という人数に関するニーズ/条件、及び、「フランス料理」というジャンルに関するニーズ/条件を含むテキスト情報であるといえる。端末装置10は、ユーザに入力された文章をテキスト情報として予約支援サーバ装置30に送信する。
ST503において、予約支援サーバ装置30は、端末装置10から受信したテキスト情報を解析サーバ装置80に送信する。解析サーバ装置80は、予約支援サーバ装置30の内部に配置される装置であってもよいし、予約支援サーバ装置30の外部に配置され予約支援サーバ装置30に通信回線を介して接続される装置であってもよい。
ST504において、解析サーバ装置80は、予約支援サーバ装置30から受信したテキスト情報に対して形態素解析を実行することにより、テキスト情報を単語ごとに分割する(テキスト情報を複数の単語に分割する)。ST505において、解析サーバ装置80は、ST504において得られた複数の単語から意味のある単語を(例えば、動詞・助動詞・接続詞等を除いた名詞のみを意味のある単語として)抽出する。上記の例では、解析サーバ装置80は、意味のある単語として、例えば、「京都市左京区」、「2018年12月2日19時」、「5名」、「フランス料理」、「レストラン」という単語を抽出することができる。
ST506において、解析サーバ装置80は、ST505において抽出した複数の単語から予約条件を抽出する。上記の例では、解析サーバ装置80は、「京都市左京区」、「2018年12月2日19時」、「5名」、「フランス料理」という予約条件を抽出することができる。これらの予約条件は、それぞれ、エリアに関する条件/ニーズ、日時に関する条件/ニーズ、人数に関する条件/ニーズ及びジャンルに関する条件/ニーズであるといえる。解析サーバ装置80は、このように抽出した予約条件に関する情報(条件情報)を予約支援サーバ装置30に送信する。
ST507において、予約支援サーバ装置30は、端末装置10に対して、条件情報を送信するとともに、予約条件を確認すること、及び、追加の条件の有無を確認することを要求する。
ST508において、端末装置10は、予約支援サーバ装置30から受信した条件情報を表示部に出力してユーザに確認させる。さらに、ユーザは、追加の条件があるかを端末装置10に入力する。ユーザが追加の条件がある旨を入力した場合には、処理は上述したST502に移行する。逆に、ユーザが追加の条件がない旨を入力した場合には、処理はST509に移行する。
なお、図11には、ST508において、追加の条件の有無をユーザが判断して端末装置10に入力する態様が例示されているが、これに代えて/これとともに、端末装置10が、又は、予約支援サーバ装置30若しくは解析サーバ装置80により指示を受けた端末装置10が、不足している条件の入力を促す態様を用いることも可能である。例えば、上記の例では、端末装置10は、「京都市左京区のどの辺りですか?」等のメッセージを表示して、ユーザに対して、より詳細なエリアに関する情報の入力を促すことも可能である。或いは、端末装置10は、ST502において入力されたテキスト情報に例えば「日時」に関する条件/ニーズが含まれていなかった場合には、「希望の日時を入力して下さい」等のメッセージを表示して、ユーザに対して、日時に関する情報の入力を促すようにしてもよい。
ST509において、店舗サーバ装置40は、(例えば予約支援サーバ装置30を介して)端末装置10から受信した予約情報(条件情報)に基づいて、候補店舗を検索して抽出する。なお、候補店舗を抽出する動作は、図8〜図10を参照して上述したものと同様であり得る。
4−4.第4の変形例
予約時におけるユーザの気分に応じて最適な店舗をレコメンドする実施形態について、図12を参照して説明する。図12は、さらに別の実施形態に係る予約支援システムにおいて行われる動作の一例を示すフロー図である。なお、図12においてこれまでに説明した実施形態におけるものと共通する構成要素については、同一の参照符号を付して、その詳細な説明を省略する。図12には、最上段において、動作を行う主体として、端末装置10、予約支援サーバ装置30、店舗サーバ装置40及び解析サーバ装置85が示されている。さらに、これらの主体の各々の下方には、各主体に対応付けて、各主体が実行する動作が示されている。
まず、前処理として、ST600において、予約支援サーバ装置30は、ユーザに提示するための(料理に関する)複数の画像と、これら複数の画像の各々に対応付けて当該画像が想起させる特性(ジャンル等の特性)を識別する情報(特性情報)と、を予め用意して記憶しておく。
また、同じく前処理として、ST601において、解析サーバ装置85が、各店舗の空席情報を予め取得しておく。なお、解析サーバ装置85は、予約支援サーバ装置30の内部に配置される装置であってもよいし、予約支援サーバ装置30の外部に配置され予約支援サーバ装置30に通信回線を介して接続される装置であってもよい。
また、解析サーバ装置85は、(各店舗の空席情報を記憶する所定のデータベース(顧客台帳データベース)にアクセスして各店舗の空席情報を取得すべく)第2のAPI70を呼び出すように構成された店舗サーバ装置40に対して、各店舗の空席情報を要求して取得することができる。或いはまた、解析サーバ装置85は、直接、第2のAPI70を呼び出して、各店舗の空席情報を記憶する所定のデータベース(顧客台帳データベース)にアクセスすることにより、各店舗の空席情報を取得することも可能である。
次に、ST602において、ユーザは、端末装置10を利用して、店舗等の予約を行うことを選択する。これに応答して、予約支援サーバ装置30は、ST603において、予め記憶しておいた料理に関する複数の画像の中から、無作為に(ランダムに)、1組の画像を抽出して端末装置10に送信する。1組の画像は、複数の画像を含むものであるが、ここでは一例として、2枚の画像である。端末装置10は、予約支援サーバ装置30から受信した1組の画像を表示部に出力する。
ST604において、ユーザは、端末装置10を利用して、表示された1組の画像のうち自分の気分/好みに合う画像を選択する。これに応答して、端末装置10は、ユーザに選択された画像に関する(ユーザに選択された画像を識別する)情報(画像情報)を、予約支援サーバ装置30に送信する。
ST605において、予約支援サーバ装置30は、端末装置10から受信した画像情報に基づいて、ユーザにより選択された画像を識別する。さらに、予約支援サーバ装置30は、このように識別された画像に対応付けられた特性情報(当該画像が想起させる特性を識別する情報)を解析サーバ装置85に送信する。ST606において、解析サーバ装置85は、予約支援サーバ装置30から受信した特性情報に基づいて、このユーザの志向値に関する情報を生成する。
ここで、画像が想起させる特性を識別する情報(特性情報)と、特性情報から生成される志向値に関する情報との関係について、その一例を説明する。図13は、別の実施形態に係る予約支援システムにおける予約支援サーバ装置30により記憶される複数の画像のうちの一部の画像の例を示す図である。
図13(a)は、陽が燦々と注ぐテラス席の画像(画像1)を示す。この画像1には、「解放感」、「テラス席」及び「明るい」といったような特性(ジャンル)を識別する特性情報が割り当てられている。図13(b)は、少し薄暗くムーディーなソファ席の画像(画像2)を示す。この画像2には、「ソファ」、「デート」、「薄暗い」といったような特性(ジャンル)を識別する特性情報が割り当てられている。図13(c)は、刺し身の盛り合わせの画像(画像3)を示す。この画像3には、「魚」、「刺し身」、「生」、「和食」、「海鮮」といったような特性(ジャンル)を識別する特性情報が割り当てられている。図13(d)は、お肉のステーキの画像(画像4)を示す。この画像4には、「肉」、「牛肉」、「ステーキ」、「がっつり」といったような特性(ジャンル)を識別する特性情報が割り当てられている。
例えば、上述したST603において、予約支援サーバ装置30が、画像1及び画像2を1組の画像として抽出し、上述したST604において、ユーザがこのような1組の画像のうち、画像1を選択した場合には、上述したST605において、予約支援サーバ装置30は、画像1に対応付けられた特性情報(「解放感」、「テラス席」及び「明るい」といったような特性を識別する情報)を解析サーバ装置85に送信する。これに応答して、解析サーバ装置85は、このように受信した特性情報に基づいて、このユーザの志向値に関する情報を生成する。具体的には、このユーザの志向値に関する情報は、例えば、複数の特性(上記のように例示した画像に割り当てられた特性を含む様々な特性)の各々に対応付けたパラメータを含むものであり得る。解析サーバ装置85は、画像1に対応付けられた特性情報(「解放感」、「テラス席」及び「明るい」といったような特性を識別する情報)を受信することにより、このユーザの志向値に関する情報においては、これら「解放感」、「テラス席」及び「明るい」という特性に対するパラメータを増加させる。
図12に例示されているとおり、上述したST603〜ST606は、複数回、繰り返されるものとすることができる。この場合、ST603においては、予約支援サーバ装置30は、上述したとおり、予め記憶しておいた料理に関する複数の画像の中から、無作為に(ランダムに)、1組の画像を抽出するものであるから、予約支援サーバ装置30は、ST603を毎回実行するごとに、前回とは異なる1組の画像を抽出する可能性が高いといえる。これにより、ユーザの志向値に関する情報にあっては、複数の特性の各々に対応付けられたパラメータは、上述したST603〜ST606が繰り返される度に、更新されていくことになる。
以上、特性情報と、特性情報から生成される志向値に関する情報との関係について説明した。
図12に戻り、ST607において、解析サーバ装置85は、過去のデータとして、複数のサンプルユーザの各々について、そのサンプルユーザの志向値に関する情報と、そのサンプルユーザの予約情報と、を対応付けて記憶している。まず、解析サーバ装置85は、このような複数のサンプルユーザの各々の志向値に関する情報と、ここで対象とされているユーザの志向値に関する情報とを比較して、対象とされているユーザの志向値に合致又は類似する志向値を有する、少なくとも1つのサンプルユーザを抽出する。例えば、対象とされているユーザの志向値における所定値以上の複数の特性に割り当てられているパラメータと、或るサンプルユーザの志向値におけるこれらの同一の複数の特性に割り当てられているパラメータとが、合致又は類似している場合に、当該或るサンプルユーザが抽出され得る。さらに、解析サーバ装置85は、このように抽出した少なくとも1つのサンプルユーザに関する情報を、店舗サーバ装置40に送信する。
ST608において、店舗サーバ装置40は、過去に複数のユーザの各々に関する予約の履歴を記憶するデータベース(例えばログデータベース60)にアクセスして、各サンプルユーザの各々が利用した店舗(例えば、当該サンプルユーザが高い評価を与えた店舗等)を特定する。店舗サーバ装置40は、このように特定された店舗に関する情報を(対応するサンプルユーザに対応付けて)解析サーバ装置85に送信する。
ST609において、解析サーバ装置85は、店舗サーバ装置40から受信した店舗に関する情報を、高いマッチ度(適合度)を有するサンプルユーザに対応する店舗の順に、並べることができる。ここでいうマッチ度(適合度)とは、対象とされているユーザの志向値に関する情報と、サンプルユーザの志向値に関する情報とのマッチ度(適合度)である。
次に、オプションとして、ST610において、解析サーバ装置85は、各サンプルユーザの志向値に関する情報と、対象とされているユーザの志向値に関する情報との間におけるマッチ度(適合度)に着目し、マッチ度(適合度)についてサンプルユーザ間にばらつきが存在するかを判定することができる。マッチ度についてサンプルユーザ間にばらつきが存在しないと判定された場合には、処理は上述したST603に戻る。逆に、マッチ度についてサンプルユーザ間にばらつきが存在すると判定された場合には、処理は、ST611に移行する。
ST611において、解析サーバ装置85によりST609において得られた店舗に関する情報が、端末装置10に通知され表示される。以後、例えば、上述したST108(図5参照)以降の処理、又は、上述したST306(図9参照)以降の処理が実行されるものとすることができる。
4−5.第5の変形例
ユーザが予約した店舗等を利用した後、ユーザ及び店舗等が相互に評価することを可能にする実施形態について、図14を参照して説明する。図14は、さらに別の実施形態に係る予約支援システムにおいて行われる動作の一例を示すフロー図である。なお、図14においてこれまでに説明した実施形態におけるものと共通する構成要素については、同一の参照符号を付して、その詳細な説明を省略する。図14には、最上段において、動作を行う主体として、端末装置10、予約支援サーバ装置30、店舗サーバ装置40及び店舗の端末装置50が示されている。さらに、これらの主体の各々の下方には、各主体に対応付けて、各主体が実行する動作が示されている。
まず、ユーザが予約支援サービスを利用して店舗等を予約して来店した後に、例えば、来店後の翌日12時に、ST700において、店舗サーバ装置40は処理を開始する。ST701において、店舗サーバ装置40は、来店人数を入力するように、店舗の端末装置50に対して要求する。
これに応答して、店舗の担当者は、ST702において、店舗の端末装置50を利用して、来店人数を入力する。次に、ST703において、店舗の担当者は、店舗の端末装置50を利用して、ユーザの良かった点を入力する。この後、ST708以降の動作と、ST704以降の動作とが、並行して実行される。ここでは、ST704以降の動作について説明し、その後、ST708以降の動作について説明する。
ST704において、店舗の担当者は、ユーザの良くなかった点についても評価するか否かを選択することができる。担当者がユーザの良くなかった点について評価しない場合には、ST705において、店舗サーバ装置40は、ユーザ評価(不良)に関する情報を空白にして保存することができる。
逆に、担当者がユーザの良くなかった点について評価する場合には、ST706において、担当者は、端末装置50を利用して、ユーザの良くなかった点を入力する。次に、ST707において、店舗サーバ装置40は、端末装置50により入力された内容を、ユーザ評価(不良)に関する情報として保存する。
他方、ST708以降の動作に着目すると、ST708において、店舗サーバ装置40は、ST703において端末装置50により入力された内容を、ユーザ評価(良)に関する情報として保存する。次に、ST709において、予約支援サーバ装置30は、ユーザの端末装置10に対して、店舗を評価するように要求する。このとき、予約支援サーバ装置30は、店舗サーバ装置40により保存された、ユーザ評価(良)に関する情報を端末装置10に送信してもよい。
ST710において、ユーザは、店舗の良かった点を入力するか否かを選択することができる。ユーザが店舗の良かった点を評価しない場合には、ST711において処理が終了する。ユーザが店舗の良かった点を評価する場合には、ST712において、ユーザは、端末装置10を利用して、店舗の良かった点を入力する。これに応答して、ST713において、店舗サーバ装置40が、端末装置10により入力された内容を、店舗評価(良)に関する情報として保存する。
次に、ST714において、ユーザは、店舗の改善点を入力するか否かを選択することができる。ユーザが店舗の改善点を入力しない場合には、ST715において、店舗サーバ装置40は、ST713において保存した、店舗評価(良)に関する情報を店舗の端末装置50に通知する。
逆に、ユーザが店舗の改善点を入力する場合には、ST716において、ユーザは、端末装置10を利用して、店舗の良くなかった点を入力する。これに応答して、ST717において、店舗サーバ装置40は、端末装置10に入力された内容を、店舗評価(不良)に関する情報として保存する。次に、ST718において、店舗サーバ装置40は、ST713において保存した、店舗評価(良)に関する情報と、ST717において保存した、店舗評価(不良)に関する情報とを、店舗の端末装置50に通知する。
このように、ユーザは、店舗によりどのように評価されたのかを確認することができ、店舗もまた、ユーザによりどのように評価されたのかを確認することもできる。
なお、店舗の担当者によりユーザに対してなされた評価に関する情報(すなわち、ST708及び/又はST707において店舗サーバ装置40により保存された情報)は、上述したST104(図5参照)、ST258(図8参照)、及び/又は、ST405(図10参照)において店舗の端末装置50に送信される情報とともに、店舗の端末装置50に送信されるようにしてもよい。これにより、店舗の担当者は、ユーザに対して候補店舗として通知されるかどうかを、ひいては、ユーザにより自己の店舗を利用されるかどうかを、実質的に店舗側において決定することができる。例えば、店舗の担当者は、他の店舗により良い評価が与えられているユーザのみから予約を受け付け、他の店舗により悪い評価が与えられているユーザからの予約を見送ることができる。
また、ユーザにより店舗に対してなされた評価に関する情報(すなわち、ST713及び/又はST717において店舗サーバ装置40により保存された情報)は、上述したST107(図5)、ST305(図9)、ST409(図10)及び/又はST611(図12)においてユーザの端末装置10に送信される情報とともに、ユーザの端末装置10に送信されるようにしてもよい。これにより、ユーザは、他のユーザにより良い評価が与えられている店舗に予約をし、他のユーザにより悪い評価が与えられている店舗への予約を見送ることができる。
上述した様々な実施形態は、矛盾の生じない限りにおいて、相互に組み合わせて利用することが可能なものである。
本明細書で説明される処理及び手順は、実施形態において明示的に説明されたものによってのみならず、ソフトウェア、ハードウェア又はこれらの組み合わせによっても実現可能なものである。具体的には、本明細書で説明された処理及び手順は、集積回路、揮発性メモリ、不揮発性メモリ、磁気ディスク、光ストレージ等の媒体に、当該処理に相当するロジックを実装することによって実現される。また、本明細書で説明される処理及び手順は、それらの処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させることが可能である。
本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理又は手順は、複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は、複数のモジュールによって実行されるものとすることができる。また、本明細書中で説明されるデータ、テーブル又はデータベースが単一のメモリに格納される旨説明されたとしても、そのようなデータ、テーブル又はデータベースは、単一の装置に備えられた複数のメモリ又は複数の装置に分散して配置された複数のメモリに分散して格納されるものとすることができる。さらに、本明細書において説明されるソフトウェア及びハードウェアの要素は、それらをより少ない構成要素に統合して、又は、より多い構成要素に分解することによって実現されるものとすることができる。
5.様々な態様
第1の態様に係る予約支援サーバ装置は、インストールされたメッセージングアプリケーションを実行するユーザの端末装置に対して、該メッセージングアプリケーションにより呼び出される第1のアプリケーションプログラミングインターフェイス(API)を介して通信可能に接続され、前記ユーザによる店舗の予約を支援する予約支援サーバ装置であって、店舗の予約についての少なくとも1つの条件に関する条件情報を前記端末装置から前記第1のAPIを介して受信する受信手段と、前記少なくとも1つの条件を少なくとも部分的に満たす少なくとも1つの候補店舗に関する候補店舗情報を、前記第1のAPIを介して前記端末装置に送信する送信手段と、を具備するものである。
第2の態様に係る予約支援サーバ装置は、上記第1の態様において、前記受信手段が、前記少なくとも1つの候補店舗から選択された対象店舗に関する対象店舗情報を前記端末装置から前記第1のAPIを介して受信するものである。
第3の態様に係る予約支援サーバ装置は、上記第2の態様において、前記少なくとも1つの条件が、日時に関する条件、人数に関する条件、エリアに関する条件、ジャンルに関する条件及びリクエストに関する条件を含む群から選択されるものである。
第4の態様に係る予約支援サーバ装置は、上記第2の態様又は上記第3の態様において、前記少なくとも1つの条件が複数の条件を含み、前記受信手段が、該複数の条件の各々に対応する条件情報を、相互に異なるタイミングで受信するものである。
第5の態様に係る予約支援サーバ装置は、上記第2の態様から上記第4の態様のいずれかにおいて、前記送信手段が、複数の店舗から前記少なくとも1つの条件を少なくとも部分的に満たす少なくとも1つの店舗を抽出する店舗サーバ装置から受信した該少なくとも1つの店舗に関する情報に基づいて、前記候補店舗情報を送信し、前記店舗サーバ装置が、当該予約支援サーバ装置の内部又は外部に配置されるものである。
第6の態様に係る予約支援サーバ装置は、上記第2の態様から上記第5の態様のいずれかにおいて、前記送信手段が、前記少なくとも1つの条件を少なくとも部分的に満たしかつ空席のある少なくとも1つの候補店舗に関する前記候補店舗情報を送信するものである。
第7の態様に係る予約支援サーバ装置は、上記第6の態様において、前記送信手段が、複数の店舗から前記少なくとも1つの条件を少なくとも部分的に満たしかつ空席のある少なくとも1つの店舗を抽出する店舗サーバ装置から受信した該少なくとも1つの店舗に関する情報に基づいて、前記候補店舗情報を送信し、前記店舗サーバ装置が、当該予約支援サーバ装置の内部又は外部に配置されるものである。
第8の態様に係る予約支援サーバ装置は、上記第2の態様から上記第7の態様のいずれかにおいて、前記少なくとも1つの条件がリクエストに関する条件を含み、前記送信手段が、前記リクエストに返信した少なくとも1つの候補店舗に関する前記候補店舗情報を送信するものである。
第9の態様に係る予約支援サーバ装置は、上記第8の態様において、前記送信手段が、複数の店舗から、前記少なくとも1つの条件を少なくとも部分的に満たし、前記リクエストに返信しかつ空席のある少なくとも1つの店舗を抽出する店舗サーバ装置から受信した該少なくとも1つの店舗に関する情報に基づいて、前記候補店舗情報を送信し、前記店舗サーバ装置が、当該予約支援サーバ装置の内部又は外部に配置されるものである。
第10の態様に係る予約支援サーバ装置は、上記第7の態様又は上記第9の態様において、或る店舗に空席があるか否かは、前記店舗サーバ装置により呼び出される第2のアプリケーションプログラミングインターフェイス(API)が、各店舗の空席情報を記憶するデータベースを検索することにより、各店舗に問い合わせることなく識別されるものである。
第11の態様に係る予約支援サーバ装置は、上記第2の態様から上記第10の態様のいずれかにおいて、前記受信手段が、前記少なくとも1つの条件に関する条件情報を含むテキスト情報を、前記端末装置から前記第1のAPIを介して受信し、当該予約支援サーバ装置が、前記テキスト情報に対する形態素解析により抽出される前記条件情報を取得する第1の取得手段をさらに具備するものである。
第12の態様に係る予約支援サーバ装置は、上記第11の態様において、前記送信手段が、前記第1の取得手段により取得された前記条件情報を、前記端末装置に確認させるために送信し、前記端末装置により要求された場合に、前記受信手段が、前記少なくとも1つの条件に関する条件情報を含む別のテキスト情報をさらに受信し、前記第1の取得手段が、前記別のテキスト情報に対する形態素解析により抽出される前記条件情報を取得するものである。
第13の態様に係る予約支援サーバ装置は、上記第11の態様又は上記第12の態様において、前記第1の取得手段が、テキスト情報に対して形態素解析を実行する第1の解析サーバ装置から前記条件情報を取得し、前記第1の解析サーバ装置が、当該予約支援サーバ装置の内部又は外部に配置されるものである。
第14の態様に係る予約支援サーバ装置は、上記第2の態様から上記第13の態様のいずれかにおいて、前記受信手段が、前記対象店舗の端末装置に対して前記ユーザの前記端末装置により送信されたメッセージ情報を、前記第1のAPIを介して受信し、前記送信手段が、前記受信手段により受信された前記メッセージ情報を前記対象店舗の前記端末装置に対して送信し、前記受信手段が、前記ユーザの前記端末装置に対して前記対象店舗の前記端末装置により送信されたメッセージ情報を受信し、前記送信手段が、前記受信手段により受信された前記メッセージ情報を、前記第1のAPIを介して、前記ユーザの前記端末装置に対して送信するものである。
第15の態様に係る予約支援サーバ装置は、上記第1の態様から上記第14の態様のいずれかにおいて、前記送信手段が、複数組の画像を、前記第1のAPIを介して前記端末装置に送信し、前記複数組の画像に含まれる各組の画像が、各々が少なくとも1つの特性に関する情報を割り当てられた、比較して表示されるべき複数の画像を含み、前記受信手段が、各組の画像のうち前記端末装置により選択された画像に関する画像情報を、前記端末装置から前記第1のAPIを介して受信し、当該予約支援サーバ装置が、前記画像情報により特定される画像に割り当てられた前記少なくとも1つの特性に関する情報から前記ユーザの志向値に関する情報を取得する第2の取得手段と、複数のサンプルユーザの中から抽出された、前記ユーザの前記志向値に適合する志向値を有する少なくとも1つのサンプルユーザに関する情報を取得する第3の取得手段と、前記少なくとも1つのサンプルユーザの各々に対応付けて記憶された少なくとも1つの店舗に関する情報を取得する第4の取得手段と、を具備し、前記送信手段が、前記第4の取得手段により取得された前記少なくとも1つの店舗に関する情報を、前記候補店舗情報として、前記第1のAPIを介して前記端末装置に送信するものである。
第16の態様に係る予約支援サーバ装置は、上記第15の態様において、前記第2の取得手段が、特性に関する情報から志向値に関する情報を生成する第2の解析サーバから、前記ユーザの志向値に関する情報を取得し、前記第3の取得手段が、複数のサンプルユーザの中から、指定された志向値に適合する志向値を有する少なくとも1つのサンプルユーザを抽出する前記第2の解析サーバから、前記少なくとも1つのサンプルユーザに関する情報を取得し、前記第4の取得手段が、各サンプルユーザに対応付けて少なくとも1つの店舗に関する情報を記憶する前記第2の解析サーバから、前記少なくとも1つのサンプルユーザの各々に対応付けて記憶された少なくとも1つの店舗に関する情報を取得し、前記第2の解析サーバが、当該予約支援サーバ装置の内部又は外部に配置されるものである。
第17の態様に係る予約支援サーバ装置は、上記第15の態様又は上記第16の態様において、前記送信手段が、前記複数組の画像に含まれる各組の画像を、該複数組の画像に含まれる他の組の画像とは異なるタイミングで送信するものである。
第18の態様に係る予約支援サーバ装置は、上記第10の態様において、前記対象店舗の空席情報を更新する旨を前記店舗サーバ装置に指示する予約手段、をさらに具備するものである。
第19の態様に係る端末装置は、ユーザによる店舗の予約を支援する予約支援サーバ装置に対して、インストールされたメッセージングアプリケーションを実行することにより呼び出される第1のアプリケーションプログラミングインターフェイス(API)を介して通信可能に接続される端末装置であって、店舗の予約に関する少なくとも1つの条件に関する条件情報を前記第1のAPIを介して前記予約支援サーバ装置に対して送信する送信手段と、前記少なくとも1つの条件を少なくとも部分的に満たす少なくとも1つの候補店舗に関する候補店舗情報を、前記第1のAPIを介して前記予約支援サーバ装置から受信する受信段と、を具備するものである。
第20の態様に係る方法は、インストールされたメッセージングアプリケーションを実行するユーザの端末装置に対して、該メッセージングアプリケーションにより呼び出される第1のアプリケーションプログラミングインターフェイス(API)を介して通信可能に接続され、前記ユーザによる店舗の予約を支援する予約支援サーバ装置により実行される方法であって、店舗の予約についての少なくとも1つの条件に関する条件情報を前記端末装置から前記第1のAPIを介して受信する段階と、前記少なくとも1つの条件を少なくとも部分的に満たす少なくとも1つの候補店舗に関する候補店舗情報を、前記第1のAPIを介して前記端末装置に送信する段階と、を含むものである。
第21の態様に係るコンピュータプログラムは、コンピュータを、インストールされたメッセージングアプリケーションを実行するユーザの端末装置に対して、該メッセージングアプリケーションにより呼び出される第1のアプリケーションプログラミングインターフェイス(API)を介して通信可能に接続され、前記ユーザによる店舗の予約を支援する予約支援サーバ装置に含まれる、店舗の予約についての少なくとも1つの条件に関する条件情報を前記端末装置から前記第1のAPIを介して受信する受信手段、及び、前記少なくとも1つの条件を少なくとも部分的に満たす少なくとも1つの候補店舗に関する候補店舗情報を、前記第1のAPIを介して前記端末装置に送信する送信手段、として機能させるものである。