以下、自動販売機巡回支援システムの一実施形態について、図1〜図22に基づいて詳細に説明する。本実施形態の自動販売機巡回支援システム100は、トラック(配送車)で複数の自動販売機(以下、「自販機」と略述する)を巡回し、各自販機に商品(飲料など)を補充したり、売上金の回収や釣り銭の補充をするルートセールスマンに対して、各種情報等を提供して、自販機の巡回を支援するシステムである。より具体的には、自動販売機巡回支援システム100は、ルートセールスマンのその日のルートの情報(スケジュールの情報)を提供したり、あるルートセールスマンの状況に応じて他のルートセールスマンに代理作業を依頼したりする。また、自動販売機巡回支援システム100は、代理作業を行うルートセールスマンに対して電子鍵を付与したり、電子鍵を削除したりする。なお、本実施形態では、説明の簡素化のため、各ルートセールスマンが同一種類(1種類)の商品を複数の自販機に補充する作業を行う場合について説明する。
図1には、自動販売機巡回支援システム100の構成が概略的に示されている。自動販売機巡回支援システム100は、図1に示すように、自動販売機巡回支援装置及び電子鍵管理装置としてのサーバ10と、複数の自販機20と、複数の携帯端末130と、を備える。サーバ10と自販機20と携帯端末130とは、インターネットやLAN(Local Area Network)などのネットワーク80に接続されている。
図2(a)には、サーバ10のハードウェア構成が示されている。図2(a)に示すように、サーバ10は、CPU(Central Processing Unit)90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではHDD(Hard Disk Drive))96、ネットワークインタフェース97、及び可搬型記憶媒体用ドライブ99等を備えている。これらサーバ10の構成各部は、バス98に接続されている。サーバ10では、ROM92あるいはHDD96に格納されているプログラム(自動販売機巡回支援プログラムや電子鍵管理プログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラム(自動販売機巡回支援プログラムや電子鍵管理プログラムを含む)をCPU90が実行することにより、図4に示す、情報管理部40、スケジュール作成部41、代理処理部42、権限管理部44としての機能が実現される。なお、図4には、サーバ10のHDD96等に格納されている自販機在庫DB(database)31、トラック在庫DB32、ルートセールスマンDB33、SOSテーブル34、権限管理テーブル35、記憶部としての電子鍵DB36、スケジュールDB37、及び地図DB38も図示されている。なお、各DB(テーブル)31〜38の具体的なデータ構造等については後述する。
情報管理部40は、自販機20等から受信した情報に基づいて、自販機在庫DB31、トラック在庫DB32、スケジュールDB37等の情報を更新する。スケジュール作成部41は、各ルートセールスマンの1日のスケジュールを決定し、各ルートセールスマン(携帯端末130)に通知する。代理処理部42は、あるルートセールスマンの携帯端末130からSOS情報(事故や病気などにより、自販機の巡回(補充作業)ができなくなったという情報)を受信した場合に、代わりにその自販機(「SOS自販機」とよぶ)を巡回できるルートセールスマンを検索し、代理ルートセールスマンとして選定する処理などを実行する。権限管理部44は、代理ルートセールスマンの利用する携帯端末130に対して、SOS自販機の扉を開閉する権限(電子鍵)を付与するなどの処理を実行する。
図2(b)には、自販機20の情報処理部のハードウェア構成が示されている。図2(b)に示すように、自販機20の情報処理部は、CPU190、ROM192、RAM194、記憶部(HDD)196、及びネットワークインタフェース197等を備えており、各部は、バス198に接続されている。自販機20においては、CPU190がプログラムを実行することで、図4に示す情報送信部50としての機能が実現される。情報送信部50は、例えば、定時(1時間おきなど)において自販機20内の在庫量をサーバ10(情報管理部40)に対して送信する。ただし、これに限らず、自販機20内の在庫量が変化するたびに在庫量をサーバ10(情報管理部40)に対して送信するようにしてもよい。また、情報送信部50は、ルートセールスマンによる補充作業が開始された場合(扉が開状態になった場合など)と、補充作業が終了した場合(扉が閉状態になった場合など)に、その旨をサーバ10(情報管理部40)に対して送信する。
図3には、携帯端末130のハードウェア構成が示されている。携帯端末130は、ルートセールスマンが利用する端末であり、図3に示すように、CPU290、ROM292、RAM294、記憶部(HDD)296、ディスプレイ293、入力部295、ネットワークインタフェース297、及び可搬型記憶媒体用ドライブ299等を備えている。携帯端末130の構成各部は、バス298に接続されている。ディスプレイ293は、液晶ディスプレイ等を含み、入力部295は、キーボードやマウス、タッチパネル等を含む。携帯端末130においては、CPU290が、ROM292あるいはHDD296に格納されているプログラム、或いは可搬型記憶媒体用ドライブ299が可搬型記憶媒体291から読み取ったプログラムを実行することで、図4に示す表示処理部60、入力処理部62、及び電子鍵実行部64としての機能が実現される。
表示処理部60は、サーバ10の代理処理部42からの指示に応じて、携帯端末130のディスプレイ293上に当日の巡回ルートや自販機に補充すべき商品の数量などの情報を表示する。また、代理処理部42の処理の結果、ルートセールスマンのスケジュールが変更された場合には、スケジュール作成部41からの指示に応じて、変更後のスケジュール情報を表示する。入力処理部62は、携帯端末130の利用者(ルートセールスマン)が入力部295を介して入力した情報を受け付け、当該情報をサーバ10に対して送信する。電子鍵実行部64は、携帯端末130内で保持されている電子鍵を用いて、自販機20の扉の開閉を行う。
ここで、サーバ10が有する各DB及びテーブルについて、説明する。
図5には、自販機在庫DB31のデータ構造の一例が示されている。自販機在庫DB31は、各自販機の位置情報や在庫数、補充必要数などを管理するデータベースである。具体的には、自販機在庫DB31は、「自販機ID」、「自販機位置情報」、「自販機在庫数」、「自販機補充必要数」の各フィールドを有している。「自販機ID」のフィールドには、自販機ごとに設定されたユニークな識別情報が格納される。「自販機位置情報」のフィールドには、各自販機が設置されている位置(緯度、経度)が格納される。なお、位置情報は、自販機が設置された番地などの情報であってもよい。「自販機在庫数」のフィールドには、各自販機内の最新の在庫量(ここでは、飲料の本数)が格納される。「自販機補充必要数」のフィールドには、自販機に搭載できる商品の最大数(図5では、100)から自販機在庫数を指し引いた数が格納される。
図6には、トラック在庫DB32のデータ構造の一例が示されている。トラック在庫DB32は、トラックを運転するルートセールスマンやトラックに積載されている商品の数に関する情報が格納される。具体的には、トラック在庫DB32は、「トラックID」、「ルートセールスマンID」、「トラック在庫数」、「トラック余剰在庫数」の各フィールドを有している。「トラックID」のフィールドには、トラックごとに設定されたユニークな識別情報が格納される。「ルートセールスマンID」のフィールドには、各トラックを運転するルートセールスマンに設定されたユニークな識別情報が格納される。「トラック在庫数」のフィールドには、トラック内に存在する在庫数が格納される。なお、トラック在庫数は、一日の最初にトラックに積載した商品の数から既に自販機20に補充した商品の数を差し引いた値が格納される。「トラック余剰在庫数」のフィールドには、トラックに積載されているものの、予定している巡回先の自販機には補充されない商品の数(事務所に持ち帰る商品の数)が格納される。なお、各自販機においては補充必要数が時々刻々と変化するため、ルートセールスマンは、通常、商品を多めに(箱単位で)トラックに積み込む。このため、トラック内には、余剰在庫が存在するようになっている。
図7には、ルートセールスマンDB33のデータ構造の一例が示されている。ルートセールスマンDB33は、各ルートセールスマンの情報を管理するデータベースである。ルートセールスマンDB33は、図7に示すように、「ルートセールスマンID」、「名前」、「担当エリア」、「トラックID」の各フィールドを有する。「ルートセールスマンID」のフィールドには、ルートセールスマンに設定されたユニークな識別情報が格納され、「名前」のフィールドには、各ルートセールスマンの名前の情報が格納される。また、「担当エリア」のフィールドには、各ルートセールスマンが担当する(巡回する)エリアの名称が格納される。「トラックID」のフィールドには、各ルートセールスマンが運転するトラックのIDが格納される。なお、本実施形態では、トラックIDは、ルートセールスマンによる1日の作業開始前に、携帯端末130からの入力に基づいて更新されるものとする。
図8には、SOSテーブル34のデータ構造の一例が示されている。SOSテーブル34は、ルートセールスマンから出されたSOS情報を格納する。具体的には、SOSテーブル34は、「管理No」、「SOSルートセールスマンID」、「SOS発生日時」、「完了フラグ」の各フィールドを有している。「管理No」のフィールドには、SOS情報の通し番号が格納される。「SOSルートセールスマンID」のフィールドには、SOS情報を出したルートセールスマンのIDが格納される。「SOS発生日時」のフィールドには、SOS情報が出された日時の情報が格納される。「完了フラグ」のフィールドには、SOS情報に対応する代理ルートセールスマンを選定する処理が完了したか否か(「未完」又は「完了」)の情報が格納される。
図9には、権限管理テーブル35のデータ構造の一例が示されている。権限管理テーブル35は、代理ルートセールスマンの情報や、電子鍵を代理ルートセールスマンに付与しているかいないかの情報などを管理するテーブルである。具体的には、権限管理テーブル35は、「SOS自販機ID」、「電子鍵ID」、「代理ルートセールスマンID」、「権限付与フラグ」、「作業開始時刻」、「作業終了時刻」の各フィールドを有している。「SOS自販機ID」のフィールドには、SOS情報を出したルートセールスマンが巡回できなくなった自販機(SOS自販機)のIDが格納される。「電子鍵ID」のフィールドには、SOS自販機IDに対応する電子鍵のIDが格納される。「代理ルートセールスマンID」のフィールドには、代理ルートセールスマンとして選定されたルートセールスマンのIDが格納される。「権限付与フラグ」のフィールドには、代理ルートセールスマンに電子鍵を付与しているかどうかの情報(「ON」又は「OFF」)が格納される。「作業開始時刻」及び「作業終了時刻」のフィールドには、代理ルートセールスマンがSOS自販機に対する作業を開始した時刻と終了した時刻とが格納される。
図10には、電子鍵DB36のデータ構造の一例が示されている。電子鍵DB36は、ルートセールスマンに既に付与されている電子鍵の情報を格納するデータベースである。具体的には、電子鍵DB36は、図10に示すように、「電子鍵ID」、「自販機ID」、「ルートセールスマンID」の各フィールドを有する。「電子鍵ID」のフィールドには、電子鍵のIDが格納され、「自販機ID」のフィールドには、電子鍵IDに対応する自販機のIDが格納される。また、「ルートセールスマンID」のフィールドには、各電子鍵が既に付与されているルートセールスマンのIDが格納される。本実施形態では、各電子鍵は1日の巡回スケジュールが決定した時に付与されるものとしている。
図11には、スケジュールDB37のデータ構造の一例が示されている。スケジュールDB37は、ルートセールスマンごとに作成されるデータベースであり、各ルートセールスマンの1日のスケジュール(作業順序)を格納する。具体的には、スケジュールDB37は、「トラックID」、「ルートセールスマンID」、「日付」のほか、巡回すべき自販機の「自販機ID」と、作業(到着・作業開始又は作業終了・出発)の「時刻」とが格納される。なお、作業が行われる前の自販機の場合、到着・作業開始の「時刻」のフィールドには、スケジュール作成部41が定めた予定時刻が格納される。一方、作業が行われた後の自販機の場合、到着・作業開始及び作業終了・出発の「時刻」のフィールドには、実際の時刻が格納される。なお、スケジュールDB37に格納されている予定時刻は、ルートセールスマンの実際の作業に応じて(スケジュールよりも○分遅い、早いなどに応じて)、更新されるようになっている。
なお、図4の地図DB38のデータ構造については図示していないが、地図に関する情報(建物や道路の位置情報など)が格納されている。
次に、サーバ10(情報管理部40、代理処理部42、権限管理部44)において実行される処理について、図12〜図15のフローチャートに基づいて、その他図面を適宜参照しつつ、詳細に説明する。
(情報管理部40の処理)
まず、図12のフローチャートに沿って、情報管理部40の処理について説明する。図12の処理では、ステップS10において、情報管理部40が、自販機20から在庫情報を受信したか否かを判断する。なお、自販機20の情報送信部50は、一例として、定時(1時間おき)に情報管理部40に対して在庫情報を送信するものとする。ステップS10の判断が肯定された場合には、ステップS12に移行し、情報管理部40は、自販機在庫DB31(自販機在庫数、自販機補充必要数)を更新する。その後は、ステップS14に移行する。一方、ステップS10の判断が否定された場合には、ステップS12を経ずに、ステップS14に直接移行する。
ステップS14に移行すると、情報管理部40は、作業開始情報を受信したか否かを判断する。ここで、作業開始情報は、自販機20の扉が開放されたタイミングで、情報送信部50から情報管理部40に送信されるものとする。ステップS14の判断が否定された場合には、ステップS10に戻る。一方、ステップS14の判断が肯定された場合には、ステップS16に移行する。
ステップS16に移行すると、情報管理部40は、スケジュールDB37に作業開始時刻を記録する。すなわち、図11に示すスケジュールDB37において、該当する自販機の到着・作業開始の「予定時刻」を、現在の時刻で書き換える。なお、情報管理部40は、スケジュールに対する実際の作業の状況(○分遅れている、○分早い)に応じて、以降のスケジュールの予定時刻を変更する処理も行う。例えば、予定よりも5分遅れている場合には、情報管理部40は、以降の予定時刻を5分ずらす処理を行う。
次いで、ステップS18では、情報管理部40が、作業終了情報を受信するまで待機する。作業終了情報は、自販機20の扉が閉じられたタイミングで、情報送信部50から情報管理部40に送信されるものとする。ステップS18の判断が肯定されると、ステップS20に移行し、情報管理部40が、スケジュールDB37に作業終了時刻を記録する。次いで、ステップS22では、情報管理部40が、トラック在庫DB32を更新する。具体的には、自販機20に補充された商品数(作業終了の情報とともに自販機20の情報送信部50から送信される)を「トラック在庫数」から差し引く。また、当初予定した数よりも多く商品を補充した場合には、多く補充した分だけ「トラック余剰在庫数」から差し引く。その後は、ステップS10に戻り、上述した処理を繰り返す。
以上のように、情報管理部40は、図12の処理を実行することで、自販機在庫DB31、スケジュールDB37、及びトラック在庫DB32を適宜更新することができる。
(代理処理部42の処理)
次に、図13、図14のフローチャートに沿って、代理処理部42の処理について説明する。なお、図13、図14の処理が行われる前提として、各ルートセールスマンの携帯端末130には、スケジュール作成部41が作成したスケジュールDB37に基づくスケジュールの情報や各自販機の補充必要数の情報が、送信されているものとする。なお、スケジュール作成部41は、地図DB38を用いてスケジュールDB37の情報を地図上のルート情報に変換して表示処理部60に送信することとしてもよい。そして、携帯端末130の表示処理部60は、受信したスケジュールの情報や補充必要数の情報をディスプレイ293上に表示しているものとする。また、各ルートセールスマンはディスプレイ293上に表示されているスケジュールの情報に基づいて、スケジュールに沿った各自販機20の巡回を行っているものとする。
なお、本実施形態では、一例として、ルートセールスマン「R001」(トラック「T001」)が、図16に示すスケジュールDB37に従って、図18(a)に「T001」で示すルートを巡回するものとする。また、ルートセールスマン「R002」(トラック「T002」)が、図11に示すスケジュールDB37に従って、図18(a)に「T002」で示すルートを巡回するものとする。また、ルートセールスマン「R003」(トラック「T003」)が、図17(a)に示すスケジュールDB37に従って、図18(a)に「T003」で示すルートを巡回するものとする。更に、ルートセールスマン「R004」(トラック「T004」)が、図17(b)に示すスケジュールDB37に従って、図18(a)に「T004」で示すルートを巡回するものとする。なお、図示はしていないが、その他のルートセールスマンが同一エリア内を巡回してもよい。
図13の処理では、まず、ステップS30において、代理処理部42が、SOS情報を受信するまで待機する。なお、各ルートセールスマンは、事故や急病などで自販機の巡回作業を継続できなくなった場合に、携帯端末130に設けられているSOSボタンを押すことにより、SOS情報を代理処理部42に対して送信することができるものとする。なお、SOS情報を送信するとは、SOSルートセールスマンの情報(ID)を送信することを意味する。代理処理部42は、SOS情報を受信した段階で、ステップS32に移行する。
ここで、本実施形態では、図18(b)に示すように、ルートセールスマンID「R002」(トラックID「T002」)から、時刻「15:00」にSOS情報が出されたものとして説明する。
ステップS32に移行すると、代理処理部42は、SOSテーブル34(図8)にSOS情報を記録する。ここでは、SOSテーブル34に、SOSルートセールスマンID「R002」と、SOS発生日時「2013/3/15 15:00」と、完了フラグ「未完」が記録される。なお、代理ルートセールスマン選定の処理がなされると、図8のように完了フラグ「完了」が記録される。
次いで、ステップS34では、代理処理部42が、代理ルートセールスマン検索処理のサブルーチンを実行する。以下、図14のフローチャートに沿って、代理ルートセールスマン検索処理の詳細について説明する。
図14のステップS50では、代理処理部42が、SOSテーブル34から、SOS発生日時、SOSルートセールスマンIDを取得する。また、代理処理部42は、ルートセールスマンDB33を参照して、SOSルートセールスマンIDに対応するトラックIDを取得する。
次いで、ステップS52では、代理処理部42が、スケジュールDB37を参照して、以降の補充すべき自販機を特定する。すなわち、スケジュールDB37のうち、未だ作業終了・出発の時刻が入力されていない自販機を特定する。図11の例では、ルートセールスマン「R002」は、自販機ID「V012」、「V013」の作業をできていないため、これらの自販機が特定される。なお、ステップS52で特定された自販機が、SOS自販機である。
次いで、ステップS54では、代理処理部42が、特定した自販機(SOS自販機)の近傍の自販機を検索する。この場合、代理処理部42は、自販機在庫DB31を参照して、特定した自販機(SOS自販機)から所定距離内に存在する自販機を検索する。例えば、SOS自販機「V012」であれば、図19(a)の破線円内に存在する自販機「V004」が検索されるものとする。また、SOS自販機「V013」であれば、図19(b)に示す破線円内に存在する自販機「V014」、「V020」が検索されるものとする。
次いで、ステップS56では、代理処理部42が、近傍の自販機においてSOSを受信した時刻以降に作業する予定のトラックを検索する。例えば、自販機「V004」の場合、ルートセールスマン「R001」(トラック「T001」)が15:05に到着予定であるので、トラック「T001」が検索されることになる。また、自販機「V014」の場合、ルートセールスマン「R003」(トラック「T003」)が15:55に到着予定であるので、トラック「T003」が検索されることになる。また、自販機「V020」の場合、ルートセールスマン「R004」(トラック「T004」)が15:55に到着予定であるので、トラック「T004」が検索されることになる。
次いで、ステップS58では、代理処理部42が、検索されたトラックの余剰在庫数をトラック在庫DB32から取得する。トラック「T001」の場合、図6より、余剰在庫数「70」が取得され、トラック「T003」の場合、余剰在庫数「40」が取得され、トラック「T004」の場合、図6より、余剰在庫数「60」が取得される。
次いで、ステップS60では、代理処理部42が、余剰在庫のあるトラックが存在するか否かを判断する。ここでの判断が肯定されると、ステップS64に移行する。
ステップS64に移行すると、代理処理部42が、補充すべき自販機の補充必要数を目標に、余剰在庫数の多い順に代理ルートセールスマンを選定する。例えば、補充すべき自販機(SOS自販機)「V012」の場合、近傍の自販機に到着するトラックは「T001」のみであるので、そのトラックを運転しているルートセールスマン「R001」を代理ルートセールスマンとする。一方、補充すべき自販機(SOS自販機)「V013」の場合、近傍の自販機に到着するトラックは「T003」、「T004」であるので、それらのうち、余剰在庫数の多いほうから自販機「V013」の補充必要数「90」を割り当てる。具体的には、余剰在庫数の多いトラック「T004」のルートセールスマン「R004」に60本(全余剰在庫数)を補充させるように割り当て、余剰在庫数の少ないトラック「T003」のルートセールスマン「R003」に残りの30本を補充させるように割り当てる。
上記ステップS64のようにして代理ルートセールスマンを選定した後は、ステップS68に移行し、代理処理部42は、SOSテーブル34の完了フラグを「未完」から「完了」に変更する。その後は、図13のステップS36に移行する。
一方、ステップS60の判断が否定された場合、すなわち、余剰在庫のあるトラックが存在しなかった場合には、代理処理部42は、ステップS66において代理ルートセールスマンを選定できないと判定し、ステップS68に移行する。そして、代理処理部42は、ステップS68において、SOSテーブル34の完了フラグを「未完」から「完了」に変更した後、図13のステップS36に移行する。なお、ここでは図示していないが、代理ルートセールスマンが選定できないと判定された場合、その旨通知する処理があってもよい。
図13に戻り、ステップS36に移行すると、代理処理部42は、代理ルートセールスマンのスケジュールDB37を更新する。具体的には、代理処理部42は、代理ルートセールスマンに選定されたルートセールスマン(R001,R003,R004)のスケジュールDB37に、新たに補充作業をする必要のある自販機(SOS自販機)の情報を追加する(図20、図21(a)、図21(b)の太線枠参照)。なお、図20、図21(a)、図21(b)では、近傍の自販機の作業の後に、SOS自販機の作業予定を追加する場合について説明したが、これに限らず、近傍の自販機の作業の前にSOS自販機の作業予定を追加することとしてもよい。
次いで、ステップS38では、代理処理部42は、スケジュールDB37の情報を、各代理ルートセールスマンの携帯端末130(表示処理部60)に対して送信する。なお、代理処理部42は、地図DB38を用いてスケジュールDB37の情報を地図上のルート情報に変換して表示処理部60に送信することとしてもよい。また、代理処理部42は、表示処理部60に対して、SOS自販機における補充必要数の情報を送信することとしてもよい。表示処理部60は、受信した情報をディスプレイ293上に表示する。各代理ルートセールスマンは、ディスプレイ293に表示された情報を確認することで、新たに巡回する必要のある自販機(SOS自販機)や補充必要数を認識することが可能となる。
次いで、ステップS40では、代理処理部42は、スケジュールDB37において更新した情報を、権限管理テーブル35に記録する。例えば、スケジュールDB37において、図20、図21(a)、図21(b)の太線枠の情報が更新された場合には、権限管理テーブル35に図22のような情報が記録される。その後は、ステップS30に戻り、ステップS30〜S40の処理・判断を繰り返し実行する。
以上のように、代理処理部42が図13、図14の処理を実行することで、SOS情報を送信したルートセールスマンが巡回する予定であった自販機(SOS自販機)に対し代理ルートセールスマンを向かわせることが可能となる。この代理ルートセールスマンは、SOS自販機に補充可能な商品を持ち合わせているとともに、SOS自販機近傍を通過する際にSOS自販機に立ち寄れる、適切なルートセールスマンである。
(権限管理部44の処理)
次に、図15のフローチャートに沿って、権限管理部44の処理について詳細に説明する。なお、各ルートセールスマンの携帯端末130には、1日の作業開始前に巡回することが決められた自販機に対応する電子鍵は予め送信されているものとする。一方、代理ルートセールスマンの携帯端末130には、SOS自販機の電子鍵は予め送信されていないので、図15のフローチャートに沿った処理により、代理ルートセールスマンの携帯端末130に対して電子鍵が渡される。
図15の処理では、まずステップS70において、権限管理部44が、代理ルートセールスマンに対して、更新されたスケジュールDB37が代理処理部42から送信されるまで待機する。
ステップS70の判断が肯定されると、権限管理部44は、ステップS71に移行し、1つの自販機に対する作業が終了するまで待機する。そして、1つの自販機に対する作業が終了すると、ステップS72に移行し、権限管理部44は、次の作業を行う自販機をスケジュールDB37から特定する。次いで、ステップS73では、権限管理部44が、特定された自販機がSOS自販機であるか否かを判断する。ここでの判断が否定された場合には、ステップS80に移行するが、肯定された場合には、ステップS74に移行する。
なお、ステップS74に移行する場合とは、例えば、代理ルートセールスマン「R001」の場合において、図20に示すSOS自販機「V012」の1つ前の自販機「V004」の作業が終了した場合である。
ステップS74に移行すると、権限管理部44は、権限管理テーブル35の付与フラグをONに設定し、その自販機の権限(電子鍵)を代理ルートセールスマンの携帯端末130に送信する。この場合、権限管理部44は、電子鍵DB36を参照して、SOS自販機に対応する電子鍵を携帯端末130に送信する。これにより、代理ルートセールスマンは、SOS自販機の作業を開始する直前の適切なタイミングで、電子鍵を受け取ることができる。
次いで、ステップS76では、権限管理部44が、作業(SOS自販機に対する作業)が終了するまで待機する。そして、代理作業が終了すると、権限管理部44は、ステップS78に移行し、権限管理テーブル35に作業終了時刻を記録するととともに、付与フラグをOFFに設定し、その自販機の権限(電子鍵)を代理ルートセールスマンの携帯端末130から削除する(消去する指示を送信する)。これにより、代理ルートセールスマンは、SOS自販機の作業を行った後は、SOS自販機の扉を開閉することができなくなる。
次いで、ステップS80では、権限管理部44が、作業する自販機が残っているか否かを判断する。ここでの判断が肯定された場合には、ステップS71に戻るが、判断が否定された場合には、図15の全処理を終了する。
以上のように、権限管理部44が図15の処理を実行することで、代理ルートセールスマンに対して適切なタイミングで電子鍵を渡すことができるとともに、電子鍵が不要になったときには電子鍵を削除することができる。このようにすることで、代理ルートセールスマンにSOS自販機の電子鍵が付与されている時間を短くすることができる。したがって、SOS自販機における不正行為を抑制することができるとともに、代理ルートセールスマンから携帯端末130を不正に取得した人による不正行為を抑制することができる。
なお、これまでの説明から分かるように、本実施形態では、代理処理部42により、自販機20を巡回して商品を補充するルートセールスマンが巡回できなくなった自販機(SOS自販機)から所定範囲内を通過するルートセールスマンを抽出する抽出部、抽出したルートセールスマンのトラック余剰在庫数と、SOS自販機の自販機補充必要数とに基づいて、代理ルートセールスマンを選択する選択部、代理ルートセールスマンに対して通知を行う通知部、としての機能が実現されている。また、権限管理部44により、ルートセールスマンによる自販機に対する作業が終了したことを検出した場合に、スケジュールDB37に基づいて、その次に作業する予定の自販機を特定する特定部、及び電子鍵DB36を参照して、次の作業予定の自販機に対応する電子鍵を携帯端末130へ送信する電子鍵送信部、としての機能が実現されている。また、権限管理部44により、自販機に対する作業が終了したことを検出すると、自販機に対応する電子鍵を消去する指示を携帯端末130へ送信する指示送信部としての機能も実現されている。
以上、詳細に説明したように、本実施形態によると、代理処理部42は、ルートセールスマンが巡回できなくなった自販機(SOS自販機)から所定範囲内を通過するルートセールスマンを検索し(S56)、検索されたルートセールスマンがトラックにて保持する商品の余剰在庫数と、巡回できなくなった自販機(SOS自販機)に補充すべき商品の数量と、に基づいて、検索されたルートセールスマンの中からSOS自販機に対する補充作業を行う代理ルートセールスマンを選定し(S64)、選定された代理ルートセールスマンに対して通知を行う(S38)。これにより、SOS自販機に補充可能な商品を持ち合わせており、SOS自販機近傍を通過する際にSOS自販機に立ち寄れる、適切なルートセールスマンを代理ルートセールスマンとすることができる。これにより、SOS自販機に対する商品補充を行うことができるとともに、代理ルートセールスマンのトラック余剰在庫数も減らすことができる。代理ルートセールスマンのトラック余剰在庫数が減ることで、事務所への持ち帰りが減るので、トラックからの積み下ろし作業(商品管理上必要な作業)に対する労力を軽減することができる。
また、本実施形態では、代理処理部42は、余剰在庫数が多いルートセールスマンから優先して代理ルートセールスマンとして選定するので、より少ない人数のルートセールスマンで、SOS自販機への商品補充を行うことができる。
また、本実施形態では、代理処理部42は、SOS自販機から所定範囲内を通過するルートセールスマンの検索を、スケジュールDB37の情報を用いて行うので、GPSなどを用いてルートセールスマンの位置情報を得なくてもよい。これにより、トラックや携帯端末130にGPSモジュールなどを用意しなくてもよいため、コスト削減を図ることが可能である。
また、本実施形態では、権限管理部44は、代理ルートセールスマンによるSOS自販機の1つ前の自販機に対する作業が終了した場合に、スケジュールDB37に基づいて、SOS自販機に対応する電子鍵を代理ルートセールスマンの携帯端末130へ送信する。これにより、代理ルートセールスマンに対して適切なタイミングで電子鍵を渡すことができ、代理ルートセールスマンにSOS自販機の電子鍵が付与されている時間を短くすることができる。このようにすることで、代理ルートセールスマンによる不正行為(商品や売り上げ金、釣り銭の抜き取りなど)を抑制することができるとともに、代理ルートセールスマンから携帯端末130を不正に取得した人による不正行為を抑制することができる。
また、本実施形態では、権限管理部44は、SOS自販機に対する代理ルートセールスマンの作業が終了したことを検出すると、SOS自販機に対応する電子鍵を削除する。これにより、電子鍵が不要になった適切なタイミングで電子鍵を削除することができ、上記不正行為を更に抑制することが可能である。
また、本実施形態では、自販機20の状態の変化(例えば在庫量の変化や扉の開閉)に基づいて、ルートセールスマンによる自販機に対する作業が終了したことを検出する。これにより、ルートセールスマンからの入力等が不要となり、権限管理部44は、自販機に対する作業が終了したことを確実に認識することができる。ただし、これに限らず、ルートセールスマンが携帯端末130から作業開始や終了の情報を入力することとしてもよい。この場合、携帯端末130の入力処理部62から、サーバ10に対して、作業開始や終了の情報が送信されることになる。
なお、上記実施形態では、スケジュールDB37に基づいて、SOS後に、SOS自販機近傍を通過するルートセールスマンを検索する場合について説明したが、これに限られるものではない。例えば、GPS等を用いて検出される実際の位置に基づいて、SOS自販機に近いルートセールスマンを検索するようにしてもよい。
なお、上記実施形態では、ステップS64において、代理処理部42は、SOS自販機の補充必要数を目標に、余剰在庫数の多い順に代理ルートセールスマンを選定する場合について説明したが、これに限られるものではない。代理処理部42は、例えば、余剰在庫数の最も多いルートセールスマンのみを代理ルートセールスマンとして選定することとしてもよい。
また、上記実施形態では、代理ルートセールスマンがSOS自販機の1つ前の自販機の作業を終了したときに、SOS自販機の電子鍵を付与する場合について説明したが、これに限られるものではない。SOS自販機以外の自販機の電子鍵についても、1つ前の自販機の作業が終了したときに携帯端末130に対して送信するようにしてもよい。また、SOS自販機以外の自販機の電子鍵についても、作業終了後に削除するようにしてもよい。
なお、上記実施形態では、ルートセールスマンが1種類の商品を複数の自販機に補充する場合について説明したが、これに限られるものではない。ルートセールスマンが複数種類の商品を複数の自販機に補充する場合にも、上記実施形態と同様の考え方で、代理ルートセールスマンを選定することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
(付記1) 第1の自動販売機に対する、該第1の自動販売機と対応付けられた担当者による作業が終了したことを検出した場合に、予め決められた複数の自動販売機に対する前記担当者の作業順序に基づいて、前記第1の自動販売機の次に前記担当者が作業する予定の第2の自動販売機を特定する工程と、
複数の自動販売機と、該複数の自動販売機それぞれに対応する電子鍵と、の情報を対応付けて管理する記憶部を参照して、前記第2の自動販売機に対応する電子鍵を前記担当者が利用する装置へ送信する工程と、をコンピュータが実行することを特徴とする電子鍵管理方法。
(付記2) 前記第2の自動販売機に対する前記担当者の作業が終了したことを検出すると、前記第2の自動販売機に対応する電子鍵を消去する指示を前記装置へ送信する工程を前記コンピュータが更に実行することを特徴とする付記1に記載の電子鍵管理方法。
(付記3) 自動販売機の状態の変化に基づいて、前記担当者の自動販売機に対する作業が終了したことを検出することを特徴とする付記1又は2に記載の電子鍵管理方法。
(付記4) 第1の自動販売機に対する、該第1の自動販売機と対応付けられた担当者による作業が終了したことを検出した場合に、予め決められた複数の自動販売機に対する前記担当者の作業順序に基づいて、前記第1の自動販売機の次に前記担当者が作業する予定の第2の自動販売機を特定し、
複数の自動販売機と、該複数の自動販売機それぞれに対応する電子鍵と、の情報を対応付けて管理する記憶部を参照して、前記第2の自動販売機に対応する電子鍵を前記担当者が利用する装置へ送信する、処理をコンピュータに実行させることを特徴とする電子鍵管理プログラム。
(付記5) 前記第2の自動販売機に対する前記担当者の作業が終了したことを検出すると、前記第2の自動販売機に対応する電子鍵を消去する指示を前記装置へ送信する処理を前記コンピュータに更に実行させることを特徴とする付記4に記載の電子鍵管理プログラム。
(付記6) 自動販売機の状態の変化に基づいて、前記担当者の自動販売機に対する作業が終了したことを検出することを特徴とする付記4又は5に記載の電子鍵管理プログラム。
(付記7)
第1の自動販売機に対する、該第1の自動販売機と対応付けられた担当者による作業が終了したことを検出した場合に、予め決められた複数の自動販売機に対する前記担当者の作業順序に基づいて、前記第1の自動販売機の次に前記担当者が作業する予定の第2の自動販売機を特定する特定部と、
複数の自動販売機と、該複数の自動販売機それぞれに対応する電子鍵と、の情報を対応付けて管理する記憶部を参照して、前記第2の自動販売機に対応する電子鍵を前記担当者が利用する装置へ送信する電子鍵送信部と、を備える電子鍵管理装置。
(付記8) 前記第2の自動販売機に対する前記担当者の作業が終了したことを検出すると、前記第2の自動販売機に対応する電子鍵を消去する指示を前記装置へ送信する指示送信部を更に備える付記7に記載の電子鍵管理装置。
(付記9) 自動販売機の状態の変化に基づいて、前記担当者の自動販売機に対する作業が終了したことを検出することを特徴とする付記7又は8に記載の電子鍵管理装置。