(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022094625
(43)【公開日】2022-06-27
(54)【発明の名称】情報処理装置、プログラム及び情報処理方法
(51)【国際特許分類】
G06Q 30/02 20120101AFI20220620BHJP
G06Q 50/10 20120101ALI20220620BHJP
G06F 13/00 20060101ALI20220620BHJP
【FI】
G06Q30/02 380
G06Q30/02 470
G06Q50/10
G06F13/00 560A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2020207617
(22)【出願日】2020-12-15
(71)【出願人】
【識別番号】516329543
【氏名又は名称】株式会社バカン
(74)【代理人】
【識別番号】110002572
【氏名又は名称】特許業務法人平木国際特許事務所
(72)【発明者】
【氏名】篠原 清志
(72)【発明者】
【氏名】春口 敦郎
(72)【発明者】
【氏名】抜井 友希
(72)【発明者】
【氏名】日置 綾音
(72)【発明者】
【氏名】ナビル ラモウニ
【テーマコード(参考)】
5B084
5L049
【Fターム(参考)】
5B084AA02
5B084AA12
5B084AB06
5B084AB11
5B084BA08
5B084BB04
5B084CC07
5B084CC18
5B084CF12
5B084DB02
5B084DC02
5B084DC03
5L049BB08
5L049CC11
(57)【要約】 (修正有)
【課題】空き情報を発信可能な専用の機器を保有していない店舗の空き情報をユーザが閲覧できる情報処理装置、プログラム及び情報処理方法を提供する。
【解決手段】情報処理方法は、ユーザ端末から空き情報の検索リクエストを空席管理サーバに送信すると、空席管理サーバは、検索リクエストに応答してユーザ端末の位置に基づいて店舗群(ユーザが入力した検索条件に合致する店舗の集合)を特定し、それらの空き情報を店舗情報と共にユーザ端末に送信する。ユーザ端末は、各店舗の空き情報が公式(店舗の入力端末から発信された空き情報)であるか非公式(店舗を訪れたユーザ端末から投稿された空き情報)であるかを判断して、公式の空き情報と非公式の空き情報とが一目で認識できるように、地図上にピンを配置する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
店舗の空き状況を示す空き情報を管理する情報処理装置であって、
前記空き情報を送信するための入力端末に関する端末情報を前記店舗と対応づけて記憶する記憶手段と、
前記店舗の前記空き情報を受信する受信手段と、
受信した前記空き情報を管理する管理手段と、を備え、
前記管理手段は、
前記記憶手段に前記端末情報が記憶された第1の店舗に関しては、前記第1の店舗に対応する前記入力端末から送信された空き情報を前記第1の店舗の空き情報として受け付け、
前記記憶手段に前記端末情報が記憶されていない第2の店舗に関しては、所定の条件を満たす場合に、ユーザ端末からの前記空き情報を入力するための入力画像を介した前記第2の店舗の前記空き情報を受け付ける、情報処理装置。
【請求項2】
前記所定の条件は、前記ユーザ端末の位置が前記第2の店舗から所定の距離以内にあるか否かという条件である、請求項1に記載の情報処理装置。
【請求項3】
前記所定の条件は、現在時刻が前記店舗の営業時間内であるか否かという条件である、請求項1または2に記載の情報処理装置。
【請求項4】
前記所定の条件は、前記ユーザ端末から、前記空き情報とともに前記第2の店舗に関する撮影画像が送信されたか否かという条件である、請求項1に記載の情報処理装置。
【請求項5】
前記所定の条件は、前記撮影画像が現在時刻から所定の時間内に撮影され、かつ前記撮影画像が撮影された場所が前記第2の店舗から所定の距離以内であるか否かを示す条件である、請求項4に記載の情報処理装置。
【請求項6】
さらに、前記入力画像を表示させる表示制御手段を備え、
前記表示制御手段は、前記第1の店舗の前記空き状況を入力するための前記入力画像を前記ユーザ端末に送信しない、請求項1から5のいずれか一項に記載の情報処理装置。
【請求項7】
前記管理手段は、前記撮影画像が現在時刻から所定の時間内に撮影され、かつ前記撮影画像が撮影された場所が前記第2の店舗から所定の距離以内である場合に、前記第2の店舗の前記空き情報を記録し、
前記撮影画像が現在時刻から所定の時間内に撮影されていないか、又は前記撮影画像が撮影された場所が前記第2の店舗から所定の距離以内でない場合に、前記第2の店舗の前記空き情報を記録しない、請求項4に記載の情報処理装置。
【請求項8】
店舗の空き状況を示す空き情報を処理する情報処理装置であって、
表示装置に表示する前記空き情報を取得する取得手段と、
所定の条件を満たす場合に、前記店舗の前記空き情報を入力するための入力画像を表示する表示制御手段と、を備え、
前記表示制御手段は、
ある店舗の前記空き情報が、前記店舗に配置された入力端末から登録されたものである場合は、当該店舗についての前記入力画像を表示しない、情報処理装置。
【請求項9】
コンピュータを、請求項1~8のいずれか一項に記載の情報処理装置として機能させるプログラム。
【請求項10】
店舗の空き状況を示す空き情報を管理する情報処理装置により実行される情報処理方法であって、
前記空き情報を送信するための入力端末に関する端末情報を店舗と対応づけて記憶することと、
前記店舗の前記空き情報を受信することと、
受信した前記空き情報を管理することと、を含み、
前記管理することは、
前記端末情報が記憶された第1の店舗に関しては、前記第1の店舗に対応する前記入力端末から送信された空き情報を前記第1の店舗の空き情報として受け付けることと、
前記端末情報が記憶されていない第2の店舗に関しては、所定の条件を満たす場合に、ユーザ端末からの前記空き情報を入力するための入力画像を介した前記第2の店舗の前記空き情報を受け付けることと、を含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、プログラム及び情報処理方法に関する。
【背景技術】
【0002】
店舗の空席情報をユーザがオンラインで確認できるようにするための技術は、例えば飲食店などの空席情報を提供するために用いられている。特許文献1には、「来店予約を行う前に、店舗の混雑状況を利用者に提供する」ことを課題として、「情報管理システムは、店舗に設置され店舗の混雑状況を示す混雑情報を送信する店舗端末40と、店舗端末が設置された店舗に関する混雑情報を含んだ店舗データを管理するサーバ装置10と、を有する。サーバ装置は、店舗端末から送信される混雑情報を受信し、店舗データに含まれる混雑情報のステータスを、受信した混雑情報のステータスに更新する。店舗を利用する利用者からの、店舗の混雑状況を確認したい旨の要求を受け付け、記憶された店舗データに基づき、店舗の混雑状況を示す画面データを生成し、利用者が所持するユーザ端末20に送信する。サーバ装置は、送信した画面データに対する利用者の操作に応じて、店舗への来店予約を行う。」という技術を開示している(同文献の要約参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1の技術においては、ユーザが、店舗が混雑情報(空き情報)を発信する店舗の混雑状況を確認することはできるが、店舗が混雑情報を発信していない店舗の混雑状況を確認することができない。
【0005】
そこで、本開示は、空き情報を発信していない店舗の空き情報をユーザが閲覧できる技術を提案する。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本開示の情報処理装置は、店舗の空き状況を示す空き情報を管理する情報処理装置であって、前記空き情報を送信するための入力端末に関する端末情報を前記店舗と対応づけて記憶する記憶手段と、前記店舗の前記空き情報を受信する受信手段と、受信した前記空き情報を管理する管理手段と、を備え、前記管理手段は、前記記憶手段に前記端末情報が記憶された第1の店舗に関しては、前記第1の店舗に対応する前記入力端末から送信された空き情報を前記第1の店舗の空き情報として受け付け、前記記憶手段に前記端末情報が記憶されていない第2の店舗に関しては、所定の条件を満たす場合に、ユーザ端末からの前記空き情報を入力するための入力画像を介した前記第2の店舗の前記空き情報を受け付ける。
【0007】
本開示に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本開示の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。本明細書の記述は典型的な例示に過ぎず、本開示の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではない。
【発明の効果】
【0008】
本開示の技術によれば、空き情報を発信可能な専用の機器を保有していない店舗の空き情報をユーザが閲覧可能となる。
【図面の簡単な説明】
【0009】
【
図1】第1の実施形態に係る空席管理システムの構成図である。
【
図2A】空席管理サーバのハードウェア構成図である。
【
図3A】データベースに格納されているデータ例を示す図である。
【
図3B】データベースに格納されているデータ例を示す図である。
【
図6】空席管理サーバにおける空き情報の処理手順を示すフローチャートである。
【
図7】ユーザ端末における空き情報の処理手順を示すフローチャートである。
【
図8】第1の実施形態に係るユーザ端末の表示画面の例である。
【
図9】ユーザ端末における店舗の詳細情報及び投稿画面の表示手順を示すフローチャートである。
【
図10】第1の実施形態に係る第2の店舗詳細画像の一例を示す図である。
【
図11】第1の実施形態に係る空き情報の投稿画面の一例を示す図である。
【
図12】第2の実施形態に係る空き情報の投稿画面の一例を示す図である。
【
図13】第2の実施形態に係る空席管理サーバの空き情報の更新処理手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本実施形態について、図面を参照して説明する。同一の構成については、同じ符号を付して説明する。尚、以下の実施形態は本開示の技術を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが上記課題の解決手段に必須のものとは限らない。
【0011】
[第1の実施形態]
<空席管理システム1の構成例>
第1の実施形態では、席やテーブルが設置され飲食が提供される店舗に新たな利用客が利用可能な空席(又は空きテーブル)があるか否かを示す空席状態(例えば、空席、混雑、満席:「混雑状態」ということもでき、本実施形態では両者は同意である)を、ユーザ端末に配信する空席管理システムについて説明する。
【0012】
図1は、第1の実施形態に係る空席管理システム1を示す構成図である。空席管理システム1は、店舗の空席状態の情報(空き情報)を管理するシステムであり、空席管理サーバ10、入力端末20及びユーザ端末30を備える。入力端末20は、例えば、店舗40(第1の店舗)内で操作されるスマートフォン又はタブレットなどのコンピュータデバイスであり、店舗40の店員が目視で確認した空席状態を入力できるように構成されている。入力端末20は、事前に店舗40に対応する端末として設定されている。ユーザ端末30は、例えば、スマートフォン又はタブレットなどのコンピュータデバイスであり、当該空席管理システム1が提供するサービスのユーザの端末である。また、ユーザ端末30は、入力端末20を保有していない店舗60(第2の店舗)の空席状態を入力し空席管理サーバ10に送信できるように構成されている。空席管理サーバ10は、店舗40及び店舗60外に設置されており、入力端末20及びユーザ端末30から受信する空席状態を示すデータを管理するサーバである。空席管理サーバ10、入力端末20及びユーザ端末30は、例えばインターネットなどのネットワーク50を介して相互接続されている。
図1においては、入力端末20を保有する店舗40と入力端末20を保有しない店舗60とが1店舗ずつ示されているが、これらの店舗の数はそれぞれ複数であってもよい。
【0013】
空席管理サーバ10は、入力端末20から受信した店舗40の空席状態を示すデータと、ユーザ端末30から受信した店舗60の空席状態を示すデータと、をデータベースに格納する。空席管理サーバ10は、入力端末20から受け取ったデータにしたがってデータベースを更新することにより、店舗40ごとの最新の空席状態をデータベース上で管理する。また、空席管理サーバ10は、ユーザ端末30から受け取ったデータにしたがってデータベースを更新することにより、店舗60ごとの最新の空席状態をデータベース上で管理する。なお、ここで「最新」とは、入力端末20及びユーザ端末30による送信日時を基準とすることができる。
【0014】
いずれかの店舗40又は店舗60を訪れようとしているユーザは、ユーザ端末30を介して、店舗40及び店舗60の空き情報を空席管理サーバ10に対して照会することができる。空席管理サーバ10はその照会に応答し、ユーザ端末30の現在位置又はユーザによる地図上の指定位置に応じてデータベースの店舗40及び店舗60に関するレコードを検索することにより、ユーザ端末30に空き情報を送信する店舗群を特定し、当該店舗群に含まれる各店舗の空き情報を取得する。空席管理サーバ10は、取得した空き情報を、照会に対するレスポンスとしてユーザ端末30へ返信する。ユーザ端末30は、空席管理サーバ10から受信した空き情報を地図上に表示(例えば、ピン表示)する。
【0015】
<空席管理サーバ10の構成例>
図2Aは、空席管理サーバ10のハードウェア構成図である。空席管理サーバ10は、CPU(Central Processing Unit)11(情報処理装置)、ROM(Read Only Memory)12、RAM(Random Access Memory)13、記憶装置14及び通信装置15を備える。CPU11は、後述するプログラムを実行することにより、空席管理サーバ10が提供する機能を実現する。ROM12及びRAM13は、CPU11が用いるデータを保持する。記憶装置14は、後述するプログラム及びデータベースを格納する。通信装置15は、ネットワーク50を介して入力端末20及びユーザ端末30と通信する。
【0016】
図2Bは、空席管理サーバ10の機能ブロック図である。空席管理サーバ10は、CPU11が実行するソフトウェアモジュール(各種プログラムがCPU11の内部メモリに展開されて構成される機能)として、受信部111(受信手段)、更新部112(管理手段)、検索部113及び出力部114を備える。以下では記載の便宜上、これらモジュールを動作主体として記載する場合があるが、実際にこれらモジュールを実行するのはCPU11であるため、CPU11を動作主体とすることもできる。
【0017】
記憶装置14は、記憶部(記憶手段)としてのデータベース141を格納している。データベース141は、事前に登録された店舗情報を含む店舗情報データベース142と、店舗40及び店舗60の空き情報を含む空き情報データベースと143とを管理する。データベース141の構成については後述する。受信部111は、通信装置15を介して、店舗40の空席状態を示すデータを入力端末20から受信し、店舗60の空席状態を示すデータをユーザ端末30から受信する。また、受信部111は、通信装置15を介して、ユーザ端末30からの空き情報の検索リクエストを受信する。更新部112は、受信部111が受信した空席状態を示すデータに含まれる店舗ID(識別情報)に基づいて店舗を特定し、データベース141における空き情報を更新する。検索部113は、ユーザ端末30から、店舗の空き情報の検索リクエストと、現在の位置情報(基準位置)とを受信すると、位置情報に応じて、ユーザ端末30に空き情報を送信すべき店舗群を特定する。
【0018】
検索リクエストとしては、ユーザ端末30の現在位置に基づくリクエストの他、特定の指定場所(例えば、ユーザは東京駅周辺にいるが、渋谷駅周辺)にある店舗の検索リクエスト、特定の種類(例えば、和食やフランス料理などの料理ジャンル、価格帯)を指定した検索リクエスト、特定の店舗を指定した検索リクエスト(この場合、ユーザは、特定の店舗の空き情報が知りたいケース)などの形態とすることもできる。
【0019】
出力部114は、通信装置15を介して、検索部113で特定された店舗群の各店舗の空き情報をユーザ端末30に送信する。空き情報を受信したユーザ端末30は、表示用UIを構築し、そこに当該空き情報のステータスを表示する。
【0020】
図3Aは、データベース141に格納されている店舗情報データベース142を示す図である。店舗情報データベース142は、ユーザが店舗を検索するとき用いる属性情報を含む店舗情報を管理するデータテーブルであり、例えば、店舗ID1421、店舗の名称1422、ジャンル1423(属性情報)、店舗紹介1424、住所1425、緯度経度1426、電話番号1427及び営業時間1428を構成項目として有している。店舗情報データベース142の1つのレコードは、1つの店舗の店舗情報を管理する。入力端末20を保有する店舗40の店舗情報は、例えば、入力端末20に入力された情報を基に店舗情報データベース142に登録することもできるし、空席管理システム1のサービスの提供者が予め登録することもできる。入力端末20を保有していない店舗60の店舗情報は、例えば、空席管理システム1のサービスの提供者が、電話帳や地図情報などに記載の情報に基づいて店舗情報データベース142に登録することができる。
【0021】
店舗ID1421は、データベース141内で各店舗を識別するためのIDである。緯度経度1426は、店舗の位置を緯度経度によって示すデータであり、同じ施設の同じフロアであっても、店舗の位置が異なる場合は異なる緯度経度の値が登録されている場合もある。
【0022】
図3Bは、データベース141に格納されている空き情報データベース143を示す図である。空き情報データベース143は、店舗ごとの最新の空席状態を管理するデータテーブルであり、例えば、店舗ID1431、空き情報1432、公式/非公式フラグ1433、受信日時1434、ユーザID1435、ユーザ名1436及び端末ID1437を構成項目として有している。空き情報データベース143の1つのレコードは、1つの店舗の空席状態を管理する。
【0023】
店舗ID1431は、店舗情報データベース142の店舗ID1421と対応するデータであり、ある店舗の店舗ID1421と店舗ID1431とは同一である。空き情報1432は、店舗40内の入力端末20から送信されてきた最新の空席状態、又は店舗60を訪れた(若しくは店舗60付近にいる)ユーザのユーザ端末30から送信されてきた最新の空席状態を示すデータである。
図3Bの例においては、空き情報1432は、「空あり」、「やや混雑」又は「満席」のうちいずれかにより示されている。別の形態として、空き情報1432は、空席がある場合は「0」、混雑している場合は「1」、満席の場合は「2」のように数字で示されていてもよい。また、別の形態として、空き情報1432は、空席の数又は空きテーブルの数を示す数値であってもよい。
【0024】
公式/非公式フラグ1433は、空き情報1432が公式であるか非公式であるかを示すデータである。公式/非公式フラグ1433は、店舗40の入力端末20から送信されたものである場合は「公式」となり、空き情報1432がユーザ端末30から送信されたものである場合は「非公式」となる。したがって、
図3Bの例においては、店舗ID1431が001の店舗は、公式/非公式フラグ1433が「公式」となっているので、入力端末20を保有する店舗40である。店舗ID1431が002及び003の店舗は、いずれも公式/非公式フラグ1433が「非公式」となっているので、入力端末20を保有していない店舗60である。なお、公式/非公式フラグ1433は、「公式」又は「非公式」のようにテキストで示す代わりに、公式である場合は「0」、非公式である場合は「1」のように数字で示されていてもよい。
【0025】
受信日時1434は、空席管理サーバ10が入力端末20又はユーザ端末30から空き情報1432を受信した日時を示すデータである。ユーザID1435は、ユーザ端末30から空き情報1432を投稿したユーザを識別するためのIDである。ユーザ名1436は、ユーザ端末30から空き情報1432を投稿したユーザの氏名又はニックネームを示すデータである。店舗ID1431が001の店舗については、入力端末20から空き情報が送信されるので、ユーザID1435及びユーザ名1436はブランクとなっている。端末ID1437は、入力端末20及びユーザ端末30の識別子であり、例えば入力端末20及びユーザ端末30のMACアドレスを用いることができる。なお、入力端末20の端末ID1437は、店舗ID1431に対応する入力端末として事前に設定された識別情報であり、空き情報1432の更新が更新されても基本的には変わらない。一方、非公式情報の場合は、空き情報1432を受信するたびに、受信した空き情報1432によってユーザ端末30の端末ID1437が更新されることになる。なお、同じユーザ端末30から同じ店舗の空き情報1432が送信された場合には、もちろん端末ID1437は同じ識別子によって更新される。
【0026】
データベース141は、例えばレコードの内容を記述したデータを記憶装置14内に格納することによって構成できる。なお、本実施形態では店舗情報データベース142及び空き情報データベース143はテーブル形式で表されているが、この形式に限らず、各データが紐付けされていればどのような形式で構築してもよい。したがって、単に、空席管理データあるいは空席管理情報と称することも可能である。
【0027】
<入力端末20の構成例>
図4Aは、入力端末20のハードウェア構成図である。入力端末20は、CPU21、表示装置22、入力装置23及び通信装置24を備える。CPU21は、入力端末20が備える各部を制御する。通信装置24は、ネットワーク50を介して空席管理サーバ10と通信し、空席管理サーバ10から、空き情報及び店舗情報を入力するためのGUI画面を受信する。表示装置22は、空席管理サーバ10から受信したGUI画面を表示する。入力装置23は、店員が入力端末20に対する操作指示を入力するために用いるインターフェースである。例えばタッチパネルなどによって、表示装置22及び入力装置23を一体的に構成することもできる。
【0028】
図4Bは、入力端末20の機能ブロック図である。入力端末20は、CPU21が実行するソフトウェアモジュール(各種プログラムがCPU21の内部メモリに展開されて構成される機能)として、記憶部211、通信制御部212、設定部213及び表示制御部214を備える。以下では記載の便宜上、これらモジュールを動作主体として記載する場合があるが、実際にこれらモジュールを実行するのはCPU21であるため、CPU21を動作主体とすることもできる。
【0029】
記憶部211は、CPU21の内部メモリとして機能する。通信制御部212は、通信装置24を介して、空席管理サーバ10との通信を行う。具体的には、通信制御部212は、空席管理サーバ10からGUI画面を受信する。設定部213は、店舗40の店員が入力装置23及びGUI画面を介して入力した空き情報及び店舗情報を受け付ける。通信制御部212は、入力された空き情報及び店舗情報と、端末IDと、店舗40の入力端末20からの送信であることを示す公式フラグとを、空席管理サーバ10に送信する。端末IDとは、入力端末20自身の識別情報である。表示制御部214は、表示装置22の表示を制御する。具体的には、表示制御部214は、空席管理サーバ10から受信したGUI画面を表示装置22に表示する。
【0030】
<ユーザ端末30の構成例>
図5Aは、ユーザ端末30のハードウェア構成図である。ユーザ端末30は、CPU31(情報処理装置)、表示装置32、入力装置33及び通信装置34を備える。CPU31は、ユーザ端末30が備える各部を制御する。通信装置34は、ネットワーク50を介して空席管理サーバ10と通信し、店舗の空き情報の検索リクエストを送信して、空席管理サーバ10から空き情報を受信する。表示装置32は、空席管理サーバ10から受信した店舗の空き情報や、空き情報を入力するためのGUI画面(投稿画面)を画面表示する。入力装置33は、ユーザがユーザ端末30に対する操作指示を入力するために用いるインターフェースである。例えばタッチパネルなどによって、表示装置32及び入力装置33を一体的に構成することもできる。
【0031】
図5Bは、ユーザ端末30の機能ブロック図である。ユーザ端末30は、CPU31が実行するソフトウェアモジュール(各種プログラムがCPU31の内部メモリに展開されて構成される機能)として、記憶部311、通信制御部312、生成部313及び表示制御部314を備える。以下では記載の便宜上、これらモジュールを動作主体として記載する場合があるが、実際にこれらモジュールを実行するのはCPU31であるため、CPU31を動作主体とすることもできる。
【0032】
記憶部311は、CPU31の内部メモリとして機能する。通信制御部312(取得手段)は、通信装置34を介して、空席管理サーバ10との通信を行う。具体的には、通信制御部312は、ユーザが入力装置33を介して空き情報の照会の指示を入力すると、空席管理サーバ10に検索リクエストを送信する。また、通信制御部312は、空席管理サーバ10から店舗情報及び空き情報を受信する。
【0033】
生成部313(地図データ読み込み部)は、ユーザ端末30の位置情報及びユーザによって指定された地図の拡大率に応じて、記憶部311から地図情報(地図データ)を読み込む。また、生成部313は、空席管理サーバ10から受信した空き情報に対応するテキストデータあるいはマークデータ(空席「0」に対応するテキスト/マーク、混雑「1」に対応するテキスト/マーク、満席「2」に対応するテキスト/マーク)を記憶部311から読み出し、地図上に重畳表示するためのUIデータ(表示用UIデータ:ピン表示など)を生成する。さらに、生成部313は、空席管理サーバ10から受信した空き情報に基づき、店舗詳細画像と、空席状態の投稿画面とを生成する。生成部313における空き情報の処理方法の詳細については後述する。
【0034】
表示制御部314(表示制御手段)は、表示装置32の表示を制御する。具体的には、表示制御部314は、生成部313が読み込んだ地図、並びに生成部313が生成したピン、店舗詳細画像及び空席状態の投稿画面を表示装置32に表示する。通信制御部312は、空席状態の投稿画面を介してユーザが入力した店舗60の空き情報と、店舗IDと、ユーザ端末30からの送信であることを示す非公式フラグとを、空席管理サーバ10に送信する。
【0035】
<空席管理サーバ10の空き情報処理>
図6は、空席管理サーバ10の空き情報の処理手順を示すフローチャートである。空席管理サーバ10は、
図6に示すフローチャートを実現するプログラムを実行する。
【0036】
(ステップS601)
検索部113は、受信部111がユーザ端末30から空き情報の検索リクエストを受信したか否かを判断する。空き情報の検索リクエストを受信した場合(Yes)、処理はステップS602に移行する。なお、検索リクエストには、ユーザ端末30の現在の位置情報(例えば、GPSから取得した緯度経度情報)が含まれている。
【0037】
(ステップS602)
検索部113は、検索リクエストに含まれている位置情報を取得し、RAM13又は記憶装置14に格納する。
【0038】
(ステップS603)
検索部113は、ユーザ端末30の位置情報からユーザ端末30の現在位置を特定し、店舗情報データベース142の緯度経度1426を参照して、上記位置情報に応じて、ユーザ端末30に空き情報を送信すべき店舗群を特定し、当該店舗群の情報をRAM13又は記憶装置14に一時的に格納する。具体的には、検索部113は、ユーザ端末30の現在位置から所定距離範囲(例えば、現在位置から半径5kmの範囲)内にある店舗群を特定(決定)する。
【0039】
(ステップS604)
検索部113は、店舗情報データベース142を参照して、特定された店舗群に含まれる各店舗の店舗情報及び空き情報(公式/非公式フラグ及び空き情報の受信日時を含む)を抽出し、RAM13又は記憶装置14に格納する。
【0040】
(ステップS605)
出力部114は、通信装置15を介して、ステップS603で特定した店舗群の情報と、ステップS4で取得した各店舗の店舗情報及び空き情報(公式/非公式フラグ及び空き情報の受信日時を含む)を、リクエストを送信してきたユーザ端末30に送信する。
【0041】
なお、図示は省略しているが、空席管理サーバ10は、以上の空き情報の配信処理と並行して、空き情報データベース143の更新処理を実行する。空き情報データベース143の更新処理では、受信部111により、入力端末20及びユーザ端末30から、少なくとも店舗ID、空席状態を示すデータ及び公式/非公式フラグを受信し、更新部112により、空き情報データベース143を更新する。空き情報データベース143の更新は、入力端末20又はユーザ端末30から空席状態を示すデータを受信するたびに実行する。
【0042】
<ユーザ端末30の空き情報処理>
図7は、ユーザ端末30における空き情報の処理手順を示すフローチャートである。ユーザ端末30は、
図7に示すフローチャートを実現するプログラムを実行する。
【0043】
(ステップS701)
生成部313は、通信制御部312を介して、ユーザ端末30の現在位置を示す位置情報(GPSデータ)を取得する。生成部313は、取得した位置情報を記憶部311に格納する。
【0044】
(ステップS702)
生成部313は、記憶部311からユーザ端末30の位置情報を取得し、当該位置情報を含む検索リクエストを生成し、通信制御部312を介して検索リクエストを空席管理サーバ10に送信する。空席管理サーバ10は、検索リクエストを受信すると、
図6に示した上述の処理を実行する。
【0045】
(ステップS703)
生成部313は、ステップS701で取得した位置情報及びユーザによって指定された地図の拡大率に応じて、記憶部311から地図情報(地図データ)を読み込み、表示制御部314を介して表示装置32の表示画面上に所望の地図を表示する。なお、地図の拡大率は事前に設定された固定値としてもよい。
【0046】
(ステップS704)
生成部313は、通信制御部312を介して、空席管理サーバ10から、ユーザ端末30の位置情報に応じた店舗群の店舗情報及び空き情報(公式/非公式フラグ及び空き情報の受信日時を含む)を取得して、記憶部311に格納する。
【0047】
(ステップS705)
生成部313は、空席管理サーバ10から受信した店舗群のうち、任意の1つの店舗を処理対象店舗として選択する。ここで選択される処理対象店舗は、例えば、緯度経度がユーザ端末30の位置情報に最も近い店舗とすることができる。別の例では、店舗ID1411が最も若い店舗を処理対象店舗として選択することもできる。
【0048】
(ステップS706)
生成部313は、記憶部311に格納されている処理対象店舗の公式/非公式フラグを参照し、空き情報が公式か否かを判断する。空き情報が公式である場合(Yes)、処理はステップS707に移行する。空き情報が非公式である場合(No)、処理はステップS708に移行する。
【0049】
(ステップS707)
生成部313は、記憶部311に格納されている処理対象店舗の空き情報を参照し、公式用表示ピンのオブジェクトデータの中から空き情報に対応するものを選択して、空き情報に基づいた公式用ピンデータを生成する。公式用表示ピンのオブジェクトデータは、空き情報に応じて色分けされている。例えば、公式用表示ピンのオブジェクトデータは、空き情報が「空きあり」である場合は青色、「やや混雑」である場合は黄色、「満席」である場合は赤色となっている。また、公式用表示ピンのオブジェクトデータに、空き情報に対応するテキストデータを重畳することにより各店舗の公式用ピンデータが生成される。すなわち、地図に表示されるピンには、1つの店舗の空き情報を示すテキストが含まれる。例えば、処理対象店舗の空き情報が「空きあり」であった場合は、ピンの中に「空きあり」というテキストを表示する。空き情報が「満席」であった場合は、「満席」というテキストを表示する。公式用ピンデータに含まれるテキストは、例えば白文字とすることができる。
【0050】
(ステップS708)
空き情報が非公式である場合、生成部313は、記憶部311に格納されている空き情報の受信日時を参照し、空き情報(非公式)の受信日時が、現在時刻から所定の時間以内(例えば、現在時刻の30分前以内)であるか否かを判断する。上記の所定の時間は、処理対象店舗に応じて変更することができる。例えば、処理対象店舗のジャンルがカフェである場合は所定の時間を30分とし、処理対象店舗のジャンルが居酒屋である場合は所定の時間を1時間とすることができる。別の形態では、処理対象店舗のジャンルごとに所定の時間を設定するのではなく、各店舗のユーザの回転率などに応じて店舗ごとに設定するようにしてもよい。また、別の形態では、上記の所定の時間は、すべての処理対象店舗において同じに設定してもよい。空き情報の受信日時が所定の時間以内である場合(Yes)、処理はステップS709に移行する。空き情報の受信日時が所定の時間以内でない場合(No)、処理はステップS710に移行する。
【0051】
(ステップS709)
生成部313は、記憶部311に格納されている空き情報を参照し、非公式用表示ピンのオブジェクトデータの中から空き情報に対応するものを選択して、空き情報に基づいた非公式用ピンデータを生成する。非公式用表示ピンのオブジェクトデータは、例えば、ピン自体の色が無色(白色)である。公式用表示ピンのオブジェクトデータに、「非公式」であることを示すテキストデータが重畳されることで、非公式用ピンデータが生成される。また、非公式用表示ピンのオブジェクトデータには、空き情報に対応するテキストデータが重畳され、当該テキストデータは空き情報に応じて色分けすることができる。
【0052】
(ステップS710)
空き情報(非公式)の受信日時が所定時間以内でなかった場合、生成部313は、記憶部311に格納されている白色ピンのオブジェクトデータを取得して、白色ピンデータを生成する。白色ピンデータは、単に店舗があることを地図上で示すためのものであり、テキストデータを含まない。別の形態では、例えば地図の拡大率が大きい場合は、店舗の名称、店舗のジャンル、又は、営業中若しくは営業時間外などを示すテキストデータを白色ピンデータに重畳して表示するようにしてもよい。
【0053】
ステップS706~S710で説明したように、本実施形態では、空き情報が公式の場合には、公式の空き情報の受信日時がいつであるかにかかわらず、最新の空き情報を表示する(最新の空き情報の受信日時が現在時刻からだいぶ離れていても表示する)。一方、空き情報が非公式の場合には、現在時刻が受信日時から所定時間内の場合にのみ空き情報を表示するようにしている。このことは、信頼性の高い空き情報を他のユーザに配信するという観点で有効である。ユーザによる投稿(非公式の空き情報)の場合は、投稿したユーザが店舗に在留し続けているかわからず、最後に投稿されてから所定時間経っても空き状況が変わらないのか、ユーザが店舗から退出したため投稿された空き情報は最新の空き状況ではないのかがわからないため、非公式の空き情報をどの程度継続して信頼していいかわからない。これに対し、公式の空き情報の場合は、基本的に管理しているのは店舗の店員であり、しばらく更新されていない場合であっても継続して空き状況に変更がないとみなすことができる。以上の理由から、空き情報が公式の場合には、空き情報の受信日時にかかわらず最新の空き情報を表示し、非公式の場合には現在時刻が受信日時から所定時間内の場合にのみ表示するようにしている。
【0054】
(ステップS711)
生成部313は、処理対象店舗の緯度経度にしたがって、ステップS707、ステップS709又はステップS710で生成したピンデータを地図上に配置する。なお、このとき、生成部313は、空き情報が「混雑」又は「満席」の店舗についてはピンデータを削除して配置せず、空き情報が「空き」を示す店舗のピンデータのみを配置するようにしてもよい。
【0055】
(ステップS712)
生成部313は、処理対象店舗の店舗情報及び空き情報(詳細情報)を含む第1の店舗詳細画像を生成する。第1の店舗詳細画像には、例えば、店舗の名称、空き情報、営業時間などをテキスト表示することができる。
【0056】
(ステップS713)
生成部313は、空席管理サーバ10から受信した店舗群のうち、未処理の店舗があるか否かを判断する。このとき、生成部313は、ステップS705において選択された店舗以外の店舗について、未処理であると判断する。未処理の店舗がある場合(Yes)、処理はステップS705に戻り、ステップS705~S713が上記と同様に実行される。未処理の店舗がない場合(No)、処理はステップS714に移行する。
【0057】
(ステップS714)
未処理の店舗がない場合、生成部313は、各処理対象店舗の第1の店舗詳細画像の並び順を決定する。具体的には、例えば、第1の店舗詳細画像をユーザ端末30の位置情報に近い店舗の順となるようにソートする。別の形態では、第1の店舗詳細画像の並び順は、空き情報が「空きあり」である店舗、次に「やや混雑」である店舗、次に「満席」である店舗の順であってもよい。
【0058】
(ステップS715)
表示制御部314は、ステップS711において生成部313により地図上に配置されたピンデータにしたがって、表示用ピンを表示装置32の表示画面に表示する。また、表示制御部314は、ステップS714において生成部313により順番が決定された第1の店舗詳細画像を地図上に重畳して表示する。
【0059】
一旦空き情報を照会したユーザ端末30は、所定時間ごと(例えば、10秒ごと)に最新の空き情報を取得するためのリクエスト(再リクエスト)を空席管理サーバ10に送信する。空席管理サーバ10は、当該再リクエストに応答して、最新の空き情報をデータベース141から取得し、ユーザ端末30に送信する。最新の空き情報を受信すると、ユーザ端末30は、最初のリクエストに対応して取得して地図上に表示した店舗群の空き情報を更新して表示画面上にピン表示する。
【0060】
以上、ユーザ端末30においてピンデータ及び第1の店舗詳細画像を生成することを説明したが、空席管理サーバ10側で、又は、表示用データを生成するための他の装置等において、ピンデータ及び第1の店舗詳細画像を生成してユーザ端末30に送信し、ユーザ端末30は表示する処理のみを行うようにしてもよい。
【0061】
<地図上でのUI表示例>
第1の実施形態による、ユーザ端末30の表示装置32の表示画面に表示されるUI表示の例を説明する。
【0062】
図8は、第1の実施形態における地図上に表示されるUI表示(ピン表示)の例を示す図である。
図8に示す例において、店舗A、店舗D及び店舗Eは、入力端末20を保有する店舗40であり、店舗A、店舗D及び店舗Eを指すピン(公式用ピン)は空き情報に応じて色分けされており、白文字で空き情報がテキスト表示されている。店舗B及び店舗Cは、入力端末20を保有しない店舗60であり、店舗B及び店舗Cを指すピン(非公式用ピン)は白色であり、「非公式」のテキストと、空き情報を示すテキストが表示されている。これにより、ユーザは、店舗A、店舗D及び店舗Eの空き情報が「公式」の情報であり、店舗B及び店舗Cの空き情報が「非公式」の情報であることを一目で認識することができる。店舗Fを指すピンは白色ピンであり、テキストを含んでいない。これは、上述のステップS710で生成されたピンであり、現在時刻から所定時間以内に投稿された空き情報がない場合に表示される。ピンの色分けやテキストの色については、空き情報が「公式」であるか「非公式」であるかをユーザが認識することができればよく、図示したものに限定されない。
【0063】
以上の通り、本実施形態において、店舗によって管理された店舗の空き情報に加えて、店舗の店員ではないユーザ(一般客)からも一部の店舗の空き情報の投稿を受け付け、店舗の空き情報として利用する。これにより、ユーザは、より多くの店舗の空き情報を参照できる。例えば、第1のユーザが投稿した店舗Bの空き情報に関して、第1のユーザによる空き情報の信憑性があるとみなされた場合には、第1のユーザとは異なる第2のユーザに対して店舗Bの空き情報を提供することができる。これにより、店舗の管理によって発信された空き情報に加え、店舗からは空き情報を発信していない店舗に関してもより多くの空き情報を参考にすることができる。また、第2のユーザは、店舗自身から発信された空き情報と、店舗以外の人(第1のユーザ)から発信された空き情報を識別可能なように網羅的に閲覧することができるため、空き情報の信頼性を判断することができる。
【0064】
地図上には、第1の店舗詳細画像80が重畳して表示されており、第1の店舗詳細画像80上を左にスワイプすることで、他の店舗の第1の店舗詳細画像が表示される。
図8に示す例においては、ユーザの現在位置70から最も近い店舗A(カフェレストランA)の第1の店舗詳細画像80が表示されている。第1の店舗詳細画像80には、サムネイル画像、店舗の名称、空き情報、現在位置からの徒歩での所要時間、営業時間などが含まれている。空席管理サーバ10の店舗情報データベース142には、店舗の外観やサービス内容を示すサムネイル画像用データが格納されていてもよく、ユーザ端末30は、上述のステップS704において店舗情報を取得する際にサムネイル画像用データも取得して、ステップS712においてこれらのサムネイル画像を含む第1の店舗詳細画像80を生成することができる。
【0065】
<ユーザ端末30の詳細情報の表示処理>
図9は、ユーザ端末30における第2の店舗詳細画像及び空き情報の投稿画面の表示手順を示すフローチャートである。ユーザ端末30は、
図9に示すフローチャートを実現するプログラムを実行する。
【0066】
(ステップS901)
生成部313は、ユーザによる第1の店舗詳細画像の選択を受け付ける。
【0067】
(ステップS902)
生成部313は、当該店舗の公式/非公式フラグを参照し、空き情報が公式であるか否かを判断する。空き情報が公式である場合(Yes)、処理はステップS909に移行する。空き情報が非公式である場合(No)、処理はステップS903に移行する。
【0068】
(ステップS903)
生成部313は、記憶部311からユーザ端末30の位置情報を取得する。
【0069】
(ステップS904)
生成部313は、記憶部311に格納された店舗情報(営業時間)を参照し、現在時刻が店舗の営業時間内であるか否かを判断する。営業時間内である場合(Yes)、処理はステップS905に移行する。営業時間外である場合(No)、処理はステップS908に移行する。なお、店舗が24時間営業の場合は、本ステップS904を省略してステップS905に移行するようにしてもよい。
【0070】
(ステップS905)
生成部313は、記憶部311に格納された店舗情報(緯度経度)を参照し、ステップS903で取得したユーザ端末30の位置情報と、店舗との距離を算出する。
【0071】
(ステップS906)
生成部313は、ユーザ端末30と店舗との距離が、所定の距離以下であるか否かを判断する。この所定の距離は、例えば、ユーザが店舗にいてもGPSのずれにより生じる範囲として設定することができる。GPSのずれが最大300m発生し得る場合は、所定の距離は、店舗の広さも加味して、例えば350mに設定することができる。所定の距離以下である場合(Yes)、処理はステップS907に移行する。所定の距離より大きい場合(No)、処理はステップS908に移行する。
【0072】
(ステップS907)
生成部313は、ユーザが空き情報を投稿するための各ボタンがアクティブとなっている投稿画面を生成する。ここで、現在時刻が営業時間内であり、ユーザ端末30と店舗との距離が近い(所定の距離以下)である場合は、ユーザが店舗内にいる可能性が高いとみなすことができる。このように、所定の条件を満たす場合にのみユーザが空き情報を投稿できるようにすることで、高い信頼性の空き情報を取得することができる。
【0073】
(ステップS908)
ステップS904において営業時間外であると判断された場合、又は、ステップS906において所定の距離より大きいと判断された場合、生成部313は、各ボタンが非アクティブとなっている投稿画面を生成する。このように、所定の条件が満たされない場合には、空き情報の投稿が受け付けられない。ただし、投稿画面を生成しないのではなく、各ボタンが非アクティブとなっている投稿画面を生成することで、条件を満たせば空き情報を投稿できる場合があることを、ユーザに暗に示すことができる。
【0074】
(ステップS909)
生成部313は、当該店舗の店舗情報及び空き情報を含む第2の店舗詳細画像を生成する。第2の店舗詳細画像は、第1の店舗詳細画像よりも当該店舗に関する情報量が多く、表示画面上の表示領域の大きさが大きい。
【0075】
(ステップS910)
店舗の空き情報が公式である場合、表示制御部314は、ステップS909で生成された第2の店舗詳細画像を表示装置32の表示画面に表示する。このように、店舗の店員が入力端末20を介して空き情報を更新している場合には、ユーザからの空き情報の投稿を受け付けるための投稿画面は表示されない。これにより、ユーザに、空き情報として採用されることのない情報の入力を誘導することがない。これにより、自ら空き情報を発信しようとする店舗による発信を優先することができる。このことは、例えば、現在店舗に空席が多数あるが、貸し切りとなる時間が近づいているため「満席」としておきたい場合など、店舗の営業上の事情を空き情報の正確さよりも優先したい場合にも有効である。
【0076】
店舗の空き情報が非公式である場合、表示制御部314は、ステップS909で生成された第2の店舗詳細画像と、ステップS907又はステップS908で生成された投稿画面とを、切り替え可能なように表示装置32の表示画面に表示する。第2の店舗詳細画像と投稿画面との切り替えは、例えば、タブの選択により行うようにすることができる。
【0077】
以上の通り、ユーザ端末30から店舗の空き情報(非公式)を送信する場合、店舗との距離が近い場合にのみ受け付ける。これにより、ユーザ端末30からいたずら目的や不正確な空き情報が送信されてしまうのを抑制する。なお、店舗40の入力端末20から店舗40の空き情報が送信される場合は、ステップS906のように距離が近いか否かを判定することなく、常に空き情報を受け付ける。店舗40の入力端末20の場合は、事前に店舗40自身からの空き情報であることがわかるように店舗40に対応する端末ID1437が登録されているため、距離に応じた判定をすることなく信頼性の高い空き情報であるとみなせる。さらには、入力端末20自体が店舗内にない場合でも、店舗40を運営する管理者が店舗40内で勤務する店員からの連絡を受けて空き情報を送信する場合もあり、距離に関わらず店舗40の空き情報としてみなすことができる。
【0078】
<第2の店舗詳細画像の表示例>
図10は、ユーザ端末30の表示装置32の表示画面に表示される第2の店舗詳細画像90の一例を示す図である。
図10に示すように、第2の店舗詳細画像90には、サムネイル画像、店舗の名称、空き情報、現在位置からの徒歩での所要時間、営業時間、PR文(店舗紹介)、電話番号及び住所などが含まれている。このように、第2の店舗詳細画像90には、
図8に示した第1の店舗詳細画像80よりも多くの情報が含まれている。
【0079】
<投稿画面の表示例>
図11は、ユーザ端末30の表示装置32の表示画面に表示される投稿画面91の一例を示す図である。
図11においては、ユーザが店舗B(キッチンB)の第1の店舗詳細画像を選択した場合に表示される画面を示している。投稿画面91は、空き状況タブ911と、詳細情報タブ912とが切り替え可能になっている。空き状況タブ911では、ユーザが店舗Bの空き状況を選択するためのボタン913~915(「空席あり」ボタン913、「やや混雑」ボタン914及び「満席」ボタン915)と、選択した空き状況を空席管理サーバ10に送信するための投稿ボタン916とが表示されている。ユーザがボタン913~915のいずれかを選択して、投稿ボタン916をタップすると、選択された空席状況と、非公式フラグと、店舗Bの店舗IDと、ユーザ情報とが、空席管理サーバ10に送信される。そして、空席管理サーバ10は、ユーザ端末30から受信した情報にしたがって、空き情報データベース143を更新する(公式/非公式フラグ1433を「非公式」とし、空き情報1432、受信日時1434、ユーザID1435、ユーザ名1436及び端末ID1437を更新する)。ユーザが詳細情報タブ912を選択すると、
図10に示したような第2の店舗詳細画像に切り替わる。
【0080】
<第1の実施形態のまとめ>
第1の実施形態に係る空席管理システム1において、ユーザ端末30から空き情報の検索リクエストを空席管理サーバ10に送信すると、空席管理サーバ10は、検索リクエストに応答してユーザ端末30の位置に基づいて店舗群(ユーザが入力した検索条件に合致する店舗の集合)を特定し、それらの空き情報を店舗情報と共にユーザ端末30に送信する。ユーザ端末30は、各店舗の空き情報が公式(店舗40の入力端末20から発信された空き情報)であるか非公式(店舗60を訪れたユーザ端末30から投稿された空き情報)であるかを判断して、公式の空き情報と非公式の空き情報とが一目で認識できるように、地図上にピン表示する。これにより、地図上に表示された空き情報の信頼性をユーザが認識することができる。
【0081】
店舗自らからの空き情報の発信がない店舗60に関して、ユーザ端末30が店舗付近にいることが認められ、かつ、ユーザ端末から空き情報を受信した日時が所定時間以内である場合は、さらに他のユーザ端末30において、ユーザ端末30から投稿された空き情報が店舗60の空き情報として表示される。これにより、店舗自ら空き情報を発信する店舗40の空き情報に加え、店舗自らからの空き情報の発信がない店舗60に関しても、訪問するか否かを判断する上での参考として空き情報を閲覧することができる。
【0082】
ユーザ端末30は、さらに、地図上に店舗詳細画像を重畳して表示する。ユーザがある店舗の店舗詳細画像を選択すると、ユーザ端末30は、当該店舗の空き情報が非公式であり、かつ所定の条件を満たす場合には、空き情報を投稿するための投稿画面を表示する。このように、入力端末20を保有していない店舗60の空き情報をユーザが投稿できるようにすることで、入力端末20を保有していない店舗60の空き情報と入力端末20を保有している店舗40の空き情報のいずれについても、ユーザが確認することができる。結果として、入力端末20を保有している店舗40の空き情報のみを配信する場合と比較して、本実施形態の空席管理システム1は、ユーザが訪れる店舗の選択肢をより多くすることができる。また、所定の条件を満たす場合にのみ空き情報を投稿できるので、いたずらなどによる信頼度の低い空き情報を受け付けることがない。
【0083】
<第1の実施形態の変形例>
空席管理サーバ10がユーザ端末30からの検索リクエストに対する応答として、店舗群の店舗情報と空席状態を送信する際(ステップS605)、空席管理サーバ10は、現在時刻が各店舗の営業時間内であるかを判断して、営業時間内の店舗の店舗情報と空き情報のみをユーザ端末30に送信するようにしてもよい。この場合、ユーザ端末30は、上述のステップS904における営業時間内であるか否かの判断を行わなくてもよい。
【0084】
また、空席管理サーバ10はユーザ端末30からの空き情報を受信すると空き情報データベース143を更新して店舗に対応する空き情報とし、ユーザ端末30が非公式の空き情報に関して受信日時が所定時間以内であるか否かを判定するようにした。しかしながら例えば、空席管理サーバ10は、定期的に空き情報データベース143を監視し、非公式情報であり、かつ受信日時から所定時間を超えた空き情報をキャンセルするようにしてもよい。この場合、空席管理サーバ10からは、ユーザ端末30において店舗の空き情報として利用されない非公式情報が送信されることはないので、ユーザ端末30において空き情報処理をする際に、非公式情報の受信日時が所定時間以内か否かを判定するステップ(S708)は不要となる。なお、空席管理サーバ10から店舗情報を受信したときに、空き情報及び公式/非公式フラグが付帯されていない場合が起こりうる。この場合ユーザ端末30は、空き情報があるか否かを判定し、空き情報がある店舗にのみ、店舗に対応するピンを配置するようにしてもよいし、空き情報がないには白色ピンデータを生成するステップ(S710)を実行するようにしてもよい。
【0085】
また、店舗40の入力端末20について、空席管理サーバ10は端末ID1437を事前に店舗40の入力端末20として設定しておくこととし、空き情報1432と連動して端末ID1437も更新されることはないとした。例えば、店舗の店員がGUI画面を介して空き情報を入力する前に、店舗40のアカウント情報を用いたログインをした場合に限り、入力端末20から空き情報を送信できるようにしてもよい。この場合、空席管理サーバ10は、店舗40に対応するアカウント情報(例えば、メールアドレスとパスワードなど)を管理し、端末ID1437を事前に設定する必要はない。この場合は、店舗40に対応するアカウントから送信された空き情報を公式な情報として利用することになる。また、複数の入力端末20を用いて空き情報を送信した場合には、店舗40に対応する端末ID1437がその都度更新されることになる。
【0086】
空席管理サーバ10は、公式な空き情報と非公式な公式情報を、それぞれ識別するためのフラグとともに同一のテーブルに記憶することとしたが、それぞれ別のテーブルとしてもよい。空席管理サーバ10が入力端末20に提供するGUI画面と、ユーザ端末30に提供する投稿画面は異なる画像であり、GUI画面に対する操作により送信された空き情報と、投稿画面に対する操作により送信された空き情報それぞれを識別可能なように、空席管理サーバ10に送信すればよい。この場合、例えば店員自身が個人利用を目的として保有する端末を、入力端末20とユーザ端末30それぞれとして併用することも可能である。同じ端末から送信された空き情報でも、店舗40からの空き情報を受け付けるGUI画面を介して送信された場合には、空席管理サーバ10は、公式な情報として受け付け、ユーザによる空き情報の投稿のための投稿画面を介して送信された場合には、空席管理サーバ10は、非公式な情報として受け付ける。
【0087】
また、上述の実施形態では、飲食店の空き情報を例に説明したが、これに限らない。例えば、飲食店以外にも映画館やスポーツスタジアム、駐車場などの施設の空き情報にも、本実施形態の技術を適用できる。また、本実施形態の空席管理システム1は、席を提供されないが人の多さが変動するような施設における利用者の混雑状況を管理してもよい。具体的には、例えばスーパーマーケット、スポーツジム、自治体や銀行の窓口、温泉施設などの混雑状況を示す情報を管理してもよい。この場合、例えば、空席管理サーバ10は、「空いている」「やや混雑」「混雑」のいずれかによって表される混雑情報を管理し、配信する。
【0088】
[第2の実施形態]
上述の第1の実施形態においては、所定の条件を満たす場合(現在時刻が営業時間ないであり、ユーザ端末30の位置が店舗から所定の距離以内である場合)に、ユーザ端末30からの空き情報の投稿を受け付けることを説明した。第2の実施形態においては、投稿された空き情報の信頼性を向上するため、ユーザが空き情報を投稿する際に店舗の画像(写真)を添付するようにする技術を提案する。
【0089】
<投稿画面の表示例>
図12は、ユーザ端末30の表示装置32の表示画面に表示される投稿画面92の一例を示す図である。投稿画面92において、第1の実施形態の投稿画面91と同じボタンには同じ符号を付している。
図12に示すように、投稿画面92は、「写真を追加」ボタン921をさらに含んでいる点で、第1の実施形態の投稿画面91と異なっている。ユーザが「写真を追加」ボタン921をタップすると、写真ライブラリから写真を選択してアップロードするか、カメラを起動して写真を撮影するかを選択することができる。写真がアップロードされていないのに投稿ボタン916がタップされた場合は、「店舗の写真を追加してください」といったテキストを表示する。別の形態では、写真がアップロードされた場合に、投稿ボタン916がアクティブになるようにしてもよい。投稿画面92には、例えば「店舗の外観、看板、店舗内のテーブルの写真など、店舗に関する写真を添付してください」というテキストや、「テーブルや店内風景、地面や天井など撮影対象は問いません」というテキストなど、添付する写真がどのようなものであればよいかをガイドするテキストが含まれていてもよい。
【0090】
<空席管理サーバ10の空き情報の更新処理>
図13は、空席管理サーバ10の空き情報の更新処理手順を示すフローチャートである。空席管理サーバ10は、
図13に示すフローチャートを実現するプログラムを実行する。
【0091】
(ステップS1301)
空席管理サーバ10の受信部111は、ユーザ端末30から、ユーザが投稿画面92から入力した空き情報と、添付された写真の画像情報とを受信する。画像情報には、画像データ(写真)の他に、例えばEXIFデータなどの、撮影日時及び撮影場所の位置情報を示すデータが含まれる。
【0092】
(ステップS1302)
更新部112は、受信部111が受信した画像情報(撮影日時)を参照して、写真の撮影時刻が現在時刻から所定の時間以内(例えば、現在時刻の30分前以内)であるか否かを判断する。写真の撮影時刻が所定の時間以内である場合(Yes)、処理はステップS1303に移行する。写真の撮影時刻が所定の時間以内でない場合(No)、処理はステップS1305に移行する。
【0093】
(ステップS1303)
更新部112は、受信部111が受信した画像情報(撮影場所の位置情報)を参照して、写真の撮影場所と店舗との距離が、所定の距離以下であるか否かを判断する。この所定の距離は、例えば、第1の実施形態で説明したステップS906と同様に設定することができる。所定の距離以下である場合(Yes)、処理はステップS1304に移行する。所定の距離より大きい場合(No)、処理はステップS1305に移行する。
【0094】
(ステップS1304)
更新部112は、受信部111が受信した空き情報に基づいて、空き情報データベース143を更新する。
【0095】
(ステップS1305)
写真の撮影時刻が現在時刻から所定の時間以内でない場合、又は、写真の撮影場所と店舗との距離が所定の距離以下でない場合は、ユーザの投稿の信頼性が低いとみなすことができる。したがって、更新部112は、空き情報データベース143を更新しない。
【0096】
<第2の実施形態のまとめ>
第2の実施形態において、空席管理サーバ10は、ユーザ端末30から空き情報とともに画像データ、撮影日時及び撮影場所を含む画像情報を受信して、写真の撮影時刻が現在時刻から所定時間以内であり、写真の撮影場所と店舗との距離が所定の距離以内である場合に、空き情報データベース143を更新する。このように、空席管理サーバ10は、ユーザ端末30から受信した画像情報に基づいてユーザが店舗にいると判断できる場合に、空き情報データベース143を更新する。これにより、信頼性の高い空き情報のみを空き情報データベース143に登録することができる。
【0097】
例えばユーザが、空席管理システム1のサービス専用のアプリケーションを介してではなく、Webブラウザを介して空席管理システム1のサービスを利用している場合など、ユーザ端末30から位置情報を取得できない場合でも、本実施形態によれば、画像情報に含まれる位置情報に基づいてユーザ端末30の位置を判定することができる。なお、第1の実施形態の技術と第2の実施形態の技術とは組み合わせることができ、ユーザ端末30から位置情報を取得できる場合にも、ユーザ端末30から撮影場所の位置情報を含む画像情報を受信して、撮影位置を判断することができる。
【0098】
<第2の実施形態の変形例>
第2の実施形態では、ユーザから受信した画像情報に含まれる位置情報に基づいてユーザ端末30の位置を判定することについて説明した。別の形態では、画像情報には、撮影場所の位置情報は含まれていなくてもよい。この場合、空席管理サーバ10は、任意の機械学習手法などにより画像データを解析することによって、当該店舗に関する写真であるか否かを判定する。画像データの解析において、空席管理サーバ10は、例えば、予め登録された店舗に関する写真(例えば、外観、内装、看板などの写真)と、ユーザ端末30から受信した写真との類似度を計算して、受信した写真の信頼度を判定することができる。なお、画像データの解析は、空席管理サーバ10ではなく他の解析用の装置を用いて行ってもよい。
【0099】
空席管理サーバ10は、上述のステップS605において、ユーザ端末30から受信した写真を空き情報などと共にユーザ端末30に送信してもよい。そして、ユーザ端末30は、第1の店舗詳細画像又は第2の店舗詳細画像に、ユーザにより投稿された写真の一覧を含めるようにしてもよい(ステップS712又はステップS909)。
【0100】
[変形例]
以上の実施形態において、ユーザ端末30の位置を位置情報として取得し、ユーザ端末30の位置を基準として店舗群を特定する方法を説明したが、位置情報はこれに限らない。例えばユーザ端末30における表示装置32がタッチパネルディスプレイであり、入力部としても機能する場合に、表示装置32に表示された地図上の位置をユーザがタップすることにより、ユーザが位置情報を指定し、指定した位置情報(基準位置)を空席管理サーバ10に送信するようにしても良い。この場合、空席管理サーバ10は、指定された位置情報に応じて店舗群を特定する。
【0101】
以上の実施形態において、事前に店舗端末として登録された端末から空き情報が送信される場合(公式の空き情報がある場合)には、ユーザ端末からの空き情報の投稿を受け付けないこととしたが、上述の実施形態における所定の条件を満たす場合には、公式の空き情報がある店舗についてもユーザによる空き情報の投稿を受け付けるようにすることもできる。この場合、公式の空き情報がある店舗に関しては、ユーザによる空き情報は他のユーザに公開せず、ユーザに公開する空き情報は公式の空き情報を利用するようにすることとしてもよい。例えば、ユーザ端末30が店舗付近にいることが認められる場合に、店舗40に関しても空き情報の投稿を受け付ける。ただしこのとき投稿された空き情報は、店舗40に通知する、あるいは過去のデータとして蓄積するなどに利用して、リアルタイムな空き情報の配信には利用しないようにすることで、第1の実施形態と同等の空き情報の配信を実現できる。
【0102】
以上の実施形態において、入力端末20としてコンピュータデバイスを用いる場合について説明したが、入力端末20としては、例えばカメラ又は人感センサなどの、店舗40の空席状態をリアルタイムに検出するセンサを用いることもできる。入力端末20がカメラである場合、カメラは、店舗40内や待機列にいる人を検出して、空き状況を判断し、空席管理サーバ10に送信するように構成される。別の形態では、カメラの映像データを用いて、空席管理サーバ10が空き状況を判断するようにしてもよい。入力端末20が人感センサである場合、人感センサは、例えば座席ごとに設置され、すべての人感センサの検出結果を空席管理サーバ10に送信するように構成される。
【0103】
以上の実施形態において、ユーザ端末30は周辺店舗の空席状態を画面表示する例を説明したが、これに代えて常に特定の店舗の空席状態のみを空席管理サーバ10へ照会するようにしてもよい。さらにユーザ端末30は、空席状態を照会する店舗の属性(例:ジャンル1423などの店舗のカテゴリ情報)を指定してもよい。この場合、出力部114は、その指定された属性に合致する店舗の空き情報のみをユーザ端末30に対して返信する。
【0104】
以上の実施形態において、ユーザ端末30は必ずしもユーザが携帯する端末でなくともよい。例えば特定場所に設置されているコンピュータなどの通信デバイスをユーザ端末30として用いてもよい。例えば人通りが多い場所に固定設置されているデジタルサイネージ端末をユーザ端末30として構成してもよい。この場合は必ずしもデジタルサイネージ端末の周辺店舗に関する空き情報を表示する必要はなく、端末設置者が所望する場所の店舗に関する空き情報を表示することもできる。
【0105】
以上の通り、本開示の技術は、上述の実施形態の1つ以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し作動させる処理によって実現することができる。また、1以上の機能を実現する回路によって実現しても良い。
【0106】
本開示は、上述した実施形態に限定されるものでなく、様々な変形例を含んでいる。例えば、上述した実施形態は、本開示を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備える必要はない。また、ある実施形態の一部を他の実施形態の構成に置き換えることができる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の実施形態の構成の一部を追加、削除又は置換することもできる。
【符号の説明】
【0107】
1…空席管理システム
10…空席管理サーバ
20…入力端末
30…ユーザ端末
40、60…店舗
50…ネットワーク