以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
なお、以下において用いる用語は、一般的には次のように定義される。なお、これらの用語の語義は常にここに示されるように解釈されるべきではなく、例えば以下において個別に説明されている場合にはその説明も踏まえて解釈されるべきである。
商品とは、価値を有する物である。以下の実施の形態において、商品とは、自動販売機により販売可能な缶詰飲料やびん詰め飲料などあるが、これに限られない。自動販売機において販売される商品は、食品や飲料などの飲食物又はその他の有体物そのものであってもよいし、所定の飲食物やその他の有体物と等価値に扱われる物であってもよい。自動販売機において販売される商品は、ユーザに対するサービスや、電子コンテンツ(例えば、音楽や画像、書籍等を鑑賞等することができるようにする情報などであるが、これに限られない)や、金銭的価値を有するポイントなどを示すデータなどの無体物と等価値に扱われる物であってもよい。なお、商品の販売とは、有償で販売する場合に限られず、無償で商品を配布することも含まれると解釈してもよい。
ある事項について識別子とは、当該事項を一意に示す文字又は符号等である。識別子は、例えば、IDであるが、対応する事項を識別しうる情報であれば種類は問わない。すなわち、識別子は、それが示すものそのものの名前であってもよいし、一意に対応するように符号を組み合わせたものであってもよい。
取得とは、ユーザ等により入力された事項を取得することを含んでいてもよいし、自装置又は他の装置に記憶されている情報(予め記憶されている情報であってもよいし当該装置において情報処理が行われることにより生成された情報であってもよい)を取得することを含んでいてもよい。他の装置に記憶されている情報を取得するとは、他の装置に記憶されている情報をAPI経由などで取得することを含んでいてもよいし、他の装置により提供されている文書ファイルの内容(ウェブページの内容なども含む)についてスクレイピング等を行うことにより取得することを含んでいてもよい。また、画像ファイルについて光学式文字読み取りを行うことにより情報を取得することなど、元の情報に基づいてそれとは異なるフォーマットの情報を取得することを含んでいてもよい。
情報を出力するとは、ディスプレイへの表示、プロジェクタを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。具体的には、例えば、情報のウェブページへの表示を可能とすることや、電子メール等として送信することや、印刷するための情報を出力することなどを含む。
情報の受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、他の装置等から有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
情報処理装置等に格納されている各種の情報について、更新とは、格納されている情報の変更のほか、格納されている情報に新たな情報が追加されることや、格納されている情報の一部又は全部が消去されることなどを含む概念である。
(実施の形態)
本実施の形態において、情報処理装置は、自動販売機を管理する自動販売機管理システムを構成する装置である。情報処理装置は、自動販売機の各コラムの在庫情報を用いて、各商品について所定の方法で丸めた数の補充数情報を取得し、出力する。補充数情報の取得に際しては、各商品の売切時期情報と在庫情報とを用いることが好ましい。また、売切時期情報が所定の条件を満たす商品については、丸めた数に限られず、異なる方法で補充数情報を取得するようにすることが好ましい。以下、このように構成された情報処理装置を用いた自動販売機管理システム1について説明する。
図1は、本発明の実施の形態の1つに係る自動販売機管理システム1の概要を示す図である。
本実施の形態において、自動販売機管理システム1は、情報処理装置100と、複数の自動販売機700と、ユーザが所有する端末装置600とを備える情報処理システムである。なお、自動販売機管理システム1は、情報処理装置100と自動販売機700とで構成されると解釈してもよい。
ここで、ユーザとは、自動販売機管理システム1を利用して自動販売機700への商品の補充作業を行う作業者である。なお、作業者とは、商品の補充を行うために自動販売機700に直接商品を投入する者に限られず、例えば各自動販売機700に投入する商品を用意する工程に従事する者や、自動販売機管理システム1を管理する者など、広く補充作業に関係する業務を行う者を含んでいてもよい。
本実施の形態において、複数の自動販売機700のそれぞれは、所定のロケーションに設置して用いられる。ここでロケーションとは、場所、店舗、施設、又は組織等の概念を意味しうるが、これらに限られない。ロケーション毎に、一の自動販売機700が設置されてもよいし、複数の自動販売機700が設置されてもよい。これらの自動販売機700を管理するにあたっては、各自動販売機700に固有の販売機識別子が割り当てられるが、これに限られない。例えば、一のロケーションに関して複数の自動販売機700が設置されている場合において、これらの複数の自動販売機700を含む販売体毎に固有の販売機識別子が割り当てられて、販売体を構成する複数の自動販売機700を一つの自動販売機700とみなして管理が行われるようにしてもよい。すなわち、販売機識別子は、一台一台の自動販売機700を識別可能な識別子であってもよく、また、販売機識別子は、自動販売機700が設置されているロケーションを識別可能な識別子など、複数の自動販売機700がグループ化されている場合に、自動販売機700が属するグループを識別可能な識別子であってもよい。
本実施の形態において、各自動販売機700は、周知の構成を有する、例えば飲料である商品を販売する自動販売機である。自動販売機700は、2以上のコラム(コラム)毎に、販売可能な商品を収容可能に構成されている。複数のコラムのそれぞれに対応して、商品が収容される。自動販売機700において商品を選択するとは、選択する商品に対応するコラムを選択するといってもよい。
コラムとは、自動販売機700の商品が格納される部分であり、コラムとも呼ばれる。自動販売機700における商品棚と言ってもよい。コラムは、商品を収容する部分や保持する部分と考えてもよい。一のコラムに対応して、一の商品が複数個収容可能となっている。各コラムは、商品を投入するための商品投入口を有している。各コラムの商品投入口は、例えば、自動販売機の正面側に設けられている。例えば、自動販売機の前面扉を開くことで各商品投入口が正面に現れ、商品を投入可能となる。ただし、商品投入口が設けられている位置は、上記に限定されるものではない。通常、自動販売機が有する複数のコラムの商品投入口は、縦方向および横方向の少なくとも一方の方向に配列されている。例えば、複数のコラムの商品投入口は、マトリクス状に配列されている。
各コラムには、所定の最大商品数までの商品を収容可能である。ここでコラムの最大商品数とは、当該コラムに収容可能な商品の数の最大値をいう。最大商品数を、最大容量(又は単に容量)といってもよい。各コラムの容量は、コラム毎に異なっていても、均一であってもよい。また、1つの商品に対応する一のコラム(論理コラムといってもよい)が、物理的に一連をなす複数の物理コラムにより構成されていてもよい。換言すると、商品棚とは、自動販売機700内に実際に設けられているものであるか仮想的に設けられているものかを問わない表現である。このような物理コラムと論理コラムとの対応関係に関する設定は、自動販売機700において適宜変更可能であってもよい。なお、一の論理コラムの最大商品数は、例えば、当該論理コラムを構成する1以上の物理コラムのそれぞれの最大商品数の合計となるが、これに限られない。
自動販売機700は、所定の販売条件が満たされた場合において、2以上の商品のうちユーザにより選択された一の商品をユーザに販売可能である。所定の販売条件とは、例えば、ユーザによる商品の選択操作が行われたこと、当該商品が販売可能であること、かつ、当該商品の代金が支払われたことであるが、これに限られない。なお、自動販売機700は、特定の一の商品のみをユーザに販売可能に構成されていてもよい。例えば、自動販売機700は、購入者などによる商品選択操作や、他の装置から送信された情報を受け付けたりして、それに応じて商品を払い出す。商品選択操作は、それぞれ一又は複数のコラムに対応するように設定された商品選択ボタンを用いて行われるが、これに限られない。カーソルキーや選択確定キーなどを用いたコラムの選択操作を商品選択操作として受け付けるようにしてもよい。
なお、自動販売機700は、各コラムに収容されている商品の数(在庫数)を取得可能に構成されている。在庫数は、現に収容されている商品の数を検知することにより取得されてもよいし、所定のタイミングにおいてユーザにより確認された数又は自動的に確認された数と、その後に補充された数及び払い出された数の収支とに基づいて取得されてもよい。取得された在庫数に対応する在庫情報は、情報処理装置1に送信可能に構成されている。なお、自動販売機700に補充された商品の数や払い出された数などが情報処理装置1に送信され、情報処理装置1において各コラムについての在庫数が取得されるようにしてもよい。自動販売機700に補充された商品の数は、自動販売機700により自動的に取得されるようにしてもよいし、ユーザ等の入力操作に基づいて取得されるようにしてもよい。
情報処理装置100と、端末装置600とは、例えばローカルエリアネットワークやインターネットなどのネットワークを介して互いに通信可能である。本実施の形態において、自動販売機700は、情報処理装置100に接続されていない。後述のように、自動販売機700のそれぞれについての情報、例えば、ある時点における自動販売機700内の商品の在庫、品揃え等に関する情報は、情報処理装置100により管理されているが、これは、例えば、作業者が自動販売機700の情報を情報処理装置100に入力することなどにより実現されればよい。自動販売機管理システム1の構成はこれに限られるものではない。自動販売機管理システム1に含まれるそれぞれの装置の数は問わないし、他の装置が自動販売機管理システム1に含まれていてもよい。
なお、自動販売機700は、情報処理装置100や、端末装置600などと同一のネットワークに接続されていることにより情報処理装置100と通信可能であってもよいし、当該ネットワークとは異なるネットワークを介して、情報処理装置100と通信可能に接続されていてもよい。この場合、自動販売機700の情報が情報処理装置100に送信されることにより、当該情報が情報処理装置100によって管理されるように構成されていてもよい。また、この場合、情報処理装置100が、各自動販売機700を含む販売システムにおいて販売時点情報管理(POS)を実現可能に構成されていてもよい。販売時点情報管理を実現可能に構成された情報処理装置100は、各自動販売機700と通信可能に接続される。例えば複数の店舗等のロケーションにそれぞれ配置された、販売時点情報管理を実現可能に構成された自動販売機700は、販売に関する情報や商品の在庫等に関する情報を情報処理装置100に送信する。具体的には、例えば、上記のような在庫数に対応する在庫情報等を情報処理装置100に送信する。情報処理装置100では、これらの情報に基づいた集計、分析、発注等、種々の処理を行うことができるようになっている。このようなことは、周知の構成を用いて実現可能である。
なお、図1においては、例えばいわゆるスマートフォンなどの携帯情報端末装置が端末装置600として示されているが、端末装置600として用いられるのはこれに限られない。例えば、タブレット型の情報端末装置、及びラップトップコンピュータなどのパーソナルコンピュータ(PC)などであってもよいし、これら以外の装置であってもよい。自動販売機管理システム1のユーザは、端末装置600を利用して、自動販売機管理システム1を利用することができる。以下の例においては、端末装置600として、スマートフォンなどの携帯情報端末装置が用いられることを想定して説明するが、これに限られるものではない。
図2は、同自動販売機管理システム1のブロック図である。図3は、同情報処理装置100のブロック図である。
まず、端末装置600の構成について説明する。図2に示されるように、端末装置600は、端末格納部610、端末受信部620、端末受付部630、端末処理部640、端末出力部660、及び端末送信部670を備える。
端末格納部610には、端末装置600で用いられる種々の情報が格納される。例えば、端末装置600を識別可能なユーザ識別子が格納される。ユーザ識別子は、その端末装置600を使用するユーザを識別可能な情報である。
端末受信部620は、情報処理装置100や、その他の装置から送信された情報を、ネットワークを介して受信する。端末受信部620は、受信した情報を、例えば端末格納部610に蓄積し、端末処理部640などが取得できるようにする。
端末受付部630は、端末装置600を使用するユーザによる、端末装置600に対する種々の入力操作を受け付ける。操作は、例えば、図示しない入力装置を用いて行われるが、これに限られない。端末受付部630は、例えば、マイクにより入力された音声による入力操作を受け付けるようにしてもよい。
端末処理部640は、端末装置600の各部を用いて、種々の情報処理動作を行う。
端末出力部660は、例えばディスプレイデバイスに表示することなどにより、情報の出力を行う。なお、情報の出力方法はこれに限られず、音声等をスピーカなどから出力することなどにより行われるようにしてもよい。
端末送信部670は、例えば端末処理部640等により取得した情報をネットワークを介して送信する。
次に、情報処理装置100の構成について説明する。
図3に示されるように、情報処理装置100は、格納部110、受信部120、受付部130、処理部140、及び送信部170を備える。情報処理装置100は、例えば、サーバ装置である。
格納部110は、商品情報格納部111、在庫情報格納部113、容量情報格納部115、単位数格納部117、及び売切時期情報格納部119を有する。
格納部110には、販売機識別子と、当該販売機識別子に対応する自動販売機700に関する販売機情報とが対応付けて格納される。販売機識別子と、当該販売機識別子に対応する販売体に含まれる自動販売機700群の販売機情報とが対応付けて格納されていてもよい。
なお、以下に説明する在庫情報格納部113、容量情報格納部115、単位数格納部117、及び売切時期情報格納部119のそれぞれに格納されている情報は、販売機情報に含まれると解釈してもよいし、そのように解釈しなくてもよい。販売機情報としては、例えば、自動販売機700に関する種々の情報が該当しうる。本実施の形態において、販売機情報は、例えば、自動販売機700を設置している組織や自動販売機700が設置されているエリアなどに関する設置情報や、自動販売機700の型式等に関する情報や、自動販売機700の売り上げ等に関する情報などが、それぞれ含まれうる。販売機情報に、販売機識別子が含まれると解釈してもよい。すなわち、販売機情報は、販売機識別子と、販売機識別子以外の販売機情報とが対応付けられた情報であると言ってもよい。
本実施の形態において、販売機情報は、各自動販売機700における各コラムに収容されている商品を特定可能な情報である。例えば、販売機情報は、各自動販売機700において、収容されている商品に関する商品情報とコラムを特定する情報(本実施の形態において、コラム識別子という)との対応関係を示す情報である。すなわち、販売機情報に基づいて、コラムを特定する情報すなわち当該コラムに対応する商品を識別可能なコラム識別子と、販売機識別子とに基づいて、購入された商品等に関する商品情報を取得可能となっている。換言すると、販売機識別子及びコラム識別子の組み合わせが一の商品を特定可能な識別子に対応付けられており、販売機識別子と商品を特定可能な識別子との組み合わせが、一又は複数のコラム識別子と対応付けられていてもよい。
商品情報格納部111には、2以上の商品のそれぞれの商品情報が格納される。商品情報とは、例えば、一の商品を特定可能な識別子(商品識別子と言ってもよい)や、当該商品の商品名や、商品の価格等に関する情報など、一の商品に関する種々の属性値である。
在庫情報格納部113には、自動販売機の2以上のコラムのそれぞれに収容されている商品の在庫数に対応する在庫情報が格納される。在庫情報は、通常、販売機識別子とコラム識別子とに対応付いている。例えば、在庫情報格納部113に格納されている情報に基づいて、一の自動販売機700の一のコラムについて、収容されている商品の在庫数に対応する在庫情報を取得可能となっている。なお、在庫情報として、在庫数そのものを示す情報、在庫数を所定の単位で表した情報、及び所定のタイミング以後の期間において販売された数を示す情報など、適宜用いることができる。
容量情報格納部115には、2以上のコラムのそれぞれに収容可能な商品の数の最大値である最大商品数が格納される。最大商品数は、自動販売機700毎に異なる値であってもよいし、コラムごとに違っていてもよい。最大商品数は、通常、販売機識別子とコラム識別子とに対応付いている。
単位数格納部117には、2以上のコラムへ納める商品の単位数が格納される。自動販売機700毎に異なる単位数が設定されていてもよいし、コラム毎に異なる単位数が設定されていてもよい。この場合、単位数は、販売機識別子に対応付けられていたり、販売機識別子及びコラム識別子に対応付けられていればよい。また、単位数は、各商品の商品識別子に対応付けられていてもよい。一の販売機識別子に対応する各コラム識別子に商品識別子が対応付けられているので、単位数が商品識別子に対応付けられているということは、一の販売機識別子に対応する各コラム識別子に単位数が対応付けられていることと同視しうる。
単位数は、2以上の整数である。単位数は、3以上であって10以下の整数であることが好ましい。商品が自動販売機において販売されることの多い飲料である場合には、単位数は、各商品の荷姿の採用状況を鑑みて、4以上の整数であることがより好ましい。本実施の形態において、単位数は、商品毎すなわちコラム毎に予め設定された、4、5、及び6からなる群から選択される一の数であることが好ましい。単位数に替えて、単位数を特定可能な情報が単位数格納部117に格納されていてもよい。
本実施の形態において、各商品に対応する単位数は、ユーザにより予め設定された数である。単位数は、各商品の1ケースあたりの入数に応じて設定される。なお、ケースは、いわゆる通い箱と呼ばれるコンテナなどを含む概念であってもよい。例えば、段ボールカートン(ケースの一例)に入れられた荷姿で補充前において扱われる飲料である商品について、段ボールカートン1ケースに含まれる商品の数が入数として用いられる。一般的に、ケースに収容されている各商品が縦横に行列をなしている場合において、当該行列の行数や列数の一方を単位数とすることができる。具体的には、例えば、縦に6つ、横に4つの商品が並ぶようにして1ケースに24個の商品が入れられている場合、「4」や「6」を単位数として設定することができる。また、例えば、縦に6つ、横に5つの商品が並ぶようにして1ケースに30個の商品が入れられている場合、「5」や「6」を単位数として設定することができる。
なお、自動販売機700への補充前に段ボールカートン等のケースに入れられた荷姿で扱われる商品について、当該ケースの開封方法に応じて、各商品について単数の設定方法を変更してもよい。例えば、直方体である段ボールカートンのうち最も面積が小さい面からケースを開口させて商品をとり出す場合、単位数として、行数及び列数のうち小さいほうの数を用いるようにすることがより好ましい。例えば、缶飲料など略円筒形状の商品について、上述の24個入りのケースの商品については、単位数として「4」を用いるようにし、30個入りのケースの商品については、単位数として「5」を用いるようにすることが好ましい。
売切時期情報格納部119は、2以上のコラムのそれぞれの商品について、当該商品が売り切れる時期に関する売切時期情報が格納される。売切時期情報は、商品毎又はコラム毎の情報であり、通常、販売機識別子とコラム識別子とに対応付いている。売切時期情報は、例えば、予めユーザにより設定された数であってもよいし、処理部140により取得された情報であってもよい。各自動販売機700において、一の商品について2以上の物理コラムが用いられている場合(2以上の物理コラムにより1つの論理コラムが構成されている場合)には、商品毎(論理コラム毎)に売切時期情報が格納されているが、物理コラム毎に売切時期情報が格納されていてもよい。
本実施の形態において、売切時期情報は、商品が補充されてから売り切れるまでの期間である売切到達予想期間を示す値である。なお、売切時期情報は、例えば、期間の長短の程度を示す情報や、所定値との比較結果に対応する情報など、売切到達予想期間を示す値に対応する情報であってもよい。売切到達予想期間は、例えば、商品が補充されて在庫がある状態から、在庫がゼロとなるまでに経過した時間として表される。売切到達予想期間は、この時間についての直接の計測結果であってもよい。また、所定の数の商品が販売されるのに掛かった時間を基に1つの商品が販売されるのに掛かった時間(販売間隔)を取得し、当該時間に最大容量数を乗じることなどにより求めた時間を売切到達予想期間としてもよい。すなわち、売切到達予想期間は、商品が販売される頻度と当該商品が収容されるコラムの最大容量数とに対応する指標であるといってもよい。また、売切到達予想期間は、当該コラムに収容される販売開始時の商品の数(例えば、前回の補充後の商品の在庫数)に販売間隔を乗じて求められる時間であってもよい。すなわち、売切到達予想期間の起点となる状態は、コラムが商品で満杯である状態であってもよいし、そうでなくてもよい。売切到達予想期間は、在庫数が最大容量数と等しい状態すなわちコラムが商品で満杯である状態から、在庫がゼロとなるまでに経過した時間として表されてもよい。また、売切時期情報は、売り切れることが予想される日など、商品が売り切れる時期の予測値などであってもよい。
受信部120は、他の装置から送信された情報を受信する。受信部120は、受信した情報を、例えば、格納部110に保存する。受信部120は、端末装置600からこれらの情報を受信する場合に、送信された情報に基づいて、送信に係るユーザのユーザ識別子を特定可能である。
受付部130は、情報処理装置100に接続された図示しない入力手段を用いて入力された情報を受け付ける。受付部130は、受け付けた情報を、例えば、格納部110に保存する。なお、入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でもよい。受付部130は、情報処理装置100に接続された読み取り装置(例えば、コードリーダなど)を用いて行われた入力操作(例えば、装置により読み取られた情報も含む)により入力された情報を受け付けてもよい。
なお、受付部130は、受信部120が受信した情報を、情報処理装置100に入力された情報として受け付けると捉えてもよい。すなわち、情報処理装置100への情報の入力とは、これらの情報が端末装置600等を介してユーザによって間接的に情報処理装置100に入力されることを意味すると解釈してもよいし、ユーザによって、入力手段を用いて直接的に情報処理装置100に入力されることを意味すると解釈してもよい。また、ユーザが、情報を自動的に生成するプログラムを実行させたり種々の情報をプログラムに与えて機能させたりすることなどによって情報処理装置100に情報が与えられるようにすることを、情報処理装置100への情報の入力と捉えてもよい。
処理部140は、補充数取得部151、及び補充数出力部153を有する。処理部140は、各種の処理を行う。各種の処理とは、例えば、以下のように処理部140の各部が行う処理である。
補充数取得部151は、2以上のコラムのそれぞれについて、作業者が補充すべき商品の数である補充数に関する補充数情報を取得する。補充数情報は、補充数を示す値であってもよいし、補充数を示す値に対応する情報であってもよい。一の自動販売機700について補充数取得部151により取得された補充数情報は、コラム識別子に対応付けて格納部110に記憶される。
補充数は、少なくとも、最大商品数と同じかそれより小さい数となる。補充数取得部151は、最大商品数と在庫数との差と同じか、それより小さい数を補充数として特定する。本実施の形態において、補充数取得部151は、各コラムについて、所定の例外に該当する場合を除いて、そのコラムすなわち商品に対応する単位数を単位数格納部117から取得し、取得した単位数を用いて、当該単位数の倍数である数を補充数として特定する。換言すると、補充数取得部151は、単位数の倍数に丸めた補充数を出力する。補充数取得部151は、所定の例外に該当する場合には、単位数の倍数であるか否かにかかわらず、最大商品数と在庫数との差と同じ数を補充数として特定する。また、本実施の形態において、補充数取得部151は、以下のように、売切時期情報を用いて補充数情報を取得する。なお、補充数取得部151は、常に単位数の倍数である数を補充数として特定するように構成されていてもよい。また、売切時期情報を用いなくてもよい。
補充数取得部151は、一のコラムについて単位数の倍数である数を補充数として特定する場合には、次のように、当該コラムについて在庫数と、最大商品数と、単位数とを取得し、取得した数を用いて補充数を特定する。すなわち、最大商品数と在庫数との差以内で、単位数の倍数に該当する数を補充数として特定する。最大商品数と在庫数との差以内の単位数の倍数に該当する数(以下、単に倍数ということがある)が複数ある場合には、最大の倍数を補充数として特定する。なお、倍数が複数ある場合には、それらのうち販売機情報に基づいて選択した倍数を補充数として特定するようにしてもよい。例えば、倍数が複数ある場合には、売切時期情報を用いて、選択した倍数を補充数として特定するようにしてもよい。例えば、売切到達予想期間と所定値との関係に応じて、補充数として特定する倍数の選択方法を変更してもよい。具体的には、所定値よりも売切到達予想期間の値が小さい(短期間で売り切れる)場合には最大の倍数を補充数として、そうでない場合にはそれより小さい倍数を補充数としてもよい。また、所定値よりも売切到達予想期間の値が小さい場合には最小の倍数すなわち単位数を補充数として、そうでない場合にはそれより大きい倍数を補充数としてもよい。所定値は、例えば、対象となる自動販売機700が所定のロケーションにあるか否か、自動販売機700について補充を行うことになっている頻度や、売上高、重要度等の指標などに応じて設定すればよい。
ここで、所定の例外に該当する場合とは、例えば、補充数を取得する対象となる自動販売機700やそのコラムが例外に該当すると判定された場合である。例えば、予め例外に該当するとしてユーザ等により指定されている対象であるか否かを示す情報(例えば、フラグなど)や、売切時期情報やその他の販売機情報が所定の条件を満たすか否かにより判定が行われる。
本実施の形態において、補充数取得部151は、売切時期情報が予め決められた条件を満たす場合には、単位数の倍数であるか否かにかかわらず、最大商品数と在庫数との差と同じ数を特定する補充数情報を取得する。例えば、売切到達予想期間の値が所定値よりも小さい場合には、最大商品数と在庫数との差と同じ数を補充数としてもよい。また、各コラムの中で売切到達予想期間が短い順に所定の順位内に該当するコラムについて、最大商品数と在庫数との差と同じ数を補充数としてもよい。
なお、所定の条件としては、以下に説明するほか、例えば、対象となる自動販売機700が所定のロケーションにあること、自動販売機700について補充を行う頻度や売上高、重要度等の指標が所定の程度であること等が挙げられるが、これに限られない。
なお、補充数取得部151は、各自動販売機700において、一の商品について2以上の物理コラムが用いられている場合には、各物理コラムについて補充数を取得するようにしてもよいし、1つの論理コラムについて補充数を取得するようにしてもよい。
補充数出力部153は、補充数取得部151により取得された補充数情報を出力する。補充数出力部153は、所定の方法で、必要に応じて送信部170等を利用して、補充数情報を含む出力情報を構成し、出力する。
本実施の形態において、出力情報は、端末装置600においてウェブページ等を表示させるための情報である。出力情報は、ウェブページを表示させるために用いられる情報のうち一部の情報のみであってもよい。また、出力情報は、端末装置600で動作するソフトウェアの表示画面に所定の内容を表示させるための情報やその一部の情報であってもよい。この場合、補充数出力部153は、送信部170により、情報処理装置100にアクセスした端末装置600に対して、出力情報を送信する。これにより、端末装置600において、出力情報を用いたウェブページやソフトウェアの表示画面等が表示される。なお、出力情報は、出力先となるユーザに対して送信する電子メールの内容を示す情報や、その他のメッセージの内容を示す情報であってもよい。この場合、補充数出力部153は、送信部170により、出力先となるユーザのユーザ情報を用いて出力情報を送信すればよい。
送信部170は、情報を、自動販売機管理システム1を構成する他の装置に、ネットワークを介して送信する。送信部170は、例えば、端末装置600や、その他の装置に対して出力される情報の送信を行う。
なお、上述の格納部110や端末格納部610は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。これらには、それぞれの装置において取得された情報などがそれぞれ格納されるが、情報等が記憶される過程はこれに限られない。例えば、記録媒体を介して情報等が記憶されるようになってもよく、通信回線等を介して送信された情報等が記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報等が記憶されるようになってもよい。
また、上述の処理部140や端末処理部640は、通常、MPUやメモリ等から実現されうる。処理部140や端末処理部640の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
また、受付部130や端末受付部630により受付可能な情報の入力に用いられうる入力手段は、操作ボタンや、テンキーやキーボードやマウスやメニュー画面によるものなど、何でもよい。受付部130や端末受付部630は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現されうる。
また、受信部120や端末受信部620は、通常、無線又は有線の通信手段で実現されるが、放送を受信する手段で実現されてもよい。
また、送信部170や端末送信部670は、通常、無線又は有線の通信手段で実現されるが、放送手段で実現されてもよい。
次に、情報処理装置100の動作の一例について説明する。
図4は、同情報処理装置100の動作の一例を示すフローチャートである。
以下の処理は、処理部140などによって定期的に又は繰り返し実行される。
(ステップS11)処理部140は、補充数を出力するタイミングか否かを判断する。出力するタイミングであれば、ステップS12に進み、そうでない場合はこの処理を再び行う。なお、補充数を出力するタイミングとは、例えば、ユーザにより指示が行われたタイミング(端末装置600から送信されたその旨の指示を受信したタイミングを含む)、予め設定された日時等が到来したタイミング、ユーザが所定の地点に到着したタイミング、各自動販売機700の情報が情報処理装置100や端末装置600に読込まれたタイミングなどが該当しうる。
(ステップS12)補充数取得部151は、補充数を取得する対象となる自動販売機700の販売機識別子を取得する。例えば、ユーザにより指定された自動販売機700の販売機識別子を取得したり、端末装置600により取得された販売機識別子を取得したりすればよい。また、複数の販売機識別子が取得されてもよい。
(ステップS13)補充数取得部151は、販売機識別子に対応する各コラムについて、補充数の取得に用いる情報を取得する。例えば、上述のように、商品情報及び単位数を取得したり、在庫情報、最大商品数、及び売切時期情報などを含む販売機情報を取得したりする。
(ステップS14)補充数取得部151は、売切時期情報に基づいて、各コラムのうち予め決められた条件を満たすコラムにフラグを立てる。ここで予め決められた条件とは、上述のように単位数の倍数に丸めた補充数を出力するか否かに関係する条件である。例えば、売切到達予想期間の値が最も小さいコラムであるという条件が予め決められている場合、該当するコラム識別子に対応付けてフラグが記録される。なお、この処理は、例えば、予め決められた条件が、他のコラムの売切時期情報との関係に関するものではない場合には行われなくてもよい。この場合、ステップS16において、売切時期情報を用いて補充数を特定する処理が行われればよい。
(ステップS15)補充数取得部151は、カウンタNに1を代入する。
(ステップS16)補充数取得部151は、N番目のコラムを処理対象として、補充数を特定し、特定した補充数を格納部110に記憶する(補充数特定処理)。補充数特定処理の流れについては、後述する。
(ステップS17)補充数取得部151は、カウンタNが、自動販売機700のコラムの総数に一致するか否かを判断する。Nがコラムの総数に一致する場合すなわち全コラムについて補充数を特定した場合には、ステップS19に進む。そうでない場合には、ステップS18に進む。
(ステップS18)補充数取得部151は、カウンタNを1だけインクリメントする。ステップS16に戻る。
(ステップS19)補充数出力部153は、補充数情報を含む出力情報を構成する。
(ステップS20)補充数出力部153は、出力情報を出力する。すなわち、補充数情報を出力する。一連の処理が終了する。
図5は、同情報処理装置100の補充数特定処理の一例を示すフローチャートである。
(ステップS21)補充数取得部151は、処理対象となっているN番目のコラムについて、最大商品数と在庫数との差を取得する。
(ステップS22)補充数取得部151は、当該コラムについて、丸めた補充数を出力するか否かを判断する。すなわち、補充数取得部151は、上述のような、単位数の倍数に丸めた補充数を出力するか否かに関係する予め定められた条件が満たされるか否かを判断する。ここでは、ステップS14において行われた処理の結果、処理対象となっているN番目のコラムに対応するフラグが立てられているか否かが判断されるが、これに限られない。丸めた補充数を出力すると判断した場合にはステップS23に進み、そうでない場合にはステップS25に進む。
(ステップS23)補充数取得部151は、コラムに対応する単位数の倍数であって最大商品数と在庫数との差の数以下である倍数のうち、最も大きい倍数を取得する。
(ステップS24)補充数取得部151は、取得した倍数を補充数として特定する。その後、ステップS26に進む。
(ステップS25)一方、補充数取得部151は、最大商品数と在庫数との差を補充数として特定する。その後、ステップS26に進む。
(ステップS26)補充数取得部151は、コラム識別子に対応付けて、補充数を格納部110に記憶させる。その後、図4に示される処理に戻る。
次に、本実施の形態において格納部110に格納される各種情報の一例について説明する。
図6は、同情報処理装置100で用いられる商品情報及び単位数の一例を示す図である。
図6に示されるように、例えば、商品情報は、商品識別子に対応付けて、当該商品の商品名や、商品の参考価格等に関する情報など、一の商品に関する種々の属性値が格納されたものである。ここで示す例においては、商品情報は、1つのケースあたりの入数を含むものであるが、これに限られない。また、単位数は、各商品識別子に対応付けて格納されている。なお、単位数は、販売機情報として販売機識別子及びコラム識別子に対応付けられていてもよい。各情報は、このような同一のテーブルに記録されていなくてもよく、例えば別々のテーブルに記録されていてもよい。
ここで示されている例においては、直方体である段ボールカートンのうち最も面積が小さい面からケースを開口させて商品をとり出すことを想定して、各商品についての単位数が設定されている。すなわち、例えば、入数が24である商品については、単位数として4が設定されている。また、入数が30である商品については、単位数として5が設定されている。
図7は、同情報処理装置100で用いられる販売機情報の一例を示す図である。
ここで示される例では、販売機情報は、例えば、一の商品を特定可能な商品識別子や、当該商品の価格などについての属性値を含む。すなわち、販売機情報は、いずれの自動販売機700において、どのコラムにどの商品がどの価格で販売可能に収容されているかを示す情報である。また、販売機情報は、在庫情報、最大商品数、及び売切時期情報を含む。ここで示されている例においては、在庫情報は在庫数として、売切時期情報は売切到達予想期間として、それぞれ表されている。これらの情報は、一の販売機識別子と、収容されているコラムのコラム番号(コラム識別子)に対応付けられている。なお、これらのほか、自動販売機700が設置されているロケーション、型式、前回補充日、所有者を示す情報等、各自動販売機700に関する情報が、販売機識別子に対応付けられて含まれていてもよい。なお、この図は、各情報の対応関係を説明する一例であり、販売機識別子及びコラム識別子に対応する各情報は、このような同一のテーブルに記録されていなくてもよく、例えば別々のテーブルに記録されていてもよい。
図6及び図7のように各種情報が格納されている状態において、処理部140は、例えば、以下のようして、補充数を特定する。なお、図5においては、処理部140により求められる補充数の例が、合わせて示されている。
例えば、販売機識別子が「234569」である自動販売機700について、コラム番号が「2」、「3」、「4」、及び「5」の各コラムの補充数を特定する場面を想定する。図4に示されるように、当該各コラムの単位数は、いずれも「4」である。また、これらの売切到達予想期間は図5に示されるようであり、ここでは、当該自動販売機700における全コラムの中で、コラム番号「5」のコラムの売切到達予想期間の値が最も小さいものであるとする。ここで示す例においては、補充数取得部151は、各コラムの中で売切到達予想期間の値が最も小さいコラムについて、最大商品数と在庫数との差と同じ数を補充数とするように構成されているものとする。
コラム番号「2」のコラムは、最大商品数が「20」であり、在庫数は「13」である。このコラムは、売切時期情報が予め決められた条件を満たしていない(売切到達予想期間の値が最も小さいコラムであるという条件を満たしていない)。そうすると、補充数取得部151は、単位数「4」の倍数であって最大商品数と在庫数との差「7」以下である倍数のうち、最も大きい「4」を補充数とする。
コラム番号「3」のコラムは、最大商品数が「20」であり、在庫数は「5」である。このコラムは、売切時期情報が予め決められた条件を満たしていない。そうすると、補充数取得部151は、単位数「4」の倍数であって最大商品数と在庫数との差「15」以下である倍数のうち、最も大きい「12」を補充数とする。
コラム番号「4」のコラムは、最大商品数が「20」であり、在庫数は「8」である。このコラムは、売切時期情報が予め決められた条件を満たしていない。そうすると、補充数取得部151は、単位数「4」の倍数であって最大商品数と在庫数との差「12」以下である倍数のうち、最も大きい「12」を補充数とする。
コラム番号「5」のコラムは、最大商品数が「18」であり、在庫数は「3」である。このコラムは、売切時期情報が予め決められた条件を満たしている(売切到達予想期間の値が最も小さいコラムであるという条件を満たしている)。そうすると、補充数取得部151は、単位数「4」の倍数ではなくても、最大商品数と在庫数との差「15」を補充数とする。
このように各コラムの補充数が特定された場合、補充数情報が、例えば以下のように出力されうる。ここでは、出力情報は、情報処理装置100からユーザが使用する端末装置600に送信され、端末装置600の端末出力部660により、出力情報を用いた画面がディスプレイに表示される例について説明する。なお、出力情報は、用紙に印刷されて出力されたり、情報処理装置100に接続されたディスプレイに出力されるようにしてもよい。
図8は、同端末装置600に表示される補充数表示画面1010の一例を示す図である。
図8に示されるように、補充数表示画面1010は、ユーザの作業対象となる自動販売機700毎に、その自動販売機700の各コラムと、特定された補充数とを対応付けて示す画面である。すなわち、補充数表示画面1010において、自動販売機700のコラム毎に、コラムに対応する商品や在庫数等の状態情報1011と、売切時期情報1012と、補充数1013とが対応付けられて表示される。ユーザは、各コラムについて、商品と補充数とを確認し、それぞれの商品のケースから補充数の商品を取り出して、コラムに投入する補充作業を行うことができる。
以上説明したように、本実施の形態によれば、補充数情報が出力されることにより、ユーザは、単位数の倍数に丸められた、自動販売機700の各コラムに補充すべき商品の補充数を確認することができる。したがって、複数のコラムのそれぞれでばらばらの補充数が出力される場合と比較して、容易に、各コラムの補充数を認識することができる。補充用の商品を確保している場所から、各コラムに対応する商品を、容易にピックアップすることができるので、ピックアップ作業を効率的に行うことができる。また、ピックアップした商品を自動販売機700の各コラムに投入する際も、投入する商品の数を容易に把握することができるので、投入作業を効率的に行うことができる。したがって、効果的に、商品の補充作業を行うことができ、作業者であるユーザの負担を軽減することができる。
単位数を、ケースあたりの入数に対応する数字とするなど、商品の段ボールカートン等のケース毎に設定することができる。ケース毎に運搬等される荷姿が採用されている商品等について、単位数を、ケースの一行分(一段分)の商品数とすることにより、ピックアップ作業をさらに容易に行うことができる。すなわち、補充数が単位数の倍数であるので、ケースの取り出し口から見て最も手前の段にある残りの商品の数が、ピックアップ前と、ピックアップが完了した後で、同じ数になることになる。そのため、ユーザは、ケースの取り出し口から見て最も手前の段にある残りの商品の数等を確認することにより、その商品を補充数だけピックアップできたか否かを、直感的に確認することができる。
本実施の形態においては、売切到達予想期間が短い商品については、コラムが満杯となるほどの補充数が出力されるようにすることができる。したがって、多く販売される商品については多く補充して売り切れにくくし、かつ、そうでない商品については効率的に補充作業を行うようにすることで、適切な自動販売機700の管理を効果的に行うことができる。比較的売切到達予想期間が長い商品については、最大商品数と在庫数との差が単位数に達するまで補充をしないようにすることができるので、自動販売機700内に商品が収容される時間を比較的短くすることができ、商品の品質をより確実に維持することができる。
なお、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布してもよい。なお、本実施の形態における、自動販売機管理システム1の情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、在庫情報格納部113と、容量情報格納部115と、単位数格納部117とにアクセス可能なコンピュータで実行されるプログラムであって、当該コンピュータを、2以上のコラムのそれぞれについて、最大商品数と在庫数との差と同じかそれより小さい数であって単位数の倍数である数を特定する補充数情報を取得する補充数取得部と、補充数情報を出力する補充数出力部と、として機能させるための、プログラムである。
(変形例の説明)
なお、上述の実施の形態において、商品情報格納部111に含まれる商品情報は、各商品の1ケースあたりの入数やそれを識別可能な値を、入数に関する情報を示す属性値として含むものであってもよい。例えば、段ボールカートン(ケースの一例)に入れられて扱われる飲料である商品について、段ボールカートン1ケースに含まれる商品の数が入数として用いられてもよい。一般的に、24本入りの商品や、30本入りの商品などがあるところ、「24」「30」や、これを区別しうる所定の符号(例えば、「A」、「B」など)などが属性値として含まれるようにすればよい。
このように入数に関する情報を示す属性値が商品情報に含まれている場合、補充数取得部151は、各商品について、商品情報を用いて、入数の約数である数を単位数として取得するようにしてもよい。より好ましくは、4以上の整数であって入数の約数である数を、単位数として取得するようにしてもよい。取得した単位数は、単位数格納部117に商品識別子又はコラム識別子に対応付けて記憶させることにより、補充数情報の取得に用いることができる。
なお、例えば、入数が24本入りである商品については、単位数を「4」とし、入数が30本入りである商品については、単位数を「5」とすることが可能である。なお、24本入りである商品について単位数を「6」としたり、30本入りである商品について単位数を「6」としたりしてもよい。上述の実施の形態と同様の趣旨で、段ボールカートンの開封方法に応じて、各商品について単位数の取得方法を変更してもよい。
このように、補充数取得部151が、商品が自動販売機700まで運搬される際の荷姿(例えば、ケースの入数や、より小さい包装単位(例えば、「6本パック」などの包装など)における数)に応じて、自動的に単位数を取得する場合においても、上述の実施の形態と同様の効果を得ることができる。
(その他)
上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
上記実施の形態において、一の装置に存在する2以上の構成要素は、物理的に一の媒体で実現されてもよい。
上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい(この場合、分散処理を行う複数の装置により構成されるシステム全体を1つの「装置」として把握することが可能である)。
上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、又は、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、又は長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、又は、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、又は、図示しない読み出し部が行ってもよい。
上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、又は、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、又は、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現されうる。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、又は分散処理を行ってもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものである。
上述の実施の形態においては、情報処理装置が担っている機能を、自動販売機や端末装置が担うようにしてもよい。例えば、自動販売機において当該販売機情報が管理されており、当該販売機情報を端末装置で取得して、端末装置において補充数情報を取得し出力できるようにしてもよい。この場合、端末装置と自動販売機が、ネットワークを通じて通信を行うようにしてもよいし、無線や有線の通信手段を用いて、直接的に通信を行うように構成されていてもよい。
補充数取得部は、各コラムについて、売切到達予想期間が短いほど、大きい値の補充数を特定するように構成されていてもよい。換言すると、各コラムについて、売切到達予想期間が長いほど、小さい補充数を特定するようにしてもよい。このように構成されていることにより、各商品の売り切れが発生することを防止しつつ、商品が自動販売機に収容されている期間のばらつきを低減させることができる。
上述の実施の形態の構成そのものに限られず、上述の実施の形態のそれぞれの構成要素について、適宜、他の構成要素と置換したり他の構成要素を組み合わせたりしてもよい。また、上述の実施の形態のうち、一部の構成要素や機能が省略されていてもよい。