以下、図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施の形態は、注文受付システムに対して本発明を適用した場合の実施形態である。
[1.注文受付システムの構成及び機能概要]
先ず、図1を用いて本発明の一実施形態に係る注文受付システムSの構成及び概要機能について説明する。
図1に示すように、注文受付システムS(「商品グルーピングシステム」の一例)は、注文受付サーバ1(「サーバ装置」の一例)と、ユーザ端末2(「端末装置」の一例)と、店舗端末3と、を含むネットスーパーサイトとして構成されている。なお、図1の例では、説明の便宜上、一つのユーザ端末2を示しているが、実際には多数のユーザ端末から注文受付サーバ1にアクセス可能となっている。同様に、店舗端末3もネットスーパーサイトに参加するスーパーマーケットあるいは支店の数だけ存在する。ここで、ネットスーパーとは、既存のスーパーマーケットや店舗を持たない宅配専門の業者がインターネット上に設けたネットスーパーサイトを介して商品の注文を受け付け、注文者宅まで注文商品を届ける宅配サービスである。
注文受付サーバ1、ユーザ端末2、及び店舗端末3は、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
注文受付サーバ1は、複数の店舗が参加するネットスーパーサイトを運営するために設置されるサーバであり、ユーザ端末2から商品の注文を受け付け、注文内容を指定された店舗の店舗端末3で確認できるようにする。特に本実施形態の注文受付サーバ1は、注文者(「ユーザ」の一例)が選択した注文商品(「注文予定商品」の一例)をグルーピングして、少なくとも一つ以上のグループを生成する機能を備えている。また、本実施形態の注文受付サーバ1は、ユーザから注文された商品(以下、「注文商品」という。)の中に在庫不足の欠品している商品(以下、「欠品商品」という。)があった場合に、店舗のスタッフがどういった対応を取るべきかを注文者にe-mail(「対応確認メール」という。)にて問い合わせる機能を備えている。
ユーザ端末2は、Webブラウザ機能を有し、注文受付サーバ1に例えばHTTP(Hyper Text Transfer Protocol)リクエストを送信してそのレスポンスとしてWebページ等を取得し、ディスプレイ上に表示するようになっている。ユーザ端末2のユーザは、ネットスーパーサイトや出店者サイトから提供される情報提供サービスを利用することができる。また、ユーザ端末2は、電子メールクライアント(Webメールを含む)を利用して、ユーザのe-mailアドレス宛に送信されたe-mail(「電子メール」の一例)を受信し、ディスプレイ上に表示するようになっている。なお、ユーザ端末2には、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)、携帯電話機等が適用可能である。
店舗端末3は、ユーザ端末2と同様に、Webブラウザ機能を有し、注文受付サーバ1に例えばHTTP(Hyper Text Transfer Protocol)リクエストを送信してそのレスポンスとしてWebページ等を取得し、ディスプレイ上に表示するようになっている。また、店舗端末3は、注文受付サーバ1にアクセスし、注文受付サーバ1に蓄積された注文内容をディスプレイ上に表示するようになっている。これにより、店舗のスタッフは、自店舗に対する注文を確認できる。
[2.注文受付サーバ1の構成]
次に、注文受付サーバ1の構成について、図2乃至図4を用いて説明する。
図2に示すように、注文受付サーバ1は、通信部11と、記憶部12と、入出力インターフェース部13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース部13とは、システムバス15を介して接続されている。
通信部11は、ネットワークNWに接続して、ユーザ端末2又は店舗端末3との通信状態を制御するようになっている。
記憶部12(「記憶手段」の一例)は、例えば、ハードディスクドライブ等により構成されている。また、記憶部12には、会員DB(Data Base)121、店舗DB122、在庫DB123、代替可能商品DB124、商品所属グループDB125、グループDB126及び注文受付DB127が構築されている。
図3(A)に示す会員DB121には、会員登録された会員(ネットスーパーの利用者であり、商品を注文した場合の注文者)の会員ID(「ユーザ識別情報」の一例)、認証パスワード、会員名称、会員住所、会員電話番号、メールアドレス、届先名称、届先住所、及び届先電話番号等を示す会員情報が登録されている。会員情報は、会員IDによって会員毎に判別可能になっている。ここで、会員IDは、会員を識別するための識別子である。また、届先は、ネットスーパーで購入した商品の配達先を意味する。また、会員ID及び認証パスワードは、ログイン処理(会員の認証処理)に使用されるログイン情報である。
図3(B)に示す店舗DB122には、ネットスーパーに出店しているスーパーマーケット(支店も含む)の店舗ID、店舗名称、店舗住所、店舗電話番号、配達可能地域及び配達可能時間等を示す店舗情報が登録されている。配達可能時間としては、複数の時間帯が登録されている。例えば、配達可能時間として「8時から10時」、「10時から12時」、「12時から14時」、・・・、及び「18時から20時」と登録される。店舗情報は、店舗IDによってネットスーパーに出店しているスーパーマーケット、又は支店ごとに判別可能になっている。ここで、店舗IDは、出店店舗又は出店支店を識別するための識別子である。
図3(C)に示す在庫DB123(「在庫情報記憶手段」の一例)には、店舗ID、及び当該店舗IDで識別される店舗で取り扱われる商品の商品ID毎に、在庫数量を示す在庫情報や、商品名称、販売価格、仕入価格、生産者・製造者、生産地・製造地及び規格を示す商品情報が登録されている。規格とは、商品の大きさや容量などのことである。商品IDは商品を識別するための識別子である。在庫DB123に登録されている在庫情報は、各店舗に設置されている店舗端末3から受信する情報に基づいて適宜更新されるようになっている。また、在庫DB123を注文受付サーバ1ではなく、各店舗に設置される店舗端末3内の記憶部に設け、注文受付サーバ1が店舗端末3内の在庫DB123にアクセスできるようにしてもよい。
図3(D)に示す代替可能商品DB124には、商品ID毎に、当該商品IDで識別される商品と代替可能な商品の商品ID(「代替可能商品ID」という)が登録されている。代替可能な関係にある商品としては、例えば、牛肉と豚肉、北海道産のジャガイモと千葉県産のジャガイモ、A社製のコーラとB社製のコーラ、等が挙げられる。あるいは、例えば、ジャガイモとサトイモ、ボールペンと鉛筆、等を挙げることもできる。なお、一の商品IDに複数の代替可能商品IDを対応付けることとしてもよい。例えば、北海道産のジャガイモの代替可能商品として、千葉県産のジャガイモと長崎県産のジャガイモを対応付けることができる。
図3(E)に示す商品所属グループDB125には、商品ID毎に、当該商品IDで識別される商品が属するグループ(「商品グループ」の一例)のグループID(「所属グループID」という)が登録されている。一の商品が複数のグループに属する場合には、それぞれのグループのIDが所属グループID(1)、・・・、所属グループID(n)として登録される。ここで、グループIDは、グループを識別するための識別子である。なお、商品所属グループDB125には、何れのグループにも属さない商品の商品IDは登録されていない。
図3(F)に示すグループDB126には、グループID毎に、グループ名称、利用頻度、所属商品数、所属商品IDが登録されている。グループIDで識別されるグループは複数の商品で構成される。グループ名称は、グループに対して与えられた名称である。所属商品数は、グループに含まれる商品の数である。所属商品IDは、グループに含まれる商品の商品IDである。グループには複数の商品が含まれることから、各商品の商品IDが所属商品ID(1)、・・・、所属商品ID(n)として登録される。グループDB126に登録されているグループは、注文商品をグループ分けする際に利用される。利用頻度は、注文商品をグループ分けする際に利用される頻度に対応しており、適宜更新される。
商品所属グループDB125とグループDB126とが、商品グループ記憶手段として機能する。グループDB126には、料理のレシピ(例えば、すき焼き、肉じゃが等)、あるいは使う目的(例えば、バーベキュー、朝食、トラベル等)に沿ったグループが、各レシピ又は目的に応じた商品とともに記憶されている。
ここで図4を参照してグループDB126の登録例について説明する。図4には、グループの一例として、「すき焼き」グループ、「朝食」グループ、「夜食」グループなどが示されている。例えば、「夜食」グループに属する商品は、カップラーメン、冷凍焼きおにぎり、コーヒー及びココアであることが示されている。この場合、グループDB126には、「夜食」グループについて、「夜食」がグループ名称として登録される。また、カップラーメン、冷凍焼きおにぎり、コーヒー及びココアにそれぞれ対応する商品IDが、所属商品ID(1)〜所属商品ID(4)として登録され、「4」が所属商品数として登録される。
なお、「玉ねぎ」が「すき焼き」グループ、「バーベキュー」グループ、「肉じゃが」グループ及び「カレー」グループの各グループに属しているように、一の商品が複数のグループに属することもある。
図3(G)に示す注文受付DB127には、注文受付ID毎に、商品を注文した会員の会員ID、注文先店舗の店舗ID、届先名称、届先住所、届先電話番号、配達指定日時、合計金額、支払方法、注文(1){商品ID、注文数量、グループ番号}、・・・、注文(n){商品ID、注文数量、グループ番号}が登録されている。なお、注文(1)の商品IDは、1品目の注文商品の商品IDを示し、注文(1)の注文数量は、1品目の注文商品の注文数量を示している。また、注文(1)のグループ番号は、1品目の注文商品のグループ番号を示している。グループ番号は、注文商品が後述するグループ分け処理によりグループ分けされた際、何れのグループにグループ分けされたかを示す。すなわち、同じグループ番号が登録されている商品は、同じグループにグルーピングされたことを示している。但し、後述する非グループ商品については、グループ番号としてブランクが登録される。注文(n)のnは注文された商品の種別の総数を表している。
また、記憶部12には、ショッピングサイトのWebページを構成する各種HTML(Hyper Text Markup Language)文書、画像データ、音声データ、テキストデータ等が記憶されている。
更に、記憶部12には、各種プログラムが記憶されている。具体的には、所定のOS(Operating System)、WWW(World Wide Web)サーバプログラム、及びショッピング処理プログラム等が記憶されている。WWWサーバプログラムは、HTTP(Hyper Text Transfer Protocol)プロトコルを用いて、ユーザ端末2等から送信されたリクエストに応じて、記憶部12に記憶されている各種のデータに基づきWebページをユーザ端末2等に送信するためプログラムである。ショッピング処理プログラムは、ショッピングサイトにおける商品の検索、購入等に関する処理を行うプログラムである。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークNWを介して取得されるようにしても良いし、CD−ROM等のディスクDKに記録されてドライブ部を介して読み込まれるようにしても良い。
入出力インターフェース部13は、通信部11及び記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
システム制御部14は、CPU(Central Processing Unit)14a、ROM(Read Only Memory)14b、RAM(Random Access Memory)14c等により構成されている。そして、システム制御部14は、CPU14aが、ROM14bや記憶部12に記憶された各種プログラムを読み出し実行することにより、受信手段、グルーピング手段、送信手段、キャンセル手段、欠品確認手段、提示案送信手段、選択情報取得手段、及び代替商品選択手段等として機能する。
なお、注文受付サーバ1を、例えば、各種データベースを管理するサーバ、商品の検索処理を行う検索処理サーバ、各種情報を提供するWWWサーバ等の複数のサーバ装置により構成しても良い。
[3.注文受付システムの動作]
次に、本発明の一実施形態に係る注文受付システムSの動作について図5乃至図15を用いて説明する。
[3.1.注文受付時の動作]
図5乃至図13を用いて、注文受付サーバ1がユーザ端末2から商品の注文を受け付け、注文受付DBに注文受付レコードを登録するまでの動作について説明する。なお、図5のシーケンス図に示す処理が開始する前に、ユーザ端末2は、ネットスーパーサイトにアクセスし、ネットスーパーサイトのトップページをディスプレイに表示しているものとする。
図5に示すように、まず、ユーザ端末2(具体的には、ユーザ端末2の図示しないシステム制御部)は、会員IDとパスワードを注文受付サーバ1に送信するための操作を検出すると、入力された会員IDとパスワードを注文受付サーバ1に送信する(ステップS101)。
注文受付サーバ1のシステム制御部14は、会員IDとパスワードを受信すると、ログイン処理を行う(ステップS102)。具体的には、システム制御部14は、受信した会員IDに基づいて会員DB121を検索し、該当する会員IDが登録されているか否かを確認し、登録されている場合には、受信したパスワードと会員DB121に登録されている認証パスワードとが一致するか否かを確認する。そして、システム制御部14は、該当する会員IDが会員DB121に登録されており、且つ、パスワードが一致した場合にのみログイン処理に問題がないと判定する。
システム制御部14は、ログイン処理に問題があると判定した場合には、ログイン処理でエラーが発生した旨を示すエラー情報をユーザ端末2に送信し、エラーメッセージをユーザ端末2のディスプレイに表示させる。一方、システム制御部14は、ログイン処理に問題がないと判定した場合には、会員DB121を参照し、登録されている届先住所を取得し、次いで、店舗DB122を参照し、取得した届先住所を配達可能地域に含む店舗又は支店のリストを取得する(ステップS103)。
次いで、システム制御部14は、取得した届先住所と、店舗リストを表示する店舗リスト画面(図示しない)を表示させるための店舗リスト画面用Webページを生成し(ステップS104)、ユーザ端末2に送信する(ステップS105)。
ユーザ端末2は、店舗リスト画面用Webページを受信すると店舗リスト画面(図示しない)をディスプレイに表示させる(ステップS106)。店舗リスト画面が表示されると、ユーザ(会員)は、(i)表示された届先住所が注文商品を受け取る住所であるか否かの確認、及び(ii)注文(購入)先店舗の選択、を行う。なお、住所に誤りがある場合や、届先住所とは異なる住所で商品を受け取る場合には、商品を受け取る正しい住所を新届先住所として送信し、注文受付サーバ1から改めて店舗リスト画面用Webページを受信する。このとき、注文受付サーバ1のシステム制御部14は、新届先住所を受信すると、新届先住所を配達可能地域に含む店舗のリストを改めて取得し、新届先住所と、取得した店舗リストを表示するための店舗リスト画面用Webページを生成し、ユーザ端末2に送信する。
ユーザ端末2は、ユーザにより注文先店舗が選択されると、選択された店舗の店舗IDを注文受付サーバ1に送信する(ステップS107)。
注文受付サーバ1のシステム制御部14は、店舗IDを受信すると、在庫DB122を参照し、受信した店舗IDで識別される店舗に属する商品で構成される商品リストを取得する(ステップS108)。また、システム制御部14は、在庫DB122を参照し、商品の商品名称、販売価格、生産者・製造者、生産地・製造地及び規格を示す商品情報を取得する。
次いで、システム制御部14は、商品リストに含まれる商品を表示するための商品一覧画面用Webページを生成し(ステップS109)、ユーザ端末2に送信する(ステップS110)。なお、商品一覧画面用Webページは、少なくとも商品の商品名称、販売価格、生産者・製造者、生産地・製造地及び規格を示す商品情報を表示させる。
ユーザ端末2は、商品一覧画面用Webページを受信すると商品一覧画面(図示しない)をディスプレイに表示させる(ステップS111)。商品一覧画面が表示されると、ユーザは、購入を希望する商品について、注文数量を選択した上で買い物かごボタンを押下(クリック)することにより商品を買い物かごに登録することができる。そして、注文する商品を全て買い物かごに登録した後、会計ボタンを押下(クリック)することで会計処理を行うことができる。ユーザ端末2は、会計ボタンを押下(クリック)する操作を検出すると、買い物かごに登録されている全商品及びその注文数量を示す注文データ(「注文予定商品情報」の一例)を注文受付サーバ1に送信する(ステップS112)。なお、このときのユーザ端末2のシステム制御部(図示しない)は「注文予定商品送信手段」の一例として機能する。
注文受付サーバ1のシステム制御部14は、注文データを受信すると、図8乃至図13を用いて後述するグループ分け処理を行う(ステップS113)。グループ分け処理は、グループDB126に登録されているグループに基づいて、注文商品をグルーピングする処理である。なお、グルーピングできなかった商品を非グループ商品という。
次に、システム制御部14は、注文商品の内容及びグループ分け処理の結果を表示する注文商品画面用Webページ(「グルーピング結果情報」の一例)を生成し(ステップS114)、ユーザ端末2に送信する(ステップS115)。
ユーザ端末2は、注文商品画面用Webページを受信すると注文商品画面をディスプレイに表示させる(ステップS116)。なお、このときのユーザ端末2のシステム制御部(図示しない)は「グルーピング結果受信手段」の一例として機能する。
ここで、図6を用いて注文商品画面について説明する。注文商品画面200には、注文商品一覧210、配送日指定エリア220、配送時間指定コンボボックス230、及び、次へボタン240が表示される。
注文商品一覧210には、商品一覧画面における会計ボタン押下時に買い物かごに登録されていた商品の一覧が表示される。注文商品一覧210には、商品毎に、商品名、規格、数量、金額が表示される。また、注文商品一覧210には、商品合計、配送料、及び合計が表示される。商品合計としては、全注文商品の金額の合計額が表示され、合計としては、商品合計と配送料の合計額が表示される。
注文商品一覧210では、グループ分け処理(ステップS113)でグルーピングされた商品について、何れのグループにグルーピングされたかを、グループ番号211−1〜221−n(nはグルーピングされたグループの数を表す。図6の例ではnは「4」)により示している。例えば、図6の例では、「牛肉」、「玉ねぎ」、「ピーマン」、「なす」、「ビール」、「炭」がグループ1にグルーピングされたこと示している。一方、グループ分け処理(ステップS113)でグルーピングされなかった商品(非グループ商品)については、非グループ商品であることをバツ印212により示している。
注文商品一覧210では、処理を中断することで全注文予定品の注文がキャンセルされる。また、各商品ボックスに配置されたキャンセルボタン213を押下することで、その商品の注文がキャンセルされる。さらに、各グループボックスにキャンセルボタン214を配置し、このボタンを押下することで、そのグループに属する全商品の注文がキャンセルされるようにしてもよい。
配送日指定エリア220では、注文した商品を配送する日を指定することができる。配送日指定エリア220には、年選択ボックス221、月選択ボックス222、日選択ボックス223が設けられており、配送日の年、月、日をそれぞれ選択できるようになっている。なお、各選択ボックス221〜223は連動しており、配送日として不適切な日付は選択できないようになっている。
配送時間指定コンボボックス230では、注文した商品を配送する時間帯を指定することができるようになっている。配送時間指定コンボボックス230で指定できる時間帯は、店舗DB122に登録されている配達可能時間に対応している。
次へボタン240は後続の処理に進む際に押下(クリック)されるべきボタンである。すなわち、注文者であるユーザは、配送日指定エリア220及び配送時間指定コンボボックス230において配送日時を指定した後、次へボタン240を押下(クリック)することにより、後続の処理に進むことができる。
上述した注文商品画面200がディスプレイに表示されると、注文者は、注文商品がどのようにグループ分けされたかを確認することができる。また、注文商品画面200において注文商品の配達日時を指定することができる。図5に戻り、ユーザ端末2は、次へボタン240を押下(クリック)する操作を検出すると、配送日指定エリア220及び配送時間指定コンボボックス230において指定された日時を示す配達日時情報を注文受付サーバ1に送信する(ステップS117)。
図7は、注文受付時における注文受付システムの処理例を示すシーケンス図である。図7に示すように、注文受付サーバ1のシステム制御部14は、配達日時情報を受信すると、会計方法を選択させるための会計画面用Webページを生成し(ステップS201)、ユーザ端末2に送信する(ステップS202)。
ユーザ端末2は、会計画面用Webページを受信すると会計画面(図示しない)をディスプレイに表示させる(ステップS203)。会計画面が表示されると、ユーザは支払金額を確認し、支払方法を選択する。会計画面では、支払方法としてクレジットカードによる支払、又は代金引換による支払の何れかを選択することができる。ユーザ端末2は、支払方法が選択されると、選択された支払方法の種別を示す支払方法情報を注文受付サーバ1に送信する(ステップS204)。
注文受付サーバ1のシステム制御部14は、支払方法情報を受信すると、注文受付レコードを生成する(ステップS205)。注文受付レコードは、注文受付DB127に登録されるレコードであって、注文受付ID、会員ID、店舗ID、届先名称、届先住所、届先電話番号、配達指定日時、合計金額、支払方法、注文(1){商品ID、注文数量、グループ番号}、・・・、注文(n){商品ID、注文数量、グループ番号}により構成されている。合計金額は、各注文商品の販売価格(在庫DB123から商品IDに基づいて取得する)と、注文数量とに基づいて算出する。グループ番号には、グループ分け処理にて、注文商品がグルーピングされたグループを示すグループ番号が記述される。なお、グループ番号はグループが生成された順番に対応している。すなわち、最初にグルーピングされたグループのグループ番号は「1」、2番目にグルーピングされたグループのグループ番号は「2」となる。
次いで、システム制御部14は、注文内容を表示する注文内容確認画面用Webページを生成し(ステップS206)、ユーザ端末2に送信する(ステップS207)。
ユーザ端末2は、注文内容確認画面用Webページを受信すると注文内容確認画面(図示しない)をディスプレイに表示させる(ステップS208)。注文内容確認画面には、注文内容(注文商品、数量、合計金額、配達指定日時、支払方法)と、確認ボタンが表示される。ユーザは、表示された注文内容に誤りがなければ確認ボタンを押下(クリック)する。ユーザ端末2は、確認ボタンが押下(クリック)されると、ユーザが注文内容を確認した旨を示す確認データを注文受付サーバ1に送信する(ステップS209)。
注文受付サーバ1のシステム制御部14は、確認データを受信すると、ステップS205の処理で生成した注文受付レコードを注文受付DBに登録する(ステップS210)。
次に、図8及び図9を用いてグループ分け処理について説明する。図8は、システム制御部14によるグループ分け処理の例を示すフローチャートである。図9は、システム制御部14による同数時抽出処理の例を示すフローチャートである。
図8に示すように、システム制御部14は、注文データが示す全注文商品をグループ分け対象商品としてセットする(ステップS11)。
次に、システム制御部14は、グループ分け対象商品から一つ商品を選択する(ステップS12)。次いで、システム制御部14は、選択した商品の所属グループを特定する(ステップS13)。具体的には、システム制御部14は、商品所属グループDB125を参照し、選択した商品の商品IDと対応付けられている所属グループIDを特定する。
次に、システム制御部14は、所属グループを特定できたか否かを判定する(ステップS14)。システム制御部14は、所属グループを特定できたと判定した場合には(ステップS14:YES)、特定したグループに対応するカウンタの値に「1」を加算する(ステップS15)。例えば、特定したグループIDが「夜食」グループを識別するグループIDである場合には、夜食カウンタの値に「1」を加算する。なお、システム制御部14は、特定したグループIDが複数ある場合にはそれぞれ対応するカウンタの値に「1」を加算する。また、各カウンタは、ステップS11の処理からステップS12の処理に移行した際、又はステップS26の処理からステップS12の処理に移行した際に初期化される。
一方、システム制御部14は、所属グループを特定できなかったと判定した場合(商品所属グループDB125に選択した商品の商品IDが登録されていない場合)には(ステップS14:NO)、選択した商品を非グループ商品に決定する(ステップS16)。次いで、システム制御部14は、グループ分け対象商品から選択した商品を削除する(ステップS17)。
ステップS15の処理又はステップS17の処理を終えると、システム制御部14は、ステップS12の処理によりグループ分け対象商品を全て選択したか否かを判定する(ステップS18)。システム制御部14は、全商品を選択していないと判定した場合には(ステップS18:NO)、ステップS12の処理に移行する。一方、システム制御部14は、全商品を選択したと判定した場合には(ステップS18:YES)、次いで、値が「2」以上のカウンタがあるか否かを判定する(ステップS19)。
システム制御部14は、値が「2」以上のカウンタがあると判定した場合には(ステップS19:YES)、値が最大であるカウンタに対応するグループを最大グループ(「最多商品グループ」の一例)に決定する(ステップS20)。次いで、システム制御部14は、最大グループに決定したグループは一つであるか否かを判定する(ステップS21)。
システム制御部14は、最大グループに決定したグループは一つであると判定した場合には(ステップS21:YES)、グループ分け対象商品から、最大グループに属する商品を抽出し(ステップS22)、抽出した商品をグルーピングする(ステップS23)。一方、システム制御部14は、最大グループは一つではないと判定した場合には(ステップS21:NO)、同数時抽出処理を行う(ステップS24)。
ここで、図9を用いて同数時抽出処理について説明する。
図9に示すように、システム制御部14は、各最大グループに属するグループ分け対象商品を比較する(ステップS51)。次いで、システム制御部14は、商品(商品ID)が全て一致しているか否かを判定する(ステップS52)。システム制御部14は、商品(商品ID)が全て一致していると判定した場合には、(ステップS52:YES)、グループ分け対象商品から、最大グループに属する商品を抽出する(ステップS53)。次いで、システム制御部14は、抽出した商品をグルーピングし(ステップS61)、同数時抽出処理を終了する。一方、システム制御部14は、商品(商品ID)が全て一致しているわけではないと判定した場合には、(ステップS52:NO)、次いで、商品(商品ID)が一部一致しているか否かを判定する(ステップS54)。
システム制御部14は、商品(商品ID)が一部一致していると判定した場合には(ステップS54:YES)、種類(商品ID)が異なる商品それぞれついて所属グループの数を取得する(ステップS55)。具体的には、商品IDに基づいて商品所属グループDB125を参照して所属グループIDが登録さている数を取得する。次いで、システム制御部14は、所属グループの数が最大である商品を特定する(ステップS56)。そして、特定した商品の数は一つであるか否かを判定する(ステップS57)。
システム制御部14は、特定した商品の数は一つであると判定した場合には(ステップS57:YES)、特定した商品が属するグループを最大グループとして特定する(ステップS58)。一方、システム制御部14は、特定した商品の数は一つではないと判定した場合には(ステップS57:NO)、グループDB126に登録されている利用頻度を参照して、特定した商品が属する最大グループのうち、より利用頻度の高い最大グループを特定する(ステップS59)。
次に、システム制御部14は、グループ分け対象商品から、ステップS58の処理又はステップS59の処理で特定した最大グループに属する商品を抽出する(ステップS60)。次いで、システム制御部14は、抽出した商品をグルーピングし(ステップS61)、同数時抽出処理を終了する。
一方、ステップS54の処理において、システム制御部14は、商品(商品ID)が一部一致もしていないと判定した場合(商品(商品ID)が全て異なる場合)には(ステップS54:NO)、ステップS20の処理(図8)で決定した複数の最大グループの中から一つの最大グループを選択する(例えば、複数の最大グループ中に含まれる商品のうちで、最初に買い物かごボタンが押下された商品が所属するグループを選択してもよい。)(ステップS62)。
次に、システム制御部14は、グループ分け対象商品から、選択した最大グループに属する商品を抽出し(ステップS63)、抽出した商品をグルーピングする(ステップS64)。次いで、システム制御部14は、ステップS62の処理により最大グループを全て選択したか否かを判定する(ステップS65)。システム制御部14は、全最大グループを選択していないと判定した場合には(ステップS65:NO)、ステップS62の処理に移行する。一方、システム制御部14は、全最大グループを選択したと判定した場合には(ステップS65:YES)、同数時抽出処理を終了する。
図8に戻り、システム制御部14は、ステップS23の処理又はステップS24の処理でグルーピングした商品を、グループ分け対象商品から削除する(ステップS25)。次いで、システム制御部14は、グループ分け対象商品の数は「0」であるか否かを判定する(ステップS26)。システム制御部14は、グループ分け対象商品の数は「0」ではないと判定したときには(ステップS26:NO)、ステップS12の処理に移行する。一方、システム制御部14は、グループ分け対象商品の数は「0」であると判定したときには(ステップS26:YES)、グループ分け処理を終了する。
他方、ステップS19の処理において、システム制御部14は、値が「2」以上のカウンタがないと判定した場合には(ステップS19:NO)、次いで、グループ分け対象商品の数は「0」であるか否か判定する(ステップS27)。システム制御部14は、グループ分け対象商品の数は「0」ではないと判定したときには(ステップS27:NO)、それぞれのグループ分け対象商品を、非グループ商品に決定し、グループ分け処理を終了する。一方、システム制御部14は、グループ分け対象商品の数は「0」であると判定したときには(ステップS27:YES)、グループ分け処理を終了する。
なお、システム制御部14は、図8に示したステップS26の処理、図9に示したステップS61の処理、ステップS64の処理において、商品をグルーピングする際にはグルーピングする商品に対して、グルーピングした順番に基づくグループ番号を対応付ける。
ここで、図4、図10〜図13に示す例を用いて、グループ分け処理において商品がどのようにグループ分けされるかについて説明する。なお、グループDB126には、図4に示すグループのみが登録されていることとし、各グループに所属する商品も図4に示す商品のみが登録されていることとする。したがって、図4に示す商品以外の商品(例えば、「ボールペン」)は、何れのグループにも属さないこととなる。一方、図10〜図13に示す注文商品は、ステップS112の処理(図5)で送信された注文データに含まれる全商品を示している。
まず、注文受付サーバ1のシステム制御部14は、図10に示す全注文商品をグループ分け対象商品310としてセットする(ステップS11)。次いで、システム制御部14は、グループ分け対象商品310から一つの商品「牛肉」を選択する(ステップS12)。次いで、システム制御部14は、「牛肉」の所属グループを特定する(ステップS13)。図4に示すように、「牛肉」は「すき焼き」グループ及び「バーベキュー」グループに属するので、「すき焼き」グループ及び「バーベキュー」グループを特定する。次いで、システム制御部14は、「牛肉」の所属グループを特定できたか判定するが(ステップS14)、所属グループを特定することができたので(ステップS14:YES)、次いで、特定したグループに対応する「すき焼き」カウンタ、及び「バーベキュー」カウンタの値に「1」を加算する(ステップS15)。以降、システム制御部14は、他のグループ分け対象商品310についても同様の処理を行う。但し、ボールペンについては所属グループを特定することができないので(図4参照)、ボールペンを非グループ商品に決定し(ステップS16)、グループ分け対象商品310から削除する(ステップS17)。
このように、システム制御部14は、図10に示す全てのグループ分け対象商品310に対して、ステップS12〜ステップS18の処理を繰り返す。これにより、各グループに対応するカウンタの値は、図10のカウンタ行390に示す値となる。次いで、システム制御部14は、値が「2」以上のカウンタがあるか判定する(ステップS19)。ここでは、値が「2」以上のカウンタがあるので(ステップS19:YES)、次いで、値が「6」と最大である「バーベキュー」カウンタに対応する「バーベキュー」グループを最大グループとして決定する(ステップS20)。
次いで、システム制御部14は、最大グループが一つか判定する(ステップS21)。ここでは、最大グループは「バーベキュー」グループのみであるので(ステップS21:YES)、次いで、グループ分け対象商品310から「バーベキュー」グループに属する「牛肉」、「玉ねぎ」、「ピーマン」、「なす」、「ビール」、「炭」を抽出する(ステップS22)。次いで、システム制御部14は、「牛肉」、「玉ねぎ」、「ピーマン」、「なす」、「ビール」、「炭」をグルーピングする(ステップS23)。次いで、システム制御部14は、グループ分け対象商品310から「牛肉」、「玉ねぎ」、「ピーマン」、「なす」、「ビール」、「炭」を削除する(ステップS25)。
図10に示すグループ分け対象商品310に対して、システム制御部14が上述したようなステップS12の処理からステップS25の処理を行うと、グループ分け対象商品310は図11に示すようになる。図11においては、グルーピングされた「牛肉」、「玉ねぎ」、「ピーマン」、「なす」、「ビール」、「炭」は処理済み商品320として示している。また、ステップS16の処理で非グループ商品に決定された「ボールペン」も処理済み商品320として示している。なお、グルーピングされた商品群については、グルーピングされた順番を示すグループ番号321をグループ列325に記述している。また、非グループ商品に決定された商品については、何れのグループにもグルーピングされなかったことを示すバツ印329をグループ列325に記述している。
次いで、システム制御部14は、グループ分け対象商品310の数が「0」であるか判定する(ステップS26)。図11に示すように、グループ分け対象商品310の数は「0」ではないので(ステップS26:NO)、ステップS12の処理に戻り、図11に示すグループ分け対象商品310について、ステップS12の処理からステップS18の処理を繰り返す。すると、各グループに対応するカウンタの値は、図11のカウンタ行390に示す値となる。
次いで、システム制御部14は、値が「2」以上のカウンタがあるか判定する(ステップS19)。ここでは、値が「2」以上のカウンタがあるので(ステップS19:YES)、次いで、システム制御部14は、カウンタの値が「4」と最大である「肉じゃが」グループと「カレー」グループとを最大グループとして決定する(ステップS20)。
次いで、システム制御部14は、最大グループが一つか判定する(ステップS21)。ここでは、最大グループは2つ(「肉じゃが」グループと「カレー」グループ)あるので(ステップS21:NO)、次いで、同数時抽出処理を行う(ステップS24)。
図9に示す同数時抽出処理において、システム制御部14は、まず、「肉じゃが」グループと「カレー」グループに属するグループ分け対象商品同士を比較し(ステップS51)、完全一致か判定する(ステップS52)。ここでは、「豚肉」、「じゃがいも」、「にんじん」は一致するが、「しらたき」と「らっきょう漬け」が異なる。よって、システム制御部14は、完全一致ではないと判定し(ステップS52:NO)、次いで、一部一致か判定する(ステップS53)。システム制御部14は、一部一致であると判定し(ステップS53:YES)、次いで、「しらたき」と「らっきょう漬け」について、それぞれ所属グループの数を取得する(ステップS55)。システム制御部14は、「しらたき」の所属グループの数として「2」(「すき焼き」グループと「肉じゃが」グループ)を取得し、「らっきょう漬け」の所属グループの数として「1」(「肉じゃが」グループのみ)を取得する(図4参照)。
次いで、システム制御部14は、所属グループの数が「2」と最大である「しらたき」を特定し(ステップS56)、更に、特定した「しらたき」が所属する「肉じゃが」グループを特定する(ステップS58)。次いで、システム制御部14は、図11に示すグループ分け対象商品310から「肉じゃが」グループに属する「豚肉」、「じゃがいも」、「にんじん」、「しらたき」を抽出する(ステップS60)。次いで、システム制御部14は、「豚肉」、「じゃがいも」、「にんじん」、「しらたき」をグルーピングする(ステップS61)。
図8に戻り、システム制御部14は、図11に示すグループ分け対象商品310から「豚肉」、「じゃがいも」、「にんじん」、「しらたき」を削除する(ステップS25)。
このように、図11に示すグループ分け対象商品310に対して、システム制御部14がステップS12の処理からステップS25の処理を行うと、グループ分け対象商品310は図12に示すようになる。図12では、グルーピングされた「豚肉」、「じゃがいも」、「にんじん」、「しらたき」が処理済み商品320として記述されている。
次いで、システム制御部14は、グループ分け対象商品310の数が「0」であるか判定する(ステップS26)。図12に示すように、グループ分け対象商品310の数は「0」ではないので(ステップS26:NO)、ステップS12の処理に戻る。以降、同様に、システム制御部14は、図12に示すグループ分け対象商品310について、上述の処理を繰り返す。すると、「食パン」、「卵」、「ヨーグルト」が3番目のグループとしてグルーピングされ、次いで、「せんべい」、「シャンプー」が4番目のグループとしてグルーピングされる。
システム制御部14が、4番目のグループまでグルーピングすると、「らっきょう漬け」のみがグループ分け対象商品として残ることとなる。すると、システム制御部14は、ステップS26の処理において、グループ分け対象商品の数が「0」でないと判定し(ステップS26:YES)、「らっきょう漬け」についてステップS12の処理からステップS18の処理を行う。次いで、システム制御部14は、ステップS19の処理及びステップS27の処理において何れも「NO」と判定することとなり、「らっきょう漬け」を非グループ商品に決定し(ステップS28)、グループ分け処理を終了する。
図13に示すように、グループ分け処理終了後には、注文商品は全て処理済み商品320となる。また、各注文商品は何れかのグループにグルーピングされるか、又は非グループ商品とされる。
[3.2.対応確認メール送信時の動作]
次に、図14に示すシーケンス図を用いて、注文受付サーバ1が、ユーザ端末2から注文を受けた注文商品の中に在庫不足の商品があった場合に、どういった対応方法を取るべきかを注文者に問い合わせる対応確認メールを送信する際の動作について説明する。
まず、注文受付サーバ1のシステム制御部14は、注文受付DB127から、注文受付レコードを取得する(ステップS301)。具体的には、システム制御部14は定期的に注文受付DB127にアクセスし、配達指定日時が所定時間帯(例えば、配達指定日時が現在時刻から5時間以後であって且つ8時間前である時間帯。)に設定されている注文受付レコードを取得する。注文受付レコードを取得する所定時間帯は、配達時間を考慮した上で、注文受付サーバ1のオペレータ又は店舗のスタッフ等が任意に設定してもよい。
次に、システム制御部14は、注文受付レコードに記録されている注文商品の在庫確認を行う(ステップS302)。具体的には、システム制御部14は、注文受付レコードの店舗ID及び注文(1)の商品IDに基づいて在庫DB123を検索し、在庫数量が注文(1)の注文数量よりも少ないか否かを判定し、少ない場合に在庫不足(欠品)と判定する。システム制御部14は、当該処理を、注文受付レコードの全注文商品(すなわち、注文(1)から注文(n)まで)について行う。システム制御部14は、在庫数量が注文数量よりも少ない注文商品(欠品商品)がある場合には、欠品商品の商品IDを含む欠品商品情報を生成する。
次いで、システム制御部14は、欠品商品情報の有無を確認し、欠品商品情報がない場合には、後述するステップS308の処理に移行する。一方、欠品商品情報がある場合には、次いで、欠品商品情報に基づいて対応確認メールを作成する(ステップS303)。
図15は、対応確認メールの一例を示す図である。対応確認メールのタイトル510には、注文商品の中に欠品があった旨を示すタイトルが表示される。対応確認メールの本文520には、在庫切れの商品(欠品商品)の名称521が表示されるとともに、対応方法を選択するための選択肢である4つの提案522〜525が提示される。なお、注文数量分の在庫はないが、在庫数量が「0」でない注文商品である場合には、在庫数量分だけ商品を注文する提案を提示することとしてもよい。
提案522は、注文商品の全商品をキャンセルする対応方法に対応している。提案523は、欠品商品と同じグループに含まれる全商品をキャンセルする対応方法に対応している。ここでいうグループとは、注文時に注文商品画面200(図6)で表示したグループである。図13の例によれば、グループ「2」(肉じゃが)に属する豚肉が欠品しており、よってじゃがいも、にんじん、及びしらたきも併せてキャンセルすることを意味する。なお、グループに含まれる他の注文商品を対応確認メールの本文520中に列挙することとしてもよい。また、欠品商品が、非グループ商品である場合には提案523は提示されない。提案524は、欠品商品のみをキャンセルする対応方法に対応している。提案525は、欠品商品の代わりに代替商品を注文する対応方法に対応している。
システム制御部14は、提案525を提示する場合、代替可能商品DB124から欠品商品の代替可能商品IDを取得し、在庫DB123にて代替可能商品の在庫数量を確認する。そして、システム制御部14は、代替可能商品について欠品商品の注文数量以上の在庫があると判定した場合には、当該代替可能商品を代替商品として選択し、提案525にて提示する。
なお、代替可能商品DB124において、欠品商品の商品IDに対して複数の代替可能商品IDが対応付けられている場合には、システム制御部14は、それぞれの代替可能な商品について在庫の確認を行う。そして、システム制御部14は、注文数量分の在庫がある代替可能な商品が複数種類存在する場合には、在庫DB123におけるそれぞれの代替可能な商品の販売価格を参照し、欠品商品の販売価格との価格差が最も小さい商品を代替商品として選択する。
図14に戻り、システム制御部14は、対応確認メールを生成すると、対応確認メールを、会員DB121に登録されているメールアドレス宛に送信する(ステップS304)。なお、図14では、対応確認メールをユーザ端末2に送信するように示しているが、対応確認メールを受信するユーザ端末2は、注文時に使用された端末に限られない。ここでは、便宜上、対応確認メールを受信する端末をユーザ端末2として説明する。
ユーザ端末2は対応確認メールを受信すると、ディスプレイに表示させる(ステップS305)。このとき、ユーザは、対応確認メールの本文中に提示されている選択肢の中から何れかを選択したメールを返信する。ユーザ端末2は、メールを返信する操作を検出すると、ユーザが選択した提案を示す情報を含む返信メールを注文受付サーバ1に送信する(ステップS306)。
注文受付サーバ1のシステム制御部14は、返信メールを受信すると、何れの提案が選択されたかを確認し、選択された提案に応じて、ステップS301の処理で取得した注文受付レコードを更新する(ステップS307)。
具体的には、システム制御部14は、提案522が選択された場合には、注文受付レコードを削除する。但し、支払方法がクレジットカード払いであった場合には、クレジットカード会社へ代金請求を停止するための処理を併せて行う。なお、提案522が選択された場合には、ステップS308以降の処理は行わない。
提案523が選択された場合には、システム制御部14は、欠品商品のグループ番号と同じ番号がグループ番号として記述されている商品を特定し、特定した全商品に関する注文を削除する。なお、提案523が選択されたことを示す返信メールは本発明の「キャンセル情報」の一例である。
提案524が選択された場合には、システム制御部14は、欠品商品の注文を削除する。
提案525が選択された場合には、システム制御部14は、欠品商品の商品IDを、対応確認メールの提案525にて提示した代替商品の商品IDで上書き更新する。
次に、注文受付サーバ1のシステム制御部14は、更新した注文受付レコードを、注文受付レコードの店舗IDで識別される店舗に設置されている店舗端末3に送信する(ステップS308)。
店舗端末3は、注文受付サーバ1から注文受付レコードを受信すると記憶部に記録する。記憶部に記録された注文受付レコードは、所定の操作により店舗のスタッフが確認できるようになっている。店舗端末3は、この所定操作を検出すると、注文受付レコードに基づく注文指示画面をディスプレイに表示する(ステップS309)。注文指示画面には、注文内容(届先名称、届先住所、届先電話番号、配達指定日時、合計金額、支払方法、注文商品及び注文商品の注文数量)が表示される。店舗のスタッフは、注文指示画面に表示された注文内容に従って、注文商品の配送を手配することができる。
以上説明したように、本実施形態における注文受付サーバ1の記憶部12の商品所属グループDB125及びグループDB126は、商品グループと、当該商品グループに属する複数の商品との対応関係を記憶し、システム制御部14は、ユーザ端末2から、ユーザが選択した複数の注文商品を示す注文データを受信し、受信した注文データが示す複数の注文商品を、商品所属グループDB125及びグループDB126に基づいてグルーピングし、少なくとも一つ以上のグループを生成する。そして、システム制御部14は、複数の注文商品のうち、グルーピングされた各注文商品について何れのグループにグルーピングされたかを示す注文商品画面用Webページをユーザ端末2に送信する。
本実施形態における注文受付サーバ1によれば、注文者が購入を希望する複数の注文商品がグルーピングされることから、注文商品をグループ単位で処理を行うことができる。また、本実施形態では、料理のレシピあるいは使う目的によって設定されたグループ(商品所属グループDB125及びグループDB126)に基づいてグルーピングが行われているので、関連性のある、一緒に購入する蓋然性が高い商品同士をグルーピングすることが可能となる。
また、本実施形態における商品所属グループDB125及びグループDB126には複数のグループと各グループに属する複数の商品との対応関係が登録されており、注文受付サーバ1のシステム制御部14は、グループDB126に登録されている複数のグループそれぞれに属する複数の商品と、受信した注文データが示す複数の注文商品とを対比し、最も多くの注文商品が属するグループを最大グループとして特定し、注文商品のうち特定された最大グループに属する注文商品を1つのグループとしてグルーピングするグルーピング処理(グループ分け処理におけるステップS12の処理からステップS26の処理)を、グルーピングされていない注文商品(グループ分け対象商品)に対して繰り返し行う。
本実施形態における注文受付サーバ1によれば、注文商品が最も多く属するグループに基づいて注文商品をグルーピングするグルーピング処理が繰り返される。属する商品数が多いということは、そのグループが利用される可能性が高いと考えることができる。したがって、ユーザが一緒に処理(購入、キャンセル等)されることを希望する可能性が高いと推測される、つまり関連性が高いと推測される注文商品同士をグルーピングすることができる。
また、本実施形態における注文受付サーバ1のシステム制御部14は、属する注文商品の数が同じとなるグループであって且つ最も多くの注文予定商品が属するグループが複数存在すると共に(ステップS21:NO)、各最大グループに属する注文商品の少なくとも一部が異なる場合に(ステップS54:YES)、当該異なる商品のそれぞれについて、グループDB126に登録されている複数のグループにおいて当該商品が属するグループの数を計数し(ステップS55)、計数した数が最大である商品が属するグループを最大グループとして特定し(ステップS56)、特定された最大グループに属する注文商品をグルーピングする(ステップS61)。
本実施形態における注文受付サーバ1によれば、注文商品が最も多く属する最大グループが複数存在し、且つ、各最大グループに属する注文商品の少なくとも一部が異なる場合に、異なる商品のうち、より多くのグループに属する商品が属するグループを最大グループとして特定し、特例された最大グループに基づいて注文商品がグルーピングされる。したがって、他の商品と関連して購入された可能性がより高い商品をグルーピングすることができる。
また、本実施形態における注文受付サーバ1のグループDB126には、各グループについて、過去に注文商品をグルーピングする際に利用された利用頻度が登録されており、システム制御部14は、ステップS56の処理において、計数した数が最大である商品が属する最大グループを特定する際、計数した数が同数であるグループが複数ある場合に(ステップS57:NO)、商品グループ記憶手段を参照して当該複数のグループのうち、最も利用頻度が高いグループを最大グループとして特定し(ステップS59)、特定した最大グループに属する注文商品をグルーピングする(ステップS61)。
本実施形態における注文受付サーバ1によれば、利用頻度がより高いグループに基づいて注文商品がグルーピングされる。したがって、関連性が高いと推測される注文商品同士によるものであり、またユーザが希望する可能性が高いと推測されるグルーピングを実現することができる。
また、本実施形態における注文受付サーバ1の注文受付DB127には、システム制御部14は、ユーザ端末2から、注文商品画面用Webページにて提示したグループのうち、キャンセルするグループを示す情報を受信する。
本実施形態における注文受付サーバ1によれば、注文者は、グループ単位で注文商品をキャンセルすることができる。
また、本実施形態における注文商品は、ネットスーパーサイトで提供される商品である。ネットスーパーサイトでは、生鮮食品や日用雑貨など多種多品目にわたる商品が取り扱われるため、ユーザは一回の注文で複数の目的に対応する購買行動をとることが多い。すなわち、注文自体は1つの注文であっても、その中では複数の目的に対応している。そのため、1つの注文の中で、複数の注文予定商品をグルーピングして独立して取り扱うことが可能となることが望まれる。本実施形態における注文受付サーバ1では、グループごとに独立してキャンセルや代替注文等の処理を行うことができるため、ユーザの利便性を高めることができる。
なお、商品を注文する際の目的とは、例えば料理のレシピ(例えば、すき焼き、肉じゃが等)、あるいは使う目的(例えば、バーベキュー、朝食、トラベル等)をいう。したがって、すき焼きを注文しようと思っているユーザが注文予定品をサーバに送信した時点で、すき焼きではなく別のもの(例えば、ハンバーグ)を食べたいと思ったときに、牛肉、白菜等のすき焼きに対応するグループに属する全商品を1つ1つキャンセルしていくより、グループ単位でキャンセルボタンを1回押下するほうが簡単であり、利便性が高い。
また、本実施形態における注文受付サーバ1のシステム制御部14は、注文商品及び当該注文商品毎の注文数量を示す注文データ(「注文予定商品情報」の一例)を受信し、欠品商品の有無を確認し、欠品商品があった場合に、欠品商品の名称(「欠品商品を特定する情報」の一例)とともに、(a)欠品商品のみをキャンセルする提案524、及び(b)欠品商品をキャンセルするとともに欠品商品の代替商品を注文する提案525、の少なくとも何れか一つの提案を提示し、何れかの提案を選択させるための対応確認メール(「電子メール」の一例)を、注文者のメールアドレス宛に送信し、提示した提案のうち何れの提案が選択されたかを示す情報を含む返信メールを受信する。したがって、本実施形態における注文受付サーバ1のシステム制御部14は、受信手段、欠品確認手段、提示案送信手段、選択情報取得手段及び代替商品選択手段の一例として機能する。
従来のショッピングサイトにおいては、注文者からの注文商品の在庫がなかった場合には、ショッピングサイトの店舗スタッフが注文者に電話をして在庫不足の商品がある旨を伝え、どういった対応を取ればよいか確認しなければならないという問題があった。これに対し、注文受付サーバ1では、注文者であるユーザから注文された商品の中に在庫のない欠品している商品が含まれていた場合に、ユーザの希望する対応方法を容易に確認することができる。すなわち、ユーザが注文した商品の中に欠品している商品があった場合に、対応方法として複数の案を提示する電子メールがユーザのメールアドレス宛に送信され、また、ユーザが選択した案を示す情報が取得される。よって、注文した商品の中に欠品している商品があった場合であってもユーザが希望する対応方法をサーバ装置側で容易に確認することができる。
本実施形態における注文受付サーバ1によれば、注文商品の中に欠品商品があった場合に、対応方法を選択肢で提示する対応確認メールが注文者のメールアドレス宛に送信され、また、注文者が選択した提案を示す情報が取得される。したがって、注文商品の中に欠品商品があった場合であっても注文者の希望する対応方法を注文受付サーバ1や店舗のスタッフ等の注文受付サーバ1側が容易に確認することができる。
また、本実施形態における注文受付サーバ1のシステム制御部14(「欠品確認手段」の一例)は、注文商品の配達指定日時を示す配送日時情報(「指定日時情報」の一例)を更に受信し、配送日時情報が示す配達指定日時の所定時間前に、注文の対象となる商品の在庫数を示す在庫数量が登録されている在庫DB123を参照して、欠品商品の有無を確認する。
本実施形態における注文受付サーバ1によれば、配達指定日時の所定時間前に注文商品の中に欠品商品があるか否かが確認され、欠品商品がある場合に、対応確認メールが送信される。配達指定日時の所定時間前というのは、各店舗(または各支店)において配達事情を考慮して決めることができる。したがって、例えば各店舗において最も混雑する時間に最も遠距離に配達する場合を当該所定時間に定めておいてもよい。あるいは、例えば各店舗において、時期や時間によって当該所定時間を適宜変更してもよい。このように、配達指定日時の所定時間前に対応方法を提示する対応確認メールがユーザに送信されるため、ユーザは実際に配達される前に所望の対応方法を注文受付サーバ1に送信することが可能となる。
また、本実施形態における注文受付サーバ1のシステム制御部14は、商品がそれと代替可能な商品と対応付けて記憶されている代替可能商品DB124(「代替関係記憶手段」の一例)と、在庫DB122(「在庫情報記憶手段」の一例)を参照して、欠品している商品と対応付けられている代替可能な商品について注文データによって特定される注文数量分の在庫があるか否かを判定し、注文数量分の在庫があると判定した場合に当該代替可能な商品を代替商品として選択し、対応確認メールの提案525において選択された代替商品を提示している。
本実施形態における注文受付サーバ1によれば、注文商品が欠品している場合であっても、欠品している商品と代替可能な商品であって在庫がある商品を代替商品として注文者に提示することができる。よって、注文者であるユーザは注文した商品が欠品している場合、購入の前に一旦代替可能な商品を確認した上で、代替品を注文することが可能となる。
また、本実施形態における注文受付サーバ1のシステム制御部14は、注文データが示す注文商品が複数ある店舗のうち何れの店舗に対する注文であるかを示す店舗ID(「注文店舗情報」の一例)を受信し、在庫DB122(「在庫情報記憶手段」の一例)は店舗毎に在庫情報を記憶し、商品がそれと代替可能な商品と対応付けて記憶されている代替可能商品DB124(「代替関係記憶手段」の一例)と、在庫DB122を参照して、店舗IDが示す店舗において欠品商品と対応付けられている代替可能な商品について注文データによって特定される注文数量分の在庫があるか否かを判定し、注文数量分の在庫があると判定した場合に当該代替可能な商品を代替商品として選択する。そして、システム制御部14は、対応確認メールにおける欠品商品の代替商品を注文する案の中で、上記選択された代替商品を提示する。
本実施形態における注文受付サーバ1によれば、注文を受けた店舗で扱われている商品であって、欠品商品と代替可能な商品であり且つ在庫のある商品を、代替商品として注文者に提示することができる。よって、注文者であるユーザは注文した商品が欠品している場合、購入の前に一旦代替可能な商品を確認した上で、代替品を注文することが可能となる。
また、本実施形態における注文受付サーバ1のシステム制御部14は、代替可能商品DB124(「代替関係記憶手段」の一例)を参照して、欠品商品と代替可能な商品を取得し、取得した代替可能な商品について注文数量分の在庫があるか否かを判定する。
本実施形態における注文受付サーバ1によれば、予め代替可能な商品として代替可能商品DB124に登録された商品が、代替商品として注文者に提示される。
また、本実施形態における注文受付サーバ1のシステム制御部14は、注文数量分の在庫がある代替可能な商品が複数種類存在する場合に、在庫DB123の販売価格(「価格情報」の一例)を参照して、欠品商品の価格との価格差が最も小さい種類の商品を代替商品として選択する。
本実施形態における注文受付サーバ1によれば、欠品商品と価格が近く、注文者に代替品として受け入れられやすい商品を代替商品として注文者に提示することができる。
また、本実施形態における注文受付サーバ1のシステム制御部14では、受信した注文データが複数の商品を注文商品として含んでいるとともに、当該複数の注文商品それぞれの注文数量も含んでいる。さらに、本実施形態における注文受付サーバ1のシステム制御部14は、受信された注文データが示す複数の注文商品のうち1つでも欠品がある場合を確認し、送信する対応確認メールにおいて(c)複数の注文商品の全てをキャンセルする案522もさらに含む。
本実施形態における注文受付サーバ1によれば、複数の商品を注文した場合において、その一部に欠品している商品があった場合に、欠品している商品をキャンセルする案523、524とともに、複数の注文商品の全てをキャンセルする案522も提示することが可能となる。
また、本実施形態における注文受付サーバ1は、ネットスーパーで扱う商品についての注文予定商品情報をユーザから受け付ける。
ネットスーパーサイトでは、生鮮食品や日用雑貨など多種多品目にわたる商品が取り扱われるため、ユーザは一回の購入で複数商品を購入することが多い。また、その際、ユーザはその複数商品が配達希望日に全てそろうことで初めて目的を達すると考える場合がある。本実施形態における注文受付サーバ1によれば、電子メールでユーザの意思を確認することができるため、ユーザの希望により一層沿うことが可能となる。
すなわち、ネットスーパーの利用者は、通常、最終的な使い方である1つの目的(例えば、レシピ)を想定しながら、この1つの目的に対して複数の商品を注文することが多い。そのため、例えば肉じゃがを作ろうと考えているユーザに対し豚肉が欠品している場合、以下のようにユーザの状況次第で対応方法が数通り考えられる:
(1)豚肉がないと肉じゃがを作れないため結局スーパーマーケットへ買い物に行く。したがって、すべての注文商品をキャンセルしたい。(案522に対応)
(2)肉じゃがではなく他のものを作りたいので、とりあえず肉じゃがに関連する材料をキャンセルしたい。(案523に対応)
(3)豚肉だけ近所の肉屋で購入するので、豚肉以外の肉じゃがの材料は全部送って欲しい。(案524に対応)
(4)豚肉ではなく牛肉等の代替の肉で肉じゃがを作れればいいので、代替商品を送って欲しい。(案525)
このように、配達日に使用を想定して注文することが多いネットスーパーの場合、そのときのユーザの意思を確認して欠品商品に対応することが好ましい。
[4.変形例]
[4.1.最大グループの特定について]
上述したように、図9に示す同数時抽出処理のステップS57の処理において、システム制御部14は、ステップS56の処理で特定した商品の数は一つではないと判定した場合に(ステップS57:NO)、グループDB126に登録されている利用頻度を参照して、特定した商品が属する最大グループのうち、より利用頻度の高い最大グループを特定する(ステップS59)、構成となっている。この構成に関する変形例について説明する。
まず、ユーザが注文した注文商品に対するグループ分け処理を行った際の履歴を、ユーザ毎に管理するグループ履歴DB(履歴情報記憶手段の一例)を記憶部12に設けることとする。具体的には、図16(A)に示すようにグループ履歴DB128には、会員ID毎に、グループ分け処理において使用したグループのグループIDと、グループを使用した日時と、を登録する。なお、グループを使用するとは、ステップS22の処理、ステップS53の処理、ステップS60の処理、又はステップS63の処理において商品を抽出する際の基となることである。例えば、グループ分け対象商品310から「バーベキュー」グループに属する「牛肉」、「玉ねぎ」、「ピーマン」、「なす」、「ビール」、「炭」を抽出した場合には、「バーベキュー」グループを使用したことを意味する。
そして、システム制御部14は、ステップS56の処理で特定した商品の数は一つではないと判定した場合に(ステップS57:NO)、注文者の会員IDに基づいてグループ履歴DB128を参照する。このとき、システム制御部14は、ステップS59の処理に代わる処理として、ステップS56の処理で特定した各商品が属する最大グループのうち、過去に注文者の注文商品をグルーピングした際に使用したグループであって、直近に使用したグループを特定することとする。
この変形例により、今回、注文者により選択された注文商品をグルーピングするにあたって、過去に、同じ注文者が選択した注文商品をグルーピングした際に利用したグループであって直近に利用したグループを利用することとなる。したがって、注文者が一緒に購入する可能性が高い、すなわち関連性が高いと推測される複数の商品を、同じグループにグルーピングすることができる。これにより、例えば流行に対応することや、あるいは季節に対応することが可能となる。
[4.2.代替商品の選択について]
代替可能商品DB124を参照して代替商品を選択する処理の変形例について、図16(B)、(C)を用いて説明する。図16(B)は、代替可能商品DB124の代わりに参照される所属商品分類DB129の一例を示す図である。図16(C)は、商品分類DB130の一例を示す図である。
図16(B)に示す所属商品分類DB129には、商品ID毎に、当該商品IDで識別される商品が属する商品分類の商品分類ID(「所属商品分類ID」という)が登録されている。ここで、商品分類IDは、商品分類を識別するための識別子である。商品分類には、様々な基準で設定される商品分類を用いることができる。但し、各分類が、相互に代替可能な商品により構成されることが好ましい。例えば、牛肉、鶏肉、豚肉などで構成される肉類を一の商品分類とすることができる。また、牛肩ロース、牛リブロース、牛バラなどで構成される牛肉類を一の商品分類とすることもできる。
図16(C)に示す商品分類DB130には、商品分類ID毎に、商品分類名称、所属商品数、所属商品IDが登録されている。商品分類名称は、商品分類に対して与えられた名称である。所属商品数は、商品分類に含まれる商品の数である。所属商品IDは、商品分類に含まれる商品の商品IDである。一の商品分類に複数の商品が含まれる場合には、各商品の商品IDが所属商品ID(1)、・・・、所属商品ID(n)として登録される。
この変形例において、注文受付サーバ1のシステム制御部14は、欠品商品があった場合、所属商品分類DB129(「分類情報記憶手段」の一例)を参照して欠品商品の商品IDに対応する商品分類IDを取得する。次いで、システム制御部14は、取得した商品分類IDに基づいて商品分類DB130を参照して、商品分類IDに対応する所属商品IDを取得する(欠品商品の商品IDを除く)。システム制御部14は、ここで取得した所属商品IDに対応する商品を、欠品商品と代替可能な商品とする。次いで、システム制御部14は、取得した代替可能な商品について、在庫DB123を参照して在庫を確認する。そして、システム制御部14は、在庫があることを確認した場合には、当該代替可能な商品を代替商品とする。
この変形例によれば、欠品商品と同じ商品分類に属し、注文者に代替品として受け入れられやすい商品を代替商品として注文者に提示することができる。
[4.3.対応確認メールについて]
上述した対応確認メールに関する変形例について説明する。まず、対応確認メールにて、注文者の利益となる利益情報を提供することとしてもよい。具体的には、商品の割引情報やキャンペーン情報を提供することができる。これにより、欠品商品があった場合における対応方法を確認する対応確認メールで、利益情報を併せて送信することができ、利益情報を配布するためのコストを軽減することができる。
上記商品の割引情報として、例えば、特売商品を紹介したり、割引クーポン番号を記載することができる。割引クーポン番号とは、ユーザがクーポン割引サービスを受けるために用いられる番号である。クーポン割引サービスは、ユーザが商品を購入する際、会計画面におけるクーポン番号入力エリアに割引クーポン番号を入力することで、割引を受けることができるサービスである。このように、商品の割引情報を注文者に提供することにより、注文者の購買意欲を向上させることができる。
また、本実施形態においては、対応確認メールにて選択肢として提案522〜525を注文者に提示し、何れかの提案を選択してもらった上で対応確認メールを返信してもらう構成となっている。これに代わる変形例として、対応確認メールに、対応方法を選択することができるWebページ(「対応方法選択画面用Webページ」という)のURLを記述しておく。そして、注文者に対応方法選択画面用Webページにアクセスしてもらい、対応方法選択画面上で、対応方法を選択してもらう構成としてもよい。
また、代替商品の選択の変形例として、商品単位ではなく、グループ単位で代替案をユーザに提案してもよい。例えば、豚肉が欠品している場合において、ユーザが肉じゃがを作りたいと考えていた場合、豚肉の代わりのものを提案するだけでなく、例えば肉じゃがの代わりに在庫があるハンバーグを提案してもよい。
[4.4.在庫確認について]
次に、図14を用いて説明した、注文受付サーバ1による対応確認メール送信時の動作の変形例について、図17を用いて説明する。図14の例では、注文受付サーバ1が配達指定日時の所定時間前に注文商品の在庫確認を行うこととなっていたが、変形例では、店舗のスタッフが、注文受付DB127に登録されている注文受付レコードの内容を閲覧し、注文商品の中に欠品商品があるか否かを確認し、欠品商品がある場合に欠品商品情報を注文受付サーバ1に送信する。
まず、店舗端末3は、店舗スタッフによる注文内容を閲覧するための操作を検出すると、注文受付レコード閲覧リクエストを注文受付サーバ1に送信する(ステップS401)。このとき、店舗端末3は当該店舗端末3が設置されている店舗の店舗IDを併せて送信する。
一方、注文受付サーバ1のシステム制御部14は、注文受付レコード閲覧リクエスト及び店舗IDを受信すると、受信した店舗IDに基づいて、注文受付DB127を検索し、配達指定日時が現在時刻から所定時間内に設定されている注文受付レコードを抽出する(ステップS402)。次いで、システム制御部14は、抽出した注文受付レコードの注文内容を表示する注文閲覧画面用Webページを生成し(ステップS403)、店舗端末3に送信する(ステップS404)。
店舗端末3は、注文閲覧画面用Webページを受信すると、注文閲覧画面(図示しない)を表示する(ステップS405)。注文閲覧画面には、注文内容(届先名称、届先住所、届先電話番号、配達指定日時、合計金額、支払方法、注文商品及び注文商品の注文数量)が表示される。店舗のスタッフは注文閲覧画面にて各注文商品について注文数量分の在庫があるか確認する。確認の結果、在庫不足の注文商品(欠品商品)があった場合には、店舗端末3に、欠品商品に関する注文受付ID及び商品IDを入力する。店舗端末3は、注文受付ID及び商品IDが入力されると、欠品商品がある旨と、注文受付ID及び商品IDを示す情報を含む欠品商品情報を生成し、注文受付サーバ1に送信する(ステップS406)。
注文受付サーバ1のシステム制御部14は、欠品商品情報を店舗端末3から受信して、内容を確認すると、上記ステップS303の処理(図14)と同様に、対応確認メールを生成する(ステップS407)。すなわち、本変形例では、注文受付サーバ1のシステム制御部14は、欠品確認手段の一例として機能する。以降、ステップS304の処理からステップS309の処理が行われるが、図14の処理と同様なので説明を省略する。
[4.5.商品グループと注文者]
本実施形態において、注文受付サーバ1のシステム制御部14は、何れの注文者(会員)が選択した注文商品であろうと、商品所属グループDB125及びグループDB126に登録されたグループに基づいてグルーピングを行う構成となっている。この構成に関する変形例として、図16(D)に示すように、会員ID(会員)とグループID(グループ)とを対応付ける会員用グループDB131を記憶部12に新たに設け、注文商品をグルーピングする際には、当該注文商品を選択した注文者と対応付けられているグループに基づいてグルーピングする構成としてもよい。
会員用グループDB131において、会員IDと対応付けられるグループIDは、グループDB126に登録されているグループのグループIDであってもよいし、会員が独自に作成したグループのグループIDであってもよい。グループDB126に登録されているグループのグループIDを会員IDと対応付けて登録する場合には、グループ設定画面(図示しない)にてグループDB126に登録されているグループの一覧を会員に提示し、自分の選択した注文商品をグルーピングする際に使用するグループを選択してもらうこととする。
一方、会員が独自に作成したグループのグループIDを会員IDと対応付けて登録する場合には、会員が作成したグループ及びそのグループに属する商品を示すユーザ生成グループ情報をユーザ端末2から受信することとなる。例えば、上述した注文商品画面(図6)の構成を変え、注文受付サーバ1のシステム制御部14がグループ分け処理(ステップS113)にてグルーピングしたグループを手動で変更できるようにし、変更されたグループに関するユーザ生成グループ情報を注文受付サーバ1に送信させる構成とする。システム制御部14は、ユーザ生成グループ情報を受信した場合には、生成されたグループに新たなグループIDを付与した上でグループDB126に登録する。そして、新たに付与したグループIDと会員IDとを対応付けて会員用グループDB131に登録する。あるいは、図6とは別に、新たなグループ設定画面にて、ユーザごとにクループ及び各グループに属する商品を、会員用グループDB131に登録してもよい。システム制御部14は、受信したユーザ生成グループ情報が示す商品グループと当該商品グループに属する複数の商品との対応関係を、当該商品グループを生成した会員の会員IDと対応付けてグループDB126に記憶させるグループ編集手段として機能する。
当該変形例におけるグループ分け処理(図8)では、注文商品を選択した注文者の会員IDに対応するグループIDが対応付けられているグループのみに基づいて、グルーピングを行う。例えば、ステップS13の処理において、注文受付サーバ1のシステム制御部14は、注文商品を選択した注文者の会員IDに対応するグループIDを会員用グループDB131から取得する。次いで、システム制御部14は、取得したグループIDに対応するグループをグループDB126から取得する。そして、取得したグループの中からステップS12で取得した商品が属するグループを特定する。このように、会員と対応付けられたグループのみに基づいて、グルーピングを行うことで、会員の行動特性(好みの商品の組合せ方、生活パターン、食事パターンなど)に合ったグルーピングを行うことができる。あるいは、グループ分け処理(図8)において、会員用グループDB131を参照して、ユーザとグループとが対応しているグループを優先してもよい。
なお、当該変形例においては、会員がネットスーパーサイトにログインしている際に、自分の選択したグループ又は自分の作成したグループによるグルーピングを希望するか否かを設定することができることとしてもよい。システム制御部14は、当該設定が「希望する」となっている場合にのみ、会員と対応付けられたグループのみに基づいて、グルーピングを行うこととする。
[4.6.注文商品のグループ単位でのキャンセル]
本実施形態において、注文者が会計処理を実行した後に注文商品をグループ単位でキャンセルできるのは、対応確認メールにて提示された、欠品商品を含むグループのみである。この点について、注文者が、自発的に注文商品をグループ単位でキャンセルできることとしてもよい。
具体的には、注文者がネットスーパーサイトにログインした際に表示されるトップページにおいて、商品をキャンセルするための画面を表示させる操作が検出された場合に、注文受付サーバ1からユーザ端末2に対して商品キャンセル画面用Webページを送信する。ユーザ端末2は、受信した商品キャンセル画面用Webページに基づいて商品キャンセル画面をディスプレイに表示させる。商品キャンセル画面では、注文者が注文した商品の一覧が表示されるとともに、キャンセルする商品をグループ単位又は商品単位で選択できるようになっている。ユーザ端末2は、注文者によりキャンセルするグループ又は商品が選択されると、何れのグループ又は商品が選択されたかを示すキャンセル情報を注文受付サーバ1に送信する。注文受付サーバ1は、受信したキャンセル情報に基づいて、注文受付DB127に登録されている注文受付レコードを更新する。具体的には、キャンセルされたグループに含まれる商品、又はキャンセルされた商品を注文受付レコードから削除する。
また、本実施形態では、図8及び図9に示すように、注文受付サーバ1のシステム制御部14において注文商品のグループ分け処理が行われているが(ステップS113)、ユーザによって注文商品をグループ分けしてもよい。
[4.7.同一商品の複数グループへのグルーピング]
本実施形態において、注文受付サーバ1のシステム制御部14は、複数のグループに属する商品(例えば、図4における玉ねぎ)を、一度、最大グループ(図6の例では、グループ1(バーベキュー)にグルーピングしてしまうと、その他のグループ(図6の例におけるグループ2(肉じゃが)等)にグルーピングしない構成となっている。この構成に関する変形例として、図18に示すように、グループ1(バーベキュー)にグルーピングした玉ねぎを、グループ2(肉じゃが)にもグルーピングするとともに、玉ねぎ(すなわち、複数のグループで重複する商品)をユーザが認識しやすいような強調表示態様(例えば、黒丸250等のマークを付したり、点滅表示としたり、太字又は斜体で表示したりする表示態様)で表示する構成としてもよい。なお、図18の例では、グループ2に属する玉ねぎについてのみ強調表示態様としているが、グループ1に属する玉ねぎについても強調表示態様とすることとしてもよい。
当該構成とする場合におけるシステム制御部14によるグループ分け処理について図19を用いて説明する。ここでは、図8で示したグループ分け処理との差異点を中心に説明する。なお、図19においては、ステップS15、ステップS19、ステップS20、ステップS25−2、ステップS27−2、ステップS28−2、ステップS28−3の処理におけるカウンタをグループカウンタと呼び、ステップS25−3の処理における商品カウンタと区別する。
まず、ステップS11からステップS24の処理については上述した通りであるので説明を省略する。システム制御部14は、ステップS23の処理又はステップS24の処理を終えると、次いで、ステップS23、ステップS61(図9参照)、又はステップS64(図9参照)の処理で、商品をグルーピングしたグループに対応するグループカウンタの値に「0」をセットする(ステップS25−2)。これは、一度グルーピングしたグループについて再度グルーピングしないための処理である(すなわち、図19においては、値が「2」以上のグループカウンタに対応するグループがグルーピングの対象となる)。
次に、システム制御部14は、グルーピングした商品にそれぞれ対応する商品カウンタの値に「1」を加算する(ステップS25−3)。例えば、玉ねぎがグルーピングされた場合であれば、玉ねぎカウンタの値に「1」を加算する。システム制御部14は、ステップS25−3の処理を終えるとステップS19の処理に移行する。
一方、システム制御部14は、ステップS19の処理において、値が「2」以上のグループカウンタはないと判定した場合には(ステップS19:NO)、次いで、値が「1」のグループカウンタがあるか否かを判定する(ステップS27−2)。このとき、システム制御部14は、値が「1」のグループカウンタはないと判定した場合には(ステップS27−2:NO)、当該フローチャートにおける処理を終了する。一方、システム制御部14は、値が「1」のグループカウンタがあると判定した場合には(ステップS27−2:YES)、値が「1」のグループカウンタに対応するグループに属する商品を非グループ商品に決定し(ステップS28−2)、当該グループカウンタの値に「0」をセットする(ステップS28−3)。システム制御部14はステップS28−3の処理を終えると、ステップS19の処理に移行する。
また、システム制御部14は、図5のステップS114の処理において注文商品画面用Webページを生成する際には、商品カウンタの値が「2」以上の商品を強調表示態様で表示するように注文商品画面用Webページを生成する。
このように、複数のグループに所属する商品があった場合に、当該商品を所属するすべてのグループにグルーピングして表示させることによって、例えば、以下の(i)から(iii)のような効果を得ることができる。
(i)注文者は、注文予定商品の中に複数の商品グループに属する商品が含まれている場合に、当該商品が何れの商品グループに属するかをもれなく確認することができる。
(ii)例えば、図18に示す例において「なす」が欠品である場合に、グループ1をキャンセルしたいが、グループ2はそのまま残しておきたいし、且つグループ2の一商品として玉ねぎを購入したい、という注文者の要望に応えることができる。つまり、注文者は、明示的に玉ねぎをキャンセルしない限り、グループ2の一商品として玉ねぎを購入することができる。より具体的に言うと、「なす」が欠品していることによりグループ1をキャンセルボタン214押下によりキャンセルしたとしても、「玉ねぎ」に対応するキャンセルボタン213を押下しない限り、グループ2の一商品として玉ねぎを購入することができる。
(iii)また、一例として図20に示すような対応確認メールを注文者に送信することとすれば、図18の注文商品一覧210に示す商品が注文者に選択された例(注文予定商品として玉ねぎ、牛肉、ピーマン、なす、ビール、炭、豚肉、じゃがいも、にんじん、しらたきが選択された例)において「玉ねぎ」が欠品だった場合に、注文者はグループ1だけでなくグループ2もキャンセルしたいことに気がつくことができる。
ここで、図20に示す対応確認メールについて説明する。なお、図20は、図18の注文商品一覧210に示す商品が注文者に選択された場合であって、玉ねぎが欠品の場合における対応確認メールの一例を示す図である。対応確認メールのタイトル510、本文520、提案522、524、525については上述した通りであるので説明を省略する。提案523−1は、欠品商品(玉ねぎ)が含まれるグループ1の全商品をキャンセルする対応方法に対応している。また、提案523−1の次の行には、グループ1に含まれる欠品商品(玉ねぎ)以外の商品(牛肉、ピーマン、なす、ビール、炭)が列挙される。同様に、提案523−2は、欠品商品(玉ねぎ)が含まれるグループ2の全商品をキャンセルする対応方法に対応している。また、提案523−2の次の行には、グループ2に含まれる欠品商品(玉ねぎ)以外の商品(豚肉、じゃがいも、にんじん、しらたき)が列挙される。
ところで、上記実施形態では、ネットスーパーサイトにアクセスし、ネットスーパーサイトのトップページ(図示しない)を表示後すぐにログイン処理を行っているが、ログイン処理を行うタイミングはこれに限られない。例えば、買い物かごに登録されている全商品及びその注文数量を示す注文データを注文受付サーバ1に送信する際にログイン処理をおこなってもよい。この場合、過去にユーザが端末装置から注文受付サーバ1にアクセスした際に生成され、端末装置に保存されていたクッキー(Cookie)情報によって、その後ユーザが端末装置からネットスーパーサイトにアクセスした際に、ユーザの届先住所を配達可能地域に含む店舗又は支店のリストを取得してもよい。
なお、本発明は、上記実施形態に限定されるものではない。上記実施形態は、例示であり、本発明の特許請求の範囲に記載された技術的思想と実質的に同一な構成を有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲に包含される。したがって、例えば、本発明に係るサーバ装置が注文を受け付ける商品は、ネットスーパーで扱う商品に限らず、それ以外の商品であってもよい。具体的には、本、CD、DVDなどを扱う通信販売サイト等で扱われる商品であってもよい。
例えば、複数巻によって完結する本を1巻から最終巻までを注文するのと同時に、別の関係ない本を複数冊注文した場合を考える。このような場合に、複数巻によって完結する本を1つのグループとしてグルーピングすることにより、キャンセル処理が容易になる。考えられるキャンセル処理としては、例えば途中の巻が欠品している場合に残りの巻もすべてキャンセルする、あるいは注文品全品の合計額が算出された段階で予算を超えていることが判明し、複数巻によって完結する本のシリーズ全品をキャンセルする、といった際に、本を1巻1巻キャンセルする煩雑さを避けることが可能となる。
あるいは、例えば、CDを購入する際、合計額が予算を超えた場合などに、アーティスト別等にグループ分けされていると、最も興味の低いアーティストのグループからグループ単位でキャンセルすることが可能となる。その結果、やはりキャンセル処理の煩雑さを解消することが可能となる。
また、注文予定商品は、購入を目的として注文を予定する商品に限られず、例えばレンタル(賃貸)を目的として注文を予定する商品など、製造や配達等を目的とした注文を予定して依頼された商品を含む。
また、本実施形態においては、各種DB(例えば、「商品グループ記憶手段」の一例である商品所属グループDB125、グループDB126、「在庫情報記憶手段」の一例である在庫DB122、「代替関係記憶手段」の一例である代替可能商品DB124等)が、注文受付サーバ1の記憶部12に構築される構成としたが、当該構成に代えて、これらのデータベースを注文受付サーバ1以外の記憶部(例えば、注文受付サーバ1がアクセス可能な装置の記憶部)に構築することとし、注文受付サーバ1が適宜アクセスする構成としてもよい。
また、図21に、グループ単位でのキャンセルをさせない場合における注文商品画面200Aの画面例を示す。
また、注文受付サーバ1は、ユーザから注文された注文商品及び当該注文商品の注文数量を示す注文情報を受信する注文受信手段(システム制御部14)と、注文受信手段において受信された注文情報が示す注文商品が欠品の場合を確認する欠品確認手段(システム制御部14)と、欠品確認手段によって注文商品が欠品であることが確認された場合に、欠品している商品を特定する情報とともに、(a)欠品している商品の注文をキャンセルする案、及び(b)欠品している商品の注文をキャンセルするとともに当該欠品している商品の代替商品を注文する案、の少なくとも何れか一つの案を提示する電子メールを、ユーザのメールアドレス宛に送信する送信手段(システム制御部14)と、提示した案のうちの何れが選択されたかを示す情報を取得する選択情報取得手段(システム制御部14)と、を備えることを特徴とする注文受付装置として機能してもよい。
この場合、注文受信手段は、注文情報が示す注文商品の配達指定日時を示す指定日時情報を更に受信し、欠品確認手段は、指定日時情報が示す配達指定日時の所定時間前に、商品の在庫数を示す在庫情報が記録された在庫情報記憶手段を参照して、受信した注文情報が示す注文商品の中に注文数量分の在庫がない商品があるかを確認することにより、注文情報が示す注文商品が欠品の場合を確認してもよい。
この場合、商品がそれと代替可能な商品と対応付けて記憶されている代替関係記憶手段と、在庫情報記憶手段を参照して、欠品している商品と対応付けられている代替可能な商品について注文情報によって特定される注文数量分の在庫があるか否かを判定し、注文数量分の在庫があると判定した場合に当該代替可能な商品を代替商品として選択する代替商品選択手段と、を更に備え、送信手段は、(b)欠品している商品の代替商品を注文する案の中で、代替商品選択手段によって選択された代替商品を提示してもよい。
この場合、注文受信手段は、注文情報が示す注文商品が複数ある店舗のうち何れの店舗に対する注文であるかを示す注文店舗情報を受信し、在庫情報記憶手段は、店舗毎に在庫情報を記憶し、商品がそれと代替可能な商品と対応付けて記憶されている代替関係記憶手段と、在庫情報記憶手段を参照して、注文店舗情報が示す店舗において欠品している商品と対応付けられている代替可能な商品について注文情報によって特定される注文数量分の在庫があるか否かを判定し、注文数量分の在庫があると判定した場合に当該代替可能な商品を代替商品として選択する代替商品選択手段と、を更に備え、送信手段は、(b)欠品している商品の代替商品を注文する案の中で、代替商品選択手段によって選択された代替商品を提示してもよい。
この場合、商品の商品分類を示す分類情報が各商品に対して記憶されている分類情報記憶手段をさらに備え、代替商品選択手段は、分類情報を参照して、欠品している商品と同じ商品分類に属する商品を代替可能な商品として取得し、取得した代替可能な商品について注文数量分の在庫があるか否かを判定してもよい。
この場合、在庫情報記憶手段は、商品の価格を示す価格情報を各商品に対して更に記憶し、代替商品選択手段は、注文数量分の在庫がある代替可能な商品が複数種類存在する場合に、価格情報を参照して、欠品している商品の価格との価格差が最も小さい種類の商品を代替商品として選択してもよい。
この場合、注文受信手段が受信する注文情報は、複数の商品を注文商品として含むとともに、当該複数の注文商品それぞれの注文数量も含んでおり、欠品確認手段は、注文受信手段において受信された注文情報が示す複数の注文商品のうち1つでも欠品がある場合を確認し、送信手段が送信する電子メールは、(c)複数の注文商品の全てをキャンセルする案もさらに含んでもよい。
この場合、欠品確認手段は、注文受信手段において受信された注文情報が示す複数の注文商品のうち1より多い複数の商品に欠品がある場合を確認し、送信手段が送信する電子メール中の(a)欠品している商品の注文をキャンセルする案は、欠品確認手段によって欠品が確認された複数の商品のキャンセルを示してもよい。
この場合、商品グループと、当該商品グループに属する複数の商品との対応関係を記憶する商品グループ記憶手段と、注文受信手段で受信した注文情報が示す注文商品が複数であって、当該複数の注文商品を商品グループ記憶手段に記憶されている商品グループに基づいてグルーピングし、少なくとも一つ以上のグループを生成するグルーピング手段と、をさらに備え、送信手段は、欠品確認手段によって注文商品が欠品であることが確認された場合に、グルーピング手段によって生成された何れのグループに欠品している商品が含まれるかを特定し、欠品している商品が含まれるグループを特定する情報と共に、欠品している商品が含まれるグループに属する全注文商品をキャンセルする案も電子メールにおいて提示してもよい。
この場合、電子メールには、注文者の利益となる利益情報が含まれていてもよい。
この場合、利益情報は、商品の割引情報であってもよい。
注文受付方法は、ネットスーパーで扱う商品についての注文情報をユーザから受け付けることを特徴とする注文コンピュータが、ユーザから注文された注文商品及び当該注文商品の注文数量を示す注文情報を受信するステップと、コンピュータが、受信した注文情報が示す注文商品が欠品の場合を確認するステップと、コンピュータが、注文商品は欠品であることが確認された場合に、欠品している商品を特定する情報とともに、(a)欠品している商品の注文をキャンセルする案、及び(b)欠品している商品の注文をキャンセルするとともに当該欠品している商品の代替商品を注文する案、の少なくとも何れか一つの案を提示する電子メールを、ユーザのメールアドレス宛に送信するステップと、コンピュータが、提示した案のうちの何れが選択されたかを示す情報を取得するステップと、を含んでもよい。
この場合、注文受付プログラムを、コンピュータを、ユーザから注文された注文商品及び当該注文商品の注文数量を示す注文情報を受信する注文受信手段、注文受信手段において受信された注文情報が示す注文商品が欠品の場合を確認する欠品確認手段、欠品確認手段によって注文商品が欠品であることが確認された場合に、欠品している商品を特定する情報とともに、(a)欠品している商品の注文をキャンセルする案、及び(b)欠品している商品の注文をキャンセルするとともに当該欠品している商品の代替商品を注文する案、の少なくとも何れか一つの案を提示する電子メールを、ユーザのメールアドレス宛に送信する送信手段、提示した案のうちの何れが選択されたかを示す情報を取得する選択情報取得手段、として機能させてもよい。