以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、第一識別子が格納されている自動販売機であり、読み取り可能な第二識別子が格納されたID格納媒体とを含むユーザ情報を情報処理装置に送信する自動販売機について説明する。
また、本実施の形態において、自動販売機のID格納媒体から第二識別子を取得し、当該第二識別子とユーザ識別子とを含むユーザ情報を情報処理装置に送信するユーザ端末について説明する。
また、自動販売機から購入情報を受信し、ユーザ端末からユーザ情報を受信し、当該購入情報と当該ユーザ情報とを用いて、購入された商品に対応する金額をユーザ情報に含まれるユーザ識別子で識別されるユーザに対応する精算者に負担させるための決済処理を行う情報処理装置について説明する。
また、本実施の形態において、2以上のユーザ端末からユーザ情報を受信し、1または2以上のユーザに対する決済を行う情報処理装置について説明する。なお、かかる場合、2以上のユーザ端末に対するユーザのグループは管理されていることは好適である。
また、本実施の形態において、購入情報の受信時に対して、所定時間以内の差異の時に受信されたユーザ情報のみを用いて、決済処理を行う情報処理装置について説明する。
さらに、本実施の形態において、決済処理をする場合または決済処理をした場合に、排出指示を自動販売機に送信する情報処理装置について説明する。
なお、本実施の形態において、情報Xが情報Yに対応付いていることは、情報Xから情報Yを取得できること、または情報Yから情報Xを取得できることであり、その対応付けの方法は問わない。情報Xと情報Yとがリンク付いていても良いし、同じバッファに存在していても良いし、情報Xが情報Yに含まれていても良いし、情報Yが情報Xに含まれている等でも良い。
図1は、本実施の形態における自販機システムAの概念図である。自販機システムAは、情報処理装置1、1または2以上の自動販売機2、および1または2以上のユーザ端末3を備える。図1において、符号G1、・・・、GNは、2以上のユーザ端末3のグループの識別子である。なお、自販機システムAには、グループに属さないユーザ端末3が存在しても良いし、すべてのユーザ端末3がグループに属さなくても良い。
情報処理装置1は、自動販売機2における商品の購入の際の決済処理を支援するサーバである。情報処理装置1は、例えば、クラウドサーバ、ASPサーバであるが、その種類は問わない。
自動販売機2は、商品を販売する自動販売機である。なお、商品は、例えば、飲料であるが、問わない。商品は、最終的にユーザが取得する商品の引換券でも良い。商品は、サービスも含むと考えても良い。サービスは、例えば、自動車の駐車のサービス、二輪車の駐輪のサービスである。サービスを販売する自動販売機2は、例えば、駐車場または駐輪場のロックを解除する機器である。
ユーザ端末3は、商品を自動販売機2で購入するユーザが使用する端末である。ユーザ端末3は、例えば、スマートフォンであるが、時計型端末、タブレット端末、いわゆるパソコン等であり、その種類は問わない。
情報処理装置1と自動販売機2、および情報処理装置1とユーザ端末3とは、通常、インターネットやLAN等により通信可能である。自動販売機2とユーザ端末3とは、近距離無線通信や他の通信手段により、通信可能であることは好適である。
図2は、本実施の形態における自販機システムAのブロック図である。図3は、情報処理装置1ブロック図である。
情報処理装置1は、格納部11、受信部12、処理部13、および送信部14を備える。格納部11は、自販機管理部111、およびグループ管理部112を備える。受信部12は、購入情報受信部121、およびユーザ情報受信部122を備える。処理部13は、判断部131、および決済処理部132を備える。送信部14は、指示送信部141を備える。
自動販売機2は、自販機格納部21、ID格納媒体22、自販機受付部23、自販機処理部24、自販機受信部25、自販機送信部26、自販機出力部27、および排出部28を備える。自販機処理部24は、自販機構成部241を備える。
ユーザ端末3は、端末格納部31、端末受付部32、端末処理部33、端末送信部34、端末受信部35、および端末出力部36を備える。
情報処理装置1を構成する格納部11には、各種の情報が格納される。各種の情報は、例えば、後述する自販機管理情報、ユーザ情報、後述するグループ情報である。
ユーザ情報は、ユーザ端末3を使用するユーザに関する情報である。ユーザ情報は、例えば、ユーザ識別子、1以上のユーザ属性値を有する。ユーザ属性値は、例えば、クレジット番号、氏名、電話番号、メールアドレスである。
ユーザ属性値は、ユーザが属するグループのグループ識別子でも良い。かかる場合、一のグループ情報は、一のグループ識別子と対になる2以上のグループ識別子である。
自販機管理部111には、1または2以上の自販機管理情報が格納される。自販機管理情報は、一の自動販売機2の第一識別子と第二識別子との対応を示す情報である。自販機管理情報は、例えば、一の自動販売機2の第一識別子と第二識別子とを有する。自販機管理情報は、例えば、一の自動販売機2を識別する自販機識別子に対応付いている。
なお、第一識別子は、自動販売機2に固有の情報である。第一識別子は、例えば、自動販売機2が情報処理装置1と通信するために挿入されているSIMの識別子である。
第二識別子は、自動販売機2が具備するID格納媒体22を識別する情報である。第二識別子は、例えば、近距離無線機能を有するID格納媒体22を識別する情報であり、例えば、NFCの識別子である。
グループ管理部112には、1または2以上のグループ情報が格納される。グループ情報とは、グループを管理するための情報である。グループは、2以上のユーザのグループである。ここでのグループは、一緒に自動販売機2を利用するユーザの集合である。グループは、例えば、会社または部署等の組織である。グループ情報は、通常、2以上のユーザ識別子を有する。ユーザ識別子に、負担フラグが対応付いていても良い。負担フラグは、2人以上のユーザのグループで商品を購入する場合に、当該商品の購入に対する金額を負担する者となり得るか否かを示す情報である。2人以上のユーザのグループで商品を購入する場合、負担フラグが対応付いているユーザ識別子で識別されるユーザが、商品の代金を負担する。ユーザ識別子に、決済利用情報が対応付いていても良い。決済利用情報とは、決済のために使用される情報である。決済利用情報は、例えば、クレジットカード番号、支払いアプリのユーザIDであるが、決済に使用し得る他の情報でも良い。
受信部12は、各種の指示や情報を受信する。各種の指示や情報は、例えば、後述する購入情報、後述する端末情報である。
購入情報受信部121は、1または2以上の各自動販売機2から購入情報を受信する。かかる自動販売機2は、商品の購入指示を受け付けた自動販売機である。
購入情報とは、自動販売機2での商品の購入に関する情報である。購入情報は、例えば、購入指示に対応する商品識別子と第一識別子とを有する。購入情報は、例えば、自販機識別子を有する。購入情報は、例えば、購入時情報を有する。
第一識別子は、自動販売機2を識別する情報である。商品識別子とは、商品を特定する情報である。商品識別子は、例えば、自動販売機2のコラムの識別子、商品ID、商品名である。自販機識別子とは、自動販売機2を識別する情報である。購入時情報は、例えば、自動販売機2が、商品識別子と第一識別子とを取得した時を特定する情報である。購入時情報とは、例えば、自動販売機2で購入指示が入力された時を特定する情報である。購入時情報は、例えば、時刻である。
ユーザ情報受信部122は、1または2以上の各ユーザ端末3から、ユーザ情報を受信する。ユーザ情報は、商品を購入する際に、ユーザ端末3から送信される情報である。ユーザ情報は、第二識別子とユーザ識別子とを含む。ユーザ情報は、例えば、ユーザ時情報を有する。
第二識別子とは、自動販売機2のID格納媒体22の識別子であり、自動販売機2を識別する情報である。ユーザ時情報は、ユーザ端末3が第二識別子とユーザ識別子とを送信する時を特定する情報である。ユーザ時情報は、例えば、時刻である。
処理部13は、各種の処理を行う。各種の処理は、例えば、判断部131、決済処理部132が行う処理である。
判断部131は、受信された購入情報が有する第一識別子と受信されたユーザ情報が有する第二識別子との対応を示す自販機管理情報が自販機管理部111に存在するか否かを判断する。
判断部131は、通常、決済するか否かを示す判断結果を取得する。なお、判断結果が決済することを示す情報である場合、決済条件を満たした場合である。
決済条件は、例えば、近似条件を満たすこと、および自販機条件を満たすことである。決済条件は、例えば、自販機条件を満たすことである。
近似条件は、購入情報が有する購入時情報とユーザ情報が有するユーザ時情報との差が閾値以内または閾値より短いことである。
自販機条件は、受信された購入情報が有する第一識別子と受信されたユーザ情報が有する第二識別子との対応を示す自販機管理情報が自販機管理部111に存在することである。
判断部131は、例えば、受信された購入情報が有する第一識別子と2以上の各ユーザ端末から受信されたユーザ情報が有する2以上の各第二識別子との対応を示す自販機管理情報が自販機管理部111に存在するか否かを判断する。
ここでの2以上の各ユーザ端末から受信されたユーザ情報は、通常、同時または閾値以内の時間の間に受信されたユーザ情報である。
判断部131は、例えば、2以上の各ユーザ端末3から受信されたユーザ情報が有する2以上のユーザ識別子を有するグループ情報がグループ管理部112に存在するか否かを判断する。
判断部131は、例えば、受信された購入情報が有する第一識別子と2以上の各ユーザ端末から受信されたユーザ情報が有する2以上の各第二識別子との対応を示す自販機管理情報が自販機管理部111に存在し、かつ当該2以上のユーザ情報が有する2以上のユーザ識別子を有するグループ情報がグループ管理部112に存在する場合に、決済するとの判断結果を取得する。
決済処理部132は、判断部131が決済するとの判断結果を取得した場合に決済処理を行う。決済処理部132は、判断部131が自販機管理部111に存在すると判断した場合に決済処理を行う。
決済処理とは、自動販売機2に対するユーザの商品購入の決済に関する処理である。決済処理とは、購入情報が有する商品識別子に対応する金額を、ユーザ情報が有するユーザ識別子に対応する精算者に負担させるための処理である。
なお、ユーザ識別子に対応する精算者とは、例えば、ユーザ識別子で識別されるユーザであるが、かかるユーザ以外の者でも良い。ユーザ以外の者は、例えば、ユーザ識別子で識別されるユーザが所属する組織、ユーザ識別子で識別されるユーザの保護者、ユーザ識別子で識別されるユーザと何らかの関係がある者である。また、ユーザ識別子に対応する精算者は、ユーザ識別子で識別されるユーザに対応する精算者である、と言える。ユーザに対応する精算者は、当該ユーザでも良い。
また、購入情報が有する商品識別子に対応する金額は、購入情報が有する商品識別子で識別される商品の購入金額の全部でも良いし、一部でも良い。購入情報が有する商品識別子に対応する金額は、ユーザ識別子に対応する精算者が負担する金額である。
決済処理は、例えば、当該ユーザのクレジットカード番号等の決済利用情報を用いた、決済のための処理である。決済のための処理は、例えば、決済利用情報と金額等を決済サーバに送信する処理である。ただし、決済処理は、決済を支援する処理でも良く、決済に関する処理であれば良い。つまり、決済処理の内容は問わない。
決済処理部132は、購入情報が有する第一識別子とユーザ情報が有する第二識別子との対応を示す自販機管理情報が自販機管理部111に存在すると、判断部131が判断した場合に、購入情報が有する商品識別子に対応する金額を、ユーザ情報が有するユーザ識別子で識別されるユーザに対応する精算者に負担させるための決済処理を行う。
決済処理部132は、例えば、判断部131が第一識別子と2以上の各第二識別子との対応を示す自販機管理情報がすべて自販機管理部111に存在すると判断した場合に、購入情報が有する商品識別子に対応する金額を、2以上の各ユーザ情報が有するユーザ識別子で識別されるユーザのうち、いずれか1以上のユーザに対応する精算者に負担させるための決済処理を行う。
決済処理部132は、判断部131が2以上の第二識別子を有するグループ情報がグループ管理部112に存在すると判断した場合のみ、決済処理を行うことは好適である。
決済処理部132は、購入情報受信部121が購入情報を受信した時に対して近似条件を満たす時に受信されたユーザ情報のみを用いて決済処理を行うことである。
送信部14は、各種の情報や指示を送信する。各種の情報や指示は、例えば、後述する排出指示、決済完了情報である。
決済完了情報とは、決済が完了した旨の情報である。送信部14は、決済完了情報をユーザ端末3に送信する。
指示送信部141は、決済処理部132が決済処理を行う場合、または決済処理行った場合に、排出指示を自動販売機2に送信する。排出指示とは、通常、商品を排出する指示である。排出指示は、通常、ユーザが指示した商品を自動販売機2から排出する指示である。ただし、排出指示は、ユーザが商品を取り出し可能にする指示である、と考えても良い。排出指示は、商品を販売する庫の鍵を解錠する指示(適宜、「解錠指示」という)でも良い。解錠指示は、例えば、駐車場や駐輪場のロックを外す指示でも良い。
自動販売機2を構成する自販機格納部21には、各種の情報が格納される。各種の情報は、例えば、第一識別子である。
ID格納媒体22には、第二識別子が格納されている。なお、第二識別子は、通常、第一識別子と異なる情報である。ID格納媒体22は、例えば、自動販売機2に貼り付けられている。ID格納媒体22は、例えば、自動販売機2に挿入されている。ID格納媒体22は、例えば、NFCチップ、NFCカード、コードが印刷された媒体である。コードは、第二識別子に対応する。コードには、例えば、第二識別子が埋め込まれている。コードは、例えば、QRコード(登録商標)、バーコードであるが、問わない。
自動販売機2の内部機構の改良無しに、ID格納媒体22は、自動販売機2に設置される媒体であることは好適である。
自販機受付部23は、各種の指示や情報を受け付ける。各種の指示や情報は、例えば、購入指示である。購入指示とは、商品の購入の指示である。購入指示は、例えば、自動販売機2のボタンの押下により発生する。購入指示は、商品識別子に対応付いている。
ここで、受け付けとは、自動販売機2のボタンの指示の受け付け、タッチパネルなどの入力デバイスから入力された指示の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信等である。
自販機処理部24は、各種の処理を行う。各種の処理は、例えば、自販機構成部241が行う処理である。各種の処理は、例えば、公知の自動販売機2が行う処理である。
自販機構成部241は、自販機受付部23が受け付けた購入指示に対応する商品識別子と自販機格納部21の第一識別子とを有する購入情報を構成する。購入指示に対応する商品識別子は、例えば、ユーザに押下されたボタンに対応する商品識別子である。
自販機受信部25は、各種の情報や指示を受信する。自販機受信部25は、例えば、排出指示を情報処理装置1から受信する。自販機受信部25は、例えば、第二識別子送信指示をユーザ端末3から受信する。
自販機送信部26は、自販機構成部241が構成した購入情報を情報処理装置1に送信する。
自販機出力部27は、各種の情報を出力する。各種の情報は、例えば、自動販売機2のボタンが指示された場合の効果音、排出指示に対応し、決済が完了した旨を示す効果音や情報である。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
排出部28は、自動販売機2の中の商品を排出する。排出部28は、自販機受信部25が排出指示を情報処理装置1から受信した場合に、当該排出指示に対応する商品を排出する。排出指示に対応する商品は、例えば、排出指示が有する商品識別子に対応する商品、購入指示に対応する商品(例えば、ユーザが指示したボタンに対応する商品)である。なお、自動販売機が商品を排出する処理は公知技術である。また、商品を排出することは、商品の引換券を排出することも含むと考えても良い。
ユーザ端末3を構成する端末格納部31には、各種の情報が格納される。各種の情報は、例えば、ユーザ識別子である。
端末受付部32は、各種の指示や情報を受け付ける。各種の指示や情報は、例えば、第二識別子取得指示である。
第二識別子取得指示とは、自動販売機2のID格納媒体22から第二識別子を取得する指示である。第二識別子取得指示は、例えば、自動販売機2のID格納媒体22から第二識別子を取得するアプリの起動指示である。
各種の指示や情報の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
端末処理部33は、各種の処理を行う。各種の処理は、例えば、受け付けられた情報や指示等を、送信する構造の情報や指示等にする処理である。各種の処理は、例えば、受信された情報を出力する構造の情報にする処理である。
端末処理部33は、端末受信部35が受信した第二識別子とユーザ識別子とを有するユーザ情報を構成する。端末処理部33は、端末受信部35が受信した第二識別子とユーザ識別子とユーザ時情報とを有するユーザ情報を構成する。なお、ユーザ時情報は、例えば、端末処理部33が図示しない時計から取得した現在時刻である。
端末送信部34は、各種の指示や情報を送信する。端末送信部34は、例えば、端末処理部33が構成したユーザ情報を情報処理装置1に送信する。端末送信部34は、例えば、第二識別子送信指示を自動販売機2に送信する。
端末受信部35は、各種の情報を受信する。端末受信部35は、例えば、ID格納媒体22から第二識別子を受信する。端末受信部35は、例えば、情報処理装置1から決済完了情報を受信する。
端末出力部36は、各種の情報を出力する。各種の情報は、例えば、決済完了情報である。
ここで、出力とは、通常、ディスプレイへの表示、プロジェクターを用いた投影であるが、プリンタでの印字、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であっても良い。
格納部11、自販機管理部111、グループ管理部112、自販機格納部21、および端末格納部31は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
受信部12、購入情報受信部121、ユーザ情報受信部122、および端末受信部35は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
処理部13、判断部131、決済処理部132、自販機処理部24、自販機構成部241、および端末処理部33は、通常、プロセッサやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
送信部14、指示送信部141、自販機送信部26、および端末送信部34は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
ID格納媒体22は、通常、不揮発性の記録媒体により実現される。ID格納媒体22は、通信機能を有することは好適である。ここでの通信は、例えば、近距離無線通信が好適であるが、通信の種類は問わない。
自販機受付部23は、例えば、ボタン、タッチパネルにより実現される。
排出部28は、自動販売機2の商品の排出機構により実現される。
端末受付部32は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末出力部36は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部36は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、自販機システムAの動作例について説明する。まず、情報処理装置1の動作例について、図4のフローチャートを用いて説明する。
(ステップS401)購入情報受信部121は、自動販売機2から購入情報を受信したか否かを判断する。購入情報を受信した場合はステップS402に行き、受信しない場合はステップS404に行く。
(ステップS402)処理部13は、図示しない時計から現在時刻を取得する。なお、この現在時刻は、通常、購入時情報である。次に、処理部13は、ステップS401で受信された購入情報に含まれる第一識別子と当該購入情報に含まれる商品識別子と当該購入時情報とを有する、新しい購入情報を構成する。次に、処理部13は、当該新しい購入情報を図示しないバッファに蓄積する。
なお、ステップS402において、処理部13は、購入時情報を取得しなくても良い。かかる場合、購入時情報は、購入情報に含まれる。
(ステップS403)判断部131は、図示しないバッファに、使用されていないユーザ情報が存在するか否かを判断する。ユーザ情報が存在する場合はステップS407に行き、存在しない場合はステップS401に戻る。なお、使用されていないユーザ情報は、完了フラグが対応付いていないユーザ情報、またはエラーとなったユーザ情報である。
(ステップS404)ユーザ情報受信部122は、ユーザ端末3からユーザ情報を受信したか否かを判断する。ユーザ情報を受信した場合はステップS405に行き、受信しない場合はステップS415に行く。
(ステップS405)処理部13は、図示しない時計から現在時刻を取得する。なお、この現在時刻は、ユーザ時情報とする。次に、処理部13は、ステップS404で受信されたユーザ情報に含まれる第二識別子と当該ユーザ情報に含まれるユーザ識別子と当該ユーザ時情報とを有する、新しいユーザ情報を構成する。次に、処理部13は、当該新しいユーザ情報を図示しないバッファに蓄積する。なお、ステップS405において、処理部13は、ユーザ時情報を取得しなくても良い。かかる場合、ユーザ時情報は、ユーザ情報に含まれる。
(ステップS406)判断部131は、図示しないバッファに、使用されていない購入情報が存在するか否かを判断する。購入情報が存在する場合はステップS407に行き、存在しない場合はステップS401に戻る。なお、使用されていない購入情報は、完了フラグが対応付いていない購入情報、またはエラーとなった購入情報である。
(ステップS407)判断部131は、決済処理を行うか否かの判断処理を行う。なお、判断処理の例について、図5フローチャートを用いて説明する。なお、決済処理を行うか否かの判断処理は、決済条件を満たすか否かの判断の処理である。
(ステップS408)決済処理部132は、ステップS407における判断結果が「OK」であるか「NG」であるかを判断する。「OK」であればステップS409に行き、「NG」であればステップS401に戻る。なお、判断結果が「OK」である場合は、決済条件を満たす場合である。
(ステップS409)決済処理部132は、決済処理を行う。決済処理の例について、図6フローチャートを用いて説明する。
(ステップS410)処理部13は、正常に決済が完了したか否かを判断する。正常に決済が完了した場合はステップS411に行き、完了しなかった場合はステップS413に行く。
(ステップS411)処理部13は、排出指示を構成する。なお、排出指示は、例えば、ステップS407において判断処理の対象となった購入情報が有する1以上の商品識別子を有する。排出指示は、例えば、商品識別子を有さず、商品の排出を行うことの命令またはフラグのみでも良い。
また、指示送信部141は、ステップS407において判断処理の対象となった購入情報が有する第一識別子を取得する。次に、指示送信部141は、当該第一識別子で識別される自動販売機2に、構成された排出指示を送信する。
(ステップS412)処理部13は、ステップS407において判断処理の対象となった購入情報に対して、完了フラグを付与する。また、処理部13は、ステップS407において判断処理の対象となったユーザ情報に対して、完了フラグを付与する。上位処理にリターンする。なお、完了フラグとは、決済が行われた対象の情報であることを示す情報である。
(ステップS413)処理部13は、エラーコードまたは/およびエラーメッセージを取得する。送信部14は、当該エラーコードまたは/およびエラーメッセージを、ステップS407において判断処理の対象となった購入情報が有する第一識別子で識別される自動販売機2に送信する。また、送信部14は、当該エラーコードまたは/およびエラーメッセージを、ステップS407において判断処理の対象となったユーザ情報が有するユーザ識別子で識別されるユーザ端末3に送信する。
(ステップS414)処理部13は、ステップS407において判断処理の対象となった購入情報を図示しないバッファから削除する。処理部13は、ステップS407において判断処理の対象となったユーザ情報を図示しないバッファから削除する。ステップS401に戻る。
(ステップS415)処理部13は、タイムアウト処理を行う。ステップS401に戻る。なお、タイムアウト処理の例について、図7フローチャートを用いて説明する。また、タイムアウト処理とは、受信された購入情報またはユーザ情報が、タイムアウトにより、決済に利用されないことが決定された場合の処理である。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS407の判断処理の例について、図5フローチャートを用いて説明する。
(ステップS501)判断部131は、検査対象となる購入情報に含まれる購入時情報を取得する。
(ステップS502)判断部131は、検査対象となる購入情報に含まれる第一識別子を取得する。
(ステップS503)判断部131は、カウンタiに1を代入する。
(ステップS504)判断部131は、図示しないバッファに未処理のi番目のユーザ情報が存在するか否かを判断する。i番目のユーザ情報が存在する場合はステップS505に行き、存在しない場合はステップS514に行く。
(ステップS505)判断部131は、i番目のユーザ情報に含まれるユーザ時情報を取得する。
(ステップS506)判断部131は、ステップS501で取得した購入時情報とステップS505で取得したユーザ時情報とが、近似条件を満たすか否かを判断する。近似条件を満たす場合はステップS507に行き、満たさない場合はステップS513に行く。
(ステップS507)判断部131は、i番目のユーザ情報に含まれる第二識別子を取得する。
(ステップS508)判断部131は、カウンタjに1を代入する。
(ステップS509)判断部131は、自販機管理部111の中に、j番目の自販機管理情報が存在するか否かを判断する。j番目の自販機管理情報が存在する場合はステップS510に行き、存在しない場合はステップS513に行く。
(ステップS510)判断部131は、ステップS502で取得した第一識別子とステップS507で取得した第二識別子とが、j番目の自販機管理情報に対して、自販機条件を満たすか否かを判断する。自販機条件を満たす場合はステップS511に行き、自販機条件を満たさない場合はステップS512に行く。なお、自販機条件は、j番目の自販機管理情報が第一識別子と第二識別子との対応付けを示す情報であることである。自販機条件は、例えば、j番目の自販機管理情報が第一識別子と第二識別子とを含む情報であることである。
(ステップS511)判断部131は、検査対象の購入情報とi番目のユーザ情報とを対応付ける。
(ステップS512)判断部131は、カウンタjを1、インクリメントする。ステップS509に戻る。
(ステップS513)判断部131は、カウンタiを1、インクリメントする。ステップS504に戻る。
(ステップS514)判断部131は、ステップS511で購入情報と対応付いたユーザ情報が1つであるか否かを判断する。1つである場合はステップS515に行き、1つでない場合はステップS517に行く。
(ステップS515)判断部131は、変数「判断結果」に「OK」を代入する。
(ステップS516)判断部131は、変数「排出指示」に商品識別子を代入する。上位処理にリターンする。なお、商品識別子は、受信された購入情報に含まれる商品識別子である。なお、判断部131は、商品識別子を含まない排出指示を取得しても良い。
(ステップS517)判断部131は、ステップS511で購入情報と対応付いたユーザ情報が2以上であるか否かを判断する。2以上である場合はステップS518に行き、0である場合はステップS525に行く。
(ステップS518)判断部131は、購入情報と対応付いた2以上の各ユーザ情報が有するユーザ識別子を取得する。
(ステップS519)判断部131は、カウンタkに1を代入する。
(ステップS520)判断部131は、グループ管理部112の中にk番目のグループ情報が存在するか否かを判断する。k番目のグループ情報が存在する場合はステップS521に行き、存在しない場合はステップS525に行く。
(ステップS521)判断部131は、ステップS518で取得した2以上のユーザ識別子が、k番目のグループ情報に対して、グループ条件を満たすか否かを判断する。グループ条件を満たす場合はステップS522に行き、満たさない場合はステップS524に行く。なお、グループ条件は、例えば、2以上のユーザ識別子のすべてがグループ情報に含まれることである。
(ステップS522)判断部131は、変数「判断結果」に「OK」を代入する。
(ステップS523)判断部131は、変数「排出指示」に1または2以上の商品識別子を代入する。上位処理にリターンする。なお、1以上の各商品識別子は、受信された購入情報に含まれる商品識別子である。
(ステップS524)判断部131は、カウンタkを1、インクリメントする。ステップS520に戻る。
(ステップS525)判断部131は、変数「判断結果」に「NG」を代入する。
次に、ステップS409の決済処理の例について、図6フローチャートを用いて説明する。
(ステップS601)決済処理部132は、検査対象の購入情報に含まれる1以上の商品識別子を取得する。
(ステップS602)決済処理部132は、1以上の各商品識別子に対応する金額を図示しない商品データベースから取得する。また、商品識別子が2以上、存在する場合、決済処理部132は、2以上の金額の合計金額を取得する。なお、商品データベースは、商品識別子と当該商品の金額とを有する2以上のレコードを有する。また、決済処理部132は、購入情報に含まれる金額を取得しても良い。
(ステップS603)決済処理部132は、検査対象の1以上の各ユーザ情報からユーザ識別子を取得する。
(ステップS604)決済処理部132は、ステップS603で取得したユーザ識別子が2以上であるか否かを判断する。2以上であればステップS605に行き、1つであればステップS606に行く。
(ステップS605)決済処理部132は、ステップS603で取得した2以上のユーザ識別子と対になる負担フラグに基づいて、商品の購入金額を負担するユーザが一人であるか、2以上であるかを判断する。一人であればステップS606に行き、2以上であればステップS608に行く。
(ステップS606)決済処理部132は、ステップS603で取得したユーザ識別子である負担ユーザ識別子を取得する。または、決済処理部132は、ステップS603で取得した2以上のユーザ識別子の中で、負担フラグと対になるユーザ識別子である負担ユーザ識別子を取得する。なお、負担ユーザ識別子とは、商品の購入金額を負担するユーザのユーザ識別子である。
(ステップS607)決済処理部132は、負担ユーザ識別子で識別されるユーザに、商品の購入金額を負担させる処理を行う。
(ステップS608)決済処理部132は、商品の購入金額をユーザ数で除算し、各ユーザの割り勘金額を算出する。
(ステップS609)決済処理部132は、カウンタiに1を代入する。
(ステップS610)決済処理部132は、i番目の負担ユーザ識別子が存在するか否かを判断する。i番目の負担ユーザ識別子が存在する場合はステップS611に行き、存在しない場合は上位処理にリターンする。
(ステップS611)決済処理部132は、i番目の負担ユーザ識別子で識別されるユーザに、割り勘金額を負担させるための処理を行う。
(ステップS612)決済処理部132は、カウンタiを1、インクリメントする。ステップS610に戻る。
次に、ステップS415のタイムアウト処理の例について、図7フローチャートを用いて説明する。
(ステップS701)処理部13は、図示しない時計から現在時刻を取得する。
(ステップS702)処理部13は、カウンタiに1を代入する。
(ステップS703)処理部13は、未処理のi番目の購入情報が図示しないバッファに存在するか否かを判断する。i番目の購入情報が存在する場合はステップS704に行き、存在しない場合はステップS710に行く。なお、未処理の購入情報は、完了フラグが対応付いていない購入情報である。
(ステップS704)処理部13は、i番目の購入情報が有する購入時情報を取得する。
(ステップS705)処理部13は、ステップS701で取得した現在時刻に対して、ステップS704で取得した購入時情報がタイムアウト条件を満たすか否かを判断する。タイムアウト条件を満たす場合はステップS706に行き、タイムアウト条件を満たさない場合はステップS709に行く。なお、タイムアウト条件は、2つの時刻の差が閾値以上または閾値より長いことである。タイムアウト条件は、相当の時間が経過していることである。
(ステップS706)処理部13は、i番目の購入情報が有する第一識別子を取得する。
(ステップS707)処理部13は、i番目の購入情報が処理されなかったことを示すエラーコードを格納部11から取得する。送信部14は、当該エラーコードを、ステップS706で取得した第一識別子で識別される自動販売機2に送信する。なお、エラーコードは、エラーメッセージでも良い。
(ステップS708)処理部13は、i番目の購入情報を図示しないバッファから削除する。
(ステップS709)処理部13は、カウンタiを1、インクリメントする。ステップS703に戻る。
(ステップS710)処理部13は、カウンタiに1を代入する。
(ステップS711)処理部13は、未処理のi番目のユーザ情報が図示しないバッファに存在するか否かを判断する。i番目のユーザ情報が存在する場合はステップS712に行き、存在しない場合は上位処理にリターンする。なお、未処理のユーザ情報は、完了フラグが対応付いていないユーザ情報である。
(ステップS712)処理部13は、i番目のユーザ情報が有するユーザ時情報を取得する。
(ステップS713)処理部13は、ステップS701で取得した現在時刻に対して、ステップS712で取得したユーザ時情報がタイムアウト条件を満たすか否かを判断する。タイムアウト条件を満たす場合はステップS714に行き、タイムアウト条件を満たさない場合はステップS717に行く。
(ステップS714)処理部13は、i番目のユーザ情報が有するユーザ識別子を取得する。
(ステップS715)送信部14は、ステップS714で崇徳したユーザ識別子で識別されるユーザ端末3に、エラーメッセージを送信する。なお、エラーメッセージは、エラーコードでも良い。
(ステップS716)処理部13は、i番目のユーザ情報を図示しないバッファから削除する。
(ステップS717)処理部13は、カウンタiを1、インクリメントする。ステップS711に戻る。
次に、自動販売機2の動作例について、図8のフローチャートを用いて説明する。
(ステップS801)自販機受付部23は、購入指示を受け付けたか否かを判断する。購入指示を受け付けた場合はステップS802に行き、受け付けなかった場合はステップS809に行く。
(ステップS802)自販機構成部241は、ステップS801で受け付けられた購入指示に対応する商品識別子を取得する。
(ステップS803)自販機構成部241は、購入情報を構成するか否かを判断する。購入情報を構成する場合はステップS806に行き、購入情報を構成しない場合はステップS804に行く。なお、購入情報を構成する場合は、例えば、最初の購入指示の受け付けから閾値以上の時間が経過した場合、購入指示の入力の完了を示す情報が受け付けられた場合である。
(ステップS804)自販機受付部23は、購入指示を受け付けたか否かを判断する。購入指示を受け付けた場合はステップS805に行き、受け付けなかった場合はステップS803に戻る。ここでの購入指示は、2つ目以降の商品の購入指示である。ここでの購入指示は、例えば、二人目以降のユーザから入力された購入指示である。
(ステップS805)自販機構成部241は、ステップS804で受け付けられた購入指示に対応する商品識別子を取得する。
(ステップS806)自販機構成部241は、自販機格納部21から第一識別子を取得する。
(ステップS807)自販機構成部241は、取得された1または2以上の商品識別子とステップS805で取得された第一識別子とを有する購入情報を構成する。なお、ここで、購入情報は、現在時刻である購入時情報を含んでも良い。
(ステップS808)自販機送信部26は、当該購入情報を情報処理装置1に送信する。ステップS801に戻る。
(ステップS809)自販機受信部25は、情報処理装置1から排出指示を受信したか否かを判断する。排出指示を受信した場合はステップS810に行き、受信しなかった場合はステップS814に行く。
(ステップS810)排出部28は、カウンタiに1を代入する。
(ステップS811)排出部28は、排出指示に対応するi番目の商品識別子が存在するか否かを判断する。i番目の商品識別子が存在する場合はステップS812に行き、存在しない場合はステップS801に戻る。なお、i番目の商品識別子は、排出指示に含まれていても良いし、自販機格納部21に保持されていても良い。
(ステップS812)排出部28は、排出指示に対応するi番目の商品識別子で識別される商品を排出する。
(ステップS813)排出部28は、カウンタiを1、インクリメントする。ステップS811に戻る。
(ステップS814)自販機受信部25は、エラーコードまたはエラーメッセージを情報処理装置1から受信したか否かを判断する。エラーコード等を受信した場合はステップS815に行き、受信しなかった場合はステップS801に戻る。
(ステップS815)自販機処理部24は、ステップS814で受信されたエラーコード等に応じた処理を行う。ステップS801に戻る。
なお、図8のフローチャートにおいて、ID格納媒体22は、例えば、第二識別子取得指示を受信し、当該ID格納媒体22に格納されている第二識別子を送信しても良い。かかる第二識別子は、ユーザ端末3により受信される。
また、図8のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ユーザ端末3の動作例について、図9のフローチャートを用いて説明する。
(ステップS901)端末受付部32は、第二識別子取得指示を受け付けたか否かを判断する。第二識別子取得指示を受け付けた場合はステップS902に行き、受け付けなかった場合はステップS906に行く。
(ステップS902)端末処理部33または端末受信部35は、第二識別子取得指示の受け付けに応じて、自動販売機2のID格納媒体22から、第二識別子を取得する。なお、第二識別子の取得は、例えば、第二識別子の受信である。第二識別子の取得は、例えば、ID格納媒体22からの第二識別子の読み込みである。
(ステップS903)端末処理部33は、端末格納部31のユーザ識別子を取得する。
(ステップS904)端末処理部33は、第二識別子とユーザ識別子とを有するユーザ情報を構成する。なお、ユーザ情報は、現在時刻であるユーザ時情報を含んでも良い。
(ステップS905)端末送信部34は、ステップS904で構成されたユーザ情報を情報処理装置1に送信する。ステップS901に戻る。
(ステップS906)端末受信部35は、情報を受信したか否かを判断する。情報を受信した場合はステップS907に行き、情報を受信しなかった場合はステップS901に戻る。なお、情報は、例えば、エラーメッセージ、エラーコード、決済が正常に完了した旨である。
(ステップS907)端末処理部33は、受信された情報を出力する構造の情報にする。端末出力部36は、当該情報を出力する。ステップS901に戻る。
なお、図9のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における自販機システムAの具体的な動作例について説明する。
情報処理装置1の自販機管理部111には、図10に示す自販機管理表が格納されている、とする。自販機管理表は、自販機管理情報を管理する表である。自販機管理表は、「ID」「第一識別子」「第二識別子」を有する1以上のレコードを管理する。「ID」は、レコードを識別する情報であり、自動販売機2に対応する情報である。
グループ管理部112には、図11に示すグループ管理表が格納されている、とする。グループ管理表は、グループ情報を管理する表である。グループ管理表は、「ID」「ユーザ識別子」「グループ識別子」「負担フラグ」「決済利用情報」を有する1以上のレコードを管理する。「ID」は、レコードを識別する情報であり、ユーザに対応する情報である。「グループ識別子」は、ユーザが属するグループの識別子である。負担フラグ「1」は、グループ内の2以上のユーザが商品を購入した場合に、負担者になり得ることを示す。負担フラグ「1」に対応するユーザと負担フラグ「1」に対応しないユーザとが商品を購入する場合、負担フラグ「1」に対応するユーザのみが商品の金額を負担するものとする。「決済利用情報」は、商品の購入に対する決済に使用される情報である。「決済利用情報」は、ここでは、例えば、クレジットカード番号、支払いアプリのユーザIDである。
かかる状況において、以下の3つの具体例について説明する。具体例1は、一ユーザが、自動販売機2の商品を購入する場合である、具体例2は、同一グループの複数のユーザが商品を購入する場合であり、一のユーザが支払いを負担する場合である。具体例3は、同一グループの複数のユーザが割り勘で商品を購入する場合である。
(具体例1)
一のユーザAは、自分のユーザ端末3に対して、第二識別子取得指示を入力した、とする。なお、第二識別子取得指示の入力は、例えば、自動販売機2の商品を購入するためのアプリの起動である。そして、図12に示すように、ユーザAは、自動販売機2のID格納媒体22(ここでは、NFCカード)に、自分のユーザ端末3を近づけた、とする。
次に、端末受信部35は、自動販売機2のID格納媒体22から第二識別子「NFC001」を受信した、とする。次に、端末処理部33は、端末格納部31のユーザ識別子「U0002」を取得した、とする。次に、端末処理部33は、第二識別子とユーザ識別子とを有するユーザ情報「<ユーザ識別子>U0002 <第二識別子>NFC001」を構成する。次に、端末送信部34は、当該ユーザ情報を情報処理装置1に送信する。
次に、ユーザAは、自動販売機2で販売されている商品のうち、購入したい商品のボタンを押下した、とする。
すると、自動販売機2の自販機受付部23は、当該ボタンに対応する商品識別子「G101」を有する購入指示を受け付けた、とする。次に、自販機構成部241は、購入指示に対応する商品識別子「G101」を取得する。次に、自販機構成部241は、自販機格納部21から第一識別子「SIM0001」を取得する。次に、自販機構成部241は、当該商品識別子と当該第一識別子とを有する購入情報「<第一識別子>SIM0001 <商品識別子>G101」を構成する。次に、自販機送信部26は、当該購入情報を情報処理装置1に送信する。
次に、情報処理装置1のユーザ情報受信部122は、ユーザAのユーザ端末3からユーザ情報「<ユーザ識別子>U0002 <第二識別子>NFC001」を受信する。次に、処理部13は、図示しない時計から現在時刻「T1」を取得した、する。次に、処理部13は、受信されたユーザ情報に含まれる第二識別子「NFC001」と当該ユーザ情報に含まれるユーザ識別子「U0002」と当該ユーザ時情報とを有する、新しいユーザ情報「<ユーザ識別子>U0002 <第二識別子>NFC001 <ユーザ時情報>T1」を構成する。次に、処理部13は、当該新しいユーザ情報を図示しないバッファに蓄積する。
また、購入情報受信部121は、自動販売機2から購入情報「<第一識別子>SIM0001 <商品識別子>G101」を受信する。次に、処理部13は、図示しない時計から現在時刻「T2」を取得した、する。次に、処理部13は、受信された購入情報に含まれる第一識別子と当該購入情報に含まれる商品識別子と現在時刻である購入時情報「T2」とを有する、新しい購入情報「<第一識別子>SIM0001 <商品識別子>G101 <購入時情報>T2」を構成する。次に、処理部13は、当該新しい購入情報を図示しないバッファに蓄積する。
次に、判断部131は、図示しないバッファの購入情報に含まれる購入時情報「T2」を取得する。また、判断部131は、当該購入情報に含まれる第一識別子「SIM0001」を取得する。
また、判断部131は、図示しないバッファのユーザ情報に含まれるユーザ時情報「T1」を取得する。次に、判断部131は、購入時情報「T2」とユーザ時情報「T1」との差が閾値以内であり、近似条件を満たす、と判断した、とする。
次に、判断部131は、当該ユーザ情報に含まれる第二識別子「NFC001」を取得する。そして、判断部131は、第一識別子「SIM0001」と第二識別子「NFC001」とを有する情報を構成する。次に、判断部131は、自販機管理表(図10)の中に、かかる情報に合致する自販機管理情報が存在する、と判断する。なお、かかる自販機管理情報は、自販機管理表(図10)の「ID=1」自販機管理情報である。次に、判断部131は、変数「判断結果」に「OK」を代入する。つまり、判断部131は、決済条件を満たす、と判断する。
次に、決済処理部132は、以下のように決済処理を行う。つまり、決済処理部132は、当該購入情報に含まれる商品識別子「G101」を取得する。次に、決済処理部132は、各商品識別子「G101」に対応する金額「150円」を図示しない商品データベースから取得する。
次に、決済処理部132は、当該ユーザ情報からユーザ識別子「U0002」を取得する。なお、ここで、受信されたユーザ情報は一つであるので、ユーザ識別子「U0002」は、負担ユーザ識別子である。次に、決済処理部132は、ユーザ識別子「U0002」と対になる決済利用情報「支払アプリID1」を取得する。次に、決済処理部132は、金額「150円」を、決済利用情報「支払アプリID1」に対応する支払いアプリのIDを用いて、決済する。かかる処理により、ユーザAは、150円を支払うこととなる。
次に、処理部13は、排出指示を構成する。次に、指示送信部141は、当該第一識別子で識別される自動販売機2に、構成された排出指示を送信する。
次に、自動販売機2の自販機受信部25は、排出指示を受信する。次に、排出部28は、押下されたボタンに対応する商品を自動販売機2から排出する。
以上の処理により、ユーザAは、商品識別子「G101」で識別される商品を得ることができる。
(具体例2)
ユーザAは、自分のユーザ端末3に対して、第二識別子取得指示を入力した、とする。また、ユーザBも、自分のユーザ端末3に対して、第二識別子取得指示を入力した、とする。次に、図13に示すように、ユーザAとユーザBは、自動販売機2のID格納媒体22に、各自のユーザ端末3(1)、ユーザ端末3(2)を近づけた、とする(図13(a)参照)。
次に、ユーザ端末3(1)の端末処理部33は、自動販売機2のID格納媒体22から第二識別子「NFC001」を取得する。次に、端末処理部33は、端末格納部31のユーザ識別子「U0002」を取得する。次に、端末処理部33は、第二識別子とユーザ識別子とを有するユーザ情報「<ユーザ識別子>U0002 <第二識別子>NFC001」を構成する。次に、端末送信部34は、当該ユーザ情報を情報処理装置1に送信する。
また、ユーザ端末3(2)の端末処理部33は、自動販売機2のID格納媒体22から第二識別子「NFC001」を取得する。次に、端末処理部33は、端末格納部31のユーザ識別子「U0001」を取得する。次に、端末処理部33は、第二識別子とユーザ識別子とを有するユーザ情報「<ユーザ識別子>U0001 <第二識別子>NFC001」を構成する。次に、端末送信部34は、当該ユーザ情報を情報処理装置1に送信する。
次に、ユーザAは、自動販売機2で販売されている商品のうちの1つの商品のボタンを押下した、とする。また、ユーザBも、自動販売機2で販売されている商品のうちの1つの商品のボタンを押下した、とする(図13(b)参照)。
すると、自動販売機2の自販機受付部23は、ユーザAが押下したボタンに対応する商品識別子「G101」を有する購入指示を受け付けた、とする。また、自動販売機2の自販機受付部23は、ユーザBが押下したボタンに対応する商品識別子「G102」を有する購入指示を受け付けた、とする。次に、自販機構成部241は、購入指示に対応する商品識別子「G101」「G102」を取得する。次に、自販機構成部241は、自販機格納部21から第一識別子「SIM0001」を取得する。次に、自販機構成部241は、当該商品識別子と当該第一識別子とを有する購入情報「<第一識別子>SIM0001 <商品識別子>G101,G102」を構成する。次に、自販機送信部26は、当該購入情報を情報処理装置1に送信する。
次に、情報処理装置1のユーザ情報受信部122は、ユーザAのユーザ端末3からユーザ情報「<ユーザ識別子>U0002 <第二識別子>NFC001」を受信する。次に、処理部13は、図示しない時計から現在時刻「T3」を取得した、する。次に、処理部13は、受信されたユーザ情報に含まれる第二識別子「NFC001」と当該ユーザ情報に含まれるユーザ識別子「U0002」と当該ユーザ時情報とを有する、新しいユーザ情報「<ユーザ識別子>U0002 <第二識別子>NFC001 <ユーザ時情報>T3」を構成する。次に、処理部13は、当該新しいユーザ情報を図示しないバッファに蓄積する。
また、情報処理装置1のユーザ情報受信部122は、ユーザBのユーザ端末3からユーザ情報「<ユーザ識別子>U0001 <第二識別子>NFC001」を受信する。次に、処理部13は、図示しない時計から現在時刻「T4」を取得した、する。次に、処理部13は、受信されたユーザ情報に含まれる第二識別子「NFC001」と当該ユーザ情報に含まれるユーザ識別子「U0001」と当該ユーザ時情報とを有する、新しいユーザ情報「<ユーザ識別子>U0001 <第二識別子>NFC001 <ユーザ時情報>T4」を構成する。次に、処理部13は、当該新しいユーザ情報を図示しないバッファに蓄積する。
また、購入情報受信部121は、自動販売機2から購入情報「<第一識別子>SIM0001 <商品識別子>G101,G102」を受信する。次に、処理部13は、図示しない時計から現在時刻「T5」を取得した、する。次に、処理部13は、受信された購入情報に含まれる第一識別子と当該購入情報に含まれる商品識別子と現在時刻である購入時情報「T5」とを有する、新しい購入情報「<第一識別子>SIM0001 <商品識別子>G101,G102 <購入時情報>T5」を構成する。次に、処理部13は、当該新しい購入情報を図示しないバッファに蓄積する。
次に、判断部131は、図示しないバッファの購入情報に含まれる購入時情報「T5」を取得する。また、判断部131は、当該購入情報に含まれる第一識別子「SIM0001」を取得する。
また、判断部131は、図示しないバッファの2つの各ユーザ情報に含まれるユーザ時情報「T3」「T4」を取得する。次に、判断部131は、購入時情報「T2」と、各ユーザ時情報「T1」「T4」との差が閾値以内であり、2つのユーザ時情報は近似条件を満たす、と判断した、とする。
次に、判断部131は、2つの各ユーザ情報に含まれる第二識別子「NFC001」を取得する。そして、判断部131は、第一識別子「SIM0001」と第二識別子「NFC001」とを有する情報を構成する。次に、判断部131は、自販機管理表(図10)の中に、かかる情報に合致する自販機管理情報が存在する、と判断する。なお、かかる自販機管理情報は、自販機管理表(図10)の「ID=1」自販機管理情報である。
次に、判断部131は、購入情報と対応付いたユーザ情報が2以上である、と判断する。次に、判断部131は、購入情報と対応付いた2以上の各ユーザ情報が有するユーザ識別子「U10002」「U10001」を取得する。
次に、判断部131は、1つのユーザ識別子「U10002」「U10001」と対になるグループ識別子「G1」「G1」をグループ管理表から取得し、2つのグループ識別子が同一である、と判断する。つまり、判断部131は、グループ条件を満たす、と判断する。次に、判断部131は、変数「判断結果」に「OK」を代入する。つまり、判断部131は、決済条件を満たす、と判断する。
次に、決済処理部132は、以下のように決済処理を行う。まず、決済処理部132は、検査対象の購入情報に含まれる2つ商品識別子「G101,G102」を取得する。次に、決済処理部132は、2つの各商品識別子に対応する金額「150円,180円」を図示しない商品データベースから取得した、とする。
次に、決済処理部132は、検査対象の2つの各ユーザ情報からユーザ識別子「U10002」「U10001」を取得する。次に、決済処理部132は、取得したユーザ識別子が2以上である、と判断する。次に、決済処理部132は、取得した2つの各ユーザ識別子と対になる負担フラグ(U10002に対する「-」、U10001に対する「1」)を取得する。次に。決済処理部132は、当該2つの負担フラグに基づいて、商品の購入金額を負担するユーザがユーザ識別子「U10001」と対になる一人のユーザである、と判断する。
次に、決済処理部132は、商品の合計金額「330円」を取得する。次に、決済処理部132は、ユーザ識別子「U0001」と対になる決済利用情報「クレジットカード番号1」を取得する。次に、決済処理部132は、金額「330円」を、決済利用情報「クレジットカード番号1」の番号のクレジットカードに対して、決済する処理を行う。かかる処理により、ユーザBは、クレジットカードで330円を支払うこととなる。
次に、処理部13は、排出指示を構成する。なお、排出指示は、商品識別子「G101,G102」を有する。また、指示送信部141は、判断処理の対象となった購入情報が有する第一識別子「SIM0001」を取得する。次に、指示送信部141は、当該第一識別子で識別される自動販売機2に、構成された排出指示を送信する。
次に、自動販売機2の自販機受信部25は、当該排出指示を受信する。次に、排出部28は、押下されたボタンに対応する2つの商品「G101,G102」を自動販売機2から、順次、排出する。
以上の処理により、ユーザB、ユーザCは、各々、欲しい商品を得ることができる。また、ユーザBはユーザCに商品(ここでは、飲料)を奢ることになり、二人で仲良く乾杯できる(図13(c)参照)。
(具体例3)
ユーザAは、自分のユーザ端末3に対して、第二識別子取得指示を入力した、とする。また、ユーザCも、自分のユーザ端末3に対して、第二識別子取得指示を入力した、とする。次に、図13に示すように、ユーザAとユーザCは、自動販売機2のID格納媒体22に、各自のユーザ端末3(1)、ユーザ端末3(2)を近づけた、とする。
次に、ユーザ端末3(1)の端末処理部33は、自動販売機2のID格納媒体22から第二識別子「NFC001」を取得する。次に、端末処理部33は、端末格納部31のユーザ識別子「U0002」を取得する。次に、端末処理部33は、第二識別子とユーザ識別子とを有するユーザ情報「<ユーザ識別子>U0002 <第二識別子>NFC001」を構成する。次に、端末送信部34は、当該ユーザ情報を情報処理装置1に送信する。
また、ユーザ端末3(2)の端末処理部33は、自動販売機2のID格納媒体22から第二識別子「NFC001」を取得する。次に、端末処理部33は、端末格納部31のユーザ識別子「U0003」を取得する。次に、端末処理部33は、第二識別子とユーザ識別子とを有するユーザ情報「<ユーザ識別子>U0003 <第二識別子>NFC001」を構成する。次に、端末送信部34は、当該ユーザ情報を情報処理装置1に送信する。
次に、ユーザAは、自動販売機2で販売されている商品のうちの1つの商品のボタンを押下した、とする。また、ユーザCも、自動販売機2で販売されている商品のうちの1つの商品のボタンを押下した、とする。
すると、自動販売機2の自販機受付部23は、ユーザBが押下したボタンに対応する商品識別子「G101」を有する購入指示を受け付けた、とする。また、自動販売機2の自販機受付部23は、ユーザCが押下したボタンに対応する商品識別子「G102」を有する購入指示を受け付けた、とする。次に、自販機構成部241は、購入指示に対応する商品識別子「G101」「G102」を取得する。次に、自販機構成部241は、自販機格納部21から第一識別子「SIM0001」を取得する。次に、自販機構成部241は、当該商品識別子と当該第一識別子とを有する購入情報「<第一識別子>SIM0001 <商品識別子>G101,G102」を構成する。次に、自販機送信部26は、当該購入情報を情報処理装置1に送信する。
次に、情報処理装置1のユーザ情報受信部122は、ユーザAのユーザ端末3からユーザ情報「<ユーザ識別子>U0002 <第二識別子>NFC001」を受信する。次に、処理部13は、図示しない時計から現在時刻「T6」を取得した、する。次に、処理部13は、受信されたユーザ情報に含まれる第二識別子「NFC001」と当該ユーザ情報に含まれるユーザ識別子「U0002」と当該ユーザ時情報とを有する、新しいユーザ情報「<ユーザ識別子>U0002 <第二識別子>NFC001 <ユーザ時情報>T6」を構成する。次に、処理部13は、当該新しいユーザ情報を図示しないバッファに蓄積する。
また、情報処理装置1のユーザ情報受信部122は、ユーザCのユーザ端末3からユーザ情報「<ユーザ識別子>U0003 <第二識別子>NFC001」を受信する。次に、処理部13は、図示しない時計から現在時刻「T7」を取得した、する。次に、処理部13は、受信されたユーザ情報に含まれる第二識別子「NFC001」と当該ユーザ情報に含まれるユーザ識別子「U0003」と当該ユーザ時情報とを有する、新しいユーザ情報「<ユーザ識別子>U0003 <第二識別子>NFC001 <ユーザ時情報>T7」を構成する。次に、処理部13は、当該新しいユーザ情報を図示しないバッファに蓄積する。
また、購入情報受信部121は、自動販売機2から購入情報「<第一識別子>SIM0001 <商品識別子>G101,G102」を受信する。次に、処理部13は、図示しない時計から現在時刻「T8」を取得した、する。次に、処理部13は、受信された購入情報に含まれる第一識別子と当該購入情報に含まれる商品識別子と現在時刻である購入時情報「T8」とを有する、新しい購入情報「<第一識別子>SIM0001 <商品識別子>G101,G102 <購入時情報>T8」を構成する。次に、処理部13は、当該新しい購入情報を図示しないバッファに蓄積する。
次に、判断部131は、図示しないバッファの購入情報に含まれる購入時情報「T8」を取得する。また、判断部131は、当該購入情報に含まれる第一識別子「SIM0001」を取得する。
また、判断部131は、図示しないバッファの2つの各ユーザ情報に含まれるユーザ時情報「T6」「T7」を取得する。次に、判断部131は、購入時情報「T8」と、各ユーザ時情報「T6」「T7」との差が閾値以内であり、2つのユーザ時情報は近似条件を満たす、と判断した、とする。
次に、判断部131は、2つの各ユーザ情報に含まれる第二識別子「NFC001」を取得する。そして、判断部131は、第一識別子「SIM0001」と第二識別子「NFC001」とを有する情報を構成する。次に、判断部131は、自販機管理表(図10)の中に、かかる情報に合致する自販機管理情報が存在する、と判断する。
次に、判断部131は、購入情報と対応付いたユーザ情報が2以上である、と判断する。次に、判断部131は、購入情報と対応付いた2以上の各ユーザ情報が有するユーザ識別子「U10002」「U10003」を取得する。
次に、判断部131は、1つのユーザ識別子「U10002」「U10003」と対になるグループ識別子「G1」「G1」をグループ管理表から取得し、2つのグループ識別子が同一である、と判断する。つまり、判断部131は、グループ条件を満たす、と判断する。次に、判断部131は、変数「判断結果」に「OK」を代入する。つまり、判断部131は、決済条件を満たす、と判断する。
次に、決済処理部132は、以下のように決済処理を行う。まず、決済処理部132は、検査対象の購入情報に含まれる2つ商品識別子「G101,G102」を取得する。次に、決済処理部132は、2つの各商品識別子に対応する金額「150円,180円」を図示しない商品データベースから取得した、とする。
次に、決済処理部132は、検査対象の2つの各ユーザ情報からユーザ識別子「U10002」「U10003」を取得する。次に、決済処理部132は、取得したユーザ識別子が2以上である、と判断する。次に、決済処理部132は、取得した2つの各ユーザ識別子と対になる負担フラグ(U10002に対する「-」、U10001に対する「-」)を取得する。次に。決済処理部132は、当該2つの負担フラグに基づいて、商品の購入金額を負担するユーザは二人である、と判断する。
次に、決済処理部132は、商品の合計金額「330円」を取得する。次に、決済処理部132は、金額「330円」を折半した金額「165円」を取得する。次に、決済処理部132は、ユーザ識別子「U0002」と対になる決済利用情報「支払アプリID1」、ユーザ識別子「U0003」と対になる決済利用情報「クレジットカード番号2」を、グループ管理表(図11)から取得する。次に、決済処理部132は、金額「165円」を、決済利用情報「支払アプリID1」に対応する支払いアプリのIDを用いて、決済する。かかる処理により、ユーザAは、165円を支払うこととなる。
また、決済処理部132は、金額「165円」を、決済利用情報「クレジットカード番号2」の番号のクレジットカードに対して、決済する処理を行う。かかる処理により、ユーザCは、クレジットカードで165円を支払うこととなる。
次に、処理部13は、排出指示を構成する。なお、排出指示は、商品識別子「G101,G102」を有する。また、指示送信部141は、判断処理の対象となった購入情報が有する第一識別子「SIM0001」を取得する。次に、指示送信部141は、当該第一識別子で識別される自動販売機2に、構成された排出指示を送信する。
次に、自動販売機2の自販機受信部25は、当該排出指示を受信する。次に、排出部28は、押下されたボタンに対応する2つの商品「G101,G102」を自動販売機2から、順次、排出する。
以上の処理により、ユーザA、ユーザCは、各々、欲しい商品を得ることができる。そして、二人は、仲良く乾杯できる(図13(c)参照)。
以上、本実施の形態によれば、自動販売機2の利用に対して、ユーザ端末3を用いた適切な決済を行える。
また、本実施の形態によれば、2人以上のユーザによる自動販売機2の利用に対して、ユーザ端末3を用いた適切な決済を行える。
また、本実施の形態によれば、特定の2人以上のユーザのグループによる自動販売機2の利用に対して、ユーザ端末3を用いた適切な決済を行える。
また、本実施の形態によれば、自動販売機2の利用に対して、ユーザ端末3を用いた適切な決済および商品排出を行える。
また、本実施の形態によれば、自動販売機2の利用に対して、ユーザ端末3を用いた適切な決済を行える自動販売機2を提供できる。
また、本実施の形態によれば、自動販売機の利用に対して、ユーザ端末を用いた適切な決済を行えるNFCの媒体を具備する自動販売機2を提供できる。
さらに、本実施の形態によれば、自動販売機の利用に対して適切な決済を行えるユーザ端末3を提供できる。
なお、本実施の形態において、自動販売機2は、例えば、鍵付き商品庫を含むもの、または鍵付き商品庫でも良い。かかる自動販売機2は、例えば、図14である。図14の1401は、通常の自動販売機であり、1402は鍵がかかった商品庫である。かかる場合、上述した処理により、商品庫1402の鍵が解錠され、ユーザは商品庫1402から商品を取得できる。また、例えば、ユーザの商品の取得後、商品庫1402は施錠される。
また、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、自動販売機を識別する第一識別子が格納されている自動販売機であり、当該自動販売機を識別する第二識別子が格納されているID格納媒体を有する自動販売機であり、商品の購入指示を受け付け、当該購入指示に対応する商品識別子と第一識別子とを有する購入情報を送信する前記自動販売機から、購入情報を受信する購入情報受信部と、前記ID格納媒体から第二識別子を取得したユーザ端末から、第二識別子とユーザ識別子とを含むユーザ情報を受信するユーザ情報受信部と、第一識別子と第二識別子との対応を示す情報である1以上の自販機管理情報が格納される自販機管理部を参照し、前記購入情報が有する第一識別子と前記ユーザ情報が有する第二識別子との対応を示す自販機管理情報が前記自販機管理部に存在するか否かを判断する判断部と、前記判断部が前記自販機管理部に存在すると判断した場合に、当該購入情報が有する前記商品識別子に対応する金額を、前記ユーザ情報が有する前記ユーザ識別子で識別されるユーザに対応する精算者に負担させるための決済処理を行う決済処理部として機能させるためのプログラムである。
また、本実施の形態における自動販売機2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、自動販売機を識別する第二識別子が格納されているID格納媒体を具備する自動販売機を識別する第一識別子が格納されている自販機格納部にアクセス可能なコンピュータを、商品の購入指示を受け付ける自販機受付部と、前記購入指示に対応する商品識別子と第一識別子とを有する購入情報を構成する自販機構成部と、前記購入情報を情報処理装置に送信する自販機送信部として機能させるためのプログラムである。
また、本実施の形態におけるユーザ端末3を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、ユーザ識別子が格納される端末格納部にアクセス可能なコンピュータを、第二識別子が格納されている自動販売機のID格納媒体から前記第二識別子を取得する端末取得部と、前記第二識別子と前記ユーザ識別子とを含むユーザ情報を情報処理装置に送信する端末送信部として機能させるためのプログラムである。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。