以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、ユーザから受信したメッセージに含まれる場所情報に応じて、1以上の店舗を選択し、当該選択した店舗からの情報である店舗情報を、当該ユーザを含むユーザグループに送信する情報システムについて説明する。
また、本実施の形態において、店舗の店舗装置に対して、ユーザに店舗情報を送信するか否かを問い合わせ、店舗情報を送信するとの回答の場合に、当該回答を送信した1以上の店舗からの店舗情報を、当該ユーザを含むユーザグループに送信する情報システムについて説明する。
また、本実施の形態において、場所情報だけではなく、日時、メッセージ内の行為を示す行為情報、またはユーザの位置情報をも用いて、1以上の店舗を選択し、当該選択した店舗からの情報である店舗情報を、当該ユーザを含むユーザグループに送信する情報システムについて説明する。
また、本実施の形態において、評判、予約状況等の店舗の情報をも用いて、1以上の店舗を選択し、当該選択した店舗からの情報である店舗情報を、当該ユーザを含むユーザグループに送信する情報システムについて説明する。
また、本実施の形態において、性別、利用店舗の履歴、ユーザグループの人数、ユーザの信頼度などのユーザの個人情報をも用いて、1以上の店舗を選択し、当該選択した店舗からの情報である店舗情報を、当該ユーザを含むユーザグループに送信する情報システムについて説明する。
また、本実施の形態において、店舗に対応付けてポイントを管理しており、店舗情報の送信により、当該ポイントが減っていく情報システムについて説明する。
また、本実施の形態において、店舗情報は、ユーザのメッセージと同様の態様で出力される情報システムについて説明する。
さらに、本実施の形態において、店舗情報は他のユーザのメッセージと視覚的に区別可能に出力される情報システムについて説明する。
図1は、本実施の形態における情報システムの概念図である。情報システムは、情報処理装置1、2または3以上の端末装置2、および1または2以上の店舗装置3を備える。情報処理装置1は、メッセージの送受信、店舗情報の送信等を行うサーバ装置である。端末装置2は、ユーザが所有する端末であり、例えば、いわゆるスマートフォン、携帯電話、タブレット端末、ノートパソコン等である。店舗装置3は、通常、店舗に設定されている端末である。但し、店舗装置3は、店舗の経営者等が使用する端末であり、店舗に設置されていなくても良い。
図2は、本実施の形態における情報システムのブロック図である。情報システムを構成する情報処理装置1は、ユーザ情報格納部101、グループ情報格納部102、店舗関連情報格納部103、選択条件格納部104、対話関連情報格納部105、受信部106、送信部107、店舗選択部108、問合部109、回答受信部110、店舗情報取得部111、店舗情報送信部112、ポイント使用部113、生成部114、および処理部115を備える。
端末装置2は、端末格納部20、端末受付部21、端末送信部22、端末受信部23、端末処理部24、および端末出力部25を備える。
店舗装置3は、店舗格納部30、店舗受付部31、店舗送信部32、店舗受信部33、店舗処理部34、および店舗出力部35を備える。
情報処理装置1を構成するユーザ情報格納部101は、2以上のユーザ情報を格納し得る。ユーザ情報は、ユーザに関する情報である。ユーザ情報は、通常、ユーザ識別子とユーザの個人情報とを有する。ユーザ識別子は、ユーザを識別する情報である。ユーザ識別子は、ユーザが保持する端末装置2を識別する端末識別子でも良いし、ユーザへ情報を送信する際の送信先を識別する送信先識別子でも良い。ユーザ識別子は、例えば、端末装置2の電話番号、ユーザID、メールアドレス、送信先の端末装置2のMACアドレス、氏名等である。また、個人情報は、例えば、性別、ユーザの利用店舗の履歴、ユーザが属するグループの人数、ユーザの信頼度などである。なお、グループの人数は、ユーザが属するグループの端末装置2の数でも良い。
なお、送信する情報は、例えば、メッセージである。メッセージは、例えば、イベントへの参加を促すイベント開***報である。また、ユーザ情報は、ユーザの属性を示す1以上のユーザ属性値を有することは好適である。ユーザ属性値は、頻繁には変化しない固定的な属性値である静的属性値、または動的に変化する属性値である動的属性値である。静的属性値は、ユーザの性別、年齢、年齢帯(例えば、20代、30歳〜49歳等)、ユーザの職業等である。動的属性値は、ユーザが保持している端末装置2の位置を示す位置情報、ユーザが居る場所の天気、気温、季節、日時、時間、曜日、イベント識別子と参加または不参加を示す情報、イベントの参加頻度情報、幹事毎のイベントの参加頻度情報、イベントの種類ごとのイベントの参加頻度情報、イベント識別子と当該イベントに参加したか否かを示す情報(参加/不参加を示す情報)、ユーザの状態等である。ユーザ属性値は、ユーザの属性、特性を示す情報であれば何でも良い。なお、参加頻度情報とは、イベントの参加頻度に関する情報であり、例えば、参加率や参加回数や単位期間(例えば、1年)における参加率や単位期間における参加回数等である。また、ユーザ情報は、1以上の参加者候補識別子を有していても良い。参加者候補識別子は、イベントの参加候補者となる者の識別子であり、例えば、第二識別子や第二識別子に対応するユーザ識別子等である。ユーザ情報は、イベント種類識別子または参加者グループ識別子ごとに、1以上の参加者候補識別子を有していても良い。ここで、イベント種類識別子は、イベントの種類を示す情報であり、参加者グループ識別子は、ユーザがイベント開***報を送信したい1以上のグループを識別する情報である。参加者グループ識別子は、イベント種類識別子の概念を含む、と考えても良い。なお、ユーザの状態とは、ユーザの状態とは、例えば、暇か否かを示す情報、現在空いているか否かを示す情報、現在イベントに参加可能であるか否かを示す情報、ある種類のイベント(例えば、ゴルフやフットサルや飲み会等)に参加したいと考えていることを示す情報等である。
グループ情報格納部102は、2以上のグループ情報を格納し得る。グループ情報とは、グループに関する情報である。グループ情報は、2以上のユーザ識別子を含む。グループとは、メッセージを送受信するグループである。
グループは、イベントを参加する候補のユーザの集合や、1以上のイベント参加者を含むユーザの集合であっても良い。なお、イベント参加者を含むユーザの集合等は、イベントの幹事を含む。なお、かかるイベント参加者のユーザの集合をイベントグループという。なお、幹事は、イベント開***報を端末装置2に入力した者である。グループ情報は、例えば、イベント識別子、イベント関連情報を含む。イベント識別子は、イベントを識別する情報であり、例えば、情報処理装置1が生成したユニークな情報であるが、幹事の第一端末装置2が送信してきた情報等でも良い。また、イベント識別子は、グループ情報に含まれる、と考えても良い。グループ情報は、例えば、イベントの種類を示すイベント種類識別子を有する。イベント種類識別子は、例えば、「飲み会」「フットサル」「ゴルフ」等を示す情報である。グループ情報は、例えば、イベント内容情報を含む。イベント内容情報は、例えば、イベントの内容を示す情報、イベント開催時日、イベントが行われる場所、参加数制限情報などを有する。参加数制限情報とは、イベントへの参加数の制限に関する情報である。参加数制限情報は、幹事を含んでも含まなくても良い。また、グループ情報は、例えば、イベント関連情報を含む。イベント関連情報は、イベントに関連する情報である。また、イベント関連情報は、イベント参加者が送信した情報を含むことは好適である。イベント参加者が送信した情報とは、イベントの写真、イベントに対するコメント等の文字列、イベントの動画等である。また、グループ情報は、例えば、イベントの参加者を識別する2以上の参加者情報を含む。グループ情報は、イベントに不参加の者を示す1以上の不参加者情報を含んでも良い。参加者情報および不参加者情報は、例えば、2以上の端末識別子を有する。2以上の端末識別子は、イベントへの参加を呼びかけるユーザの端末装置2を識別する情報を含む。また、2以上の端末識別子は、イベントへの参加者または不参加者であるユーザの端末装置2を識別する情報を含む。また、グループ情報格納部102は、各グループ情報に対応付けて、イベントの参加募集の終了のフラグ等を保持しても良い。
店舗関連情報格納部103は、1以上の店舗関連情報を格納し得る。店舗関連情報とは、店舗に関連する情報である。店舗関連情報は、店舗情報と店舗の位置を示す位置情報とを有する。店舗関連情報は、店舗の評判を示す評判情報、または予約状況を示す予約情報をも有しても良い。なお、予約情報は、空席の有無を示す情報でも良い。予約情報は、現在の予約状況を示す情報または現在の空席の有無を示す情報でも良いし、時間帯ごとの予約状況を示す情報または時間帯ごとの空席の有無を示す情報等でも良い。また、店舗関連情報は、店舗情報の送信に関する権利についての情報であるポイントを有しても良い。店舗情報が送信されれば、通常、当該店舗情報に対応するポイントは、減じられる。そして、通常、「0」のポイントに対応する店舗情報は、送信されない。
なお、店舗情報は、店舗に関する情報であり、通常、店舗の広告情報である。店舗情報は、宣伝広告するだけの情報でも良いし、割引や特典等を示すクーポンの情報でも良い。店舗情報は、通常、1以上の被検索情報と対応付いている。被検索情報とは、店舗の選択に用いられる情報であり、例えば、キーワード、時間帯、場所情報、カテゴリー等である。
また、上記の位置情報とは、位置座標(緯度,経度)でも良いし、位置を示すIDでも良いし、住所の全部または一部等でも良い。
また、店舗情報は、端末装置2において、ユーザが端末装置2に入力し、他のユーザの端末装置2に送信されたメッセージと同じ態様で出力されることは好適である。また、店舗情報は、端末装置2において、他のユーザのメッセージと視覚的に区別可能なように出力されることは好適である。なお、他のユーザとは、グループ内の、自分以外のユーザである。また、メッセージは、例えば、待ち合わせのためのメッセージ、イベントに誘うためのメッセージ等である。
選択条件格納部104は、店舗を選択するための条件である選択条件を格納し得る。選択条件は、通常、位置情報を含む条件である。選択条件は、例えば、店舗を示す位置情報(例えば、(緯度,経度))が、ユーザが居るまたはイベント(例えば、飲み会等)を行う場所を示す場所情報(例えば、「神戸」)に含まれる位置を示す情報であることである。また、選択条件は、例えば、位置情報が示す地点と場所情報が示す地点との距離が閾値以内であることである。また、選択条件は、例えば、位置情報(例えば、(緯度,経度))が場所情報(例えば、「三ノ宮駅」)から、徒歩X(Xは正の数)分内であることである。
また、選択条件は、場所情報、日、日時、行為情報、ユーザの位置情報のうちの1以上の情報に関する条件を示す情報であっても良い。行為情報とは、グループで行おうとしている行為を特定する情報であり、例えば、「飲む」「ゴルフ」「ランチ」「ディナー」等である。
対話関連情報格納部105は、1以上の対話関連情報を格納し得る。対話関連情報は、端末装置2から送信されたメッセージを含む。対話関連情報は、グループ間で行われる対話に関する情報である。また、対話関連情報は、ここでは、例えば、イベントの幹事と、イベントの参加候補者の対話である1以上の対話に関する情報である。対話関連情報は、例えば、イベントの幹事またはイベントの参加候補者であるユーザにより入力された対話情報(メッセージと同意義である。)を含む。対話情報は、通常、イベントに参加する前の情報であり、通常、テキストであるが、静止画や動画や音声等であっても良い。また、対話情報は、通常、対話の情報である。対話の情報とは、イベントへの参加を促す文章、イベントへ参加を表明する文章、イベントに参加しない旨を示す文章、イベントの詳細情報を示す情報、イベントに関する質問を示す文章等である。また、対話関連情報は、イベントを識別するイベント識別子、ユーザを識別するユーザ識別子を有する。ユーザ識別子は、送信先識別子または端末識別子と同一でも良い。ユーザ識別子は、対話情報を入力したユーザの識別子である。ユーザ識別子は、例えば、ユーザの氏名、名前、ユーザID、メールアドレス、電話番号、IPアドレス等である。また、対話関連情報は、対話情報の種類を示す情報種類識別子を有しても良い。情報種類識別子は、例えば、イベント開***報(例えば、「1」)、参加情報(例えば、「2」)、不参加情報(例えば、「3」)、その他(例えば、「4」)があり得る。イベント開***報は、イベントの開催を知らせ、参加者を募る情報であり、通常、テキストを有する。イベント開***報は、イベント開催を示すフラグを有しても良い。参加情報は、イベントへの参加を知らせる情報であり、通常、テキストを有する。参加情報は、参加の意思を示すフラグを有しても良い。不参加情報は、イベントへの参加しないことを知らせる情報であり、通常、テキストを有する。不参加情報は、不参加の意思を示すフラグを有しても良い。
受信部106は、端末装置2から、情報や指示等を受信する。受信部106は、例えば、一のユーザの端末装置2から場所情報を含むメッセージを受信する。また、受信部106は、場所情報に対応付いたメッセージを受信しても良い。また、受信部106は、メッセージと当該メッセージを送信した端末装置2の端末識別子とを受信しても良い。なお、場所情報は、例えば、地名、駅名、地点名、名勝の名前、(緯度,経度)等である。場所情報は、場所や範囲を特定できる情報であれば何でも良い。
また、受信部106は、メッセージと端末識別子と共に、メッセージを送信する送信先を示す1以上の端末識別子を有しても良い。なお、かかる1以上の端末識別子は、例えば、イベントへの参加候補者の識別子であり、例えば、幹事が選択した参加候補者の端末識別子である。また、ここでの端末識別子は、送信先識別子またはユーザ識別子と同じでも良い。また、受信部106は、イベント開***報と端末識別子と共に、イベント種類識別子(例えば、「飲み会」「ゴルフ」等)を受信しても良い。イベント種類識別子は、通常、参加候補者を決定するために使用される。また、受信部106は、イベント開***報と情報種類識別子と端末識別子とを端末装置2から受信しても良い。かかる場合の情報種類識別子は、ここでは、受信された情報がイベント開***報であることを示す情報である。なお、情報種類識別子は、受信された情報の種類を示す情報であり、特に、受信されたメッセージの種類を示す情報である。また、イベント開***報は、文字列でも良いが、タグ等により構造化された情報でも良い。構造化された情報とは、例えば、「<内容>飲み会 <場所>○○店 <日時>12月5日 20:00 <コメント>飲みに行かない?」である。また、受信部106は、イベント開***報と端末識別子とに加えて、イベントへの参加募集の終期の情報を受信しても良い。また、イベント開***報が有するイベントの場所は、店舗名でも良いし、位置情報(例えば、(経度,緯度)の情報)でも良いし、待ち合わせ場所を示す場所情報(駅名、ランドスケープ等)等でも良い。また、受信部106は、イベント開***報と第一識別子とに加えて、イベント開始日時を受信しても良い。なお、受信部106がイベント開***報と共に受信するイベント開始日時等は、幹事であるユーザが端末装置2に入力し、端末装置2から送信された情報である。
また、受信部106は、イベントに参加する旨の情報を含むメッセージである参加情報と端末識別子とを、参加者の端末装置2から受信する。参加情報は、参加を示すフラグだけでも良いし、参加を示すフラグとコメントでも良いし、参加の意思が記載されたコメント等でも良い。また、受信部106は、イベントに参加しない旨の情報を含む不参加情報と端末識別子とを端末装置2から受信する。不参加情報は、不参加を示すフラグだけでも良いし、不参加を示すフラグとコメントでも良いし、不参加の意思が記載されたコメント等でも良い。なお、参加を示すフラグは、例えば、端末装置2のユーザが、イベントに参加することを意味するボタンの押下やメニュー項目の選択を行うこと等により、端末装置2に入力された情報である。また、同様に、不参加を示すフラグは、例えば、端末装置2のユーザが、イベントに参加しないことを意味するボタンの押下やメニュー項目の選択を行うこと等により、端末装置2に入力された情報である。また、受信部106は、参加情報または不参加情報、情報種類識別子、および端末識別子を端末装置2から受信しても良い。かかる場合の情報種類識別子は、ここでは、受信された情報が参加情報または不参加情報であることを示す情報である。さらに、受信部106は、例えば、参加情報または不参加情報、第二識別子に加えて、イベントを識別するイベント識別子を受信する。
また、受信部106は、生成部114がイベントのグループ情報を生成した後、イベント参加者の端末識別子で識別される端末装置2から、イベント識別子とイベント関連情報とを受信しても良い。また、受信部106は、イベントの開始時間以降に、イベント参加者の端末識別子で識別される端末装置2から、イベント識別子とイベント関連情報とを受信しても良い。つまり、イベントの開始時間以前またはイベント参加募集期間においては、イベント識別子とイベント関連情報とを受信しないことは好適である。
受信部106は、イベント参加者のみ(ここでのイベント参加者とは、イベント参加者の端末装置と同意義)から、イベント識別子とイベント関連情報とを受信することは好適である。イベント参加者の端末装置は、イベント開***報を送信した送信先識別子で識別される第一端末装置2および参加情報を送信した第二識別子で識別される1以上の第二端末装置3とからなる。なお、受信部106は、生成部114がイベントのグループ情報を生成する前でも、イベント参加者の第一識別子または第二識別子で識別される端末装置2から、イベント識別子とイベント関連情報とを受信しても良い。
また、受信部106は、端末装置2から、端末装置2の位置情報と端末識別子とを受信しても良い。なお、この位置情報は、端末識別子で識別されるユーザ(端末装置)が存在する位置を示す情報である。位置情報は、通常、(緯度,経度)の情報であるが、他のデータ構造の情報でも良い。
また、受信部106は、店舗情報に対する応答を受信しても良い。店舗情報に対する応答は、ユーザが入力し得る。また、かかる応答は、店舗情報を識別する店舗情報識別子が対応付いていることは好適である。
また、受信部106は、通常、予め決められた条件を満たした以降は、参加情報を受信しない。つまり、通常、イベントには、当該イベントへの参加募集の期間が存在する。予め決められた条件とは、イベント開***報が有するイベント参加募集終了期間が経過したこと、イベントの参加者がイベントへの参加募集数に到達したこと等である。なお、ここで受信部106は参加情報を受信しても、当該受信した参加情報が参加情報として扱われなければ、受信していないものとする。
送信部107は、受信部106が受信したメッセージを1以上の端末装置2に送信する。1以上の端末装置2は、メッセージを送信した端末装置2のユーザを識別するユーザ識別子を含むグループ情報が有する2以上のユーザ識別子の中の、一のユーザを識別するユーザ識別子を除く1以上のユーザ識別子で識別される端末装置2である。また、1以上の端末装置2は、受信部106が受信した1以上の端末識別子で識別される端末装置2でも良い。
また、送信部107は、メッセージを送信した端末装置2に、当該メッセージを送信しても、送信しなくても良い。
また、送信部107は、店舗識別子に対応する店舗装置3に応答を送信しても良い。応答とは、ユーザが端末装置2に入力した情報であり、例えば、店舗に行く旨を示す情報、店舗への予約を依頼する情報等である。
店舗選択部108は、メッセージに対応する場所情報と店舗関連情報が有する位置情報とを用いて、1以上の店舗を選択する。さらに具体的には、店舗選択部108は、メッセージに対応する場所情報と店舗関連情報が有する位置情報とを選択条件に適用し、選択条件に合致する1以上の店舗を選択する。
店舗選択部108は、評判情報をも用いて、1以上の店舗を選択することは好適である。つまり、店舗選択部108は、例えば、評判情報が示す評判が予め決められた条件を満たすほど高い1以上の店舗を選択することは好適である。
また、店舗選択部108は、例えば、場所情報が示す位置と位置情報が示す位置との距離が選択条件が示すほど近く、かつ評判情報が選択条件が示すほど評判が良い店舗を選択しても良い。かかる場合、選択条件は、ユーザが行きたい場所と店舗の位置との関係に関する条件と、店舗の評判に関する条件とを含む。
また、店舗選択部108は、予約情報をも用いて、1以上の店舗を選択することは好適である。つまり、店舗選択部108は、例えば、現在、予約情報から空席があると判断され得る1以上の店舗を選択することは好適である。
また、店舗選択部108は、例えば、場所情報が示す位置と位置情報が示す位置との距離が選択条件が示すほど近く、かつ予約情報が示す予約の状況が空席のある状況である店舗を選択しても良い。かかる場合、選択条件は、ユーザが行きたい場所と店舗の位置との関係に関する条件と、店舗の情報(例えば、空席状況)に関する条件とを含む。
店舗選択部108は、個人情報をも用いて、1以上の店舗を選択することは好適である。例えば、店舗選択部108は、グループのメンバーの年齢層を取得し、当該年齢層に対応する店舗を選択しても良い。
また、店舗選択部108は、例えば、場所情報が示す位置と位置情報が示す位置との距離が選択条件が示すほど近く、かつユーザを含むグループの性別等の個人情報を用いて店舗を選択しても良い。かかる場合、選択条件は、ユーザが行きたい場所と店舗の位置との関係に関する条件と、ユーザの個人情報(例えば、性別)に関する条件とを含む。店舗選択部108は、例えば、ユーザを含むグループの性別を取得し、例えば、グループの全員が女性である場合、女性に対応する店舗を選択する。なお、かかる場合、店舗関連情報は、女性向けの店舗であることが分かる情報を有する、とする。
また、店舗選択部108は、場所情報が示す位置と位置情報が示す位置との距離が選択条件が示すほど近く、かつユーザを含むグループの人数がN人である場合、N人の空席がある店舗を選択しても良い。かかる場合、選択条件は、ユーザが行きたい場所と店舗の位置との関係に関する条件と、ユーザの個人情報(例えば、グループの人数)と、店舗の情報(例えば、空席状況)に関する条件とを含む。
また、店舗選択部108が店舗を選択するタイミングは問わない。但し、店舗選択部108は、以下のタイミングで店舗を選択することは好適である。第一は、受信部106がイベント開***報を受信した際である。第二は、グループ情報が生成された際である。第三は、2以上のイベント参加者が確定した際である。第四は、イベントへの参加申込が締め切られた際である。
なお、上記の店舗の選択とは、店舗を特定する処理であれば何でも良い。店舗の選択とは、店舗IDを取得する処理でも良いし、店舗情報を取得する処理等でも良い。
問合部109は、店舗選択部108が選択した1以上の各店舗に対応する1以上の店舗装置3に、1または2以上の端末装置2に店舗情報を送信しても良いか否かを問い合わせる。なお、ここで、問い合わせとは、通常、問い合わせを行うための情報の送信である。問い合わせは、店舗情報を送信しても良いか否かの問い合わせである。
回答受信部110は、問合部における問い合わせに応じて、1以上の店舗装置3から回答を受信する ここで、回答とは、問合部109における問い合わせの回答であり、店舗情報を送信しても良いか否かの回答である。例えば、店舗が混んでいる時は、店舗の人は、店舗情報を送信しない旨の回答を送信する。また、例えば、店舗が空いている時は、店舗の人は、店舗情報を送信する旨の回答を送信する。
店舗情報取得部111は、店舗選択部108が選択した1以上の各店舗の1以上の店舗情報を取得する。店舗情報取得部111は、店舗関連情報格納部103から1以上の店舗情報を取得する。
また、店舗情報取得部111が店舗情報を取得するタイミングは問わない。但し、店舗情報取得部111は、以下のタイミングで店舗情報を取得することは好適である。第一は、受信部106がイベント開***報を受信した際である。第二は、グループ情報が生成された際である。第三は、2以上のイベント参加者が確定した際である。第四は、イベントへの参加申込が締め切られた際である。
店舗情報送信部112は、店舗情報取得部111が取得した1以上の店舗情報を、1または2以上の端末装置2に送信する。店舗情報送信部112は、メッセージを送信した端末装置2のユーザに対応するユーザ識別子を含むグループ情報に含まれる1または2以上の各ユーザ識別子で識別される1または2以上の端末装置2に、1以上の店舗情報を送信する。店舗情報送信部112は、通常、一度に、1つの店舗情報を送信する。
店舗情報送信部112は、店舗装置3から送信された回答が店舗情報を送信しても良い旨の回答である場合、当該回答に対応する1以上の店舗装置3の店舗情報を、2以上の端末装置2に送信することは好適である。つまり、店舗情報を送信するか否かは、店舗装置3からの回答に応じて決定されることは好適である。
また、店舗情報送信部112は、ポイントが予め決められた条件を満たすほど低いポイントに対応する店舗情報は送信しないことは好適である。なお、ポイントが予め決められた条件を満たすほど低いとは、例えば、ポイントが閾値以下(例えば、0)であることである。また、ポイントは、店舗情報に対応付けて管理されている。
また、店舗情報送信部112は、店舗情報と店舗を識別するとの組を、1組以上、1または2以上の端末装置2に送信することは好適である。なお、店舗識別子とは、店舗を識別する情報であり、例えば、店舗名、店舗ID等である。
店舗情報送信部112は、通常、グループ内のすべての端末装置2に店舗情報を送信するが、一部の端末装置2に店舗情報を送信しても良い。一部の端末装置2とは、例えば、幹事の端末装置2である。
また、店舗情報送信部112が店舗情報を送信するタイミングは問わない。但し、店舗情報送信部112は、以下のタイミングで店舗情報を送信することは好適である。第一は、受信部106がイベント開***報を受信した際である。第二は、グループ情報が生成された際である。第三は、2以上のイベント参加者が確定した際である。第四は、イベントへの参加申込が締め切られた際である。
ポイント使用部113は、店舗情報送信部112が店舗情報を送信した場合、店舗情報に対応する店舗のポイントを減じる。ここで、ポイント使用部113は、1回の店舗情報の送信により、ポイントを減じる必要は、必ずしもない。ポイント使用部113は、例えば、10回の店舗情報の送信により、1ポイント、減じても良い。ポイントを減じるとは、例えば、店舗情報に対応付いているポイントを取得し、当該ポイントから予め決められた値(例えば、1)を減算し、当該減算した値を、新しいポイントとして、上書きすることである。
生成部114は、受信部106が受信したイベント識別子で識別されるイベントの2以上の参加者を識別する端末識別子を有するイベントのグループ情報を生成する。なお、生成部114がグループ情報を生成した段階では、グループ情報は、グループ情報の一部の情報のみを有しても良い。つまり、生成部114がグループ情報を生成した段階では、グループ情報の一部の情報がNULL(空)でも良い。また、生成部114は、通常、予め決められた条件を満たした場合、イベントのグループ情報を生成する。
なお、ここで予め決められた条件とは、受信部106がイベント開***報を受信したこと、イベントへの参加の募集の終了等である。イベントへの参加の募集の終了とは、受信部106がイベントへの参加の募集の終了の指示を受信したこと、イベント開***報の受信から予め決められた期間が経過したこと、イベント開***報に含まれるイベントへの参加募集期間の情報が示す期間が終了したこと、イベント開***報に含まれるイベント開催日時になったこと、イベントの参加数の制限に、参加者が到達したこと等である。
なお、後述する処理部115は、受信部106が受信した参加情報の数を用いて、イベント開***報が有する参加数制限情報が示すイベントへの参加数の制限に到達したか否かを判断し、当該参加数の制限に到達したと判断した場合に、生成部114は、グループ情報を生成しても良い。
処理部115は、受信部106が受信した情報、またはグループ情報格納部102の情報を統計処理し、統計情報を取得しても良い。統計情報は、例えば、各人の参加頻度情報である。また、統計情報は、例えば、各人の、イベントの種類ごとの参加頻度情報である。
さらに具体的には、処理部115は、端末識別子毎に、受信部106が参加情報を受信した数、受信部106が不参加情報を受信した数、送信部107がイベント開***報を送信した数のうちの1以上の数値を用いて、端末識別子で識別されるユーザの参加頻度情報を取得しても良い。
処理部115は、端末識別子毎、およびイベント開***報を送信したユーザである幹事毎に、端末識別子で識別されるユーザの参加頻度情報を取得しても良い。
処理部115は、イベント種類識別子毎に、端末識別子で識別されるユーザの参加頻度情報を取得しても良い。
処理部115は、端末識別子毎、幹事毎およびイベント種類識別子毎に、端末識別子で識別されるユーザの参加頻度情報を取得しても良い。
処理部115は、予め決められた条件を満たした場合に、イベントへの参加募集の終了を決定しても良い。処理部115は、受信部106が受信した参加情報の数を用いて、イベント開***報が有する参加数制限情報が示すイベントへの参加数の制限に到達したか否かを判断し、当該参加数の制限に到達したと判断した場合に、イベントへの参加募集の終了を決定する。つまり、予め決められた条件は、イベントへの参加者の数がイベントへの参加数の制限に到達したことである。また、予め決められた条件は、イベントへの参加募集の期間が終了したことでも良い。かかる場合、イベント開***報がイベントへの参加募集の終期の情報を保持しており、処理部115は、かかる終期の情報が示す時期になったことを、図示しない時計を用いて判断する。
ユーザ情報が有するユーザの状態が、あるイベント種類識別子で識別されるイベントへの参加希望を示す情報である場合、処理部115は、当該ユーザが参加するものとして、当該ユーザの人数分を引いた数を参加数制限情報に設定しても良い。つまり、例えば、イベント種類識別子「ゴルフ」で識別されるイベント「ゴルフ」がしたいユーザが2名存在する場合(ユーザ情報格納部10において「ユーザの状態=イベント種類識別子「ゴルフ」がしたい」が2ユーザである場合)、処理部115は、受信された「参加数制限情報=4」であるところ、「参加数制限情報=2(=4−2)」として処理を行う。
また、ユーザ情報が有するユーザの状態が、あるイベント種類識別子で識別されるイベントへの参加希望を示す情報であり、当該ユーザから当該イベント種類識別子で識別されるイベントに対する参加情報を受信部106が受信した場合、処理部115は、参加数制限情報に対応するイベントであっても、当該ユーザの参加を優先的に決定することは好適である。かかる場合、受信部106が受信した参加情報の数が、参加数制限情報が示す数を超えても受信部106が受信する。そして、処理部115は、受信された参加情報に対応するユーザ識別子のうち、前記ユーザの状態(あるイベント種類識別子で識別されるイベントへの参加希望を示す情報)に対応する1以上のユーザ識別子を優先的に取得する。そして、例えば、送信部107は、処理部115が取得した1以上のユーザ識別子で識別される端末装置2に、参加者である旨を送信しても良い。また、処理部115は、当該1以上のユーザ識別子をグループ情報中の参加者識別子として、当該イベントのイベント識別子と対応付けてグループ情報格納部12に蓄積しても良い。
端末装置2を構成する端末格納部20は、端末識別子を格納し得る。また、端末格納部20は、一時的に種々の情報を格納しても良い。種々の情報とは、例えば、幹事を識別する幹事識別子、参加者を識別する参加者識別子、不参加者を識別する不参加者識別子、参加候補者を識別する参加候補者識別子、未定者を識別する未定者識別子、イベント識別子等である。なお、未定者とは、イベントに参加するか否かが決まっていない者を言う。
端末受付部21は、ユーザから情報や指示等を受け付ける。情報とは、例えば、メッセージや応答である。また、指示とは、例えば、メッセージの送信指示や応答の送信指示等である。なお、応答とは、表示された店舗情報に対する応答である。
情報や指示等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。端末受付部21は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末送信部22は、端末受付部21が受け付けた情報や指示等を情報処理装置1に送信する。
端末受信部23は、情報処理装置1からメッセージや店舗情報等を受信する。
端末処理部24は、各種の処理を行う。端末処理部24は、例えば、端末受付部21が受け付けた情報や指示と、端末識別子とを用いて、情報処理装置1に送信する情報を構成する。
端末出力部25は、端末受信部23が受信したメッセージや店舗情報等を出力する。
なお、端末出力部25は、端末装置2を保持しているユーザまたはグループ内の他のユーザが入力したメッセージと、店舗情報とを同じ態様で出力することは好適である。つまり、端末出力部25は、店舗情報を送信した店舗も一ユーザとしてメッセージ(店舗情報)を送信したように見える態様で、店舗情報を出力することは好適である。このような店舗情報の出力態様により、電子的な呼び込みが実現できる。但し、端末出力部25は、店舗情報を、ユーザのメッセージと視覚的に区別可能なように出力することは好適である。
また、端末出力部25は、幹事が入力した情報(例えば、イベント開***報)と、他のユーザが入力した情報(例えば、参加情報、不参加情報)とを、視覚的に区別可能なように出力することは好適である。例えば、端末出力部25は、情報と対になる立場識別子を用いて、立場識別子で識別される立場が視覚的に区別可能なように、情報を出力する。立場識別子とは、ユーザの立場を識別する情報であり、例えば、幹事か否かを示す情報である。
端末出力部25は、参加者募集期間情報が示す参加者の募集期間において、幹事が入力した情報と、他のユーザが入力した情報とを同時に出力し、かつ幹事が入力した情報と、他のユーザが入力した情報とを視覚的に区別して出力することは好適である。例えば、端末出力部25は、幹事を識別するユーザ識別子(例えば、名前やニックネーム)を矩形上の画面の一辺上に配置し、他のユーザのユーザ識別子を矩形上の画面の一辺とは反対側の辺上に配置することにより、幹事が入力した情報と、他のユーザが入力した情報とを視覚的に区別して出力する。
また、端末出力部25は、幹事が入力した情報と、参加者識別子で識別される参加者が入力した情報と、不参加者識別子で識別される参加者が入力した情報とを同時に出力し、かつ幹事が入力した情報と、参加者が入力した情報と、不参加者が入力した情報とを視覚的に区別して出力することは好適である。かかる場合、例えば、端末受信部23が受信した情報は、立場識別子を有する。また、かかる場合、例えば、端末受信部23が受信した情報は、ユーザまたは端末装置2を識別する識別子(ユーザ識別子または第一識別子または第二識別子)を有し、当該識別子に対応付けて、ユーザの立場を示す立場識別子が端末格納部20に格納されている。なお、端末出力部25が情報を出力する際に、当該情報を入力したユーザの立場を視覚的に示すために使用する情報は問わない。また、情報を入力したユーザの立場を視覚的に示す態様も問わない。
また、ここで、出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
店舗装置3を構成する店舗格納部30は、店舗識別子を格納し得る。店舗識別子とは、店舗を識別する情報であり、例えば、店舗のID、店舗名、店舗装置3のIPアドレス、店舗装置3と通信するためのメールアドレス、電話番号等である。
店舗受付部31は、情報や指示等を受け付ける。ここで、情報とは、例えば、回答である。回答とは、店舗情報を送信するか否かを示す情報であり、情報処理装置1からの問い合わせに対する回答である。
情報や指示等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。店舗受付部31は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
店舗送信部32は、店舗受付部31が受け付けた情報や指示等を情報処理装置1に送信する。
店舗受信部33は、情報処理装置1から問い合わせ、または応答等を受信する。問い合わせとは、店舗情報を送信しても良いか否かを問い合わせるための情報である。応答とは、店舗情報に対するユーザの応答を示す情報である。応答は、例えば、ユーザが席やサービス等の予約を求める情報である。
店舗処理部34は、各種の処理を行う。店舗処理部34は、例えば、店舗受信部33が受け付けた情報や指示と、端末識別子とを用いて、情報処理装置1に送信する情報を構成する。
店舗出力部35は、店舗受信部33が受信した問い合わせ、応答等を出力する。
ユーザ情報格納部101、グループ情報格納部102、店舗関連情報格納部103、選択条件格納部104、対話関連情報格納部105、端末格納部20、店舗格納部30は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。ユーザ情報格納部101等にユーザ情報等が記憶される過程は問わない。例えば、記録媒体を介してユーザ情報等がユーザ情報格納部101等で記憶されるようになってもよく、通信回線等を介して送信されたユーザ情報等がユーザ情報格納部101等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたユーザ情報等がユーザ情報格納部101等で記憶されるようになってもよい。
受信部106、回答受信部110、端末受信部23、店舗受信部33は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
送信部107、問合部109、端末送信部22、店舗送信部32は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
店舗選択部108、店舗情報取得部111、ポイント使用部113、生成部114、処理部115、端末処理部24、店舗処理部34は、通常、MPUやメモリ等から実現され得る。店舗選択部108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。味噌
端末出力部25、店舗出力部35は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部25等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報システムの動作について説明する。まず、情報処理装置1の基本的な動作の例について、図3のフローチャートを用いて説明する。なお、基本的な動作とは、ここでは、グループ間でメッセージの送受信を行うとともに、メッセージの送受信が行われている場合に、店舗情報をグループのメンバー(端末装置2)に送信する処理である。
(ステップS301)受信部106は、メッセージ等を受信したか否かを判断する。メッセージ等を受信すればステップS302に行き、メッセージ等を受信しなければステップS307に行く。なお、メッセージ等とは、例えば、メッセージとユーザ識別子である。また、メッセージ等とは、例えば、メッセージとユーザ識別子とグループ識別子である。グループ識別子とは、グループ(グループ情報)を識別する情報である。
(ステップS302)送信部107は、ステップS301で受信されたユーザ識別子等を用いて、メッセージを送信したユーザ(端末装置2)が属するグループのグループ情報を、グループ情報格納部102から取得する。送信部107は、例えば、ステップS301で受信されたユーザ識別子が含まれるグループ情報を取得する。また、送信部107は、例えば、ステップS301で受信されたグループ識別子で識別されるグループ情報を取得する。
(ステップS303)送信部107は、ステップS302で取得したグループ情報が有する2以上のユーザ識別子の中で、メッセージを送信したユーザのユーザ識別子を除いた1以上のユーザ識別子を取得する。なお、ここで、送信部107は、メッセージを送信したユーザのユーザ識別子をも取得しても良い。
(ステップS304)送信部107は、ステップS301で受信されたメッセージを、ステップS303で取得した1以上のユーザ識別子で識別される1以上の端末装置2に送信する。
(ステップS305)店舗選択部108は店舗情報処理を行うか否かを判断する。店舗情報処理を行うと判断した場合はステップS306に行き、店舗情報処理を行わないと判断した場合はステップS301に戻る。なお、店舗選択部108は、例えば、受信部106がイベント開***報を受信した場合に店舗情報処理を行うと判断する。また、店舗選択部108は、例えば、ステップS302で、新たにグループ情報が生成された場合に店舗情報処理を行うと判断する。また、店舗選択部108は、例えば、ステップS301で受信されたメッセージが2人目のイベントへの参加者の参加のメッセージであると判断された場合に店舗情報処理を行うと判断する。また、店舗選択部108は、例えば、イベントへの参加申込が締め切られた場合に店舗情報処理を行うと判断する。
(ステップS306)店舗選択部108等は店舗情報処理を行う。店舗情報処理の詳細について、図4のフローチャートを用いて説明する。なお、店舗情報処理とは、店舗情報を送信するか否かを判断した上で、送信すると判断した場合に、店舗情報を送信する処理である。
(ステップS307)受信部106は、応答等を受信したか否かを判断する。応答等を受信すればステップS308に行き、応答等を受信しなければステップS301に戻る。なお、応答等とは、例えば、応答と、当該応答に対応する店舗情報の識別子と、ユーザ識別子である。また、応答等とは、例えば、応答と、当該応答に対応する店舗情報の識別子と、ユーザ識別子と、グループ識別子である。
(ステップS308)送信部107は、応答を店舗装置3に送信する。この店舗装置3は、応答に対応する店舗情報と対になる店舗識別子で識別される店舗装置3である。
(ステップS309)送信部107は、ステップS307で受信されたユーザ識別子等を用いて、メッセージを送信したユーザ(端末装置2)が属するグループのグループ情報を、グループ情報格納部102から取得する。本処理は、ステップS302の処理と同等である。
(ステップS310)送信部107は、ステップS309で取得したグループ情報が有する2以上のユーザ識別子の中で、応答を送信したユーザのユーザ識別子を除いた1以上のユーザ識別子を取得する。なお、ここで、応答を送信したユーザのユーザ識別子をも取得しても良い。本処理は、ステップS303の処理と同等である。
(ステップS311)送信部107は、ステップS307で受信された応答を、ステップS310で取得した1以上のユーザ識別子で識別される1以上の端末装置2に送信する。本処理は、ステップS304の処理と同等である。
なお、図3のフローチャートにおいて、店舗装置3に応答を送信する処理など、一部の処理は必須ではない。
また、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS306の店舗情報処理の詳細の例について、図4のフローチャートを用いて説明する。
(ステップS401)店舗選択部108は、カウンタiに1を代入する。
(ステップS402)店舗選択部108は、i番目の店舗関連情報が店舗関連情報格納部103に格納されているか否かを判断する。i番目の店舗関連情報が格納されている場合はステップS403に行き、格納されていない場合はステップS407に行く。
(ステップS403)店舗選択部108は、i番目の店舗関連情報を用いて、i番目の店舗が条件を満たすか否かを判断する。かかる判断処理について、図5のフローチャートを用いて説明する。
(ステップS404)店舗選択部108は、ステップS403における判断において、条件を満たす場合はステップS405に行き、条件を満たさない場合はステップS406に行く。
(ステップS405)店舗選択部108は、i番目の店舗関連情報に対応する店舗識別子を図示しないバッファに一時蓄積する。
(ステップS406)店舗選択部108は、カウンタiを1、インクリメントする。ステップS402に戻る。
(ステップS407)問合部109は、図示しないバッファ内のすべての店舗識別子に対応する店舗装置3に、店舗情報を送信するか否かの問い合わせを行う。なお、店舗識別子は送信先を示す情報(例えば、IPアドレス、メールアドレス等)と同じ、または対応付いている、とする。なお、図示しないバッファに店舗識別子が存在しない場合は、上位処理にリターンする。
(ステップS408)回答受信部110は、ステップS407における問い合わせに応じて、回答を受信したか否かを判断する。回答を受信すればステップS409に行き、回答を受信しなければステップS414に行く。
(ステップS409)店舗情報取得部111は、ステップS408で受信された回答が「送信許可」を示す情報であるか否かを判断する。「送信許可」を示す情報であればステップS410に行き、「送信許可」を示す情報でなければステップS408に戻る。
(ステップS410)店舗情報取得部111は、既に送信した店舗情報の数(送信数)が閾値以下であるか否かを判断する。閾値以下であればステップS411に行き、閾値以下でなければステップS415に行く。なお、ここで「閾値以下」を「閾値より小さい」としても良い。
(ステップS411)店舗情報取得部111は、送信許可の回答を送信してきた店舗装置3に対応する店舗情報等を取得する。なお、店舗情報等とは、例えば、店舗情報と店舗識別子(店舗名等)である。
(ステップS412)店舗情報送信部112は、ステップS411で取得された店舗情報等を1以上の端末装置2に送信する。例えば、この1以上の端末装置2は、ステップS301で、メッセージを送信した端末装置2のユーザのユーザ識別子を含むグループ情報が有する1以上のユーザ識別子で識別される1以上の端末装置2である。
(ステップS413)ポイント使用部113は、ステップS412における店舗情報等の送信に応じて、当該店舗情報と対になるポイントを減じる処理を行う。ステップS408に戻る。
(ステップS414)回答受信部110は、タイムアウトか否かを判断する。タイムアウトであればステップS415に行き、タイムアウトでなければステップS408に戻る。なお、タイムアウトとは、例えば、店舗装置3に問い合わせをしてから(ステップS407の処理から)、予め決められた時間が経過したことである。
(ステップS415)送信部107等は、終了処理を行う。上位処理にリターンする。なお、終了処理とは、例えば、送信部107が、問い合わせを送信した店舗装置3に、回答が不要になった旨を通知する処理である。
なお、図4のフローチャートにおいて、一つの店舗識別子が取得された場合、当該店舗識別子で識別される店舗の店舗情報を取得して送信しても良い。
また、図4のフローチャートにおいて、店舗装置3に問い合わす処理等は必須ではない。
さらに、図4のフローチャートにおいて、ステップS414でタイムアウトであると判断した場合、ステップS410に行っても良い。
次に、ステップS403の判断処理の例について、図5のフローチャートを用いて説明する。
(ステップS501)店舗選択部108は、メッセージ内に存在する場所情報を取得する。なお、ここでの場所情報は、メッセージ内の地名、駅名、ランドスケープ、名勝等であり、通常、単語である。
(ステップS502)店舗選択部108は、ステップS501で場所情報を取得できたか否かを判断する。場所情報を取得できた場合はステップS503に行き、場所情報を取得できなかった場合はステップS504に行く。
(ステップS503)店舗選択部108は、受信されたメッセージと対になる場所情報を取得する。なお、ここでの場所情報は、例えば、(緯度,経度)である。
(ステップS504)店舗選択部108は、i番目の(着目している)店舗関連情報が有する店舗の位置情報を取得する。
(ステップS505)店舗選択部108は、場所情報と位置情報とは、選択条件が有する、距離に関する情報を満たすか否かを判断する。距離に関する情報を満たすほど両者が示す地点間が近い場合はステップS506に行き、両者が示す地点間が遠い場合はステップS517に行く。
(ステップS506)店舗選択部108は、i番目の(着目している)店舗関連情報が有する店舗の評判情報を取得する。
(ステップS507)店舗選択部108は、ステップS506で取得した評判情報が、選択条件が有する評判に関する条件を満たすか否かを判断する。条件を満たす場合はステップS508に行き、条件を満たさない場合はステップS517に行く。
(ステップS508)店舗選択部108は、メッセージ内に存在する行為情報を取得する。なお、ここでの行為情報は、通常、メッセージ内の「飲む」「ランチ」「ディナー」等の文字列である。
(ステップS509)店舗選択部108は、ステップS508で取得した行為情報が、i番目の店舗関連情報に合致するか否かを判断する。合致する場合はステップS510に行き、合致しない場合はステップS517に行く。
(ステップS510)店舗選択部108は、環境情報を取得する。なお、環境情報とは、例えば、日時、店舗が存在する場所(位置情報が示す場所)の天気等である。なお、店舗選択部108は、例えば、図示しない時計から日時を取得し、また、図示しないサーバ装置から天気を取得する。
(ステップS511)店舗選択部108は、ステップS510で取得した環境情報が、i番目の店舗関連情報に合致するか否かを判断する。合致する場合はステップS512に行き、合致しない場合はステップS517に行く。
(ステップS512)店舗選択部108は、個人情報を取得する。この個人情報は、メッセージを送信してきた端末装置2のユーザの個人情報である。
(ステップS513)店舗選択部108は、ステップS512で取得した個人情報が、i番目の店舗関連情報に合致するか否かを判断する。合致する場合はステップS514に行き、合致しない場合はステップS517に行く。
(ステップS514)店舗選択部108は、予約情報を取得する。この予約情報は、i番目の(着目している)店舗関連情報に対応する店舗の予約情報である。なお、予約情報は、空席が存在するか否かを示す空席情報でも良い。
(ステップS515)店舗選択部108は、ステップS514で取得した予約情報が、選択条件に合致するか否かを判断する。選択合致する場合はステップS516に行き、合致しない場合はステップS517に行く。
(ステップS516)店舗選択部108は、判断結果を「条件を満たす」とする。上位処理にリターンする。
(ステップS517)店舗選択部108は、判断結果を「条件を満たさない」とする。上位処理にリターンする。
次に、送受信されるメッセージがイベントに関するメッセージである場合の情報処理装置1の動作について、図6、図7のフローチャートを用いて説明する。なお、図6、図7のフローチャートにおいて、図3のフローチャートと同一のステップについて、説明を省略する。
(ステップS601)受信部106は、メッセージ等を受信したか否かを判断する。メッセージを受信すればステップS602に行き、メッセージを受信しなければステップS601に戻る。メッセージ等とは、例えば、メッセージと端末識別子である。また、メッセージ等とは、例えば、メッセージと端末識別子とイベント識別子である。また、メッセージ等とは、例えば、メッセージと端末識別子と情報種類識別子等でも良い。
(ステップS602)処理部115は、ステップS601で受信されたメッセージ等を用いて、メッセージの種類を示す情報種類識別子を取得する。なお、ステップS601で受信されたメッセージ等が情報種類識別子を含む場合、処理部115は、ステップS301で受信された情報に含まれる情報種類識別子を取得する。
(ステップS603)処理部115は、ステップS602で取得した情報種類識別子がイベント開***報を示す情報であるか否かを判断する。イベント開***報を示す情報である場合はステップS604に行き、イベント開***報を示す情報でない場合はステップS606に行く。
(ステップS604)生成部114等は、イベント開催処理を行う。イベント開催処理について、図8のフローチャートを用いて説明する。ステップS301に戻る。なお、イベント開催処理とは、イベントの開催についてのメッセージが受信された際の処理である。
(ステップS605)店舗選択部108等は店舗情報処理を行う。店舗情報処理の詳細について、図4のフローチャートを用いて説明した。なお、ここでの店舗情報処理は、予め決められた条件を満たす場合のみ、実行されても良い。予め決められた条件を満たす場合とは、例えば、受信部106がイベント開***報を受信した場合、新たにグループ情報が生成された場合、ステップS601で受信されたメッセージが2人目のイベントへの参加者の参加のメッセージであると判断された場合、またはイベントへの参加申込が締め切られた場合等である。
(ステップS606)処理部115は、ステップS602で取得した情報種類識別子が参加情報を示す情報であるか否かを判断する。参加情報を示す情報である場合はステップS607に行き、参加情報を示す情報でない場合はステップS611に行く。
(ステップS607)処理部115は、ステップS601で受信されたメッセージ等の中からイベント識別子を取得する。
(ステップS608)処理部115は、ステップS607で取得したイベント識別子に対応付けて、参加情報を対話関連情報格納部105に蓄積する。
(ステップS609)送信部107は、参加情報を送信する先の1以上の送信先識別子を取得する。送信部107は、例えば、幹事の送信先識別子を取得する。なお、送信部107は、例えば、イベント識別子およびイベント開***報を示す情報種類識別子と対になる端末識別子(ユーザ識別子でも良い)を対話関連情報格納部105から取得し、当該端末識別子と対になる送信先識別子をユーザ情報格納部101から取得する。
(ステップS610)送信部107は、ステップS609で決定した1以上の送信先識別子で識別される送信先に、参加情報の処理結果を送信する。ステップS605に行く。なお、参加情報の処理結果とは、例えば、参加情報が受け付けられた旨、参加情報を送信した送信者のユーザ情報、参加情報そのもの等である。ここで、送信部107は、参加情報を送信してきたユーザのユーザ識別子、当該ユーザが参加者である旨を示す立場識別子をも送信することは好適である。
(ステップS611)処理部115は、ステップS602で取得した情報種類識別子が不参加情報を示す情報であるか否かを判断する。不参加情報を示す情報である場合はステップS612に行き、不参加情報を示す情報でない場合はステップS616に行く。
(ステップS612)処理部115は、ステップS601で受信されたメッセージ等の中からイベント識別子を取得する。
(ステップS613)処理部115は、ステップS612で取得したイベント識別子に対応付けて、不参加情報を対話関連情報格納部105に蓄積する。
(ステップS614)送信部107は、参加情報を送信する先の1以上の送信先識別子を取得する。送信部107は、例えば、幹事の送信先識別子を取得する。
(ステップS615)送信部107は、ステップS614で決定した1以上の送信先識別子で識別される送信先に、不参加情報の処理結果を送信する。ステップS601に戻る。なお、不参加情報の処理結果とは、例えば、不参加情報が受け付けられた旨、不参加情報を送信した送信者のユーザ情報、不参加情報そのもの等である。ステップS301に戻る。ここで、送信部15は、不参加情報を送信してきたユーザのユーザ識別子、当該ユーザが不参加者である旨を示す立場識別子をも送信することは好適である。
(ステップS616)処理部115は、ステップS602で取得した情報種類識別子がイベント関連情報を示す情報であるか否かを判断する。イベント関連情報を示す情報である場合はステップS617に行き、イベント関連情報を示す情報でない場合はステップS619に行く。
(ステップS617)処理部115は、ステップS601で受信されたメッセージ等の中からイベント識別子を取得する。
(ステップS618)処理部115は、ステップS617で取得したイベント識別子に対応付けて、イベント関連情報をグループ情報格納部102に蓄積する。ステップS601に戻る。なお、ここで、送信部107は、イベント関連情報が受け付けられた旨、またはイベント関連情報等を、イベント参加者を識別する1以上の送信先識別子で識別される送信先に送信しても良い。かかる場合、処理部115は、参加者を識別する2以上の送信先識別子を取得する。また、送信部107は、幹事および参加候補者のすべての端末装置2に、イベント関連情報が受け付けられた旨、またはイベント関連情報等を送信しても良い。かかる場合、処理部115は、幹事および参加候補者を識別する2以上の送信先識別子を取得する。ここで、送信部107は、イベント関連情報と共に、イベント関連情報を送信してきたユーザのユーザ識別子、当該ユーザの立場識別子(幹事、参加者等)をも送信することは好適である。
(ステップS619)生成部114は、イベントグループの生成タイミングであるか否かを判断する。イベントグループの生成タイミングである場合はステップS620に行き、イベントグループの生成タイミングでない場合はステップS306に行く。イベントグループの生成タイミングは、例えば、受信部106がイベント開***報を受信した場合、イベントの参加募集期間が終了した場合、受信部106がユーザからのイベントグループの生成指示を受信した場合等である。
(ステップS620)生成部114は、カウンタiに1を代入する。
(ステップS621)生成部114は、i番目のイベント識別子であり、グループ情報が生成されていないイベントのイベント識別子が存在するか否かを判断する。イベント識別子が存在すればステップS622に行き、存在しなければステップS601に戻る。グループ情報が生成されていないイベントのイベント識別子は、例えば、対話関連情報格納部105に存在するイベント識別子であり、グループ情報格納部102に存在しないイベント識別子である。
(ステップS622)生成部114は、i番目のイベント識別子に対応するイベントについて、グループ情報の生成条件に合致するか否かを判断する。生成条件に合致する場合はステップS623に行き、生成条件に合致しない場合はステップS629に行く。なお、グループ情報の生成条件は、例えば、イベントへの参加の募集の終了、受信部106がイベント開***報を受信したこと等である。
(ステップS623)生成部114は、i番目のイベント識別子に対応するイベントのグループ情報を蓄積するための領域を、グループ情報格納部102に確保する。なお、領域の確保とは、例えば、イベントのグループ情報を管理するグループ情報管理表のレコードを生成すること、グループ情報を格納する領域のアロックすること等である。
(ステップS624)生成部114は、i番目のイベント識別子に対応するイベントの参加者を識別する2以上の端末識別子を取得する。なお、ここで、2以上の端末識別子は、幹事の端末装置2の端末識別子、および参加者の端末装置2の端末識別子を含む。なお、かかる2以上の端末識別子は、例えば、イベント識別子に対応付けて対話関連情報格納部11に格納されている。なお、2以上の端末識別子は、幹事であるか、参加者であるかを識別可能なように、対話関連情報格納部11に格納されていることは好適である。
(ステップS625)生成部114は、i番目のイベント識別子、ステップS624で取得した2以上の端末識別子を有するグループ情報を構成する。かかる段階で、グループ情報は、イベント種類識別子やイベント内容情報等の他の情報を有しても良い。
(ステップS626)処理部115は、ステップS625で構成されたグループ情報をグループ情報格納部102に蓄積する。
(ステップS627)生成部114は、カウンタiを1、インクリメントする。ステップS621に戻る。
なお、図6のフローチャートのステップS605の前に、図3のステップS305のステップを挿入しても良い。
また、図6のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS604のイベント開催処理の例について、図8のフローチャートを用いて説明する。
(ステップS801)生成部114は、ユニークなイベント識別子を生成する。例えば、生成部114は、現在日時を取得し、当該現在日時を用いて、ユニークなイベント識別子を生成する。また、生成部114は、最も大きな数値のイベント識別子に、1を加えて、ユニークなイベント識別子を生成しても良い。なお、生成部114のイベント識別子の生成アルゴリズムは問わない。
(ステップS802)生成部114は、ステップS801で生成したイベント識別子、受信されたイベント開***報、受信された端末識別子を用いて、対話関連情報を構成する。
(ステップS803)処理部115は、ステップS802で構成した対話関連情報を対話関連情報格納部105に蓄積する。
(ステップS804)送信部107は、1以上の送信先識別子を取得する。送信先識別子取得処理について、図9のフローチャートを用いて、説明する。
(ステップS805)送信部107は、ステップS804で取得された1以上の送信先識別子が示す1以上の送信先に、受信されたイベント開***報を送信する。ここで、送信部107は、イベント開***報と共に、イベント開***報を送信してきたユーザのユーザ識別子または端末識別子または幹事を示す立場識別子等を送信することは好適である。
なお、図8のフローチャートにおいて、送信部107は、受信部106が受信したメッセージ等が有する1以上の送信先識別子を取得しても良い。また、送信部107は、受信部106が受信したメッセージ等が有するイベント識別子に対応する幹事の送信先識別子等を取得しても良い。
次に、ステップS804の送信先識別子取得処理の例について、図9のフローチャートを用いて、説明する。
(ステップS901)送信部107は、幹事の位置情報を取得する。なお、幹事とは、イベント開***報を送信してきた者である。送信部107は、イベント開***報と対に受信された端末識別子をバッファに格納しており、当該端末識別子と対に受信された位置情報を取得する。
(ステップS902)送信部107は、カウンタiに1を代入する。
(ステップS903)送信部107は、ユーザ情報格納部101にi番目の送信先識別子の候補(送信先候補とも言う。)が存在するか否かを判断する。i番目の送信先候補が存在すればステップS904に行き、存在しなければ上位処理にリターンする。なお、送信先候補は、端末識別子と対応付けて、ユーザ情報格納部101で管理されている、とする。また、送信先候補は、幹事が送信してきた情報であり、1以上の参加者の端末識別子であっても良い。また、送信先候補は、幹事の端末識別子と対応付けて管理されている1以上の端末識別子であっても良い。さらに、送信先候補は、受信部106が受信したイベント種類識別情報および端末識別子と対になる1以上の参加者の端末識別子等であっても良い。
(ステップS904)送信部107は、i番目の送信先候補の位置情報を取得する。なお、送信先候補の位置情報は、動的な現在の位置情報でも良いし、送信先候補の、静的な住所や居所等でも良い。送信先候補の位置情報が動的な現在の位置情報である場合、通常、受信部13は、参加者の端末装置2から端末識別子と位置情報を、定期的または頻度高く受信している。
(ステップS905)送信部107は、ステップS901で取得した位置情報と、ステップS904で取得した位置情報とが、予め決められた条件を満たすか否かを判断する。予め決められた条件を満たす場合はステップS906に行き、予め決められた条件を満たさない場合はステップS907に行く。なお、予め決められた条件は、閾値以内の距離であること、同一の都道府県内の位置であること等である。
(ステップS906)送信部107は、i番目の送信先識別子を取得し、図示しないバッファに追記する。
(ステップS907)送信部107は、カウンタiを1、インクリメントする。ステップS903に戻る。
なお、図9のフローチャートにおいて、図示しないバッファに格納された1以上の送信先識別子が、メッセージ等を送付する送信先の識別子である。
次に、端末装置2の動作の例について、図10のフローチャートを用いて説明する。ここでの端末装置2は、幹事の端末装置2である。
(ステップS1001)端末受付部21は、端末装置2のユーザからメッセージまたは指示等を受け付けたか否かを判断する。メッセージ等を受け付ければステップS1002に行き、メッセージ等を受け付けなければステップS1011に行く。
(ステップS1002)端末送信部22は、端末受付部21が受け付けたメッセージ等がイベント開***報であるか否かを判断する。イベント開***報であればステップS1003に行き、イベント開***報でなければステップS1007に行く。
(ステップS1003)端末送信部22は、端末格納部20から端末識別子を取得する。
(ステップS1004)端末送信部22は、ステップS1001で受け付けられた1以上の参加者候補者の端末識別子を取得する。
(ステップS1005)端末送信部22は、ステップS1003およびステップS1004で取得した情報、および受け付けられたメッセージ等を用いて、送信する情報を構成する。
(ステップS1006)端末送信部22は、ステップS1005で構成した情報を、情報処理装置1に送信する。なお、端末送信部22は、情報処理装置1に情報を送信するための情報(例えば、情報処理装置1のIPアドレス等)を予め保持している、とする。
(ステップS1007)端末送信部22は、端末格納部20から端末識別子を取得する。
(ステップS1008)端末送信部22は、イベント識別子を取得する。なお、イベント識別子は、例えば、メモリ上に存在している。
(ステップS1009)端末送信部22は、ステップS1007およびステップS1008で取得した情報、および受け付けられたメッセージ等を用いて、送信する情報を構成する。
(ステップS1010)端末送信部22は、ステップS1009で構成した情報を、情報処理装置1に送信する。
(ステップS1011)端末受信部23は、情報処理装置1からメッセージ等を受信したか否かを判断する。メッセージ等を受信すればステップS1012に行き、メッセージ等を受信しなければステップS1001に戻る。なお、ここで受信した情報は、複数の情報(コメントとユーザ識別子と立場識別子等との組の情報)が存在し得る。
(ステップS1012)端末出力部25は、端末受信部23が受信したメッセージ等の出力処理を行う。ステップS1001に戻る。なお、かかる情報出力処理について、図11のフローチャートを用いて説明する。
なお、図10のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS1012の情報出力処理について、図11のフローチャートを用いて説明する。
(ステップS1101)端末出力部25は、カウンタiに1を代入する。
(ステップS1102)端末出力部25は、i番目の情報が存在するか否かを判断する。i番目の情報が存在すればステップS1103に行き、i番目の情報が存在しなければ上位処理にリターンする。なお、i番目の情報とは、例えば、コメント(メッセージと同意義である)とユーザ識別子と立場識別子等との組の情報であり、i番目の組の情報である。また、立場識別子とは、イベントの立場を示す情報であり、例えば、幹事と、参加者と、幹事および参加者以外である。参加者以外とは、例えば、店舗情報を送信する店舗である。また、立場識別子とは、例えば、幹事、参加者、不参加者、未定者(イベントに参加するか否かを決定していない者)、店舗等である。
(ステップS1103)端末出力部25は、i番目の情報からユーザ識別子等を取得する。ユーザ識別子等とは、ユーザ識別子とコメントと画像等である。
(ステップS1104)端末出力部25は、i番目の情報から立場識別子を取得する。
(ステップS1105)端末出力部25は、ステップS1103で取得した情報を用いて、出力する情報を構成する。
(ステップS1106)端末出力部25は、ステップS1104で取得した立場識別子で識別される立場が認識可能なように、ステップS1105で構成した情報を出力する。
(ステップS1107)端末出力部25は、カウンタiを1、インクリメントする。ステップS1102に戻る。
なお、図11のフローチャートにおいて、端末出力部25は、端末装置2を保持しているユーザまたはグループ内の他のユーザが入力したメッセージと、店舗情報とを同じ態様で出力することは好適である。
また、図11のフローチャートにおいて、端末出力部25は、幹事が入力した情報(例えば、イベント開***報)と、他のユーザが入力した情報(例えば、参加情報、不参加情報)とを、視覚的に区別可能なように出力することは好適である。
さらに、図11のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、イベントの参加者の端末装置2の動作について、図12のフローチャートを用いて説明する。
(ステップS1201)端末装置2のユーザから各種の情報や指示等(メッセージ等)を受け付けたか否かを判断する。情報等を受け付ければステップS1202に行き、情報等を受け付けなければステップS1206に行く。
(ステップS1202)端末送信部22は、端末格納部20から端末識別子を取得する。
(ステップS1203)端末送信部22は、イベント識別子を取得する。なお、イベント識別子は、例えば、メモリ上に存在している。
(ステップS1204)端末送信部22は、ステップS1202およびステップS1203で取得した情報、および受け付けられた情報を用いて、送信する情報を構成する。
(ステップS1205)端末送信部22は、ステップS1204で構成した情報を、情報処理装置1に送信する。ステップS1201に戻る。なお、端末送信部22は、情報処理装置1に情報を送信するための情報(例えば、情報処理装置1のIPアドレス等)を予め保持している、とする。
(ステップS1206)端末受信部23は、情報処理装置1から情報を受信したか否かを判断する。情報を受信すればステップS1212に行き、情報を受信しなければステップS1201に戻る。なお、ここで受信した情報は、複数の情報(コメントとユーザ識別子と立場識別子等との組の情報)が存在し得る。
(ステップS1207)端末出力部25は、端末受信部23が受信した情報の出力処理を行う。かかる情報出力処理について、図11のフローチャートにおける処理と同様であるので、説明を省略する。
なお、図12のフローチャートにおいて、端末出力部25は、端末装置2を保持しているユーザまたはグループ内の他のユーザが入力したメッセージと、店舗情報とを同じ態様で出力することは好適である。
また、図12のフローチャートにおいて、端末出力部25は、幹事が入力した情報(例えば、イベント開***報)と、他のユーザが入力した情報(例えば、参加情報、不参加情報)とを、視覚的に区別可能なように出力することは好適である。
さらに、図12のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報システムの具体的な動作について説明する。情報システムの概念図は図1である。
今、情報処理装置1のユーザ情報格納部101は、図13に示す構造を有するユーザ情報管理表を保持している。ユーザ情報管理表は、「ID」「ユーザ情報」を有するレコードを1以上格納している。「ID」は、レコードを識別する情報である。「ユーザ情報」は「ユーザ識別子」「送信先識別子」「ユーザ静的属性」「ユーザ動的属性」「候補者グループ識別子」「参加者候補識別子」を有する。「ユーザ静的属性」は「名前」「写真」「性別」「年齢」「職業」「住所」等を有する。また、「ユーザ動的属性」は「位置情報」等を有する。また、「候補者グループ識別子」は、イベント開***報を送信するグループである候補者グループを識別する情報である。「候補者グループ識別子」は、NULL「−」であっても良い。「候補者グループ識別子」がNULL「−」である場合、対応するユーザが送信したイベント開***報は、例えば、常に一のグループのメンバーに送信されることとなる。また、「参加者候補識別子」は、参加候補者として、イベント開***報が送信されるべき者の識別子である。なお、図13において、ユーザ識別子「001」のユーザが、イベント種類「飲み」のイベントを開催するイベント開***報を送信した場合、イベント種類識別子「飲み」と対になるユーザ識別子「002,003,・・・」のユーザに、イベント開***報が送信される。また、図13において、「参加者候補識別子」の情報が存在するが、受信された情報が1以上の送信先識別子を有する場合、当該1以上の送信先識別子を、情報を送信する先としても良いことは言うまでもない。
また、図13において、「送信先識別子」は、メッセージ等の情報を送信する先を示す情報であり、ここでは電話番号であるが、メールアドレスやIPアドレス等の他の情報でも良い。
また、グループ情報格納部12は、図14に示す構造のグループ情報管理表を保持している。グループ情報管理表は、「ID」「グループ情報」を有するレコードを1以上格納している。「グループ情報」は「イベント識別子」「幹事識別子」「参加者識別子」「不参加者識別子」「イベント種類識別子」「イベント内容情報」「イベント関連情報」を有する。「イベント識別子」は、イベントを識別する情報であり、ここでは、生成部114が生成したユニークな情報である。「幹事識別子」は、イベントの幹事を識別する情報であり、イベント開***報を送信したユーザのユーザ識別子(端末識別子でも良い)である。「参加者識別子」は、イベントに参加表明をしたユーザのユーザ識別子であり、参加情報を送信したユーザのユーザ識別子である。「不参加者識別子」は、イベントに不参加の表明をしたユーザのユーザ識別子であり、不参加情報を送信したユーザのユーザ識別子である。
また、店舗関連情報格納部103は、図15に示す構造の店舗関連情報管理表を保持している。店舗関連情報管理表は、「ID」「店舗関連情報」を有するレコードを1以上格納している。「店舗関連情報」は、「店舗名」「店舗情報」「被検索情報」「連絡先」「ポイント」「評判情報」「予約情報」を有する。「店舗情報」は、ここでは店舗を宣伝広告する広告情報、または店舗を利用した場合の割引や特典に関する情報であるクーポン情報等である。「被検索情報」は、店舗の選択に用いられる情報であり、ここでは、「キーワード」、「時間帯」、「位置情報」、「カテゴリー」等の情報である。「時間帯」は、店舗が利用可能な時間帯の情報である。「位置情報」は店舗の位置を特定する情報である。「位置情報」は、ここでは店舗の緯度と経度の情報であるが、例えば、店舗が存在する駅、店舗が存在する地点や地域等でも良い。「カテゴリー」は店舗の種類(居酒屋、レストラン等)である。
また、「ポイント」は、店舗情報を配信する権利を示す情報であり、ここでは0以上の整数を採り得、ポイントが1以上の場合に店舗情報が配信され得る。
また、店舗関連情報管理表において、「評判情報」は、1〜5の数値であり、例えば、図示しない外部のサーバ装置から取得された情報である。さらに、「予約情報」は、ここでは「〇」または「×」を採り得、例えば、例えば、図示しない外部のサーバ装置(例えば、店舗ごとのサーバ装置)から取得された情報である。「予約情報」は、例えば、外部のサーバ装置に格納されている予約管理情報(時間帯ごとの予約情報)を用いて、現在、空席が存在するか否かを示す情報である。ここでは、「予約情報」は、現在、空席が存在する場合は「〇」、空席が存在しない場合は「×」を採り得る。
また、選択条件格納部104は、選択条件「「一連のメッセージ内にいずれかのキーワードを含む」AND「一連のメッセージ内に時間情報が存在する場合、時間情報が時間帯を満たす」AND「一連のメッセージ内の場所情報と、店舗の位置情報との距離がXm以内」AND「評判情報が閾値以上または閾値より大きい」AND「予約情報=〇」」を格納している、とする。選択条件を構成する「一連のメッセージ内に時間情報が存在する場合、時間情報が時間帯を満たす」は、本イベント識別子で識別されるイベントに対応するメッセージ内に待ち合わせ等の時間情報が存在する場合、当該時間情報が、被検索情報の「時間帯」の属性値を満たすことを意味する。選択条件を構成する「一連のメッセージ内の場所情報と、店舗の位置情報との距離がXm以内」は、本イベント識別子で識別されるイベントに対応するメッセージから取得された場所情報が示す地点と、位置情報が示す地点との距離がXm以内であることを示す。
また、対話関連情報格納部105は、図16に示す構造の対話関連情報管理表を保持している。対話関連情報管理表は、「ID」「対話関連情報」を有するレコードを1以上格納している。「対話関連情報」は、「イベント識別子」「ユーザ識別子」「対話情報」「情報種類識別子」を有する。「ユーザ識別子」は、対話情報を送信したユーザの識別子である。「対話情報」は対話情報(メッセージ)であり、イベント開***報、参加情報、または不参加情報等であり、通常、イベント参加募集の期間中に行われた、メッセージの情報である。「情報種類識別子」は対話情報の種類を識別する情報であり、ここでは、イベント開***報「1」、参加情報「2」、不参加情報「3」、その他「4」があり得る。
かかる状況において、以下の具体例について説明する。
(具体例)
本具体例において、幹事であるユーザ識別子「001」のユーザが、飲み会のイベントの開催を提案し、グループ情報が生成される場合である。そして、具体例において、グループ情報が生成された後、地点の名称(場所情報)が入力された際に、当該場所情報を用いて、店舗情報が送信される場合について説明する。
まず、ユーザ識別子「001」のユーザが、端末装置2の画面に、イベント開***報「今から飲みにいける人いない?」(後述する図17の1701)を入力した、とする。また、本ユーザは、一の画像(後述する図17の1702に示す画像)も入力した、とする。また、本ユーザは、イベント開***報を送信するユーザを特定する端末識別子(ここでは、「002」「003」「005」「007」「008」を入力した、とする。なお、端末識別子を入力する手段は問わない。例えば、図18に示す連絡帳から選択することにより、1以上のユーザを特定し、当該1以上の各ユーザに対応する第二識別子が受け付けられても良い。なお、各ユーザの連絡帳は、端末装置2の端末格納部20に格納されている。なお、連絡帳には、1以上の参加候補者情報が格納されている、とする。参加候補者情報は、ここでは、例えば、端末識別子(ユーザ識別子)、送信先識別子、ユーザの写真、名前、Join率、1以上のグループ属性を有する。グループ属性とは、参加候補者情報をグループ分けするための情報であり、図18では、「飲み」「女友だち」「フットサル」「ゴルフ」「会社」である。一の参加候補者情報が複数のグループ属性を有しても良い。また、Join率とは、イベントへの参加率を示し、参加頻度情報の一種である。
次に、本ユーザは、イベント開***報と画像の送信指示を、端末装置2に入力した、とする。なお、送信指示の入力は、画面上の「送信」ボタンの押下である。
次に、端末装置2の端末受付部21は、ユーザ識別子「001」のユーザ(関山さん)から、イベント開***報「今から飲みにいける人いない?」、端末識別子「002」「003」「005」「007」「008」および画像(1502)を受け付ける。また、端末受付部21は、送信指示を受け付ける。次に、端末送信部22は、端末装置2に格納されているユーザ識別子「001」を読み出す。なお、ユーザ識別子「001」は端末識別子である。次に、端末送信部22は、端末受付部21が受け付けたイベント開***報(1701)と5つの端末識別子と画像(1702)と端末識別子「001」とを、情報処理装置1に送信する。
次に、情報処理装置1の受信部106は、イベント開***報(1701)と5つの端末識別子と画像(1702)と端末識別子「001」とを受信する。
次に、処理部115は、受信された情報が予め決められた指示ではなく、かつイベント識別子を有さないので、イベント開***報を受信したと判断し、イベント開***報を示す情報種類識別子「1」を取得する。
次に、生成部114等は、イベント開催処理を行う。つまり、生成部114は、ユニークなイベント識別子「A001」を生成する。
次に、生成部114は、生成したイベント識別子「A001」、受信されたイベント開***報「今から飲みにいける人いない?」、受信された端末識別子「001」、取得された情報種類識別子「1」を用いて、対話関連情報を構成する。
また、生成部16は、イベント識別子「A001」、幹事識別子「001」を有するグループ情報を生成する。なお、ここでのグループ情報は、例えば、イベント識別子と幹事識別子のみ有する。
次に、処理部115は、構成した対話関連情報を図16の対話関連情報管理表に蓄積する。なお、ここで蓄積された対話関連情報は、図16の「ID=1」のレコードである。
また、処理部115は、イベントのグループ情報を、図14のグループ情報管理表に蓄積する。なお、ここで蓄積されたグループ情報は、図14の「ID=1」のレコードの一部の情報である。
次に、送信部107は、受信された端末識別子「002」「003」「005」「007」「008」を取得する。そして、送信部107は、5つの各端末識別子に対応する送信先識別子「080−5432−1234,090−9876−5432,・・・・」を、図13のユーザ情報管理表から取得する。
また、送信部107は、ユーザ識別子「001」と対になるユーザ属性値(例えば、名前「関山」)を取得する。
次に、送信部107は、取得された各送信先識別子「080−5432−1234,090−9876−5432,・・・・」が示す5つの送信先に、受信されたイベント開***報「今から飲みにいける人いない?」と名前「関山」と写真とイベント識別子「A001」と立場識別子「幹事(例えば、値「1」)」を送信する。なお、立場識別子は、「幹事」以外に、「参加者(例えば、値「2」)」、「不参加者(例えば、値「3」)」、「未定者(例えば、値「4」)」を有し得る、とする。また、送信部107は、受信された情報がイベント開***報であることから、ユーザ識別子「001」で識別されるユーザの立場識別子は「幹事」である、と決定する。
また、店舗選択部108は、メッセージ「今から飲みにいける人いない?」の中に、場所情報を含むか否かを判断する。そして、ここでは、店舗選択部108は、メッセージを形態素解析し、メッセージ内に場所情報を含まないと判断し、店舗の選択は行わない。つまり、ここでは、店舗情報は送信されない。
次に、イベントへの参加候補者の端末装置2の端末受信部23は、情報処理装置1からイベント開***報「今から飲みにいける人いない?」と名前「関山」と写真とイベント識別子「A001」と立場識別子「幹事」とを受信する。
そして、イベントへの参加候補者の端末出力部25は、イベント開***報「今から飲みにいける人いない?」と名前「関山」と写真等を出力する。ここで、端末出力部25は、立場識別子「幹事」が視覚的に認識可能なように、写真を矩形の画面の左側の辺の周辺に配置する(図17の1704参照)。また、端末出力部25は、イベント開***報「今から飲みにいける人いない?」と名前「関山」を、写真(1704)の近辺に出力する。
つまり、本具体例において、幹事が入力した情報は画面の左側に配置され、他の者(例えば、参加者または不参加者または未定者)が入力した情報は画面の右側に配置される。そして、本具体例において、幹事を識別するユーザ識別子を矩形の画面の一の辺の周辺に配置し、他のユーザのユーザ識別子を矩形の画面の一の辺とは反対側の辺の周辺に配置することにより、幹事が入力した情報と、他のユーザが入力した情報とを視覚的に区別して出力するようにする。
次に、ユーザ識別子「008」で識別されるユーザ(名前「鳴島」)が、自分の端末装置2に出力されたイベント開***報「今から飲みにいける人いない?」と名前「関山」等を見て、「20:00ぐらいなら行けますよ〜!」(後述する図19の1901)と画像(後述する図19の1902)とを入力する。また、本ユーザは、Joinボタン(図19の1903)を押下し、さらに「送信」ボタンを押下した、とする。
次に、ユーザ識別子「008」で識別されるユーザの端末装置2の端末受付部21は、文字列「20:00ぐらいなら行けますよ〜!」と画像(1902)と「Join」ボタンの押下と「送信」ボタンの押下とを受け付ける。
次に、端末送信部22は、ユーザ識別子「008」を読み出す。また、端末送信部22は、イベント識別子「A001」を取得する。そして、端末送信部22は、参加の旨を示すフラグと文字列「20:00ぐらいなら行けますよ〜!」を有する参加情報、画像(1902)、ユーザ識別子「008」、およびイベント識別子「A001」を情報処理装置1に送信する。
次に、情報処理装置1の受信部106は、参加の旨を示すフラグと文字列「20:00ぐらいなら行けますよ〜!」を有する参加情報、画像(1902)、ユーザ識別子「008」、およびイベント識別子「A001」を受信する。
次に、処理部115は、参加の旨を示すフラグから、情報種類識別子「参加情報(値は「2」)」を取得する。
次に、処理部115は、受信された情報の中からイベント識別子「A001」とユーザ識別子「008」と参加情報「20:00ぐらいなら行けますよ〜!」とを取得し、かつ情報種類識別子「2」を取得する。
次に、処理部115は、取得したイベント識別子「A001」に対応付けて、ユーザ識別子「008」、参加情報「20:00ぐらいなら行けますよ〜!」、情報種類識別子「2」等を対話関連情報管理表に蓄積する。なお、かかる参加情報は、図16の対話関連情報管理表の「ID=2」のレコードである。
また、ここで、処理部115は、イベント識別子「A001」に対応付けて、ユーザ識別子「008」を参加者識別子として、図14のグループ情報管理表に蓄積しても良い(図14の「ID=1」のレコード参照)。
次に、送信部107は、参加情報を送信する先の1以上の送信先識別子を取得する。なお、ここで、送信部107は、幹事であるユーザ識別子「001」の送信先識別子のみを取得しても良いし、幹事であるユーザ識別子「001」の送信先識別子とすべての参加者候補識別子「002,003,・・・・」に対応する送信先識別子「080−5432−1234,090−9876−5432,・・・・」を取得しても良い。なお、ここでは、送信部107は、幹事であるユーザ識別子「001」の送信先識別子とすべての参加者候補識別子「002,003,・・・・」の送信先識別子のみを取得した、とする。
次に、送信部107は、ユーザ識別子「008」で識別されるユーザの名前「鳴島」、およびイベント識別子「A001」を、図13のユーザ情報管理表から取得する。また、送信部107は、グループ情報の参加者識別子「008」を用いて、ユーザ識別子「008」で識別されるユーザの立場識別子「参加者(値「2」)」を取得する。また、送信部107は、ユーザ識別子「001」の送信先識別子、および参加者候補識別子「002,003,・・・・」で識別される送信先識別子を取得する。なお、ここで、送信部107は、情報を入力した参加者識別子「008」を、送信する先から除いても良い。
そして、送信部107は、取得した送信先識別子「090−1234−5678」等で識別される送信先に、参加情報「20:00ぐらいなら行けますよ〜!」と画像(1902)とユーザの名前「鳴島」と立場識別子「参加者(値「2」)」とイベント識別子「A001」等を送信する。
また、店舗選択部108は、メッセージ「20:00ぐらいなら行けますよ〜!」の中に、場所情報を含むか否かを判断する。そして、ここでは、店舗選択部108は、メッセージを形態素解析し、メッセージ内に場所情報を含まないと判断し、店舗の選択は行わない。つまり、ここでは、店舗情報は送信されない。
次に、例えば、ユーザ識別子「002」の端末装置2の端末受信部23が情報処理装置1から参加情報「20:00ぐらいなら行けますよ〜!」と画像(1902)とユーザの名前「鳴島」と立場識別子「参加者(値「2」)」とイベント識別子「A001」等を受信する。なお、ユーザ識別子「002」の端末装置2は、幹事の「関山」さんからのイベント開***報を、既に受信し、出力している、とする。かかる出力態様は、例えば、図17である。
次に、端末出力部25は、立場識別子「参加者(値「2」)」が視覚的に認識可能なように、参加情報「20:00ぐらいなら行けますよ〜!」(図19の1901)とユーザの名前「鳴島」と画像(1902)とを出力する(図19参照)。なお、ここで、上述したように、幹事が入力した情報は画面の左側に配置され、他の者(例えば、参加者または不参加者または未定者)が入力した情報は画面の右側に配置される。なお、現時点は、参加者募集期間情報が示すイベント参加募集期間である。
次に、端末装置2の端末受信部23が情報処理装置1から参加情報「20:00ぐらいなら行けますよ〜!」と画像(1902)とユーザの名前「鳴島」と立場識別子「参加者(値「2」)」とイベント識別子「A001」等を受信する。
次に、端末出力部25は、参加情報「20:00ぐらいなら行けますよ〜!」(図19の1901)とユーザの名前「鳴島」と画像(1902)を出力する(図19参照)。
次に、ユーザ識別子「002」の「岡崎」さんが、自分の端末装置2に、「今日は、忙しくて無理です!」と、不参加の旨を示すフラグとを入力し、「送信」ボタンを押下した、とする。なお、不参加の旨を示すフラグの入力は、例えば、「不参加」ボタン等のボタンの押下により実現されても良い。
次に、「岡崎」さんの端末装置2の端末受付部21は、文字列「今日は、忙しくて無理です!」と不参加の旨を示すフラグと「送信」ボタンの押下とを受け付ける。
次に、端末送信部22は、ユーザ識別子「002」を読み出す。また、端末送信部22は、イベント識別子「A001」を取得する。そして、端末送信部22は、不参加の旨を示すフラグと文字列「今日は、忙しくて無理です!」を有する参加情報、ユーザ識別子「002」、およびイベント識別子「A001」を情報処理装置1に送信する。
次に、情報処理装置1の受信部106は、不参加の旨を示すフラグ、文字列「今日は、忙しくて無理です!」を有する参加情報、ユーザ識別子「002」、およびイベント識別子「A001」を受信する。
次に、処理部115は、不参加の旨を示すフラグから、情報種類識別子「不参加情報(値は「3」)」を取得する。
次に、処理部115は、受信された情報の中からイベント識別子「A001」とユーザ識別子「002」と参加情報「今日は、忙しくて無理です!」を取得し、かつ情報種類識別子「3」を取得する。
次に、処理部115は、取得したイベント識別子「A001」に対応付けて、ユーザ識別子「002」、参加情報「今日は、忙しくて無理です!」、情報種類識別子「3」等を対話関連情報管理表に蓄積する。なお、かかる参加情報は、図16の対話関連情報管理表の「ID=3」のレコードである。
また、ここで、処理部115は、イベント識別子「A001」に対応付けて、ユーザ識別子「002」を不参加者識別子として、図14のグループ情報管理表に蓄積しても良い(図14の「ID=1」のレコード参照)。
次に、送信部107は、不参加情報を送信する先の1以上の送信先識別子を取得する。なお、ここで、送信部107は、幹事であるユーザ識別子「001」の送信先識別子のみを取得しても良いし、幹事であるユーザ識別子「001」の送信先識別子とすべての参加者候補識別子「002,003,・・・・」に対応する送信先識別子「080−5432−1234,090−9876−5432,・・・・」を取得しても良い。なお、ここでは、送信先決定部14は、幹事であるユーザ識別子「001」の送信先識別子とすべての参加者候補識別子「002,003,・・・・」の送信先識別子のみを取得した、とする。
次に、送信部107は、ユーザ識別子「002」で識別されるユーザの名前「岡崎」、およびイベント識別子「A001」を、図13のユーザ情報管理表から取得する。また、送信部107は、グループ情報の不参加者識別子「002」を用いて、ユーザ識別子「002」で識別されるユーザの立場識別子「不参加者(値「3」)」を取得する。また、送信部107は、ユーザ識別子「001」の送信先識別子、および参加者候補識別子「002,003,・・・・」で識別される送信先識別子を取得する。なお、ここで、送信部107は、情報を入力した不参加者識別子「002」を、送信する先から除いても良い。
そして、送信部107は、取得した送信先識別子「090−1234−5678」等で識別される送信先に、不参加情報「今日は、忙しくて無理です!」とユーザの名前「岡崎」と立場識別子「不参加者(値「3」)」とイベント識別子「A001」等を送信する。
また、店舗選択部108は、メッセージ「今日は、忙しくて無理です!」の中に、場所情報を含むか否かを判断する。そして、ここでは、店舗選択部108は、メッセージを形態素解析し、メッセージ内に場所情報を含まないと判断し、店舗の選択は行わない。つまり、ここでは、店舗情報は送信されない。
次に、例えば、ユーザ識別子「003」の端末装置2の端末受信部23が情報処理装置1から不参加情報「今日は、忙しくて無理です!」とユーザの名前「岡崎」と立場識別子「不参加者(値「3」)」とイベント識別子「A001」等を受信する。なお、ユーザ識別子「003」の端末装置2は、幹事の「関山」さんからのイベント開***報、参加者「鳴島」さんからの参加情報を、既に受信し、出力している、とする。
次に、端末出力部25は、立場識別子「不参加者(値「3」)」が視覚的に認識可能なように、不参加情報「今日は、忙しくて無理です!」(図20の2001)とユーザの名前「岡崎」とを出力する(図20参照)。なお、ここで、上述したように、幹事が入力した情報は画面の左側に配置され、他の者(例えば、参加者または不参加者または未定者)が入力した情報は画面の右側に配置される。また、端末出力部25は、幹事と他の者だけではなく、参加者と不参加者をも視覚的に区別可能なように、参加者の写真の周りは輝度を高くする、または写真の周りを装飾する等の処理を行う。一方、端末出力部25は、不参加者の写真の周りの輝度は通常の輝度値である、または写真の周りは装飾等しない。
なお、参加者と不参加者とを視覚的に区別可能なようにする表示態様は問わない。また、現時点は、参加者募集期間情報が示すイベント参加募集期間である。さらに、幹事をはじめ、複数ユーザ間の2以上の対話情報を出力する画面において、端末出力部25は、対話情報を入力したユーザの立場識別子に応じて、立場が視覚的に識別可能なように、当該対話情報を出力することは好適である。端末出力部25は、図21の2101に示すように、参加者と不参加者とを、視覚的に識別可能なように出力することは好適である。なお、2101は、参加者の情報(ここでは、写真)である。2101には、幹事の情報は含まれていないが、幹事の情報が含まれても良い。また、2102は、参加者数を示す情報である。2102は、現時点の参加者が2名であることを示す。
次に、幹事の「関山」さんが、自分の端末装置2に「じゃ、三ノ宮駅に20:15集合。他の人も参加ヨロシク!」と入力した、とする。そして、端末装置2の端末受付部21は、「じゃ、三ノ宮駅に20:15集合。他の人も参加ヨロシク!」を受け付ける。
次に、端末送信部22は、端末格納部20からユーザ識別子「0001」を取得する。また、端末送信部22は、メモリ上のイベント識別子「A001」を取得する。そして、端末送信部22は、ユーザ識別子「0001」、イベント識別子「A001」、および受け付けられた情報「じゃ、三ノ宮駅に20:15集合。他の人も参加ヨロシク!」を用いて、送信する情報を構成する。
次に、端末送信部22は、構成した情報を、情報処理装置1に送信する。
次に、情報処理装置1の受信部106は、「じゃ、三ノ宮駅に20:15集合。他の人も参加ヨロシク!」を含むメッセージ等を受信する。
次に、送信部107は、受信されたユーザ識別子「0001」およびイベント識別子「A001」を用いて、メッセージを転送する端末装置2のユーザ識別子「008」「003」「007」を、グループ情報管理表の「ID=1」のレコードの属性「参加者識別子」から取得する。
次に、送信部107は、取得したユーザ識別子で識別される3つの端末装置2に、メッセージ「じゃ、三ノ宮駅に20:15集合。他の人も参加ヨロシク!」等を送信する。
次に、店舗選択部108等は店舗情報処理を行う。つまり、店舗選択部108は、「じゃ、三ノ宮駅に20:15集合。他の人も参加ヨロシク!」から場所情報「三ノ宮駅」を取得する。なお、文や文字列から場所情報を取得する技術は公知技術であるので詳細な説明は省略する。
次に、店舗選択部108は、メッセージ「じゃ、三ノ宮駅に20:15集合。他の人も参加ヨロシク!」を自然言語処理し、当該メッセージから場所情報「三ノ宮駅」、および時間情報「20:15」を取得する。なお、文字列から場所情報や時間情報を取得する自然言語処理技術は公知技術であるので、詳細な説明を省略する。
そして、店舗選択部108は、選択条件格納部104の選択条件を満たすか否かを判断する。ここで、店舗選択部108は、店舗関連情報管理表の「ID=1」のレコードが選択条件を満たす、と判断する。つまり、店舗選択部108は、本イベントに対応するメッセージ「今から飲みにいける人いない?」が有する「飲み」が、選択条件の一部である「一連のメッセージ内にいずれかのキーワード「飲み」を含む」を満たす、と判断する。また、店舗選択部108は、本イベントに対応するメッセージ「じゃ、三ノ宮駅に20:15集合。他の人も参加ヨロシク!」が有する場所情報「三ノ宮駅」と店舗関連情報管理表の「ID=1」のレコードの位置情報(x1,y1)とが、選択条件の一部である「一連のメッセージ内の場所情報と、店舗の位置情報との距離がXm以内」を満たす、と判断する。また、店舗選択部108は、本イベントに対応するメッセージ「じゃ、三ノ宮駅に20:15集合。他の人も参加ヨロシク!」が有する時間情報「20:15」が店舗関連情報管理表の「ID=1」のレコードの時間帯「17:00−24:00」を満たす、と判断する。また、店舗選択部108は、店舗関連情報管理表の「ID=1」のレコードの評判情報「4.3」が「評判情報が閾値以上または閾値より大きい」を満たす、と判断する。さらに、店舗選択部108は、店舗関連情報管理表の「ID=1」のレコードの予約情報「〇」が「予約情報=〇」を満たす、と判断する。
そして、店舗選択部108は、店舗関連情報管理表の「ID=1」のレコードの店舗情報「今なら、20%OFFにて、ご案内可能!」、店舗名「居酒屋A」、連絡先「078−111−2356」、店舗識別子(ID)「1」等を取得する。
次に、店舗情報送信部112は、取得された店舗情報等をユーザ識別子「001」「008」「003」「007」で識別される4つの端末装置2に送信する。
次に、ポイント使用部113は、店舗情報の送信に応じて、店舗関連情報管理表の「ID=1」のレコードの「ポイント」を「21」から「20」に変更する。
次に、端末装置2の端末受信部23は、情報処理装置1から店舗情報「今なら、20%OFFにて、ご案内可能!」等を受信する。そして、端末出力部25は、端末受信部23が受信した店舗情報「今なら、20%OFFにて、ご案内可能!」等の出力処理を行う。かかる場合の店舗情報等の出力例は、図21の2103である。また、図21において、2104は店舗情報に対する応答を行うためのアイコン(ボタン)であり、2105は店舗情報に対応する店舗に電話をかけるためのアイコン(ボタン)である。また、図21において、店舗情報には網掛がかかっており、店舗情報は、他のユーザのメッセージと視覚的に区別可能なように出力されている。
次に、幹事の「関山」さんは、端末装置2に出力された店舗情報(2103)に対して、2104のボタンを押下し、応答を行う、とする。つまり、幹事の「関山」さんは、2104のボタンを押下し、「では、予約します。20:15ぐらいに行きます。」を、端末装置2に入力した、とする。
次に、「関山」さんの端末装置2の端末受付部21は、応答「では、予約します。20:15ぐらいに行きます。」を受け付ける。また、端末受付部21は、送信指示を受け付けた、とする。
次に、端末送信部22は、端末装置2に格納されているユーザ識別子「001」を読み出す。次に、端末送信部22は、端末受付部21が受け付けた応答「では、予約します。20:15ぐらいに行きます。」と端末識別子「001」とを、情報処理装置1に送信する。
次に、情報処理装置1の受信部106は、応答「では、予約します。20:15ぐらいに行きます。」等を受信する。
次に、送信部107は、受信された応答「では、予約します。20:15ぐらいに行きます。」等を、店舗装置3に送信する。
次に、店舗装置3の店舗受信部33は、情報処理装置1から応答「では、予約します。20:15ぐらいに行きます。」等を受信する。そして、店舗出力部35は、店舗受信部33が受信した応答等を出力する。以上により、ユーザの店舗の予約が完了する。
なお、本具体例において、場所情報「三ノ宮駅」を検出した後、店舗情報の送信のための処理を行った。しかし、その他の条件を満たした場合に、店舗情報の送信のための処理を行っても良い。
その他の条件とは、例えば、参加者が閾値以上または閾値より多くなった場合、グループ情報が生成された場合等である。
また、本具体例において、ユーザが入力した文字列から場所情報(ここでは「三ノ宮駅」)を取得した。しかし、端末装置2が取得し、情報処理装置1に送信された端末装置2の位置の情報(例えば、(緯度,経度))を場所情報として使用して、店舗を選択しても良い。
また、本具体例において、店舗に対して、店舗情報を送信しても良いか否かを確認せずに店舗情報を送信した。しかし、店舗情報を送信しても良いか否かを確認した後に、店舗情報を送信しても良い。
また、本具体例において、イベントの参加者を募るメッセージのやりとりにおいて、情報処理装置1は、店舗情報を端末装置2に送信した。しかし、情報処理装置1は、複数のユーザ間でメッセージを交換する場合に、店舗情報を端末装置2に送信しても良い。
以上、本実施の形態によれば、グループ内でメッセージを交換しているユーザに対して、適切に店舗情報を送信できる。
また、グループ内で交換するメッセージと同様の出力態様で、店舗情報を出力できるために、電子的な、いわゆるお客様の呼び込みが実現できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記録媒体は、ユーザを識別する2以上のユーザ識別子を含む2以上のグループ情報を格納し得るグループ情報格納部と、店舗に関する情報である店舗情報と店舗の位置を示す位置情報とを有する1以上の店舗関連情報を格納し得る店舗関連情報格納部と、店舗を選択するための条件である選択条件を格納し得る選択条件格納部とを具備し、コンピュータを、一のユーザの端末装置から場所情報を含むメッセージ、または場所情報に対応付いたメッセージを受信する受信部と、前記メッセージに含まれる場所情報と前記位置情報とを前記選択条件に適用し、前記選択条件に合致する1以上の店舗を選択する店舗選択部と、前記店舗選択部が選択した1以上の各店舗の1以上の店舗情報を取得する店舗情報取得部と、前記店舗情報取得部が取得した1以上の店舗情報を、前記一のユーザに対応するユーザ識別子を含むグループ情報に含まれる1または2以上の各ユーザ識別子で識別される1または2以上の端末装置に送信する店舗情報送信部として機能させるためのプログラムである。
また、上記プログラムにおいて、コンピュータを、前記店舗選択部が選択した1以上の各店舗に対応する店舗装置に、2以上の端末装置に店舗情報を送信しても良いか否かを問い合わせる問合部と、前記問合部における問い合せに応じて、1以上の店舗装置から回答を受信する回答受信部としてさらに機能させ、前記店舗情報送信部は、前記回答が店舗情報を送信しても良い旨の回答に対応する1以上の店舗装置の店舗情報を、2以上の端末装置に送信するものとして機能させることは好適である。
また、上記プログラムにおいて、前記選択条件は、場所情報、日、日時、行為情報、ユーザの位置情報のうちの1以上の情報に関する条件を示す情報であるものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記店舗関連情報は、店舗の評判を示す評判情報、または予約状況を示す予約情報をも有し、前記店舗選択部は、前記評判情報または前記予約情報をも用いて、1以上の店舗を選択するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、記録媒体は、ユーザ識別子とユーザの個人情報とを有する2以上のユーザ情報を格納し得るユーザ情報格納部をさらに具備し、前記店舗選択部は、前記個人情報をも用いて、1以上の店舗を選択するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記店舗関連情報は、店舗情報の送信に関する権利についての情報であるポイントを有し、前記店舗情報送信部が店舗情報を送信した場合、当該店舗情報に対応する店舗のポイントを減じるポイント使用部として、コンピュータをさらに機能させ、前記店舗情報送信部は、前記ポイントが予め決められた条件を満たすほど低いポイントに対応する店舗情報は送信しないものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記一のユーザを識別するユーザ識別子を含むグループ情報が有する2以上のユーザ識別子の中の、前記一のユーザを識別するユーザ識別子を除く1以上のユーザ識別子で識別される端末装置に、前記受信部が受信したメッセージを送信する送信部として、コンピュータをさらに機能させることは好適である。
また、上記プログラムにおいて、前記店舗情報は、前記端末装置において、前記メッセージと同じ態様で出力されるものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記店舗情報送信部は、前記店舗情報と店舗を識別する店舗識別子との組を、1組以上、前記1または2以上の端末装置に送信するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記受信部は、前記店舗情報に対する応答を受信し、前記送信部は、前記店舗識別子に対応する店舗端末に前記応答を送信するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記店舗情報は、前記端末装置において、他のユーザのメッセージと視覚的に区別可能なように出力されるものとして、コンピュータを機能させることは好適である。
また、図22は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置1、端末装置2、店舗装置3を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図22は、このコンピュータシステム300の概観図であり、図23は、システム300のブロック図である。
図22において、コンピュータシステム300は、CD−ROMドライブ3012を含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図23において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、MPU3013、CD−ROMドライブ3012に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態の情報処理装置1等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態の情報処理装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信する送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信するステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理や各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
なお、本願発明は、上記の実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
更に、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。たとえば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。