本発明は、商品識別情報の入力能力及び通信能力を有する携帯装置を使用することにより、ユーザーは、購入する商品を識別する識別情報を携帯装置に入力し、識別情報によって識別された商品の注文を生成し、且つ、それぞれの商品をショッピングカートから取り出して商品を従来のレジ係又は自己精算ステーションにおいてスキャンする必要性を伴うことなしに、注文に対する支払を実行することができるという発見を利用している。ユーザーには、携帯装置のディスプレイ上に表示されている注文を識別する注文番号の光学的機械可読表現を単純にレジ係に提供するか又は支払情報を直接的に携帯装置からリモートサーバーに送信することにより、注文に対する支払を実行するという選択肢がある。このように、ユーザーは、従来のレジ係又は自己精算ステーションでスキャンするために商品をショッピングカートから取り出す必要がないため、時間を節約することが可能であり、且つ、ユーザーは、従来のレジ係又は自己精算ステーションを全く通ることなく注文に対する支払を携帯装置によって直接的に実行することにより、時間を更に節約することができる。
以下の説明においては、特記されていない限り、1つ又は複数のコンピュータによって実行される行為及び動作の符号化された表現を参照し、本出願の主題について説明することとする。従って、コンピュータ実行可能であるとしばしば表現されるそれらの行為及び動作は、構造化された形態のデータを表す電子信号のコンピュータの処理ユニットによる操作を含んでいることを理解されたい。この操作は、当業者には十分に理解される方式によってコンピュータの動作を再構成するか又はその他の方法で変更するデータを変換するか又はデータをコンピュータのメモリシステム内の場所において維持している。データが維持されるデータ構造は、データのフォーマットによって規定される特定の特性を有するメモリの物理的な場所である。但し、本出願の主題は、上述の文脈において記述されているが、これは、制限を意図したものではなく、当業者は、後述する行為及び動作のいくつかを、ハードウェア、ソフトウェア、及び/又はファームウェア、並び/又は、これらのなんらかの組合せとして実装することもできることを理解するであろう。
図1Aを参照すると、実施形態を実装するための例示的な演算システムが示されている。図1は、コンピュータ100を含み、コンピュータ100は、携帯装置200又はリモートサーバー240のいずれか1つであってもよい。コンピュータ100は、携帯可能な装置であってもよく、そのコンポーネントの少なくともいくつか又はすべては、人間が携帯することができる単一の装置として1つに形成される。コンピュータ100は、プロセッサ110、メモリ120、並びに、1つ又は複数のドライブ130を含む。ドライブ130及びその関連するコンピュータ可読メモリ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及びコンピュータ100用のその他のデータを保存する。ドライブ130は、オペレーティングシステム140、アプリケーションプログラム150、プログラムモジュール160、及びプログラムデータ180を含むことができる。コンピュータ100は、自動的に、或いは、コマンド及びデータを入力するユーザーにより、データをコンピュータ100に入力することができる入力装置190を更に含む。入力装置190は、電子デジタイザ、フラットベッドスキャナ、バーコードリーダー、マイクロフォン、カメラ、ビデオカメラ、キーボード、並びに、一般的に、マウス、トラックボール、又はタッチパッドと呼ばれているポインティング装置、ピンパッド、任意のUSB装置、任意のBluetooth(登録商標)対応装置、RFID、又はNFC装置、及びデビットカードリーダーを含むことができる。その他の入力装置は、ジョイスティック、ゲームパッド、衛星通信アンテナ、スキャナ、及び/又はこれらに類似したものを含んでもよい。1つ又は複数の実施形態においては、入力装置190は、プロセッサ110上において実行するアプリケーションの表示又はインスタンス生成を制御することができる携帯可能な装置である。
これらの及びその他の入力装置190は、システムバス192に結合されたユーザー入力インターフェイスを通じてプロセッサ110に接続することができるが、パラレルポート、ゲームポート、又はUSB(Universal Serial Bus)などのその他のインターフェイス及びバス構造によって接続してもよい。また、コンピュータ100などのコンピュータは、スピーカ、プリンタ、及び/又は表示装置などのその他の周辺出力装置を含んでもよく、これらの周辺出力装置は、出力周辺インターフェイス194などを通じて接続してもよい。
また、コンピュータ100は、無線装置198、又はアンテナの支援によってコンピュータ100用のデータを無線送受信するためのその他のタイプの通信装置も含む。無線装置198は、WiMAX(TM)、802.11a/b/g/n、Bluetooth(TM)、2G、2.5G、3G、及び4G無線規格を使用してデータを無線送受信してもよい。
コンピュータ100は、リモートサーバー240などの1つ又は複数のリモートコンピュータに対する論理的な接続を使用することにより、ネットワーク接続された環境において動作してもよい。リモートサーバー240は、パーソナルコンピュータ、サーバー、ルーター、ネットワークPC、ピア装置、又はその他の一般的なネットワークノードであってもよく、且つ、コンピュータ100との関係において上述した要素のすべて又はその多くを含んでもよい。ネットワーク環境は、事務所、企業規模のコンピュータネットワーク、イントラネット、及びインターネットにおいて、一般的である。例えば、本出願の主題においては、コンピュータ100は、データが引き出される発信元装置を有してもよく、且つ、リモートコンピュータは、宛先装置を有してもよい。但し、発信元及び宛先装置は、ネットワーク又は任意のその他の手段による接続が必須ではなく、その代わりに、発信元プラットフォームによって書き込まれると共に1つ又は複数の宛先プラットフォームによって読み取ることができる任意の媒体を介してデータを移動させてもよいことに留意されたい。LAN又はWLANネットワーク環境において使用される際には、コンピュータ100は、ネットワークインターフェイス196又はアダプタを通じてLANに接続される。WANネットワーク環境において使用される際には、コンピュータ100は、通常、モデム、又は無線装置198などのWAN上においてインターネットなどの環境に対して通信を確立するためのその他の手段を含む。コンピュータ100とその他のコンピュータの間において通信リンクを確立するその他の手段を使用してもよいことを理解されたい。
図1Bを参照すると、小売店舗において小売業者から商品220を購入するための携帯装置200の例示的な図が示されている。携帯装置200は、アプリケーションを実行するためのプロセッサ201と、プロセッサ201と接続された情報を表示するためのディスプレイ206と、を有する任意の携帯可能な電子装置を含み、且つ、パーソナルデスクトップアシスタント(PDA)、携帯可能なコンピュータ、携帯電話機、スマートフォン、ネットブック、及びタブレットコンピュータなどの装置を含む。ディスプレイ206は、液晶ディスプレイ(LCD)、陰極線管タイプのディスプレイ、電子インクディスプレイ、OLEDディスプレイなどの発光ダイオード(LED)タイプのディスプレイ、及びプラズマディスプレイなどの様々なタイプのディスプレイ技術のいずれかを使用することができる。また、好ましくは、携帯装置200は、通信装置208と、スキャニングモジュール202と、をも含む。通信装置208は、プロセッサ201と接続されており、且つ、携帯装置200と接続された1つ又は複数のその他のコンピュータとの間において情報を送受信する能力を有する。好ましくは、通信装置208は、アンテナと接続された無線送信機及び無線受信機を使用し、リモートサーバー240などの別のコンピュータに信号を無線送信する能力を有する。スキャニングモジュール202は、商品220から識別情報222を受け取り、且つ、識別情報222をデジタルデータなどのプロセッサ201が読み取ることができるフォーマットに変換する能力を有する。好ましくは、スキャニングモジュール202は、バーコード又は任意の画像などの光学情報をキャプチャし、受け取り、且つ、処理することができる任意の装置を含み、且つ、デジタルスキャナ、デジタルカメラ、ビデオカメラ、バーコードリーダー、及び任意のその他のタイプのデジタル又はアナログ撮像装置などの装置を含む。
好ましくは、通信装置208は、ネットワークインターフェイス209を使用し、ネットワーク226を介して、リモートサーバー240などの別のコンピュータ100と通信する。ネットワークインターフェイス209は、プロセッサ201及び通信装置208と接続されており、且つ、好ましくは、リモート装置200内に配設される。
ネットワーク226は、マルチメディアコンテンツ、画像、データ、及びストリーミングビデオ用の信号を含む通信信号を送受信する能力を有する任意のタイプのネットワークを含んでもよい。ネットワーク226は、インターネット、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ケーブルネットワーク、及びデジタルデータなどの情報を送信する能力を有するその他の類似のシステムなどのデータネットワークを含んでもよい。また、ネットワーク226は、ローカル電話ネットワーク、長距離電話ネットワーク、セルラー電話ネットワーク、衛星通信ネットワーク、ケーブルテレビネットワーク、及びコンピュータシステムとやり取りして携帯装置200とリモートサーバー240などの別のコンピュータの間の情報の送信を可能にするその他の類似の通信システムなどの通信ネットワークを含んでもよい。ネットワーク226は、複数のネットワークを含んでもよく、且つ、複数の異なるタイプのネットワークを含んでもよい。従って、ネットワーク226は、複数のデータネットワーク、複数の通信ネットワーク、ケーブルシステム、衛星システム、及び/又はデータ及び通信ネットワークの組合せ、並びに、その他の類似の通信システムを含んでもよい。
ネットワーク226は、携帯装置200とリモートサーバー240の両方と接続されており、且つ、情報を携帯装置200とリモートサーバー240の間において送信及び共有できるようにしている。リモートサーバー240は、情報を受け取り、保存し、処理し、且つ、別のコンピュータに送信することができる任意のタイプのコンピュータを含み、且つ、1つ又は複数のその他のコンピュータシステムとやり取りする能力を有するサーバーに基づいたコンピュータシステムなどの装置を含む。
一実施形態においては、携帯装置200は、携帯装置200が自身の場所を判定できるようにする場所情報処理手段を含む。場所情報処理手段は、GPS(Global Positioning System)に基づいた装置などの装置と、無線三角測量を使用して携帯装置200の場所を判定するなどの方法と、を含む。好ましくは、携帯装置200は、ユーザーからの情報を携帯装置200に入力するための入力手段210を含む。入力手段は、キーボード、マウス、タッチパッド、タッチスクリーン、ジョイスティック、ボタン、及びダイヤルなどのユーザーによる情報の入力を支援可能な任意の装置を含む。
商品220は、小売業者によって販売される任意の商品又はサービスを含む。好ましくは、商品220は、小売店舗、即ち、店に、配置される。商品220は、バーコード224、製造番号、商品220の名称、及び商品220を識別するために使用することができる商品220に関する任意の文章、文字、イラスト、又は画像などの商品220の識別を支援する商品220に関する任意の情報である商品識別情報222を含む。
図2A及び図2Bを参照すると、動作の際に、携帯装置200は、顧客、即ち、ユーザーによって小売店舗内に持ち込まれ、且つ、ブロック302において、携帯自己精算アプリケーション400を携帯装置200において起動することにより、携帯装置200による自己精算の方法300が開始される。携帯自己精算アプリケーション400は、携帯装置200上に存在しており、且つ、サーバー240上に存在している端末販売アプリケーション620と通信する。携帯自己精算アプリケーション400を起動した際に、ユーザーは、まず、ユーザー識別情報を入力手段210を介して携帯装置200に入力することによってユーザー自身を識別するように、求められてもよい。ユーザー識別情報は、ユーザー名、パスワード、或いは、ユーザー名及びパスワードの両方を含んでもよい。ユーザーが初めて携帯自己精算アプリケーション400を起動する場合には、ユーザーは、ユーザー情報に加えて、追加ユーザー情報を入力するように、求められてもよい。追加ユーザー情報は、ユーザーの名称、ユーザーの住所、ユーザーの電話番号、ユーザーのクレジットカード情報又はその他のユーザーの財務情報、ユーザーの社会保障番号、ユーザーの運転免許証番号、ユーザーの誕生日、ユーザーのパスポート番号、及び携帯装置200又はリモートサーバー240によって保存されてもよく或いはそうでなくてもよいその他の識別情報などのユーザーを識別するために使用してもよい任意の情報を含む。
ユーザーを識別すると、方法300は、ブロック306に進み、ここで、携帯装置200は、ネットワーク226を介して、リモートサーバー240などの小売店舗のコンピュータと接続される。携帯装置200をリモートサーバー240と接続すると、方法300は、ブロック308に進み、且つ、ユーザーは、小売店舗内を歩き回って購入する商品220を探すことにより、小売店舗における買い物を始める。図3及び図18を参照すると、携帯自己精算アプリケーション400を起動しユーザー情報を入力した際に、携帯自己精算アプリケーション400により、ホーム画面402がユーザーに対して提示される。一実施形態においては、ホーム画面402は、ユーザーが位置している小売店舗に固有の広告をユーザーに対して提供することができるローカル広告ボタン404と、買い物を始めるという自身の意思をユーザーが携帯自己精算アプリケーション400に対して伝達できるようにすると共にショッピング画面418をユーザーに対して提示するショッピング開始ボタン406と、ユーザーが過去の注文、購入、又は過去の仮想ショッピングカートを閲覧できるようにする注文履歴ボタン408と、を含む。更には、ホーム画面402は、例えば、小売店舗が位置している市及び州を又は小売店舗の店舗番号を表示することにより、ユーザーが位置している特定の小売店舗を識別する情報を提供する店舗識別情報410を表示してもよい。好ましくは、携帯装置200は、場所情報処理手段を使用して店舗識別情報410を判定する。
図18を参照すると、一実施形態においては、ホーム画面402は、カートボタン403を含み、このボタンは、選択された際に、図8に示されているように、ショッピングカート画面430をユーザーに対して提示する。一実施形態においては、ホーム画面402は、ヘルプボタン405を含み、このボタンは、選択された際に、携帯自己精算アプリケーション400を使用する際にユーザーを支援する一連のヘルプ画面をユーザーに対して提示する。
更には、携帯自己精算アプリケーション400は、商品スキャニングボタン412、カート閲覧ボタン414、及びホームボタン416を含む。好ましくは、ボタン412、414、及び416は、いずれも、図3〜図15に示されているように、携帯自己精算アプリケーション400の画面のすべて又はほとんどすべてに存在している。商品スキャニングボタン412は、選択された際に、スキャニングモジュール202を起動し、且つ、図5に示されているように、ユーザーが商品220から識別情報222をキャプチャ及び入力できるようにする商品スキャニング画面420をユーザーに対して提示する。カート閲覧ボタン414は、選択された際に、図8に示されているように、ユーザーによって生成された仮想ショッピングカート433の内容をユーザーが閲覧できるようにすると共に商品220を表す商品情報432を収容するショッピングカート画面430をユーザーに対して提示する。ホームボタン416は、選択された際に、ユーザーをホーム画面402に戻す。
図16を参照すると、一実施形態においては、携帯自己精算アプリケーション400は、商品スキャニングボタン412、カート閲覧ボタン414、及びホームボタン416に加えて、マイストアボタン417も含む。マイストアボタン417は、選択された際に、ユーザーが位置している小売店舗に関する情報を表示する携帯自己精算アプリケーション400によって生成された店舗情報画面をユーザーに対して提示する。具体的には、店舗情報画面は、限定はされないが、小売店舗の住所、小売店舗の電話番号、小売店舗の営業時間、小売店舗のサービス及び店舗番号、及びその他のこの種の情報を含む情報を表示する。また、好ましくは、マイストアボタン417は、選択された際に、場所情報処理手段を使用して小売店舗の地理的な場所を判定する。
好ましくは、ユーザーが小売店舗において買い物を始めると、ブロック308に示されているように、ユーザーは、ホーム画面402上のショッピング開始ボタン406を起動するなどにより、買い物を始めるという自身の意思を携帯自己精算アプリケーション400に対して伝達する。図4及び図7を参照すると、ショッピング開始ボタン406は、選択された際に、製品バーコードスキャニングボタン422、手動識別情報ボックス424、精算ボタン426、小計情報428、合計情報434、及び部分的仮想ショッピングカート内容ウィンドウ436を有するショッピング画面418をユーザーに対して提示する。製品バーコードスキャニングボタン422は、スキャニングモジュール202を起動し、且つ、図5に示されているように、商品スキャニング画面420をユーザーに対して提示する。手動識別情報ボックス242は、ユーザーが、例えば、商品220のUPC(Universal Product Code)を入力することにより、購入する商品220を識別する識別情報222を携帯装置200に手動入力できるようにする。一実施形態においては、UPC情報は、手作業で入力されるか、或いは、識別情報222のスキャニングから自動的に判定され、次いで、携帯装置により、UPCルックアップシステムが位置しているリモートサーバー240に対して送信され、UPCルックアップシステムがUPC情報を使用して商品情報432をユーザーに対して提供する。精算ボタン426は、選択された際に、図9に示されているように、仮想ショッピングカート433の内容の全体及びそれらの内容物を購入するというユーザーの意思を確認するための選択肢をユーザーに提示する精算画面450をユーザーに対して提示する。小計情報428は、仮想ショッピングカート433の内容の小計金額をユーザーに対して提示し、且つ、合計情報434は、仮想ショッピングカート433の内容の合計金額をユーザーに対して提示する。部分的仮想ショッピングカート内容ウィンドウ436は、仮想ショッピングカート433に入力された最新の商品などの仮想ショッピングカート433の内容の一部を表示する。
購入する商品を見つけた際に、方法300は、ブロック310に進み、ここで、ユーザーは、小売店舗内の棚又はスタンドから商品220を取り出す。ブロック312に進み、ユーザーは、識別情報222を携帯装置200に入力し、携帯装置200が、購入する商品220を識別する。識別情報222は、情報222を識別情報ボックス424に入力するなどにより、手動で入力することも可能であり、或いは、スキャニングモジュール202を使用して情報222をスキャンすることにより、識別情報222を自動的に入力することもできる。ユーザーは、スキャニングモジュール202を起動することにより、識別情報222を自動的に入力してもよい。例えば、ユーザーは、図5に示されているように、スキャニングモジュール202を起動すると共に商品スキャニング画面420をユーザーに対して提示する製品バーコードスキャニングボタン422又は商品スキャニングボタン412のいずれかを押下することにより、スキャニングモジュール202を起動してもよい。商品スキャニング画面420において、ユーザーは、スキャニングモジュール202を起動する。その結果、スキャニングモジュール202は、商品220から識別情報222を受け取り、且つ、プロセッサ201が識別情報222を読み取ると共に処理することができるように、識別情報222をデジタル画像などのフォーマットに変換する。識別情報222を処理する際に、プロセッサ201は、商品220のバーコード番号又はUPCなどの識別情報222を判定するために、光学文字認識(OCR)アルゴリズムを使用してもよい。
識別情報222を携帯装置200に入力すると、識別情報222は、ブロック314において、通信装置208を介してリモートサーバー240に送信され、且つ、リモートサーバー240によって受け取られる。次いで、リモートサーバー240は、ブロック314において、携帯装置200から受け取った識別情報222を使用し、商品220を表す商品情報432を取得してもよい。商品情報432は、商品の名称、商品の価格、商品のレビュー、商品の評価、商品220を記述する商品の製品詳細説明、商品220の画像、商品の税金金額又は百分率、商品220が小売店舗内において配置されている場所に関する商品の場所情報を含んでもよい。
商品情報432を取得すると、リモートサーバー240は、取得した商品情報432を携帯装置に送信してもよく、その際に、携帯自己精算アプリケーション400は、図6及び図12に示されているように、商品220の商品情報432を表示する商品情報画面440をユーザーに対して提示してもよい。一実施形態においては、ユーザーは、商品情報432が購入する商品220に関係していることを確認するように、求められてもよい。また、ブロック316に進み、ユーザーは、商品情報222によって識別されている商品を購入するという自身の意思を確認するように、求められてもよい。例えば、商品情報222が、ユーザーによって選択された商品220ではない商品のものである場合がある。この場合には、ユーザーは、商品情報222が正確ではないか又は商品220に関係していないことを携帯自己精算アプリケーション400に通知することができる。
図6及び図12を参照すると、一実施形態においては、商品情報画面440は、選択された際に商品220を表す商品情報432を収容する仮想ショッピングカート433を生成するショッピングカート追加ボタン422又は数量選択ボタン443を加えてユーザーに対して提示する。数量選択ボタン443は、ユーザーが複数の商品220を仮想ショッピングカート433に追加できるようにし、且つ、次いで、数量更新ボタン445は、ユーザーが仮想ショッピングカート433によって示されている商品220の数量を更新できるようにする。更には、選択された際に、商品情報432を仮想ショッピングカート433に追加することなしに商品スキャニング画面420を再度ユーザーに対して提供する取消及び再スキャニングボタン444をユーザーに対して提供してもよい。一実施形態においては、商品削除ボタン447がユーザーに提供されており、このボタンは、選択された際に、商品220の任意の商品情報222を仮想ショッピングカート433から削除する。図13を参照すると、商品削除ボタン447が選択された際に、仮想ショッピングカート433から商品情報222と共に商品220を削除するという自身の所望を確認するようにユーザーに対して要求する商品削除確認画面480をユーザーに対して提示してもよい。
図16を参照すると、一実施形態においては、商品情報画面440は、商品220を評価する共に商品220に関するその他のユーザーからのレビューを参照するための選択肢419をユーザーに対して提供している。一実施形態においては、携帯自己精算アプリケーション400は、商品220の在庫が小売店舗内にあるかどうかを示す在庫情報をリモートサーバー240に対して提供する選択肢をユーザーに提供している。
商品220を購入するという自身の意図をユーザーが確認した場合に、ブロック318において、商品220を表す商品情報432を収容する仮想ショッピングカート433が生成される。一実施形態においては、仮想ショッピングカート433は、携帯装置200によって生成され、且つ、次いで、リモートサーバー240に送信される。別の実施形態においては、仮想ショッピングカート433は、リモートサーバー240によって生成され、且つ、具体的には、端末販売アプリケーション620によって生成される。好ましくは、仮想ショッピングカート433は、リモートサーバー240によって生成され、具体的には、端末販売アプリケーション620によって生成され、リモートサーバー206上に保存され、且つ、ディスプレイ206を介したユーザーに対する表示のために携帯装置200に送信される。好ましくは、商品220を表す仮想ショッピングカート433内の任意の内容は、予め規定された期間にわたって仮想ショッピングカート433内に維持され、その後に、それらの内容は消去される。方法300と、ショッピングプロセスと、がなんらかの理由によって中断された場合には(例えば、携帯装置200が通話を受信したり、携帯装置200がテキストメッセージを受信したり、携帯装置200による別の機能の実行をユーザーが所望した場合など)、ユーザーは、方法300を再開し、且つ、既に選択されている商品220を表す仮想ショッピングカート433の使用を予め規定された期間にわたって継続することができる。一実施形態においては、携帯自己精算アプリケーション400は、仮想ショッピングカート433内に表されているすべての商品220を有するショッピングリストを生成及び保存するという選択肢をユーザーに対して提供している。ショッピングリストは、ユーザーの自宅などの任意の場所において生成することができる。方法300の一部として小売店舗内においてショッピングリストを使用する際には、商品220をペアにしてもよく、且つ、ショッピングリストから削除してもよく、且つ、次いで、仮想ショッピングカート433に追加してもよい。
一実施形態においては、商品情報432を取得すると、リモートサーバー240は、取得した商品情報432を携帯装置に送信してもよく、その際に、携帯自己精算アプリケーション400は、商品220を表す商品情報432を収容する仮想ショッピングカート433を自動的に生成してもよい。更には、一実施形態においては、商品情報432を取得すると、リモートサーバー240は、商品220を表す商品情報432を収容する仮想ショッピングカート433を自動的に生成し、且つ、ユーザーに表示するために、そのショッピングカートをその内容と共に携帯装置200に対して送信してもよい。
商品220を表す商品情報432を収容する仮想ショッピングカート433を生成し、且つ、その情報を携帯装置200とリモートサーバー240の間において送信すると、携帯装置200は、ブロック320において、仮想ショッピングカート433をそのすべての内容435と共にユーザーに対して表示する。一実施形態においては、携帯自己精算アプリケーション400は、図8に示されているように、商品情報432を使用して仮想ショッピングカート433の内容をユーザーに対して表示するショッピングカート画面430をユーザーに提示する。
図8及び図17を参照すると、ショッピングカート画面430は、精算ボタン439又は支払準備ボタン437を押下することにより、仮想ショッピングカート433内の商品情報432によって表されている商品220を購入するという選択肢をユーザーに提示してもよい。ショッピングカート画面430は、戻るボタン434を押下することにより、買い物を継続するという選択肢をユーザーに提示してもよく、この場合には、ユーザーに対してショッピング画面418が再度提示される。また、ショッピングカート画面430は、注文取消ボタン438を押下することにより、注文452をすべて取り消すという選択肢をユーザーに対して提示してもよく、この場合には、仮想ショッピングカート433の内容が空となり、且つ、ユーザーに対してショッピング画面418又はホーム画面402が再度提示されることになる。図15を参照すると、一実施形態においては、注文取消ボタン438が選択された際に、注文452を取り消すと共に仮想ショッピングカート433を空にするという自身の所望を確認するようにユーザーに対して求める注文取消画面490がユーザーに対して提示されてもよい。
本明細書において使用されている注文452とは、商品220を購入するための任意の要求である。注文452は、識別情報222、ユーザーが購入を所望する仮想ショッピングカート433内の特定の商品220の個数を示す数量情報、ユーザー識別情報、追加ユーザー情報、注文番号463、及びユーザーが位置している特定の小売店舗を識別する情報を提供する店舗識別情報410などの携帯自己精算プログラム400から受け取った情報から構成される。
図14を参照すると、一実施形態においては、ショッピングカート画面430は、仮想ショッピングカート433内に表されているそれぞれの商品220と関連付けられた商品削除ボタン431を含む。商品削除ボタン431が選択された際には、図13に示されているように、仮想ショッピングカート433から商品220を商品情報222と共に削除するという自身の所望を確認するようにユーザーに対して求める商品削除確認画面480がユーザーに対して提示されてもよい。
ブロック320において仮想ショッピングカート433の内容をユーザーに対して表示すると、ユーザーは、ブロック322において、商品220を実際のショッピングカート内に配置する。次いで、携帯自己精算アプリケーション400は、ブロック324において、ユーザーがショッピングの継続及び追加商品220の購入を所望するかどうかについてユーザーに問い合わせてもよい。一実施形態においては、精算ボタン439、戻るボタン434、及び/又は注文取消ボタン438がユーザーに対して提示される。ユーザーがショッピングの継続を所望する場合には、方法300は、ブロック310に戻る。ユーザーがショッピングの継続を所望しない場合には、方法300は、ブロック326に進み、ここで、ユーザーは、例えば、精算ボタン439を使用して精算の選択肢を選択する。一実施形態においては、精算ボタン439、戻るボタン434、及び/又は注文取消ボタン438などのボタンを押下する代わりに、ユーザーは、ハンドジェスチャー、スワイプ、又は携帯自己精算アプリケーション400の機能を起動するためのその他のこの種のジェスチャーを実行してもよい。
精算するという選択肢を選択した際には、ブロック328において、仮想ショッピングカート433のすべての内容の合計金額が算出され、且つ、仮想ショッピングカート433内に一覧表示されている識別情報222によって識別される商品220の注文452が生成される。好ましくは、注文452と関連する注文番号463も生成される。一実施形態においては、注文452は、携帯装置200によって生成され、且つ、リモートサーバー240に対して送信されており、別の実施形態においては、注文452は、リモートサーバー240によって生成され、且つ、次いで、ユーザーによる確認のために、携帯装置200に対して送信される。ブロック328において注文452を生成した際には、ブロック330において、注文452がユーザーに対して提示され、且つ、ユーザーは、注文452が正しいかを確認するように求められる。好ましくは、注文確認画面450は、図9に示されているように、携帯自己精算アプリケーション400によって生成される。注文確認画面450は、注文452が正しいか、識別情報432を介して注文452内において識別されている商品220をユーザーが購入しようとしているか、をユーザーが確認できるようにする確認ボタン454を含む。また、注文確認画面450は、押下された際に、ユーザーがショッピングカート画面430に戻ることができるようにする戻るボタン456も含む。
商品情報432によって識別されている商品220を購入するというユーザーの意図を確認すると、方法300は、ブロック332に進み、ここで、ユーザーは、支払のタイプと、生成された注文452の支払に使用する支払方法と、を選択する。ユーザーは、現金、クレジットカード、銀行からの直接的な引き落とし、PayPal(TM)又はGoogle Checkoutなどのオンライン支払サービスを使用した支払、ギフトカード、店舗クレジット、個人小切手、為替、又はその他の支払手段などの様々な支払のタイプを提供する選択肢を有する。また、ユーザーは、携帯自己精算アプリケーション400を使用する携帯装置200を介した支払の送信又は従来のレジ係又は自己精算ステーションにおいての支払という支払方法の選択肢も有する。
ユーザーが現金での支払を所望した際に発生することになる従来のレジ係又は自己精算ステーションを必要とする注文452の支払をユーザーが決定した場合には、ブロック342において、仮想トランザクションが生成され、且つ、ブロック344において、注文452を識別する注文452の光学的機械可読表現460が、生成され、且つ、携帯装置200のディスプレイ206上に表示される。生成されるそれぞれの光学的機械可読表現460は、それぞれの注文452に固有のものであるため、光学的機械可読表現460は、注文452を識別するために、注文番号463などの固有の識別子462又は携帯装置200と関連付けられた固有の携帯識別子(Unique Mobile Identifier:UMI)を符号化している。それぞれの固有の携帯識別子(UMI)は、特定の携帯装置200に固有のものであり、且つ、携帯装置200の固有の装置識別子(Unique Device IDentifier:UDID)、携帯装置200の製造番号、又は特定の携帯装置200のなんらかのその他の識別情報などのその特定の携帯装置200を識別する情報を含む。
注文452の光学的機械可読表現460は、注文452を表し、且つ、識別情報又は固有の識別子462を符号化しており、これは、注文番号463と、顧客名、顧客番号、及び社会保障番号などの顧客を識別するために使用することができる顧客識別情報と、数値又はその他の英数符号などの特定のトランザクションを識別するために使用することができるトランザクション識別情報と、携帯電話機又は携帯コンピュータなどの装置の製造番号又は固有の装置識別子(UDID)などの特定の装置を識別することができる装置識別情報と、特定の注文452と関連付けられた状態で使用されてもよく、且つ、特定の注文452を識別及び取得するために使用されてもよい任意の英数符号又は任意のシンボルと、などのものを含む。好ましくは、注文番号463は、注文452の光学的機械可読表現460と共に、携帯装置200のディスプレイ206上に表示される。
注文452の光学的機械可読表現460は、光学スキャニング装置500が光学的機械可読表現460を読み取ることができるようにするバーコードリーダーなどの方式によって符号化されている。バーコードリーダー又はバーコードスキャナは、印刷されたバーコードを読み取るための電子装置である。フラットベッドスキャナのように、バーコードリーダーは、光源と、レンズと、光インパルスを電気的なインパルスに変換する光センサと、から構成されている。この結果、注文452の光学的機械可読表現460は、標準的なバーコードリーダーが、光学的機械可読表現460を読み取り、且つ、これを任意のコンピュータが読み取ることができるデジタルデータに変換できるようにする線形又は1Dバーコードやマトリックス2Dバーコードなどのバーコードの形態であることが好ましい。一実施形態においては、注文452の光学的機械可読表現460は、UPC−A、UPC−E、EAN−13、EAN−8、Code−128、Code−39、及びITFフォーマットのうちの1つを有する1Dバーコードなどの1Dバーコードの形態であることが好ましい。
好ましくは、注文452の光学的機械可読表現460を生成した際に、図10に示されているように、機械可読表現画面458が携帯自己精算アプリケーション400によって生成される。機械可読表現画面458は、注文452の光学的機械可読表現460、注文されたすべての商品220の合計支払金額464、及び販売された商品220の合計金額466と共に、注文番号463を含む。ブロック346において、ユーザーは、機械可読表現画面458上のメッセージ468を介して携帯自己精算アプリケーション400により指示されて、スキャンするためにレジ係に対して光学的機械可読表現460を提示し、精算プロセスを完了する。一実施形態においては、固有の識別子462がユーザーに対して提供され、且つ、単独で、或いは、光学的機械可読表現460の下方に印刷された状態において、ディスプレイ206上に表示される。この実施形態においては、ユーザーは、固有の識別子462をポイントオブセール端末600において手動入力又はキー入力してもよく、或いは、固有の識別子462をレジ係に提供してもよく、その結果、レジ係は、ポイントオブセール端末600において固有の識別子462を手動入力することができる。
図1C及び図2Bを参照すると、ブロック348において、ユーザーは、従来のレジ係又は自己精算ステーションに移動し、且つ、光学的機械可読表現460を、具体的には、光学的機械可読表現460内において符号化されている固有の識別子462を読み取る光学スキャニング装置500に対して光学的機械可読表現460を提示する。次いで、好ましくは、固有の識別子462は、リモートサーバー240から注文452を取得するために、リモートサーバー240に対して送信される。次いで、注文452は、合計支払金額464と共に、リモートサーバー240から、キャッシュレジスタに対して、或いは、従来のレジ係又は自己精算ステーションによって動作可能なその他のコンピュータに対して、送信される。次いで、ブロック348に進み、ユーザーは、合計支払金額464の支払を実行するように、従来のレジ係又は自己精算ステーションによって求められ、その際に、ユーザーは、合計支払金額464の支払を従来のレジ係又は自己精算ステーションに対して実行する。
ブロック336に進み、ユーザーが支払を実行した際には、キャッシュレジスタ又は従来のレジ係によって動作するその他のコンピュータにより、或いは、自己精算ステーションにより、支払情報が生成され、且つ、次いで、リモートサーバー240に送信され、その際に、仮想ショッピングカート433が支払済みとマーキングされ、且つ、リモートサーバー240、従来のレジ係、及び/又は自己精算ステーションにより、領収書が生成される。次いで、領収書はユーザーに対して提供される。
好ましくは、支払を受け取ったというアクノリッジが、リモートサーバー240から携帯装置200に送信され、且つ、図10に示されているように、携帯自己精算アプリケーション400によって生成される支払受領画面458を介してユーザーに対して表示される。一実施形態においては、領収書のデジタルコピーがリモートサーバー240からユーザーに対して送信される。好ましくは、領収書のデジタルコピーは、リモートサーバー240から携帯装置200に送信され、且つ、携帯自己精算アプリケーション400を介して表示される。一実施形態においては、領収書のデジタルコピーは、電子メールでリモートサーバー240からユーザーの電子メールアドレスに送信される。好ましくは、支払を受け取ったというアクノリッジを生成及び送信した際に、サーバー240は、現在の仮想ショッピングカートを過去の仮想ショッピングカートに変更し、ユーザーは、この過去の仮想ショッピングカートを注文履歴ボタン408を介して取得することができる。販売トランザクション及び領収書情報は、リモートサーバー240上に保存され、且つ、従って、限定はされないが、資産保護対策、返品検証、顧客照会などを含む様々な目的のためにアクセス可能である。
ブロック332において、ユーザーが携帯セルフ精算アプリケーション400を使用する携帯装置200を介した支払の送信によって注文452の支払を実行するように決定した場合には、アプリケーション400は、ユーザーの予め登録された支払口座から引き落とすか、或いは、支払口座情報をユーザーに対して求める。ユーザーが、クレジットカード情報、ユーザー口座名及びパスワードなどのオンライン支払サービス情報、店舗クレジット情報、又はギフトカード情報を含むことができる支払口座情報を予め入力することにより、予め登録された支払口座を携帯自己精算アプリケーション400によって既に生成している場合には、携帯自己精算アプリケーション400は、ブロック334において、予め登録されている口座から引き落とす。ユーザーが、予め登録されている支払口座を携帯自己精算アプリケーション400によってまだ生成していない場合には、ユーザーは、支払口座情報を提供することによって支払口座を生成するように求められる。支払口座を生成した際に、携帯自己精算アプリケーション400は、合計支払金額464を支払口座から引き落とす。予め登録されている支払口座又は直前に生成された支払口座から引き落とした際に、方法300は、ブロック336に進み、ここで、仮想ショッピングカート433が支払済みとマーキングされ、且つ、領収書が、リモートサーバー240、従来のレジ係、及び/又は自己精算ステーションによって生成される。次いで、領収書は、ユーザーに提供される。販売トランザクション及び領収書情報は、リモートサーバー240上に保存され、且つ、従って、限定はされないが、資産保護対策、返品検証、顧客照会などを含む様々な目的のために、アクセス可能である。
ブロック338に進み、仮想ショッピングカート433が支払済みであるとマーキングされると、携帯自己精算アプリケーション400は終了し、ユーザーは、ブロック340において、小売店舗を出る。
図19、図20、及び図21を参照すると、仮想トランザクションを維持及び実施するための端末販売アプリケーション620が示されている。端末販売アプリケーション620は、VTSA(Virtual Terminal Sales Application)640及びトランザクション状態コンテナ660と通信状態にあるセッションマネージャ650を含む。仮想トランザクションは、注文452又は仮想ショッピングカート433内において見出される情報のすべてを収容するが、端末販売アプリケーション620内において実行しているVTSA640などのアプリケーションによって完全に実施される。周辺装置を有するポイントオブセール端末600において処理される実際のトランザクションとは異なり、仮想トランザクションは、ポイントオブセール端末600の機能に似ているがポイントオブセール端末600の周辺装置を欠いたコンピュータ上において実行するアプリケーションによって処理される。端末販売アプリケーション620は、リモートサーバー240などのコンピュータ上に存在しており、且つ、携帯セルフ精算アプリケーション400とやり取りする。
図19を参照すると、端末販売アプリケーション620は、携帯自己精算アプリケーション400からのPOS(Point of Sale)メッセージ630を介して要求を受け取ると共にPOSメッセージ630を携帯自己精算アプリケーション400に返送することにより、携帯自己精算アプリケーション400と通信する。POSメッセージ630は、IBM(TM) Self Checkout Systemなどのポイントオブセール端末によって使用されるポイントオブセールビジネスコンポーネントメッセージなどのポイントオブセール購入情報を含むメッセージである。具体的には、端末販売アプリケーション620のセッションマネージャ650は、POSメッセージ630を送受信することにより、携帯自己精算アプリケーション400と通信する。端末販売アプリケーション620が受け取るPOSメッセージ630は、識別情報222、ユーザー610が購入を所望する仮想ショッピングカート433内の特定の商品220の個数を示す数量情報、ユーザー識別情報、追加ユーザー情報、注文番号463、ユーザーが位置している特定の小売店舗を識別する情報を提供する店舗識別情報410、及び注文番号463や固有の携帯識別子(UMI)などの特定の仮想トランザクションを識別する固有の識別子462などの注文452に必要とされる情報を処理するための要求を含む。
端末販売アプリケーション620によって生成又は処理されるそれぞれの仮想トランザクションは、特定の注文452を識別する関連付けられた固有の識別子462を有する。固有の識別子462は、注文番号463又は固有の携帯識別子(UMI)又はユーザー名又はID番号などの特定のユーザー610又は特定の携帯装置を識別する識別情報片であってよい。一実施形態においては、固有の識別子462は、固有の携帯識別子(UMI)である。固有の識別子462を特定の仮想トランザクションと関連付けることにより、端末販売アプリケーション620とやり取りするそれぞれのユーザー610又は携帯装置200ごとに、仮想トランザクションを識別することができる。更には、端末販売アプリケーション620によって送受信されるそれぞれのPOSメッセージ630は、仮想トランザクションと関連付けられた固有の識別子も含む。このように、それぞれのPOSメッセージ630を、その意図されている仮想トランザクションと関連付けることが可能であり、且つ、その意図されている仮想トランザクションに対して適用することができる。
セッションマネージャ650は、POSメッセージ630を携帯自己精算アプリケーション400との間において送受信し、且つ、POSメッセージ630をVTSA640に伝達する。更には、セッションマネージャ650は、トランザクション状態コンテナ660とやり取りし、且つ、トランザクション状態情報642をトランザクション状態コンテナ660とVTSA640の間において伝達する。好ましくは、セッションマネージャ650は、携帯自己精算アプリケーション400から受け取るPOSメッセージ630をキューにおいて受け取ると共に優先順位づけし、且つ、POSメッセージ630が所与のVTSA640に伝達されるタイミングと、所与のPOSメッセージ630を伝達するVTSA640と、を判定する。POSメッセージ630は、携帯自己精算アプリケーション400から受け取られるたびに、セッションマネージャ650により、端末セッションマネージャ620内の利用可能なVTSA640のオープンセッションに対してルーティングされる。セッションマネージャ650は、POSメッセージ630内に埋め込まれている固有の識別子462を使用することにより、ユーザー610の仮想トランザクションの実施のために使用されるその固有の識別子462と関連付けられたトランザクション状態情報642を見出す。次いで、このトランザクション状態情報642は、セッションマネージャ650により、同一の固有の識別子462を有するPOSメッセージ630がルーティングされたVTSA640に対して送信され、且つ、次いで、セッションマネージャ650は、ユーザー610の仮想トランザクションを開始又は更に変更するように、VTSA640に対して指示する。好ましくは、セッションマネージャ650は、端末販売アプリケーション620内において実行している複数のVTSA640のうちのいずれか1つからVTSA640のオープンセッションに対してアクセスすることができる。
VTSA640は、仮想ポイントオブセール端末を表すアプリケーションであり、且つ、リモートサーバー240などのコンピュータ上において実行している。VTSA640は、スキャナ又はバーコードスキャナ、領収書プリンタ、クレジットカードリーダー、キャッシュディスペンサ、顧客ディスプレイ、操作者ディスプレイ、及びその他の周辺装置などの従来のポイントオブセール端末600の関連する周辺装置を必要とすることなしに、ポイントオブセール端末600上において実行している従来の端末販売アプリケーションの機能をミラーリングしている。好ましくは、端末販売アプリケーション620は、複数のVTSA640を含み、これらのそれぞれは、セッションを実行させている。単一の端末販売アプリケーション620内においてすべての複数のVTSA640を実行することにより、端末販売アプリケーションの単一のインスタンスのみをそれぞれが実行する従来のポイントオブセール端末600などの多数の専用のハードウェア装置を購入しなくてもよいため、費用及び資金が大幅に節約されよう。
それぞれのVTSA640は、固有の識別子462を使用してそれぞれの仮想トランザクションと関連付けられたトランザクション状態情報642を生成及び維持することにより、仮想トランザクションを維持している。従来のポイントオブセール端末600と関連付けられた周辺装置のいずれもが必要とされないため、複数のVTSA640は、少ない費用で従来のポイントオブセール端末600をシミュレートする仮想環境において、リモートサーバー240などの汎用コンピュータ上において同時に実行することができる。図19に示されているように、VTSA−1 640、VTSA−2 640、VTSA−3 640などのVTSA640の複数のインスタンスを実行させているリモートサーバー240などの単一のコンピュータによって複数のポイントオブセール端末600を部分的に置換することができるため、仮想トランザクションを生成及び維持する方法に伴う柔軟性の向上に加えて、VTSA640を使用することにより、大幅な費用の節約を実現することができる。
例えば、ユーザー610が、携帯自己精算アプリケーション400において仮想ショッピングカート433を生成する、或いは、商品220を仮想ショッピングカート433に追加する際などのように、仮想トランザクションがなんらかの方法で生成又は変更されるたびに、POSメッセージ630が携帯自己精算アプリケーション400からセッションマネージャ650に送信される。セッションマネージャ650が受け取ったPOSメッセージ430は、次いで、関連する優先順位に従ってキュー内に配置される。通常、POSメッセージ430は、受け取られた順序によって優先順位づけされる。VTSA640のセッションが利用可能な状態又はオープン状態になるのに伴って、セッションマネージャ650は、オープンセッションにアクセスし、且つ、トランザクション状態情報642を特定のPOSメッセージ430と共にVTSA640のオープンセッションに読み込むことができる。トランザクション状態情報642及びPOSメッセージ630を受け取った際に、VTSA640は、POSメッセージ630の内容に対して働き掛け、且つ、その特定のPOSメッセージ430と関連するトランザクション状態情報642を更新する。例えば、追加の商品220がユーザー610の仮想ショッピングカート433に追加されたという情報を特定のPOSメッセージ430が含んでいる場合には、この新しい情報を反映するように、その特定のPOSメッセージ430と関連するトランザクション状態情報642が更新される。
POSメッセージ430がVTSA640のオープンセッションによって受け取られるたびに、POSメッセージ430と関連するトランザクション状態情報642が、トランザクション状態コンテナ660から取得され、且つ、VTSA640の同一のオープンセッションに対して送信される。トランザクション状態情報642は、仮想トランザクションの現在の状態を規定しており、且つ、仮想ショッピングカート433又は特定の仮想トランザクション内のすべての商品220のリスト、仮想ショッピングカート433又は特定の仮想トランザクション内のそれぞれの商品220の商品情報432、ユーザー610が購入を所望する仮想ショッピングカート433又は特定の仮想トランザクション内の特定の商品220の個数を示す数量情報、ユーザー識別情報、追加ユーザー情報、注文番号463、ユーザーが位置している特定の小売店舗を識別する情報を提供する店舗識別情報410、固有の携帯識別子(UMI)などの特定のユーザーを識別する固有の識別子462、仮想ショッピングカート433又は特定の仮想トランザクション内のすべての商品220の金額合計、仮想ショッピングカート433又は特定の仮想トランザクション内の商品220の税金情報、領収書、領収書識別子、及びVTSA640が仮想トランザクションを処理するために必要とする任意のその他の情報又はデータなどの情報を含む。
固有の識別子462と関連するトランザクション状態情報642は、その同一の固有の識別子462を有するPOSメッセージ430がユーザー610によって受け取られるか又はVTSA640を使用してセッションマネージャ650によってユーザー610に対して送信されるたびに、変化する。仮想トランザクションがVTSA640によって処理されたら、トランザクション状態情報642の任意の変化がトランザクション状態コンテナ660内においてVTSA640によって保存され、且つ、トランザクション状態情報642がVTSA640からエクスポートされる。次いで、別の仮想トランザクションの新しいトランザクション状態情報642がVTSA640にインポートされ、且つ、VTSA640により、オープンされる。受け取られたそれぞれのPOSメッセージ630を処理する際にトランザクション状態情報642を常にインポート及びエクスポートすることにより、端末販売アプリケーション620は、複数のVTSA640を使用して多数のユーザー610の仮想トランザクションを維持することができる。仮想トランザクションのすべてが任意の所与の時点においてアクティブである必要はないため、例えば、10個のVTSA640は、その独自の固有のトランザクション状態情報642をそれぞれが有する数百もの仮想トランザクションを管理及び処理することができる。
トランザクション状態情報642を常にオープン状態に維持する代わりに、POSメッセージ630が携帯装置200から受け取られるたびにトランザクション状態情報642をインポートし、変更し、且つ、次いで、エクスポートすることにより、VTSA640は、更に多くのユーザー610と、究極的には、更に多くの注文452と、をサーバー240がサポートできるようにしている。また、固有の識別子462を送受信することによってそれぞれのVTSA640ごとにトランザクション状態をインポート及びエクスポートすることができるこのプロセスは、仮想ショッピングカート内のすべての商品を再処理する中断/回復トランザクションとは対照的に、トランザクション転送としても知られる。トランザクション転送によれば、それぞれのVTSA640ごとのトランザクション状態のリアルタイムインポート及びエクスポートが可能である。
セッションマネージャ650がトランザクション転送を使用しない場合には、それぞれの携帯ユーザー610が、注文452が完了する時点まで、VTSA640の1つのインスタンスに対して静的に接続されることになるため、ユーザー610は、サーバー240上において実行しているVTSA640のセッションの数に制限されることになる。例えば、10個のセッションがリモートサーバー240上において実行している場合には、リモートサーバー240は、一度にわずかに10名の携帯ユーザー610の仮想トランザクションを処理することができるに過ぎなくなる。
トランザクション転送を使用することにより、セッションマネージャ650は、トランザクション状態情報642が特定の仮想トランザクションについて存在している場合に、トランザクション状態情報642をVTSA640のオープンセッションにインポートすることが可能であり、(別の商品220をユーザー610の仮想ショッピングカート433に追加するなどの)現在の要求をPOSメッセージ630内において処理することが可能であり、仮想トランザクション又は注文452を固有の識別子462と関連付けることによってトランザクション状態情報をストレージ装置又はドライブ130内に保存及びエクスポートすることが可能であり、且つ、次いで、VTSA640のそのセッションを次の携帯ユーザー610のために解放することができる。この結果、リモートサーバー240は、10個などのように、サーバー240上において実行しているVTSA640の限られた数のセッションのみを使用することにより、多くの仮想トランザクションを有する多くのユーザー610をサポートすることができる。別のユーザー610が買い物を終了する時点まで遮断されるのとは対照的に、応答時間が唯一の変量である。
特定のPOSメッセージ430と関連するトランザクション状態情報642を更新した際には、新しいPOSメッセージ630が、VTSA640によって生成され、且つ、セッションマネージャ430に送信される。トランザクション状態情報642に応じて、POSメッセージ630は、携帯装置200及び携帯セルフ精算アプリケーション400に対して、或いは、ポイントオブセール端末600に対して、返送される。例えば、ユーザー610が買い物を完了し、且つ、携帯装置200を介して支払を送信するように決定した場合には、或いは、ユーザーが依然として買い物を継続しており、且つ、商品を仮想ショッピングカート433に追加している場合には、POSメッセージ630は、携帯装置200に対して返送される。しかしながら、ユーザー610が買い物を完了しており、且つ、従来のレジ係又は自己精算ステーションを介して支払を送信するように決定した場合には、POSメッセージ630は、ポイントオブセール端末600にルーティングされ、その際に、ユーザー610は、固有の識別子462又は光学的機械可読表現460などの識別情報をポイントオブセール端末600に提供し、注文452の支払が処理される。
図21を参照すると、トランザクション状態情報642は、リモートサーバー240内において維持することが可能であり、別の小売店舗の別のリモートサーバー240に転送することが可能であり、ホームオフィスサーバー790に転送することが可能であり、或いは、エンタープライズサーバー800に転送することが可能であり、且つ、1つの企業に跨る複数の小売店舗における複数のリモートサーバーによるアクセスのために企業レベルにおいて維持することができる。一実施形態においては、POSメッセージ630は、携帯装置200上において実行している携帯自己精算アプリケーション400、ポイントオブセール端末600、インターネット上においてウェブサイトにアクセスしているユーザーなどの多数の供給源から、又はブラウザ上において実行しているウェブに基づいたアプリケーションから、企業レベルのエンタープライズサーバー800内において実行している端末販売アプリケーション620によって受信することができる。これにより、多数の供給源から到来する複数のPOSメッセージ630に基づいて、仮想トランザクションを維持及び変更することができる。この結果、特定の仮想トランザクションと関係する第1のPOSメッセージ630を携帯装置200上において実行している携帯自己精算アプリケーション400によって生成してもよく、且つ、同一のトランザクションと関係する第2のPOSメッセージ630をウェブサイトにアクセスしているユーザーによって生成してもよい。例えば、第1の商品220を携帯自己精算アプリケーション400を介して(特定の仮想トランザクションによって表されている)仮想ショッピングカート433に追加することが可能であり、且つ、第2の商品220をウェブサイトにアクセスしているユーザーを介して同一の仮想ショッピングカート433に追加することができる。
一実施形態においては、第1商品220及び第2商品220を有するギフトレジストリを表す仮想トランザクションが生成される。第1ユーザー610は、例えば、携帯自己精算アプリケーション400などの第1購入方法を使用し、第1商品220を購入してその支払を実行してもよく、第2ユーザー610は、例えば、ウェブサイトなどの第2購入方法を使用し、第2商品220を購入してその支払を実行することができる。購入方法は、携帯自己精算アプリケーション400、ポイントオブセール端末600、ウェブに基づいたアプリケーション、又はウェブサイトを介して送信される情報を含む。
一実施形態においては、第1ユーザー610は、例えば、携帯自己精算アプリケーション400などの第1購入方法を使用し、第1商品220の第1部分を購入してその支払を実行してもよく、第2ユーザー610は、第1購入方法を、又は、例えば、ウェブサイトなどの第2購入方法を使用し、第1商品の第2部分を購入してその支払を実行することができる。商品220の一部分とは、商品220の購入価格の一部分を意味している。例えば、第1商品220の購入価格が500ドルである場合には、第1ユーザー610は、500ドルの購入価格のうちの200ドルの部分の支払を実行してもよく、第2ユーザーは、購入価格の300ドルの部分の支払を実行し、これにより、トランザクションを完了させてもよい。
一実施形態においては、ユーザー610がポイントオブセール端末600を使用して注文452の支払を実行するように決定した場合には、POSメッセージ630は、端末販売アプリケーション620に対して送信され、これにより、注文452の仮想トランザクションを実施するというユーザーの所望を通知し、この場合に、注文452の情報は、リモートサーバー240内に存在しており、且つ、それぞれの注文452に固有の端末販売アプリケーション620により、光学的機械可読表現460が生成される。その後に、光学的機械可読表現460は、携帯装置200に対して送信され、且つ、ディスプレイ206上に表示される。
一実施形態においては、POSメッセージ630を受け取った際に、端末販売アプリケーション620は、それぞれのユーザー610によって実施されるそれぞれの仮想トランザクションごとに、VTSA(Virtual Terminal Sales Appliattion)640を生成する。それぞれのVTSA640は、自身のために生成されたその独自の固有の識別子462を有しており、それぞれのVTSA640及び関連付けられたそれぞれの固有の識別子462は、固有の注文452を表している。トランザクション状態情報642は、固有の識別子462を使用することにより、それぞれのVTSA640ごとに維持される。注文452の固有の識別子462を生成した際に、固有の識別子462は、光学的機械可読表現460の形態でアプリケーション400を介して携帯装置200に送信されると共に、ポイントオブセール端末600にも送信され、そこで、固有の識別子462は、固有の注文452と関連する注文452及びユーザー610を識別するために使用される。
また、自己精算ステーションは、レジ係のポイントオブセール端末に加えて、トランザクション転送を使用することにより、リモートサーバー240からの固有の識別子462を符号化している光学的機械可読表現460を使用してトランザクション状態をインポートする。スキャニング装置500によって携帯装置200からスキャンされた光学的機械可読表現460は、固有の識別子462を符号化しており、次いで、ポイントオブセール端末600は、この固有の識別子462を使用し、リモートサーバー249上に存在している関連する注文452を見出す。
図20を参照すると、POSメッセージ630は、ユーザー610からの入力の結果として生成され、且つ、端末販売アプリケーション620によって、且つ、具体的には、セッションマネージャ650によって、受け取られ、ブロック702において、仮想トランザクションを維持及び実施する方法700が開始される。方法700は、サーバー240上に存在している端末販売アプリケーション620によって実行される。ブロック702において方法700が開始された際に、方法700は、POSメッセージ630の受信を待つ。POSメッセージ630を受信すると、方法700は、ブロック704に進み、ここで、受け取ったPOSメッセージ630内においてユーザー610が参照している特定の仮想トランザクションについて、固有の識別子462又は固有の携帯識別子(UMI)が存在しているかどうかが判定される。固有の識別子462又は固有の携帯識別子(UMI)が存在していない場合には、ブロック706において、識別子が、セッションマネージャ650によって生成されるか、或いは、セッションマネージャ650によって携帯装置200から取得される。次いで、固有の識別子462又は固有の携帯識別子(UMI)は、仮想トランザクションと関連付けられ、且つ、方法700は、ブロック706からブロック704に戻る。固有の識別子462又は固有の携帯識別子(UMI)が必ず存在している場合には、方法700は、ブロック708に進み、ここで、VTSA(Virtulal Terminal Sales Application)640が使用できる状態にあるかどうかが判定される。一実施形態においては、複数のVTSA640が端末販売アプリケーション620内において動作しており、本明細書においては、これらの複数のVTSA640をTSAプール644と呼称する。この実施形態においては、ブロック708において、TSAプール644のVTSA640が利用可能であるかどうかが判定される。VTSA640が利用不能である場合には、方法700は、ブロック710に進み、且つ、待機する。
VTSA640が利用可能である場合には、方法700は、ブロック712に進み、受け取ったPOSメッセージ630と関係すると共に固有の識別子462又はUMIと関連する仮想トランザクションを実施するために、VTSA640を割り当てる。VTSA640が割り当てられた際に、VTSA640の新しいセッションがオープンされる。VTSA640を割り当てた際に、方法700は、ブロック714に進み、ここで、その仮想トランザクションについてトランザクション状態情報642が存在しているかどうかが判定される。仮想トランザクションについてトランザクション状態情報642が存在していない場合には、ブロック716において、トランザクション状態情報642が初期化及び生成され、次いで、方法700は、ブロック714に戻る。
仮想トランザクションについてトランザクション状態情報642が存在している場合には、方法700は、ブロック718に進み、ここで、トランザクション状態情報642が取得され、VTSA640に読み込まれる。トランザクション状態情報642が既に存在しており、且つ、トランザクションコンテナ660内に存在している場合には、ブロック718において、トランザクション状態情報642がトランザクションコンテナ660から取得され、且つ、VTSA640に読み込まれる。
VTSA640にトランザクション状態情報642を読み込んだ際に、方法700は、ブロック720に進み、ここで、POSメッセージ630内において受け取ったトランザクション項目が、VTSA640により、仮想トランザクションに対して追加されるか又は仮想トランザクション内において処理される。トランザクション項目とは、仮想トランザクションの任意の部分であり、且つ、商品220の仮想ショッピングカート433への追加又は仮想ショッピングカート433からの削除、仮想ショッピングカート433内における商品220の合計、仮想ショッピングカート433又は特定の仮想トランザクション内のすべての商品220の、いくつかの商品220の、1つの商品220の、又は1つの商品220の一部の支払、仮想ショッピングカート433又は特定の仮想トランザクション内の商品220の支払方法の通知、又は仮想トランザクションと関連する任意のその他の動作又は情報ビットなどのものを含む。
VTSA640を使用してトランザクション項目を処理又は追加した際に、方法700は、ブロック722に進み、ここで、トランザクション状態情報642がトランザクションコンテナ660内においてVTSA640によって保存される。トランザクションコンテナ660とは、トランザクション状態情報642を保存するためのストレージ装置内における場所を表している。トランザクション状態情報642を保存した際に、方法700は、ブロック724に進み、VTSA640を解放してTSAブール644に戻し、これにより、オープン状態のVTSA640のセッションをクローズし、VTSA640を、受け取ったPOSメッセージ630内の別の要求を処理するためにセッションマネージャ650が使用できる状態にする。次いで、方法700は、ブロック702に戻り、別のPOSメッセージ630の受信を待つ。
当業者は、システムの態様のハードウェア実装とソフトウェア実装の間にほとんど区別が残されていないところまで最新技術が進捗していることを理解するであろう。ハードウェア又はソフトウェアの使用は、一般的に、費用対効率のトレードオフを表す設計上の選択肢である(但し、常にではなく、特定の環境においては、ハードウェアとソフトウェアの間の選択肢は、重要なものとなりうる)。当業者は、本明細書に記述されているプロセス及び/又はシステム及び/又はその他の技術を実現することができる様々な手段(例えば、ハードウェア、ソフトウェア、及び/又はファームウェア)が存在しており、且つ、好適な手段は、プロセス及び/又はシステム及び/又はその他の技術が配備される環境に伴って変化することを理解するであろう。例えば、実装者は、速度及び正確性が最優先されると判定した場合には、主にハードウェア及び/又はファームウェア手段を選んでもよく、或いは、この代わりに、柔軟性が最優先される場合には、実装者は、主にソフトウェア実装を選んでもよく、或いは、その代わりに、実装者は、ハードウェア、ソフトウェア、及び/又はファームウェアのなんらかの組合せを選んでもよい。従って、本明細書に記述されているプロセス及び/又は装置及び/又はその他の技術を実現してもよいいくつかの可能な手段が存在しているが、利用される任意の手段は、その手段が配備される環境と実装者の特定の懸念事項(例えば、速度、柔軟性、又は予測可能性)に依存した選択肢であり、これらの環境及び懸念事項は、そのいずれもが変化することになるという点に鑑み、これらの手段は、そのいずれもが、その他のものよりも本質的に優れてはいない。当業者は、光学的実装の態様が、通常は、光学指向のハードウェア、ソフトウェア、及び/又はファームウェアを利用することになることを認識するであろう。
以上の詳細な説明は、ブロックダイアグラム、フローチャート、及び/又は実施例を使用し、装置及び/又はプロセスの様々な実施形態について記述している。これらのブロックダイアグラム、フローチャート、及び/又は実施例が1つ又は複数の機能及び/又は動作を含む範囲において、当業者は、これらのブロックダイアグラム、フローチャート、又は実施例におけるそれぞれの機能及び/又は動作を、様々なハードウェア、ソフトウェア、ファームウェア、又はこれらの実質的に任意の組合せにより、個別に且つ/又は集合的に、実装することができることを理解するであろう。一実施形態においては、本明細書に記述されている主題のいくつかの部分は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、又はその他の集積されたフォーマットによって実装してもよい。但し、当業者は、本明細書に開示されている実施形態のいくつかの態様は、全体的又は部分的に、集積回路において、1つ又は複数のコンピュータ上において実行する1つ又は複数のコンピュータプログラムとして(例えば、1つ又は複数のコンピュータシステム上において実行する1つ又は複数のプログラムとして)、1つ又は複数のプロセッサ上において実行する1つ又は複数のプログラムとして(例えば、1つ又は複数のマイクロプロセッサ上において実行する1つ又は複数のプログラムとして)、ファームウェアとして、或いは、これらの実質的に任意の組合せとして、同様に実装することが可能であり、且つ、ソフトウェア及び/又はファームウェア用の回路の設計及び/又はコードの作成は、本開示に鑑み、当業者には十分に可能であることを認識するであろう。更には、当業者は、本明細書に記述されている主題のメカニズムは、様々な形態においてプログラムプロダクトとして分散させることが可能であり、且つ、本明細書に記述されている主題の例示的な実施形態は、分散を実際に実行するために使用される信号担持媒体の特定のタイプとは無関係に、適用されることを理解するであろう。信号担持媒体の例は、限定はされないが、フロッピー(登録商標)ディスク、ハードディスクドライブ、及び磁気テープのような磁気媒体などのコンピュータ可読メモリ媒体、CD(Compact Disc)、DVD(Digital Video Disk)、及びBlue−ray Discのような光学媒体、ランダムアクセスメモリ(RAM)、フラッシュメモリ、及び読み出し専用メモリ(ROM)のようなコンピュータメモリ、並びに、光ファイバケーブル、導波路、有線通信リンク、及び無線通信リンクのようなデジタル及び/又はアナログ通信媒体などの送信タイプ媒体を含む。
本明細書に記述されている主題は、様々なその他のコンポーネントに収容されるか又は様々なその他のコンポーネントと接続される様々なコンポーネントを示している場合がある。このように示されているアーキテクチャは、例示を目的としたものに過ぎず、且つ、実際に、同一の機能を実現する多くのその他のアーキテクチャを実装することができることを理解されたい。概念的な意味において、同一の機能を実現するためのコンポーネントの任意の構成は、望ましい機能が実現されるように、事実上、「関連付け」られている。従って、特定の機能を実現するために本明細書において組み合わせられている任意の2つのコンポーネントは、アーキテクチャ又は中間コンポーネントとは無関係に、望ましい機能が実現されるように、相互に「関連付け」られていると見なすことができる。同様に、このように関連付けられている任意の2つのコンポーネントは、望ましい機能を実現するために、相互に「動作可能に接続」又は「動作可能に結合」されていると見なすことも可能であり、且つ、このように関連付けることができる任意の2つのコンポーネントは、望ましい機能を実現するために、互いに「動作可能に結合可能」であると見なすこともできる。動作可能に結合可能な具体的な例は、限定はされないが、物理的に結合可能な且つ/又は物理的に相互作用するコンポーネント、並びに/或いは、無線で相互作用可能な且つ/又は無線で相互作用するコンポーネント、並びに/或いは、論理的に相互作用する且つ/又は論理的に相互作用可能なコンポーネントを含む。
当業者は、本明細書に記述されている1つ又は複数の方式によって装置及び/又はプロセス及び/又はシステムを実装し、且つ、その後に、エンジニアリング及び/又はビジネス上の慣習を使用して、それらの実装された装置及び/又はプロセス及び/又はシステムを更に複雑な装置及び/又はプロセス及び/又はシステムに統合することが当技術分野において一般的であることを理解するであろう。即ち、本明細書に記述されている装置及び/又はプロセス及び/又はシステムの少なくとも一部は、合理的な量の実験によって更に広範な装置及び/又はプロセス及び/又はシステムに統合することができる。当業者は、このような広範な装置及び/又はプロセス及び/又はシステムの例が、環境及び用途に応じて、適宜、(a)空気輸送(例えば、航空機、ロケット、ホバークラフト、ヘリコプターなど)、(b)地上輸送(例えば、自動車、トラック、機関車、タンク、装甲要員搬送車など)、(c)建物(例えば、家屋、倉庫、事務所など)、(d)電化製品(例えば、冷蔵庫、洗濯機、乾燥機など)、(e)通信システム(例えば、ネットワーク接続されたシステム、電話システム、ボイスオーバーIPシステムなど)、(f)企業体(例えば、Comcast Cable、Quest、Southwestern BellなどのISP(Internet Service Provider))、又は(g)Sprint、Cingular、Nextelなどの有線/無線サービスエンティティ)の装置及び/又はプロセス及び/又はシステムのすべて又は一部を含んでもよいことを認識するであろう。
以上、本明細書に記述されている主題の特定の態様について図示及び記述したが、本明細書における教示内容に基づいて、本明細書に記述されている主題及びその広範な態様を逸脱することなしに、変更及び変形を実施してもよく、従って、添付の請求項は、本明細書に記述されている主題の真の精神及び範囲に含まれるそれら変更及び変形のすべてをその範囲に包含することが当業者には明らかであろう。更には、本発明は、添付の請求項によって規定されることを理解されたい。従って、本発明は、添付の請求項及びその均等物の観点においてのみ、限定される。