電子商取引システム、電子商取引方法及び電子商取引装置
【課題】従来の電子商取引システムでは、顧客が自分の保守契約とは異なる消耗品を誤って発注してしまう虞があった。
【解決手段】特価品扱いの商品を記録する単価マスタに記録されている商品コードと照合するための購買制限商品設定マスタを設けた。また、この二つのテーブルを用いて商品の誤発注をチェックするcgiと、誤発注と判明した場合はエラーを表示すると共に、発注の修正画面まで強制的に戻すエラー画面を生成するcgiを設けた。
【解決手段】特価品扱いの商品を記録する単価マスタに記録されている商品コードと照合するための購買制限商品設定マスタを設けた。また、この二つのテーブルを用いて商品の誤発注をチェックするcgiと、誤発注と判明した場合はエラーを表示すると共に、発注の修正画面まで強制的に戻すエラー画面を生成するcgiを設けた。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子商取引システムに適用して好適な技術に関する。
より詳細には、特定の契約体系の顧客が誤った商品を選択して、誤発注が生じることを防ぐ技術に関する。
【0002】
本発明は、電子商取引システムに適用して好適な技術に関する。
より詳細には、特定の契約体系の顧客が誤った商品を選択して、誤発注が生じることを防ぐ技術に関する。
【背景技術】
【0003】
コピー機やプリンタ、ファクシミリ装置等のオフィス機器は、消耗品を必要とする。レーザプリンタ等の画像形成装置であればトナーカートリッジやドラムカートリッジがこれに該当する。インクジェットプリンタであればインクカートリッジがこれに該当する。
【0004】
特に、オフィスでは業務の停止をできる限り少なくするため、これら消耗品の調達は迅速に行われることが望ましい。
そこで、出願人は電子商取引システムにおいて、これら消耗品を取り扱い、顧客の要求に迅速に応えるべく努めている。
電子商取引システムは、主にインターネットを経由したクライアント・サーバシステムである。急速に普及し、一般社会に広く定着したインターネット接続環境を用いて、webベースで商品の注文を受け付けるものである。
【0005】
消耗品の販売は、商品提供元と顧客との間の保守契約によって販売形態が異なる。
大口顧客の場合は、消耗品を沢山発注する。そのような顧客においてはプリンタ等のオフィス機器の保守契約の中に消耗品の対価を含めてしまう、という契約体系がある。出願人はこのような契約体系を「パフォーマンス・チャージ保守契約」と呼んでいる。一方、保守契約の中に消耗品の対価を含めない契約体系では、その契約内容に応じて「年間保守契約」或は「スポット保守契約」が設定される。
パフォーマンス・チャージ保守契約と、年間保守契約或はスポット保守契約とでは、同じ商品であっても販売価格が異なる。パフォーマンス・チャージ保守契約の対象商品は、当該契約の顧客が購入する際、当該商品の代金は無料となる。
【特許文献1】特開2002−245299号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来の電子商取引システムにおいては、パフォーマンス・チャージ保守契約と他の保守契約とを区別して顧客に提供できていなかった。そのため、パフォーマンス・チャージ保守契約の顧客が誤って年間保守契約或はスポット保守契約の商品(消耗品)を選んで、誤発注を引き起こすことがあった。
【0007】
本発明はかかる点に鑑みてなされたものであり、顧客の保守契約に応じて誤発注を防止する機能を有する電子商取引システム、また電子商取引装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するための本発明は、表示画面を備えるクライアントと、前記クライアントからの要求をネットワークを通じて受けて、所定のサービスを前記クライアントに提供するサーバとよりなる電子商取引システムにおいて、前記サーバは、
前記クライアントが選択した購入予定商品の一覧を前記クライアントの前記表示画面に表示する画面を生成するカートの中身画面表示部(カートの中身画面cgi)と、
前記クライアントの識別情報と、商品の誤った商品コードと、前記クライアントが選択すべき正しい商品コードとを含むマスタ(購買制限商品設定マスタと単価マスタ)と、
前記マスタと、前記クライアントの識別情報と、前記購入予定商品の商品コードを照合し、前記クライアントが選択した前記購入予定商品の中に前記誤った商品コードがあるか否かチェックする商品コードチェック部(商品コードチェックcgi)とを備えることを特徴とするものである。
【0009】
従来のシステムでは、特定の顧客に応じて商品に様々な値段を付する契約を、単価マスタに記録していた。通常なら定価で販売する商品を、特定の顧客に限っては所定の割引を施した単価を設定するものである。パフォーマンス・チャージ保守契約の顧客が購入できる消耗品は、この単価マスタに「ゼロ円商品」として登録されている。
一方、従来のシステムは同一の商品について異なった契約体系による単価を区別なく列挙表示していた。
そこで、商品の発注手順において、誤発注に該当する商品をチェックする機能を付加して、誤発注を防止する方策を採用した。その際に、既存のシステムに対して最小限の変更で済ませることを考えた。
ある特定の商品には、パフォーマンス・チャージ保守契約の顧客向けの商品コードと、年間保守契約・スポット保守契約の顧客向けの商品コードと、複数の商品コードが付されている。ここで、パフォーマンス・チャージ保守契約の顧客が誤って年間保守契約・スポット保守契約の商品コードを注文してしまったか否かを検証する。
この検証のために、パフォーマンス・チャージ保守契約の商品コードと年間保守契約・スポット保守契約の商品コードとの関係を記す、購買制限商品設定マスタを新たに作成した。また、購買制限商品設定マスタと単価マスタとを組み合わせて誤発注チェックを行うチェック部を新たに設けた。
【発明の効果】
【0010】
本発明によれば、商品の誤発注を未然に防ぐことができ、顧客にとって優しい電子商取引システム、電子商取引方法及び電子商取引装置を提供することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施の形態を、図1〜図16を参照して説明する。
【0012】
図1は、本発明の実施形態である、電子商取引システムを示す概略図である。
電子商取引システム101は、インターネット103を通じて情報の送受信を行う、クライアント・サーバシステムである。
クライアント102は一般的なパソコンであり、インターネット103に接続されている。図示しないwebブラウザによってwebサーバ104にアクセスする。
webサーバ104はクライアント102に対し、電子商取引を行うwebサービスを提供する。
DBサーバ105はwebサーバ104とLAN106にて接続されている。DBサーバ105は、webサーバ104の稼動に必要な情報を蓄積し、検索を可能とするデータベースサーバである。
【0013】
図2はwebサーバ104及びDBサーバ105の内部の機能の構成を示すブロック図である。
webサーバ104は、概略的にはHTTP(Hyper Text Transfer Protocol)を用いて、クライアント102の図示しないwebブラウザの要求に応じて、クライアント102にhtml文書を送信する、周知のwebサーバである。
実行制御部202は、クライアント102から来る要求(コマンド)を受信し、これに応じて、HTTPにてhtml文書をクライアント102へ送信する機能を提供する。端的にいえばwebサーバソフトウェアであり、一例としてはApache(http://www.apache.org/)等である。実行制御部202はクライアント102の要求に応じ、cgi(Common Gateway Interface)の実行をも行う。
cgiは周知のプログラムである。cgiの実体は標準出力にテキストを出力するプログラムである。cgiが生成するテキストが、実行制御部202によってHTTPにてクライアント102へ送信される。cgiを構成する要素としては、どのようなプログラミング言語であってもよい。perl(http://www.perl.org/)やPHP(http://php.net/)、python(http://www.python.org/)、ruby(http://www.ruby-lang.org/ja/)等のインタプリタ言語に留まらず、CやJava(登録商標)等のコンパイルを要する言語であってもよい。簡単な内容であればシェルスクリプトであってもよい。
なお、図2中、cgiのブロックの右上に丸印(「○」)が付されているものは、クライアントに対して画面表示を行うhtml文書を生成するcgiである。
【0014】
ログイン画面cgi203は、クライアント102からの要求に応じて実行制御部202によって実行され、クライアント102にログイン画面を表示するhtml文書を作成する。
図3に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示されたログイン画面を示す。
【0015】
認証cgi204は、ログイン画面を表示しているクライアント102から、ログインボタン302を押した行為によって発生する要求に応じて、実行制御部202によって実行される。
認証cgi204は、クライアント102から得られたパラメータであるユーザIDとパスワードをユーザテーブル205から検索して照合する。
ユーザテーブル205には、登録ユーザが重複のないユーザIDにて記録されている。ユーザテーブル205は、各登録ユーザのユーザIDをパスワードと共に管理する。
認証cgi204による照合の結果、ユーザIDとパスワードが合致していれば、認証cgi204は、正常にログインが完了したことを示すcookie(クッキー:webサイトの提供者が、webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させるしくみ。殆どの場合、アルファベット及び数字の1バイト文字列にて構成される。)を作成すると共に、自動的に商品選択画面cgi206に移行するhtmlメッセージを作成する。これらは実行制御部202を通じてクライアント102に送信される。
一方、照合の結果、ユーザIDとパスワードが合致していなければ、ログインが失敗したことを示すエラーメッセージを付して、自動的にログイン画面cgi203に移行するhtmlメッセージを作成する。これらは実行制御部202を通じてクライアント102に送信される。
【0016】
自動的に商品選択画面cgi206に移行するhtmlメッセージとは、HTTPのステータスコードの一種である、転送機能を用いている。
http ver.1.1の場合は「303 See Other」というステータスコードと、商品選択画面cgi206のURIを、HTTP応答ヘッダに記す。
http ver.1.0の場合は「302 Found」というステータスコードと、商品選択画面cgi206のURIを、HTTP応答ヘッダに記す。
認証cgi204は、このように構成したHTTP応答ヘッダを作成し、クライアントへ送信する。
クライアント102のwebブラウザは、このHTTP応答ヘッダを解釈し、直ちに記されているURIに基づいて商品選択画面cgi206の表示(実行)をwebサーバに要求する。
すなわち、認証cgi204はwebブラウザによって表示画面に表示されるhtml文書を作成しない。
ログイン失敗時に自動的にログイン画面cgi203に移行するhtmlメッセージも、同様である。
【0017】
商品選択画面cgi206は、登録ユーザに購入可能な商品を一覧表示し、選択を行わせる画面のhtml文書を作成する。
図4に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示された商品選択画面を示す。
商品を選択すべく「カートに入れる」ボタン402を押すと、webサーバ104内部の不揮発性ストレージ217にセッション情報ファイル209が作成され、セッション情報ファイル209に選択した商品の情報が記録される。ここで「カート」とは、実際にカートが物理的に存在する訳ではなく、購入すべく選択した商品は「仮想的なカート」に収められたものとして、登録ユーザに対し、概念的に説明するものである。
商品選択画面401にある「カートの確認・注文手続きへ」ボタン403を押すと、カートの中身画面cgi207が呼び出され、実行される。
【0018】
セッション情報ファイル209は、セッション管理のために設けられるものである。セッション管理はwebベースの電子商取引システムを実現する際にほぼ必須といえる技術である。
現在のインターネットの普及の牽引役であるwebの基盤技術であるHTTPは、telnetやftp等とは異なり、一回の接続要求に対する応答が完了したら、通信が切断される。このため、接続要求の度毎に正規にログインをしたユーザであるか否かを確認する手がかりが必要になると共に、電子商取引のような手続きの流れを記録する仕組みも必要になる。
そこで、ユーザ認証情報や商取引の手続きの進行状況等を記録するファイルをwebサーバ内に作成し、これをcgiが読み書きする。
【0019】
カートの中身画面cgi207は、カートの中身画面を表示するhtml文書を作成する。
図5に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示されたカートの中身画面を示す。
カートの中身画面501は、仮想的なカートに収められた商品、つまり登録ユーザが購入をしようと選択した商品の一覧を表示し、登録ユーザに対して購入手続きに進むか商品の選択を継続するかを選択させる画面である。
また、不要と判断した商品については仮想的なカートから商品を降ろす、すなわち選択した商品から削除する画面でもある。このための「削除」ボタン503が、選択した商品の右端に設けられている。
「注文手続きへ」ボタン502を押すと、ボタンを押した行為によって発生する要求に応じて、商品コードチェックcgi208が実行制御部202によって実行される。
【0020】
商品コードチェックcgi208は、実行されると、クライアント102から送信された商品コードを一旦セッション情報ファイル209に保持した上で、購買制限商品設定マスタ210と単価マスタ211を検索し、登録ユーザが誤った商品を選択したか否かを判定する。
もし、判定の結果、誤った商品が選択されていることが判明した場合は、自動的にエラー画面cgi212に移行するhtmlメッセージを作成する。当該htmlメッセージは実行制御部202を通じてクライアント102に送信される。
もし、判定の結果、正しい商品だけが選択されていることが判明した場合は、自動的に届先指定画面cgi213に移行するhtmlメッセージを作成する。当該htmlメッセージは実行制御部202を通じてクライアント102に送信される。
【0021】
エラー画面cgi212は、セッション情報ファイル209を通じて商品コードチェックcgi208の判定結果を受けて、誤った選択が行われた商品を列挙表示すると共に、登録ユーザに対して商品選択のやり直しを促す。
図6に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示されたエラー画面を示す。
エラー画面601においては、「戻る」ボタン602しか設けられておらず、このボタンを押すことで強制的にカートの中身画面501に戻される。
この後は、カートの中身画面501において誤って選択された商品を削除する。そして商品選択画面401に戻って正しい商品を選択する。次にカートの中身画面501に移行し、「注文手続き」ボタンを押すと、商品コードチェックcgi208のチェックを受け、届先指定画面cgi213が実行される。
【0022】
届先指定画面cgi213は、登録ユーザに商品を届ける届先の選択と、代金支払い方法の確認及び修正を行うhtml文書を作成する。
図7に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示された届先指定画面を示す。
プルダウン形式の届先選択欄702から、登録ユーザが所望する届先を選択した後は、「次へ」ボタン703を押す。すると、最終確認画面cgi214が実行制御部202によって実行される。
【0023】
最終確認画面cgi214は、注文内容を列挙表示して、登録ユーザに対し、最終的に購入するか否かを選択させる画面のhtml文書を作成する。
図8に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示された最終確認画面を示す。
「注文する」ボタン802を押すと、注文完了画面cgi215が実行制御部202によって実行される。
【0024】
注文完了画面cgi215は、注文が完了したことを報告する画面のhtml文書を作成する。この文書の作成と共に、図示しない電子発注システムに対し、webサーバから発注情報が送信される。
図9に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示された注文完了画面を示す。
【0025】
なお、商品選択画面cgi206、カートの中身画面cgi207、エラー画面cgi212、最終確認画面cgi214、注文完了画面cgi215が生成する表示画面のhtml文書を作成する際には、セッション情報ファイル209に保持されている商品コードとユーザIDをキーとして、商品マスタ216と単価マスタ211が参照される。
【0026】
図10は、以上に説明した一連の処理の流れと、それに伴う画面の遷移を示した状態遷移図である。
図10の点線で囲まれた範囲1002は、認証cgi204による判定処理によって、状態が分岐することを示している。
図10の点線で囲まれた範囲1003は、商品コードチェックcgi208による判定処理によって、状態が分岐することを示している。
【0027】
本実施形態の中心となるのが、商品コードチェックcgi208による判定処理である。この判定処理によって誤った商品の選択を防止する。その際、既存のwebサーバ104及びDBサーバ105に対して最小限の変更で済ませるために、購買制限商品設定マスタ210を設けている。
【0028】
図11(a)及び(b)は、購買制限商品設定マスタ210と単価マスタ211のテーブル構造を示す概略図である。なお、実際にはこれらテーブルには他にもフィールドが存在するが、本実施形態の説明に直接的に関係しないので割愛している。
図11(a)において、購買制限商品設定マスタ210には、「機種名」フィールドと、「パフォーマンス・チャージ保守契約インク商品コード」フィールドと、「年間・スポット保守契約インク商品コード」フィールドが存在する。
購買制限商品設定マスタ210は、同一の商品(消耗品)に付されている、異なる契約における商品コードの対応関係を示すものである。つまり、あるレコードにおける「パフォーマンス・チャージ保守契約インク商品コード」フィールドと「年間・スポット保守契約インク商品コード」フィールドに記載されている商品コードは、同一のインクカートリッジ或はトナーカートリッジを指し示す。
「機種名」フィールドは、エラー画面601の表示の際に「対象機種」の欄に表示する内容である。消耗品は複数の機種において共通に利用可能であることが多いので、このフィールドは可変長の文字列フィールドである。
図11(b)において、単価マスタ211には、「お客様コード」フィールドと、「商品コード」フィールドと、「販売価格」フィールドが存在する。
単価マスタ211は、特定の顧客に対して設定される、割引販売対象商品の価格設定を記すテーブルである。パフォーマンス・チャージ保守契約の場合は、消耗品の価格が無料に設定されるので、「販売価格」フィールドには「0」が付されている。
【0029】
図12及び図13は、商品コードチェックcgi208内の判定処理を示すフローチャートである。
商品コードチェックcgi208が起動されると(S1201)、クライアント102から商品コードを受信し(S1202)、それを一旦セッション情報ファイル209に保存する(S1203)。
これ以降は、クライアント102から受信してセッション情報ファイル209に保持している商品コードを一つずつチェックする、ループ処理である。
まず、商品コードをキーにして、購買制限商品設定マスタ210の「年間・スポット保守契約インク商品コード」フィールドを検索する(S1204)。検索にヒットしたら(S1205のY)、購買制限商品設定マスタ210の該当レコードの「パフォーマンス・チャージ保守契約インク商品コード」フィールドにある商品コードを取得する(S1206)。
【0030】
次に、取得した商品コードをキーにして、単価マスタ211を検索する(S1207)。
検索の結果、ヒットしたレコードがあれば(S1308のY)、ステップS1204にて検索に用いた商品コードは誤って選択した商品であることを意味するので、当該商品コードについてエラーフラグを立てて、図示しないメモリ内に一旦保持する(S1309)。
【0031】
次に、セッション情報ファイル209に保持されている商品コードはもうないか否かを確認する(S1310)。まだ検証が済んでいない商品コードが残っている場合は(S1310のN)、セッション情報ファイル209に保持されている次の商品コードを取得し(S1311)、検証処理を行う(S1204以降)。
セッション情報ファイル209に保持されている商品コードの検証が全て終了した場合は(S1310のY)、検証した結果、メモリに保持されている商品コードのうち、一つでもエラーフラグが立っているか否かを確認する(S1312)。
一つでもエラーフラグが立っている商品コードがあれば、それをエラー画面601に表示する必要があるので、エラー画面cgiを起動させるべく、転送htmlメッセージを生成する(S1313)。
一つもエラーフラグが立っている商品コードがなければ、正常な購買手続きである。そこで、購買手続きを次に進める、届先指定画面701を表示させるための届先指定画面cgi213を起動させるべく、転送htmlメッセージを生成する(S1314)。そして、一連の処理は終了する(S1315)。
【0032】
図12及び図13の処理を、図11に示す実際のデータを例に説明する。
今、登録ユーザのユーザIDは「12345678」であり、クライアント102から送信された商品コードが「N00001」だとする。
ステップS1204において、商品コード「N00001」をキーに、購買制限商品設定マスタ210の、「年間・スポット保守契約インク商品コード」フィールドを検索する。図11(a)を見ると、商品コード「N00001」が存在することがわかる。これが、ステップS1205にて検索ヒットしたことである。
次に、当該レコードの「パフォーマンス・チャージ保守契約インク商品コード」フィールドに格納されている商品コードを見る(S1206)。図11(a)では商品コード「Q00001」が格納されているので、これを取得する。具体的には、プログラムである商品コードチェックcgi208にて設けられる変数に格納する。
次に、この商品コードで単価マスタの「商品コード」フィールドを検索する(S1207)。図11(b)を見ると、商品コード「Q00001」が存在することがわかる。これが、ステップS1308にて検索ヒットしたことである。
【0033】
単価マスタ211は、お客様コード、すなわちユーザIDと、顧客別の特別価格として設定されている商品の商品コードと、その単価が、レコードとして列挙記載されている。これは従来のシステムにもある。
パフォーマンス・チャージ保守契約の顧客が購入可能な「ゼロ円商品」は、全てこの部類に属するので、「ゼロ円商品」は全て単価マスタ211に登録されている。
パフォーマンス・チャージ保守契約の顧客は、年間契約或はスポット保守契約の商品も購入可能ではある。しかし、機器側で保守契約に対応した商品しか稼動しないような仕組み(例えば、トナーボトルにパフォーマンス・チャージ保守契約用のトナーなのか、それとも年間契約或はスポット保守契約用の商品なのかを識別可能なチップが埋め込まれており、且つ、機器本体側に保守契約情報を設定可能とすることで誤ったトナーでは稼動しない仕組み)が盛り込まれていることが多く、誤った商品を購入した場合は、返品処理などの負荷がかかってしまうこととなる。また、返品後正しい商品が到着するまでの間、機器が使用できないなどの不都合も発生することがある。そこで、購買制限商品設定マスタ210を新たに用意して、パフォーマンス・チャージ保守契約の顧客が誤って年間・スポット保守契約対象となる商品を選択したか否かを確認する。
つまり、一つの商品について、保守契約に応じて異なる商品コードが付与されており、その誤った商品コードで検索して、その正しい商品コードが、単価マスタの当該ユーザIDのレコード中に存在するかを確認するのである。
【0034】
本実施形態には、以下のような応用例が考えられる。
(1)正しい商品をスムーズに選択させるために、エラー画面601からカートの中身画面501に戻って誤った商品を削除する処理の代わりに、商品選択画面401とは別の商品選択画面を別途設けることができる。
図14は図2に示すwebサーバ104の一部を拡大した図である。ここでは、新たな画面を生成するcgiとして、商品コード修正画面cgi1402を新規に設けている。
図15に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示された商品コード修正画面を示す。
商品コード修正画面1501は、エラー画面601の「戻る」ボタン602を押すことで強制的に表示される。
プルダウン形式の届先選択欄1502は、図7の届先選択欄702と機能的に等しい。
クリアボタン1503は、テキストボックス1504の値を「0」に初期化するボタンである。
テキストボックス1504は、ユーザが直接キー操作にて数値を入力するものである。
「注文手続きへ」ボタン502を押すと、ボタンを押した行為によって発生する要求に応じて、最終確認画面cgi214が実行制御部202によって実行される。
商品コード修正画面1501の商品の欄1506は、予め商品コードチェックcgi208の検証処理において、単価マスタ211から正しい商品コードを検索して保持しておき、これを商品マスタ216から得られる商品名と共に表示したものである。
図16は、この応用例に対応する状態遷移図である。図10と比較すると、エラー画面601から「戻る」ボタンを押すと、商品コード修正画面1501に移行し、更に「注文手続きへ」ボタンを押すと、最終確認画面801に移行することがわかる。
以上のような構成により、顧客は迅速に正しい商品コードの商品を選択することができる。
【0035】
(2)各種cgiにおける商品関係の画面表示には、Ajax(「エイジャックス」と読む。Asynchronous JavaScript + XML の略。webブラウザに実装されているJavaScriptのhttp通信機能を使って、webページのリロードを伴わずに、webサーバ102とXML形式のデータのやり取りを行って処理を進めていく、対話型webアプリケーションの実装形態。)や、Macromedia社のShockwave(登録商標)やFlash(登録商標)、或はJavaServer Pages(Java言語を利用してwebサーバ上にて動的にhtml文書を生成し、クライアントに送信する技術。html文書ファイルの中にJavaプログラムのコードを埋め込んでおき、クライアントの要求に応じてwebサーバ内のJavaプログラムを実行し、処理結果をクライアントに送信する。処理結果は通常のhtml文書になるため、webブラウザに特殊な機能を組みこむことなくwebアプリケーションを構築できる。)等の技術が利用可能である。
【0036】
本実施形態においては、パフォーマンス・チャージ保守契約の顧客が、誤って年間保守契約・スポット保守契約向けの商品を選択しても、商品購入手続きの途中でエラー画面を表示し、その先には進めないように構成した。これにより、誤発注を確実に防ぎ、顧客に優しい電子商取引システムを実現できる。
【0037】
以上、本発明の実施形態例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことは言うまでもない。
【図面の簡単な説明】
【0038】
【図1】本発明の一実施の形態による電子商取引システムを示す概略図である。
【図2】webサーバ及びDBサーバの内部の機能の構成を示すブロック図である。
【図3】ログイン画面である。
【図4】商品選択画面である。
【図5】カートの中身画面である。
【図6】エラー画面である。
【図7】届先指定画面である。
【図8】最終確認画面である。
【図9】注文完了画面である。
【図10】一連の処理の流れと、それに伴う画面の遷移を示した状態遷移図である。
【図11】購買制限商品設定マスタと単価マスタのテーブル構造を示した概略図である。
【図12】商品コードチェックcgi内の判定処理を示すフローチャートである。
【図13】商品コードチェックcgi内の判定処理を示すフローチャートである。
【図14】webサーバの一部を拡大した図である。
【図15】商品コード修正画面である。
【図16】一連の処理の流れと、それに伴う画面の遷移を示した状態遷移図である。
【符号の説明】
【0039】
101…電子商取引システム、103…インターネット、102…クライアント、104…webサーバ、105…DBサーバ、106…LAN、107…ディスプレイ、202…実行制御部、203…ログイン画面cgi、204…認証cgi、205…ユーザテーブル、206…商品選択画面cgi、207…カートの中身画面cgi、208…商品コードチェックcgi、209…セッション情報ファイル、210…購買制限商品設定マスタ、211…単価マスタ、212…エラー画面cgi、213…届先指定画面cgi、214…最終確認画面cgi、215…注文完了画面cgi、217…不揮発性ストレージ、301…ログイン画面、302…ログインボタン、401…商品選択画面、402…「カートに入れる」ボタン、403…「カートの確認・注文手続きへ」ボタン、501…カートの中身画面、502…「注文手続きへ」ボタン、503…「削除」ボタン、601…エラー画面、602…「戻る」ボタン、701…届先指定画面、702…届先選択欄、703…「次へ」ボタン、801…最終確認画面、802…「注文する」ボタン、901…注文完了画面
【技術分野】
【0001】
本発明は、電子商取引システムに適用して好適な技術に関する。
より詳細には、特定の契約体系の顧客が誤った商品を選択して、誤発注が生じることを防ぐ技術に関する。
【0002】
本発明は、電子商取引システムに適用して好適な技術に関する。
より詳細には、特定の契約体系の顧客が誤った商品を選択して、誤発注が生じることを防ぐ技術に関する。
【背景技術】
【0003】
コピー機やプリンタ、ファクシミリ装置等のオフィス機器は、消耗品を必要とする。レーザプリンタ等の画像形成装置であればトナーカートリッジやドラムカートリッジがこれに該当する。インクジェットプリンタであればインクカートリッジがこれに該当する。
【0004】
特に、オフィスでは業務の停止をできる限り少なくするため、これら消耗品の調達は迅速に行われることが望ましい。
そこで、出願人は電子商取引システムにおいて、これら消耗品を取り扱い、顧客の要求に迅速に応えるべく努めている。
電子商取引システムは、主にインターネットを経由したクライアント・サーバシステムである。急速に普及し、一般社会に広く定着したインターネット接続環境を用いて、webベースで商品の注文を受け付けるものである。
【0005】
消耗品の販売は、商品提供元と顧客との間の保守契約によって販売形態が異なる。
大口顧客の場合は、消耗品を沢山発注する。そのような顧客においてはプリンタ等のオフィス機器の保守契約の中に消耗品の対価を含めてしまう、という契約体系がある。出願人はこのような契約体系を「パフォーマンス・チャージ保守契約」と呼んでいる。一方、保守契約の中に消耗品の対価を含めない契約体系では、その契約内容に応じて「年間保守契約」或は「スポット保守契約」が設定される。
パフォーマンス・チャージ保守契約と、年間保守契約或はスポット保守契約とでは、同じ商品であっても販売価格が異なる。パフォーマンス・チャージ保守契約の対象商品は、当該契約の顧客が購入する際、当該商品の代金は無料となる。
【特許文献1】特開2002−245299号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来の電子商取引システムにおいては、パフォーマンス・チャージ保守契約と他の保守契約とを区別して顧客に提供できていなかった。そのため、パフォーマンス・チャージ保守契約の顧客が誤って年間保守契約或はスポット保守契約の商品(消耗品)を選んで、誤発注を引き起こすことがあった。
【0007】
本発明はかかる点に鑑みてなされたものであり、顧客の保守契約に応じて誤発注を防止する機能を有する電子商取引システム、また電子商取引装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するための本発明は、表示画面を備えるクライアントと、前記クライアントからの要求をネットワークを通じて受けて、所定のサービスを前記クライアントに提供するサーバとよりなる電子商取引システムにおいて、前記サーバは、
前記クライアントが選択した購入予定商品の一覧を前記クライアントの前記表示画面に表示する画面を生成するカートの中身画面表示部(カートの中身画面cgi)と、
前記クライアントの識別情報と、商品の誤った商品コードと、前記クライアントが選択すべき正しい商品コードとを含むマスタ(購買制限商品設定マスタと単価マスタ)と、
前記マスタと、前記クライアントの識別情報と、前記購入予定商品の商品コードを照合し、前記クライアントが選択した前記購入予定商品の中に前記誤った商品コードがあるか否かチェックする商品コードチェック部(商品コードチェックcgi)とを備えることを特徴とするものである。
【0009】
従来のシステムでは、特定の顧客に応じて商品に様々な値段を付する契約を、単価マスタに記録していた。通常なら定価で販売する商品を、特定の顧客に限っては所定の割引を施した単価を設定するものである。パフォーマンス・チャージ保守契約の顧客が購入できる消耗品は、この単価マスタに「ゼロ円商品」として登録されている。
一方、従来のシステムは同一の商品について異なった契約体系による単価を区別なく列挙表示していた。
そこで、商品の発注手順において、誤発注に該当する商品をチェックする機能を付加して、誤発注を防止する方策を採用した。その際に、既存のシステムに対して最小限の変更で済ませることを考えた。
ある特定の商品には、パフォーマンス・チャージ保守契約の顧客向けの商品コードと、年間保守契約・スポット保守契約の顧客向けの商品コードと、複数の商品コードが付されている。ここで、パフォーマンス・チャージ保守契約の顧客が誤って年間保守契約・スポット保守契約の商品コードを注文してしまったか否かを検証する。
この検証のために、パフォーマンス・チャージ保守契約の商品コードと年間保守契約・スポット保守契約の商品コードとの関係を記す、購買制限商品設定マスタを新たに作成した。また、購買制限商品設定マスタと単価マスタとを組み合わせて誤発注チェックを行うチェック部を新たに設けた。
【発明の効果】
【0010】
本発明によれば、商品の誤発注を未然に防ぐことができ、顧客にとって優しい電子商取引システム、電子商取引方法及び電子商取引装置を提供することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施の形態を、図1〜図16を参照して説明する。
【0012】
図1は、本発明の実施形態である、電子商取引システムを示す概略図である。
電子商取引システム101は、インターネット103を通じて情報の送受信を行う、クライアント・サーバシステムである。
クライアント102は一般的なパソコンであり、インターネット103に接続されている。図示しないwebブラウザによってwebサーバ104にアクセスする。
webサーバ104はクライアント102に対し、電子商取引を行うwebサービスを提供する。
DBサーバ105はwebサーバ104とLAN106にて接続されている。DBサーバ105は、webサーバ104の稼動に必要な情報を蓄積し、検索を可能とするデータベースサーバである。
【0013】
図2はwebサーバ104及びDBサーバ105の内部の機能の構成を示すブロック図である。
webサーバ104は、概略的にはHTTP(Hyper Text Transfer Protocol)を用いて、クライアント102の図示しないwebブラウザの要求に応じて、クライアント102にhtml文書を送信する、周知のwebサーバである。
実行制御部202は、クライアント102から来る要求(コマンド)を受信し、これに応じて、HTTPにてhtml文書をクライアント102へ送信する機能を提供する。端的にいえばwebサーバソフトウェアであり、一例としてはApache(http://www.apache.org/)等である。実行制御部202はクライアント102の要求に応じ、cgi(Common Gateway Interface)の実行をも行う。
cgiは周知のプログラムである。cgiの実体は標準出力にテキストを出力するプログラムである。cgiが生成するテキストが、実行制御部202によってHTTPにてクライアント102へ送信される。cgiを構成する要素としては、どのようなプログラミング言語であってもよい。perl(http://www.perl.org/)やPHP(http://php.net/)、python(http://www.python.org/)、ruby(http://www.ruby-lang.org/ja/)等のインタプリタ言語に留まらず、CやJava(登録商標)等のコンパイルを要する言語であってもよい。簡単な内容であればシェルスクリプトであってもよい。
なお、図2中、cgiのブロックの右上に丸印(「○」)が付されているものは、クライアントに対して画面表示を行うhtml文書を生成するcgiである。
【0014】
ログイン画面cgi203は、クライアント102からの要求に応じて実行制御部202によって実行され、クライアント102にログイン画面を表示するhtml文書を作成する。
図3に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示されたログイン画面を示す。
【0015】
認証cgi204は、ログイン画面を表示しているクライアント102から、ログインボタン302を押した行為によって発生する要求に応じて、実行制御部202によって実行される。
認証cgi204は、クライアント102から得られたパラメータであるユーザIDとパスワードをユーザテーブル205から検索して照合する。
ユーザテーブル205には、登録ユーザが重複のないユーザIDにて記録されている。ユーザテーブル205は、各登録ユーザのユーザIDをパスワードと共に管理する。
認証cgi204による照合の結果、ユーザIDとパスワードが合致していれば、認証cgi204は、正常にログインが完了したことを示すcookie(クッキー:webサイトの提供者が、webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させるしくみ。殆どの場合、アルファベット及び数字の1バイト文字列にて構成される。)を作成すると共に、自動的に商品選択画面cgi206に移行するhtmlメッセージを作成する。これらは実行制御部202を通じてクライアント102に送信される。
一方、照合の結果、ユーザIDとパスワードが合致していなければ、ログインが失敗したことを示すエラーメッセージを付して、自動的にログイン画面cgi203に移行するhtmlメッセージを作成する。これらは実行制御部202を通じてクライアント102に送信される。
【0016】
自動的に商品選択画面cgi206に移行するhtmlメッセージとは、HTTPのステータスコードの一種である、転送機能を用いている。
http ver.1.1の場合は「303 See Other」というステータスコードと、商品選択画面cgi206のURIを、HTTP応答ヘッダに記す。
http ver.1.0の場合は「302 Found」というステータスコードと、商品選択画面cgi206のURIを、HTTP応答ヘッダに記す。
認証cgi204は、このように構成したHTTP応答ヘッダを作成し、クライアントへ送信する。
クライアント102のwebブラウザは、このHTTP応答ヘッダを解釈し、直ちに記されているURIに基づいて商品選択画面cgi206の表示(実行)をwebサーバに要求する。
すなわち、認証cgi204はwebブラウザによって表示画面に表示されるhtml文書を作成しない。
ログイン失敗時に自動的にログイン画面cgi203に移行するhtmlメッセージも、同様である。
【0017】
商品選択画面cgi206は、登録ユーザに購入可能な商品を一覧表示し、選択を行わせる画面のhtml文書を作成する。
図4に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示された商品選択画面を示す。
商品を選択すべく「カートに入れる」ボタン402を押すと、webサーバ104内部の不揮発性ストレージ217にセッション情報ファイル209が作成され、セッション情報ファイル209に選択した商品の情報が記録される。ここで「カート」とは、実際にカートが物理的に存在する訳ではなく、購入すべく選択した商品は「仮想的なカート」に収められたものとして、登録ユーザに対し、概念的に説明するものである。
商品選択画面401にある「カートの確認・注文手続きへ」ボタン403を押すと、カートの中身画面cgi207が呼び出され、実行される。
【0018】
セッション情報ファイル209は、セッション管理のために設けられるものである。セッション管理はwebベースの電子商取引システムを実現する際にほぼ必須といえる技術である。
現在のインターネットの普及の牽引役であるwebの基盤技術であるHTTPは、telnetやftp等とは異なり、一回の接続要求に対する応答が完了したら、通信が切断される。このため、接続要求の度毎に正規にログインをしたユーザであるか否かを確認する手がかりが必要になると共に、電子商取引のような手続きの流れを記録する仕組みも必要になる。
そこで、ユーザ認証情報や商取引の手続きの進行状況等を記録するファイルをwebサーバ内に作成し、これをcgiが読み書きする。
【0019】
カートの中身画面cgi207は、カートの中身画面を表示するhtml文書を作成する。
図5に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示されたカートの中身画面を示す。
カートの中身画面501は、仮想的なカートに収められた商品、つまり登録ユーザが購入をしようと選択した商品の一覧を表示し、登録ユーザに対して購入手続きに進むか商品の選択を継続するかを選択させる画面である。
また、不要と判断した商品については仮想的なカートから商品を降ろす、すなわち選択した商品から削除する画面でもある。このための「削除」ボタン503が、選択した商品の右端に設けられている。
「注文手続きへ」ボタン502を押すと、ボタンを押した行為によって発生する要求に応じて、商品コードチェックcgi208が実行制御部202によって実行される。
【0020】
商品コードチェックcgi208は、実行されると、クライアント102から送信された商品コードを一旦セッション情報ファイル209に保持した上で、購買制限商品設定マスタ210と単価マスタ211を検索し、登録ユーザが誤った商品を選択したか否かを判定する。
もし、判定の結果、誤った商品が選択されていることが判明した場合は、自動的にエラー画面cgi212に移行するhtmlメッセージを作成する。当該htmlメッセージは実行制御部202を通じてクライアント102に送信される。
もし、判定の結果、正しい商品だけが選択されていることが判明した場合は、自動的に届先指定画面cgi213に移行するhtmlメッセージを作成する。当該htmlメッセージは実行制御部202を通じてクライアント102に送信される。
【0021】
エラー画面cgi212は、セッション情報ファイル209を通じて商品コードチェックcgi208の判定結果を受けて、誤った選択が行われた商品を列挙表示すると共に、登録ユーザに対して商品選択のやり直しを促す。
図6に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示されたエラー画面を示す。
エラー画面601においては、「戻る」ボタン602しか設けられておらず、このボタンを押すことで強制的にカートの中身画面501に戻される。
この後は、カートの中身画面501において誤って選択された商品を削除する。そして商品選択画面401に戻って正しい商品を選択する。次にカートの中身画面501に移行し、「注文手続き」ボタンを押すと、商品コードチェックcgi208のチェックを受け、届先指定画面cgi213が実行される。
【0022】
届先指定画面cgi213は、登録ユーザに商品を届ける届先の選択と、代金支払い方法の確認及び修正を行うhtml文書を作成する。
図7に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示された届先指定画面を示す。
プルダウン形式の届先選択欄702から、登録ユーザが所望する届先を選択した後は、「次へ」ボタン703を押す。すると、最終確認画面cgi214が実行制御部202によって実行される。
【0023】
最終確認画面cgi214は、注文内容を列挙表示して、登録ユーザに対し、最終的に購入するか否かを選択させる画面のhtml文書を作成する。
図8に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示された最終確認画面を示す。
「注文する」ボタン802を押すと、注文完了画面cgi215が実行制御部202によって実行される。
【0024】
注文完了画面cgi215は、注文が完了したことを報告する画面のhtml文書を作成する。この文書の作成と共に、図示しない電子発注システムに対し、webサーバから発注情報が送信される。
図9に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示された注文完了画面を示す。
【0025】
なお、商品選択画面cgi206、カートの中身画面cgi207、エラー画面cgi212、最終確認画面cgi214、注文完了画面cgi215が生成する表示画面のhtml文書を作成する際には、セッション情報ファイル209に保持されている商品コードとユーザIDをキーとして、商品マスタ216と単価マスタ211が参照される。
【0026】
図10は、以上に説明した一連の処理の流れと、それに伴う画面の遷移を示した状態遷移図である。
図10の点線で囲まれた範囲1002は、認証cgi204による判定処理によって、状態が分岐することを示している。
図10の点線で囲まれた範囲1003は、商品コードチェックcgi208による判定処理によって、状態が分岐することを示している。
【0027】
本実施形態の中心となるのが、商品コードチェックcgi208による判定処理である。この判定処理によって誤った商品の選択を防止する。その際、既存のwebサーバ104及びDBサーバ105に対して最小限の変更で済ませるために、購買制限商品設定マスタ210を設けている。
【0028】
図11(a)及び(b)は、購買制限商品設定マスタ210と単価マスタ211のテーブル構造を示す概略図である。なお、実際にはこれらテーブルには他にもフィールドが存在するが、本実施形態の説明に直接的に関係しないので割愛している。
図11(a)において、購買制限商品設定マスタ210には、「機種名」フィールドと、「パフォーマンス・チャージ保守契約インク商品コード」フィールドと、「年間・スポット保守契約インク商品コード」フィールドが存在する。
購買制限商品設定マスタ210は、同一の商品(消耗品)に付されている、異なる契約における商品コードの対応関係を示すものである。つまり、あるレコードにおける「パフォーマンス・チャージ保守契約インク商品コード」フィールドと「年間・スポット保守契約インク商品コード」フィールドに記載されている商品コードは、同一のインクカートリッジ或はトナーカートリッジを指し示す。
「機種名」フィールドは、エラー画面601の表示の際に「対象機種」の欄に表示する内容である。消耗品は複数の機種において共通に利用可能であることが多いので、このフィールドは可変長の文字列フィールドである。
図11(b)において、単価マスタ211には、「お客様コード」フィールドと、「商品コード」フィールドと、「販売価格」フィールドが存在する。
単価マスタ211は、特定の顧客に対して設定される、割引販売対象商品の価格設定を記すテーブルである。パフォーマンス・チャージ保守契約の場合は、消耗品の価格が無料に設定されるので、「販売価格」フィールドには「0」が付されている。
【0029】
図12及び図13は、商品コードチェックcgi208内の判定処理を示すフローチャートである。
商品コードチェックcgi208が起動されると(S1201)、クライアント102から商品コードを受信し(S1202)、それを一旦セッション情報ファイル209に保存する(S1203)。
これ以降は、クライアント102から受信してセッション情報ファイル209に保持している商品コードを一つずつチェックする、ループ処理である。
まず、商品コードをキーにして、購買制限商品設定マスタ210の「年間・スポット保守契約インク商品コード」フィールドを検索する(S1204)。検索にヒットしたら(S1205のY)、購買制限商品設定マスタ210の該当レコードの「パフォーマンス・チャージ保守契約インク商品コード」フィールドにある商品コードを取得する(S1206)。
【0030】
次に、取得した商品コードをキーにして、単価マスタ211を検索する(S1207)。
検索の結果、ヒットしたレコードがあれば(S1308のY)、ステップS1204にて検索に用いた商品コードは誤って選択した商品であることを意味するので、当該商品コードについてエラーフラグを立てて、図示しないメモリ内に一旦保持する(S1309)。
【0031】
次に、セッション情報ファイル209に保持されている商品コードはもうないか否かを確認する(S1310)。まだ検証が済んでいない商品コードが残っている場合は(S1310のN)、セッション情報ファイル209に保持されている次の商品コードを取得し(S1311)、検証処理を行う(S1204以降)。
セッション情報ファイル209に保持されている商品コードの検証が全て終了した場合は(S1310のY)、検証した結果、メモリに保持されている商品コードのうち、一つでもエラーフラグが立っているか否かを確認する(S1312)。
一つでもエラーフラグが立っている商品コードがあれば、それをエラー画面601に表示する必要があるので、エラー画面cgiを起動させるべく、転送htmlメッセージを生成する(S1313)。
一つもエラーフラグが立っている商品コードがなければ、正常な購買手続きである。そこで、購買手続きを次に進める、届先指定画面701を表示させるための届先指定画面cgi213を起動させるべく、転送htmlメッセージを生成する(S1314)。そして、一連の処理は終了する(S1315)。
【0032】
図12及び図13の処理を、図11に示す実際のデータを例に説明する。
今、登録ユーザのユーザIDは「12345678」であり、クライアント102から送信された商品コードが「N00001」だとする。
ステップS1204において、商品コード「N00001」をキーに、購買制限商品設定マスタ210の、「年間・スポット保守契約インク商品コード」フィールドを検索する。図11(a)を見ると、商品コード「N00001」が存在することがわかる。これが、ステップS1205にて検索ヒットしたことである。
次に、当該レコードの「パフォーマンス・チャージ保守契約インク商品コード」フィールドに格納されている商品コードを見る(S1206)。図11(a)では商品コード「Q00001」が格納されているので、これを取得する。具体的には、プログラムである商品コードチェックcgi208にて設けられる変数に格納する。
次に、この商品コードで単価マスタの「商品コード」フィールドを検索する(S1207)。図11(b)を見ると、商品コード「Q00001」が存在することがわかる。これが、ステップS1308にて検索ヒットしたことである。
【0033】
単価マスタ211は、お客様コード、すなわちユーザIDと、顧客別の特別価格として設定されている商品の商品コードと、その単価が、レコードとして列挙記載されている。これは従来のシステムにもある。
パフォーマンス・チャージ保守契約の顧客が購入可能な「ゼロ円商品」は、全てこの部類に属するので、「ゼロ円商品」は全て単価マスタ211に登録されている。
パフォーマンス・チャージ保守契約の顧客は、年間契約或はスポット保守契約の商品も購入可能ではある。しかし、機器側で保守契約に対応した商品しか稼動しないような仕組み(例えば、トナーボトルにパフォーマンス・チャージ保守契約用のトナーなのか、それとも年間契約或はスポット保守契約用の商品なのかを識別可能なチップが埋め込まれており、且つ、機器本体側に保守契約情報を設定可能とすることで誤ったトナーでは稼動しない仕組み)が盛り込まれていることが多く、誤った商品を購入した場合は、返品処理などの負荷がかかってしまうこととなる。また、返品後正しい商品が到着するまでの間、機器が使用できないなどの不都合も発生することがある。そこで、購買制限商品設定マスタ210を新たに用意して、パフォーマンス・チャージ保守契約の顧客が誤って年間・スポット保守契約対象となる商品を選択したか否かを確認する。
つまり、一つの商品について、保守契約に応じて異なる商品コードが付与されており、その誤った商品コードで検索して、その正しい商品コードが、単価マスタの当該ユーザIDのレコード中に存在するかを確認するのである。
【0034】
本実施形態には、以下のような応用例が考えられる。
(1)正しい商品をスムーズに選択させるために、エラー画面601からカートの中身画面501に戻って誤った商品を削除する処理の代わりに、商品選択画面401とは別の商品選択画面を別途設けることができる。
図14は図2に示すwebサーバ104の一部を拡大した図である。ここでは、新たな画面を生成するcgiとして、商品コード修正画面cgi1402を新規に設けている。
図15に、クライアント102のwebブラウザによって、クライアント102のディスプレイ107に表示された商品コード修正画面を示す。
商品コード修正画面1501は、エラー画面601の「戻る」ボタン602を押すことで強制的に表示される。
プルダウン形式の届先選択欄1502は、図7の届先選択欄702と機能的に等しい。
クリアボタン1503は、テキストボックス1504の値を「0」に初期化するボタンである。
テキストボックス1504は、ユーザが直接キー操作にて数値を入力するものである。
「注文手続きへ」ボタン502を押すと、ボタンを押した行為によって発生する要求に応じて、最終確認画面cgi214が実行制御部202によって実行される。
商品コード修正画面1501の商品の欄1506は、予め商品コードチェックcgi208の検証処理において、単価マスタ211から正しい商品コードを検索して保持しておき、これを商品マスタ216から得られる商品名と共に表示したものである。
図16は、この応用例に対応する状態遷移図である。図10と比較すると、エラー画面601から「戻る」ボタンを押すと、商品コード修正画面1501に移行し、更に「注文手続きへ」ボタンを押すと、最終確認画面801に移行することがわかる。
以上のような構成により、顧客は迅速に正しい商品コードの商品を選択することができる。
【0035】
(2)各種cgiにおける商品関係の画面表示には、Ajax(「エイジャックス」と読む。Asynchronous JavaScript + XML の略。webブラウザに実装されているJavaScriptのhttp通信機能を使って、webページのリロードを伴わずに、webサーバ102とXML形式のデータのやり取りを行って処理を進めていく、対話型webアプリケーションの実装形態。)や、Macromedia社のShockwave(登録商標)やFlash(登録商標)、或はJavaServer Pages(Java言語を利用してwebサーバ上にて動的にhtml文書を生成し、クライアントに送信する技術。html文書ファイルの中にJavaプログラムのコードを埋め込んでおき、クライアントの要求に応じてwebサーバ内のJavaプログラムを実行し、処理結果をクライアントに送信する。処理結果は通常のhtml文書になるため、webブラウザに特殊な機能を組みこむことなくwebアプリケーションを構築できる。)等の技術が利用可能である。
【0036】
本実施形態においては、パフォーマンス・チャージ保守契約の顧客が、誤って年間保守契約・スポット保守契約向けの商品を選択しても、商品購入手続きの途中でエラー画面を表示し、その先には進めないように構成した。これにより、誤発注を確実に防ぎ、顧客に優しい電子商取引システムを実現できる。
【0037】
以上、本発明の実施形態例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことは言うまでもない。
【図面の簡単な説明】
【0038】
【図1】本発明の一実施の形態による電子商取引システムを示す概略図である。
【図2】webサーバ及びDBサーバの内部の機能の構成を示すブロック図である。
【図3】ログイン画面である。
【図4】商品選択画面である。
【図5】カートの中身画面である。
【図6】エラー画面である。
【図7】届先指定画面である。
【図8】最終確認画面である。
【図9】注文完了画面である。
【図10】一連の処理の流れと、それに伴う画面の遷移を示した状態遷移図である。
【図11】購買制限商品設定マスタと単価マスタのテーブル構造を示した概略図である。
【図12】商品コードチェックcgi内の判定処理を示すフローチャートである。
【図13】商品コードチェックcgi内の判定処理を示すフローチャートである。
【図14】webサーバの一部を拡大した図である。
【図15】商品コード修正画面である。
【図16】一連の処理の流れと、それに伴う画面の遷移を示した状態遷移図である。
【符号の説明】
【0039】
101…電子商取引システム、103…インターネット、102…クライアント、104…webサーバ、105…DBサーバ、106…LAN、107…ディスプレイ、202…実行制御部、203…ログイン画面cgi、204…認証cgi、205…ユーザテーブル、206…商品選択画面cgi、207…カートの中身画面cgi、208…商品コードチェックcgi、209…セッション情報ファイル、210…購買制限商品設定マスタ、211…単価マスタ、212…エラー画面cgi、213…届先指定画面cgi、214…最終確認画面cgi、215…注文完了画面cgi、217…不揮発性ストレージ、301…ログイン画面、302…ログインボタン、401…商品選択画面、402…「カートに入れる」ボタン、403…「カートの確認・注文手続きへ」ボタン、501…カートの中身画面、502…「注文手続きへ」ボタン、503…「削除」ボタン、601…エラー画面、602…「戻る」ボタン、701…届先指定画面、702…届先選択欄、703…「次へ」ボタン、801…最終確認画面、802…「注文する」ボタン、901…注文完了画面
【特許請求の範囲】
【請求項1】
表示画面を備えるクライアントと、
前記クライアントからの要求をネットワークを通じて受けて、所定のサービスを前記クライアントに提供するサーバと
よりなる電子商取引システムにおいて、
前記サーバは、
前記クライアントが選択した購入予定商品の一覧を前記クライアントの前記表示画面に表示する画面を生成するカートの中身画面表示部と、
前記クライアントの識別情報と、商品の誤った商品コードと、前記クライアントが選択すべき正しい商品コードとを含むマスタと、
前記マスタと、前記クライアントの識別情報と、前記購入予定商品の商品コードを照合し、前記クライアントが選択した前記購入予定商品の中に前記誤った商品コードがあるか否かチェックする商品コードチェック部と
を備えることを特徴とする、電子商取引システム。
【請求項2】
前記サーバは更に、
前記クライアントが選択した前記購入予定商品の中に誤った商品コードが含まれている旨のメッセージを前記クライアントの前記表示画面に表示する画面を生成するエラー画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがあることを検出したら、前記エラー画面表示部を実行することを特徴とする、請求項1記載の電子商取引システム。
【請求項3】
前記サーバは更に、
前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動され、前記クライアントが選択した前記購入予定商品の中の誤った商品コードを、前記正しい商品コードに変更して、前記クライアントの前記表示画面に表示する画面を生成する、商品コード修正画面表示部と
を備えることを特徴とする、請求項2記載の電子商取引システム。
【請求項4】
前記サーバは更に、
前記クライアントの認証処理を行う認証処理部と、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する画面を生成する商品選択画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する画面を生成する届先指定画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する画面を生成する注文完了画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記届先指定画面表示部を実行すると共に、
前記カートの中身画面表示部は、前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動されることを特徴とする、請求項2記載の電子商取引システム。
【請求項5】
前記サーバは更に、
前記クライアントの認証処理を行う認証処理部と、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する画面を生成する商品選択画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する画面を生成する届先指定画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する画面を生成する注文完了画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記届先指定画面表示部を実行すると共に、
前記商品コード修正画面表示部は、前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動されることを特徴とする、請求項3記載の電子商取引システム。
【請求項6】
クライアントが選択した購入予定商品の一覧を前記クライアントの表示画面に表示する第1のステップと、
前記クライアントの識別情報と、商品の誤った商品コードと、前記クライアントが選択すべき正しい商品コードとを含むマスタと、前記クライアントの識別情報と、前記購入予定商品の商品コードを照合し、前記クライアントが選択した前記購入予定商品の中に前記誤った商品コードがあるか否かチェックする第2のステップと
よりなることを特徴とする、電子商取引方法。
【請求項7】
更に、
前記第2のステップにて、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがあることを検出したら、前記クライアントが選択した前記購入予定商品の中に誤った商品コードが含まれている旨のメッセージを前記クライアントの前記表示画面に表示する第3のステップを含むことを特徴とする、請求項6記載の電子商取引方法。
【請求項8】
更に、
前記第3のステップの後、前記クライアントが選択した前記購入予定商品の中の誤った商品コードを、前記正しい商品コードに変更して、前記クライアントの前記表示画面に表示する画面を生成する第4のステップを含むことを特徴とする、請求項7記載の電子商取引方法。
【請求項9】
更に、
前記クライアントの認証処理を行う第5のステップと、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する第6のステップと、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する第7のステップと、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する第8のステップと
を備え、
前記第2のステップの後、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記第7のステップを実行すると共に、
前記第1のステップは、前記第3のステップから、前記クライアントの要求に応じて実行されることを特徴とする、請求項7記載の電子商取引方法。
【請求項10】
更に、
前記クライアントの認証処理を行う第5のステップと、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する第6のステップと、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する第7のステップと、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する第8のステップと
を備え、
前記第2のステップの後、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記第7のステップを実行すると共に、
前記第4のステップは、前記第3のステップから、前記クライアントの要求に応じて起動されることを特徴とする、請求項8記載の電子商取引方法。
【請求項11】
ネットワークを通じてクライアントにサービスを提供する電子商取引装置であり、
前記クライアントが選択した購入予定商品の一覧を前記クライアントの前記表示画面に表示する画面を生成するカートの中身画面表示部と、
前記クライアントの識別情報と、商品の誤った商品コードと、前記クライアントが選択すべき正しい商品コードとを含むマスタと、
前記マスタと、前記クライアントの識別情報と、前記購入予定商品の商品コードを照合し、前記クライアントが選択した前記購入予定商品の中に前記誤った商品コードがあるか否かチェックする商品コードチェック部と
を備えることを特徴とする、電子商取引装置。
【請求項12】
更に、
前記クライアントが選択した前記購入予定商品の中に誤った商品コードが含まれている旨のメッセージを前記クライアントの前記表示画面に表示する画面を生成するエラー画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがあることを検出したら、前記エラー画面表示部を実行することを特徴とする、請求項11記載の電子商取引装置。
【請求項13】
更に、
前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動され、前記クライアントが選択した前記購入予定商品の中の誤った商品コードを、前記正しい商品コードに変更して、前記クライアントの前記表示画面に表示する画面を生成する、商品コード修正画面表示部と
を備えることを特徴とする、請求項12記載の電子商取引装置。
【請求項14】
更に、
前記クライアントの認証処理を行う認証処理部と、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する画面を生成する商品選択画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する画面を生成する届先指定画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する画面を生成する注文完了画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記届先指定画面表示部を実行すると共に、
前記カートの中身画面表示部は、前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動されることを特徴とする、請求項12記載の電子商取引装置。
【請求項15】
更に、
前記クライアントの認証処理を行う認証処理部と、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する画面を生成する商品選択画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する画面を生成する届先指定画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する画面を生成する注文完了画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記届先指定画面表示部を実行すると共に、
前記商品コード修正画面表示部は、前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動されることを特徴とする、請求項13記載の電子商取引装置。
【請求項1】
表示画面を備えるクライアントと、
前記クライアントからの要求をネットワークを通じて受けて、所定のサービスを前記クライアントに提供するサーバと
よりなる電子商取引システムにおいて、
前記サーバは、
前記クライアントが選択した購入予定商品の一覧を前記クライアントの前記表示画面に表示する画面を生成するカートの中身画面表示部と、
前記クライアントの識別情報と、商品の誤った商品コードと、前記クライアントが選択すべき正しい商品コードとを含むマスタと、
前記マスタと、前記クライアントの識別情報と、前記購入予定商品の商品コードを照合し、前記クライアントが選択した前記購入予定商品の中に前記誤った商品コードがあるか否かチェックする商品コードチェック部と
を備えることを特徴とする、電子商取引システム。
【請求項2】
前記サーバは更に、
前記クライアントが選択した前記購入予定商品の中に誤った商品コードが含まれている旨のメッセージを前記クライアントの前記表示画面に表示する画面を生成するエラー画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがあることを検出したら、前記エラー画面表示部を実行することを特徴とする、請求項1記載の電子商取引システム。
【請求項3】
前記サーバは更に、
前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動され、前記クライアントが選択した前記購入予定商品の中の誤った商品コードを、前記正しい商品コードに変更して、前記クライアントの前記表示画面に表示する画面を生成する、商品コード修正画面表示部と
を備えることを特徴とする、請求項2記載の電子商取引システム。
【請求項4】
前記サーバは更に、
前記クライアントの認証処理を行う認証処理部と、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する画面を生成する商品選択画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する画面を生成する届先指定画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する画面を生成する注文完了画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記届先指定画面表示部を実行すると共に、
前記カートの中身画面表示部は、前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動されることを特徴とする、請求項2記載の電子商取引システム。
【請求項5】
前記サーバは更に、
前記クライアントの認証処理を行う認証処理部と、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する画面を生成する商品選択画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する画面を生成する届先指定画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する画面を生成する注文完了画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記届先指定画面表示部を実行すると共に、
前記商品コード修正画面表示部は、前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動されることを特徴とする、請求項3記載の電子商取引システム。
【請求項6】
クライアントが選択した購入予定商品の一覧を前記クライアントの表示画面に表示する第1のステップと、
前記クライアントの識別情報と、商品の誤った商品コードと、前記クライアントが選択すべき正しい商品コードとを含むマスタと、前記クライアントの識別情報と、前記購入予定商品の商品コードを照合し、前記クライアントが選択した前記購入予定商品の中に前記誤った商品コードがあるか否かチェックする第2のステップと
よりなることを特徴とする、電子商取引方法。
【請求項7】
更に、
前記第2のステップにて、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがあることを検出したら、前記クライアントが選択した前記購入予定商品の中に誤った商品コードが含まれている旨のメッセージを前記クライアントの前記表示画面に表示する第3のステップを含むことを特徴とする、請求項6記載の電子商取引方法。
【請求項8】
更に、
前記第3のステップの後、前記クライアントが選択した前記購入予定商品の中の誤った商品コードを、前記正しい商品コードに変更して、前記クライアントの前記表示画面に表示する画面を生成する第4のステップを含むことを特徴とする、請求項7記載の電子商取引方法。
【請求項9】
更に、
前記クライアントの認証処理を行う第5のステップと、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する第6のステップと、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する第7のステップと、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する第8のステップと
を備え、
前記第2のステップの後、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記第7のステップを実行すると共に、
前記第1のステップは、前記第3のステップから、前記クライアントの要求に応じて実行されることを特徴とする、請求項7記載の電子商取引方法。
【請求項10】
更に、
前記クライアントの認証処理を行う第5のステップと、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する第6のステップと、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する第7のステップと、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する第8のステップと
を備え、
前記第2のステップの後、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記第7のステップを実行すると共に、
前記第4のステップは、前記第3のステップから、前記クライアントの要求に応じて起動されることを特徴とする、請求項8記載の電子商取引方法。
【請求項11】
ネットワークを通じてクライアントにサービスを提供する電子商取引装置であり、
前記クライアントが選択した購入予定商品の一覧を前記クライアントの前記表示画面に表示する画面を生成するカートの中身画面表示部と、
前記クライアントの識別情報と、商品の誤った商品コードと、前記クライアントが選択すべき正しい商品コードとを含むマスタと、
前記マスタと、前記クライアントの識別情報と、前記購入予定商品の商品コードを照合し、前記クライアントが選択した前記購入予定商品の中に前記誤った商品コードがあるか否かチェックする商品コードチェック部と
を備えることを特徴とする、電子商取引装置。
【請求項12】
更に、
前記クライアントが選択した前記購入予定商品の中に誤った商品コードが含まれている旨のメッセージを前記クライアントの前記表示画面に表示する画面を生成するエラー画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがあることを検出したら、前記エラー画面表示部を実行することを特徴とする、請求項11記載の電子商取引装置。
【請求項13】
更に、
前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動され、前記クライアントが選択した前記購入予定商品の中の誤った商品コードを、前記正しい商品コードに変更して、前記クライアントの前記表示画面に表示する画面を生成する、商品コード修正画面表示部と
を備えることを特徴とする、請求項12記載の電子商取引装置。
【請求項14】
更に、
前記クライアントの認証処理を行う認証処理部と、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する画面を生成する商品選択画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する画面を生成する届先指定画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する画面を生成する注文完了画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記届先指定画面表示部を実行すると共に、
前記カートの中身画面表示部は、前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動されることを特徴とする、請求項12記載の電子商取引装置。
【請求項15】
更に、
前記クライアントの認証処理を行う認証処理部と、
前記クライアントが選択可能な商品の一覧を前記クライアントの前記表示画面に表示する画面を生成する商品選択画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の届先の設定を前記クライアントの前記表示画面に表示する画面を生成する届先指定画面表示部と、
前記クライアントの要求に応じて、前記購入予定商品の注文を完了した旨の表示を前記クライアントの前記表示画面に表示する画面を生成する注文完了画面表示部と
を備え、
前記商品コードチェック部は、前記クライアントが選択した前記購入予定商品の中に誤った商品コードがないことを検出したら、前記届先指定画面表示部を実行すると共に、
前記商品コード修正画面表示部は、前記エラー画面表示部が生成する前記クライアントの表示画面から、前記クライアントの要求に応じて起動されることを特徴とする、請求項13記載の電子商取引装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2008−102841(P2008−102841A)
【公開日】平成20年5月1日(2008.5.1)
【国際特許分類】
【出願番号】特願2006−286428(P2006−286428)
【出願日】平成18年10月20日(2006.10.20)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成20年5月1日(2008.5.1)
【国際特許分類】
【出願日】平成18年10月20日(2006.10.20)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]