以下、添付図面を参照しながら本開示の実施形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1〜図4を参照して、一実施形態に係る予約管理システムの構成を説明する。図1は、一実施形態に係る予約管理装置を含む予約管理システムの概略構成図である。図2の(a)は、図1に示されるユーザ情報DBに格納されている位置情報の一例を示す図である。図2の(b)は、図1に示されるユーザ情報DBに格納されている対応情報の一例を示す図である。図2の(c)は、図1に示されるユーザ情報DBに格納されているスケジュール情報の一例を示す図である。図3は、図1に示される交通情報DBに格納されている交通情報の一例を示す図である。図4は、図1に示される予約情報DBに格納されている予約情報の一例を示す図である。
図1に示される予約管理システム1は、ユーザUが施設Fに対して行った予約を管理するシステムである。施設Fは、サービスを提供する施設である。施設Fの例としては、店舗、病院、及び交通機関が挙げられる。店舗の例としては、レストラン、理髪店、及び美容室が挙げられる。
予約管理システム1は、1又は複数の端末装置10と、ユーザ情報DB20と、交通情報DB30と、予約情報DB40と、予約管理装置50と、を含む。1又は複数の端末装置10は、ユーザ情報DB20、交通情報DB30、予約情報DB40、及び予約管理装置50とネットワークを介して互いに通信可能に構成されている。予約管理装置50は、1又は複数の端末装置10、ユーザ情報DB20、交通情報DB30、及び予約情報DB40とネットワークを介して互いに通信可能に構成されている。ネットワークは、有線及び無線のいずれで構成されてもよい。ネットワークの例としては、移動体通信網、インターネット、及びWAN(Wide Area Network)が挙げられる。以下の説明では、1つの端末装置10に着目して説明を行うが、他の端末装置10についても同様である。
端末装置10は、ユーザUにより用いられ、ユーザUが携帯可能な装置である。端末装置10の例としては、スマートフォン及びタブレット端末を含む携帯端末が挙げられる。端末装置10は、GPS(Global Positioning System)等を用いて端末装置10の位置情報(緯度及び経度)を取得する。端末装置10は、接続されている無線ネットワークの親局の設置位置の情報を位置情報として取得してもよい。親局の設置位置の例としては、モバイルネットワークの基地局、及びWi−Fiのアクセスポイント等が挙げられる。端末装置10は、端末装置10の近傍に存在する端末の位置情報を端末装置10の位置情報として取得してもよい。このような端末としては、例えば、Bluetooth(登録商標)のビーコン端末等が挙げられる。位置情報の詳細については後述する。端末装置10は、定期的に位置情報をユーザ情報DB20に送信する。
端末装置10は、端末装置10の端末ID(identifier)とユーザUのユーザIDとを対応付ける対応情報を記憶している。端末IDは、端末装置10を一意に識別可能な情報である。ユーザIDは、ユーザUを一意に識別可能な情報である。ユーザIDは、施設Fの予約に用いられる。端末装置10は、対応情報をユーザ情報DB20に送信する。
端末装置10は、スケジューラ等のアプリケーションを用いてユーザUのスケジュール(予定)を管理する。ユーザUがスケジュールを入力してもよく、アプリケーションがメール等から検出したスケジュールを入力してもよい。端末装置10は、入力されたスケジュールを示すスケジュール情報をユーザ情報DB20に送信する。スケジュール情報の詳細については後述する。
ユーザ情報DB20は、各ユーザUのユーザ情報を格納するデータベースである。ユーザ情報は、位置情報、対応情報、及びスケジュール情報を含む。位置情報は、各端末装置10の位置を示す情報である。図2の(a)に示されるように、位置情報は、端末IDと、当該位置情報を取得した時刻(タイムスタンプ)と、緯度と、経度と、を含む。ユーザ情報DB20は、各端末装置10から位置情報を受信すると、受信した位置情報を格納する。ユーザ情報DB20には、各端末装置10の複数の位置情報が位置情報の履歴(ログ)として格納されている。
対応情報は、各端末装置10の端末IDと、当該端末装置10を使用するユーザUのユーザIDとを対応付ける情報である。図2の(b)に示されるように、対応情報は、端末IDと、ユーザIDと、を含む。
スケジュール情報は、各ユーザUのスケジュールを示す情報である。図2の(c)に示されるように、スケジュール情報は、例えば、端末ID、スケジュールが行われる場所、スケジュールの開始時刻(日時)、及びスケジュールの終了時刻(日時)を含む。ユーザ情報DB20は、各端末装置10からユーザUのスケジュール情報を受信すると、ユーザUのスケジュール情報を格納する。
交通情報DB30は、交通情報を格納するデータベースである。図3に示されるように、交通情報は、交通機関情報と、状態情報と、遅延情報と、を含む。交通機関情報は、交通機関を示す情報である。交通機関の例としては、鉄道、バス、及び道路が挙げられる。状態情報は、交通機関の状態を示す情報である。例えば、交通機関が正常であれば、状態情報は正常を示す。鉄道に遅延が生じている場合には、状態情報は遅延を示す。道路に渋滞が発生している場合には、状態情報は渋滞を示す。鉄道等に遅延が生じている場合には、遅延情報は、正常な運行時刻(交通流)から遅れている時間を示す。交通情報は、ルート検索に用いられる時刻表等の情報をさらに含む。交通機関の状態又は遅延時間に変化が生じると、交通情報は更新される。
予約情報DB40は、予約情報を格納するデータベースである。図4に示されるように、予約情報は、ユーザIDと、施設IDと、予約時刻と、サービス情報と、料金情報と、を含む。施設IDは、施設Fを一意に識別可能な情報である。予約時刻は、ユーザUが施設Fに事前に予約したサービスの提供を受ける開始時刻であり、施設FにおいてユーザUに対してサービスの提供が開始される時刻である。言い換えると、予約時刻は、ユーザUが施設Fの利用を開始する時刻である。サービス情報は、ユーザUに提供されるサービスの内容を示す情報である。料金情報は、ユーザUに提供されるサービスの対価(料金)を示す情報である。
なお、ユーザUが端末装置10を用いて施設Fのウェブページから予約を行う場合、ウェブページに入力された情報を元に生成された予約情報が予約情報DB40に送信され、予約情報DB40に格納される。ユーザUが電話等を用いて施設Fに直接予約をする場合、施設Fから予約情報DB40に予約情報が送信され、予約情報DB40に格納される。
予約管理装置50は、ユーザUが施設Fに対して行った予約を管理する装置である。予約管理装置50の例としては、サーバ装置等の情報処理装置が挙げられる。
図5を参照して、予約管理装置50の機能構成について説明する。図5は、図1に示される予約管理装置の機能構成を示すブロック図である。図5に示されるように、予約管理装置50は、機能的には、取得部51(第2取得部)と、取得部52(第1取得部)と、取得部53と、取得部54(第3取得部)と、推定部55と、予測部56と、判定部57と、出力部58と、を備えている。後述の予約管理方法の説明において、各機能部の機能(動作)を詳細に説明するので、ここでは各機能部の機能を簡単に説明する。
取得部51は、予約情報を取得する機能部である。取得部51は、予約情報DB40に格納されている予約情報から、ユーザUに関する予約情報を抽出することによって、ユーザUの予約情報を取得する。取得部51は、予約情報を推定部55及び判定部57に出力する。
取得部52は、ユーザUの位置情報を取得する機能部である。本実施形態では、取得部52は、ユーザUの位置情報の履歴を取得する。取得部52は、ユーザ情報DB20に格納されている位置情報からユーザUの端末装置10の位置情報(の履歴)を抽出することによって、ユーザUの位置情報を取得する。取得部52は、位置情報を予測部56に出力する。
取得部53は、交通情報を取得する機能部である。取得部53は、交通情報DB30に格納されている交通情報を取得する。取得部53は、例えば、ユーザUの現在位置から、推定部55によって推定された施設Fまで移動し得る交通機関に関する交通情報を取得してもよい。取得部53は、交通情報を予測部56に出力する。
取得部54は、ユーザUのスケジュール情報を取得する機能部である。取得部54は、ユーザ情報DB20に格納されているスケジュール情報からユーザUの端末装置10のスケジュール情報を抽出することによって、ユーザUのスケジュール情報を取得する。取得部54は、スケジュール情報を判定部57に出力する。
推定部55は、ユーザUの予約情報に基づいて、ユーザUが向かう目的地となる施設Fと、ユーザUが施設Fに対して行った予約の予約時刻と、を推定する機能部である。推定部55は、取得部51から受け取った予約情報に基づいて、施設F及び予約時刻を推定する。推定部55は、推定した施設F及び予約時刻を示す推定情報を予測部56に出力する。
予測部56は、ユーザUの位置情報に基づいて、到着予測時刻を予測する機能部である。到着予測時刻は、ユーザUが施設Fに到着するであろう時刻である。本実施形態では、予測部56は、ユーザUの過去の位置情報の履歴から、ユーザUの移動パターンを抽出し、ユーザUが移動パターンに従って移動している場合に、移動パターンを用いて到着予測時刻を予測する。移動パターンは、ユーザUが施設Fに行くために用いたルート及び交通手段を示す。交通手段の例としては、車、電車、自転車、及び徒歩を含む。予測部56は、取得部53から受け取った交通情報を用いて、到着予測時刻を予測する。予測部56は、到着予測時刻を判定部57に出力する。
判定部57は、到着予測時刻及び予約情報に基づいて、予約時刻を予約時刻よりも早い代替予約時刻に変更することが可能か否かを判定する機能部である。判定部57は、予測部56から受け取った到着予測時刻と、取得部51から受け取った予約情報と、に基づいて、予約時刻を変更することが可能か否かを判定する。判定部57は、予約時刻を変更することができると判定した場合に、変更可能な代替予約時刻を出力部58に出力する。
出力部58は、判定部57によって予約時刻を代替予約時刻に変更することが可能であると判定された場合、代替予約時刻に関する変更情報を出力する機能部である。出力部58は、例えば、判定部57から受け取った代替予約時刻に予約時刻を変更するための承認をユーザUから得るための提示情報を生成し、提示情報を変更情報として端末装置10に出力する。出力部58は、ユーザUの承認を得ることなく、予約時刻及び代替予約時刻を含む変更指令を変更情報として予約情報DB40に送信し、予約時刻を代替予約時刻に変更してもよい。
次に、図6〜図8の(b)を参照して、予約管理装置50が行う予約管理方法について説明する。図6は、図1に示される予約管理装置が行う予約管理方法の一連の処理を示すフローチャートである。図7は、図6の出力処理を詳細に示すフローチャートである。図8の(a)は、図1に示される端末装置に表示される画面例を示す図である。図8の(b)は、図1に示される端末装置に表示される別の画面例を示す図である。図6に示される一連の処理は、例えば、予約管理装置50が、ユーザUの端末装置10においてバックグラウンドで動作しているアプリケーションから予約変更の可否を確認するための要求を受信したことによって開始される。
図6に示されるように、まず、取得部51が、予約情報DB40からユーザUの予約情報を取得する(ステップS01)。具体的には、取得部51は、ユーザ情報DB20に格納されている対応情報を参照して、端末装置10の端末IDからユーザUのユーザIDを特定する。そして、取得部51は、予約情報DB40に格納されている予約情報のうち、ユーザUのユーザIDを含む予約情報を取得する。なお、取得部51は、現在時刻以降の予約情報を取得してもよい。そして、取得部51は、予約情報を推定部55に出力する。
続いて、推定部55は、取得部51から予約情報を受け取ると、予約情報に基づいて、ユーザUが向かう施設F及び予約時刻を推定する(ステップS02)。推定部55は、例えば、取得部51から受け取った予約情報のうち、現在時刻よりも後の予約時刻を含む予約情報を抽出する。そして、推定部55は、抽出した予約情報から施設F及び予約時刻を推定する。具体的には、推定部55は、予約情報に含まれる施設IDによって識別される施設をユーザUが向かう施設Fとし、予約情報に含まれる予約時刻をユーザUの予約時刻とする。そして、推定部55は、推定した施設F及び予約時刻を示す推定情報を予測部56に出力する。
続いて、取得部52は、ユーザ情報DB20からユーザUの位置情報を取得する(ステップS03)。具体的には、取得部52は、ユーザ情報DB20に格納されている位置情報から、ユーザUの端末装置10の位置情報(の履歴)を抽出することによって、ユーザUの位置情報を取得する。取得部52は、ユーザUが現在位置している場所の位置情報だけでなく、ユーザUの位置情報の履歴を取得する。そして、取得部52は、位置情報を予測部56に出力する。
続いて、予測部56は、推定部55から推定情報を受け取り、取得部52から位置情報を受け取ると、ユーザUの過去の位置情報の履歴から、ユーザUが施設Fに行くために用いた移動パターンを抽出する(ステップS04)。予測部56は、例えば、ある位置情報が駅の位置を示しており、当該位置情報よりも後の位置情報が別の駅の位置を示しており、位置情報の移動速度が所定の速度以上である場合に、ユーザUが電車を利用したと推定する。他の交通手段も同様に推定される。予測部56は、施設Fに対して複数の移動パターンを抽出してもよい。なお、移動パターンは、施設Fごとに予め抽出されていてもよい。この場合、ステップS04は省略される。
続いて、予測部56は、ユーザUが施設Fに向かっているか否かを判定する(ステップS05)。具体的には、予測部56は、ユーザUの位置情報のうち、現在時刻よりも所定時間前の時刻から現在時刻までの位置情報の履歴が、移動パターンに一致又は類似しているか否かを判定する。予測部56は、例えば、上述の位置情報の履歴と移動パターンとの類似度を算出し、類似度が予め定められた閾値以上であれば、上述の位置情報の履歴が移動パターンに一致又は類似していると判定する。類似度の算出については公知であるのでその説明を省略する。
上述の位置情報の履歴が移動パターンに一致及び類似していないと判定された場合、予測部56は、ユーザUは施設Fに向かっていないと判定し(ステップS05;NO)、予約管理方法の一連の処理が終了する。一方、上述の位置情報の履歴が移動パターンに一致又は類似していると判定された場合、予測部56は、ユーザUは移動パターンに従って施設Fに向かっていると判定し(ステップS05;YES)、取得部53に交通情報を取得させる。
そして、取得部53は、交通情報DB30から交通情報を取得する(ステップS06)。取得部53は、例えば、移動パターンが示すルート及び交通手段に関する交通情報を取得する。そして、取得部53は、交通情報を予測部56に出力する。
続いて、予測部56は、取得部53から交通情報を受け取ると、交通情報を用いて、ユーザUが施設Fに到着するであろう到着予測時刻を予測する(ステップS07)。具体的には、予測部56は、移動パターンによって示されるルート及び交通手段を用いてユーザUが現在位置から施設Fに向かっていると仮定して、交通情報に基づいて到着予測時刻を予測する。なお、ステップS04において、施設Fに対して複数の移動パターンが抽出された場合には、ユーザUの位置情報の履歴がいずれかの移動パターンと一致又は類似していれば、予測部56は、その移動パターンに基づいて、到着予測時刻を予測する。そして、予測部56は、到着予測時刻を判定部57に出力する。
続いて、判定部57は、予測部56から到着予測時刻を受け取ると、取得部51に施設Fの予約情報を取得させる。そして、取得部51は、予約情報DB40から予約情報を取得する(ステップS08)。具体的には、取得部51は、予約情報DB40に格納されている予約情報から、施設Fの施設IDを含む予約情報を抽出することによって、施設Fの予約情報を取得する。取得部51は、到着予測時刻から予約時刻までの予約情報を取得してもよい。そして、取得部51は、予約情報を判定部57に出力する。
続いて、判定部57は、取得部51から施設Fの予約情報を受け取ると、ユーザUの予約時刻を変更することが可能であるか否かを判定する(ステップS09)。ステップS09では、判定部57は、まず、施設Fの予約の空き時間を、取得部51から受け取った予約情報に基づいて抽出する。例えば、同一時間帯に施設Fがサービスを提供できる人数(組数)よりも予約数が少ない場合には、予約の空きがあると考えられる。したがって、判定部57は、予約情報によって示される予約時刻及びサービスの内容から、同一時間帯に登録されている予約数を算出する。そして、判定部57は、予約数と施設Fごとに予め定められた提供可能数と比較し、予約数が提供可能数よりも少ない時間帯を予約の空き時間として抽出する。提供可能数は、同一時間帯に施設Fがサービスを提供できる人数(組数)である。
そして、判定部57は、到着予測時刻よりも後で(到着予測時刻よりも遅く)、かつ、予約時刻よりも前の時刻に(予約時刻よりも早い時刻に)、予約の空きがあるか否かを判定する。なお、判定部57は、ユーザUが施設Fにおいて提供を受けるサービスの種類(内容)に基づいて、サービスの提供に要する時間を算出し、その時間以上の空き時間がある場合に、予約の空きがあると判定してもよい。そして、判定部57は、空きが無い場合に予約時刻を変更することができないと判定し(ステップS09;NO)、予約管理方法の一連の処理が終了する。
ところで、ユーザUが施設Fに向かう前に別の予定を入れている場合がある。したがって、予約時刻よりも早い時刻(代替予約時刻)に予約の空きがあると判定された場合、判定部57は、取得部54にユーザUのスケジュール情報を取得させる。そして、取得部54は、ユーザ情報DB20に格納されているスケジュール情報のうち、端末装置10の端末IDを含むスケジュール情報を抽出することによって、ユーザUのスケジュール情報を取得する。取得部54は、ユーザUのスケジュールのうちの到着予測時刻から予約時刻までの時間範囲に含まれるスケジュール情報のみを抽出して取得してもよい。そして、取得部54は、スケジュール情報を判定部57に出力する。
続いて、判定部57は、取得部54からスケジュール情報を受け取ると、スケジュール情報に基づいて、代替予約時刻に別の予定があるか否かを判定する。例えば、判定部57は、スケジュール情報の開始時刻と終了時刻との間の時間帯に代替予約時刻が含まれる場合には、代替予約時刻に別の予定があると判定する。そして、判定部57は、代替予約時刻に別の予定がある場合には、予約時刻を変更することができないと判定し(ステップS09;NO)、予約管理方法の一連の処理が終了する。一方、判定部57は、代替予約時刻に別の予定が無い場合には、予約時刻を代替予約時刻に変更することができると判定し(ステップS09;YES)、変更可能な代替予約時刻を出力部58に出力する。
続いて、出力部58は、判定部57から代替予約時刻を受け取ると、代替予約時刻に関する変更情報を出力する出力処理を行う(ステップS10)。変更情報は、予約時刻を代替予約時刻に変更するための情報である。ステップS10では、図7に示されるように、出力部58は、判定部57から代替予約時刻を受け取ると、ユーザUに予約変更の承認を得るための提示情報を生成し、提示情報を変更情報として端末装置10に送信(出力)する(ステップS11)。提示情報は、代替予約時刻を含む。提示情報は、到着予定時刻と、予約変更するか否かのメッセージと、をさらに含んでもよい。
図8の(a)に示されるように、提示情報は、端末装置10の画面にアプリケーション又はSNS(Social Networking Service)等によるポップアップメッセージとして表示されてもよい。図8の(b)に示されるように、提示情報は、画面上のキャラクターが発するメッセージとして表示されてもよい。
そして、ユーザUは、端末装置10を用いて、予約変更を承認するか否かの操作を行う。そして、端末装置10は、予約変更が承認されたか否かを示す承認情報を予約管理装置50に送信する。
続いて、出力部58は、端末装置10から承認情報を受信すると、ユーザUによって承認されたか否かを判定する(ステップS12)。ユーザUによって承認されなかったと判定された場合(ステップS12;NO)、予約時刻が変更されることなく、予約管理方法の一連の処理が終了する。一方、ステップS12において、ユーザUによって承認されたと判定された場合(ステップS12;YES)、出力部58は、ユーザUの予約時刻を代替予約時刻に変更するための変更指令を変更情報として予約情報DB40に送信(出力)する(ステップS13)。なお、ステップS10において、出力部58は、ユーザから承認を得ることなく、変更指令を変更情報として予約情報DB40に送信し、予約時刻を変更してもよい。
以上により、予約管理方法の一連の処理が終了する。なお、ステップS03は、ステップS01よりも前に行われてもよく、ステップS01の後でステップS02の前に行われてもよく、ステップS01及びステップS02の少なくともいずれかと並行して行われてもよい。ステップS06は、ステップS02において施設Fが推定された後、ステップS07の前であれば、どのタイミングで行われてもよい。あるいは、交通情報DB30に格納されているすべての交通情報が取得されてもよい。この場合、ステップS06は、ステップS07より前のどのタイミングで行われてもよい。ステップS08は、ステップS02において施設Fが推定された後、ステップS09における判定処理の前であれば、どのタイミングで行われてもよい。あるいは、ステップS01において、予約情報DB40に格納されているすべての予約情報が取得されてもよい。この場合、ステップS08は省略される。
以上説明した予約管理システム1及び予約管理装置50では、ユーザUが施設Fに到着するであろう到着予測時刻及び予約情報に基づいて、予約時刻を予約時刻よりも早い代替予約時刻に変更することが可能か否かが判定され、予約時刻を代替予約時刻に変更することが可能であると判定された場合、代替予約時刻に関する変更情報が出力される。したがって、ユーザUが予約時刻よりも早く施設Fに到着したとしても、予約時刻が代替予約時刻に変更された場合には、ユーザUの待ち時間を削減することが可能となる。
判定部57は、到着予測時刻よりも遅く、かつ、予約時刻よりも早い時刻に、施設Fの予約の空きがあるか否かを判定し、予約の空きがあると判定した場合に、予約時刻を代替予約時刻に変更することが可能であると判定する。したがって、到着予測時刻よりも遅く、予約時刻よりも早い時刻に予約の空きがあれば、予約時刻をその時刻に変更することができるので、ユーザUの待ち時間を削減することが可能となる。
例えば、ユーザUが施設Fに向かう前に別の予定を入れている場合がある。このような場合、予約時刻よりも早い時刻(代替予約時刻)に予約の空きがあったとしても、ユーザUには別の予定があるので、代替予約時刻に施設Fに行くことはできない。そこで、判定部57は、スケジュール情報に基づいて、代替予約時刻に別の予定があるか否かを判定し、代替予約時刻に別の予定が無い場合に、予約時刻を代替予約時刻に変更することが可能であると判定する。この構成によれば、代替予約時刻に別の予定が無い場合に、予約時刻を代替予約時刻に変更することで、ユーザUが代替予約時刻に施設Fの利用をより確実に開始することができる。
推定部55は、予約情報に基づいて、施設F及び予約時刻を推定する。予約情報には、ユーザUが向かう目的地となる施設Fと、ユーザUが施設Fに対して行った予約の予約時刻と、が含まれているので、予約情報を用いて施設F及び予約時刻を容易に推定することができる。
例えば、ユーザUの現在位置と施設Fとの間には、複数のルート及び交通手段が存在することがある。これに対し、予測部56は、ユーザUの位置情報の履歴に基づいて、ユーザUが過去に施設Fに行くために用いたルート及び交通手段を示す移動パターンを抽出する。予測部56は、ユーザUが移動パターンに従って移動している場合に、移動パターンを用いて到着予測時刻を予測する。この構成によれば、ユーザUが従っている移動パターンを用いることによって、到着予測時間の予測精度を向上させることが可能となる。
予約管理システム1では、予約時刻を代替予約時刻に変更するための承認をユーザUから得るための提示情報が端末装置10に出力される。そして、端末装置10が提示情報を表示し、ユーザUが予約時刻の変更を承認するか否かの操作を行う。出力部58は、ユーザUによって承認された場合、ユーザUの予約時刻を代替予約時刻に変更するための変更指令を変更情報として予約情報DB40に送信(出力)する。したがって、ユーザUが承認した場合に、予約時刻を代替予約時刻に変更することができる。その結果、ユーザUの意向に沿って予約時刻を変更することが可能となる。
以上、本開示の実施形態について説明したが、本開示は上記実施形態に限定されない。
予約管理装置50は、物理的又は論理的に結合した1つの装置によって構成されていてもよく、互いに物理的又は論理的に分離している複数の装置によって構成されてもよい。例えば、予約管理装置50は、クラウドコンピューティングのようにネットワーク上に分散された複数のコンピュータによって実現されてもよい。以上のように、予約管理装置50の構成は、予約管理装置50の機能を実現し得るいかなる構成をも含み得る。
予約管理装置50は、ユーザ情報DB20、交通情報DB30、及び予約情報DB40の少なくとも1つを備えていてもよい。
予約管理装置50は、取得部53を備えていなくてもよい。この場合、予測部56は、例えば、位置情報の履歴に基づいて、ユーザUが単位時間あたりに移動する距離から、到着予測時刻を予測してもよい。
ユーザUは、電子メール、チャット、及びSNS等のメッセージに予定(スケジュール)を書き込む場合がある。したがって、取得部54は、ユーザUが送信したメッセージに基づいて、スケジュール情報を取得してもよい。この場合、ユーザUがスケジューラにスケジュールを入れていなくても、メッセージからユーザUのスケジュールに関するスケジュール情報を取得することができる。したがって、スケジュール情報の取得率を向上させることが可能となる。なお、スケジュール情報は、端末装置10によって生成されてもよく、ユーザ情報DB20によって生成されてもよく、予約管理装置50によって生成されてもよい。
取得部54がスケジュール情報に代えてユーザ情報DB20から電子メール等のメッセージを取得し、判定部57がメッセージを解析することによって、代替予約時刻に別の予定があるか否かを判定してもよい。
予測部56は、ユーザUの位置情報の履歴を用いることなく、移動パターンを抽出してもよい。例えば、予測部56は、交通情報を用いて、ユーザUの現在位置と施設Fとの間の移動パターン(ルート及び交通手段)を抽出してもよい。
予測部56は、移動パターンを抽出することなく、到着予測時刻を予測してもよい。例えば、予測部56は、ユーザUの現在位置と施設Fとの間のルート及び交通手段(移動パターン)のそれぞれについて到着予測時刻を予測し、最も早く到着し得る到着予測時刻を到着予測時刻としてもよい。この場合、ステップS04,S05は省略される。
判定部57は、到着予測時刻よりも遅く、予約時刻よりも早い時刻(代替予約時刻)に予約の空きがあると判定した場合、予約時刻を代替予約時刻に変更してもよい。この場合、予約管理装置50は、取得部54を備えていなくてもよい。
判定部57は、到着予測時刻が予約時刻よりも遅い場合、到着予測時刻よりも後に空き時間があるか否かを判定してもよい。この場合、判定部57は、空き時間がある場合に予約時刻を変更することができると判定し、変更可能な代替予約時刻を出力部58に出力してもよい。
なお、上記実施形態の説明に用いられたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、及び割り振り(assigning)などがあるが、これらの機能に限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)又は送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
例えば、本開示の一実施の形態における予約管理装置50は、本開示の処理を行うコンピュータとして機能してもよい。図9は、本開示の一実施の形態に係る予約管理装置50のハードウェア構成の一例を示す図である。上述の予約管理装置50は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、及びユニットなどに読み替えることができる。予約管理装置50のハードウェア構成は、図に示された各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
予約管理装置50における各機能は、プロセッサ1001及びメモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、及びレジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述の予約管理装置50の各機能は、プロセッサ1001によって実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、及びデータなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、予約管理装置50の各機能は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施形態に係る予約管理方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバ、その他の適切な媒体であってもよい。
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。通信装置1004は、例えば周波数分割複信(FDD:Frequency Division Duplex)及び時分割複信(TDD:Time Division Duplex)の少なくとも一方を実現するために、高周波スイッチ、デュプレクサ、フィルタ、周波数シンセサイザなどを含んで構成されてもよい。例えば、上述の取得部51〜54、及び出力部58などは、通信装置1004によって実現されてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001及びメモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
また、予約管理装置50は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
情報の通知は、本開示において説明した態様/実施形態に限られず、他の方法を用いて行われてもよい。
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明された方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
情報等は、上位レイヤ(又は下位レイヤ)から下位レイヤ(又は上位レイヤ)へ出力され得る。情報等は、複数のネットワークノードを介して入出力されてもよい。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本開示において説明した各態様/実施形態は単独で用いられてもよいし、組み合わせて用いられてもよいし、実行に伴って切り替えて用いられてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的な通知に限られず、暗黙的に(例えば、当該所定の情報の通知を行わないことによって)行われてもよい。
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とし、本開示に対して何ら制限的な意味を有しない。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本開示において説明した用語及び本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えられてもよい。
本開示において使用される「システム」及び「ネットワーク」という用語は、互換的に使用される。
また、本開示において説明された情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
上述したパラメータに使用される名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
上記の各装置の構成における「部」を、「回路」、「デバイス」等に置き換えてもよい。
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。