JP2023066112A - 情報処理装置、システム、及び、方法 - Google Patents

情報処理装置、システム、及び、方法 Download PDF

Info

Publication number
JP2023066112A
JP2023066112A JP2021176629A JP2021176629A JP2023066112A JP 2023066112 A JP2023066112 A JP 2023066112A JP 2021176629 A JP2021176629 A JP 2021176629A JP 2021176629 A JP2021176629 A JP 2021176629A JP 2023066112 A JP2023066112 A JP 2023066112A
Authority
JP
Japan
Prior art keywords
product
user
information processing
ordered
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021176629A
Other languages
English (en)
Other versions
JP7305724B2 (ja
Inventor
敏明 田爪
Toshiaki TAZUME
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Group Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rakuten Group Inc filed Critical Rakuten Group Inc
Priority to JP2021176629A priority Critical patent/JP7305724B2/ja
Publication of JP2023066112A publication Critical patent/JP2023066112A/ja
Application granted granted Critical
Publication of JP7305724B2 publication Critical patent/JP7305724B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】移動体の有効利用率の低下を抑制できる情報処理装置、システム、及び、方法を提供する。【解決手段】情報処理装置100は、ユーザが注文した注文商品を移動体に積載した場合に、レコメンド商品を移動体に積載可能であるか否かを判別する判別部140を備える。また、情報処理装置100は、レコメンド商品が積載可能であると判別されると、注文商品とレコメンド商品とを積載した移動体に、注文商品の配送先まで移動させる移動制御を行う制御部110を備える。【選択図】図3

Description

本発明は、情報処理装置、システム、及び、方法に関する。
従来、無人運送車を含む移動体に、商品を配送させるシステムが知られている(例えば、特許文献1)。
特開2019-074926号公報
しかし、特許文献1のシステムでは、注文された商品である注文商品を移動体に積載した場合に、注文商品と異なる商品を積載可能であっても、注文商品と異なる商品を積載せずに、移動体を注文商品の配送先へ移動させていた。このため、特許文献1のシステムでは、移動体の有効利用率の低下を抑制できないという問題があった。
そこで、本発明は、このような点に鑑み、その目的とするところは、移動体の有効利用率の低下を抑制できる情報処理装置、システム、及び、方法を提供することにある。
上記目的を達成するため、本発明の第1の観点に係る情報処理装置は、
ユーザが注文した注文商品を移動体に積載した場合に、レコメンド商品を前記移動体に積載可能であるか否かを判別する判別部と、
前記レコメンド商品が積載可能であると判別されると、前記注文商品と前記レコメンド商品とを積載した前記移動体に、前記注文商品の配送先まで移動させる移動制御を行う制御部と、
を備える。
本発明に係る情報処理装置、システム、及び、方法によれば、移動体の有効利用率の低下を抑制できる。
本発明の実施例に係る情報処理システムの一構成例を表すシステム構成図である。 情報処理装置の一構成例を表すハードウェア構成図である。 情報処理装置が有する機能の一例を表す機能ブロック図である。 情報処理装置が記憶する商品テーブルの一例を表す図である。 情報処理装置が実行する第1注文受付処理の一例を表すフローチャートである。 情報処理装置が記憶するユーザテーブルの一例を表す図である。 情報処理装置が記憶する検索履歴テーブルの一例を表す図である。 情報処理装置が記憶する配送予定テーブルの一例を表す図である。 実施例に係る情報処理装置が実行する移動制御処理の一例を表すフローチャートの前半部である。 実施例に係る情報処理装置が実行する移動制御処理の一例を表すフローチャートの後半部である。 情報処理装置が記憶するレコメンド商品テーブルの一例を表す図である。 実施例に係る情報処理装置が実行するレコメンド商品判別処理の一例を表すフローチャートである。 情報処理装置が実行する第2注文受付処理の一例を表すフローチャートである。 実施例に係る移動体の一外観例を表す外観構成図である。 移動体が備える情報処理装置の一構成例を表すハードウェア構成図である。 移動体が実行する移動処理の一例を表すフローチャートである。 情報処理装置が記憶する出力履歴テーブルの一例を表す図である。 実施例の変形例6に係る情報処理装置が実行するレコメンド商品判別処理の一例を表すフローチャートである。 実施例の変形例7に係る情報処理装置が実行するレコメンド商品判別処理の一例を表すフローチャートである。 実施例の変形例9に係る情報処理装置が実行するレコメンド商品判別処理の一例を表すフローチャートである。 実施例の変形例10に係る情報処理装置が実行するレコメンド商品判別処理の一例を表すフローチャートである。 実施例の変形例13に係る情報処理装置が実行する移動制御処理の一例を表すフローチャートの前半部である。 実施例の変形例13に係る情報処理装置が実行する移動制御処理の一例を表すフローチャートの中間部である。 実施例の変形例13に係る情報処理装置が実行する移動制御処理の一例を表すフローチャートの後半部である。 実施例の変形例21に係る移動体の一外観例を表す外観構成図である。 移動体が備える施錠状態のフックの一例を表す図である。 移動体が備える解錠状態のフックの一例を表す図である。
<実施例>
以下、本発明の実施例について添付図面を参照しつつ説明する。
本発明の実施例に係る情報処理システム1は、電子市場に出店された仮想店舗に対する商品の注文を受け付ける、図1に示すような情報処理装置100と、現実の店舗(以下、実店舗という)の在庫を管理するPOS(Point Of Sale)システム200と、を備える。
本実施例では、実店舗で保管されている商品の在庫は、実店舗だけでなく、仮想店舗でも販売される。また、本実施例では、仮想店舗に対する商品の注文は、当該商品の販売を求める販売要求と、当該商品の配送を求める配送要求と、を含んでいる。このため、情報処理システム1は、仮想店舗に対する注文に基づいて販売された実店舗の商品の在庫を積載して移動することで、実店舗から配送先まで商品を配送する移動体600を備える。また、情報処理システム1は、不図示のユーザU1の操作に従って、仮想店舗に対する注文の受け付けを求める注文受付要求を、情報処理装置100へ送信する端末装置800を備える。
本実施例では、1回の注文で、3個以下の商品の販売と配送とが求められる場合を具体例として挙げて以下の説明を行う。1回の注文で3個以下の商品の販売と配送とが求められるのは、本実施例では、移動体600は、商品を格納する3つの格納ボックス621から623を備え、当該3つの格納ボックス621から623には、それぞれ1つの商品が格納されるためである。
情報処理装置100は、例えば、サーバ機であり、例えば、実店舗のバックヤードに設置されている。情報処理装置100は、ハードウェアである、図2に表すようなCPU(Central Processing Unit)101、RAM(Random Access Memory)102、ROM(Read Only Memory)103a、ハードディスク103b、データ通信回路104、ビデオカード105a、表示装置105b、及び、入力装置105cを備える。情報処理装置100は、複数のCPUを備えても良いし、複数のRAM及びフラッシュメモリを備えても良い。
情報処理装置100のCPU101は、ROM103a又はハードディスク103bに保存されたプログラムを実行することで、情報処理装置100の全体制御を行う。RAM102は、CPU101によるプログラムの実行時において、処理対象とされるデータを一時的に記憶する。ROM103a及びハードディスク103bは、各種のプログラムと、プログラムの実行に用いられる各種のデータ及びデータが保存されたテーブルと、を記憶している。
情報処理装置100のデータ通信回路104は、第1データ通信回路104aと、第2データ通信回路104bと、を含む。第1データ通信回路104aは、NIC(Network Interface Card)であり、例えば、TCP(Transmission Control Protocol)/IP(Internet Protocol)を含む通信規格に従って、例えば、LAN(Local Area Network)である第1通信網LNに接続されたPOSシステム200とデータ通信を行う。
情報処理装置100の第2データ通信回路104bは、NICであり、例えば、LTE(Long Term Evolution)及び5G(5th Generation)を含む通信規格に従って、例えば、インターネットである第2通信網INに接続された不図示の基地局と電波を用いてデータ通信を行う。これにより、情報処理装置100の第2データ通信回路104bは、第2通信網INに接続された移動体600及び端末装置800とデータ通信を行う。
情報処理装置100のビデオカード105aは、CPU101から出力されたデジタル信号に基づいて画像をレンダリングすると共に、レンダリングされた画像を表す画像信号を出力する。表示装置105bは、EL(Electroluminescence)ディスプレイ、PDP(Plasma Display Panel)、又は、LCD(Liquid Crystal Display)であり、ビデオカード105aから出力された画像信号に従って画像を表示する。入力装置105cは、キーボード、マウス、タッチパッド、及び、ボタンのいずれか1つ以上であり、仮想店舗及び実店舗を経営する企業の従業員の操作に応じた信号を出力する。
情報処理装置100のCPU101は、起動すると、実店舗に在る商品の在庫数を問い合わせる不図示の在庫問合処理の実行を、例えば、1時間といった更新間隔で繰り返す。これにより、CPU101は、実店舗の在庫数を問い合わせる在庫問合をPOSシステム200へ送信させる制御を第1データ通信回路104aに行う、図3に示すような制御部110として機能する。また、CPU101は、POSシステム200から受信された実店舗の在庫数を表す情報を第1データ通信回路104aから取得する取得部120と、取得された実店舗の在庫数を表す情報に基づいて、仮想店舗が販売可能な商品の在庫数を表す情報をハードディスク103bに保存する保存部130として機能する。
情報処理装置100のハードディスク103bは、各種の情報を記憶する情報記憶部190として機能する。情報記憶部190は、商品に関する情報が予め保存されている、図4に示すような商品テーブルを予め記憶している。商品テーブルには、複数のレコードが予め保存されている。商品テーブルの各レコードには、商品を識別する商品番号と、当該商品の名称を表す情報と、当該商品が記載されたウェブ頁の所在を表すURL(Uniform Resource Locator)と、当該商品が属するジャンルを表す情報と、仮想店舗が販売可能な当該商品の在庫数を表す情報と、当該商品の価格を表す情報と、が予め対応付けられて保存されている。
本実施例では、商品の商品番号は、実店舗及び仮想店舗で販売される商品を識別する番号であり、かつ、実店舗及び仮想店舗を経営する企業が当該商品に割り当てた番号である。また、本実施例では、商品のウェブ頁には、当該商品を説明する説明文、当該商品の画像、及び、当該商品の値段の少なくとも1つと、例えば、ボタン又はリンクである、当該商品の注文に用いられるオブジェクトと、が掲載されている。さらに、本実施例では、商品のジャンルは、当該商品の種類である。
本実施例では、商品テーブルの1番目のレコードに、不図示の商品G1の商品番号「G1」と、名称「秋田のお米」を表す情報と、URL「./G1.html」と、ジャンル「米」を表す情報と、仮想店舗が販売可能な在庫数を表す情報と、価格「1,000」円を表す情報と、が対応付けられて保存されている。また、本実施例では、商品テーブルの2番目のレコードに、不図示の商品G2の商品番号「G2」と、名称「新潟のお米」を表す情報と、URL「./G2.html」と、ジャンル「米」を表す情報と、在庫数を表す情報と、価格「2,000円」を表す情報と、が対応付けられて保存されている。さらに、本実施例では、商品テーブルの3番目のレコードに、不図示の商品G3の商品番号「G3」と、名称「とれたて卵」を表す情報と、URL「./G3.html」と、ジャンル「卵」を表す情報と、在庫数を表す情報と、価格「300円」を表す情報と、が対応付けられて保存されている場合を具体例として挙げて以下の説明を行う。
不図示の在庫問合処理の実行が開始されると、情報処理装置100の取得部120は、図4の商品テーブルから、1又は複数のレコードを取得する。次に、制御部110は、取得された1又は複数のレコードの内で、未注目のレコードが存在するか否かを判別する処理を実行する。このとき、制御部110は、未注目のレコードが存在すると判別すると、未注目のレコードの1つに注目する。本実施例では、商品テーブルの1番目のレコードが注目された場合を具体例として挙げて以下の説明を行う。
次に、情報処理装置100の制御部110は、注目したレコード(以下、注目レコードという)に保存された商品番号「G1」を含み、かつ、当該商品番号「G1」で識別される商品G1の実店舗における在庫数を問い合わせる在庫問合を、POSシステム200を宛先として第1データ通信回路104aへ出力する。その後、第1データ通信回路104aは、在庫問合をPOSシステム200へ送信する。
その後、情報処理装置100の第1データ通信回路104aが、商品G1の商品番号「G1」と、商品G1の実店舗における在庫数を表す情報と、をPOSシステム200から受信すると、取得部120は、受信された商品番号「G1」と在庫数を表す情報とを取得する。本実施例では、POSシステム200が、商品番号「G1」と、在庫数「10」を表す情報と、を返信する場合を具体例として挙げて以下の説明を行う。このため、取得部120は、商品番号「G1」と、在庫数「10」を表す情報と、を取得する。
次に、情報処理装置100の取得部120は、取得された商品番号「G1」と対応付けて情報記憶部190が予め記憶する安全在庫数を表す情報を取得する。本実施例において、商品番号「G1」に対応付けられた安全在庫数は、例えば、更新間隔において商品G1が過去に販売された数の平均値「10」個に予め設定されている。しかし、これに限定される訳では無く、安全在庫数は、「10」個よりも多くとも少なくとも良い。また、安全在庫数は、例えば、更新間隔において過去に販売された商品G1の数の中央値に予め設定されていても良い。さらに、好適な安全在庫数は、当業者が実験により定めることができる。
その後、情報処理装置100の制御部110は、取得された情報で表される実店舗の在庫数「10」個から、取得された情報で表される安全在庫数「10」個を減算することで、仮想店舗で販売可能な在庫数「0」個を算出する。次に、保存部130は、図4の商品テーブルにおいて、取得された商品番号「G1」に対応付けられた在庫数を表す情報を、算出された在庫数「0」個を表す情報に変更することで、在庫数を表す情報を更新する。
その後、情報処理装置100は、未注目のレコードが存在するか否かを判別する処理から上記処理を繰り返す。本実施例では、図4の商品テーブルの2番目のレコードにおいて、商品番号「G2」に対応付けられた在庫数を表す情報が、在庫数「20」個を表す情報に変更され、3番目のレコードにおいて、商品番号「G3」に対応付けられた在庫数を表す情報が、在庫数「30」個を表す情報に変更される場合を具体例として挙げて以下の説明を行う。
その後、未注目のレコードが存在するか否かを判別する処理において、情報処理装置100の制御部110は、未注目のレコードが存在しないと判別すると、在庫問合処理の実行を終了する。
仮想店舗で商品を購入するために、端末装置800のユーザU1が、仮想店舗に対する商品の注文に用いられるアプリケーション(以下、注文アプリという)を実行させるための操作を端末装置800に行うと、端末装置800は、当該操作に従って注文アプリの実行を開始する。その後、端末装置800は、ユーザU1の操作に従って、ユーザU1のユーザID(IDentification)「U1」とパスワードを表す情報とを含む認証情報を含み、かつ、ユーザ認証を行うことを求める認証要求を情報処理装置100へ送信する。情報処理装置100の第2データ通信回路104bが認証要求を端末装置800から受信すると、情報処理装置100のCPU101は、認証要求に基づいてユーザ認証を行い、ユーザ認証が成功した場合に商品の注文を受け付ける、図5に示すような第1注文受付処理を実行する。
情報処理装置100のCPU101は、第1注文受付処理を実行することで、認証要求に基づく認証が成功したか否かを判別する、図3に示すような判別部140として機能する。情報記憶部190は、注文を行うユーザに関する情報が保存されている、図6に示すようなユーザテーブルを予め記憶している。ユーザテーブルには、複数のレコードが予め保存されている。ユーザテーブルの各レコードには、ユーザを識別するユーザIDと、当該ユーザが予め指定したパスワードを表す情報と、当該ユーザが予め指定した配送先の位置を緯度、経度、及び、高度で表す位置情報と、当該ユーザが金銭の支払いに用いる支払情報と、が予め対応付けられて保存されている。本実施例では、支払情報は、ユーザが金銭の支払いに用いるクレジットカードのカード番号を表す情報と、当該クレジットカードの有効期限を表す情報と、当該ユーザの氏名を表す情報と、の少なくとも1つを含むが、これに限定される訳では無い。
情報処理装置100の情報記憶部190は、第1注文受付処理の実行によって、ウェブ頁の検索履歴に関する情報が保存される、図7に示すような検索履歴テーブルを予め記憶している。検索履歴テーブルには、1又は複数のレコードが保存される。検索履歴テーブルの各レコードには、検索が行われた日時(以下、検索日時という)を表す情報と、検索を依頼したユーザのユーザIDと、検索に用いられたキーワードを表す情報と、検索された商品を識別する商品番号と、検索日時における当該商品の売切フラグと、が対応付けられて保存される。検索日時における商品の売切フラグは、検索日時において当該商品が仮想店舗で売り切れの商品(以下、売切商品という)であったか否かを表すフラグである。検索日時において当該商品が売切商品であったとは、検索日時において仮想店舗が販売可能な当該商品の在庫が無かったことを意味する。
また、情報処理装置100の情報記憶部190は、注文された商品の配送予定に関する情報が保存される、図8に示すような配送予定テーブルを予め記憶している。配送予定テーブルには、1又は複数のレコードが保存される。配送予定テーブルの各レコードには、注文された商品の配送予定が生成された日時(以下、予定生成日時という)を表す情報と、注文を行ったユーザのユーザIDと、注文された商品の商品番号と、移動体600が備える格納ボックス621から623の内で、当該商品が格納されるボックスとして選択された格納ボックスを識別するボックスIDと、当該商品の配送先を表す情報と、実店舗から当該配送先へ到る移動経路を表す情報と、が対応付けられて保存される。本実施例において、商品の配送先は、当該商品を注文したユーザによって予め設定された位置である。また、本実施例では、説明を簡単にするため、予定生成日時は、注文が受け付けられた日時(以下、注文受付日時という)と同じ日時であるとして以下の説明を行う。
図5の第1注文受付処理の実行が開始されると、情報処理装置100の取得部120は、ユーザU1が使用する端末装置800から受信された認証要求を、第2データ通信回路104bから取得する(ステップS01)。次に、取得部120は、取得された認証要求から、認証を受けるユーザU1のユーザID「U1」と、ユーザU1のパスワードを表す情報と、を含む認証情報を取得する。その後、取得部120は、図6のユーザテーブルから、認証情報に含まれるユーザID「U1」と対応付けられたパスワードを表す情報を取得する。
その後、情報処理装置100の制御部110は、認証要求に含まれる情報で表されるパスワードと、ユーザテーブルから取得された情報で表されるパスワードと、に基づいて、ユーザ認証を行う。このとき、制御部110は、これらのパスワードが一致しないと、ユーザ認証が失敗したと判別し(ステップS02;No)、第1注文受付処理の実行を終了する。
これに対して、情報処理装置100の制御部110は、これらのパスワードが一致すると、ユーザ認証が成功したと判別し(ステップS02;Yes)、認証が成功したことを告げる認証成功報告を、端末装置800を宛先として第2データ通信回路104bに出力する。その後、情報処理装置100の第2データ通信回路104bは、認証成功報告を端末装置800へ送信する。
端末装置800は、認証成功報告を受信して表示する。認証成功報告を視認したユーザU1は、商品を検索するために用いられるキーワードを入力する操作を端末装置800に行い、端末装置800は、当該操作に従ってキーワードを表す情報を含み、かつ、当該キーワードに従って検索を行うことを求める検索要求を情報処理装置100へ送信する。本実施例では、ユーザU1は、商品G1を注文するため、商品G1の商品番号「G1」をキーワードとして入力する操作を端末装置800に行う場合を具体例として挙げて以下の説明を行う。このため、本実施例では、キーワード「G1」を表す情報を含む検索要求が送信される。
ステップS02の処理を実行した後、情報処理装置100の取得部120は、第2データ通信回路104bからの終了通知の取得を試行する。終了通知は、端末装置800から受信される通知であり、かつ、注文アプリの実行を終了することを知らせる通知である。次に、判別部140は、終了通知を取得したか否かを判別し(ステップS03)、終了通知が取得されなかったと判別する(ステップS03;No)。次に、取得部120は、第2データ通信回路104bからの検索要求の取得を試行する。その後、判別部140は、検索要求が取得されたか否かを判別し(ステップS04)、検索要求が取得されたと判別する(ステップS04;Yes)。
その後、情報処理装置100の取得部120は、検索要求に含まれるキーワード「G1」を表す情報を取得する(ステップS05)。次に、取得部120は、キーワード「G1」に基づく、図4の商品テーブルの検索を行うことで、商品テーブルから、キーワード「G1」と同じ商品番号、又は、キーワード「G1」と同じ、若しくは、キーワード「G1」を含むジャンル若しくは名称を表す情報が保存されているレコードを取得することを試行する。これにより、取得部120は、商品番号「G1」が保存されている1番目のレコードを取得する。
次に、情報処理装置100の取得部120は、例えば、OS(Operating System)が管理するシステム日時を、検索日時として取得する。本実施例では、検索日時として「2021年01月01日00時01分00秒(以下、「01日00時01分」という)」が取得された場合を具体例として挙げて以下の説明を行う。
次に、情報処理装置100の判別部140は、検索により取得された1番目のレコードに保存されている情報で表される在庫数が「0」個であるため、1番目のレコードに保存されている商品番号「G1」で識別される商品G1の在庫であり、かつ、仮想店舗が販売可能な在庫が、検索日時「01日00時01分」において、存在しないと判別する。このため、判別部140は、検索日時「01日00時01分」において、商品G1が売切商品であると判別する。
その後、情報処理装置100の制御部110は、検索日時「01日00時01分」を表す情報と、検索を要求したユーザU1のユーザID「U1」と、検索に用いられたキーワード「G1」を表す情報と、検索された商品G1の商品番号「G1」と、検索日時「01日00時01分」において商品G1が売切商品であったこと表す売切フラグ「true」と、を対応付けることで、検索履歴を表す情報を生成する。次に、保存部130は、図7の検索履歴テーブルに、1番目のレコードを追加し、追加されたレコードに、生成された検索履歴を表す情報を保存する(ステップS06)。
その後、情報処理装置100の制御部110は、キーワード「G1」に基づいて取得された商品テーブルの1番目のレコードに保存されている情報を、検索結果を表す情報として、第2データ通信回路104bへ端末装置800を宛先として出力する(ステップS07)。1番目のレコードには、商品G1の商品番号「G1」、名称「秋田のお米」を表す情報、ジャンル「お米」を表す情報、及び、在庫数「0」個を表す情報等が保存されている。次に、情報処理装置100の第2データ通信回路104bは、検索結果を表す情報を端末装置800へ送信する。その後、情報処理装置100は、ステップS03から上記処理を繰り返す。
端末装置800は、検索結果を表す情報を受信して表示する。本実施例では、検索結果を視認したユーザU1が、注文しようとした商品G1の在庫数が「0」個であることを認識し、商品G1の注文を断念する場合を具体例として挙げて以下の説明を行う。また、本実施例では、商品G1の注文を断念したユーザU1が、「とれたて卵」という名称の商品G3を注文するために、キーワード「とれたて卵」を入力する操作を端末装置800に行い、端末装置800は、当該操作に従って、キーワード「とれたて卵」を表す情報を含む検索要求を送信する場合を具体例として挙げて以下の説明を行う。
情報処理装置100は、ステップS03からS07の処理を実行することで、キーワード「とれたて卵」に基づく検索を行い、検索履歴を表す情報を保存し、検索結果を表す情報を端末装置800へ送信する。その後、情報処理装置100は、ステップS03から上記処理を繰り返す。
キーワード「とれたて卵」に基づく検索では、図4の商品テーブルから、キーワード「とれたて卵」と一致する名称を表す情報が保存されている3番目のレコードが取得される。本実施例では、キーワード「とれたて卵」に基づく検索が行われた日時が「01日00時03分」であるとして以下の説明を行う。このため、キーワード「とれたて卵」に基づく検索履歴は、検索日時「01日00時03分」を表す情報と、ユーザID「U1」と、キーワード「とれたて卵」を表す情報と、商品テーブルの3番目のレコードに保存されている商品番号「G3」と、商品G3の売切フラグ「false」と、を含む。商品G3の売切フラグの値が「false」であるのは、3番目のレコードには、商品G3の商品番号「G3」と、在庫数「30」個を表す情報と、が保存されているため、検索日時「01日00時03分」において、商品G3の仮想店舗で販売可能な在庫が存在すると判別されるからである。すなわち、商品G3は、検索日時「01日00時03分」において、仮想店舗の売切商品でないと判別される。
キーワード「とれたて卵」に基づく検索結果を表す情報は、キーワード「とれたて卵」に基づいて検索された、商品テーブルの3番目のレコードに保存されている商品G3の名称「とれたて卵」を表す情報、在庫数「30」個を表す情報、及び、ウェブ頁のURL「./G3.html」等を含む。
端末装置800は、検索結果を表す情報を受信して表示する。本実施例では、検索結果を視認したユーザU1が、商品G3を注文するために、商品G3のウェブ頁を送信させるための操作を端末装置800に行う場合を具体例として挙げて以下の説明を行う。このため、端末装置800は、当該操作に従って、URL「./G3.html」を含み、かつ、当該URL「./G3.html」に在るウェブ頁を送信するように求める頁送信要求を情報処理装置100へ送信する。
情報処理装置100は、ステップS03の処理を実行した後に、検索要求を取得しなかったと判別する(ステップS04;No)。次に、情報処理装置100の取得部120は、第2データ通信回路104bからの頁送信要求の取得を試行し、判別部140は、頁送信要求が取得されたと判別する(ステップS08;Yes)。その後、取得部120は、取得された頁送信要求からURL「./G3.html」を取得する(ステップS09)。
次に、情報処理装置100の取得部120は、取得されたURLに在る商品G3のウェブ頁を情報記憶部190から取得する。その後、判別部140は、図4の商品テーブルにおいて、取得されたURLと対応付けられている情報で表される在庫数が「30」個であるため、商品G3が売切商品でないと判別する。このため、制御部110は、取得されたウェブ頁に含まれる、商品G3の注文に用いられるオブジェクトの状態を選択可能な状態に変更した後、当該ウェブ頁を、端末装置800を宛先として第2データ通信回路104bへ出力する(ステップS10)。その後、情報処理装置100の第2データ通信回路104bが端末装置800へ商品G3のウェブ頁を送信した後に、情報処理装置100は、ステップS03から上記処理を繰り返す。
端末装置800は、商品G3のウェブ頁を受信して表示する。当該ウェブ頁を視認したユーザU1は、商品G3を注文するため、ウェブ頁に含まれるオブジェクトを選択する操作を端末装置800に行う。端末装置800は、ユーザU1の当該操作に応じて、商品G3の商品番号「G3」を含み、かつ、商品G3の注文を受け付けることを求める注文受付要求を情報処理装置100へ送信する。
情報処理装置100は、ステップS03及びS04の処理を実行した後に、頁送信要求を取得しなかったと判別する(ステップS08;No)。次に、情報処理装置100の取得部120は、第2データ通信回路104bからの注文受付要求の取得を試行し、判別部140は、注文受付要求が取得されたと判別する(ステップS11;Yes)。次に、取得部120は、ユーザU1によって注文された商品G3の商品番号「G3」を注文受付要求から取得する。
その後、情報処理装置100の制御部110は、注文受付要求に従って、ユーザU1による注文を受け付ける(ステップS12)。すなわち、情報処理装置100は、商品G3をユーザU1に販売することを求める販売要求と、商品G3をユーザU1の配送先へ配送することを求める配送要求と、を受け付ける。
次に、情報処理装置100の取得部120は、図4の商品テーブルから、注文された商品(以下、注文商品という)G3の商品番号「G3」に対応付けられた価格「300」円を表す情報を取得する。その後、制御部110は、取得された価格「300」円を表す情報に基づいて、ユーザU1の支払金額を算出する。その後、取得部120は、図6のユーザテーブルから、注文を行ったユーザU1のユーザID「U1」に対応付けられた支払情報を取得し、情報記憶部190が予め記憶する決済サーバのURLを表す情報を取得する。次に、制御部110は、取得された支払情報に基づいて、算出された金額を決済する決済処理を実行する(ステップS13)。このために、制御部110は、算出された支払金額を表す情報と、取得された支払情報と、を含み、かつ、当該支払情報を用いて当該支払金額を決済することを求める決済要求を、取得された決済サーバのURLを宛先として、第2データ通信回路104bへ出力する。
情報処理装置100の第2データ通信回路104bが決済要求を送信してから、予め定められた時間が経過する以前に、決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信すると、判別部140は、決済が完了したと判別する(ステップS14;Yes)。
次に、情報処理装置100の取得部120は、図4の商品テーブルから、注文商品G3の商品番号「G3」と対応付けられている、仮想店舗が販売可能な在庫数を表す情報を取得する。その後、制御部110は、取得された情報で表される在庫数を値「1」だけ減算し、保存部130は、商品番号「G3」と対応付けられている当該情報を、減算後の在庫数を表す情報に変更する(ステップS15)。次に、制御部110は、注文商品G3の商品番号「G3」を含み、かつ、注文商品G3が販売されたことを告げる販売報告を、POSシステム200を宛先として第1データ通信回路104aへ出力する。その後、情報処理装置100の第1データ通信回路104aは、販売報告をPOSシステム200へ送信する。
次に、情報処理装置100の取得部120は、図6のユーザテーブルから、注文を行ったユーザU1のユーザID「U1」と対応付けられた、不図示の配送先の位置D1を表す位置情報を取得する。その後、制御部110は、注文商品G3の配送元である、不図示の実店舗の位置Sから、注文商品G3の配送先の位置D1に到る不図示の移動経路PSD1を決定する(ステップS16)。
このために、情報処理装置100の取得部120は、情報記憶部190が予め記憶している部分経路テーブルから複数のレコードを読み出す。部分経路テーブルには、例えば、道路、河原、又は、公園といった移動体600が移動可能な部分経路に関する情報が保存された複数のレコードが予め保存されている。部分経路テーブルの各レコードには、部分経路であるエッジの始点ノードの緯度、経度、及び、高度と、当該エッジの終点ノードの緯度、経度、及び、高度と、当該エッジの距離を表す情報と、が対応付けられて予め保存されている。
次に、情報処理装置100の取得部120は、情報記憶部190が予め記憶している配送元の位置Sを緯度、経度、及び、高度で表す位置情報を取得する。その後、制御部110は、読み出された部分経路テーブルの各レコードに保存されているエッジの距離と、当該エッジの始点ノード及び終点ノードの緯度、経度、及び、高度と、配送元の位置S及び配送先の位置D1の緯度、経度、及び、高度と、を用いて、例えば、ダイクストラ法といった公知の経路探索アルゴリズムを実行する。
これにより、情報処理装置100の制御部110は、部分経路を組み合わせることで、配送元の位置Sから配送先の位置D1へ到る最短の全体経路を、注文商品G3を配送するために移動体600が移動する移動経路PSD1に決定し、決定された移動経路PSD1を表す情報を生成する。移動経路PSD1を表す情報には、移動経路PSD1に含まれる複数のノードの位置を緯度、経度、及び、高度で表す位置情報と、複数のノードの到着順を表す情報と、が含まれている。
その後、情報処理装置100の制御部110は、移動体600が備える格納ボックス621から623の内から、注文商品G3を格納させる格納ボックスを1つ、予め定められた規則又はソフトウェア乱数に基づいて選択する。本実施例では、注文商品G3を格納させる格納ボックスとして、ボックスID「B3」で識別される格納ボックス623が選択された場合を具体例として挙げて以下の説明を行う。
次に、情報処理装置100の制御部110は、移動体600に、ユーザU1によって注文された注文商品G3を、格納ボックス623に格納させ、ユーザU1によって予め指定された配送先の位置D1へ、移動経路PSD1を移動させることで、注文商品G3を配送先の位置D1へ配送させる、という配送予定を表す情報を生成する。このために、制御部110は、注文を行ったユーザU1のユーザID「U1」と、注文商品G3の商品番号「G3」と、注文商品G3を格納させる移動体600の格納ボックス623を識別するボックスID「B3」と、注文商品G3の配送先の位置D1を表す位置情報と、注文商品G3の配送元の位置Sから配送先の位置D1に到る移動経路PSD1を表す情報と、を対応付けることで、注文商品G3の配送予定を表す情報を生成する。次に、取得部120は、例えば、OSが管理するシステム日時を、注文受付日時及び予定生成日時として取得する。
本実施例では、注文受付日時及び予定生成日時として、「2021年01月01日00時05分00秒(以下、「01日00時05分」という)」が取得された場合を具体例として挙げて以下の説明を行う。その後、保存部130は、図8の配送予定テーブルに、取得された注文受付日時及び予定生成日時「01日00時05分」を表す情報と、生成された配送予定を表す情報と、を対応付けて保存する(ステップS17)。その後、情報処理装置100は、ステップS03から上記処理を繰り返す。
ステップS03において、情報処理装置100の判別部140は、終了通知が取得されたと判別すると(ステップS03;Yes)、第1注文受付処理の実行を終了する。
情報処理装置100のCPU101は、起動すると、第1注文受付処理の実行によって生成された配送予定に従って、移動体600に商品を配送させるため、図9及び図10に示すような移動制御処理を実行する。
情報処理装置100の情報記憶部190は、移動制御処理の実行によって、レコメンド商品に関する情報が保存される、図11に示すようなレコメンド商品テーブルを予め記憶している。本実施例では、レコメンド商品は、注文商品G3を注文したユーザU1に対して注文を勧める商品である。本実施例では、ユーザU1のレコメンド商品は、ユーザU1が注文しようとした商品(以下、注文試行商品という)であり、ユーザU1が注文しようとした時点(以下、注文試行時点という)で売り切れであった商品であり、かつ、注文商品G3の代替商品と異なる商品である。本実施例では、注文商品G3の代替商品は、商品G3が属するジャンル「卵」に属する商品であり、かつ、商品G3と異なる商品である。
レコメンド商品テーブルには、1又は複数のレコードが保存される。レコメンド商品テーブルの各レコードには、レコメンド商品に関する情報が保存される。レコメンド商品に関する情報は、レコメンド商品を識別する商品番号と、当該レコメンド商品の注文が勧められるユーザのユーザIDと、格納ボックス621から623の内で当該レコメンド商品を格納させるボックスとして選択された格納ボックスのボックスIDと、レコメンド商品の代金の決済が完了しているか否かを表す決済フラグと、が対応付けられた情報である。
移動制御処理の実行が開始されると、情報処理装置100の判別部140は、図8の配送予定テーブルにレコードが保存されているか否かに基づいて、未実行の配送予定が存在するか否かを判別する(ステップS21)。このとき、判別部140は、配送予定テーブルにレコードが保存されていないと判別すると、未実行の配送予定が存在しないと判別し(ステップS21;No)、予め定められた時間に亘ってスリープした後に、ステップS21の処理を繰り返す。
これに対して、情報処理装置100の判別部140は、配送予定テーブルにレコードが保存されていると判別すると、未実行の配送予定が存在すると判別する(ステップS21;Yes)。次に、取得部120は、配送予定テーブルに保存されている1又は複数のレコードの内で、最も早い予定生成日時を表す情報と対応付けられている配送予定を表す情報を取得する(ステップS22)。
本実施例では、ユーザU1のユーザID「U1」と、ユーザU1の注文商品G3を識別する商品番号「G3」と、商品G3が格納される格納ボックス623のボックスID「B3」と、配送先の位置D1を表す位置情報と、配送元の位置Sから配送先の位置D1へ到る移動経路PSD1を表す情報と、を含む、配送予定を表す情報が取得される場合を具体例として挙げて説明する。
次に、情報処理装置100の判別部140は、取得された配送予定を表す情報に注目する。次に、判別部140は、注目された配送予定を表す情報(以下、注目配送予定を表す情報という)で表される注文商品G3を移動体600に積載した場合に、レコメンド商品を移動体600に積載可能であるか否かを判別する(ステップS23)。このために、取得部120は、移動体600が備える格納ボックス621から623をそれぞれ識別するボックスID「B1」から「B3」を情報記憶部190から取得する。次に、判別部140は、取得されたボックスID「B1」から「B3」の内に、注目配送予定を表す情報に含まれているボックスID「B3」と異なるボックスIDが存在するか否かに基づいて、レコメンド商品を移動体600に積載可能であるか否かを判別する。このとき、判別部140は、注目配送予定を表す情報に含まれているボックスID「B3」と異なるボックスID「B1」及び「B2」が存在するため、ボックスID「B1」及び「B2」でそれぞれ識別される格納ボックス621及び622の状態は、商品を格納する予定が無い空き状態であると判別する。このため、判別部140は、空き状態の格納ボックス621及び622にレコメンド商品を積載可能であると判別する(ステップS23;Yes)。
次に、情報処理装置100は、レコメンド商品を判別する、図12に示すようなレコメンド商品判別処理を実行する(ステップS24)。レコメンド商品判別処理の実行を開始すると、情報処理装置100の取得部120は、注文が行われる期間の長さとして、予め定められた注文時間長を表す情報を情報記憶部190から取得する。
次に、情報処理装置100の取得部120は、注目配送予定を表す情報によって表される注文受付日時「01日00時05分」よりも予め定められた時間長「5」分だけ前の「2021年01月01日00時00分00秒」(以下、「01日00時00分」という)から、注文受付日時「01日00時05分」までの注文期間を設定する(ステップS51)。その後、取得部120は、図7の検索履歴テーブルから、「01日00時00分」から「01日00時05分」までの注文期間に含まれる検索日時を表す情報と、注目配送予定を表す情報に含まれるユーザID「U1」と、に対応付けられたキーワードを表す情報を取得する(ステップS52)。これにより、注文期間に含まれる日時に、ユーザU1が行った検索に用いられたキーワードを表す情報が取得される。本実施例では、検索日時「01日00時01分」を表す情報とユーザID「U1」とに対応付けられたキーワード「G1」を表す情報と、検索日時「01日00時03分」を表す情報とユーザID「U1」とに対応付けられたキーワード「とれたて卵」を表す情報と、が取得される。
次に、情報処理装置100の判別部140は、取得されたキーワード「G1」、及び、キーワード「とれたて卵」の全てが未注目のキーワードであると判別し(ステップS53;Yes)、未注目のキーワードの1つに注目する(ステップS54)。本実施例では、キーワード「G1」に注目する場合を具体例として挙げて以下の説明を行う。
次に、情報処理装置100の判別部140は、注目されたキーワード(以下、注目キーワードという)「G1」が商品番号であるか否かを判別する(ステップS55)。このとき、判別部140は、図4の商品テーブルに、注目キーワード「G1」と一致する商品番号「G1」が保存されているため、注目キーワード「G1」が商品番号であると判別する(ステップS55;Yes)。このため、判別部140は、商品番号「G1」で識別される商品G1を、ユーザID「U1」で識別されるユーザU1の注文試行商品であると判別し(ステップS56)、注目キーワード「G1」に基づく検索が行われた検索日時「01日00時01分」を、ユーザU1の注文試行時点と判別する。
次に、情報処理装置100の判別部140は、注文試行時点「01日00時01分」で、当該注文試行商品G1が、仮想店舗の売切商品であったか否かを判別する(ステップS57)。このために、取得部120は、図7の検索履歴テーブルから、注文試行時点「01日00時01分」と同じ検索日時を表す情報と、注文試行商品G1の商品番号「G1」と同じキーワードを表す情報と、に対応付けられた売切フラグを取得する。次に、判別部140は、取得された売切フラグの値が「true」であるため、注文試行時点「01日00時01分」で、注文試行商品G1が売切商品であったと判別する(ステップS57;Yes)。
次に、情報処理装置100の判別部140は、注文試行商品G1が、注文商品G3の代替商品であるか否かを判別する(ステップS58)。本実施例では、注文商品G3の代替商品は、注文商品G3のジャンル「卵」に属する商品であり、かつ、注文商品G3と異なる商品である。このため、取得部120は、図4の商品テーブルにおいて、注文商品G3の商品番号「G3」に対応付けられたジャンル「卵」を表す情報と、注文試行商品G1の商品番号「G1」に対応付けられたジャンル「お米」を表す情報と、を取得する。次に、判別部140は、取得された情報で表される注文商品G3のジャンル「卵」と、注文試行商品G1のジャンル「お米」と、が一致しないため、注文試行商品G1が、注文商品G3の代替商品でないと判別する(ステップS58;No)。
その後、情報処理装置100の判別部140は、注文試行商品G1をレコメンド商品と判別する(ステップS59)。次に、情報処理装置100の制御部110は、移動体600が備える空き状態の格納ボックス621及び622の内で、レコメンド商品G1を格納させる格納ボックスを1つ、予め定められた規則又はソフトウェア乱数に基づいて選択する。本実施例では、格納ボックス621が選択された場合を具体例として挙げて以下の説明を行う。
次に、情報処理装置100の制御部110は、レコメンド商品G1の商品番号「G1」と、レコメンド商品G1の注文が勧められるユーザU1のユーザID「U1」と、レコメンド商品G1が格納される格納ボックス621のボックスID「B1」と、レコメンド商品G1の代金の決済が完了していないことを表す決済フラグ「false」と、を対応付けることで、レコメンド商品に関する情報を生成する。その後、保存部130は、生成されたレコメンド商品に関する情報を、図11のレコメンド商品テーブルに保存する(ステップS60)。次に、情報処理装置100は、レコメンド商品判別処理の実行を終了する。
図9のステップS24でレコメンド商品判別処理が実行された後、情報処理装置100の判別部140は、レコメンド商品と判別された商品が存在するか否かを判別する(ステップS25)。このために、取得部120は、図11のレコメンド商品テーブルから、注文商品G3を注文したユーザU1のユーザID「U1」と対応付けられた商品番号の取得を試行する。このとき、情報処理装置100の判別部140は、商品番号「G1」が取得されるため、レコメンド商品と判別された商品G1が存在すると判別する(ステップS25;Yes)。
次に、情報処理装置100の制御部110は、注文商品G3とレコメンド商品G1との探出及び運搬を指示する(ステップS26)。このために、取得部120は、図4の商品テーブルから、注文商品G3の商品番号「G3」に対応付けられた名称「とれたて卵」を表す情報と、レコメンド商品G1の商品番号「G1」に対応付けられた名称「秋田のお米」を表す情報と、を取得する。その後、制御部110は、注文商品G3の商品番号「G3」及び名称「とれたて卵」を表す情報の少なくとも1つと、レコメンド商品G1の商品番号「G1」及び名称「秋田のお米」を表す情報の少なくとも1つと、を含むメッセージを生成する。当該メッセージは、注文施行時点で売切商品でなかった注文商品G3と、注文施行時点で売切商品であったレコメンド商品G1と、について、仮想店舗のユーザU1に販売可能な在庫を、実店舗から探し出すことを指示するメッセージ(以下、探出指示メッセージという)である。
このような探出指示メッセージが生成させるのは、本実施例において、図4の商品テーブルに保存されている仮想店舗のユーザに販売可能な在庫数(以下、仮想店舗の在庫数という)は、POSシステム200が記憶する情報で表される実店舗に在る在庫数(以下、POSの在庫数という)と必ずしも一致していないためである。商品テーブルの在庫数と、POSの在庫数と、が必ずしも一致していないのは、仮想店舗の在庫数を表す情報は、予め定められた更新間隔で、POSの在庫数を表す情報に基づいて更新されるためである。
仮想店舗の在庫数を表す情報が、予め定められた更新間隔で、更新されるのは、POSの在庫数が変化する度に、仮想店舗の在庫数を表す情報が更新される場合と比べて、POSの在庫数を表す情報を送信するPOSシステム200の計算負荷、及び、POSの在庫数を表す情報に基づいて仮想店舗の在庫数を表す情報を更新する情報処理装置100の計算負荷の増加を抑制するためである。
また、たとえ、仮想店舗の在庫数と、POSシステム200の在庫数と、が一致しているとしても、POSの在庫数と、仮想店舗が販売可能な在庫数と、が必ずしも一致していないからである。例えば、実店舗内の買物客が商品陳列棚から商品を1個手に取って実店舗内のレジスター機に向かっている間、仮想店舗のユーザに販売可能な実店舗の在庫数は、POSの在庫数よりも1個少ないためである。
次に、情報処理装置100の制御部110は、注文商品G3の在庫とレコメンド商品G1の在庫とが探し出された場合、注文商品G3の在庫とレコメンド商品G1の在庫とを移動体600の位置まで運搬すること、及び、注文商品G3の在庫が探し出されたが、レコメンド商品G1の在庫が探し出されない場合、注文商品G3を移動体600の位置まで運搬すること、を指示するメッセージ(以下、運搬指示メッセージという)を生成する。本実施例では、移動体600は、情報処理装置100が設置されている実店舗のバックヤードの位置Sに停車している場合を具体例として挙げて以下の説明を行う。
その後、情報処理装置100の制御部110は、生成された探出指示メッセージと、運搬指示メッセージと、を表示装置105bに表示させる。表示されたメッセージを視認した従業員は、当該メッセージに従って、例えば、実店舗の売り場又はバックヤードの棚から、注文商品G3とレコメンド商品G1との仮想店舗のユーザU1に販売可能な在庫を探し出す。本実施例では、仮想店舗のユーザU1に販売可能な注文商品G3の在庫とレコメンド商品G1との在庫が実店舗で探し出された場合を具体例として挙げて以下の説明を行う。
注文商品G3の在庫とレコメンド商品G1の在庫とを探し出した従業員は、探し出した注文商品G3の在庫とレコメンド商品G1の在庫とを、バックヤードに停車している移動体600の位置Sまで運搬する。次に、従業員は、注文商品G3の在庫とレコメンド商品G1の在庫とが実店舗に存在することを表す信号を出力させる操作を、バックヤードに設置されている情報処理装置100の入力装置105cに行う。
情報処理装置100の入力装置105cが当該操作に応じた信号を出力すると、情報処理装置100の判別部140は、入力装置105cから出力される信号に基づいて、仮想店舗のユーザU1に販売可能な注文商品G3の在庫とレコメンド商品G1の在庫とが実店舗に存在すると判別する(ステップS27;Yes)。
次に、情報処理装置100の制御部110は、注文商品G3とレコメンド商品G1との積載を指示する(ステップS28)。このために、制御部110は、注文商品G3の商品番号「G3」及び名称「とれたて卵」を表す情報の少なくとも1つ、並びに、注目配送予定を表す情報に含まれるボックスID「B3」を含み、かつ、注文商品G3を移動体600の格納ボックス623に積載するように指示するメッセージ(以下、注文商品G3の積載指示メッセージという)を生成する。
次に、情報処理装置100の取得部120は、図11のレコメンド商品テーブルから、注文商品G3を注文したユーザU1のユーザID「U1」と、レコメンド商品G1の商品番号「G1」と、に対応付けられたボックスID「B1」を取得する。その後、制御部110は、レコメンド商品G1の商品番号「G1」及び名称「秋田のお米」を表す情報の少なくとも1つ、並びに、ボックスID「B1」と、を含み、かつ、レコメンド商品G1を格納ボックス621に積載するように指示するメッセージ(以下、レコメンド商品G1の積載指示メッセージという)を生成する。
次に、情報処理装置100の制御部110は、生成された注文商品G3の積載指示メッセージと、レコメンド商品G1の積載指示メッセージと、を表示装置105bに表示させる。表示されたメッセージを視認した従業員は、当該メッセージに従って、注文商品G3を格納ボックス623に格納させ、かつ、レコメンド商品G1を格納ボックス621に格納させる。その後、従業員は、注文商品G3とレコメンド商品G1との積載が終了したことを表す信号を出力させる操作を情報処理装置100の入力装置105cに行う。
情報処理装置100の入力装置105cが当該操作に応じた信号を出力すると、制御部110は、格納ボックスID「B1」及び「B3」を含み、かつ、格納ボックス621及び623の施錠を命じる施錠命令を、移動体600を宛先として第2データ通信回路104bに出力する(ステップS29)。情報処理装置100の第2データ通信回路104bは、施錠命令を移動体600へ送信する。
次に、情報処理装置100の取得部120は、実店舗のバックヤードの位置Sから配送先の位置D1へ到る移動経路PSD1を表す情報を、注目配送予定を表す情報から取得する。その後、制御部110は、移動経路PSD1を表す情報を含み、かつ、当該移動経路PSD1を移動することを命じる移動命令を、移動体600を宛先として第2データ通信回路104bへ出力する(ステップS30)。その後、第2データ通信回路104bは、移動命令を移動体600へ送信する。このようにして、情報処理装置100の制御部110は、注文商品G3とレコメンド商品G1とを積載した移動体600に、注文商品G3の配送先の位置D1まで移動させる移動制御を開始する。
次に、情報処理装置100の取得部120は、第2データ通信回路104bからの到着報告の取得を試行し、判別部140は、到着報告が取得されたか否かを判別する(ステップS31)。当該到着報告は、移動体600から受信される報告であり、かつ、配送先の位置D1に移動体600が到着したことを告げる報告である。このとき、判別部140は、到着報告が取得されなかったと判別すると(ステップS31;No)、予め定められた時間に亘ってスリープしてから、ステップS31の処理を繰り返す。
これに対して、情報処理装置100の判別部140は、到着報告が取得されたと判別すると(ステップS31;Yes)、移動制御が終了したと判別する。次に、取得部120は、図11のレコメンド商品テーブルから、注文商品G3を注文したユーザU1のユーザID「U1」と対応付けられた商品番号の取得を試行する。このとき、判別部140は、商品番号「G1」が取得されたため、移動体600がレコメンド商品G1を積載していると判別する(ステップS32;Yes)。
次に、情報処理装置100は、注文商品G3だけでなくレコメンド商品G1も配送先の位置D1に配送されたことを知らせる配送通知を生成する。このために、取得部120は、位置D1を緯度、経度、及び、高度で表す位置情報と、情報記憶部190が予め対応付けて記憶する住所を表す情報を取得する。その後、制御部110は、配送先の位置D1を住所で表す情報と、注文商品G3の商品番号「G3」及び名称「とれたて卵」を表す情報の少なくとも1つと、レコメンド商品G1の商品番号「G1」及び名称「秋田のお米」を表す情報の少なくとも1つと、を含む配送通知を生成する。
また、情報処理装置100の制御部110は、レコメンド商品G1の商品番号「G1」及び名称「秋田のお米」を表す情報の少なくとも1つを含み、レコメンド商品G1が注文可能であることを知らせる注文可能通知を生成する。さらに、制御部110は、注文可能通知に、例えば、ボタン又はリンクである、レコメンド商品G1の注文に用いられるオブジェクトを追加する。
さらに、情報処理装置100の制御部110は、配送先の位置D1を住所で表す情報と、注文商品G3の商品番号「G3」及び名称「とれたて卵」を表す情報の少なくとも1つ、並びに、ボックスID「B3」と、レコメンド商品G1の商品番号「G1」及び名称「秋田のお米」を表す情報の少なくとも1つ、並びに、ボックスID「B1」と、を含む受取要求を生成する。また、制御部110は、位置D1に到着した移動体600にパスワードを入力して認証を受けることを求めるメッセージを、受取要求に追加する。さらに、制御部110は、レコメンド商品G1を注文せずに認証を成功させた場合に、格納ボックス623から注文商品G3を受け取ることを求めるメッセージを、受取要求に追加する。またさらに、制御部110は、レコメンド商品G1を注文し、レコメンド商品G1の代金の決済を完了させ、かつ、認証を成功させた場合に、格納ボックス623から注文商品G3を受け取り、かつ、格納ボックス621からレコメンド商品G1を受け取ること、を求めるメッセージを、受取要求に追加する。
その後、情報処理装置100の制御部110は、配送通知、注文可能通知、及び、受取要求を、端末装置800を宛先として第2データ通信回路104bへ出力する(ステップS33、S34、及び、S35)。情報処理装置100の第2データ通信回路104bは、出力された配送通知、注文可能通知、及び、受取要求を端末装置800へ送信し、端末装置800は、配送通知、注文可能通知、及び、受取要求を受信して表示する。このようにして、制御部110は、配送通知、注文可能通知、及び、受取要求をユーザU1の端末装置800へ第2データ通信回路104bに送信させる通信制御を行う。
本実施例では、配送通知を視認したユーザU1が、レコメンド商品G1の注文に用いられるオブジェクトを選択する操作を端末装置800に行う場合を具体例として挙げて以下の説明を行う。このため、端末装置800は、当該操作に従って、ユーザU1の認証情報を含む認証要求と、レコメンド商品G1の商品番号「G1」を含む注文受付要求と、を情報処理装置100へ送信する。
情報処理装置100の第2データ通信回路104bが認証要求と注文受付要求とを受信すると、情報処理装置100のCPU101は、認証要求に従って認証を行い、認証が成功すると、注文受付要求に従ってレコメンド商品G1の注文を受け付ける、図13に示すような第2注文受付処理を、図9及び図10の移動制御処理と並列に実行する。このために、CPU101は、移動制御処理を実行するプロセス又はスレッドと異なるプロセス又はスレッドで、第2注文受付処理を実行する。
ここで、移動制御処理の説明を中断して、第2注文受付処理の説明を行う。図13の第2注文受付処理の実行を開始すると、情報処理装置100は、図5のステップS01及びS02と同様の処理を実行する。これにより、情報処理装置100は、認証要求を取得し(ステップS61)、取得された認証情報に基づいてユーザ認証が失敗したと判別すると(ステップS62;No)、第2注文受付処理の実行を終了する。
これに対して、情報処理装置100は、ユーザ認証が成功したと判別すると(ステップS62;Yes)、端末装置800へ認証成功報告を送信する。次に、情報処理装置100の取得部120は、第2データ通信回路104bから注文受付要求を取得する(ステップS63)。その後、情報処理装置100は、図5のステップS12からS14と同様の処理を実行することで、注文受付要求に基づいてレコメンド商品G1の注文を受け付け(ステップS64)、レコメンド商品G1の代金の決済を行い(ステップS65)、決済が完了したか否かを判別する(ステップS66)。
その後、決済が完了したと判別されると(ステップS66;Yes)、情報処理装置100は、図5のステップS15と同様の処理を実行する(ステップS67)。これにより、情報処理装置100は、レコメンド商品G1の商品番号「G1」を含み、かつ、レコメンド商品G1が販売されたことを告げる販売報告を、POSシステム200へ送信する。
次に、情報処理装置100の保存部130は、図11のレコメンド商品テーブルにおいて、注文受付要求に含まれるレコメンド商品G1の商品番号「G1」と、レコメンド商品G1の注文が勧められたユーザU1のユーザID「U1」に対応付けられた決済フラグの値を、レコメンド商品G1の代金の決済が完了していることを表す値「true」に変更することで、決済フラグを更新する(ステップS68)。その後、情報処理装置100は、第2注文受付処理の実行を終了する。
これに対して、決済が完了しなかったと判別されると(ステップS66;No)、情報処理装置100は、レコメンド商品テーブルにおいて、商品番号「G1」とユーザID「U1」に対応付けられた決済フラグの値を、レコメンド商品G1の代金の決済が完了していないことを表す値「false」に維持したまま、第2注文受付処理の実行を終了する。
第2注文受付処理と並列に実行される、図9及び図10の移動制御処理の説明を再開する。図10のステップS35で受取要求が出力されると、情報処理装置100の制御部110は、不図示のハードウェアタイマー又はソフトウェアタイマーを用いて計時を開始する。その後、取得部120は、受渡時間の長さを表す情報を情報記憶部190から取得する。
本実施例において、受渡時間の長さは、過去に観測された時間長であり、かつ、移動体600がユーザU1を含む複数のユーザに商品受け渡すのに要した時間長の平均値「10」分に予め設定されているが、これに限定される訳では無い。受渡時間の長さは、「10」分よりも長くとも短くとも良い。また、受渡時間の長さは、過去に観測された時間長の中央値であっても良い。さらに、より好適な受渡時間の長さは、当業者が、実験により定めることができる。また、本実施例では、受渡時間の長さは、受け渡される商品の数に関わらず「10」分に予め設定されているが、これに限定される訳では無い。受渡時間の長さは、受け渡される商品の数がより多い程、より長い時間に予め設定されており、情報記憶部190は、受け渡される商品の数を表す情報と、当該数の商品を移動体600がユーザに商品受け渡すのに要する受渡時間の長さを表す情報と、を対応付けて予め記憶していてもよい。
次に、情報処理装置100の判別部140は、計時時間に基づいて、受取要求を出力してから受渡時間「10」分が経過したか否かを判別する(ステップS36)。このとき、受渡時間「10」分が経過していないと判別されると(ステップS36;No)、取得部120は、認証要求を第2データ通信回路104bから取得することを試行する。当該認証要求は、移動体600から受信された要求であり、ユーザU1によって移動体600に入力されたパスワードを表す情報を含み、かつ、当該パスワードを用いてパスワード認証を行うことを求める要求である。
このとき、情報処理装置100の取得部120は、認証情報を取得すると、図6のユーザテーブルにおいて、注文商品G3を注文したユーザU1のユーザID「U1」と対応付けられたパスワードを表す情報を取得する。次に、判別部140は、ユーザテーブルから取得された情報で表されるパスワードと、認証情報によって表されるパスワードと、が一致するか否かに基づいてパスワード認証が成功したか否かを判別する(ステップS37)。このとき、これらのパスワードが一致しないため、パスワード認証が成功せず、失敗したと判別部140が判別すると(ステップS37;No)、制御部110は、パスワード認証が失敗したことを告げる認証失敗報告を、移動体600を宛先として第2データ通信回路104bに出力する。その後、情報処理装置100は、ステップS36から上記処理を繰り返す。
これに対して、情報処理装置100の判別部140は、2つのパスワードが一致するため、認証が成功したと判別すると(ステップS37;Yes)、ステップS32と同様の処理を実行することで、移動体600が注文商品G3だけでなくレコメンド商品G1も積載していると判別する(ステップS38;Yes)。
次に、情報処理装置100の判別部140は、レコメンド商品G1の代金の決済が完了しているか否かを判別する(ステップS39)。このために、取得部120は、図11のレコメンド商品テーブルにおいて、レコメンド商品G1の商品番号「G1」と、レコメンド商品G1の注文が勧められたユーザU1のユーザID「U1」と、に対応付けられている決済フラグを取得する。
本実施例では、ステップS39の処理が実行されるまでに、注文商品G3を注文したユーザU1がレコメンド商品G1を注文し、かつ、レコメンド商品G1の代金の決済が完了している場合を具体例として挙げて以下の説明を行う。このため、本実施例では、取得部120は、レコメンド商品テーブルから、値「true」の決済フラグを取得するので、判別部140は、レコメンド商品G1の代金の決済が完了していると判別する(ステップS39;Yes)。
その後、情報処理装置100の取得部120は、注目配送予定を表す情報からボックスID「B3」を取得し、図11のレコメンド商品テーブルから、商品番号「G1」とユーザID「U1」とに対応付けられているボックスID「B1」を取得する。次に、制御部110は、取得されたボックスID「B1」及び「B3」を含み、かつ、格納ボックス621及び623の解錠を命じる解錠命令を生成する。次に、制御部110は、生成された解錠命令を、移動体600を宛先として第2データ通信回路104bへ出力する(ステップS40)。
これにより、情報処理装置100の制御部110は、格納ボックス621に格納されたレコメンド商品G1と、格納ボックス623に格納された注文商品G3と、をユーザU1に受け渡させる受渡制御を移動体600に行う。情報処理装置100の第2データ通信回路104bは、解錠命令を移動体600に送信し、移動体600は、解錠命令を受信すると、格納ボックス621及び623を解錠する。
その後、情報処理装置100の取得部120は、移動体600から受信された受渡報告を第2データ通信回路104bから取得することを試行し、判別部140は、受渡報告が取得されたか否かを判別する(ステップS41)。当該受渡報告は、格納ボックス621及び623のボックスID「B1」及び「B3」を含み、かつ、移動体600の格納ボックス621に格納されていたレコメンド商品G1と、格納ボックス623に格納されていた注文商品G3と、がユーザU1に受け渡されたことを告げる報告である。
ステップS41において、情報処理装置100は、受渡報告が取得されなかったと判別されると(ステップS41;No)、予め定められた時間に亘ってスリープしてから、ステップS41の処理を繰り返す。これに対して、情報処理装置100の判別部140は、受渡報告が取得されたと判別すると(ステップS41;Yes)、レコメンド商品G1と注文商品G3とをユーザU1に受け渡させる受渡制御が終了したと判別する。
次に、情報処理装置100の制御部110は、移動経路PSD1を表す情報に基づいて、移動経路PSD1を逆順に辿る移動経路PD1Sを表す情報を生成する。移動経路PD1Sは、移動経路PSD1を逆順に辿る経路であり、かつ、配送先の位置D1から配送元である実店舗の位置Sに到る経路である。次に、情報処理装置100の制御部110は、生成された移動経路PD1Sを表す情報を含み、かつ、移動経路PD1Sを移動して実店舗まで帰還することを命じる移動命令を、移動体600を宛先として第2データ通信回路104bへ出力する(ステップS42)。情報処理装置100の第2データ通信回路104bは、当該移動命令を移動体600へ送信する。
ステップS36において、受渡時間「10」分が経過したと判別された場合(ステップS36;Yes)、又は、ステップS42の処理が実行された後に、情報処理装置100は、ステップS31の処理と同様の処理を実行する。これにより、情報処理装置100は、実店舗の位置Sに移動体600が到着したことを告げる到着報告が取得されたか否かを判別する(ステップS43)。このとき、情報処理装置100は、到着報告が取得されなかったと判別すると(ステップS43;No)、予め定められた時間に亘ってスリープしてから、ステップS43の処理を繰り返す。これに対して、到着報告が取得されたと判別されると(ステップS43;Yes)、情報処理装置100の制御部110は、図8の配送予定テーブルから、注目配送予定を表す情報が保存されたレコードを削除する(ステップS44)。また、取得部120は、図11のレコメンド商品テーブルから、ユーザU1のユーザID「U1」が保存されているレコードの取得を試行する。このとき、レコードが取得されたと判別部140が判別すると、制御部110は、取得されたレコードを削除することで、ユーザU1に購入を勧めたレコメンド商品G1に関する情報を削除する。その後、情報処理装置100は、ステップS21から上記の処理を繰り返す。これに対して、レコードが取得されなかったと判別すると、情報処理装置100は、ステップS21から上記の処理を繰り返す。
POSシステム200は、不図示のPOS端末と、POS端末と第1通信網LNを介して接続された不図示のPOSサーバと、を備える。POS端末は、例えば、レジスター機であり、実店舗の売場に設置されている。POS端末は、不図示のCPU、RAM、ROM、ハードディスク、第1データ通信回路、第2データ通信回路、ビデオカード、表示装置、入力装置、コードリーダー、及び、カードリーダーを備える。POS端末のCPU、RAM、ROM、ハードディスク、第1データ通信回路、第2データ通信回路、ビデオカード、表示装置、及び、入力装置が備える構成及び機能は、情報処理装置100のハードウェアが備える構成及び機能と同様である。
POS端末の第1データ通信回路104aは、POSサーバとデータ通信を行い、POS端末の第2データ通信回路104bは、不図示の決済サーバとデータ通信を行う。コードリーダーは、例えば、バーコードやQRコード(登録商標)といった、商品の外装や商品自体に印刷されたコードを光学的に読み取り、読み取ったコードを表す信号を出力する。カードリーダーは、買物客が支払金額の決済に用いるカードが備えるIC(Integrated Circuit)チップ、又は、磁気ストライプから、支払情報を読み取り、読み取った支払情報を表す信号を出力する。買物客が決済に用いるカードは、例えば、クレジットカード、デビットカード、又は、非接触ICカードを含む。
実店舗で買い物をする買物客が、実店舗の商品陳列棚から商品を取り出してPOS端末まで運搬し、商品のコードをPOS端末のコードリーダーにかざすと、コードリーダーは、商品のコードを読み取り、読み取ったコードを表す信号を出力する。POS端末のCPUは、出力された信号に基づいて、読み取られたコードで表される商品番号を取得する。次に、POS端末のCPUは、取得された商品番号とハードディスクが対応付けて予め記憶する価格を表す情報を取得し、取得された価格を表す情報に基づいて買物客の支払金額を算出する。その後、POS端末のCPUは、支払金額を表示装置に表示させる。
その後、買物客が、支払いに用いるカードをPOS端末のカードリーダーに挿入する、物理的若しくは電気的に接触させる、又は、スワイプさせると、カードリーダーは、カードから支払い情報を読み取り、読み取った支払い情報を表す信号を出力する。次に、POS端末のCPUは、ハードディスクが予め記憶する決済サーバのURLを表す情報を取得する。その後、POS端末のCPUは、算出された支払金額を表す情報と、取得された支払情報と、を含み、かつ、当該支払情報を用いて当該支払金額を決済することを求める決済要求を、取得されたURLを宛先として、第2データ通信回路へ出力する。
POS端末の第2データ通信回路が決済要求を送信してから、予め定められた時間が経過する以前に、決済が完了したことを告げる決済完了報告を、POS端末の第2データ通信回路が受信すると、POS端末のCPUは、決済が完了したと判別する。その後、POS端末のCPUは、販売された商品の商品番号を含み、かつ、当該商品が販売されたことを告げる販売報告を、POSサーバを宛先として第1データ通信回路へ出力する。
POSサーバは、例えば、サーバ機であり、実店舗のバックヤードに設置されている。POSサーバは、ハードウェアである不図示のCPU、RAM、ROM、ハードディスク、第1データ通信回路、第2データ通信回路、ビデオカード、表示装置、及び、入力装置を備える。POSサーバのハードウェアが備える構成及び機能は、情報処理装置100のハードウェアが備える構成及び機能と同様である。
POSサーバのハードディスクは、実店舗で販売される商品の商品番号と、実店舗に在る当該商品の在庫数を表す情報と、を対応付けて複数記憶している。実店舗に商品が納入されると、実店舗の従業員は、納入された商品の商品番号と、納入された商品の数と、を入力するための操作を、POSサーバの入力装置に行う。POSサーバの入力装置が当該操作に応じた信号を出力すると、POSサーバのCPUは、出力された信号に基づいて、納入された商品の商品番号と、納入された商品の数を表す情報と、を取得する。次に、POSサーバのCPUは、取得された商品番号に対応付けられた在庫数を表す情報をハードディスクから取得し、取得された情報で表される在庫数に、納入された商品の数を加算する。その後、POSサーバのCPUは、取得された商品番号に対応付けられた在庫数を表す情報を、加算後の在庫数を表す情報に変更することで、在庫数を表す情報を更新する。
POSサーバの第1データ通信回路が、情報処理装置100又はPOS端末から、販売報告を受信すると、POSサーバのCPUは、第1データ通信回路から販売報告を取得し、取得された販売報告から、販売された商品の商品番号を取得する。次に、POSサーバのCPUは、取得された商品番号に対応付けられた在庫数を表す情報をハードディスクから取得し、取得された情報で表される在庫数を値「1」だけ減算する。その後、POSサーバのCPUは、取得された商品番号に対応付けられた在庫数を表す情報を、減算後の在庫数を表す情報に変更することで、在庫数を表す情報を更新する。
POSサーバの第1データ通信回路が、情報処理装置100から在庫問合を受信すると、POSサーバのCPUは、第1データ通信回路から在庫問合を取得し、取得された在庫問合から商品番号を取得する。次に、POSサーバのCPUは、取得された商品番号に対応付けられた在庫数を表す情報をハードディスクから取得する。その後、POSサーバのCPUは、在庫数が問い合わされた商品の商品番号と、当該商品の実店舗に在る在庫数を表す情報と、を、情報処理装置100を宛先として第1データ通信回路へ出力する。POSサーバの第1データ通信回路は、出力された情報を情報処理装置100へ送信する。
移動体600は、例えば、無人地上車両であり、無人で地上を走行可能な走行機である。移動体600は、図14に示すような車輪601及び602を含む複数の車輪を備える車台610と、車台610の上面に設置された格納庫620と、格納庫620に内蔵された情報処理装置690と、を備える。
移動体600の格納庫620は、格納ボックス621から623を備える。格納ボックス621は、不図示の1枚の底板、天板、及び、背板、並びに、2枚の側板を備え、これらの板により閉塞されて前方が開放された空間を形成する箱体を備える。箱体の開口部には、扉を受け止める不図示の扉枠が設置されている。扉は、カンヌキである不図示のデッドボルトを備え、扉枠は、デッドボルトの受座である不図示のストライクを備える。
移動体600が備える格納ボックス621の扉は、移動体600の情報処理装置690から出力される信号に従って、デッドボルトをストライクへ挿入させる不図示のモータをさらに備えている。また、当該モータは、情報処理装置690から出力される信号に従って、デッドボルトをストライクから抜出させる。デッドボルトがストライクへ挿入されると、格納ボックス621の扉が施錠される。デッドボルトがストライクから抜出されると、格納ボックス621の扉が解錠される。格納ボックス622及び623が有する構成及び機能は、格納ボックス621が有する構成及び機能と同様である。
移動体600の格納庫620は、例えば、デジタルカメラである撮像装置630を、格納ボックス621から623の扉が設置されている面に備える。撮像装置630の光軸及び画角は、格納ボックス621から623に格納された商品を受け取るユーザが撮像範囲に含まれるように調整されている。撮像装置630は、予め定められた周期で撮像を行い、撮像により得られた画像を表す信号を情報処理装置690へ出力する。
移動体600は、車台610の前面に設置されたLiDAR(Light Detection and Ranging)センサ641と、車台610の後面に設置された不図示のLiDARセンサと、をさらに備える。
移動体600が備える前面のLiDARセンサ641は、移動体600の前方向を基準の方位として用いる場合に、当該基準の方位となす方位角が-90度から+90度まで、かつ、移動体600の前方向となす仰角が-90度から+90度までの範囲に含まれる複数の方向へレーザー光を照射する。前面のLiDARセンサ641は、照射されたレーザー光の反射光を受光し、レーザー光の照射から反射光の受光までの時間に基づいて、レーザー光が反射された複数の反射点までの距離を計測する。次に、前面のLiDARセンサ641は、レーザー光の照射方向と計測された距離とに基づいて、移動体600の中心点を原点として用いた三次元座標系における座標値を、複数の反射点について算出する。その後、前面のLiDARセンサ641は、算出された複数の反射点の座標値を移動体600の情報処理装置690へ出力する。
移動体600が備える後面のLiDARセンサは、移動体600の後方向を基準の方位として用いる場合に、当該基準の方位となす方位角が-90度から+90度まで、かつ、移動体600の後方向となす仰角が-90度から+90度までの範囲に含まれる複数の方向へ赤外線のレーザー光を照射する。また、後面のLiDARセンサは、照射されたレーザー光の複数の反射点について移動体600の三次元座標系における座標値を算出し、算出された複数の反射点の座標値を移動体600の情報処理装置690へ出力する。
移動体600が備える前面のLiDARセンサ641及び後面のLiDARセンサが複数の反射点の座標値を情報処理装置690へ出力するのは、例えば、障害物等の物体を回避して走行するために、移動体600の情報処理装置690が、移動体600を基準として用いた全方向にある物体の三次元空間における座標値及びサイズ等を特定するためである。
移動体600の情報処理装置690は、図15に示すようなハードウェアであるCPU691、RAM692、ROM693a、フラッシュメモリ693b、データ通信回路694a、ビデオカード695a、表示装置695b、入力装置695c、位置計測回路696、入出力ポート698、及び、駆動回路699を備える。本実施例では、移動体600は、1つのCPU691を備えるが、複数のCPUを備えても良い。また、移動体600は、複数のRAM及びフラッシュメモリを備えても良い。
移動体600のCPU691、RAM692、ROM693a、データ通信回路694a、ビデオカード695a、表示装置695b、及び、入力装置695cの構成及び機能は、情報処理装置100のCPU101、RAM102、ROM103a、第2データ通信回路104b、ビデオカード105a、表示装置105b、及び、入力装置105cの構成及び機能と同様である。
移動体600のフラッシュメモリ693bは、各種のプログラムと、プログラムの実行に用いられる各種のデータ及びデータが保存されたテーブルと、を記憶している。
移動体600の位置計測回路696は、QZSS(Quasi-Zenith Satellite System)回路である。位置計測回路696は、準天頂衛星から発せられた信号を受信し、受信された信号に基づいて移動体600の位置を表す緯度、経度、及び、高度を計測し、計測された緯度、経度、及び、高度を表す信号を出力する。位置計測回路696は、QZSS回路ではなく、GPS(Global Positioning System)衛星から発せられたGPS信号を受信し、受信されたGPS信号に基づいて移動体600の位置を表す緯度、経度、及び、高度を計測するGPS回路であっても良い。
移動体600の入出力ポート698は、撮像装置630に接続された不図示のケーブルに接続されており、撮像装置630が出力する信号をCPU691へ入力する。また、移動体600の入出力ポート698は、前面のLiDARセンサ641及び後面のLiDARセンサとそれぞれ接続された不図示のケーブルに接続されている。入出力ポート698は、前面のLiDARセンサ641及び後面のLiDARセンサがそれぞれ出力する座標値を表す信号をCPU691へ入力する。
移動体600の駆動回路699は、複数の車輪を回転させる不図示のモータにそれぞれ接続された不図示のケーブルに接続されている。駆動回路699は、CPU691が出力する制御信号に従って当該モータを駆動させることで、複数の車輪を回転させる。
また、移動体600の駆動回路699は、格納ボックス621から623がそれぞれ備える不図示のモータに接続されたケーブルに接続されている。駆動回路699は、CPU691が出力する信号に従って当該モータを駆動させることで、格納ボックス621から623を施錠又は解錠する。
図9のステップS28で行われる指示に従って、移動体600の格納ボックス621にレコメンド商品G1が格納され、かつ、格納ボックス623に注文商品G3が格納された後、移動体600のデータ通信回路694aは、ステップS29で送信された施錠命令を受信する。次に、移動体600のCPU691は、データ通信回路694aから施錠命令を取得し、施錠命令からボックスID「B1」及び「B3」を取得する。その後、CPU691は、取得されたボックスID「B1」及び「B3」でそれぞれ識別される格納ボックス621及び623を施錠させる制御信号を駆動回路699へ出力する。これにより、移動体600は、格納ボックス621及び623を施錠する。
移動体600のデータ通信回路694aが、図9のステップS30で送信された移動命令を情報処理装置100から受信すると、移動命令に従って、実店舗の位置Sから配送先の位置D1へ移動するため、移動体600のCPU691は、図16に示すような移動処理を実行する。移動処理の実行を開始すると、移動体600のCPU691は、データ通信回路694aから移動命令を取得し(ステップS81)、取得された移動命令から移動経路PSD1を表す情報を取得する(ステップS82)。
次に、移動体600のCPU691は、位置計測回路696から出力される信号に基づいて、移動体600の緯度、経度、及び、高度を特定する。その後、CPU691は、特定された緯度、経度、及び、高度と、移動経路PSD1に含まれる複数の未到着のノードの内で最も到着順が早いノードの緯度、経度、及び、高度と、の相違を縮小させるように移動するための制御信号を生成する。その後、CPU691は、生成された制御信号を駆動回路699へ出力する(ステップS83)。これにより、移動体600は、複数の車輪を回転させて、移動経路PSD1を順行移動する。
その後、移動体600のCPU691は、移動経路に含まれる1又は複数のノードの全てに到着したか否かに基づいて、移動経路PSD1の終点である配送先の位置D1に到着したか否かを判別する(ステップS84)。このとき、1又は複数のノードの全てに到着した訳ではないため、終点に到着していないと判別すると(ステップS84;No)、ステップS83から上記処理を繰り返す。
これに対して、移動体600のCPU691は、1又は複数のノードの全てに到着したため、終点に到着したと判別すると(ステップS84;Yes)、複数の車輪の回転を停止させるための制御信号を駆動回路699へ出力する。これにより、移動体600は、移動経路PSD1の終点で駐車又は停車を行うことで、当該終点での滞在を開始する。その後、CPU691は、移動体600が当該終点に到着したことを告げる到着報告を、情報処理装置100を宛先としてデータ通信回路694aへ出力してから(ステップS85)、移動処理の実行を終了する。
配送先の位置D1に到着した移動体600の入力装置695cに対して、ユーザU1がパスワードを入力するための操作を行うと、移動体600の入力装置695cは、当該操作に応じた信号を出力する。移動体600の入力装置695cが当該信号を出力すると、移動体600のCPU691は、注文商品G3とレコメンド商品G1とをユーザU1に受け渡すため、不図示の受渡処理を実行する。
受渡処理の実行を開始すると、移動体600のCPU691は、入力装置695cが出力する信号に基づいて、入力されたパスワードを取得する処理を実行する。次に、CPU691は、取得されたパスワードを表す情報を含み、かつ、パスワード認証を要求する認証要求を、情報処理装置100を宛先としてデータ通信回路694aへ出力する。
その後、移動体600のデータ通信回路694aが、パスワード認証が失敗したことを告げる認証失敗報告を情報処理装置100から受信すると、CPU691は、パスワード認証が失敗したことを知らせるメッセージと、パスワードの再入力を促すメッセージと、を表示装置695bに表示させる。その後、CPU691は、入力されたパスワードを取得する処理から上記処理を繰り返す。
これに対して、移動体600のデータ通信回路694aが、図10のステップS40で送信された解錠命令を受信すると、CPU691は、パスワード認証が成功したと判別する。次に、CPU691は、データ通信回路694aから解錠命令を取得し、解錠命令からボックスID「B1」及び「B3」を取得する。
その後、CPU691は、取得されたボックスID「B1」で識別される格納ボックス621を解錠させる制御信号を駆動回路699へ出力する。これにより、移動体600は、格納ボックス621を解錠する。次に、移動体600のCPU691は、予め定められた時間間隔で、レコメンド商品G1が受け取られたか否かを判別する。このために、CPU691は、撮像装置630から出力される信号を取得する処理を実行する。その後、CPU691は、取得された信号で表される画像(以下、撮像画像という)に基づいて、解錠された格納ボックス621からレコメンド商品G1が受け取られたか否かを判別する。このために、CPU691は、フラッシュメモリ693bに予め記憶されている商品のテンプレート画像を表す情報を取得し、取得された情報で表されるテンプレート画像と、取得された信号で表される撮像画像と、に基づいてテンプレートマッチングを行う。その後、CPU691は、テンプレートマッチングにより、撮像画像から商品に対応する画像領域が検出されると、レコメンド商品G1が受け取られたと判別する。これに対して、CPU691は、商品に対応する画像領域が検出されないと、レコメンド商品G1が受け取られたと判別せずに、予め定められた時間に亘ってスリープした後に、撮像装置630から出力される信号を取得する処理から上記処理を繰り返す。
レコメンド商品G1が受け取られたと判別すると、移動体600のCPU691は、解錠命令から取得されたボックスID「B3」によって識別される格納ボックス623を解錠させる制御信号を駆動回路699へ出力する。これにより、移動体600は、格納ボックス623を解錠する。次に、移動体600のCPU691は、レコメンド商品G1と同様に、撮像装置630から出力される信号に基づいて、解錠された格納ボックス623から注文商品G3が受け取られたか否かを予め定められた時間間隔で判別する。
注文商品G3が受け取られたと判別すると、移動体600のCPU691は、格納ボックス621及び623のボックスID「B1」及び「B3」を含み、かつ、移動体600の格納ボックス621及び623に格納されていたレコメンド商品G1及び注文商品G3の受け渡しが完了したことを告げる受渡報告を生成する。その後、CPU691は、情報処理装置100を宛先として受渡報告をデータ通信回路694aへ出力する。
移動体600のデータ通信回路694aが、図10のステップS42で送信された移動命令を情報処理装置100から受信すると、移動命令に従って、移動体600のCPU691は、図16に示した移動処理を実行する。これにより、移動体600は、配送先の位置D1から実店舗の位置Sへ帰還する。
端末装置800は、例えば、スマートフォン、又は、タブレット型若しくはノートブック型のパーソナルコンピュータである。端末装置800は、ハードウェアである不図示のCPU、RAM、ROM、フラッシュメモリ、データ通信回路、音声通信回路、ビデオカード、表示装置、入力装置、位置計測回路、スピーカ、及び、マイクロフォンを備える。端末装置800は、複数のCPUを備えても良いし、複数のRAM及びフラッシュメモリを備えても良い。
端末装置800のCPU、RAM、ROM、フラッシュメモリ、データ通信回路、ビデオカード、表示装置、入力装置、及び、位置計測回路の構成及び機能は、移動体600のCPU691、RAM692、ROM693a、フラッシュメモリ693b、データ通信回路694a、ビデオカード695a、表示装置695b、入力装置695c、及び、位置計測回路696の構成及び機能と同様である。端末装置800の音声通信回路は、不図示の基地局と電波を用いた音声通信を行う。端末装置800のスピーカは、CPUが出力する信号に従って音声を出力し、端末装置800のマイクロフォンは、端末装置800の周囲の音声を表す信号を出力する。
これらの構成によれば、情報処理装置100は、ユーザU1が注文した注文商品G3を移動体600に積載した場合に、レコメンド商品G1を移動体600に積載可能であるか否かを判別する判別部140を備える。また、情報処理装置100は、レコメンド商品G1が積載可能であると判別されると、注文商品G3とレコメンド商品G1とを積載した移動体600に、注文商品G3の配送先の位置D1まで移動させる移動制御を行う制御部110を備える。これらのため、情報処理装置100は、移動体600の有効利用率の低下を抑制できる。
移動体600の有効利用率は、例えば、単位時間当たり、又は、移動体600による単位距離の移動当たり、移動体600が配送する商品の数で表される。また、移動体600の有効利用率は、配送元の位置Sを出発してから配送元の位置Sに帰還するまでの間に移動体600が配送する商品の平均値又は中央値で表されても良い。またさらに、移動体600の有効利用率を表す、単位時間当たり又は単位距離の移動当たり、移動体600が配送する商品の数は、注文された商品の数に限定されても良いし、限定されなくても良い。
また、これらの構成によれば、レコメンド商品G1は、ユーザU1が注文しようとした注文試行商品であり、かつ、ユーザU1が注文しようとした注文試行時点で売り切れであった売切商品である。このため、情報処理装置100は、ユーザU1が注文した商品G3だけでなく、ユーザU1が注文しようとしたが、売切商品であったため注文できなかった注文試行商品G1も積載した移動体600を、注文商品G3の配送先の位置D1まで移動させるので、ユーザU1の利便性の低下を抑制できる。
さらに、これらの構成によれば、レコメンド商品G1は、注文商品G3の代替商品と異なる商品である。このため、レコメンド商品G1が注文商品G3の代替商品である場合と比べて、情報処理装置100は、ユーザU1が注文商品G3の注文を取り消す蓋然性の上昇を抑制できるので、注文商品G3の注文を取り消すためにユーザU1が労力を要する蓋然性の上昇を抑制できる。
これらの構成によれば、情報処理装置100の判別部140は、ユーザU1がレコメンド商品G1を注文しようとした時点である注文試行時点よりも後、かつ、移動体600の移動制御が開始される時点よりも前において、レコメンド商品G1の在庫が存在するか否かをさらに判別する。また、情報処理装置100の制御部110は、レコメンド商品G1の在庫が存在すると判別され、かつ、レコメンド商品G1が積載可能であると判別されると、注文商品G3とレコメンド商品G1とを積載した移動体600に移動制御を行う。このため、レコメンド商品G1の注文試行時点にレコメンド商品G1が売切商品であったとしても、注文試行時点より後、かつ、移動制御が開始される時点よりも前に、レコメンド商品G1の在庫が存在すれば、情報処理装置100は、注文商品G3だけでなくレコメンド商品G1も移動体600に配送させることができるので、ユーザU1の利便性の低下を抑制できる。
また、これらの構成によれば、情報処理装置100は、予め定められた更新間隔で、実店舗に在る商品G1の在庫数を表す情報を受信する第1データ通信回路104aをさらに備える。また、情報処理装置100の制御部110は、在庫数を表す情報が受信されると、受信された情報で表される在庫数「10」個から予め定められた安全在庫数「10」個を減算することで、仮想店舗で販売可能な在庫数「0」個を算出する。これらの構成によれば、情報処理装置100は、実店舗に在る商品G1の在庫数が変化する度に、仮想店舗で販売可能な在庫数を算出する場合と比べて、計算負荷の増加を抑制できる。さらに、情報処理装置100の判別部140は、ユーザU1が注文しようとした注文試行時点「01日00時01分」において、仮想店舗で販売可能な在庫数「0」個に基づいて、ユーザU1が注文しようとした注文試行商品G1が売切商品であるか否かを判別する。また、判別部140は、ユーザU1の注文試行時点「01日00時01分」よりも後、かつ、移動体600の移動制御が開始される時点よりも前において、レコメンド商品G1の在庫が実店舗に存在するか否かを判別する。制御部110は、レコメンド商品G1の在庫が存在すると判別されると、注文商品G3とレコメンド商品G1とを積載した移動体600に移動制御を行う。これらのため、情報処理装置100は、たとえ、注文試行時点「01日00時01分」において、注文試行商品G1の在庫が実店舗に在るため、仮想店舗で注文試行商品G1を販売可能であったにも関わらず、注文試行商品G1を売切商品と判別してしまったとしても、注文試行時点「01日00時01分」よりも後に、レコメンド商品G1の在庫が実店舗に存在すると判別すれば、注文商品G3だけでなくレコメンド商品G1も移動体600に配送させることができる。また、たとえ、注文試行時点「01日00時01分」において、注文試行商品G1を売切商品と判別してしまったとしても、注文試行時点「01日00時01分」よりも後に、注文試行商品G1が実店舗に納入されて在庫が実店舗に存在すれば、注文商品G3だけでなくレコメンド商品G1も移動体600に配送させることができる。これらのため、情報処理装置100は、計算負荷の増加を抑制しながら、ユーザU1の利便性の低下を抑制できる。
これらの構成によれば、情報処理装置100は、ユーザU1の端末装置800と情報を通信する第2データ通信回路104bを備える。また、情報処理装置100の制御部110は、レコメンド商品G1の在庫が存在すると判別され、かつ、レコメンド商品G1が移動体600に積載可能であると判別される場合に、移動体600に対する移動制御の終了以後に、レコメンド商品G1が注文可能であることを知らせる注文可能通知と、注文商品G3とレコメンド商品G1とが配送されたことを知らせる配送通知と、をユーザU1の端末装置800へ、第2データ通信回路104bに送信させる制御を行う。さらに、制御部110は、レコメンド商品G1の代金の決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信すると、ユーザU1の配送先の位置D1に滞在する移動体600に、注文商品G3とレコメンド商品G1とをユーザU1へ受け渡させる受渡制御を行う。このため、情報処理装置100は、注文商品G3が配送先に配送されたことだけでなく、レコメンド商品G1が注文可能であることと、レコメンド商品G1が配送先に配送されたことと、をユーザU1に知らせることができる。このため、ユーザU1は、レコメンド商品G1を注文すると、注文商品G3だけでなく、レコメンド商品G1も、移動体600の到着を待つことなく、配送先の位置D1に滞在している移動体600から受け取れることを知ることができるので、ユーザU1の利便性の低下を抑制できる。
これらの構成によれば、情報処理装置100の判別部140は、注目キーワード「G1」が商品番号であると判別すると、当該商品番号「G1」で識別される商品G1を注文試行商品と判別し、当該商品番号「G1」に基づく検索が行われた検索日時「01日00時01分」を注文試行時点と判別する。このため、情報処理装置100は、従来よりも注文試行商品と注文試行時点とを精度良く判別できる。
<実施例の変形例1>
実施例では、情報処理装置100の制御部110は、レコメンド商品G1が積載可能であると判別され、かつ、レコメンド商品G1の在庫が存在すると判別されると、注文商品G3とレコメンド商品G1とを積載した移動体600に移動制御を行うと説明した。しかし、これに限定される訳では無く、本変形例に係る制御部110は、レコメンド商品が積載可能でないと判別されると、注文商品を積載し、かつ、レコメンド商品を積載していない移動体600に移動制御を行う。
このため、本変形例では、図9のステップS22において注目された配送予定を表す情報に、ボックスID「B1」から「B3」が含まれている場合を具体例として挙げて以下の説明を行う。本変形例に係る情報処理装置100の判別部140は、注目配送予定を表す情報にボックスID「B1」から「B3」が含まれているため、移動体600の格納ボックス621から623の状態は、商品を格納する予定が有る予約済状態であると判別する。このため、判別部140は、移動体600が備える格納ボックス621から623に空きが無いため、移動体600がレコメンド商品を積載不能であると判別する(ステップS23;No)。
本変形例では、格納ボックス621から623のそれぞれに、互いに異なる種類の注文商品が1つずつ格納される場合を具体例として挙げて以下の説明を行う。このため、情報処理装置100の制御部110は、3種類の注文商品の探出及び運搬を指示し(ステップS45)、当該3種類の注文商品の移動体600への積載を指示する(ステップS47)。このために、制御部110は、3種類の注文商品の商品番号、及び、3種類の注文商品の名称を表す情報、の少なくとも1つを含み、3種類の注文商品について、仮想店舗のユーザU1に販売可能な在庫を1個ずつ実店舗から探し出すことを命じる探出指示メッセージを生成する。また、制御部110は、3種類の注文商品の在庫を移動体600の位置Sまで運搬することを命じる運搬指示メッセージを生成する。
さらに、情報処理装置100の制御部110は、3種類の注文商品を移動体600の格納ボックス621から623に積載ように指示する積載指示メッセージを生成する。その後、制御部110は、生成された探出指示メッセージと、運搬指示メッセージと、積載指示メッセージと、を表示装置105bに表示させる。
表示されたメッセージを視認した従業員は、3種類の注文商品を探し出して移動体600の位置Sまで運搬した後に、3種類の注文商品をそれぞれ格納ボックス621から623に格納させる。その後、従業員は、3種類の注文商品の積載が終了したことを表す信号を出力させる操作を情報処理装置100の入力装置105cに行う。
情報処理装置100の入力装置105cが当該操作に応じた信号を出力すると、情報処理装置100は、格納ボックスID「B1」から「B3」を含み、かつ、格納ボックス621から623の施錠を命じる施錠命令を、移動体600を宛先として第2データ通信回路104bに出力する(ステップS29)。次に、情報処理装置100の制御部110は、実店舗の位置Sから配送先の位置D1へ到る移動経路PSD1の移動を命じる移動命令を、移動体600を宛先として第2データ通信回路104bへ出力する(ステップS30)。これにより、制御部110は、注文商品を積載し、かつ、レコメンド商品を積載していない移動体600に、注文商品の配送先の位置D1まで移動させる移動制御を行う。
次に、到着報告が取得されたと判別されると(ステップS31;Yes)、情報処理装置100の取得部120は、図11のレコメンド商品テーブルから、注文商品を注文したユーザU1のユーザID「U1」と対応付けられた商品番号の取得を試行する。このとき、判別部140は、商品番号が取得されないため、移動体600がレコメンド商品を積載していないと判別する(ステップS32;No)。
次に、情報処理装置100の制御部110は、配送先の位置D1を住所で表す情報と、注文商品の商品番号及び名称を表す情報の少なくとも1つと、を含み、注文商品が配送先の位置D1に配送されたことを知らせる配送通知を生成する。次に、制御部110は、位置D1に到着した移動体600にパスワードを入力して認証を受けること、及び、認証を成功させた場合に、格納ボックス621ないし623から注文商品を受け取ることを求める受取要求を生成する。その後、制御部110は、生成された配送通知と受取要求とを、端末装置800を宛先として第2データ通信回路104bへ出力する(ステップS48及びS35)。
その後、情報処理装置100は、ステップS36及びS37の処理を実行した後、パスワード認証が成功したと判別すると(ステップS37;Yes)、ステップS32と同様の処理を実行することで、移動体600が注文商品を積載するが、レコメンド商品を積載していないと判別する(ステップS38;No)。その後、制御部110は、ボックスID「B1」から「B3」を含み、かつ、注文商品が格納された格納ボックス621から623の解錠を命じる解錠命令を、移動体600を宛先として第2データ通信回路104bへ出力する(ステップS49)。これにより、情報処理装置100の制御部110は、格納ボックス621から623に格納されたレコメンド商品をユーザU1に受け渡させる受渡制御を移動体600に行う。
その後、情報処理装置100は、移動体600の格納ボックス621から623に格納されていた注文商品がユーザU1に受け渡されたことを告げる受渡報告を取得したと判別すると(ステップS41;Yes)、ステップS42から移動制御処理を続行する。
<実施例の変形例2>
実施例の変形例1では、情報処理装置100の制御部110は、レコメンド商品が積載可能でないと判別されると、注文商品を積載し、かつ、レコメンド商品を積載していない移動体600に移動制御を行うと説明した。しかし、これに限定される訳では無く、本変形例に係る制御部110は、仮想店舗のユーザU1に販売可能なレコメンド商品G1の在庫が実店舗に存在しないと判別されると、注文商品G3を積載し、かつ、レコメンド商品G1を積載していない移動体600に移動制御を行う。
このために、本変形例に係る情報処理装置100は、図9のステップS26で、仮想店舗のユーザU1に販売可能な注文商品G3とレコメンド商品G1との在庫を実店舗から探し出して移動体600の位置Sへ運搬することを実店舗の従業員に指示する(ステップS26)。本変形例では、仮想店舗のユーザU1に販売可能な注文商品G3の在庫が実店舗で探し出されたが、レコメンド商品G1の在庫が探し出されなかった場合を具体例として挙げて以下の説明を行う。
注文商品G3の在庫を探し出したが、レコメンド商品G1の在庫を探し出せなかった従業員は、探し出した注文商品G3の在庫を移動体600の位置Sまで運搬する。次に、従業員は、注文商品G3の在庫が実店舗に存在するが、レコメンド商品G1の在庫が実店舗に存在しないことを表す信号を出力させる操作を情報処理装置100の入力装置105cに行う。
情報処理装置100の入力装置105cが当該操作に応じた信号を出力すると、情報処理装置100の判別部140は、入力装置105cから出力される信号に基づいて、仮想店舗のユーザU1に販売可能な注文商品G3の在庫が実店舗に存在するが、レコメンド商品G1の在庫が実店舗に存在しないと判別する(ステップS27;No)。
次に、情報処理装置100の制御部110は、図11のレコメンド商品テーブルから、注文商品G3を注文したユーザU1のユーザID「U1」と、レコメンド商品G1の商品番号と、が保存されたレコードを削除する。これにより、制御部110は、ユーザID「U1」と、レコメンド商品G1の商品番号と、を含む、ユーザU1のレコメンド商品に関する情報を削除する(ステップS46)。その後、情報処理装置100は、ステップS47から移動制御処理を継続することで、実施例の変形例1と同様に、注文商品G3を積載し、かつ、レコメンド商品G1を積載していない移動体600に、注文商品G3の配送先の位置D1まで移動させる移動制御を行う。
<実施例の変形例3>
実施例では、情報処理装置100の情報記憶部190は、図4に示した商品テーブルを記憶しており、商品テーブルには、商品を識別する商品番号が保存されていると説明した。また、実施例では、情報処理装置100の判別部140は、注目キーワード「G1」が商品番号であると判別すると(図12のステップS55;Yes)、商品番号「G1」で識別される商品G1を注文試行商品と判別し、商品番号「G1」に基づく検索が行われた検索日時「01日00時01分」を注文試行時点と判別すると説明した。しかし、これらに限定される訳では無い。
本変形例では、情報処理装置100の情報記憶部190は、商品番号に代えて、商品を識別する型番が保存されている不図示の商品テーブルを記憶している。また、本変形例では、情報処理装置100の判別部140は、図12のステップS55において、注目キーワード「G1」が型番でないと判別すると、注目キーワード「G1」に基づいて注文試行商品及び注文試行時点を判別できないと判別する。その後、情報処理装置100は、ステップS53から上記処理を繰り返す。これに対して、判別部140は、注目キーワード「G1」が型番であると判別すると、型番「G1」で識別される商品G1を注文試行商品と判別し、型番「G1」に基づく検索が行われた検索日時「01日00時01分」を注文試行時点と判別する。本変形例では、商品の型番は、当該商品を製造する製造者を識別する番号と、当該製造者によって製造された商品を識別する番号であり、かつ、当該製造者が当該商品に割り当てた番号と、の組み合わせであるが、これに限定される訳では無い。
<実施例の変形例4>
実施例と、実施例の変形例3と、は、組み合わせることができる。実施例では、情報処理装置100は、注目キーワードが商品番号であると判別すると、当該商品番号で識別される商品を注文試行商品と判別し、当該商品番号に基づく検索が行われた検索日時を注文試行時点と判別すると説明した。また、実施例の変形例3では、情報処理装置100は、注目キーワードが型番であると判別すると、当該型番で識別される商品を注文試行商品と判別し、当該型番に基づく検索が行われた検索日時を注文試行時点と判別すると説明した。
実施例と、実施例の変形例3と、の組み合わせである本変形例では、情報処理装置100の判別部140は、注目キーワードが商品番号又は型番であると判別すると、当該商品番号又は当該型番で識別される商品を注文試行商品と判別し、当該商品番号又は当該型番に基づく検索が行われた検索日時を注文試行時点と判別する。これに対して、判別部140は、注目キーワードが商品番号でなく、かつ、型番でないと判別すると、ステップS53から上記処理を繰り返す。
<実施例の変形例5>
実施例では、情報処理装置100の判別部140は、注文商品G3を注文したユーザU1によって入力された注目キーワード「G1」が商品番号である場合に(図12のステップS55;Yes)、商品番号「G1」で識別される商品G1を、ユーザU1の注文試行商品と判別し、商品番号「G1」に基づく検索が行われた検索日時「01日00時01分」を、ユーザU1の注文試行時点と判別すると説明した。しかし、これに限定される訳では無い。本変形例では、情報処理装置100の判別部140は、注目キーワード「G1」に基づいて検索された商品の数が1つであると判別すると、検索された当該1つの商品を注文試行商品と判別し、注目キーワード「G1」に基づく検索が行われた検索日時を注文試行時点と判別する。
このために、図12のステップS55において、情報処理装置100の取得部120は、図7の検索履歴テーブルから、図12のステップS51で設定された注文期間に含まれる検索日時を表す情報と、注文商品G3を注文したユーザU1のユーザID「U1」と、注目キーワード「G1」を表す情報と、が保存されたレコードを取得する。このようにして、検索期間に含まれる検索日時において、在庫数が「0」個であった売切商品を含む条件で、ユーザID「U1」で識別されるユーザU1が入力したキーワード「G1」に基づいて行われた検索結果が特定される。
このとき、情報処理装置100の判別部140は、取得されたレコードに商品番号が1つだけ保存されていると判別すると、注目キーワード「G1」に基づいて検索された商品の数が1つであると判別する。次に、判別部140は、取得されたレコードに保存されている商品番号で識別される商品を、ユーザID「U1」で識別されるユーザU1の注文試行商品と判別し、取得されたレコードに保存されている情報で表される検索日時を、ユーザU1の注文試行時点と判別する。その後、情報処理装置100は、ステップS57からレコメンド商品判別処理の実行を継続する。
これに対して、情報処理装置100の判別部140は、取得されたレコードに保存されている商品番号の数が複数であると判別すると、注目キーワード「G1」に基づいて検索された商品の数が1つでないと判別する。次に、判別部140は、注目キーワード「G1」に基づく検索履歴から注文試行商品及び注文試行時点を判別できないと判別する。その後、情報処理装置100は、ステップS53からレコメンド商品判別処理の実行を継続する。
これらの構成によれば、情報処理装置100の判別部140は、注目キーワード「G1」に基づいて検索された商品の数が1つであると判別すると、検索された当該1つの商品を注文試行商品と判別し、注目キーワード「G1」に基づく検索が行われた検索日時を注文試行時点と判別する。このため、情報処理装置100は、従来よりも注文試行商品と注文試行時点とを精度良く判別できる。
<実施例の変形例6>
実施例では、情報処理装置100の判別部140は、ユーザU1による商品の検索履歴に基づいて、ユーザU1の注文試行商品と判別すると説明したが、これに限定される訳ではない。本変形例では、情報処理装置100の判別部140は、商品が記載されたウェブ頁のユーザU1による閲覧履歴に基づいて、ユーザU1の注文試行商品と判別する。すなわち、本変形例では、判別部140は、図12のステップS51で予め設定された注文期間内に、ユーザU1が予め定められた回数以上の回数閲覧したウェブ頁に記載された商品を、ユーザU1の注文試行商品と判別する。また、本変形例では、判別部140は、ユーザU1が当該ウェブ頁を、注文期間内に最後に閲覧した時点を、ユーザU1の注文試行時点と判別する。
このため、本変形例に係る情報処理装置100の情報記憶部190は、ウェブ頁の出力履歴に関する情報が保存される、図17に示すような出力履歴テーブルを記憶している。出力履歴テーブルには、ウェブ頁が出力された日時(以下、出力日時という)を表す情報と、当該ウェブ頁の宛先とされた端末装置800を使用するユーザU1のユーザID「U1」と、当該ウェブ頁の所在を表すURLと、が対応付けられて保存される。
本変形例に係る情報処理装置100の保存部130は、図5のステップS10で、端末装置800を宛先としてウェブ頁が出力された後、ウェブ頁の出力履歴に関する情報を出力履歴テーブルに保存する。このために、取得部120は、例えば、OSからシステム日時をウェブ頁の出力日時として取得する。次に、保存部130は、ウェブ頁の出力日時を表す情報と、当該ウェブ頁の宛先とされた端末装置800を使用するユーザU1のユーザID「U1」と、当該ウェブ頁の所在を表すURLと、を対応付けることで、出力履歴を表す情報を生成する。その後、保存部130は、生成された出力履歴を表す情報を出力履歴テーブルに保存する。次に、情報処理装置100は、ステップS03から第1注文受付処理の実行を継続する。
本変形例に係る情報処理装置100は、図18に示すようなレコメンド商品判別処理を実行する。レコメンド商品判別処理の実行を開始すると、情報処理装置100は、図12のステップS51と同様の処理を実行することで、注文期間を設定する(ステップS91)。その後、取得部120は、図17の出力履歴テーブルから、注文期間に含まれる出力日時を表す情報と、端末装置800を使用するユーザU1のユーザID「U1」と、が保存されたレコードを1又は複数取得する(ステップS92)。
次に、情報処理装置100の判別部140は、取得された1又は複数のレコードに保存されているURLの内に、未注目のURLが存在するか否かを判別する(ステップS93)。このとき、判別部140は、未注目のURLが存在すると判別すると(ステップS93;Yes)、未注目のURLの1つに注目する(ステップS94)。
次に、情報処理装置100の判別部140は、ステップS92で取得された1又は複数のレコードの内で、注目されたURL(以下、注目URLという)が保存されたレコードの数を計数する。これにより、判別部140は、注目URLに在るウェブ頁(以下、注目ウェブ頁という)が、注文期間内に端末装置800へ送信された回数を計数し、計数された回数を、注目ウェブ頁が、端末装置800を使用するユーザU1によって閲覧された回数と判別する。
その後、情報処理装置100の取得部120は、情報記憶部190から、予め定められた閲覧回数用の閾値を取得する。本変形例では、閲覧回数用の閾値は、「3」回に予め設定されているが、これに限定される訳では無く、「1」回以上、かつ、「3」回より少ない回数、又は、「3」回より多い回数に予め設定されていても良い。好適な閲覧回数用の閾値は、当業者が実験により定めることができる。
次に、情報処理装置100の判別部140は、注目ウェブ頁の閲覧回数が、取得された閾値以上であるか否かを判別する(ステップS95)。このとき、注目ウェブ頁の閲覧回数が閾値以上であると判別されると(ステップS95;Yes)、取得部120は、図4の商品テーブルから、注目URLと対応付けられた商品番号を取得する。次に、判別部140は、取得された商品番号で識別される商品を、注目ウェブ頁に記載された商品であり、かつ、端末装置800を使用するユーザU1が注文しようとした注文試行商品であると判別する(ステップS96)。
また、情報処理装置100の判別部140は、ステップS92で取得され、かつ、注目URLが保存されている複数のレコードに保存されている情報の内で、最も遅い出力日時を表す情報を判別する。次に、判別部140は、判別された情報で表される出力日時を、端末装置800を使用するユーザU1が注目ウェブ頁を、注文期間内に最後に閲覧した時点と判別する。その後、判別部140は、ユーザU1が注目ウェブ頁を注文期間内に最後に閲覧した時点を、注文試行日時と判別する。その後、情報処理装置100は、図12のステップS57からS60の処理と同様の処理を実行した後に(ステップS97からS100)、レコメンド商品判別処理の実行を終了する。
ステップS95において、情報処理装置100は、注目ウェブ頁の閲覧回数が閲覧回数用の閾値よりも少ないと判別すると(ステップS95;No)、ステップS93から上記処理を繰り返す。
ステップS93において、情報処理装置100は、未注目のURLが存在しないと判別すると(ステップS93;No)、レコメンド商品判別処理の実行を終了する。
本変形例では、情報処理装置100の判別部140は、注文試行商品が記載されたウェブ頁を、端末装置800を使用するユーザU1が、注文期間内に最後に閲覧した時点を、ユーザU1の注文試行時点と判別すると説明したが、これに限定される訳では無い。判別部140は、当該ウェブ頁をユーザU1が、注文期間内に最初に閲覧した時点を、ユーザU1の注文試行時点と判別しても良い。また、判別部140は、当該ウェブ頁をユーザU1が、注文期間内に、閲覧回数用の閾値で表される回数閲覧した時点を、ユーザU1の注文試行時点と判別しても良い。
これらの構成によれば、情報処理装置100の判別部140は、注文商品G3を注文したユーザU1が予め設定された注文期間内に、予め定められた回数以上の回数閲覧したウェブ頁に記載された商品を、ユーザU1の注文試行商品と判別する。このため、情報処理装置100は、従来よりも注文試行商品を精度良く判別できる。
<実施例の変形例7>
実施例の変形例6では、情報処理装置100の判別部140は、ユーザU1が、予め設定された注文期間内に、予め定められた回数以上の回数閲覧したウェブ頁に記載された商品を、ユーザU1の注文試行商品と判別すると説明した。しかし、これに限定される訳ではない。本変形例では、判別部140は、ユーザU1が注文期間内に、予め定められた時間以上の時間に亘り閲覧したウェブ頁に記載された商品を、ユーザU1の注文試行商品と判別する。また、本変形例では、判別部140は、ユーザU1が当該ウェブ頁を、注文期間内に最後に閲覧した時点を、ユーザU1の注文試行時点と判別する。
このため、本変形例に係る情報処理装置100は、実施例の変形例6と同様に、図17に示した出力履歴テーブルを記憶している。また、本変形例に係る情報処理装置100は、図5のステップS10でウェブ頁を出力した後、ウェブ頁の出力履歴に関する情報を出力履歴テーブルに保存する。その後、情報処理装置100は、ステップS03から第1注文受付処理の実行を継続する。
本変形例に係る情報処理装置100は、図19に示すようなレコメンド商品判別処理を実行する。レコメンド商品判別処理の実行を開始すると、情報処理装置100は、図18のステップS91及び92と同様の処理を実行する。これにより、情報処理装置100は、注文期間を設定し(ステップS101)、図17の出力履歴テーブルから、注文期間に含まれる出力日時を表す情報と、ユーザU1のユーザID「U1」と、が保存されたレコードを1又は複数取得する(ステップS102)。
次に、情報処理装置100の判別部140は、取得された1又は複数のレコードの内に、未注目のレコードが存在するか否かを判別する(ステップS103)。このとき、判別部140は、未注目のレコードが存在すると判別すると(ステップS103;Yes)、ステップS102で取得され、かつ、未注目である、1又は複数のレコードの内で、最も早い出力日時(以下、最早出力日時という)を表す情報が保存されているレコードに注目する(ステップS104)。
次に、情報処理装置100の取得部120は、ステップS102で取得された1又は複数のレコードの内から、最早出力日時よりも遅い出力日時を表す情報が保存されたレコードの取得を試行する。このとき、判別部140は、レコードが取得されないと判別すると、最早出力日時から注文期間の終了日時までの時間を、注目レコードに保存されたURLに在るウェブ頁(以下、注目ウェブ頁という)が、端末装置800を使用するユーザU1によって閲覧された閲覧時間と判別する。
これに対して、情報処理装置100の判別部140は、注目ウェブ頁が出力された最早出力日時よりも遅い出力日時を表す情報が保存されているレコードが1又は複数取得されると判別すると、取得される1又は複数のレコードの内で、最も早い出力日時を表す情報が保存されているレコードを判別する。次に、判別部140は、判別されたレコードに保存されている情報で表される出力日時を、注目ウェブ頁の1つ後にウェブ頁が出力された日時(以下、次出力日時という)と判別する。次に、判別部140は、注目ウェブ頁の出力日時である最早出力日時から、注目ウェブ頁の1つ後にウェブ頁が出力された日時である次出力日時までの時間を、注目ウェブ頁の閲覧時間と判別する。
その後、情報処理装置100の取得部120は、情報記憶部190から、予め定められた閲覧時間用の閾値を取得する。本変形例では、閲覧時間用の閾値は、「30」秒に予め設定されているが、これに限定される訳では無く、「0」秒より長く、かつ、「30」秒より短い時間長、又は、「30」秒より長い時間長に予め設定されていても良い。好適な閲覧時間用の閾値は、当業者が実験により定めることができる。
次に、情報処理装置100の判別部140は、注目ウェブ頁の閲覧時間の長さが、取得された閾値以上であるか否かを判別する(ステップS105)。このとき、注目ウェブ頁の閲覧時間の長さが閾値以上であると判別されると(ステップS105;Yes)、取得部120は、図4の商品テーブルから、注目レコードに保存されているURLと対応付けられた商品番号を取得する。次に、判別部140は、取得された商品番号で識別される商品を、注目ウェブ頁に記載された商品であり、かつ、ユーザU1が注文しようとした注文試行商品であると判別する(ステップS106)。
また、情報処理装置100の取得部120は、ステップS102で取得された1又は複数のレコードの内で、注目ウェブ頁のURLが保存されている1又は複数のレコードを取得する。次に、判別部140は、取得された1又は複数のレコードに保存されている情報の内で、最も遅い出力日時を表す情報を判別し、判別された情報で表される出力日時を、ユーザU1が注目ウェブ頁を、注文期間内に最後に閲覧した時点と判別する。その後、判別部140は、最後に閲覧した時点と判別された出力日時を、注文試行日時と判別する。その後、情報処理装置100は、図18のステップS97からS100の処理と同様の処理を実行した後に(ステップS107からS110)、レコメンド商品判別処理の実行を終了する。
ステップS105において、情報処理装置100の判別部140は、注目ウェブ頁の閲覧時間の長さが閲覧時間用の閾値よりも短いと判別すると(ステップS105;No)、ユーザU1は、注目ウェブ頁に記載された商品を注文しようとした訳では無いと判別する。次に、情報処理装置100は、ステップS103から上記処理を繰り返す。
ステップS103において、情報処理装置100は、未注目のレコードが存在しないと判別すると(ステップS103;No)、レコメンド商品判別処理の実行を終了する。
本変形例では、情報処理装置100の判別部140は、注文試行商品が記載されたウェブ頁を、ユーザU1が注文期間内に最後に閲覧した時点を、ユーザU1の注文試行時点と判別すると説明したが、これに限定される訳では無い。判別部140は、当該ウェブ頁をユーザU1が、注文期間内に最初に閲覧した時点を、ユーザU1の注文試行時点と判別しても良い。また、判別部140は、当該ウェブ頁をユーザU1が、注文期間内に、閲覧時間用の閾値と同じ長さの時間に亘り閲覧した時点を、ユーザU1の注文試行時点と判別しても良い。
これらの構成によれば、情報処理装置100の判別部140は、ユーザU1が予め設定された注文期間内に、予め定められた時間以上の時間に亘り閲覧したウェブ頁に記載された商品を、ユーザU1の注文試行商品と判別する。このため、情報処理装置100は、従来よりも注文試行商品を精度良く判別できる。
<実施例の変形例8>
ユーザU1が予め設定された注文期間内に予め定められた回数以上の回数閲覧したウェブ頁に記載された商品を、ユーザU1の注文試行商品と判別する実施例の変形例6と、ユーザU1が注文期間内に予め定められた時間以上の時間に亘り閲覧したウェブ頁に記載された商品を、ユーザU1の注文試行商品と判別する実施例の変形例7と、は、組み合わせることができる。
このため、本変形例に係る情報処理装置100の判別部140は、ユーザU1が予め設定された注文期間内に予め定められた回数以上の回数閲覧したウェブ頁、及び、ユーザU1が注文期間内に予め定められた時間以上の時間に亘り閲覧したウェブ頁、の少なくとも1つに記載された商品を、ユーザU1の注文試行商品と判別する。
また、これに限定される訳では無く、情報処理装置100の判別部140は、ユーザU1が予め設定された注文期間内に予め定められた回数以上の回数閲覧し、かつ、ユーザU1が注文期間内に予め定められた時間以上の時間に亘り閲覧した、ウェブ頁に記載された商品を、ユーザU1の注文試行商品と判別しても良い。
<実施例の変形例9>
実施例の変形例6では、情報処理装置100の判別部140は、注文商品G3を注文したユーザU1が、予め設定された注文期間内に、予め定められた回数以上の回数閲覧したウェブ頁に記載された商品を、ユーザU1の注文試行商品と判別すると説明した。しかし、これに限定される訳ではない。本変形例では、情報処理装置100の判別部140は、予め定められた注文期間内に、売切商品が記載されたウェブ頁をユーザU1が閲覧した場合であり、かつ、当該売切商品の代替商品が記載されたウェブ頁を、当該注文期間内に、予め定められた回数以上の回数、ユーザU1が閲覧した場合、当該売切商品を、ユーザU1の注文試行商品と判別する。本変形例では、売切商品の代替商品は、売切商品のジャンルに属する商品であり、かつ、当該売切商品と異なる商品である。
このため、本変形例に係る情報処理装置100の情報記憶部190は、ウェブ頁の出力履歴に関する情報が保存される、不図示の出力履歴テーブルを記憶している。不図示の出力履歴テーブルには、ウェブ頁の出力日時を表す情報と、当該ウェブ頁の宛先とされた端末装置を使用するユーザU1のユーザIDと、当該ウェブ頁の所在を表すURLと、当該ウェブ頁に記載された商品のジャンルを表す情報と、出力日時における当該商品の売切フラグと、が対応付けられて保存される。
本変形例に係る情報処理装置100の保存部130は、図5のステップS10で、端末装置800を宛先としてウェブ頁が出力された後、ウェブ頁の出力履歴に関する情報を出力履歴テーブルに保存する。このために、取得部120は、図4の商品テーブルから、出力されたウェブ頁のURLと対応付けられたジャンルを表す情報と、在庫数を表す情報と、を取得する。次に、制御部110は、取得された情報で表される在庫数が「0」個の場合に、値「true」の売切フラグを生成し、在庫数が「0」個より多い場合に、値「false」の売切フラグを生成する。その後、制御部110は、ウェブ頁の出力日時を表す情報と、当該ウェブ頁の宛先とされた端末装置800を使用するユーザU1のユーザID「U1」と、当該ウェブ頁の所在を表すURLと、当該ウェブ頁に記載された商品のジャンルを表す情報と、生成された当該商品の売切フラグと、を対応付けることで、出力履歴を表す情報を生成する。その後、保存部130は、生成された出力履歴を表す情報を出力履歴テーブルに保存する。次に、情報処理装置100は、ステップS03から第1注文受付処理の実行を継続する。
本変形例に係る情報処理装置100は、図20に示すようなレコメンド商品判別処理を実行する。レコメンド商品判別処理の実行を開始すると、情報処理装置100は、図19のステップS101から103と同様の処理を実行する。これにより、情報処理装置100は、注文期間を設定し(ステップS111)、不図示の出力履歴テーブルから、注文期間に含まれる出力日時を表す情報と、端末装置800を使用するユーザU1のユーザID「U1」と、が保存されたレコードを1又は複数取得する(ステップS112)。また、情報処理装置100は、取得された1又は複数のレコードの内に、未注目のレコードが存在するか否かを判別する(ステップS113)。
このとき、情報処理装置100の判別部140は、未注目のレコードが存在すると判別すると(ステップS113;Yes)、未注目のレコードの1つに注目する(ステップS114)。次に、判別部140は、注目されたレコード(以下、注目レコードという)に保存された情報で表される出力日時を、注目レコードに保存されたURL(以下、注目URLという)に在るウェブ頁(以下、注目ウェブ頁という)が、注目レコードに保存されたユーザIDで識別されるユーザU1によって閲覧された閲覧日時と判別する。
次に、情報処理装置100の判別部140は、閲覧日時において、注目ウェブ頁に記載されていた商品(以下、注目商品という)が売切商品であったか否かを、注目レコードに保存された売切フラグに基づいて判別する(ステップS115)。このとき、判別部140は、注目レコードに保存された売切フラグの値が「true」であると、閲覧日時において、注目ウェブ頁に記載されていた商品が売切商品であったと判別する(ステップS115;Yes)。
次に、情報処理装置100の判別部140は、ステップS111で設定された注文期間において、端末装置800を使用するユーザU1が、売切商品であった注目商品の代替商品が記載されたウェブ頁を閲覧した回数を計数する。このために、取得部120は、注目レコードに保存されたジャンル(以下、注目商品のジャンルという)を表す情報を取得する。次に、取得部120は、注目商品のジャンルに基づいて、ステップS112で取得された1又は複数のレコードから、注目商品の代替商品に関するレコードを取得することを試行する。このために、取得部120は、ステップS112で取得された1又は複数のレコードから、注目URLと異なるURLと、注目商品のジャンルと同じジャンルを表す情報と、が保存されたレコードの取得を試行する。このようなレコードの取得が試行されるのは、注目商品の代替商品とは、注目商品のジャンルに属する商品であり、かつ、注目商品と異なる商品を意味するからである。
次に、情報処理装置100の判別部140は、注目商品の代替商品に関する1又は複数のレコードが取得されると判別すると、取得される1又は複数のレコードを計数する。これより、判別部140は、注文期間において、端末装置800を宛先として、売切商品の代替商品が記載されたウェブ頁が出力された回数を計数する。その後、判別部140は、計数された出力回数を、注文期間において、端末装置800を使用するユーザU1が、売切商品の代替商品が記載されたウェブ頁を閲覧した回数と判別する。
その後、情報処理装置100の取得部120は、情報記憶部190から、予め定められた閲覧回数用の閾値を取得する。次に、判別部140は、売切商品の代替商品が記載されたウェブ頁の閲覧回数が、取得された閾値以上であるか否かを判別する(ステップS116)。このとき、判別部140は、売切商品の代替商品が記載されたウェブ頁の閲覧回数が閾値以上であると判別すると(ステップS116;Yes)、端末装置800のユーザU1が売切商品であった注目商品を注文しようとしたが、注文できなかったため、売切商品の代替品の注文を検討したと判別する。
このため、情報処理装置100の取得部120は、図4の商品テーブルから、注目URLと対応付けられた商品番号を取得する。次に、判別部140は、取得された商品番号で識別される商品を、注目ウェブ頁に記載された注目商品であり、かつ、端末装置800を使用するユーザU1が注文しようとした注文試行商品であると判別する(ステップS117)。また、判別部140は、ステップS112で取得され、かつ、注目URLが保存されている複数のレコードに保存されている情報の内で、最も遅い出力日時を注文試行日時と判別する。その後、情報処理装置100は、図19のステップS108からS110の処理と同様の処理を実行した後に(ステップS118からS120)、レコメンド商品判別処理の実行を終了する。
ステップS115において、情報処理装置100の判別部140は、注目レコードに保存された売切フラグの値が「false」であると、閲覧日時において、注目ウェブ頁に記載されていた注目商品が売切商品でなかったと判別する(ステップS115;No)。このため、判別部140は、閲覧日時において、端末装置800を使用するユーザU1は、注目商品の注文が可能であったので、注目商品の注文をユーザU1に勧める必要が無いと判別する。その後、情報処理装置100は、ステップS113から上記処理を繰り返す。
ステップS116において、情報処理装置100の判別部140は、注目商品の代替商品に関するレコードが取得されないと判別すると、ユーザU1は、売切商品であった注目商品の代替商品が記載されたウェブ頁を、当該注文期間内に、閲覧していないと判別する。このため、判別部140は、注目商品をユーザU1が注文しようとした訳ではないと判別する、又は、注目商品を注文したか否かを判別できないと判別する。次に、情報処理装置100は、ステップS113から上記処理を繰り返す。
また、ステップS116において、情報処理装置100の判別部140は、売切商品であった注目商品の代替商品が記載されたウェブ頁の閲覧回数が閾値よりも少ないと判別すると(ステップS116;No)、端末装置800のユーザU1が注目商品を注文しようとした訳では無いと判別する、又は、注目商品を注文しようとしたか否かを判別できないと判別する。次に、情報処理装置100は、ステップS113から上記処理を繰り返す。
ステップS113において、情報処理装置100は、未注目のレコードが存在しないと判別すると(ステップS113;No)、レコメンド商品判別処理の実行を終了する。
本変形例では、注文試行商品が記載されたウェブ頁を、端末装置800を使用するユーザU1が、注文期間内に最後に閲覧した時点を、ユーザU1の注文試行時点と判別すると説明したが、これに限定される訳では無い。判別部140は、当該ウェブ頁をユーザU1が、注文期間内に最初に閲覧した時点を、ユーザU1の注文試行時点と判別しても良い。また、判別部140は、注文試行商品の代替商品が記載されたウェブ頁を、注文期間内に、閲覧回数用の閾値で表される回数、ユーザU1が閲覧した時点を、ユーザU1の注文試行時点と判別しても良い。
これらの構成によれば、情報処理装置100の判別部140は、予め定められた注文期間内に、売切商品が記載されたウェブ頁をユーザU1が閲覧した場合であり、かつ、当該売切商品の代替商品が記載されたウェブ頁を、当該注文期間内に、予め定められた回数以上の回数、ユーザU1が閲覧した場合、当該売切商品を、ユーザU1が注文しようとした注文試行商品であると判別する。このため、情報処理装置100は、従来よりも注文試行商品を精度良く判別できる。
<実施例の変形例10>
実施例の変形例9では、情報処理装置100の判別部140は、予め定められた注文期間内に、売切商品が記載されたウェブ頁をユーザU1が閲覧した場合であり、かつ、当該売切商品の代替商品が記載されたウェブ頁を、当該注文期間内に、予め定められた回数以上の回数、ユーザU1が閲覧した場合、当該売切商品を、ユーザU1の注文試行商品と判別すると説明した。しかし、これに限定される訳では無い。本変形例では、予め定められた注文期間内に、売切商品が記載されたウェブ頁をユーザU1が閲覧した場合であり、かつ、予め定められた注文期間よりも前に、当該売切商品をユーザU1が注文している場合、当該売切商品をユーザU1の注文試行商品と判別する。
このため、本変形例に係る情報処理装置100の情報記憶部190は、実施例の変形例6と同様に、図17に示した出力履歴テーブルを予め記憶している。情報処理装置100の保存部130は、実施例の変形例6と同様に、図5のステップS10で、端末装置800を宛先としてウェブ頁が出力された後、ウェブ頁の出力履歴に関する情報を出力履歴テーブルに保存する。次に、情報処理装置100は、ステップS03から第1注文受付処理の実行を継続する。
また、本変形例に係る情報処理装置100の情報記憶部190は、注文に関する情報が保存される、不図示の注文履歴テーブルを予め記憶している。注文履歴テーブルには、注文受付日時を表す情報と、注文を行ったユーザのユーザIDと、注文された商品の商品番号と、が対応付けられて保存される。
情報処理装置100の保存部130は、図5のステップS12で、注文を受け付けた後、注文受付日時を表す情報と、注文を行ったユーザのユーザIDと、注文された商品の商品番号と、を対応付けることで、受け付けられた注文に関する情報を生成する。次に、保存部130は、生成された注文に関する情報を注文履歴テーブルに保存する。その後、情報処理装置100は、ステップS13から第1注文受付処理の実行を継続する。
情報処理装置100は、図21に示すようなレコメンド商品判別処理を実行する。レコメンド商品判別処理の実行を開始すると、情報処理装置100は、図20のステップS111から115と同様の処理を実行する。これにより、情報処理装置100は、注文期間を設定し(ステップS121)、不図示の出力履歴テーブルから、注文期間に含まれる出力日時を表す情報と、端末装置800を使用するユーザU1のユーザID「U1」と、が保存されたレコードを1又は複数取得する(ステップS122)。また、情報処理装置100は、取得された1又は複数のレコードの内に、未注目のレコードが存在すると判別し(ステップS123;Yes)、未注目のレコードの1つに注目する(ステップS124)。
さらに、情報処理装置100の判別部140は、注目レコードに保存された情報で表される出力日時を、注目ウェブ頁がユーザU1によって閲覧された閲覧日時と判別する。また、判別部140は、閲覧日時において、注目ウェブ頁に記載されていた注目商品が売切商品であったか否かを判別する(ステップS125)。
このとき、情報処理装置100の判別部140は、閲覧日時において、注目商品が売切商品であったと判別すると(ステップS125;Yes)、当該売切商品を、端末装置800のユーザU1が、ステップS121で設定された注文期間よりも前に、注文しているか否かを判別する(ステップS126)。
このために、情報処理装置100の取得部120は、注目商品の商品番号を取得するために、図4の商品テーブルから、注目レコードに保存された注目URLと対応付けられた商品番号を取得する。次に、判別部140は、不図示の注文履歴テーブルから、注文期間の開始日時よりも前の注文受付日時を表す情報と、ユーザU1のユーザID「U1」と、取得された商品番号と、が保存されているレコードが存在するか否かを判別する。このとき、判別部140は、そのようなレコードが存在すると判別すると、ユーザU1が、閲覧日時において売切商品であった注目商品を、注文期間よりも前に注文していると判別する(ステップS126;Yes)。このため、情報処理装置100の判別部140は、端末装置800のユーザU1が、注目商品を、注文期間よりも前に注文したことがあり、再度、注目商品を注文しようと注目ウェブ頁を閲覧したが、閲覧日時において注目商品が売切商品であったため、注目商品を注文しなかったと判別する。
このため、情報処理装置100の判別部140は、売切商品であった注目商品を、端末装置800を使用するユーザU1が注文しようとした注文試行商品であると判別する(ステップS127)。また、判別部140は、注目ウェブ頁の閲覧日時を注文試行日時と判別する。その後、情報処理装置100は、図20のステップS118からS120の処理と同様の処理を実行した後に(ステップS128からS130)、レコメンド商品判別処理の実行を終了する。
ステップS125において、情報処理装置100の判別部140は、閲覧日時において注目商品が売切商品でなかったと判別すると(ステップS125;No)、実施例の変形例9と同様に、ステップS123から上記処理を繰り返す。
ステップS126において、情報処理装置100の判別部140は、注文期間の開始日時よりも前の注文受付日時を表す情報と、ユーザU1のユーザID「U1」と、売切商品であった注目商品の商品番号と、が保存されているレコードが、不図示の注文履歴テーブルに存在しないと判別すると、ユーザU1は、売切商品であった注目商品を、注文期間よりも前に注文していないと判別する(ステップS126;No)。このため、情報処理装置100の判別部140は、ユーザU1が、再度、注目商品を注文しようと注目ウェブ頁を閲覧した訳では無いと判別する。次に、判別部140は、ユーザU1が注目商品を注文しようとしたか否かを判別できないと判別する。次に、情報処理装置100は、ステップS123から上記処理を繰り返す。
ステップS123において、情報処理装置100は、未注目のレコードが存在しないと判別すると(ステップS123;No)、レコメンド商品判別処理の実行を終了する。
これらの構成によれば、情報処理装置100の判別部140は、予め定められた注文期間内に、売切商品が記載されたウェブ頁をユーザU1が閲覧した場合であり、かつ、予め定められた注文期間よりも前に、当該売切商品をユーザU1が注文している場合、当該売切商品をユーザU1の注文試行商品と判別する。また、判別部140は、注文期間内の日時であり、かつ、売切商品が記載されたウェブ頁をユーザU1が閲覧した閲覧日時を、ユーザU1の注文試行時点と判別する。このため、情報処理装置100は、従来よりも注文試行商品と注文試行時点とを精度良く判別できる。
<実施例の変形例11>
実施例では、情報処理装置100の制御部110は、移動体600に対する移動制御の終了以後に、図10のステップS34で、レコメンド商品G1が注文可能であることを知らせる注文可能通知を、端末装置800へ第2データ通信回路104bに送信させる制御を行うと説明した。しかし、これに限定される訳ではない。本変形例では、制御部110は、移動体600に対する移動制御の終了より前に、レコメンド商品G1が注文可能であることを知らせる注文可能通知を、端末装置800へ第2データ通信回路104bに送信させる制御を行う。
このため、本変形例に係る情報処理装置100の制御部110は、図9のステップS27で、仮想店舗のユーザU1に販売可能なレコメンド商品G1の在庫が実店舗に存在すると判別されると(ステップS27;Yes)、レコメンド商品G1が注文可能であることを知らせる注文可能通知を、端末装置800を宛先として第2データ通信回路104bに出力する。これにより、制御部110は、端末装置800へ注文可能通知を送信させる通信制御を第2データ通信回路104bに行う。その後、情報処理装置100は、ステップS28から移動制御処理の実行を継続する。
端末装置800は、注文可能通知を受信して表示する。本変形例では、注文可能通知を視認したユーザU1が、実施例と同様に、レコメンド商品G1の注文に用いられるオブジェクトを選択する操作を端末装置800に行う場合を具体例として挙げて以下の説明を行う。このため、端末装置800は、当該操作に従って、レコメンド商品G1の注文を受け付けることを求める注文受付要求と認証要求とを情報処理装置100へ送信する。
情報処理装置100の第2データ通信回路104bが認証要求と注文受付要求とを受信すると、情報処理装置100のCPU101は、図13に示した第2注文受付処理を、図9及び図10の移動制御処理と並列に実行する。
第2注文受付処理と並列に実行する移動制御処理において、情報処理装置100は、移動体600に対する移動制御が終了したと判別すると(図10のステップS31)、レコメンド商品G1を移動体600が積載していると判別する(ステップS32;Yes)。次に、情報処理装置100は、注文商品G3とレコメンド商品G1とが配送先の位置D1に配送されたことを知らせる配送通知を、端末装置800を宛先として第2データ通信回路104bへ出力する(ステップS33)。その後、情報処理装置100は、レコメンド商品G1が注文可能であることを知らせる注文可能通知を出力せずに、受取要求を、端末装置800を宛先として第2データ通信回路104bへ出力する(ステップS35)。注文可能通知が出力されないのは、図9のステップS27が実行された後、かつ、ステップS28が実行される前に、注文可能通知が出力されているからである。その後、情報処理装置100は、ステップS36から移動制御処理の実行を継続する。
本変形例では、情報処理装置100の制御部110は、図9のステップS27を実行した後、かつ、ステップS28を実行する前に、端末装置800に注文可能通知を送信させる通信制御を第2データ通信回路104bに行うと説明したが、これに限定される訳では無い。制御部110は、図9のステップS27を実行することで、仮想店舗のユーザU1に販売可能なレコメンド商品G1の在庫が実店舗に存在すると判別された後、かつ、図10のステップS31を実行することで、移動体600に対する移動制御が終了したと判別される前であれば、どのようなタイミングで、当該通信制御を第2データ通信回路104bに行っても良い。
これらの構成によれば、情報処理装置100は、ユーザU1の端末装置800と情報を通信する第2データ通信回路104bを備える。また、情報処理装置100の制御部110は、レコメンド商品G1の在庫が存在すると判別され、かつ、レコメンド商品G1が移動体600に積載可能であると判別される場合に、移動体600に対する移動制御の終了より前に、レコメンド商品G1が注文可能であることを知らせる注文可能通知を、ユーザU1の端末装置800へ第2データ通信回路104bに送信させる制御を行う。さらに、制御部110は、移動制御の終了以後に、注文商品G3とレコメンド商品G1が配送されたことを知らせる配送通知を、ユーザU1の端末装置800へ第2データ通信回路104bに送信させる制御を行う。またさらに、制御部110は、レコメンド商品G1の代金の決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信すると、ユーザU1の配送先の位置D1に滞在する移動体600に、注文商品G3とレコメンド商品G1とをユーザU1へ受け渡させる受渡制御を行う。このため、情報処理装置100は、移動体600を配送先の位置D1に到着させる前に、レコメンド商品G1が注文可能であることをユーザU1に知らせることができる。このため、レコメンド商品G1の注文、及び、レコメンド商品G1の代金の決済を、移動体600が配送先の位置D1に到着する前に、ユーザU1が行うことができる。このため、情報処理装置100は、ユーザU1の利便性の低下を抑制できるだけでなく、移動体600が位置D1に到着してからユーザU1がレコメンド商品G1を受け取るまでの時間の増長を抑制できる。
<実施例の変形例12>
実施例では、情報処理装置100の制御部110は、注文商品G3とレコメンド商品G1とを積載した移動体600に、配送先の位置D1まで移動させる移動制御を行ってから、レコメンド商品G1を注文可能であることを知らせる注文可能通知を送信させる通信制御を第2データ通信回路104bに行うと説明した。しかし、これに限定される訳では無い。本変形例では、制御部110は、注文可能通知を送信させる通信制御を行った後、レコメンド商品G1の代金の決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信すると、注文商品G3とレコメンド商品G1とを積載した移動体600に移動制御を行う。
このため、本変形例に係る情報処理装置100の制御部110は、図9のステップS27で、仮想店舗のユーザU1に販売可能なレコメンド商品G1の在庫が実店舗に存在すると判別されると(ステップS27;Yes)、レコメンド商品G1が注文可能であることを知らせる注文可能通知を、端末装置800を宛先として第2データ通信回路104bに出力する。
次に、情報処理装置100の制御部110は、不図示のハードウェアタイマー又はソフトウェアタイマーを用いて計時を開始する。その後、取得部120は、予め定められた注文時間長を表す情報を、情報処理装置100から取得する。次に、判別部140は、計時時間に基づいて、注文可能通知を出力してから注文時間が経過したか否かを判別する処理を実行する。このとき、判別部140は、注文時間が経過したと判別すると、レコメンド商品G1の注文を、端末装置800を使用するユーザU1が行う意思が無いと判別する。次に、情報処理装置100は、ステップS46から移動制御処理の実行を継続することで、注文商品G3を積載するが、レコメンド商品G1を積載しない移動体600に、配送先の位置D1まで移動させる移動制御を行う。
これに対して、注文可能通知を出力してから注文時間が経過していないと判別されると、取得部120は、図11のレコメンド商品テーブルから、レコメンド商品G1の商品番号と、注文商品G3を注文したユーザU1のユーザID「U1」と、に対応付けられている決済フラグを取得する。次に、判別部140は、決済フラグの値に基づいて、レコメンド商品G1の代金の決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信したか否かを判別する。
このとき、情報処理装置100の判別部140は、取得された決済フラグの値が「false」であると、決済完了報告を第2データ通信回路104bが受信していないと判別する。その後、情報処理装置100は、注文可能通知を出力してから注文時間が経過したか否かを判別する処理から上記処理を繰り返す。
これに対して、情報処理装置100の判別部140は、取得された決済フラグの値が「true」であると、決済完了報告を第2データ通信回路104bが受信したと判別する。次に、情報処理装置100は、ステップS28から移動制御処理の実行を継続することで、注文商品G3とレコメンド商品G1とを積載した移動体600に、配送先の位置D1まで移動させる移動制御を行う。
その後、情報処理装置100は、注文商品G3とレコメンド商品G1とが配送先の位置D1に配送されたことを知らせる配送通知を出力する(ステップS33)。次に、情報処理装置100は、実施例の変形例11と同様に、レコメンド商品G1が注文可能であることを知らせる注文可能通知を出力せずに、受取要求を出力した後に(ステップS35)、ステップS36から移動制御処理の実行を継続する。
これらの構成によれば、情報処理装置100は、ユーザU1の端末装置800と情報を通信する第2データ通信回路104bを備える。また、情報処理装置100の制御部110は、レコメンド商品G1の在庫が存在すると判別され、かつ、レコメンド商品G1が移動体600に積載可能であると判別される場合に、レコメンド商品G1を注文可能であることを知らせる注文可能通知を端末装置800へ送信させる通信制御を第2データ通信回路104bに行う。また、制御部110は、レコメンド商品G1の代金の決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信すると、注文商品G3とレコメンド商品G1とを積載した移動体600に、配送先の位置D1まで移動させる移動制御を行う。このため、例えば、注文商品G3とレコメンド商品G1とを積載した移動体600に移動制御を行った後に、レコメンド商品G1が注文可能であることを知らせる注文可能通知を送信する場合と比べて、情報処理装置100は、ユーザU1が受け取らない商品を配送先まで配送することを抑制できる。
<実施例の変形例13>
実施例では、情報処理装置100は、ユーザU1が注文した注文商品G3と、ユーザU1に注文を勧めるレコメンド商品G1と、を積載した移動体600に、ユーザU1が予め指定した配送先の位置D1へ移動させる移動制御を行うと説明した。しかし、これに限定される訳では無い。本変形例では、情報処理装置100は、ユーザU1が注文した注文商品G3と、第2ユーザに注文を勧めるレコメンド商品G1と、を積載した移動体600に、ユーザU1の配送先の位置D1へ移動させる第1移動制御を行った後に、ユーザU2の配送先の位置D2へ移動体600を移動させる第2移動制御を行う。本変形例において、第2ユーザは、ユーザU1の配送先の位置D1からの距離が予め定められた距離以下の位置D2を配送先に指定するユーザである。
このため、本変形例に係る情報処理システム1は、情報処理装置100、POSシステム200、移動体600、及び、第1ユーザが使用する端末装置800と、第2ユーザが使用する不図示の端末装置900と、を備える。端末装置900の構成及び機能は、端末装置800の構成及び機能と同様である。
本変形例に係る情報処理装置100は、実施例の変形例10と同様に、不図示の注文履歴テーブルを予め記憶している。情報処理装置100は、図5のステップS12で、注文を受け付けた後、注文受付日時を表す情報と、注文を行ったユーザのユーザIDと、注文された商品の商品番号と、を対応付けて、不図示の注文履歴テーブルに保存する。その後、情報処理装置100は、ステップS13から第1注文受付処理の実行を継続する。
本変形例に係る情報処理装置100は、起動すると、図22から図24に示すような移動制御処理を実行する。情報処理装置100は、移動制御処理の実行を開始すると、図9のステップS21からS23と同様の処理を実行する(ステップS131からS133)。
本変形例では、実施例と同様に、端末装置800を使用するユーザU1のユーザID「U1」と、ユーザU1によって注文された注文商品G3の商品番号「G3」と、商品G3が格納される格納ボックス623のボックスID「B3」と、ユーザU1の配送先の位置D1を表す位置情報と、配送元の位置Sから配送先の位置D1へ到る移動経路PSD1を表す情報と、を含む、配送予定を表す情報が注目される場合を具体例として挙げて以下の説明を行う。
このため、情報処理装置100は、ユーザU1の注文商品G3を移動体600に積載した場合に、レコメンド商品を移動体600に積載可能であるか否かを判別する(ステップS133)。本変形例では、実施例と同様に、レコメンド商品を移動体600に積載可能であると判別される場合を具体例として挙げて以下の説明を行う。
このため、情報処理装置100の判別部140は、レコメンド商品を積載可能であると判別すると(ステップS133;Yes)、ユーザU1(以下、第1ユーザとも称する)の配送先の近傍の位置を配送先として指定するユーザ(以下、第2ユーザとも称する)が存在するか否かを判別する(ステップS134)。このために、取得部120は、図6のユーザテーブルから、ユーザU1の配送先の位置D1を表す位置情報を取得する。また、取得部は、近傍の位置を定義するために予め定められた距離(以下、近傍距離という)を表す情報を情報記憶部190から取得する。本変形例では、近傍距離は「1km」に予め設定されているが、「0km」よりも長く、かつ、「1km」よりも短い距離であっても良いし、「1km」より長い距離であっても良い。好適な近傍距離は、当業者が実験により定めることができる。
次に、情報処理装置100の取得部120は、位置D1を表す位置情報と、近傍距離を表す情報と、に基づいて、図6のユーザテーブルから、ユーザU1が予め指定した配送先の位置D1からの距離が近傍距離以下の位置を表す位置情報と対応付けられており、かつ、ユーザU1のユーザID「U1」と異なるユーザIDを取得することを試行する。
本変形例では、ユーザU2は、ユーザU1の配送先の位置D1からの距離が近傍距離以下である不図示の位置D2を、配送先として予め指定している場合を具体例として挙げて以下の説明を行う。このため、取得部120は、ユーザU2のユーザID「U2」を取得し、判別部140は、ユーザU2が第2ユーザであるため、第2ユーザが存在すると判別する(ステップS134;Yes)。
その後、情報処理装置100は、図12に示したレコメンド商品判別処理を実行する(ステップS135)。レコメンド商品判別処理の実行を開始すると、情報処理装置100は、ユーザU1が行った注文の注文受付日時を含む注文期間を設定する(ステップS51)。次に、情報処理装置100の取得部120は、図7の検索履歴テーブルから、注文期間に含まれる検索日時を表す情報と、商品の注文が勧められるユーザU2のユーザID「U2」と、に対応付けられたキーワードを表す情報の取得を試行する(ステップS52)。
キーワードが取得されないと判別すると、情報処理装置100の判別部140は、ユーザU2が、注文期間において検索を行っていないため、ユーザU2に注文を勧めるレコメンド商品を判別できないと判別する。その後、情報処理装置100は、レコメンド商品判別処理の実行を終了する。
これに対して、1又は複数のキーワードが取得されると、情報処理装置100は、未注目のキーワードが存在すると判別し(ステップS53;Yes)、未注目のキーワードの1つに注目し(ステップS54)、注目キーワードが商品番号であるか否かを判別する。
本変形例では、注文期間において、ユーザU2は、キーワード「G1」に基づいて商品G1を検索して注文しようとしたが、商品G1を注文しようとした時点で商品G1が売切商品であった場合を具体例として挙げて以下の説明を行う。このため、情報処理装置100は、注目キーワードが商品番号「G1」であると判別し(ステップS55)、商品番号「G1」で識別される商品G1を、ユーザU2の注文試行商品と判別する(ステップS56)。また、情報処理装置100は、図7の検索履歴テーブルにおいて、注目キーワード「G1」とユーザU2のユーザID「U2」とに対応付けられた情報で表される検索日時を、ユーザU2が注文試行商品G1を注文しようとした注文試行時点と判別する。その後、情報処理装置100は、注文試行商品G1が、注文試行時点で売切商品であったと判別する(ステップS57;Yes)。
次に、情報処理装置100の判別部140は、ユーザU2の注文試行商品G1が、ユーザU2が注文試行時点以後に注文した注文商品の代替商品であるか否かを判別する(ステップS58)。このために、取得部120は、不図示の注文履歴テーブルから、注文試行時点以後の注文受付日時を表す情報と、ユーザU2のユーザID「U2」と、に対応付けられた商品番号の取得を試行する。
本変形例では、商品番号が取得されない場合を具体例として挙げて以下の説明を行う。このため、情報処理装置100の判別部140は、商品番号が取得されないため、ユーザU2が注文試行時点以後に注文した注文商品が存在しないと判別する。次に、判別部140は、ユーザU2の注文試行商品G1は、ユーザU2が注文試行時点以後に注文した注文商品の代替商品でないと判別する(ステップS58;No)。
その後、情報処理装置100は、注文試行商品G1をレコメンド商品と判別する(ステップS59)。次に、情報処理装置100は、レコメンド商品G1を格納させる格納ボックスを選択する。本変形例では、ボックスID「B1」で識別される格納ボックス621が選択された場合を具体例として挙げて以下の説明を行う。その後、情報処理装置100は、図11のレコメンド商品テーブルに、レコメンド商品G1の商品番号「G1」と、レコメンド商品G1の注文が勧められるユーザU2のユーザID「U2」と、レコメンド商品G1が格納される格納ボックス621のボックスID「B1」と、レコメンド商品G1の代金の決済が完了していないことを表す決済フラグ「false」と、を対応付けて保存する(ステップS60)。次に、情報処理装置100は、レコメンド商品判別処理の実行を終了する。
図22のステップS135でレコメンド商品判別処理が実行された後、情報処理装置100は、図9のステップS25からS27と同様の処理を実行する(ステップS136からS138)。これにより、情報処理装置100は、ユーザU1の注文商品G3とレコメンド商品G1との探出及び運搬を実店舗の従業員に指示する。その後、情報処理装置100は、従業員に操作された入力装置105cから出力される信号に基づいて、仮想店舗のユーザU2に販売可能なレコメンド商品G1の在庫が実店舗に存在するか否かを判別する(ステップS138)。
本変形例では、レコメンド商品G1の在庫が実店舗に存在する場合を具体例として挙げて以下の説明を行う。このため、情報処理装置100は、レコメンド商品G1の在庫が存在すると判別し(ステップS138;Yes)、ステップS28からS30の処理と同様の処理を実行する(ステップS139からS141)。これにより、情報処理装置100の制御部110は、ユーザU1が注文した注文商品G3と、ユーザU2に注文が勧められるレコメンド商品G1と、を積載した移動体600に、ユーザU1の配送先の位置D1へ移動させる第1移動制御を開始する。
次に、情報処理装置100は、図10のステップS31と同様の処理を実行することで(ステップS142)、到着報告が取得されたと判別すると(ステップS142;Yes)、第1移動制御が終了したと判別する。その後、情報処理装置100の制御部110は、注文商品G3が配送先の位置D1に配送されたことを知らせる配送通知を生成する。また、制御部110は、位置D1に到着した移動体600にパスワードを入力して認証を受けること、及び、格納ボックス623から注文商品G3を受け取ることを求める受取要求を生成する。その後、制御部110は、配送通知及び受取要求を、端末装置800を宛先として第2データ通信回路104bへ出力する(ステップS143及びS144)。
次に、情報処理装置100は、図10のステップS36及びS37と同様の処理を実行することで(ステップS145及びS146)、移動体600から受信された認証要求に基づいて認証を行う。このとき、情報処理装置100は、認証が成功したと判別すると(ステップS146;Yes)、ステップS49と同様の処理を実行する。これにより、制御部110は、格納ボックス623の解錠を命じる解錠命令を、移動体600を宛先として第2データ通信回路104bへ出力することで(ステップS147)、格納ボックス623に格納された注文商品G3をユーザU1に受け渡させる第1受渡制御を移動体600に行う。
その後、情報処理装置100の判別部140は、図10のステップS41と同様の処理を実行することで、受渡報告を取得したと判別すると(ステップS148;Yes)、第1受渡制御が終了したと判別する。次に、情報処理装置100は、ステップS38と同様の処理を実行することで、移動体600がレコメンド商品G1を積載していると判別する(ステップS149;Yes)。次に、制御部110は、図5のステップS16と同様の処理を実行することで、ユーザU1の配送先の位置D1からユーザU2の配送先の位置D2に到る不図示の移動経路PD1D2を決定する。次に、制御部110は、移動経路PD1D2を表す情報を含み、かつ、当該移動経路PD1D2を移動することを命じる移動命令を、移動体600を宛先として第2データ通信回路104bへ出力する(ステップS150)。このようにして、制御部110は、レコメンド商品G1を積載した移動体600に、ユーザU1の配送先の位置D1から、ユーザU2の配送先の位置D2からまで、移動させる第2移動制御を開始する。
次に、情報処理装置100は、図10のステップS31と同様の処理を実行することで(ステップS151)、到着報告が取得されたと判別すると(ステップS151;Yes)、第2移動制御が終了したと判別する。その後、制御部110は、レコメンド商品G1が配送先の位置D2に配送されたことを知らせる配送通知を生成する。また、制御部110は、レコメンド商品G1が注文可能であることを知らせる注文可能通知を生成する。さらに、制御部110は、レコメンド商品G1を注文した場合に、位置D2に到着した移動体600にパスワードを入力して認証を受けること、及び、レコメンド商品G1を注文し、レコメンド商品G1の代金の決済を完了させ、かつ、認証を成功させた場合に、格納ボックス621からレコメンド商品G1を受け取ること、を求める受取要求を生成する。その後、制御部110は、配送通知、注文可能通知、及び、受取要求を、端末装置800を宛先として第2データ通信回路104bへ出力する(ステップS152からS154)。
次に、情報処理装置100は、図10のステップS36と同様の処理を実行することで、受取要求を出力してから受渡時間が経過したか否かを判別する(ステップS155)。このとき、受渡時間が経過していないと判別されると(ステップS155;No)、情報処理装置100の取得部120は、図11のレコメンド商品テーブルにおいて、レコメンド商品G1の商品番号「G1」と、レコメンド商品G1の注文が勧められたユーザU2のユーザID「U2」と、に対応付けられている決済フラグを取得する。次に、判別部140は、取得された決済フラグの値に基づいて、レコメンド商品G1の代金の決済が完了しているか否かを判別する(ステップS156)。
このとき、情報処理装置100は、レコメンド商品G1の代金の決済が完了していると判別すると(ステップS156;Yes)、図10のステップS37と同様の処理を実行することで(ステップS157)、移動体600から受信された認証要求に基づいて認証を行う。このとき、情報処理装置100の制御部110は、認証が成功したと判別されると(ステップS157;Yes)、ボックスID「B1」を含み、かつ、格納ボックス621の解錠を命じる解錠命令を、移動体600を宛先として第2データ通信回路104bへ出力する(ステップS158)。これにより、制御部110は、格納ボックス621に格納されたレコメンド商品G1をユーザU2に受け渡させる第2受渡制御を移動体600に行う。
その後、情報処理装置100の判別部140は、図10のステップS41と同様の処理を実行することで、受渡報告を取得したと判別すると(ステップS159;Yes)、第2受渡制御が終了したと判別する。次に、制御部110は、図5のステップS16と同様の処理を実行することで、ユーザU2の配送先の位置D2から、配送元である実店舗の位置Sに到る不図示の移動経路PD2Sを決定する。次に、制御部110は、移動経路PD2Sを表す情報を含み、かつ、当該移動経路PD2Sを移動することを命じる移動命令を、移動体600を宛先として第2データ通信回路104bへ出力する(ステップS160)。
その後、情報処理装置100は、図10のステップS43及びS44と同様の処理を実行する(ステップS161及びS162)。これにより、情報処理装置100は、実店舗の位置Sに移動体600が到着したことを告げる到着報告が取得されたと判別すると、図8の配送予定テーブルから、注目配送予定を表す情報が保存されたレコードを削除する。その後、情報処理装置100は、ステップS131から上記の処理を繰り返す。
これらの構成によれば、情報処理装置100は、第2ユーザであるユーザU2の端末装置900と情報を通信する第2データ通信回路104bを備える。また、情報処理装置100の制御部110は、レコメンド商品G1の在庫が存在すると判別され、かつ、レコメンド商品G1が積載可能であると判別される場合に、注文商品G3とレコメンド商品G1とを積載した移動体600を、注文商品G3の配送先の位置D1まで移動させる第1移動制御を行う。また、制御部110は、注文商品G3を第1ユーザであるユーザU1へ受け渡させる第1受渡制御を移動体600に行う。その後、制御部110は、ユーザU1の配送先の位置D1からユーザU2の配送先の位置D2まで移動させる第2移動制御を移動体600に行う。このため、たとえ、ユーザU2が注文をしなかった場合であっても、ユーザU1が注文した注文商品G3の配送先の位置D1が、ユーザU2が指定した配送先の位置D2の近傍であれば、情報処理装置100は、注文商品G3と、レコメンド商品G1と、を、ユーザU1の配送先の位置D1と、ユーザU2の配送先の位置D2と、にそれぞれ配送させる制御を移動体600に行うことができるので、移動体600の有効利用率の低下を抑制できる。
また、これらの構成によれば、情報処理装置100の制御部110は、移動体600をユーザU2の配送先の位置D2へ移動させる第2移動制御の終了以後に、レコメンド商品G1が注文可能であることを知らせる注文可能通知と、レコメンド商品G1が配送されたことを知らせる配送通知と、をユーザU2の端末装置900へ第2データ通信回路104bに送信させる制御を行う。また、制御部110は、レコメンド商品G1の代金の決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信すると、ユーザU2の配送先の位置D2に滞在する移動体600に、レコメンド商品G1をユーザU2へ受け渡させる第2受渡制御を行う。このため、情報処理装置100は、レコメンド商品G1が注文可能であることと、レコメンド商品G1が配送先に配送されたことと、をユーザU2に知らせることができる。このため、ユーザU2は、レコメンド商品G1を注文すると、移動体600の到着を待つことなく、配送先の位置D1に滞在している移動体600からレコメンド商品G1を受け取れることを知ることができるので、情報処理装置100は、ユーザU2の利便性の低下を抑制できる。
<実施例の変形例14>
実施例の変形例11と、実施例の変形例13と、は、組み合わせることができる。実施例の変形例11では、情報処理装置100は、移動体600に対する移動制御の終了より前に、レコメンド商品G1が注文可能であることを知らせる注文可能通知を、ユーザU1の端末装置800へ送信させる制御を行う。また、実施例の変形例13では、情報処理装置100は、ユーザU1が注文した注文商品G3と、第2ユーザに注文を勧めるレコメンド商品G1と、を積載した移動体600に、ユーザU1の配送先の位置D1へ移動させる第1移動制御を行った後に、ユーザU2の配送先の位置D2へ移動体600を移動させる第2移動制御を行う。
このため、実施例の変形例11と、実施例の変形例13と、の組み合わせである本変形例では、情報処理装置100の制御部110は、図22のステップS136で、レコメンド商品の在庫が存在すると判別される時点以後、かつ、図24のステップS151で、第2移動制御が終了したと判別される時点より前に、ステップS153と同様の処理を実行する。ステップS153と同様の処理は、レコメンド商品G1が注文可能であることを知らせる注文可能通知を、第2ユーザであるユーザU2の端末装置900へ、第2データ通信回路104bに送信させる制御を行う処理である。
また、情報処理装置100の制御部110は、ステップS151で、第2移動制御が終了したと判別される時点以後に、ステップS152と同様の処理を実行する。ステップS152と同様の処理は、レコメンド商品G1が配送されたことを知らせる配送通知を、第2ユーザであるユーザU2の端末装置900へ、第2データ通信回路104bに送信させる制御を行う処理である。
さらに、情報処理装置100の制御部110は、図24のステップS156で、レコメンド商品G1の代金の決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信したと判別されると(ステップS156;Yes)、ユーザU2の配送先の位置D2に滞在する移動体600に、レコメンド商品G1をユーザU2へ受け渡させる第2受渡制御を、ステップS158において実行する。
これらの構成によれば、情報処理装置100は、移動体600を配送先の位置D2に移動させる前に、レコメンド商品G1が注文可能であることをユーザU2に知らせることができる。このため、レコメンド商品G1の注文、及び、レコメンド商品G1の代金の決済を、移動体600が配送先の位置D2に移動している間に、ユーザU2が行うことができるので、情報処理装置100は、ユーザU2の利便性の低下を抑制できるだけでなく、移動体600が位置D2に到着してからユーザU2がレコメンド商品G1を受け取るまでの時間の増長を抑制できる。
<実施例の変形例15>
実施例の変形例14では、情報処理装置100は、注文商品G3をユーザU1へ受け渡させる第1受渡制御を移動体600に行った後、ユーザU2の配送先の位置D2まで移動させる第2移動制御を移動体600に行うと説明したが、これに限定される訳では無い。本変形例に係る情報処理装置100の制御部110は、レコメンド商品G1の代金の決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信すると、ユーザU2の配送先の位置D2まで移動体600を移動させる第2移動制御を行う。
このために、情報処理装置100の制御部110は、図22のステップS136で、レコメンド商品の在庫が存在すると判別される時点以後、かつ、図24のステップS150で、第2移動制御が開始される時点より前に、ステップS153と同様の処理を実行する。ステップS153と同様の処理は、レコメンド商品G1が注文可能であることを知らせる注文可能通知を、ユーザU2の端末装置900へ送信させる処理である。
また、情報処理装置100の判別部140は、ステップS149で、レコメンド商品G1を移動体600が積載していると判別される時点以後、かつ、ステップS150で、第2移動制御が開始される時点より前に、ステップS156と同様の処理を実行する。ステップS156と同様の処理は、レコメンド商品G1の代金の決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信しているか否かを判別する処理である。
このとき、情報処理装置100の判別部140は、決済完了報告が受信されていないと判別すると、レコメンド商品G1の注文を、端末装置900を使用するユーザU2が行う意思が無いと判別する。次に、情報処理装置100は、ステップS160から移動制御処理の実行を継続することで、レコメンド商品G1の配送を中止し、移動体600を店舗の位置Sまで帰還させる。
これに対して、情報処理装置100は、決済完了報告が受信されていると判別すると、ステップS150から移動制御処理の実行を継続する。これにより、レコメンド商品G1を積載した移動体600を、ユーザU2の配送先の位置D2まで移動させる第2移動制御を行う。
これらの構成によれば、情報処理装置100は、ユーザU2の配送先の位置D2まで移動体600を移動させる第2移動制御の開始よりも前に、注文可能通知を送信する。このため、情報処理装置100は、移動体600がユーザU2の配送先の位置D2に到着するよりも前に、レコメンド商品G1が注文可能であることをユーザU2に知らせることができる。このため、移動体600が位置D2に到着してからユーザU2がレコメンド商品G1を受け取るまでの時間の増長を抑制できる。また、情報処理装置100は、レコメンド商品G1の代金の決済が完了したことを告げる決済完了報告を受信すると、位置D2まで移動体600を移動させる第2移動制御を行う。このため、情報処理装置100は、ユーザU2が受け取らない商品を、ユーザU1の配送先の位置D1からユーザU2の配送先の位置D2まで配送することを抑制できる。
<実施例の変形例16>
実施例の変形例12と、実施例の変形例13と、は、組み合わせることができる。実施例の変形例12では、情報処理装置100は、注文可能通知を送信させる通信制御を行った後、レコメンド商品G1の代金の決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信すると、注文商品G3とレコメンド商品G1とを積載した移動体600に移動制御を行う。また、実施例の変形例13では、情報処理装置100は、ユーザU1が注文した注文商品G3と、第2ユーザに注文を勧めるレコメンド商品G1と、を積載した移動体600に、ユーザU1の配送先の位置D1へ移動させる第1移動制御を行った後に、ユーザU2の配送先の位置D2へ移動体600を移動させる第2移動制御を行う。
このため、実施例の変形例12と、実施例の変形例13と、の組み合わせである本変形例では、情報処理装置100は、第2ユーザであるユーザU2の端末装置900と情報を通信する第2データ通信回路104bを備える。情報処理装置100の制御部110は、図22のステップS133で、レコメンド商品G1が積載可能であると判別された後に、ステップS136で、レコメンド商品G1の在庫が存在すると判別されると、レコメンド商品G1を注文可能であることを知らせる注文可能通知を、ユーザU2の端末装置900を宛先として第2データ通信回路104bへ出力する。これにより、制御部110は、注文可能通知をユーザU2の端末装置900へ送信させる制御を第2データ通信回路104bに行う。
その後、情報処理装置100の判別部140は、注文可能通知が出力されてから予め定められた注文時間が経過しても、レコメンド商品の代金の決済が完了したことを告げる決済完了報告を第2データ通信回路104bが受信しないと判別すると、レコメンド商品G1の注文を、端末装置900を使用するユーザU2が行う意思が無いと判別する。次に、制御部110は、図9のステップS46と同様の処理を実行することで、図11のレコメンド商品テーブルから、ユーザU2のレコメンド商品G1に関する情報を削除する。その後、情報処理装置100は、図9のステップS45及びS47と同様の処理を実行することで(ステップS163及びS165)、注文商品G3の探出、運搬、及び、積載を指示した後、ステップS140から移動制御処理の実行を継続する。これにより、制御部110は、注文商品G3を積載するが、レコメンド商品G1を積載しない移動体600に、注文商品G3の配送先の位置D1まで移動させる第1移動制御を、ステップS141で実行する。その後、制御部110は、実店舗の位置Sまで移動させる移動制御を、ステップS160で実行する。
これに対して、情報処理装置100は、注文可能通知が出力されてから予め定められた注文時間が経過する以前に、第2データ通信回路104bが決済完了報告を受信したと判別すると、ステップS137から移動制御処理の実行を継続する。これにより、制御部110は、注文商品G3とレコメンド商品G1とを積載した移動体600に、注文商品G3の配送先の位置D1まで移動させる第1移動制御を、ステップS141で実行する。その後、制御部110は、レコメンド商品G1を積載した移動体600に、注文商品G3の配送先の位置D1から、レコメンド商品G1の配送先の位置D2まで移動させる第2移動制御を、ステップS150で実行する。
これらの構成によれば、情報処理装置100は、例えば、レコメンド商品G1を積載した移動体600に、ユーザU2の配送先の位置D2へ移動させる第2移動制御を行った後に、レコメンド商品G1が注文可能であることを知らせる注文可能通知を送信させる場合と比べて、ユーザU2が受け取らない商品を配送することを抑制できる。
<実施例の変形例17>
実施例では、ユーザU1の配送先の位置D1は、ユーザU1が予め指定した位置であると説明したが、これに限定される訳では無い。本変形例では、ユーザU1の配送先の位置D1は、ユーザU1の位置である。
このために、本変形例では、ユーザU1が使用する端末装置800は、起動すると、予め定められた時間間隔で、端末装置800を携帯する第1ユーザのユーザID「U1」と、端末装置800の位置を緯度、経度、及び、高度で表す位置情報と、を、情報処理装置100へ送信する。
情報処理装置100の第2データ通信回路104bが、端末装置800から、ユーザU1のユーザID「U1」と、ユーザU1が使用する端末装置800の位置を表す位置情報と、を受信すると、情報処理装置100の取得部120は、第2データ通信回路104bからユーザID「U1」と位置情報とを取得する。次に、判別部140は、取得された位置情報を、取得されたユーザID「U1」で識別されるユーザU1の位置を表す位置情報と判別する。その後、保存部130は、図6のユーザテーブルにおいて、取得されたユーザID「U1」に対応付けられている位置情報を、ユーザU1の位置を表す位置情報に変更する。
<実施例の変形例18>
ユーザU1の配送先の位置D1からの距離が、予め定められた距離以下の位置D2を配送先に指定するユーザを、第2ユーザと判別する実施例の変形例13と、ユーザU1の配送先の位置D1は、ユーザU1の位置である実施例の変形例17と、は、組み合わせることができる。このため、実施例の変形例13と、実施例の変形例17と、の組み合わせである本変形例では、ユーザU2の配送先の位置D2は、ユーザU2の位置であり、かつ、情報処理装置100の判別部140は、ユーザU1の配送先の位置D1からの距離が、予め定められた距離以下の位置D2に居るユーザU2を、第2ユーザと判別する。
<実施例の変形例19>
実施例の変形例4、5、及び、8から10のいずれかと、実施例の変形例13と、は、組み合わせることができる。実施例の変形例13では、情報処理装置100は、第2ユーザであるユーザU2によって入力された注目キーワードが商品番号であると判別すると、当該商品番号で識別される商品G1を注文試行商品と判別する。実施例の変形例4では、情報処理装置100は、第1ユーザであるユーザU1によって入力された注目キーワードが商品番号又は型番であると判別すると、当該商品番号又は当該型番で識別される商品を注文試行商品と判別する。このため、実施例の変形例4と、実施例の変形例13と、の組み合わせでは、情報処理装置100の判別部140は、ユーザU2によって入力された注目キーワードが商品番号又は型番であると判別すると、当該商品番号又は当該型番で識別される商品をユーザU2の注文試行商品と判別する。
実施例の変形例5と、実施例の変形例13と、の組み合わせでは、情報処理装置100の判別部140は、ユーザU2によって入力された注目キーワードに基づいて検索された商品の数が1つであると判別すると、検索された当該1つの商品をユーザU2の注文試行商品と判別する。
実施例の変形例8と、実施例の変形例13と、の組み合わせでは、情報処理装置100の判別部140は、ユーザU2が予め設定された注文期間内に予め定められた回数以上の回数閲覧したウェブ頁、及び、ユーザU2が注文期間内に予め定められた時間以上の時間に亘り閲覧したウェブ頁、の少なくとも1つに記載された商品を、ユーザU2の注文試行商品と判別する。
実施例の変形例9と、実施例の変形例13と、の組み合わせでは、情報処理装置100の判別部140は、予め定められた注文期間内に、売切商品が記載されたウェブ頁を、ユーザU2が閲覧した場合であり、かつ、当該売切商品の代替商品が記載されたウェブ頁を、当該注文期間内に、予め定められた回数以上の回数、ユーザU2が閲覧した場合、当該売切商品を、ユーザU2が注文しようとした商品であると判別する。
実施例の変形例10と、実施例の変形例13と、の組み合わせでは、情報処理装置100の判別部140は、予め定められた注文期間内に、売切商品が記載されたウェブ頁をユーザU2が閲覧した場合であり、かつ、予め定められた注文期間よりも前に、当該売切商品をユーザU2が注文している場合、当該売切商品をユーザU2の注文試行商品と判別する。
<実施例の変形例20>
実施例では、レコメンド商品は、ユーザU1が注文しようとした商品であり、かつ、ユーザU1が注文しようとした時点で売り切れであった売切商品であると説明したが、これに限定される訳では無い。本変形例では、レコメンド商品は、ユーザU1が注文しようとした商品であり、かつ、ユーザU1が注文しようとした時点で売り切れであった売切商品の代替商品である。
このため、本変形例に係る情報処理装置100の判別部140は、図12のステップS59において、ユーザU1が注文しようとした注文試行時点において、売切商品であった注文試行商品G1の代替商品を、ユーザU1に注文を勧めるレコメンド商品と判別する(ステップS59)。このために、取得部120は、図4の商品テーブルから、注文試行商品G1の商品番号「G1」に対応付けられたジャンル「米」を表す情報を取得する。次に、取得部120は、商品テーブルから、ジャンル「米」を表す情報に対応付けられた番号であって、注文試行商品G1の商品番号「G1」と異なる商品番号を1又は複数取得する。その後、判別部140は、取得された1又は複数の商品番号から1つを、予め定められた規則又はソフトウェア乱数に従って選択し、選択された商品番号で識別される商品をレコメンド商品と判別する。
本変形例では、情報処理装置100は、売切商品であった注文試行商品G1の代替商品をレコメンド商品と判別すると説明したが、これに限定される訳では無い。情報処理装置100の判別部140は、売切商品であった注文試行商品G1の代替商品であり、かつ、在庫が存在する商品を、レコメンド商品と判別しても良い。このために、取得部120は、図4の商品テーブルから、注文試行商品G1のジャンル「米」を表す情報と、正の在庫数を表す情報と、に対応付けられた番号であって、注文試行商品G1の商品番号「G1」と異なる商品番号を1又は複数取得すれば良い。これらの構成によれば、情報処理装置100は、注文施行時に売り切れであった商品をレコメンド商品と判別する場合よりも、より確実に販売できる商品をレコメンド商品と判別するため、移動体の有効利用率の低下をより確実に抑制できる。
<実施例の変形例21>
実施例では、情報処理システム1は、無人地上車両である移動体600を備えると説明したが、これに限定される訳では無い。本変形例に係る情報処理システム1は、図25に示すような、例えば、ドローン等の無人航空機である移動体700を備える。
本変形例に係る移動体700は、移動体700の姿勢及び飛行を制御する情報処理装置790と、情報処理装置790の前面から右前方及び左前方、並びに、情報処理装置790の後面から左後方及び右後方にそれぞれ突出したプロペラアーム701及び702、並びに、703及び704と、を備える。また、移動体700は、プロペラアーム701から704の先端にそれぞれ設置されたプロペラ711から714、及び、情報処理装置790の制御に従ってプロペラ711から714を回転させる不図示のモータを備える。
さらに、移動体700の情報処理装置790の下面には、商品を格納する格納ボックス721から723を備える格納庫720が設置されている。移動体700が備える格納庫720の構成及び機能は、移動体600が備える格納庫620の構成及び機能と同様である。
また、移動体700は、格納ボックス721から723に格納された商品を受け取るユーザが撮像範囲に含まれるように光軸及び画角が調整された撮像装置730を、情報処理装置790の上面に備える。移動体700が備える撮像装置730の構成及び機能は、移動体600が備える撮像装置630の構成及び機能と同様である。
さらに、移動体700は、情報処理装置790の前面に設けられたLiDARセンサ741と、情報処理装置790の後面に設けられた不図示のLiDARセンサと、を備える。移動体700が備える前面のLiDARセンサ741と後面のLiDARセンサとの構成及び機能は、それぞれ移動体600が備える前面のLiDARセンサ641と後面のLiDARセンサとの構成及び機能と同様である。
移動体700の情報処理装置790が備えるハードウェアの構成及び機能は、移動体600の情報処理装置690が備えるハードウェアの構成及び機能と同様である。
移動体700の不図示の駆動回路は、プロペラ711から714を回転させる不図示のモータにそれぞれ接続された不図示のケーブルに接続されている。不図示の駆動回路は、CPUが出力する信号に従って、プロペラ711から714を回転させる不図示のモータを駆動させる。
移動体700の不図示のCPUは、図16に示した移動処理と同様の処理を実行する。これにより、移動体700のCPUは、移動体700を離陸させるための制御信号を生成し、生成された制御信号を駆動回路へ出力する。次に、移動体700のCPUは最も到着順が早い未到着のノードへ向かって飛行するための制御信号を駆動回路へ出力する。その後、移動体700のCPUは、経路の終点に到着したと判別すると、移動体700を着陸させるための制御信号を駆動回路へ出力する。
また、本変形例では、移動体700は、無人航空機であると説明したが、これに限定される訳ではなく、無人飛翔体であっても良い。さらに、本変形例では、移動体700は、プロペラ711から714で揚力及び推力を得るドローンであると説明したが、これに限定される訳ではない。移動体700は、翼を備え、翼で揚力を得えても良いし、空気よりも比重の小さい気体で満たされた気嚢を備え、気嚢で揚力を得えても良い。また、移動体700は、ジェットエンジン又はロケットエンジンを備え、ジェットエンジン又はロケットエンジンで推力を得ても良い。
<実施例の変形例22>
実施例の変形例21では、移動体700は、格納ボックス721から723に商品を格納することで、商品を積載すると説明したが、これに限定される訳では無い。本変形例に係る移動体700は、実施例の変形例21で説明した格納庫720に代えて、図26に示すような、例えば、シャックルであるフック750を3個備えている。本変形例では、1個の商品を積載するために、1個のフック750が使用される場合を具体例として挙げて説明する。
フック750は、例えば、シャックルであり、例えば、U字金具である本体部751を備える。本体部751は、互いに対向した端部751a及び751bと、端部751a及び751bと対向する側の湾曲又は屈曲しているクラウン部751cと、を有する。本体部751のクラウン部751cは、端部751a及び751bよりも上側に位置するように、例えば、固定金具によって、移動体700の情報処理装置790の下面に固定されている。
本体部751の端部751aには、例えば、棒状金具であるピン752が挿通される不図示の貫通孔が形成されており、端部751bの表面であって、当該貫通孔と対向する面には、ピン752の先端を底部で受け止める不図示の受止穴が形成されている。
このため、本体部751の貫通孔に挿通されたピン752の先端が、本体部751の受止穴で受け止められている状態(以下、施錠状態という)では、フック750の本体部751とピン752とは、環形状を形成する。このとき、例えば、環状金具であるリングGに、ピン752が挿通されており、リングGが、例えば、紐Lで、梱包材で梱包された商品Aに連結されていれば、フック750は、リングGに連結された商品Aを吊持できる。
ピン752が有する2つの端部の内で、本体部751によって受け止められる側と反対側の端部は、例えば、板状金具又は棒状金具である連結部材753と連結されている。連結部材753は、ピン752との連結点753aと反対側の端部で、モータ755が有するシャフト755aに固定された揺動部材754と連結されている。連結部材753は、ピン752との連結点753aを中心として揺動可能に連結されており、かつ、揺動部材754との連結点753bを中心として揺動可能に連結されている。
揺動部材754は、例えば、板状金具又は棒状金具であり、連結部材753との連結点753bと異なる固定点で、モータ755のシャフト755aに固定されている。モータ755は、例えば、ステッピングモータであり、不図示のケーブルを介して、情報処理装置790の駆動回路に接続されており、かつ、駆動回路から出力される信号に従って、予め定められた角度だけ、予め定められた方向(以下、解錠方向という)へシャフト755aを回転させる。これにより、揺動部材754がシャフト755aとの固定点を中心として、予め定められた方向へ揺動させられると、図27に示すように、連結部材753との連結点753bが、ピン752の抜出方向に移動させられる。これにより、連結部材753に連結されているピン752が、抜出方向に移動させられるので、ピン752の先端が、本体部751の端部751bに形成されている受止穴から引き離されて、端部751aに近づけられる。
本変形例では、ピン752は、抜出方向に、本体部751の端部751aと端部751bとの距離DBに等しい距離だけ移動させられるため、ピン752は、端部751aに形成されている貫通孔から、受止穴の深さDHと等しい距離だけ先端が突出する位置まで、抜出方向に移動させられる。本変形例では、受止穴の深さDHは、商品Aに連結されているリングGの抜出方向の幅TRよりも十分に小さく設計されている。このため、ピン752が抜出方向に距離DBだけ移動させられると、リングGからピン752が抜出される。
このように、ピン752の先端が本体部751の受止穴から離された状態(以下、解錠状態という)では、フック750の本体部751とピン752とは、環形状を形成しない。さらに、本体部751のクラウン部751cは、端部751a及び751bがクラウン部751cよりも下側に位置するように、移動体700の情報処理装置790の下面に固定されている。これらのため、フック750が施錠状態から解錠状態となり、リングGからピン752が抜出されると、リングGは、U字形状の本体部751の開口から、商品Aと共に自由落下する。
尚、モータ755は、情報処理装置790から出力される信号で表される角度だけ、解錠方向と逆方向の施錠方向へシャフト755aを回転させることで、フック750の状態を解錠状態から施錠状態に変更させる。
本変形例に係る情報処理装置100は、図5のステップS17において、配送予定を表す情報を生成するため、移動体700が備える3個のフック750の内から、注文商品を積載させるために用いるフック750を、予め定められた規則又はソフトウェア乱数に基づいて選択する。本変形例では、1個の商品を積載するために、1個のフック750が使用される場合を具体例として挙げて説明を行うため、注文商品の個数と同じ数のフック750が選択される。
また、情報処理装置100の取得部120は、図9のステップS23において、移動体700が備えるフック750の数が「3」個であることを表す情報を情報記憶部190から取得する。次に、判別部140は、注目配送予定を表す情報に含まれているIDであり、かつ、注文商品の積載に用いられるフック750を識別するフックIDの数を計数する。その後、判別部140は、計数されたフックIDの数に基づいて、レコメンド商品を移動体700に積載可能であるか否かを判別する。このとき、判別部140は、計数されたフックIDの数が、移動体700が備えるフック750の数「3」個以上であると、レコメンド商品を積載不能と判別する。これに対して、判別部140は、計数されたフックIDの数が、移動体700が備えるフック750の数「3」個より少ないと、レコメンド商品を積載可能と判別する。
本変形例に係る情報処理装置100の制御部110は、図9のステップS29において、実施例で説明した1又は複数のボックスIDに代えて、1又は複数のフックIDを含んだ施錠命令を、移動体700を宛先として第2データ通信回路104bへ出力する。本変形例では、2個のフックIDを含んだ施錠命令が出力される場合を具体例として挙げて以下の説明を行う。
移動体700のデータ通信回路が施錠命令を受信すると、移動体700のCPUは、施錠命令に含まれる2個のフックIDでそれぞれ識別されるフック750の状態を解錠状態から施錠状態に変更させる制御信号を移動体700の駆動回路へ出力する。駆動回路は、出力された制御信号に従って、シャフト755aを施錠方向に回転させる信号を、2個のフックIDでそれぞれ識別される2個のフック750のモータ755へ出力する。このようにして、2個のフック750の状態が施錠状態に変更される。このとき、片方のフック750のピン752が、注文商品G3に連結されたリングGに挿通されることで、注文商品が移動体700に積載される。また、他方のフック750のピン752が、レコメンド商品G1に連結されたリングGに挿通されることで、レコメンド商品が移動体700に積載される。
また、本変形例に係る情報処理装置100の制御部110は、図10のステップS40において、2個のフックIDを含んだ解錠命令を出力する。次に、移動体700のCPUは、解錠命令に含まれる2個のフックIDでそれぞれ識別されるフック750を解錠させる制御信号を移動体700の駆動回路へ出力する。その後、駆動回路は、制御信号に従って、シャフト755aを解錠方向に回転させる信号を、2個のフックIDでそれぞれ識別されるフック750のモータ755へ出力する。このようにして、2個のフック750の状態が解錠状態に変更される。このとき、2個のフック750のピン752が、注文商品G3に連結されたリングGと、レコメンド商品G1に連結されたリングGと、からそれぞれ抜出されることで、リングGと共に注文商品G3とレコメンド商品G1とが、移動体700から地面へ落下する。
さらにまた、本変形例に係る情報処理装置100は、図10のステップS49において、注文商品G3の積載に用いられるフック750のフックIDを含んだ解錠命令を出力する。これにより、注文商品G3がフック750から解放されて移動体700から地面へ落下する。
本変形例では、フック750は、シャックルであると説明したが、これに限定される訳では無い。フック750は、商品Aに連結されたリングGを掛止可能なものであれば、どのようなものであっても良く、例えば、カラビナ、又は、アイフックであっても良い。また、フック750の本体部751の形状は、U字形状に限定される訳では無く、例えば、V字、C字、S字、又は、J字形状であっても良い。さらに、フック750の本体部751、ピン752、連結部材753、及び、揺動部材754は、金具に限定される訳では無く、例えば、繊維強化プラスティック又は木材であっても良い。
また、本変形例では、ピン752は、抜出方向及び挿通方向に、本体部751の端部751aと端部751bとの距離DBに等しい距離だけ移動させられると説明したが、これに限定される訳では無く、距離DBよりも短い又は長い距離だけ抜出方向及び挿通方向に移動させられても良く、好適なピン752の移動距離は、当業者が実験又は設計により定めることができる。
さらに、本変形例では、梱包材は、段ボールであるが、これに限定される訳では無く、商品を梱包できる物であれば、どのようなものであっても良く、ビニール袋又は布袋であっても良い。また、本変形例では、リングGは、環状金具であるため、リングGの形状は、円形環形状、楕円形環形状、又は、多角形環形状を含む。また、リングGの形状は、これらに限定される訳では無く、例えば、C字又はS字形状であっても良い。さらに、リングGは、金具に限定される訳では無く、例えば、繊維強化プラスティック又は木材であっても良い。
さらに、本変形例では、梱包材で梱包された商品Aは、例えば、紐LでリングGに連結されており、フック750のピン752がリングGに挿通されることで、商品Aは、移動体700に吊持されると説明した。しかし、これに限定される訳ではなく、梱包材で梱包された商品Aは、紐Lで縛られているが、紐Lは、リングGに連結されておらず、フック750のピン752が紐Lで形成された環に挿通されることで、商品Aは、移動体700に吊持されても良い。
本変形例では、実施例の変形例21で説明した移動体700がフック750を備えると説明したが、これに限定される訳では無く、実施例で説明した移動体600がフック750を備えても良い。
<実施例の変形例23>
実施例では、従業員は、レコメンド商品G1の在庫を実店舗で探し出すと説明した。また、実施例では、図9のステップS27において、情報処理装置100は、従業員の操作に応じて入力装置105cから出力される信号に基づいて、仮想店舗のユーザU1に販売可能なレコメンド商品G1の在庫が実店舗に存在するか否かを判別すると説明した。しかし、これに限定される訳では無い。ステップS27において、情報処理装置100の判別部140は、図4の商品テーブルにおいて、レコメンド商品G1の商品番号「G1」に対応付けられている在庫数を表す情報に基づいて、仮想店舗のユーザU1に販売可能なレコメンド商品G1の在庫が実店舗に存在するか否かを判別しても良い。商品テーブルは、予め定められた更新間隔で更新されるため、注文試行時点においてレコメンド商品G1が売切商品であっても、ステップS27の実行時点では、売切商品でない場合があるためである。
また、これに限定されるのでは無く、ステップS27において、情報処理装置100の保存部130は、商品テーブルに保存されたレコメンド商品G1の在庫数を表す情報を更新させても良い。このために、制御部110は、レコメンド商品G1の商品番号「G1」を含み、レコメンド商品G1の実店舗における在庫数を問い合わせる在庫問合を、POSシステム200を宛先として第1データ通信回路104aへ出力する。次に、取得部120は、POSシステム200から受信されたレコメンド商品G1の在庫数を表す情報を、第1データ通信回路104aから取得する。その後、制御部110は、取得された情報で表される実店舗の在庫数から安全在庫数個を減算することで、仮想店舗で販売可能なレコメンド商品G1の在庫数個を算出する。次に、保存部130は、図4の商品テーブルにおいて、レコメンド商品G1の商品番号「G1」に対応付けられた在庫数を表す情報を、算出された在庫数を表す情報に変更することで、在庫数を表す情報を更新する。
その後、情報処理装置100の判別部140は、図4の商品テーブルにおいて、レコメンド商品G1の商品番号「G1」に対応付けられている、更新後の在庫数を表す情報に基づいて、仮想店舗のユーザU1に販売可能なレコメンド商品G1の在庫が実店舗に存在するか否かを判別する。
<実施例の変形例24>
実施例では、情報処理装置100は、移動体600が有する格納ボックスの数と、注文商品の格納に用いられる格納ボックスの数と、に基づいて、レコメンド商品を移動体600が積載可能であるか否かを判別すると説明したが、これに限定される訳では無い。本変形例に係る情報処理装置100の判別部140は、移動体600が積載可能な商品の総重量と、注文商品の総重量と、レコメンド商品の重量と、に基づいて、レコメンド商品を移動体600が積載可能であるか否かを判別する。
このために、本変形例に係る情報処理装置100の情報記憶部190は、移動体600が積載可能な商品の総重量を表す情報を予め記憶している。また、情報記憶部190は、商品番号と、当該商品番号で識別される商品の重量を表す情報と、を対応付けて予め記憶している。
情報処理装置100は、図9のステップS25で、レコメンド商品と判別された商品が存在すると判別された後に、ステップS23の処理を実行することで、当該レコメンド商品を移動体600が積載可能か否かを判別する。このために、取得部120は、移動体600が積載可能な商品の総重量を表す情報を情報記憶部190から取得する。また、取得部120は、1又は複数の注文商品の商品番号にそれぞれ対応付けられた重量を表す情報と、レコメンド商品の商品番号に対応付けられた重量を表す情報と、を情報記憶部190から取得する。
次に、情報処理装置100の判別部140は、取得された1又は複数の情報でそれぞれ表される注文商品の重量の総和と、取得された情報で表されるレコメンド商品の重量と、の和が、移動体600が積載可能な商品の総重量よりも多いと判別すると、移動体600がレコメンド商品を積載不能であると判別する。その後、情報処理装置100は、ステップS45から移動制御処理の実行を継続する。
これに対して、情報処理装置100の判別部140は、1又は複数の注文商品の重量の総和と、レコメンド商品の重量と、の和が、移動体600が積載可能な商品の総重量以下と判別すると、移動体600がレコメンド商品を積載可能であると判別する。その後、情報処理装置100は、ステップS26から移動制御処理の実行を継続する。
<実施例の変形例25>
実施例の変形例24では、情報処理装置100は、移動体600が積載可能な商品の総重量と、注文商品の総重量と、レコメンド商品の重量と、に基づいて、レコメンド商品を移動体600が積載可能であるか否かを判別すると説明したが、これに限定される訳では無い。本変形例に係る判別部140は、移動体600が積載可能な商品の総体積と、注文商品の総体積と、レコメンド商品の体積と、に基づいて、レコメンド商品を移動体600が積載可能であるか否かを判別する。
本変形例に係る商品は、Lサイズの商品及びSサイズの商品のいずれかである。Lサイズの商品は、例えば、段ボールである、Lサイズの梱包材で梱包可能であるが、Sサイズの梱包材で梱包不能である。このため、Lサイズの商品は、Lサイズの梱包材で梱包されて移動体600に積載される。Sサイズの商品は、Lサイズの梱包材とSサイズの梱包材とで梱包可能であるが、省スペース化のため、Sサイズの梱包材で梱包されて移動体600に積載される。
Lサイズの梱包材の高さは、Sサイズの梱包材の高さの2倍であり、かつ、Lサイズの梱包材の幅及び奥行きは、Sサイズの梱包材の幅及び奥行きと同じである。このため、Lサイズの梱包材の体積は、Sサイズの梱包材の体積の2倍である。しかし、これに限定される訳では無く、Lサイズの梱包材の高さ、幅、及び、奥行きの少なくとも1つが、それぞれSサイズの梱包材の高さ、幅、及び、奥行きの少なくとも1つのN倍であっても良い(但し、Nは、正の整数)。
情報処理装置100の情報記憶部190は、移動体600が積載可能な商品の総体積を表す情報を予め記憶している。本変形例において、移動体600が積載可能な商品の総体積は、移動体600が積載可能なSサイズの梱包材の数で表される。また、情報記憶部190は、商品番号と、当該商品番号で識別される商品の梱包に用いられる梱包材のサイズを表す情報と、を対応付けて予め記憶している。
情報処理装置100は、図9のステップS25で、レコメンド商品と判別された商品が存在すると判別された後に、ステップS23の処理を実行することで、当該レコメンド商品を移動体600が積載可能か否かを判別する。このために、取得部120は、移動体600が積載可能な商品の総体積を表す情報を情報記憶部190から取得する。また、取得部120は、1又は複数の注文商品の商品番号にそれぞれ対応付けられた梱包材のサイズを表す情報と、レコメンド商品の商品番号に対応付けられた梱包材のサイズを表す情報と、を情報記憶部190から取得する。
次に、情報処理装置100の判別部140は、取得された複数の梱包材のサイズを表す情報の内で、Sサイズを表す情報の数と、Lサイズを表す情報の数と、を算出する。次に、判別部140は、Lサイズを表す情報の数を2倍した数と、Sサイズを表す情報の数と、の和を算出することで、注文商品の総体積とレコメンド商品の体積との和を表す数を算出する。その後、注文商品の総体積とレコメンド商品の体積との和を表す数が、移動体600が積載可能な商品の総体積を表す数よりも多いと判別すると、移動体600がレコメンド商品を積載不能であると判別する。その後、情報処理装置100は、ステップS45から移動制御処理の実行を継続する。
これに対して、情報処理装置100の判別部140は、注文商品の総体積とレコメンド商品の体積との和を表す数が、移動体600が積載可能な商品の総体積を表す数以下であると判別すると、移動体600がレコメンド商品を積載可能であると判別する。その後、情報処理装置100は、ステップS26から移動制御処理の実行を継続する。
<実施例の変形例26>
実施例では、情報処理装置100は、移動体600が有する格納ボックスの数と、注文商品の格納に用いられる格納ボックスの数と、に基づいて、レコメンド商品を移動体600が積載可能であるか否かを判別すると説明したが、これに限定される訳では無い。本変形例では、実店舗の従業員は、注文商品とレコメンド商品とを探し出し、レコメンド商品を移動体600に積載可能か否かを判別する。また、本変形例では、情報処理装置100の判別部140は、従業員の操作に応じて入力装置105cが出力する信号に基づいて、レコメンド商品を移動体600が積載可能であるか否かを判別する。
情報処理装置100は、図9のステップS27で、レコメンド商品の在庫があると判別された後に、ステップS23の処理を実行する。このとき、情報処理装置100の判別部140は、従業員の操作に応じて入力装置105cが出力する信号に基づいて、当該レコメンド商品を移動体600が積載可能か否かを判別する。
<実施例の変形例27>
実施例では、注文商品の代替商品は、注文商品のジャンルに属する商品であり、かつ、注文商品と異なる商品であると説明したが、これに限定される訳では無い。本変形例では、注文商品の代替商品は、注文商品の類似商品である。
このため、本変形例に係る情報処理装置100の情報記憶部190は、商品番号と、当該商品番号で識別される商品の類似商品の商品番号と、を対応付けて予め記憶している。情報処理装置100の取得部120は、図12のステップS58において、注文商品の商品番号に対応付けられている商品番号を、情報記憶部190から取得することを試行する。判別部140は、商品番号が取得され、かつ、取得された商品番号が注文試行商品の商品番号であると、注文試行商品が注文商品の類似商品と判別する。このため、判別部140は、注文試行商品が注文商品の代替商品であると判別する。
これに対して、情報処理装置100の判別部140は、商品番号が取得されない場合、又は、取得された商品番号が、注文試行商品の商品番号と異なる場合、注文試行商品が注文商品の類似商品でないと判別する。このため、判別部140は、注文試行商品が注文商品の代替商品でないと判別する。
注文商品の類似商品は、例えば、注文商品と同じ又は類似の用途に使用される商品であり、かつ、注文商品と異なる商品であっても良いが、これに限定される訳では無い。また、注文商品の類似商品は、例えば、注文商品が有する機能と同じ又は類似の機能を有する商品であり、かつ、注文商品と異なる商品であっても良い。
<実施例の変形例28>
実施例では、図5のステップS11で、情報処理装置100が、注文受付要求を取得したと判別する場合を具体例として挙げて説明を行ったが、これに限定される訳では無い。情報処理装置100は、注文受付要求を取得しなかったと判別すると(ステップS11;No)、ステップS03から上記の処理を繰り返す。
実施例では、図5のステップS14で、情報処理装置100が、決済が完了したと判別する場合を具体例として挙げて説明を行ったが、これに限定される訳では無い。決済要求の送信から、予め定められた時間が経過しても決済完了報告を第2データ通信回路104bが受信しないと、情報処理装置100の判別部140は、決済が完了しなかったと判別する(ステップS14;No)。その後、情報処理装置100は、ステップS03から上記の処理を繰り返す。
実施例では、図10のステップS39で、情報処理装置100が、レコメンド商品G1の代金の決済が完了していると判別する場合を具体例として挙げて説明を行ったが、これに限定される訳では無い。情報処理装置100の判別部140は、図11のレコメンド商品テーブルから、値「false」の決済フラグが取得されると、レコメンド商品G1の代金の決済が完了していないと判別する(ステップS39;No)。その後、情報処理装置100は、ステップS49から移動制御処理の実行を継続する。
実施例では、図12のステップS55で、情報処理装置100が、注目キーワードが商品番号であると判別する場合を具体例として挙げて説明を行ったが、これに限定される訳では無い。情報処理装置100の判別部140は、注目キーワードが商品番号でないと判別すると(ステップS55;No)、注目キーワードを入力したユーザU1が注文しようとした商品を判別できないと判別する。次に、情報処理装置100は、ステップS53から上記の処理を繰り返す。
実施例では、図12のステップS57で、情報処理装置100が、注文試行時点で、注文試行商品G1が売切商品であったと判別する場合を具体例として挙げて説明を行ったが、これに限定される訳では無い。情報処理装置100の判別部140は、図7の検索履歴テーブルから取得された売切フラグの値が「false」であると、注文試行時点で、注文試行商品G1が売切商品でなかったと判別する(ステップS57;No)。このため、判別部140は、注文試行商品G1が注文された蓋然性が高いと判別し、注文試行商品G1をレコメンド商品と判別しない。その後、情報処理装置100は、ステップS53から上記の処理を繰り返す。
実施例では、図12のステップS58で、情報処理装置100が、注文試行商品が注文商品の代替商品でないと判別する場合を具体例として挙げて説明を行ったが、これに限定される訳では無い。情報処理装置100の判別部140は、注文商品のジャンルと、注文試行商品のジャンルと、が一致すると、注文試行商品が注文商品の代替商品であると判別する(ステップS58;Yes)。このため、判別部140は、注文試行商品が売切商品であったため、ユーザU1は、注文試行商品の代替商品である注文商品を購入したと判別する。このため、判別部140は、注文試行商品を購入する意思がユーザU1に無くなった、又は、注文試行商品をユーザU1が購入する蓋然性が予め定められた蓋然性よりも低いと判別する。次に、情報処理装置100は、当該注文試行商品をレコメンド商品と判別せずに、ステップS53から上記の処理を繰り返す。
実施例では、図12のステップS53において、情報処理装置100が、ステップS52で取得された1又は複数のキーワードの内に、未注目のキーワードが存在すると判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100の判別部140は、未注目のキーワードが存在しないと判別すると(ステップS53;No)、いずれの商品もレコメンド商品と判別せずに、レコメンド商品判別処理の実行を終了する。
実施例では、図9のステップS25で、情報処理装置100が、レコメンド商品と判別された商品が存在する、と判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100の判別部140は、図11のレコメンド商品テーブルから、注文商品G3を注文したユーザU1のユーザID「U1」と対応付けられた商品番号が取得されないと、レコメンド商品と判別された商品が存在しないと判別する(ステップS25;No)。その後、情報処理装置100は、ステップS45から移動制御処理の実行を続行することで、注文商品G3を積載した移動体600に、ユーザU1の配送先の位置D1まで移動させる移動制御を行う。
実施例の変形例13では、図22のステップS133で、情報処理装置100が、レコメンド商品を移動体600に積載可能であると判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100は、レコメンド商品を積載不能であると判別すると(ステップS133;No)、ステップS163から移動制御処理の実行を継続する。
実施例の変形例13では、図22のステップS134で、情報処理装置100が、第2ユーザが存在すると判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100の判別部140は、図6のユーザテーブルから、ユーザU1が予め指定した配送先の位置D1からの距離が近傍距離以下の位置を表す位置情報と対応付けられており、かつ、ユーザU1のユーザID「U1」と異なるユーザIDが取得されないと、位置D1からの距離が近傍距離以下の位置を配送先として指定する第2ユーザが存在しないと判別する(ステップS134;No)。その後、情報処理装置100は、図9のステップS45及びS47と同様の処理を実行することで(ステップS163及びS165)、注文商品の探出、運搬、及び、積載を指示した後、ステップS140から移動制御処理の実行を継続する。
実施例の変形例13では、ステップS138で、情報処理装置100が、レコメンド商品の在庫が存在すると判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100は、レコメンド商品の在庫が存在しないと判別すると(ステップS138;No)、図9のステップS46と同様の処理を実行した後に(ステップS164)、ステップS165から移動制御処理の実行を継続する。
実施例の変形例13では、ステップS142、又は、ステップS151で、情報処理装置100が、到着報告が取得されたと判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100は、到着報告が取得されなかったと判別すると(ステップS142;No、又は、ステップS151;No)、予め定められた時間に亘ってスリープしてから、ステップS142、又は、ステップS151の処理を繰り返す。
実施例の変形例13では、ステップS146で、情報処理装置100が、認証が成功したと判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100は、認証が成功しなかったと判別すると(ステップS146;No)、ステップS145から上記処理を繰り返す。
実施例の変形例13では、ステップS148、又は、ステップS159で、情報処理装置100が、受渡報告が取得されたと判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100は、受渡報告が取得されなかったと判別すると(ステップS148;No、又は、ステップS159;No)、予め定められた時間に亘ってスリープしてから、ステップS148、又は、ステップS159の処理を繰り返す。
実施例の変形例13では、図23のステップS149で、情報処理装置100が、移動体600がレコメンド商品G1を積載していると判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100は、移動体600がレコメンド商品G1を積載していないと判別すると(ステップS149;No)、ステップS160から移動制御処理の実行を継続する。これにより、情報処理装置100は、ユーザU1の配送先の位置D1から、配送元である実店舗の位置Sまで帰還させる移動制御を移動体600に行う。
実施例の変形例13では、ステップS155で、情報処理装置100は、受渡時間が経過していないと判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100は、受渡時間が経過したと判別すると(ステップS155;Yes)、ステップS160から移動制御処理の実行を継続する。
実施例の変形例13では、図24のステップS156で、情報処理装置100は、レコメンド商品の代金の決済が完了していると判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100は、レコメンド商品の代金の決済が完了していないと判別すると(ステップS156;No)、ステップS155から上記処理を繰り返す。
実施例の変形例13では、ステップS157で、情報処理装置100は、認証が成功したと判別する場合を具体例として挙げて説明したが、これに限定される訳では無い。情報処理装置100は、認証が失敗したと判別すると(ステップS157;No)、ステップS155から上記処理を繰り返す。
<実施例の変形例29>
実施例では、情報処理システム1は、情報処理装置100と、POSシステム200と、移動体600と、端末装置800と、を備えると説明したが、これに限定される訳では無い。本変形例では、情報処理システム1は、注文を受け付ける不図示の情報処理装置と、注文された商品の配送を制御する不図示の制御装置と、POSシステム200と、移動体600と、端末装置800と、を備える。情報処理装置は、図5に示した第1注文受付処理、及び、図13に示した第2注文受付処理を実行することで、商品の注文を受け付ける。制御装置は、注文された商品の配送を制御するため、図9及び図10に示した移動制御処理、及び、図12に示したレコメンド商品判別処理を実行することで、注文された注文商品と、注文が勧められるレコメンド商品と、を積載した移動体600の移動を制御する。
<実施例の変形例30>
実施例では、1回の注文で、1個の商品の販売と配送とが求められる場合を具体例として挙げて説明を行ったが、これに限定される訳では無い。1回の注文で複数個の商品の販売と配送とが求められても良い。
また、実施例では、1個の格納ボックスに1個の商品が格納されると説明したが、これに限定される訳では無く、1個の格納ボックスに1個又は複数個の商品が格納されても良い。例えば、移動体600が3個の格納ボックス621から623を備えており、格納ボックス621から623のそれぞれは、2個の商品を格納可能であり、かつ、ユーザU1が、1回の注文で5個の商品を注文した場合に、情報処理装置100は、1個のレコメンド商品を積載可能であると判別しても良い。
さらに、実施例では、移動体600は、3個の格納ボックス621から623を備えると説明したが、これに限定される訳では無く、移動体600は、2個の格納ボックス、又は、4個以上の格納ボックスを備えても良い。また、実施例の変形例22では、移動体700は、フック750を3個備えると説明したが、これに限定される訳では無く、フック750を2個、又は、4個以上備えても良い。
またさらに、実施例では、情報処理システム1は、1台の移動体600を備えると説明したが、これに限定される訳では無く、2台以上の移動体600を備えても良い。
<実施例の変形例31>
実施例では、商品が商取引の対象とされると説明したが、これに限定される訳ではない。商品は、どのような物であっても良く、例えば、商取引の対象とされない物であっても良い。また、商品は、物でなく、生き物であっても良い。
<実施例の変形例32>
実施例では、移動体600は、無人地上車両であると説明した。また、実施例の変形例21では、移動体700は、無人航空機であると説明した。しかし、移動体600及び700は、必ずしも無人である必要はなく、情報処理装置100による制御を除き、自律して移動する物体であれば、人が乗っていても良い。
<実施例の変形例33>
実施例では、情報処理装置100は、情報記憶部190を備えると説明したが、これに限定される訳ではない。本変形例に係る情報処理装置100は、情報記憶部190を備えない。本変形例に係る情報処理装置100は、例えば、NAS(Network Attached Storage)であり、かつ、情報記憶部190の機能と同様の機能を有する不図示の情報記憶装置と第1通信網LN又は第2通信網INを介して接続されており、情報記憶装置が記憶する情報を用いて、図5に示した第1注文受付処理、図9及び図10に示した移動制御処理、図12に示したレコメンド商品判別処理、及び、図13に示した第2注文受付処理を実行する。本変形例に係る情報処理システム1は、情報記憶装置を備えても良いし、情報記憶装置を備えなくても良い。
<実施例の変形例34>
実施例では、情報処理システム1は、情報処理装置100を備えると説明した。また、実施例では、情報処理装置100のCPU101は、図5に示した第1注文受付処理、図9及び図10に示した移動制御処理、図12に示したレコメンド商品判別処理、及び、図13に示した第2注文受付処理を実行すると説明した。また、情報処理装置100のCPU101は、図3に示した制御部110、取得部120、保存部130、及び、判別部140として機能すると説明した。また、情報処理装置100のハードディスク103bは、情報記憶部190として機能すると説明した。
しかし、これらに限定される訳ではなく、情報処理システム1は、情報処理装置100を備えなくとも良い。この場合、図5に示した第1注文受付処理、図9及び図10に示した移動制御処理、図12に示したレコメンド商品判別処理、及び、図13に示した第2注文受付処理は、移動体600が備える情報処理装置690のCPU691によって実行されても良い。このため、移動体600のCPU691が、情報処理装置100の制御部110、取得部120、保存部130、及び、判別部140に相当する不図示の機能部として機能しても良い。また、移動体600のフラッシュメモリ693bが、情報処理装置100の情報記憶部190に相当する不図示の機能部として機能しても良い。
また、これに限定される訳ではなく、図5に示した第1注文受付処理、図9及び図10に示した移動制御処理、図12に示したレコメンド商品判別処理、及び、図13に示した第2注文受付処理の1つ以上、は、情報処理装置100のCPU101と、移動体600のCPU691と、端末装置800が備える不図示のCPUと、の2つ以上によって分散実行されても良い。
本発明の実施例及び実施例の変形例1から34は、互いに組み合わせることができる。
実施例及び実施例の変形例1から33のいずれかに係る機能を実現するための構成を備えた情報処理装置100、並びに、実施例の変形例34に係る機能を実現するための構成を備えた情報処理装置690として提供できることはもとより、複数の装置で構成されるシステムであって、本発明の実施例及び実施例の変形例1から34のいずれかに係る機能を実現するための構成をシステム全体として備えたシステムとして提供することもできる。
実施例及び実施例の変形例1から33のいずれかに係る機能を実現するための構成を予め備えた情報処理装置100として提供できる。また、プログラムの適用により、既存の情報処理装置を実施例及び実施例の変形例1から33のいずれかに係る情報処理装置100として機能させることもできる。すなわち、実施例及び実施例の変形例1から33のいずれかで例示した情報処理装置100による各機能構成を実現させるためのプログラムを、既存の情報処理装置を制御するコンピュータ(CPUなど)が実行することで、実施例及び実施例の変形例1から33のいずれかに係る情報処理装置100として機能させることができる。
本発明の実施例の変形例34に係る機能を実現するための構成を予め備えた情報処理装置690として提供できる。また、プログラムの適用により、既存の情報処理装置を実施例の変形例34に係る情報処理装置690として機能させることもできる。すなわち、上記実施例の変形例34で例示した情報処理装置690による各機能構成を実現させるためのプログラムを、既存の情報処理装置を制御するコンピュータ(CPUなど)が実行することで、実施例の変形例34に係る情報処理装置690として機能させることができる。
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD(Compact Disc)-ROM、又は、DVD(Digital Versatile Disc)-ROMなどの記録媒体に収納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。
本発明に係る方法は、実施例及び実施例の変形例1から33のいずれかに係る情報処理装置100、並びに、実施例の変形例34に係る情報処理装置690を用いて実施できる。また、本発明に係る方法は、実施例及び実施例の変形例1から34のいずれかに係る情報処理システム1を用いて実施できる。
また、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
(付記)
(付記1)
ユーザが注文した注文商品を移動体に積載した場合に、レコメンド商品を前記移動体に積載可能であるか否かを判別する判別部と、
前記レコメンド商品が積載可能であると判別されると、前記注文商品と前記レコメンド商品とを積載した前記移動体に、前記注文商品の配送先まで移動させる移動制御を行う制御部と、
を備えることを特徴とする情報処理装置。
(付記2)
前記レコメンド商品は、前記ユーザである第1ユーザ、又は、前記配送先からの距離が予め定められた距離以下の位置に居る、若しくは、当該位置を配送先に指定する第2ユーザ、が注文しようとした商品であり、かつ、前記第1ユーザ又は前記第2ユーザが注文しようとした時点で売り切れであった商品である、売切商品、又は、前記売切商品の代替商品である、
ことを特徴とする付記1に記載の情報処理装置。
(付記3)
前記レコメンド商品は、前記注文商品の代替商品と異なる商品である、
ことを特徴とする付記2に記載の情報処理装置。
(付記4)
前記判別部は、前記第1ユーザ又は前記第2ユーザが注文しようとした前記時点よりも後、かつ、前記移動体の前記移動制御が開始される時点よりも前において、前記レコメンド商品の在庫が存在するか否かをさらに判別し、
前記制御部は、前記レコメンド商品の在庫が存在すると判別され、かつ、前記レコメンド商品が積載可能であると判別されると、前記注文商品と前記レコメンド商品とを積載した前記移動体に前記移動制御を行う、
ことを特徴とする付記2又は3に記載の情報処理装置。
(付記5)
前記制御部は、前記レコメンド商品の在庫が存在しないと判別されると、又は、前記レコメンド商品が積載可能でないと判別されると、前記注文商品を積載し、かつ、前記レコメンド商品を積載していない前記移動体に前記移動制御を行う、
ことを特徴とする付記4に記載の情報処理装置。
(付記6)
予め定められた間隔で、実店舗に在る商品の在庫数を表す情報を受信する通信部、をさらに備え、
前記制御部は、前記情報が受信されると、受信された前記情報で表される前記在庫数から予め定められた個数を減算することで、仮想店舗で販売可能な在庫数を算出し、
前記判別部は、
前記第1ユーザ又は前記第2ユーザが注文しようとした前記時点において、前記仮想店舗で販売可能な前記在庫数に基づいて、前記第1ユーザ又は前記第2ユーザが注文しようとした前記商品が前記売切商品であるか否かを判別し、
前記第1ユーザ又は前記第2ユーザが注文しようとした前記時点よりも後、かつ、前記移動体の前記移動制御が開始される前記時点よりも前において、前記レコメンド商品の在庫が前記実店舗に存在するか否かを判別する、
ことを特徴とする付記4又は5に記載の情報処理装置。
(付記7)
前記判別部は、前記第1ユーザ又は前記第2ユーザによって入力されたキーワードに基づいて検索された商品の数が1つである場合に、検索された前記1つの商品が、前記第1ユーザ又は前記第2ユーザが注文しようとした前記商品であると判別する、
ことを特徴とする付記2から6のいずれか一つに記載の情報処理装置。
(付記8)
前記判別部は、前記第1ユーザ又は前記第2ユーザが、予め定められた期間内に、予め定められた回数以上の回数閲覧したウェブ頁、及び、予め定められた期間内に、予め定められた時間以上の時間に亘り閲覧したウェブ頁、の少なくとも1つに記載された商品を、前記第1ユーザ又は前記第2ユーザが注文しようとした前記商品であると判別する、
ことを特徴とする付記2から6のいずれか一つに記載の情報処理装置。
(付記9)
前記判別部は、
前記第1ユーザ又は前記第2ユーザが、予め定められた期間内に、前記売切商品が記載されたウェブ頁を閲覧した場合であり、かつ、前記売切商品のジャンルに属する商品であり、かつ、前記売切商品と異なる商品が記載されたウェブ頁を、前記第1ユーザ又は前記第2ユーザが、予め定められた前記期間内に、予め定められた回数以上の回数閲覧した場合、又は、
前記第1ユーザ又は前記第2ユーザが、予め定められた前記期間内に、前記売切商品が記載された前記ウェブ頁を閲覧した場合であり、かつ、前記第1ユーザ又は前記第2ユーザが、予め定められた前記期間よりも前に、前記売切商品を注文している場合、
前記売切商品を、前記第1ユーザ又は前記第2ユーザが注文しようとした前記商品であると判別する、
ことを特徴とする付記2から6のいずれか一つに記載の情報処理装置。
(付記10)
前記第1ユーザの端末装置と情報を通信する通信部をさらに備え、
前記制御部は、前記レコメンド商品の在庫が存在すると判別され、かつ、前記レコメンド商品が積載可能であると判別される場合に、
前記移動体に対する前記移動制御の終了以後に、前記レコメンド商品が注文可能であることを知らせる注文可能通知と、前記注文商品と前記レコメンド商品とが配送されたことを知らせる配送通知と、を前記第1ユーザの前記端末装置へ前記通信部に送信させる制御を行い、かつ、
前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記第1ユーザの前記配送先に滞在する前記移動体に、前記注文商品と前記レコメンド商品とを前記第1ユーザへ受け渡させる受渡制御を行う、
ことを特徴とする付記4又は5に記載の情報処理装置。
(付記11)
前記第1ユーザの端末装置と情報を通信する通信部をさらに備え、
前記制御部は、前記レコメンド商品の在庫が存在すると判別され、かつ、前記レコメンド商品が積載可能であると判別される場合に、
前記移動体に対する前記移動制御の終了より前に、前記レコメンド商品が注文可能であることを知らせる注文可能通知を、前記第1ユーザの前記端末装置へ前記通信部に送信させる制御を行い、
前記移動制御の終了以後に、前記注文商品と前記レコメンド商品とが配送されたことを知らせる配送通知を、前記第1ユーザの前記端末装置へ前記通信部に送信させる制御を行い、かつ、
前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記第1ユーザの前記配送先に滞在する前記移動体に、前記注文商品と前記レコメンド商品とを前記第1ユーザへ受け渡させる受渡制御を行う、
ことを特徴とする付記4又は5に記載の情報処理装置。
(付記12)
前記第2ユーザの端末装置と情報を通信する通信部をさらに備え、
前記制御部は、前記レコメンド商品の在庫が存在すると判別され、かつ、前記レコメンド商品が積載可能であると判別される場合に、前記移動制御である第1移動制御と、前記注文商品を前記第1ユーザへ受け渡させる第1受渡制御と、を前記移動体に行った後、前記第1ユーザの前記配送先から前記第2ユーザの前記配送先まで移動させる第2移動制御を前記移動体に行う、
ことを特徴とする付記4又は5に記載の情報処理装置。
(付記13)
前記制御部は、
前記第2移動制御の終了以後に、前記レコメンド商品が注文可能であることを知らせる注文可能通知と、前記レコメンド商品が配送されたことを知らせる配送通知と、を前記第2ユーザの前記端末装置へ前記通信部に送信させる制御を行い、かつ、
前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記第2ユーザの前記配送先に滞在する前記移動体に、前記レコメンド商品を前記第2ユーザへ受け渡させる第2受渡制御を行う、
ことを特徴とする付記12に記載の情報処理装置。
(付記14)
前記制御部は、
前記第2移動制御の終了より前に、前記レコメンド商品が注文可能であることを知らせる注文可能通知を前記第2ユーザの前記端末装置へ前記通信部に送信させる制御を行い、
前記第2移動制御の終了以後に、前記レコメンド商品が配送されたことを知らせる配送通知を前記第2ユーザの前記端末装置へ前記通信部に送信させる制御を行い、かつ、
前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記第2ユーザの前記配送先に滞在する前記移動体に、前記レコメンド商品を前記第2ユーザへ受け渡させる第2受渡制御を行う、
ことを特徴とする付記12に記載の情報処理装置。
(付記15)
前記制御部は、
前記第2ユーザの前記配送先まで前記移動体を移動させる前記第2移動制御の開始より前に、前記注文可能通知を送信させる前記制御を行い、
前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記第2移動制御を行う、
ことを特徴とする付記14に記載の情報処理装置。
(付記16)
前記第1ユーザ又は前記第2ユーザの端末装置と情報を通信する通信部、をさらに備え、
前記制御部は、前記レコメンド商品の在庫が存在すると判別され、かつ、前記レコメンド商品が積載可能であると判別される場合に、前記レコメンド商品を注文可能であることを知らせる注文可能通知を前記端末装置へ送信させる制御を前記通信部に行い、
前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記注文商品と前記レコメンド商品とを積載した前記移動体に前記移動制御を行う、
ことを特徴とする付記4又は5に記載の情報処理装置。
(付記17)
ユーザが注文した注文商品を移動体に積載した場合に、レコメンド商品を前記移動体に積載可能であるか否かを判別する判別部と、
前記レコメンド商品が積載可能であると判別されると、前記注文商品と前記レコメンド商品とを積載した前記移動体に、前記注文商品の配送先まで移動させる移動制御を行う制御部と、
を備えることを特徴とするシステム。
(付記18)
情報処理装置又はシステムが実行する方法であって、
ユーザが注文した注文商品を移動体に積載した場合に、レコメンド商品を前記移動体に積載可能であるか否かを判別する判別ステップと、
前記レコメンド商品が積載可能であると判別されると、前記注文商品と前記レコメンド商品とを積載した前記移動体に、前記注文商品の配送先まで移動させる移動制御を行う制御ステップと、
を備えることを特徴とする方法。
1:情報処理システム 100、690、790:情報処理装置 101、691:CPU 102、692:RAM 103a、693a:ROM 103b:ハードディスク 104a、694a:第1データ通信回路 104b、694b:第2データ通信回路 105a、695a:ビデオカード 105b、695b:表示装置 105c、695c:入力装置 110:制御部120:取得部120:保存部 140:判別部 190:情報記憶部 200:POSシステム 600、700:移動体 601、602:車輪 610:車台 620、720:格納庫 621から623、721から723:格納ボックス 630、730:撮像装置 641、741:LiDARセンサ 693b:フラッシュメモリ 696:位置計測回路 698:入出力ポート 699:駆動回路 701から704:プロペラアーム 711から714:プロペラ 750:フック 751:本体部 751a、751b:端部 751c:クラウン部 752:ピン 753:連結部材 753a、753b:連結点 754:揺動部材 755:モータ 755a:シャフト 800:端末装置 A:商品 D1、D2:配送先の位置 DB:端部間の距離 DH:受止穴の深さ G:リング L:紐 LN:第1通信網 IN:第2通信網 S:配送元の位置 TR:リングの抜出方向の幅

Claims (18)

  1. ユーザが注文した注文商品を移動体に積載した場合に、レコメンド商品を前記移動体に積載可能であるか否かを判別する判別部と、
    前記レコメンド商品が積載可能であると判別されると、前記注文商品と前記レコメンド商品とを積載した前記移動体に、前記注文商品の配送先まで移動させる移動制御を行う制御部と、
    を備えることを特徴とする情報処理装置。
  2. 前記レコメンド商品は、前記ユーザである第1ユーザ、又は、前記配送先からの距離が予め定められた距離以下の位置に居る、若しくは、当該位置を配送先に指定する第2ユーザ、が注文しようとした商品であり、かつ、前記第1ユーザ又は前記第2ユーザが注文しようとした時点で売り切れであった商品である、売切商品、又は、前記売切商品の代替商品である、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記レコメンド商品は、前記注文商品の代替商品と異なる商品である、
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記判別部は、前記第1ユーザ又は前記第2ユーザが注文しようとした前記時点よりも後、かつ、前記移動体の前記移動制御が開始される時点よりも前において、前記レコメンド商品の在庫が存在するか否かをさらに判別し、
    前記制御部は、前記レコメンド商品の在庫が存在すると判別され、かつ、前記レコメンド商品が積載可能であると判別されると、前記注文商品と前記レコメンド商品とを積載した前記移動体に前記移動制御を行う、
    ことを特徴とする請求項2又は3に記載の情報処理装置。
  5. 前記制御部は、前記レコメンド商品の在庫が存在しないと判別されると、又は、前記レコメンド商品が積載可能でないと判別されると、前記注文商品を積載し、かつ、前記レコメンド商品を積載していない前記移動体に前記移動制御を行う、
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 予め定められた間隔で、実店舗に在る商品の在庫数を表す情報を受信する通信部、をさらに備え、
    前記制御部は、前記情報が受信されると、受信された前記情報で表される前記在庫数から予め定められた個数を減算することで、仮想店舗で販売可能な在庫数を算出し、
    前記判別部は、
    前記第1ユーザ又は前記第2ユーザが注文しようとした前記時点において、前記仮想店舗で販売可能な前記在庫数に基づいて、前記第1ユーザ又は前記第2ユーザが注文しようとした前記商品が前記売切商品であるか否かを判別し、
    前記第1ユーザ又は前記第2ユーザが注文しようとした前記時点よりも後、かつ、前記移動体の前記移動制御が開始される前記時点よりも前において、前記レコメンド商品の在庫が前記実店舗に存在するか否かを判別する、
    ことを特徴とする請求項4又は5に記載の情報処理装置。
  7. 前記判別部は、前記第1ユーザ又は前記第2ユーザによって入力されたキーワードに基づいて検索された商品の数が1つである場合に、検索された前記1つの商品が、前記第1ユーザ又は前記第2ユーザが注文しようとした前記商品であると判別する、
    ことを特徴とする請求項2から6のいずれか一項に記載の情報処理装置。
  8. 前記判別部は、前記第1ユーザ又は前記第2ユーザが、予め定められた期間内に、予め定められた回数以上の回数閲覧したウェブ頁、及び、予め定められた期間内に、予め定められた時間以上の時間に亘り閲覧したウェブ頁、の少なくとも1つに記載された商品を、前記第1ユーザ又は前記第2ユーザが注文しようとした前記商品であると判別する、
    ことを特徴とする請求項2から6のいずれか一項に記載の情報処理装置。
  9. 前記判別部は、
    前記第1ユーザ又は前記第2ユーザが、予め定められた期間内に、前記売切商品が記載されたウェブ頁を閲覧した場合であり、かつ、前記売切商品のジャンルに属する商品であり、かつ、前記売切商品と異なる商品が記載されたウェブ頁を、前記第1ユーザ又は前記第2ユーザが、予め定められた前記期間内に、予め定められた回数以上の回数閲覧した場合、又は、
    前記第1ユーザ又は前記第2ユーザが、予め定められた前記期間内に、前記売切商品が記載された前記ウェブ頁を閲覧した場合であり、かつ、前記第1ユーザ又は前記第2ユーザが、予め定められた前記期間よりも前に、前記売切商品を注文している場合、
    前記売切商品を、前記第1ユーザ又は前記第2ユーザが注文しようとした前記商品であると判別する、
    ことを特徴とする請求項2から6のいずれか一項に記載の情報処理装置。
  10. 前記第1ユーザの端末装置と情報を通信する通信部をさらに備え、
    前記制御部は、前記レコメンド商品の在庫が存在すると判別され、かつ、前記レコメンド商品が積載可能であると判別される場合に、
    前記移動体に対する前記移動制御の終了以後に、前記レコメンド商品が注文可能であることを知らせる注文可能通知と、前記注文商品と前記レコメンド商品とが配送されたことを知らせる配送通知と、を前記第1ユーザの前記端末装置へ前記通信部に送信させる制御を行い、かつ、
    前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記第1ユーザの前記配送先に滞在する前記移動体に、前記注文商品と前記レコメンド商品とを前記第1ユーザへ受け渡させる受渡制御を行う、
    ことを特徴とする請求項4又は5に記載の情報処理装置。
  11. 前記第1ユーザの端末装置と情報を通信する通信部をさらに備え、
    前記制御部は、前記レコメンド商品の在庫が存在すると判別され、かつ、前記レコメンド商品が積載可能であると判別される場合に、
    前記移動体に対する前記移動制御の終了より前に、前記レコメンド商品が注文可能であることを知らせる注文可能通知を、前記第1ユーザの前記端末装置へ前記通信部に送信させる制御を行い、
    前記移動制御の終了以後に、前記注文商品と前記レコメンド商品とが配送されたことを知らせる配送通知を、前記第1ユーザの前記端末装置へ前記通信部に送信させる制御を行い、かつ、
    前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記第1ユーザの前記配送先に滞在する前記移動体に、前記注文商品と前記レコメンド商品とを前記第1ユーザへ受け渡させる受渡制御を行う、
    ことを特徴とする請求項4又は5に記載の情報処理装置。
  12. 前記第2ユーザの端末装置と情報を通信する通信部をさらに備え、
    前記制御部は、前記レコメンド商品の在庫が存在すると判別され、かつ、前記レコメンド商品が積載可能であると判別される場合に、前記移動制御である第1移動制御と、前記注文商品を前記第1ユーザへ受け渡させる第1受渡制御と、を前記移動体に行った後、前記第1ユーザの前記配送先から前記第2ユーザの前記配送先まで移動させる第2移動制御を前記移動体に行う、
    ことを特徴とする請求項4又は5に記載の情報処理装置。
  13. 前記制御部は、
    前記第2移動制御の終了以後に、前記レコメンド商品が注文可能であることを知らせる注文可能通知と、前記レコメンド商品が配送されたことを知らせる配送通知と、を前記第2ユーザの前記端末装置へ前記通信部に送信させる制御を行い、かつ、
    前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記第2ユーザの前記配送先に滞在する前記移動体に、前記レコメンド商品を前記第2ユーザへ受け渡させる第2受渡制御を行う、
    ことを特徴とする請求項12に記載の情報処理装置。
  14. 前記制御部は、
    前記第2移動制御の終了より前に、前記レコメンド商品が注文可能であることを知らせる注文可能通知を前記第2ユーザの前記端末装置へ前記通信部に送信させる制御を行い、
    前記第2移動制御の終了以後に、前記レコメンド商品が配送されたことを知らせる配送通知を前記第2ユーザの前記端末装置へ前記通信部に送信させる制御を行い、かつ、
    前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記第2ユーザの前記配送先に滞在する前記移動体に、前記レコメンド商品を前記第2ユーザへ受け渡させる第2受渡制御を行う、
    ことを特徴とする請求項12に記載の情報処理装置。
  15. 前記制御部は、
    前記第2ユーザの前記配送先まで前記移動体を移動させる前記第2移動制御の開始より前に、前記注文可能通知を送信させる前記制御を行い、
    前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記第2移動制御を行う、
    ことを特徴とする請求項14に記載の情報処理装置。
  16. 前記第1ユーザ又は前記第2ユーザの端末装置と情報を通信する通信部、をさらに備え、
    前記制御部は、前記レコメンド商品の在庫が存在すると判別され、かつ、前記レコメンド商品が積載可能であると判別される場合に、前記レコメンド商品を注文可能であることを知らせる注文可能通知を前記端末装置へ送信させる制御を前記通信部に行い、
    前記レコメンド商品の代金の決済が完了したことを告げる報告を前記通信部が受信すると、前記注文商品と前記レコメンド商品とを積載した前記移動体に前記移動制御を行う、
    ことを特徴とする請求項4又は5に記載の情報処理装置。
  17. ユーザが注文した注文商品を移動体に積載した場合に、レコメンド商品を前記移動体に積載可能であるか否かを判別する判別部と、
    前記レコメンド商品が積載可能であると判別されると、前記注文商品と前記レコメンド商品とを積載した前記移動体に、前記注文商品の配送先まで移動させる移動制御を行う制御部と、
    を備えることを特徴とするシステム。
  18. 情報処理装置又はシステムが実行する方法であって、
    ユーザが注文した注文商品を移動体に積載した場合に、レコメンド商品を前記移動体に積載可能であるか否かを判別する判別ステップと、
    前記レコメンド商品が積載可能であると判別されると、前記注文商品と前記レコメンド商品とを積載した前記移動体に、前記注文商品の配送先まで移動させる移動制御を行う制御ステップと、
    を備えることを特徴とする方法。
JP2021176629A 2021-10-28 2021-10-28 情報処理装置、システム、及び、方法 Active JP7305724B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021176629A JP7305724B2 (ja) 2021-10-28 2021-10-28 情報処理装置、システム、及び、方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021176629A JP7305724B2 (ja) 2021-10-28 2021-10-28 情報処理装置、システム、及び、方法

Publications (2)

Publication Number Publication Date
JP2023066112A true JP2023066112A (ja) 2023-05-15
JP7305724B2 JP7305724B2 (ja) 2023-07-10

Family

ID=86322006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021176629A Active JP7305724B2 (ja) 2021-10-28 2021-10-28 情報処理装置、システム、及び、方法

Country Status (1)

Country Link
JP (1) JP7305724B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180197177A1 (en) * 2017-01-12 2018-07-12 Samsung Electronics Co., Ltd. Electronic device and electronic purchase method using same
CN109034682A (zh) * 2018-06-27 2018-12-18 深兰科技(上海)有限公司 基于智能货柜及配送机器人的配送方法、装置及存储介质
US10198749B1 (en) * 2015-06-15 2019-02-05 Amazon Technologies, Inc. Providing recommended items
WO2019064381A1 (ja) * 2017-09-27 2019-04-04 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
JP2020007148A (ja) * 2018-07-12 2020-01-16 株式会社Zmp 無人配送車両による無人配送システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198749B1 (en) * 2015-06-15 2019-02-05 Amazon Technologies, Inc. Providing recommended items
US20180197177A1 (en) * 2017-01-12 2018-07-12 Samsung Electronics Co., Ltd. Electronic device and electronic purchase method using same
WO2019064381A1 (ja) * 2017-09-27 2019-04-04 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
CN109034682A (zh) * 2018-06-27 2018-12-18 深兰科技(上海)有限公司 基于智能货柜及配送机器人的配送方法、装置及存储介质
JP2020007148A (ja) * 2018-07-12 2020-01-16 株式会社Zmp 無人配送車両による無人配送システム

Also Published As

Publication number Publication date
JP7305724B2 (ja) 2023-07-10

Similar Documents

Publication Publication Date Title
US10289989B2 (en) Drive-thru / point-of-sale automated transaction technologies and apparatus
EP3287399B1 (en) Delivery system
US11861681B2 (en) System and method for integrated retail and ecommerce shopping platforms
EP3829953B1 (en) Smart shopping trolley
US10949801B1 (en) Inventory item release apparatus and method
WO2019222246A1 (en) Systems and methods for automated storage and retrieval
JP6958556B2 (ja) 在庫管理装置、商品販売システム、在庫管理方法およびプログラム
JP2019121086A (ja) 通信販売システム
JP6745786B2 (ja) 店舗
JP6977727B2 (ja) 在庫管理装置、顧客端末、商品販売システム、在庫管理方法、表示制御方法およびプログラム
JP7305724B2 (ja) 情報処理装置、システム、及び、方法
JP7203143B2 (ja) 情報処理システム、情報処理装置、及び、方法
JP7203797B2 (ja) 情報処理システム、装置、及び、方法
JP6992755B2 (ja) 在庫管理装置、車載装置、商品販売システム、在庫管理方法およびプログラム
JP7221361B1 (ja) 情報処理装置、システム、及び、方法
JP2021140740A (ja) 物品収容システム、サーバ、物品収容方法、プログラムおよび情報処理装置
JP7100730B1 (ja) 物品配送システム、及び無人移動体
JP7274545B2 (ja) 情報処理装置、システム、及び、方法
WO2022254539A1 (ja) 制御装置、システム、及び、方法
JP2023086281A (ja) 情報処理装置、システム、及び、方法
US20240119410A1 (en) Information processing apparatus, article management system, and article management method
JP7071482B1 (ja) 情報処理装置、システム、及び、方法
WO2021176922A1 (ja) 物品収容システム、サーバ、物品収容方法、プログラムおよび情報処理装置
JP7290773B1 (ja) 情報処理装置、システム、及び、方法
JP2022056739A (ja) 物流システム、情報処理装置、及び、方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230628

R150 Certificate of patent or registration of utility model

Ref document number: 7305724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150