(57)【要約】本開示は、状況的電子商取引ショッピングカート調節を提供するための方法、システム、およびコンピュータプログラム製品を説明する。１つのコンピュータ実装方法は、パートナアプリケーションからカート調節要求を受信するステップを含む。チェックアウトのためにパートナアプリケーションを使用してユーザのカートに適用可能であるゼロまたはそれを上回る利用可能な調節がパートナアプリケーションに送信される。実行要求が、アクティブ化された調節を実行するようにパートナサービスサーバから受信され、ユーザのカートへのアクティブ化された調節とユーザのカートへのアクティブ化された調節に基づいて判定される支払調節とを識別するカート調節トークンが、パートナサービスサーバに送信される。アクティブ化された調節を最終決定するための最終決定要求がパートナサービスサーバから受信されユーザのカートへのアクティブ化された調節が最終決定される。
2017534125.tif 000002
【特許請求の範囲】
【請求項１】
パートナアプリケーションからカート調節要求を受信するステップと、
チェックアウトのためにパートナアプリケーションを使用して、ユーザのカートに適用可能であるゼロまたはそれを上回る利用可能な調節を前記パートナアプリケーションに送信するステップと、
パートナサービスサーバから、アクティブ化された調節を実行する実行要求を受信するステップと、
前記ユーザの前記カートへの前記アクティブ化された調節と、前記ユーザの前記カートへの前記アクティブ化された調節に基づいて判定される支払調節とを識別する、カート調節トークンを前記パートナサービスサーバに送信するステップと、
前記パートナサービスサーバから、前記アクティブ化された調節を最終決定するための最終決定要求を受信するステップと、
前記ユーザの前記カートへの前記アクティブ化された調節を最終決定するステップと
を含む、コンピュータ実装方法。
【請求項２】
１つまたはそれを上回るサービスが、前記ユーザの前記カートに適用可能であるかどうかを判定するステップと、
前記１つまたはそれを上回るサービスに基づいて、１つまたはそれを上回る調節が利用可能であるかどうかを判定するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記１つまたはそれを上回るサービスに基づいて、前記１つまたはそれを上回る利用可能な調節を判定するステップは、
前記ユーザが前記カートに適用可能なクレジットを有するかどうか、または
前記ユーザが前記カートによる影響を受けるものであるロイヤルティサービスに登録されるかどうか
を判定するステップを含む、請求項２に記載の方法。
【請求項４】
前記パートナアプリケーションから、前記アクティブ化された調節を受信するステップと、
前記アクティブ化された調節を適用した後に、カート状態を前記パートナアプリケーションに送信するステップと
をさらに含む、請求項１に記載の方法。
【請求項５】
パートナサービスサーバから、アクティブ化された調節を実行する実行要求を受信するステップに応答して、
前記ユーザの前記カートへの前記アクティブ化された調節に基づいて、前記支払調節を判定するステップと、
前記カートが前記ユーザの貯蔵価値に影響を及ぼすアクションをトリガするかどうかを判定するステップと
をさらに含む、請求項１に記載の方法。
【請求項６】
前記ユーザの前記カートへの前記アクティブ化された調節を最終決定するステップは、
前記ユーザの前記カートへの前記アクティブ化された調節の前記実行に基づいて、前記ユーザのアカウント情報を更新するステップと、
前記ユーザの前記カートへの前記アクティブ化された調節の前記実行の成功または失敗を示す確認を前記パートナサービスサーバに送信するステップと
を含む、請求項１に記載の方法。
【請求項７】
前記ユーザの前記カートへの前記アクティブ化された調節の前記実行に基づいて、前記ユーザのアカウント情報を更新するステップは、
前記カート調節トークンと関連付けられる移行を判定するステップと、
前記移行に基づいて、前記ユーザの貯蔵価値を更新するステップと
を含む、請求項６に記載の方法。
【請求項８】
状況的電子商取引ショッピングカート調節を提供するためのコンピュータ可読命令を記憶する非一過性のコンピュータ可読媒体であって、前記命令は、コンピュータによって実行可能であり、
パートナアプリケーションからカート調節要求を受信するステップと、
チェックアウトのためにパートナアプリケーションを使用して、ユーザのカートに適用可能であるゼロまたはそれを上回る利用可能な調節を前記パートナアプリケーションに送信するステップと、
パートナサービスサーバから、アクティブ化された調節を実行する実行要求を受信するステップと、
前記ユーザの前記カートへの前記アクティブ化された調節と、前記ユーザの前記カートへの前記アクティブ化された調節に基づいて判定される支払調節とを識別する、カート調節トークンを前記パートナサービスサーバに送信するステップと、
前記パートナサービスサーバから、前記アクティブ化された調節を最終決定するための最終決定要求を受信するステップと、
前記ユーザの前記カートへの前記アクティブ化された調節を最終決定するステップと
を含む、非一過性のコンピュータ可読媒体。
【請求項９】
前記命令はさらに、
１つまたはそれを上回るサービスが、前記ユーザの前記カートに適用可能であるかどうかを判定するステップと、
前記１つまたはそれを上回るサービスに基づいて、１つまたはそれを上回る調節が利用可能であるかどうかを判定するステップと
を含む、請求項８に記載の非一過性のコンピュータ可読媒体。
【請求項１０】
前記１つまたはそれを上回るサービスに基づいて、前記１つまたはそれを上回る利用可能な調節を判定するステップは、
前記ユーザが前記カートに適用可能なクレジットを有するかどうか、または
前記ユーザが前記カートによる影響を受けるものであるロイヤルティサービスに登録されるかどうか
を判定するステップを含む、請求項９に記載の非一過性のコンピュータ可読媒体。
【請求項１１】
前記命令はさらに、
前記パートナアプリケーションから、前記アクティブ化された調節を受信するステップと、
前記アクティブ化された調節を適用した後に、カート状態を前記パートナアプリケーションに送信するステップと
を含む、請求項８に記載の非一過性のコンピュータ可読媒体。
【請求項１２】
前記命令はさらに、
パートナサービスサーバから、アクティブ化された調節を実行する実行要求を受信するステップに応答して、
前記ユーザの前記カートへの前記アクティブ化された調節に基づいて、前記支払調節を判定するステップと、
前記カートが前記ユーザの貯蔵価値に影響を及ぼすアクションをトリガするかどうかを判定するステップと
を含む、請求項８に記載の非一過性のコンピュータ可読媒体。
【請求項１３】
前記ユーザの前記カートへの前記アクティブ化された調節を最終決定するステップは、
前記ユーザの前記カートへの前記アクティブ化された調節の前記実行に基づいて、前記ユーザのアカウント情報を更新するステップと、
前記ユーザの前記カートへの前記アクティブ化された調節の前記実行の成功または失敗を示す確認を前記パートナサービスサーバに送信するステップと
を含む、請求項８に記載の非一過性のコンピュータ可読媒体。
【請求項１４】
前記ユーザの前記カートへの前記アクティブ化された調節の前記実行に基づいて、前記ユーザのアカウント情報を更新するステップは、
前記カート調節トークンと関連付けられる移行を判定するステップと、
前記移行に基づいて、前記ユーザの貯蔵価値を更新するステップと
を含む、請求項１３に記載の非一過性のコンピュータ可読媒体。
【請求項１５】
メモリと、
前記メモリと相互運用可能に結合される、少なくとも１つのハードウェアプロセッサであって、
パートナアプリケーションからカート調節要求を受信することと、
チェックアウトのためにパートナアプリケーションを使用して、ユーザのカートに適用可能であるゼロまたはそれを上回る利用可能な調節を前記パートナアプリケーションに送信することと、
パートナサービスサーバから、アクティブ化された調節を実行する実行要求を受信することと、
前記ユーザの前記カートへの前記アクティブ化された調節と、前記ユーザの前記カートへの前記アクティブ化された調節に基づいて判定される支払調節とを識別する、カート調節トークンを前記パートナサービスサーバに送信することと、
前記パートナサービスサーバから、前記アクティブ化された調節を最終決定するための最終決定要求を受信することと、
前記ユーザの前記カートへの前記アクティブ化された調節を最終決定することと
を行うように構成される、プロセッサと
を備える、システム。
【請求項１６】
前記プロセッサはさらに、
１つまたはそれを上回るサービスが、前記ユーザの前記カートに適用可能であるかどうかを判定することと、
前記１つまたはそれを上回るサービスに基づいて、１つまたはそれを上回る調節が利用可能であるかどうかを判定することと
を行うように構成される、請求項１５に記載のシステム。
【請求項１７】
前記１つまたはそれを上回るサービスに基づいて、前記１つまたはそれを上回る利用可能な調節を判定するステップは、
前記ユーザが前記カートに適用可能なクレジットを有するかどうか、または
前記ユーザが前記カートによる影響を受けるものであるロイヤルティサービスに登録されるかどうか
を判定するステップを含む、請求項１６に記載のシステム。
【請求項１８】
前記プロセッサはさらに、
前記パートナアプリケーションから、前記アクティブ化された調節を受信することと、
前記アクティブ化された調節を適用した後に、カート状態を前記パートナアプリケーションに送信することと
を行うように構成される、請求項１５に記載のシステム。
【請求項１９】
前記プロセッサはさらに、
パートナサービスサーバから、アクティブ化された調節を実行する実行要求を受信するステップに応答して、
前記ユーザの前記カートへの前記アクティブ化された調節に基づいて、前記支払調節を判定することと、
前記カートが前記ユーザの貯蔵価値に影響を及ぼすアクションをトリガするかどうかを判定することと
を行うように構成される、請求項１５に記載のシステム。
【請求項２０】
前記ユーザの前記カートへの前記アクティブ化された調節を最終決定するステップは、
前記ユーザの前記カートへの前記アクティブ化された調節の前記実行に基づいて、前記ユーザのアカウント情報を更新するステップと、
前記ユーザの前記カートへの前記アクティブ化された調節の前記実行の成功または失敗を示す確認を前記パートナサービスサーバに送信するステップと
を含む、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権の主張）
本願は、２０１４年１１月１１日に出願された米国特許出願第１４／５３８，６６８号に対する優先権を主張するものであり、該仮特許出願の全体の内容は、参照により本明細書中に援用される。
【背景技術】
【０００２】
電子商取引ベンダは、インターネット等の通信ネットワークを使用して、製品またはサービスを購入および売買することを可能にする、プラットフォームを提供する。電子商取引ベンダの最近の動向は、スマートフォンならびにタブレット等のモバイルデバイスを使用して、顧客が製品を購入すること、および／またはサービスを予約することを可能にする、モバイル商取引を提供することである。典型的には、顧客／ユーザは、電子商取引ベンダのモバイルアプリケーションをダウンロードしてインストールし、モバイルアプリケーションを使用して、オンラインショッピングを行うことができる。例えば、顧客は、製品／サービス情報を精査する、製品／サービスを比較して選択する、選択されたアイテムをショッピングカート／ウィシュリストの中に入れる、チェックアウトして支払を行う、注文状況を追跡する、ユーザアカウントを管理する、または他のショッピング体験を楽しむために、モバイルアプリケーションを使用することができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は、電子商取引ショッピングカート調節を提供するためのコンピュータ実装方法、コンピュータ可読媒体、およびコンピュータシステムに関する。実装では、チェックアウトのためにパートナアプリケーションを使用して、ユーザのカートに適用可能であるゼロまたはそれを上回る利用可能な調節が、パートナアプリケーションに送信される。実行要求が、アクティブ化された調節を実行するように、パートナサービスサーバから受信され、ユーザのカートへのアクティブ化された調節と、ユーザのカートへのアクティブ化された調節に基づいて判定される支払調節とを識別する、カート調節トークンが、パートナサービスサーバに送信される。アクティブ化された調節を最終決定するための最終決定要求が、パートナサービスサーバから受信され、ユーザのカートへのアクティブ化された調節が、最終決定される。
【０００４】
１つのコンピュータ実装方法は、パートナアプリケーションからカート調節要求を受信するステップと、チェックアウトのためにパートナアプリケーションを使用して、ユーザのカートに適用可能であるゼロまたはそれを上回る利用可能な調節をパートナアプリケーションに送信するステップと、パートナサービスサーバから、アクティブ化された調節を実行する実行要求を受信するステップと、ユーザのカートへのアクティブ化された調節と、ユーザのカートへのアクティブ化された調節に基づいて判定される支払調節とを識別する、カート調節トークンをパートナサービスサーバに送信するステップと、パートナサービスサーバから、アクティブ化された調節を最終決定するための最終決定要求を受信するステップと、ユーザのカートへのアクティブ化された調節を最終決定するステップとを含む。
【０００５】
本側面の他の実装は、それぞれ、方法のアクションを行うように構成される、対応するコンピュータシステム、装置、および１つまたはそれを上回るコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。１つまたはそれを上回るコンピュータのシステムは、動作時にシステムにアクションを行わせる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはソフトウェア、ファームウェア、もしくはハードウェアの組み合わせを有することにより、特定の動作またはアクションを行うように構成されることができる。１つまたはそれを上回るコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを行わせる、命令を含むことにより、特定の動作またはアクションを行うように構成されることができる。
【０００６】
前述および他の実装はそれぞれ、随意に、単独もしくは組み合わせで、以下の特徴のうちの１つまたはそれを上回るものを含むことができる。
【０００７】
１つまたはそれを上回るサービスが、ユーザのカートに適用可能であるかどうかを判定するステップと、１つまたはそれを上回るサービスに基づいて、１つまたはそれを上回る調節が利用可能であるかどうかを判定するステップとを含む、一般実装と組み合わせ可能である、第１の側面。
【０００８】
１つまたはそれを上回るサービスに基づいて、１つまたはそれを上回る利用可能な調節を判定するステップは、ユーザがカートに適用可能なクレジットを有するかどうか、またはユーザがカートによる影響を受けるものであるロイヤルティサービスに登録されるかどうかを判定するステップを含む、前述の側面のうちのいずれかと組み合わせ可能である、第２の側面。
【０００９】
パートナアプリケーションから、アクティブ化された調節を受信するステップと、アクティブ化された調節を適用した後に、カート状態をパートナアプリケーションに送信するステップとをさらに含む、前述の側面のうちのいずれかと組み合わせ可能である、第３の側面。
【００１０】
パートナサービスサーバから、アクティブ化された調節を実行する実行要求を受信するステップに応答して、ユーザのカートへのアクティブ化された調節に基づいて、支払調節を判定するステップと、カートがユーザの貯蔵価値に影響を及ぼすアクションをトリガするかどうかを判定するステップとをさらに含む、前述の側面のうちのいずれかと組み合わせ可能である、第４の側面。
【００１１】
ユーザのカートへのアクティブ化された調節を最終決定するステップは、ユーザのカートへのアクティブ化された調節の実行に基づいて、ユーザのアカウント情報を更新するステップと、ユーザのカートへのアクティブ化された調節の実行の成功または失敗を示す確認をパートナサービスサーバに送信するステップとを含む、前述の側面のうちのいずれかと組み合わせ可能である、第５の側面。
【００１２】
ユーザのカートへのアクティブ化された調節の実行に基づいて、ユーザのアカウント情報を更新するステップは、カート調節トークンと関連付けられる移行を判定するステップと、移行に基づいて、ユーザの貯蔵価値を更新するステップとを含む、前述の側面のうちのいずれかと組み合わせ可能である、第６の側面。
【００１３】
本明細書に説明される主題は、以下の利点のうちの１つまたはそれを上回るものを実現するよう、特定の実装で実装されることができる。第１に、例示的カート調節技法は、カート調節システムと提携する電子商取引ベンダの消費者に、状況的販促取引をシームレスかつ安全に提供し、統合ユーザ体験要素を用いて、列挙された潜在的カート調節を提供し、どの調節がアプリケーション消費者のために最良であるかというオプションを消費者に提供することができる。第２に、例示的カート調節技法は、不正を含んだクーポンコード獲得キャンペーンの依存を低減させる、または除去することができる。第３に、例示的カート調節技法は、消費者のための貯蔵価値を生成することができる。貯蔵価値は、換金され、ショッピングカートの請求額に適用されることができる。例示的カート調節技法は、チェックアウトプロセス中にリアルタイムで調節をカートに提供し、消費者の選択されたカート調節に対応する貯蔵価値を保持することができる。他の利点も、当業者に明白となるであろう。
【００１４】
本明細書に説明される主題の１つまたはそれを上回る実装の詳細は、付随の図面および以下の説明に記載される。本主題の他の特徴、側面、および利点は、説明、図面、ならびに請求項から明白となるであろう。
【図面の簡単な説明】
【００１５】
【図１Ａ】図１Ａは、実装による、カート調節機能性を提供するための例示的分散コンピュータシステム（ＥＤＣＳ）を図示する、高レベルアーキテクチャブロック図である。
【図１Ｂ】図１Ｂは、実装による、図１ＡのＥＤＣＳで使用される例示的コンピュータの例示的ブロック図である。
【図２】図２は、実装による、カート調節システムフローを図示する、アーキテクチャのブロック図である。
【図３】図３は、実装による、パートナアプリケーションチェックアウト表示を図示する、方法のフローチャートである。
【図４】図４は、実装による、カート調節を識別するための方法のフローチャートである。
【図５】図５は、実装による、図４のカート調節を識別するための方法の具体的実施例のフローチャートである。
【図６】図６は、実装による、チェックアウトフローを図示する、方法のフローチャートである。
【図７】図７は、実装による、カート調節を実行することを図示する、方法のフローチャートである。
【図８】図８は、実装による、カート調節を最終決定する方法のフローチャートである。
【００１６】
種々の図面における類似参照番号および記号は、類似要素を示す。
【発明を実施するための形態】
【００１７】
以下の発明を実施するための形態は、任意の当業者が、開示される主題を作製、使用、および／または実践することを可能にするように提示され、１つまたはそれを上回る特定の実装との関連で提供される。開示される実装の種々の修正が、当業者に容易に明白となり、本明細書で定義される一般原理は、本開示の範囲から逸脱することなく、他の実装および用途に適用され得る。したがって、本開示は、説明および／または図示される実装に限定されることを意図しておらず、本明細書に開示される原理および特徴と一致する、最も広い範囲を与えられるものである。
【００１８】
本開示は、ユーザが電子商取引アプリケーションを使用してチェックアウトするときに、カート調節をユーザまたは消費者のショッピングカートに提供するための技法を説明する。例示的カート調節技法は、１つまたはそれを上回る電子商取引ベンダ（例えば、オンラインショッピング体験を顧客に提供する、小売業者、サービスプロバイダ、または市場オペレータ）と提携する、カート調節システムによって実装されることができる。電子商取引ベンダは、モバイルアプリケーション、ウェブアプリケーション、または携帯電話、タブレット、ラップトップ、デスクトップ、もしくは他のコンピュータデバイス上で実行可能な他のアプリケーション等のクライアントアプリケーションを顧客に提供することができる。
【００１９】
顧客がチェックアウトのために電子商取引ベンダのアプリケーション（パートナアプリケーションと称される）を使用するとき、カート調節システムは、個人化カート調節オプションの列挙を消費者に提供することができる。これらのカート調節は、例えば、ショッピングカートまたはトランザクションの総額に影響を及ぼし得る、換金可能貨幣価値（例えば、クレジット、販促、ロイヤルティポイント等）を含むことができる。換金可能貨幣価値は、例えば、消費者データ（例えば、人口統計データ、購入履歴等）、およびカート調節システムのデータ記憶装置（例えば、１つまたはそれを上回るデータベース）内で管理される貯蔵価値データに基づいて、判定されることができる。貯蔵価値アカウントが、カート調節サービスに登録する各ユーザのために作成されることができる。いくつかの実装では、貯蔵価値を作成することを含む、カート調節サービスへの登録は、パートナ電子商取引ベンダによって制御されることができる。例えば、パートナは、ユーザの全て、一部、または任意のサブセットのために、カート調節サービスをサポートすることを選定することができる。いくつかの実装では、カート調節システム自体または他のシステムが、カート調節サービスを登録し、電子商取引パートナの範囲外のユーザ（例えば、カート調節システム自体のユーザ）に提供することができる。貯蔵価値は、例えば、ロイヤルティポイント、クレジット、マイレージ、または他のタイプの価値を含むことができる。いくつかの実装では、ユーザは、複数の異なるサービスおよび／または異なる電子商取引ベンダのための複数の貯蔵価値を有することができる。複数の貯蔵価値は、同一または異なる通貨であり得る。カート調節システムは、例えば、トランザクションが行われている企業によって（例えば、ショッピングカートで）使用される通貨に貯蔵価値を換金することによって、換金可能貨幣価値を判定し、換金可能貨幣価値をショッピングカートに適用することができる。実施例として、換金可能貨幣価値は、ロイヤルティサービスに基づいて判定されるロイヤルティ引換（例えば、「５，０００ポイント使って、本購入の５ドル割引を入手してください」）、ディープリンク商取引サービスに基づいて判定されるアプリケーション間共通販促（例えば、ユーザがアプリケーション１からアプリケーション２にダイレクトされるとき、アプリケーション２のチェックアウト画面内で、「アプリケーション２でチェックアウトしていただきありがとうございます。アプリケーション１から当社をダウンロードして、本購入の５ドル割引を獲得してください」等のカート調節オプションが促され得る）、または他のタイプの貨幣価値を含むことができる。カート調節オプションは、例えば、ユーザインターフェース（ＵＩ）を使用して、パートナアプリケーション内で消費者に提示されることができる。
【００２０】
（例えば、ＵＩとの消費者の相互作用によって選定される）カート調節オプションの選択時に、カート調節システムは、カート調節オプションと関連付けられる金額の引換を自動化することができる。検証された確実な金額は、パートナアプリケーションにパスされることができ、アプリケーションの支払プロセッサ（例えば、クレジットカードプロセッサ）への請求額調節を示し、したがって、選択された引換カート調節を完了する。
【００２１】
いくつかの実装では、本明細書に説明されるカート調節技法は、パートナ電子商取引ベンダが、ユーザのチェックアウト時に、商取引アプリケーションのカートへのリアルタイムカート調節を提供して実行することを可能にすることができる。カート調節は、恣意的であり得、例えば、ユーザの人口統計情報、選好、挙動（例えば、ショッピング履歴）、またはカート調節システムによって収集される他の状況的情報に基づいて、カスタマイズされることができる。いくつかの実装では、（例えば、複数のパートナアプリケーションにおける）アプリケーション体験、販促状況、およびユーザ挙動の転送と関連付けられる全てのデータは、カート調節システムのデータベース内に記憶されることができ、したがって、パートナアプリケーションのユーザにサービス提供するためのより優れた知能を提供するために有用な徹底レポジトリを提供し、ひいては、消費者ベース内の使用の可能性を増加させる。いくつかの実装では、カート調節システムは、顧客を引き付けるようにアプリケーション間共通販促能力を提供することによって、複数の電子商取引パートナが最小ベンダ統合を用いて収益源を拡張することを促進することができる。いくつかの実装では、カート調節技法は、不正を含んだクーポンコード獲得キャンペーンの依存を低減させる、または除去することに役立ち得る。付加的または異なる利点が、達成されることができる。
【００２２】
図１Ａは、実装による、カート調節機能性を提供するための例示的分散コンピュータシステム（ＥＤＣＳ）１００を図示する、高レベルアーキテクチャブロック図である。高レベルで、図示されるＥＤＣＳ１００は、アプリケーションプログラミングインターフェース（ＡＰＩ）１２１を使用して通信する、１つまたはそれを上回る通信可能に結合されたコンピュータ（図１Ｂ参照）を含む、もしくはそれらで構成される。図１で明示的に図示されていないが、ＥＤＣＳ１００の構成要素は、１つまたはそれを上回るネットワークを横断して通信することができる（図１Ｂ参照）。いくつかの実装では、ＡＰＩ１２１もしくは構成要素の間の他の接続のうちの１つまたはそれを上回るものも、ネットワークの一部と見なされることができる。いくつかの実装では、ＥＤＣＳ１００またはＥＤＣＳ１００の複数部分は、クラウドコンピューティングベースの環境内で動作することができる。図示されるＥＤＣＳ１００は、カート調節システム（またはＣａｒｔＡｄｊｕｓｔシステム）１１０と、ＡＰＩ１２１と、ＳＤＫを伴う１つまたはそれを上回るパートナアプリケーション１１１と、パートナアプリケーション１１３と、パートナシステム１１５とを含む。説明される例証は、説明される主題の１つの可能な実装にすぎず、本開示を単一の説明される実装に限定することを意図していない。当業者は、説明される構成要素が、本開示に一致する代替的方法で接続され、組み合わせられ、使用されることができるという事実を理解するであろう。
【００２３】
カート調節システム１１０は、ショッピングカート調節機能性を提供するための任意のデバイスまたはプログラムである。例えば、カート調節システム１１０は、サーバまたはクライアントとして実装されることができ、任意の種類のコンピュータデバイスまたはシステムと常駐する、もしくは結合されることができる。いくつかの実装では、カート調節システム１１０は、第三者として、ＡＰＩ１２１を通して、ＳＤＫを伴う複数のパートナアプリケーション１１１、パートナアプリケーション１１３、およびパートナシステム１１５と通信可能に結合される。カート調節システム１１０は、ＳＤＫを伴う複数のパートナアプリケーション１１１、パートナシステム１１５、およびパートナアプリケーション１１３にわたって、カート調節機能性を統合、監視、ならびに管理することができる。ある場合には、カート調節システム１１０は、集中型様式において専用システムで実装される、またはネットワーク内の複数のサーバもしくはクライアントの間で分散されることができる。
【００２４】
カート調節システム１１０は、ショッピングカート調節と関連付けられる種々のソフトウェア電子商取引サービスを提供することができる。例えば、カート調節システム１１０は、ロイヤルティサービス１３１と、ディープリンク商取引サービス１３３と、販促サービス１３５ａ−ｃと、カート調節サービス１３７と、指紋サービス１３９とを含むことができる。カート調節システム１１０は、付加的または異なるサービスを提供することができる。いくつかの実装では、サービスは、カート調節システム１０２の１つまたはそれを上回るプロセッサもしくはサブシステムによって実行される、１つまたはそれを上回るモジュールもしくはアプリケーションとして実装されることができる。
【００２５】
ロイヤルティサービス１３１は、１つまたはそれを上回るパートナアプリケーション１１３内で行われる購入のためのポイント発生および引換を管理する、サービスを含むことができる。サービスは、（例えば、パートナアプリケーション１１３内のトランザクション詳細に基づく）ポイント収益と、カート調節技法に従ってチェックアウト時にカートを割引することができる、ポイント引換とを含む、消費者のポイント残高を管理する。
【００２６】
ディープリンク商取引サービス１３３は、１つのアプリケーションから別のアプリケーションへのユーザのフロー中にユーザコンテキストの持続を管理する、サービスを含むことができる。アプリケーションは、例えば、特定の必要性、所望、または特定の実装に従って、機能性もしくはサービスを提供する、モバイルアプリケーション、ウェブアプリケーション、Ｅメール、ウェブページ、または任意の他のソフトウェアモジュールもしくはエンジンを含むことができる。指紋サービス１３９を使用して、ディープリンク商取引サービス１３３は、アプリケーション内でユーザを識別することができる。次いで、サービスは、チェックアウト時に、カート調節を提供するために使用されることができる、ユーザ情報、状況的コンテンツ、および（ポイントを含む、任意の通貨での）状況的カートデビット／クレジットを提供する。例えば、ディープリンク商取引サービス１３３は、「Ｅメール・アプリ間」および「ウェブ・アプリ間」販促を含む、上記で説明されるアプリケーション間共通販促を提供することができる。実施例として、「当社のアプリをお使い頂きありがとうございます！サービスＣを用いた最初の購入での５ドルクレジットのために、こちらの他のサービスＣもチェックしてください」等の販促が、ウェブ、Ｅメール、または他の通信形式で提供され、ユーザをサービスＣにダイレクトすることができる。販促は、ユーザがサービスＣを用いてチェックアウトするときに、ユーザのためのカート調節として使用されることができる。
【００２７】
販促サービス１３５ａ−ｃは、アプリケーション内でユーザに提示されるキャンペーンおよび販促列挙を管理する、サービスを含むことができる。これは、パートナアプリケーションの製品カタログ内の具体的アイテムへのロイヤルティ販促、またはカート調節技法に従って実行されることができる、（例えば、提供される入力に基づく）チェックアウト時のリアルタイムカート割引であり得る。
【００２８】
ＣａｒｔＡｄｊｕｓｔサービス１３７は、１つまたはそれを上回るパートナアプリケーションの消費者のショッピングカートを管理する、サービスを含むことができる。ＣａｒｔＡｄｊｕｓｔサービス１３７は、例えば、カート調節オプションのリストを生成して列挙するステップと、選択されたカート調節オプションを実行するステップと、カート調節オプションを最終決定するステップ（例えば、カート調節の実行を確認または報告し、データベース内のユーザ情報を更新するステップ）とを含む、本開示に説明される例示的カート調節技法を具現化することができる。ＣａｒｔＡｄｊｕｓｔサービス１３７はまた、例えば、どのようなカート調節が利用可能であり、どれだけの貨幣価値割引がカート調節のそれぞれのためにあるかを判定する際に、カート調節システム１１０によって提供される他のサービスと相互作用することもできる。
【００２９】
指紋サービス１３９は、収集されてそれにパスされる種々のメタデータ（例えば、デバイス識別子、ユーザアカウント情報、ＩＰアドレス等）を使用して、パートナアプリケーション内でユーザを識別する、サービスを含むことができる。ある場合には、いったんユーザが識別されると、本システムは、適切なユーザコンテキストを任意の消費サービスまたはシステムに提供するように、例えば、ユーザアカウントシステムからユーザ情報を引き出すことができる。
【００３０】
カート調節システム１１０は、カート調節機能性を提供するための種々のサービスと関連付けられるデータを生成、記憶、更新、もしくは別様に管理するために、メモリ、データベース、および／またはデータ管理システムを含むことができる。データは、例えば、ユーザアカウント情報（例えば、Ｅメール、電話番号、支払情報（例えば、クレジットカード情報）、および（例えば、ポイントならびに米ドルのような通貨の両方での）アカウント残高）を含み得る、アカウントデータ１４２と、パートナデータ１４４（例えば、名称、サイズ、商取引／消費サービスタイプ、パートナアプリケーションデータ等）、一般ユーザデータ（例えば、氏名、住所、年齢、性別、または他のユーザ情報）およびパートナ特有のユーザデータ（例えば、パートナアプリケーション内で使用される識別子）を含み得る、ユーザデータ１４６と、指紋データ１４８（例えば、デバイス識別子、ユーザ識別子、ユーザ証明書、暗号化されたデータ等）と、販促データ１５０（例えば、パートナ特有の販促、ユーザ特有の販促、ロイヤルティアカウント情報、店のクレジット情報、クーポン情報等）と、キャンペーンデータ１５２と、移行データ１５４（例えば、支払情報、クレジット／デビット情報等）と、他のデータとを含むことができる。いくつかの実装では、これらのタイプの情報は、図１Ａに示されるものと異なる様式で分類および管理されることができる。
【００３１】
いくつかの実装では、カート調節システム１１０は、カート調節システム１１０が負う全ての金融責任を管理する、バンクシステム（図示せず）を含むことができる。これは、ポイントを含む任意の通貨でユーザアカウントに発行される、任意のクレジットおよび／またはデビットを含むことができる。例えば、ユーザが購入から５００ポイントを獲得するとき、獲得されたポイントは、金融元帳として、バンクシステムによって生成および管理される。同様に、ユーザが、パートナアプリケーションにおけるチェックアウト時に、カート調節技法に従って５ドルクレジットを実行するとき、その負債価値は、カート調節システム１１０のバンクシステム内で記憶および管理される。
【００３２】
ＡＰＩ１２１は、カート調節システム１１０にアクセスし、それと通信および相互作用するためのインターフェースを定義する、ルーチン、データ構造、オブジェクトクラス、ならびに変数の仕様を含むことができる。ＡＰＩ１２１は、カート調節システム１１０によって提供されるサービス（例えば、ロイヤルティサービス１３１、ディープリンク商取引サービス１３３、販促サービス１３５ａ−ｃ、カート調節サービス１３７、指紋サービス１３９等）の発見および実行をサポートすることができる。いくつかの実装では、ＡＰＩ１２１は、（例えば、異なるサービスまたは異なるパートナ専用の）複数のＡＰＩ、ＡＰＩの消費者（例えば、ＳＤＫを伴うパートナアプリケーション１１１、パートナアプリケーション１１３、およびパートナシステム１１５）が接続するＡＰＩエンドポイント、および／または他のＡＰＩ管理構成要素を含む、ＡＰＩ管理システムであり得る。図１ではＥＤＣＳ１００の分離された構成要素として図示されるが、ＡＰＩ１２１は、カート調節システム１００、ＳＤＫを伴うパートナアプリケーション１１１、パートナアプリケーション１１３、またはパートナシステム１１５の一体構成要素として（例えば、プラグインまたはローカルで定義されたインターフェースとして）実装されることができる。
【００３３】
ＳＤＫを伴うパートナアプリケーション１１１は、ＡＰＩ１２１にインターフェース接続し、パートナアプリケーションのためのカート調節機能性を提供するためにカート調節システム１１０と相互作用し得る、パートナアプリケーションの作成を可能にする、ソフトウェア開発ツールまたはプラットフォームのセットを含むことができる。
【００３４】
パートナアプリケーション１１３は、カート調節システム１１０と提携する電子商取引ベンダの顧客にオンラインショッピング体験を提供するための１つまたはそれを上回るモバイルアプリケーション、ウェブアプリケーション、もしくは他のアルゴリズムソフトウェアエンジンを含むことができる。パートナアプリケーション１１３は、発注する、予約を入れる、ユーザアカウントを管理する、支払情報を更新する、または電子商取引ベンダによって提供される製品もしくはサービスに関係付けられる任意の他の動作を行うように、例えば、モバイルデバイスを使用して、ユーザによってアクセスおよび操作されることができる。
【００３５】
パートナシステム１１５は、電子商取引サービス（パートナサービスとも称される）を顧客に提供するための電子商取引ベンダのコンピュータシステムを含むことができる。いくつかの実装では、パートナシステム１１５は、その顧客の使用のために分散される、いくつかのアプリケーションを監視および管理する、電子商取引ベンダのサーバ側を表すことができる。いくつかの実装では、パートナシステム１１５は、トランザクションの支払を実行するために、１つまたはそれを上回る支払ベンダ（例えば、クレジットカード会社、銀行、支払サービス、または他の金融機関）に（例えば、直接接続または通信ネットワークを通して）通信可能にリンクされる。
【００３６】
図１Ｂは、実装による、ＥＤＣＳ１００で使用される例示的コンピュータ１０２のブロック図１００ｂである。図示されるコンピュータ１０２は、コンピュータデバイスの物理および／または仮想インスタンスの両方を含む、サーバ、デスクトップコンピュータ、ラップトップ／ノートブックコンピュータ、無線データポート、スマートフォン、携帯情報端末（ＰＤＡ）、タブレットコンピュータデバイス、これらのデバイス内の１つまたはそれを上回るプロセッサ、もしくは任意の他の好適な処理デバイス等の任意のコンピュータデバイスを包含することを意図している。加えて、コンピュータ１０２は、ユーザ情報を受け取ることができる、キーパッド、キーボード、タッチスクリーン、または他のデバイス等の入力デバイスと、デジタルデータ、視覚および／またはオーディオ情報、もしくはＧＵＩを含む、コンピュータ１０２の動作と関連付けられる情報を伝える、出力デバイスとを含む、コンピュータを備えてもよい。
【００３７】
一般に、コンピュータ１０２は、サーバ、クライアント、ネットワーク構成要素、データベース、またはコンピュータシステムの他の持続性としての機能を果たすことができる。いくつかの実装では、コンピュータ１０２は、カート調節システム１１０、パートナシステム１１５、ＡＰＩ１２１、ＳＤＫを伴うパートナアプリケーション１１１、パートナアプリケーション１１３、および／またはＥＤＣＳ１００の任意の他の構成要素としての機能を果たすことができる。図示されるコンピュータ１０２は、ネットワーク１３０と通信可能に結合される。いくつかの実装では、コンピュータ１０２の１つまたはそれを上回る構成要素は、クラウドコンピューティングベースの環境内で動作するように構成されてもよい。
【００３８】
高レベルで、コンピュータ１０２は、ＥＤＣＳ１００と関連付けられるデータおよび情報を受信、伝送、処理、記憶、または管理するように動作可能な電子コンピュータデバイスである。いくつかの実装によると、コンピュータ１０２はまた、アプリケーションサーバ、Ｅメールサーバ、ウェブサーバ、キャッシングサーバ、ストリーミングデータサーバ、ビジネスインテリジェンス（ＢＩ）サーバ、および／または他のサーバを含んでもよい、もしくはそれと通信可能に結合されてもよい。
【００３９】
コンピュータ１０２は、（例えば、別のコンピュータ１０２上で実行される）クライアントアプリケーションから、ネットワーク１３０を経由して要求を受信し、適切なソフトウェアアプリケーションにおいて該要求を処理することによって、受信された要求に応答することができる。加えて、要求はまた、（例えば、コマンドコンソールから、または他の適切なアクセス方法によって）内部ユーザ、外部関係者または第三者、他の自動アプリケーション、ならびに任意の他の適切なエンティティ、個人、システム、もしくはコンピュータから、コンピュータ１０２に送信されてもよい。
【００４０】
コンピュータ１０２の構成要素のそれぞれは、システムバス１０３を使用して通信することができる。いくつかの実装では、ハードウェアおよび／またはソフトウェアの両方である、コンピュータ１０２の任意ならびに／もしくは全ての構成要素は、アプリケーションプログラミングインターフェース（ＡＰＩ）１１２および／またはサービス層１１３を使用して、システムバス１０３を経由して相互ならびに／もしくはインターフェース１０４とインターフェースをとってもよい。いくつかの実装では、ＡＰＩ１１２は、図１Ａでは、ＡＰＩ１２１であり得る。サービス層１１３は、図１Ａでは、１つまたはそれを上回るサービス（例えば、ロイヤルティサービス１３１、ディープリンク商取引サービス１３３、販促サービス１３５ａ−ｃ、カート調節サービス１３７、および指紋サービス１３９）の機能性を提供することができる。ＡＰＩ１１２は、ルーチン、データ構造、およびオブジェクトクラスの仕様を含んでもよい。ＡＰＩ１１２は、コンピュータ言語非依存または依存のいずれかであり、完全インターフェース、単一の機能、またはＡＰＩのセットさえも指し得る。サービス層１１３は、ソフトウェアサービスをコンピュータ１０２および／またはＥＤＣＳ１００に提供する。コンピュータ１０２の機能性は、本サービス層を使用して、全てのサービス消費者のためにアクセス可能であり得る。サービス層１１３によって提供されるもの等のソフトウェアサービスは、定義されたインターフェースを通して、再利用可能な定義されたビジネス機能性を提供する。例えば、インターフェースは、ＪＡＶＡ（登録商標）、Ｃ＋＋、または拡張マークアップ言語（ＸＭＬ）形式もしくは他の好適な形式でデータを提供する他の好適な言語で書かれたソフトウェアであってもよい。コンピュータ１０２の統合構成要素として図示されるが、代替的実装は、コンピュータ１０２および／またはＥＤＣＳ１００の他の構成要素に関連して、独立型構成要素としてＡＰＩ１１２ならびに／もしくはサービス層１１３を図示してもよい。また、ＡＰＩ１１２および／またはサービス層１１３の任意もしくは全ての部分は、本開示の範囲から逸脱することなく、別のソフトウェアモジュール、企業アプリケーション、またはハードウェアモジュールの子もしくはサブモジュールとして実装されてもよい。
【００４１】
コンピュータ１０２は、インターフェース１０４を含む。図１Ｂでは単一のインターフェース１０４として図示されるが、２つまたはそれを上回るインターフェース１０４が、特定の必要性、所望、もしくはコンピュータ１０２および／またはＥＤＣＳ１００の特定の実装に従って使用されてもよい。インターフェース１０４は、（図示されているかどうかにかかわらず）ネットワーク１３０に接続される、ＥＤＣＳ１００内を含む、分散環境内の他のシステムと通信するために、コンピュータ１０２によって使用される。概して、インターフェース１０４は、好適な組み合わせでソフトウェアおよび／またはハードウェアにおいて符号化され、ネットワーク１３０と通信するように動作可能である、論理を備える。より具体的には、インターフェース１０４は、ネットワーク１３０もしくはインターフェースのハードウェアが、図示されるＥＤＣＳ１００内および外で物理的信号を伝達するよう動作可能であるように、通信と関連付けられる１つまたはそれを上回る通信プロトコルをサポートする、ソフトウェアを備えてもよい。
【００４２】
コンピュータ１０２は、プロセッサ１０５を含む。図１Ｂでは単一のプロセッサ１０５として図示されるが、２つまたはそれを上回るプロセッサが、特定の必要性、所望、もしくはコンピュータ１０２および／またはＥＤＣＳ１００の特定の実装に従って使用されてもよい。概して、プロセッサ１０５は、命令を実行し、コンピュータ１０２の動作を行うようにデータを操作する。具体的には、プロセッサ１０５は、カート調節を提供するために必要とされる機能性を実行する。
【００４３】
コンピュータ１０２はまた、コンピュータ１０２および／またはＥＤＣＳ１００の他の構成要素のためのデータを保持する、メモリ１０６も含む。図１Ｂでは単一のメモリ１０６として図示されるが、２つまたはそれを上回るメモリが、特定の必要性、所望、もしくはコンピュータ１０２および／またはＥＤＣＳ１００の特定の実装に従って使用されてもよい。メモリ１０６は、コンピュータ１０２の一体構成要素として図示されるが、代替的実装では、メモリ１０６は、コンピュータ１０２および／またはＥＤＣＳ１００の外部にあり得る。
【００４４】
アプリケーション１０７は、具体的には、ショッピングカート調節を提供するために必要とされる機能性に関して、特定の必要性、所望、もしくはコンピュータ１０２および／またはＥＤＣＳ１００の特定の実装に従って機能性を提供する、アルゴリズムソフトウェアエンジンである。例えば、アプリケーション１０７は、図１Ａに説明される１つまたはそれを上回る構成要素／アプリケーション（例えば、ＳＤＫを伴うパートナアプリケーション１１１、パートナアプリケーション１１３、カート調節システム１１０、およびパートナシステム１１５）としての機能を果たすことができる。さらに、単一のアプリケーション１０７として図示されるが、アプリケーション１０７は、コンピュータ１０２上の複数のアプリケーション１０７として実装されてもよい。加えて、コンピュータ１０２と一体として図示されるが、代替的実装では、アプリケーション１０７は、コンピュータ１０２および／またはＥＤＣＳ１００の外部にあり得る。
【００４５】
ＥＤＣＳ１００と関連付けられ、またはその外部にあり、ネットワーク１３０を経由して通信する、任意の数のコンピュータ１０２があってもよい。さらに、用語「クライアント」、「ユーザ」、および他の適切な用語が、本開示の範囲から逸脱することなく、適宜、同義的に使用されてもよい。また、本開示は、ユーザが１つのコンピュータ１０２を使用し得ること、またはユーザが複数のコンピュータ１０２を使用し得ることを考慮する。
【００４６】
図２は、実装による、カート調節を提供するための例示的システム２０２のフロー（方法２００）を図示する、アーキテクチャのブロック図である。提示を明確にするために、以下に続く説明は、概して、図１Ａ−１Ｂおよび３−８との関連で方法２００を説明する。しかしながら、方法２００は、例えば、適宜、任意の他の好適なシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって行われ得ることが理解されるであろう。いくつかの実装では、方法２００の種々のステップは、並行して、組み合わせで、ループで、および／または任意の順序で実行されることができる。
【００４７】
例示的システム２０２は、図示されるＥＤＣＳ１００または別のコンピュータシステムによって実装されることができる。高レベルで、例示的システム２０２は、ＣａｒｔＡｄｊｕｓｔサービス２１０と、パートナアプリケーション（チェックアウト表示）２２０と、パートナサービス２３０と、パートナ支払ゲートウェイ２４０とを含む。例示的システム２０２は、付加的もしくは異なるサービス、モジュール、および／またはプラットフォームを含むことができる。
【００４８】
ＣａｒｔＡｄｊｕｓｔサービス２１０は、ユーザがパートナアプリケーションを使用してチェックアウトするとき、カート調節サービスを提供することができる。いくつかの実装では、ＣａｒｔＡｄｊｕｓｔサービス２１０は、図１Ａの例示的ＣａｒｔＡｄｊｕｓｔサービス１３７または別のタイプのカート調節サービスを含むことができる。ＣａｒｔＡｄｊｕｓｔサービス２１０は、図１のＣａｒｔＡｄｊｕｓｔシステム１１０または別のカート調節システムによって実装されることができる。
【００４９】
パートナアプリケーション（チェックアウト表示）２２０は、パートナのクライアントアプリケーション（例えば、図１Ａのパートナアプリケーション１１３）の例示的表現である。図示されるように、パートナアプリケーション（チェックアウト表示）２２０は、パートナアプリケーションの例示的カートチェックアウト表示（例えば、商取引フローにおける最終段階）を示す。チェックアウト表示２２０は、例えば、ユーザのモバイルデバイスの画面（例えば、タッチスクリーン）上のグラフィックユーザインターフェース（ＧＵＩ）を使用して、表示されることができる。チェックアウト表示２２０は、概して、（完了したチェックアウトを仮定して）ユーザが期待するはずである全請求額を提示することができる。いくつかの実装では、チェックアウト表示２２０は、利用可能なカート調節オプション２２２、２２４、および２２６を表す、１つまたはそれを上回るユーザインターフェース（ＵＩ）構成要素を含むことができる。ユーザは、１つまたはそれを上回る利用可能なカート調節オプションを選択し、例えば、チェックアウトボタン２２８をアクティブ化することによって、チェックアウトを続けることができる。
【００５０】
パートナ支払ゲートウェイ２４０は、消費者の支払を実行するために関連パートナが使用している、１つまたはそれを上回る支払ベンダを含むことができる。いくつかの実装では、パートナ支払ゲートウェイ２４０は、ＢＲＡＩＮＴＲＥＥ、ＳＴＲＩＰＥ、および／または他の支払ベンダによるもの等のエクスポーズされた支払ベンダＡＰＩを使用して、統合されることができる。
【００５１】
パートナサービス２３０は、クライアント側アプリケーション（例えば、図１Ａのパートナアプリケーション１１３）が通信する、パートナのサーバ側システム（例えば、図１Ａのパートナシステム１１５）を表すことができる。パートナサービス２３０は、クライアントアプリケーションのためのユーザ管理、支払ゲートウェイベンダとの支払統合、およびクライアントアプリケーションの機能性のために必要とされる任意のデータ管理（データベース）を可能にすることができる。
【００５２】
（１）では、カート調節要求が、パートナアプリケーション２２０からＣａｒｔＡｄｊｕｓｔサービス２１０によって受信される。カート調節要求は、自動的に（例えば、ユーザがチェックアウト表示に入るときに）、またはユーザの要求に基づいて、トリガされることができる。例えば、パートナアプリケーション２２０は、利用可能なカート調節オプションをユーザに通知する、（例えば、ポップアップウィンドウの形態の）グラフィック、状況的、または別のタイプのプロンプトを含んでもよい。カート調節要求は、ユーザがプロンプトをクリック、選択、または別様にアクティブ化するときに、トリガされることができる。（１）から、方法２００は、（２）に進む。
【００５３】
（２）では、ＣａｒｔＡｄｊｕｓｔサービス２１０が、特定のユーザのカートに利用可能なカート調節オプションを識別することができる。利用可能なカート調節オプションを生成および識別するための例示的技法は、図４に関して以下でさらに詳細に説明される。利用可能なカート調節がない場合、ＣａｒｔＡｄｊｕｓｔサービス２１０は、そのようなインジケーションをパートナアプリケーション２２０に送信することができる。パートナアプリケーションは、カート調節ＵＩ要素が示されていない状態で、ユーザがチェックアウトを続けることができるように、そのようなインジケーションをユーザに伝えることができる。ユーザのカートに適用可能である、１つまたはそれを上回る利用可能な調節がある場合、ＣａｒｔＡｄｊｕｓｔサービス２１０は、１つまたはそれを上回るカート調節をパートナアプリケーション２２０に送信することができる。いくつかの実装では、利用可能な調節の受信時に、パートナアプリケーション２２０は、例えば、図２に示される例示的カート調節表現２２２、２２４、および２２６として、カート調節をユーザに提示することができる。（２）から、方法２００は、（３）に進む。
【００５４】
（３）では、パートナアプリケーション２２０が、アクティブ化されたカート調節をＣａｒｔＡｄｊｕｓｔサービス２１０に送信することができる。アクティブ化されたカート調節は、例えば、パートナアプリケーション２２０のＵＩ要素とのユーザのアクティブな相互作用時に、ユーザの選択に基づき得る。いくつかの実装では、アクティブ化されたカート調節は、例えば、具体的製品／サービスがカートに含まれるときに、自動的に選択または判定されることができる。（３）から、方法２００は、（４）に進む。
【００５５】
（４）では、アクティブ化されたカート調節の受信時に、ＣａｒｔＡｄｊｕｓｔサービス２１０が、アクティブ化されたカート調節を評価してカートに適用し、更新されたカート状態（例えば、アクティブ化されたカート調節が適用される場合、期待される全請求額）を取得することができる。パートナアプリケーション２２０は、アクティブ化されたカート調節が適用される場合に、カートの全請求額のプレビューをユーザに提供するように、更新された全請求額を示すためにチェックアウト表示をリフレッシュすることができる。ユーザがアクティブ化されたカート調節を用いてチェックアウトを続けることを選定する場合、方法２００は、（４）から（５）に進む。ユーザがアクティブ化されたカート調節を用いてチェックアウトを続けないことを選定する場合、パートナアプリケーション２２０は、前のチェックアウト表示に戻る機能性を提供することができる。いくつかの実装では、利用可能な付加的カート調節がある場合、ユーザは、別のカート調節をアクティブ化することができ、それ以上のカート調節が利用可能ではなくなるまで、またはユーザが現在適用されているカート調節を用いてチェックアウトすることを決定するまで、（３）および（４）は、繰り返されることができる。
【００５６】
（５）では、パートナアプリケーション２２０が、チェックアウト要求をパートナサービス２３０に送信することによって、アクティブ化されたカート調節を用いてチェックアウトを実行することができる。いくつかの実装では、チェックアウト要求は、ユーザがカートに適用するように選択した、アクティブ化されたカート調節のインジケーションを含むことができる。（５）から、方法２００は、（６）に進む。
【００５７】
（６）では、パートナサービス２３０が、選択されているアクティブ化されたカート調節を実行するように、ＣａｒｔＡｄｊｕｓｔサービス２１０と相互作用することができる。実行プロセス中に、ＣａｒｔＡｄｊｕｓｔサービス２１０は、例えば、支払を差し引くように、ユーザのクレジットもしくは他の利用可能な貯蔵価値を適用すること、支払調節および／または更新されたカート請求額を判定すること、適用されているカート調節を考慮して、ユーザの貯蔵価値を判定すること等によって、アクティブ化されたカート調節を適用することができる。カート調節を実行するための例示的技法は、図７に関して以下でさらに詳細に説明される。（６）から、方法２００は、（７）に進む。
【００５８】
（７）では、ＣａｒｔＡｄｊｕｓｔサービス２１０が、カート調節トークンをパートナサービス２３０に返すことができる。いくつかの実装では、カート調節トークンは、チェックアウト目的で選択および実行されているアクティブ化されたカート調節を識別するように、領収証としての機能を果たすことができる。いくつかの実装では、（６）でＣａｒｔＡｄｊｕｓｔサービス２１０によって判定される支払調節は、カート調節トークンとともに、またはその一部として、パートナサービス２３０に送信されることができる。（７）から、方法２００は、（８）に進む。
【００５９】
（８）では、パートナサービス２３０が、例えば、アクティブ化されたカート調節を適用した後に、更新された全請求額に基づいてユーザに請求するように、パートナ支払ゲートウェイ２４０にコンタクトすることができる。（８）から、方法２００は、（９）に進む。
【００６０】
（９）では、パートナ支払ゲートウェイ２４０が、支払結果をパートナサービス２３０に返す。支払が成功していない場合、パートナサービス２３０は、エラーメッセージをパートナアプリケーション２２０に返すことができ、後者は、エラーおよび／またはエラーの原因をユーザに提示することができ、ならびに／もしくはカート調節アクションは、キャンセルされる、もしくは取り消されることができる。この場合、方法２００が停止する。支払が成功した場合、方法２００は、（９）から（１０）に進む。
【００６１】
（１０）では、パートナサービス２３０が、例えば、カート調節を最終決定するために、最終決定要求をＣａｒｔＡｄｊｕｓｔサービス２１０に送信することができる。いくつかの実装では、最終決定要求は、支払が失敗なく行われたことを示す、支払確認を含むことができる。したがって、パートナは、アクティブ化されたカート調節の実行に従って、ユーザの貯蔵価値を最終決定するようにＣａｒｔＡｄｊｕｓｔサービス２１０に権限を与える。いくつかの実装では、最終決定要求は、最終決定されるために要求されるカート調節を識別する、カート調節トークンを含むことができる。ＣａｒｔＡｄｊｕｓｔサービス２１０は、例えば、ユーザのカートへのアクティブ化された調節の実行に基づいて、アカウント情報、貯蔵価値情報、またはユーザの他の情報を更新することによって、カート調節を最終決定することができる。実施例として、ＣａｒｔＡｄｊｕｓｔサービス２１０は、ユーザアカウントからユーザの使用可能なクレジットまたはクーポンを差し引くこと、本トランザクション中に支払われる金額に基づいてユーザのロイヤルティポイントを増加させること等ができる。最終決定後、ユーザの貯蔵ユーザ価値は、もはや保留中と見なされなくなるが、最終決定される。次いで、ＣａｒｔＡｄｊｕｓｔサービス２１０は、ユーザのカートへのアクティブ化された調節の実行の成功または失敗を示す、最終決定応答をパートナサービスサーバ２３０に送信することができる。いくつかの実装では、ＣａｒｔＡｄｊｕｓｔサービス２１０およびパートナサービス２３０は、安全な、または信頼されるチャネルを通して通信することができ、支払調節もしくは他の情報は、経時的に預託されることができる。したがって、いくつかの実装では、トークンは、ＣａｒｔＡｄｊｕｓｔサーバ２１０とパートナサービス２３０との間の通信のために必要とされない。カート調節を最終決定するための例示的技法は、図８に関して以下でさらに詳細に説明される。（１０）から、方法２００は、（１１）に進む。
【００６２】
（１１）では、ＣａｒｔＡｄｊｕｓｔサービス２１０が、カート調節の最終決定が成功しているかどうかを示す、成功またはエラー応答をパートナサービス２３０に送信することができる。（１１）から、方法２００は、（１２）に進む。
【００６３】
（１２）では、パートナサービス２３０が、ＣａｒｔＡｄｊｕｓｔサービス２１０から受信される成功またはエラー応答に基づいて、チェックアウト結果をパートナアプリケーション２２０に返すことができる。次いで、パートナアプリケーション２２０は、チェックアウト結果をユーザに提示することができる。（１２）の後に、方法２００は、停止する。
【００６４】
図３は、実装による、パートナアプリケーションチェックアウトプロセスを図示する、方法３００のフローチャートである。提示を明確にするために、以下に続く説明は、概して、図１Ａ、１Ｂ、２、および４−８との関連で方法３００を説明する。例えば、例示的方法の一部または全ては、図２のパートナアプリケーション２２０によって行われることができる。しかしながら、方法３００は、例えば、適宜、任意の他の好適なシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって行われ得ることが理解されるであろう。いくつかの実装では、方法３００の種々のステップは、並行して、組み合わせで、ループで、および／または任意の順序で実行されることができる。
【００６５】
ある場合には、方法３００は、例えば、ユーザ入力を受信するパートナアプリケーションによって、ユーザがチェックアウト画面（例えば、図２の例示的チェックアウト表示２２０）に入ることが検出される、３０２から始まる。３０２から、方法３００は、３０６に進む。
【００６６】
３０６では、要求が、自動的に、またはユーザの命令に従って、ＣａｒｔＡｄｊｕｓｔサービス（例えば、図２のＣａｒｔＡｄｊｕｓｔサービス２１０）への利用可能な調節のために行われる。カートアイテム、税、チップ、および割引等のショッピングカートと関連付けられる情報が、ＣａｒｔＡｄｊｕｓｔサービスにパスされることができる。ある場合には、３０６は、図２の方法２００の（１）に対応することができる。３０６から、方法３００は、３１０に進む。
【００６７】
ある場合には、方法３００は、ユーザがカート調節（例えば、パートナアプリケーションのチェックアウト表示上にすでに表示されているカート調節）を選択または別様にアクティブ化することが検出され得る、３０４から始まる。いくつかの実装では、カート調節のそれぞれは、例えば、調節がアクティブ化されているかどうかを識別する、識別子を有することができる。いったんカート調節がアクティブ化されると、カート調節の識別子は、カート調節がアクティブ化状態にあることを示すように変更されることができる。ある場合には、３０４は、図２の方法２００の（３）に対応することができる。３０４から、方法３００は、３０８に進む。
【００６８】
３０８では、要求が、自動的に、またはユーザの命令に従って、ＣａｒｔＡｄｊｕｓｔサービス（例えば、図２のＣａｒｔＡｄｊｕｓｔサービス２１０）への利用可能な調節のために行われる。例えば、カートアイテム、税、チップ、および割引を含む、ショッピングカートと関連付けられる情報、ならびにアクティブ化されたカート調節の識別子が、ＣａｒｔＡｄｊｕｓｔサービスにパスされることができる。３０６から、方法３００は、３１０に進む。
【００６９】
３１０では、チェックアウト要求が、ＣａｒｔＡｄｊｕｓｔサービスに送信される。３１０から、方法３００は、３１２に進む。
【００７０】
３１２では、利用可能なカート調節のセットが、識別されることができる。利用可能なカート調節を識別するための例示的技法は、図４に関して以下でさらに詳細に説明される。３１２から、方法３００は、３１４に進む。
【００７１】
３１４では、応答が、ＣａｒｔＡｄｊｕｓｔサービスから受信される。応答は、利用可能なカート調節のセットを含むことができ、および／またはアクティブ化されたカート調節を与えられる、カート状態が適用される。ある場合には、３１４は、図２の方法２００の（２）および（４）に対応することができる。３１４から、方法３００は、３１６に進む。
【００７２】
３１６では、任意のカート調節が利用可能であるかどうかの判定が行われる。カート調節が利用可能ではない場合、方法３００は、３１６から３１８に進み、そこで方法３００が停止する。カート調節が利用可能である場合、方法３００は、３１６から３２０に進む。
【００７３】
３２０では、全ての利用可能なカート調節が、反復または別様に列挙されることができる。３２０から、方法３００は、３２２に進む。
【００７４】
３２２では、いずれかのカート調節が残っている（すなわち、評価されていない）かどうかが判定される。判定が「いいえ」である場合、方法３００は、３２２から３１８に進み、そこで方法３００が停止する。しかしながら、カート調節が残っている場合、方法３００は、３２２から３２４に進む。
【００７５】
３２４では、残りのカート調節がアクティブ化されるかどうかが判定されることができる。判定が「はい」である場合、方法３００は、３２４から３２６に進む。しかしながら、判定が「いいえ」である場合、方法３００は、３２４から３２８に進む。
【００７６】
３２６では、アクティブ化されたカート調節が、例えば、カートの更新された全請求額を計算するように、ローカルカートに適用されることができる。３２６から、方法３００は、３２８に進む。
【００７７】
３２８では、カート調節のためのＵＩ構成要素が、例えば、カート調節をユーザに表示または別様に提示するためにインスタンス化されることができる。３２８から、方法３００は、３３０に進む。
【００７８】
３３０では、カート調節のためのＵＩ構成要素が、パートナアプリケーションのチェックアウト表示に追加されることができ、したがって、カート調節をユーザに提示する。３３０から、方法３００は、３２２に戻る。
【００７９】
図４は、実装による、カート調節を識別するための例示的方法４００を図示する、フローチャートである。方法４００は、図３の方法３００の３１２および／または図７の方法７００の７０６の例示的実装であり得る。提示を明確にするために、以下に続く説明は、概して、図１Ａ、１Ｂ、２、３、および５−８との関連で方法４００を説明する。例えば、例示的方法の一部または全ては、図２のＣａｒｔＡｄｊｕｓｔサービス２１０によって行われることができる。しかしながら、方法４００は、例えば、適宜、任意の他の好適なシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって行われ得ることが理解されるであろう。いくつかの実装では、方法４００の種々のステップは、並行して、組み合わせで、ループで、および／または任意の順序で実行されることができる。
【００８０】
４０４では、ＣａｒｔＡｄｊｕｓｔシステム（例えば、図１ＡのＣａｒｔＡｄｊｕｓｔシステム１１０）によって提供される１つまたはそれを上回るサービスが、列挙されることができる。サービスは、例えば、ロイヤルティサービス１３１、ディープリンク商取引サービス１３３、販促サービス１３５ａ−ｃ、カート調節サービス１３７、指紋サービス１３９、および／またはカート調節に関係付けられる任意の他のサービスを含むことができる。４０４から、方法４００は、４０６に進む。
【００８１】
４０６では、サービスのそれぞれが、ユーザのための１つまたはそれを上回る利用可能なカート調節を判定するように評価される。いくつかの実装では、カート調節の可用性は、ＣａｒｔＡｄｊｕｓｔ技術を利用する製品サービスへのパートナ登録および／またはユーザ登録に基づいて判定される。例えば、所与のサービスに関して、特定のパートナ電子商取引ベンダが所与のサービスに登録しているかどうかが判定されることができる。パートナ電子商取引ベンダがサービスに登録している場合、ユーザがサービスに登録しているかどうかが判定されることができる。いくつかの実装では、所与のサービスによって提供されるカート調節は、ユーザおよびパートナサービスが両方とも所与のサービス２３０に登録されている場合のみ利用可能であり得る。いくつかの実装では、カート調節システムは、パートナサービスが登録されているかどうかにかかわらず、カート調節システムを通してサービスに登録されているユーザにカート調節を提供することができる。例えば、ユーザは、カート調節のために、パートナ電子商取引ベンダからではなくカート調節システムによって発行される貯蔵価値を使用することができる。いくつかの実装では、例えば、タイプ（例えば、クレジット、デビット、控除、収益ポイント等）、金額、または調節の他のパラメータがカートに適用され得るかどうかを判定するように、ユーザステータスもしくは情報がチェックされることができる。例えば、ユーザが、ショッピングカートに適用されることができる利用可能な残額もしくはクレジットを自分のアカウントに有しているかどうか、特定の販促が生じている領域中にユーザが位置するかどうか、および／またはカート調節を判定するように評価されることができるユーザの他の属性である。いくつかの実装では、カート調節は、パートナ電子商取引ベンダおよび／またはカート調節システムによって規定されるポリシーもしくは規則に基づき得る。４０６から、方法４００は、４０８に進む。
【００８２】
４０８では、いずれかのサービスが残っている（すなわち、評価されていない）かどうかが判定されることができる。判定が「いいえ」である場合、方法４００は、４０８から４１０に進む。しかしながら、サービスが残っている場合、方法４００は、４０８から４１２に進む。
【００８３】
４１２では、残りのサービスがユーザのための調節を有するかどうかが、判定されることができる。調節は、例えば、特定のサービスが特定のユーザに適用可能であるかどうか（例えば、ユーザがロイヤルティサービスのメンバー／加入者であるかどうか、ユーザが、別のパートナアプリケーションを通してパートナアプリケーションをダウンロードする、またはそれにアクセスすることによって、ディープリンク商取引サービスを適格とするかどうか等）に基づいて、判定されることができる。「はい」である場合、方法４００は、４１２から４１４に進む。「いいえ」である場合、方法４００は、４０６に戻る。
【００８４】
４１４では、利用可能な調節が、ユーザのための利用可能なカート調節のセットに追加される。４１４から、方法４００は、４１０に進む。
【００８５】
４１０では、１つまたはそれを上回る利用可能なカート調節が、出力されるかまたは別様に返されることができる。４１０から、方法４００は、停止する。
【００８６】
図５は、実装による、図４のカート調節を識別するための方法４００の具体的実施例５００のフローチャートである。提示を明確にするために、以下に続く説明は、概して、図１Ａ、１Ｂ、２−４、および６−８との関連で方法５００を説明する。しかしながら、方法５００は、例えば、適宜、任意の他の好適なシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって行われ得ることが理解されるであろう。いくつかの実装では、方法５００の種々のステップは、並行して、組み合わせで、ループで、および／または任意の順序で実行されることができる。
【００８７】
５０２では、ユーザがパートナアプリケーションの現在のショッピングカートに適用可能なクレジットを有するかどうかが、判定されることができる。いくつかの実装では、クレジットは、ユーザの貯蔵価値のクレジットであり得る。貯蔵価値は、例えば、カート調節システム自体（例えば、ある場合には、登録を必要とすることなく発行される）、パートナ電子商取引ベンダ、および／またはカート調節に関係付けられるサービス（例えば、ロイヤルティサービス１３１、ディープリンク商取引サービス１３３、販促サービス、１３５ａ−ｃ、指紋サービス１３９等）によって発行されることができる。「はい」である場合、方法５００は、５０２から５０４に進む。「いいえ」である場合、方法５００は、５０６に進む。
【００８８】
５０４では、クレジットが、カート調節として識別され、ユーザのための利用可能なカート調節のセットに追加されることができる。５０４から、方法５００は、５０６に進む。
【００８９】
５０６では、ユーザがロイヤルティサービスに登録されるかどうかが、判定されることができる。「はい」である場合、方法５００は、５０６から５０８に進む。「いいえ」である場合、方法５００は、５１４に進む。
【００９０】
５０８では、現在のショッピングカートに基づくユーザのロイヤルティ獲得が、判定されることができる。（例えば、ポイント、マイレージ、および／または他の測定基準に関する）ロイヤルティ獲得は、カート調節として識別され、ユーザのための利用可能なカート調節のセットに追加されることができる。５０８から、方法５００は、５１０に進む。
【００９１】
５１０では、ユーザがロイヤルサービスのポイント転換点に到達したかどうかが、判定されることができる。「はい」である場合、方法５００は、５１０から５１２に進む。「いいえ」である場合、方法５００は、５１４に進む。
【００９２】
５１２では、ユーザのポイントが、例えば、ショッピングカートの通貨に換金されることができ、したがって、ロイヤルティ燃焼（すなわち、ロイヤルティポイント／クレジットの交換／引換）が、カート調節として識別され、ユーザのための利用可能なカート調節のセットに追加されることができる。５１２から、方法５００は、５１４に進む。
【００９３】
５１４では、例えば、貨幣価値をともに換金して加算すること、および／またはそれぞれのサービスに基づいて判定される貨幣価値のうちの１つを選択することによって、１つまたはそれを上回るカート調節が組み合わせられることができる。５１４から、方法５００は、５１６に進む。
【００９４】
５１６では、利用可能なカート調節のセットが、列挙されて返されることができる。５１６の後に、方法５００は、停止する。
【００９５】
図６は、実装による、チェックアウトフローを図示する、方法６００のフローチャートである。提示を明確にするために、以下に続く説明は、概して、図１Ａ、１Ｂ、２−５、および７−８との関連で方法６００を説明する。例えば、例示的方法の一部または全ては、図２のパートナアプリケーション２２０およびパートナサービス２３０によって行われることができる。しかしながら、方法６００は、例えば、適宜、任意の他の好適なシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって行われ得ることが理解されるであろう。いくつかの実装では、方法６００の種々のステップは、並行して、組み合わせで、ループで、および／または任意の順序で実行されることができる。
【００９６】
６０２では、例えば、ユーザがチェックアウトボタン（例えば、図２のチェックアウトボタン２２８）をクリックまたは別様にアクティブ化するというインジケーションを受信する、パートナアプリケーションによって、ユーザがチェックアウトを実行することが、検出されることができる。６０２から、方法６００は、６０４に進む。
【００９７】
６０４では、チェックアウト要求が、例えば、パートナアプリケーションによって、パートナサービスに送信される。チェックアウト要求は、カート調節がアクティブ化されることを示す、カート調節の識別子を含むことができる。ある場合には、６０４は、図２の方法２００の（５）に対応することができる。６０４から、方法６００は、６０６に進む。
【００９８】
６０６では、パートナサービスが、例えば、アクティブ化されたカート調節の識別子を含む、チェックアウト要求をＣａｒｔＡｄｊｕｓｔサービスに送信することによって、アクティブ化されたカート調節を実行するためにＣａｒｔＡｄｊｕｓｔサービスと相互作用することができる。６０６から、方法６００は、６０８に進む。
【００９９】
６０８では、アクティブ化されたカート調節が実行される。アクティブ化されたカート調節を実行するための例示的技法は、図７に関して以下でさらに詳細に説明される。ある場合には、６０８は、図２の方法２００の（６）に対応することができる。６０８から、方法６００は、６１０に進む。
【０１００】
６１０では、例えば、アクティブ化されたカート調節に基づいて、カートの請求額が値引されるべきかどうかが判定されることができる。例えば、アクティブ化されたカート調節が、ユーザのカートに適用可能な（例えば、クレジット、クーポン等の形態の）請求額値引を含む場合には、カートの請求額は、値引されることができる。したがって、方法６００は、６１０から６１２に進む。カートの請求額が値引されることができない場合、方法６００は、６１４に進む。
【０１０１】
６１２では、値引されたカート合計が、ユーザに請求されることができる。例えば、パートナサービスは、アクティブ化されたカート調節によって規定される値引価値を引いた当初または完全カート金額について、商業サービスを用いてユーザに請求する（例えば、そうするようにパートナ支払ゲートウェイと相互作用する）ことができる。６１２から、方法６００は、６１６に進む。
【０１０２】
６１４では、完全カート価値が、ユーザに請求されることができる。例えば、パートナサービスは、いかなる請求額値引も含まない、アクティブ化されたカート調節の当初または完全カート金額について、商業サービスを用いてユーザに請求する（例えば、そうするようにパートナ支払ゲートウェイと相互作用する）ことができる。６１４から、方法６００は、６１６に進む。ある場合には、６１２および／または６１６は、図２の方法２００の（８）ならびに（９）に対応することができる。
【０１０３】
６１６では、パートナサービスが、アクティブ化されたカート調節を最終決定するための要求をＣａｒｔＡｄｊｕｓｔサービスに送信することができる。６１６から、方法６００は、６１８に進む。
【０１０４】
６１８では、アクティブ化されたカート調節が、最終決定される。アクティブ化されたカート調節を最終決定するための例示的技法は、図８に関して以下でさらに詳細に説明される。ある場合には、６１６および／または６１８は、図２の方法２００の（１０）に対応することができる。６１８から、方法６００は、６２０に進む。
【０１０５】
６２０では、チェックアウト応答が、例えば、ＣａｒｔＡｄｊｕｓｔサービスからパートナサービスによって受信されることができる。ある場合には、６２０は、図２の方法２００の（１２）に対応することができる。６２０の後に、方法６００は、停止する。
【０１０６】
図７は、実装による、カート調節を実行することを図示する、方法７００のフローチャートである。方法７００は、図６の方法６００の６０８の例示的実装であり得る。提示を明確にするために、以下に続く説明は、概して、図１Ａ、１Ｂ、２−６、および８との関連で方法７００を説明する。例えば、例示的方法の一部または全ては、図２のＣａｒｔＡｄｊｕｓｔサービス２１０によって行われることができる。しかしながら、方法７００は、例えば、適宜、任意の他の好適なシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって行われ得ることが理解されるであろう。いくつかの実装では、方法７００の種々のステップは、並行して、組み合わせで、ループで、および／または任意の順序で実行されることができる。
【０１０７】
７０４では、カート調節を実行するための要求が、例えば、ＣａｒｔＡｄｊｕｓｔサービスによって、パートナサービスから受信される。７０４から、方法７００は、７０６に進む。
【０１０８】
７０６では、利用可能なカート調節のセットが、例えば、図４の方法４００に関して説明される例示的技法に基づいて、識別されることができる。７０６から、方法７００は、７０８に進む。
【０１０９】
７０８では、例えば、規定されるアクティブ化されたカート調節が７０６で識別される利用可能なカート調節のセットに含まれるかどうかを判定することによって、規定されるアクティブ化されたカート調節が利用可能であるかどうかが、判定されることができる。規定されるアクティブ化されたカート調節が利用可能である場合、方法７００は、７０８から７１０に進む。「いいえ」である場合、方法７００は、７１２に進む。
【０１１０】
７１０では、カート調節支払が、例えば、規定されるアクティブ化されたカート調節に基づいて、生成されることができる。いくつかの実装では、カート調節支払は、完全カート価値から、アクティブ化されたカート調節において規定されるクレジットまたは任意の他の支払値引価値を差し引くことによって、生成されることができる。７０６から、方法７００は、７０８に進む。
【０１１１】
７１２では、カートがユーザの貯蔵価値を増分する任意のアクションをトリガするかどうかが、判定されることができる。いくつかの実装では、パートナ電子商取引ベンダおよび／またはカート調節システムは、ユーザの貯蔵価値のためのポリシー／規則を定義することができる。例示的規則は、顧客が５００ドル以上を使う、または特定の製品を購入する場合に、５ドルを獲得することであり得る。カートは、ユーザに貯蔵価値の任意の増分の資格があるかどうかを確認するように、ポリシー／規則に対して評価されることができる。判定が「はい」である場合、方法７００は、７１２から７１４に進む。判定が「いいえ」である場合、方法７００は、７１６に進む。
【０１１２】
７１４では、貯蔵価値クレジットが、生成されることができる。したがって、付加的貯蔵価値が生成され、したがって、貯蔵価値の通貨でユーザの全体的アカウント残高を増加させる。７１４から、方法７００は、７１６に進む。
【０１１３】
７１６では、ユーザのカートへのアクティブ化された調節と、ユーザのカートへのアクティブ化された調節に基づいて判定される支払調節（例えば、完全カート価値から差し引かれる金額、またはアクティブ化された調節を適用した後の更新されたカート価値）とを識別する、カート調節トークンが、パートナサービスサーバに送信されることができる。７１６の後に、方法７００は、停止する。
【０１１４】
図８は、実装による、カート調節を最終決定する方法８００のフローチャートである。方法８００は、図６の方法６００の６１８の例示的実装であり得る。提示を明確にするために、以下に続く説明は、概して、図１Ａ、１Ｂ、および２−７との関連で方法８００を説明する。例えば、例示的方法の一部または全ては、図２のＣａｒｔＡｄｊｕｓｔサービス２１０によって行われることができる。しかしながら、方法８００は、例えば、適宜、任意の他の好適なシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって行われ得ることが理解されるであろう。いくつかの実装では、方法８００の種々のステップは、並行して、組み合わせで、ループで、および／または任意の順序で実行されることができる。
【０１１５】
８０４では、ＡＣトークンが、パートナサービスから受信される。カート調節トークンは、最終決定される、実行されたカート調節を識別する。８０４から、方法８００は、８０６に進む。
【０１１６】
８０６では、ＡＣトークンが存在するかどうかが、判定されることができる。いくつかの実装では、ＣａｒｔＡｄｊｕｓｔサービスは、（例えば、図７の方法７００に関して説明される例示的技法に従って）実行されたＡＣトークンのリストを記憶することができる。受信されたＡＣトークンが実行されたＡＣトークンのリストの中に存在するかどうかをチェックすることによって、ＣａｒｔＡｄｊｕｓｔサービスは、受信されたＡＣトークンが有効であるかどうかを判定することができる。受信されたＡＣトークンが存在しない場合、方法８００は、８０６から８０８に進む。受信されたＡＣトークンが存在する場合、方法８００は、８０６から８１０に進む。
【０１１７】
８０８では、カート調節の要求された最終決定が有効ではないことを報告するエラーメッセージが、パートナサービスに送信されることができる。ある場合には、８０８は、図２の方法２００の（１１）の例示的実装に対応することができる。８０８の後に、方法８００は、停止する。
【０１１８】
８１０では、カート調節トークンと関連付けられる１つまたはそれを上回る移行が、列挙されることができる。移行は、貯蔵価値がソースと宛先（例えば、１つまたはそれを上回る貯蔵価値アカウント、パートナサービスアカウント、パートナ支払アカウント、バンキングアカウント等）との間で交換されることを可能にする。移行は、貯蔵価値の支払（例えば、引換）、貯蔵価値のクレジット（例えば、獲得もしくは増加）、または別の形態であり得る。８１０の後に、方法８００は、８１２に進む。
【０１１９】
８１２では、チェックされていない、受信されたカート調節トークンと関連付けられる任意の移行が残っているかどうかが、判定される。「はい」である場合、方法８００は、８１２から８１４に進む。「いいえ」である場合、方法８００は、８１２から８２２に進む。
【０１２０】
チェックされていない、受信されたカート調節トークンと関連付けられる移行が残っていないことが判定される場合において、例えば、規定されるアクティブ化されたカート調節に基づいて、支払が生成され得ることに留意されたい。いくつかの実装では、カート調節支払は、完全カート価値から、アクティブ化されたカート調節において規定されるクレジットまたは任意の他の支払控除価値を差し引くことによって、生成されることができる。８０６から、方法８００は、８０８に進む。
【０１２１】
８１４では、移行が支払であるかどうかが、判定されることができる。「はい」である場合、方法８００は、８１４から８１６に進む。「いいえ」である場合、方法８００は、８１４から８１８に進む。
【０１２２】
８１６では、ユーザの貯蔵価値控除が、最終決定されることができる。８１６から、方法８００は、８１２に戻る。
【０１２３】
８１８では、移行がクレジットであるかどうかが、判定されることができる。「はい」である場合、方法８００は、８１８から８２０に進む。「いいえ」である場合、方法８００は、８１２に戻る。
【０１２４】
８２０では、ユーザの貯蔵価値獲得が、最終決定されることができる。８２０から、方法８００は、８１２に戻る。
【０１２５】
８２２では、ＡＣトークンと関連付けられる全ての移行が査定されたときに、成功応答が、パートナサービスに送信されることができる。応答は、受信されたＡＣトークンの最終決定が失敗なく行われたことを示すことができる。８２２の後に、方法８００は、停止する。
【０１２６】
本明細書に説明される主題および機能的動作の実装は、デジタル電子回路で、有形で具現化されたコンピュータソフトウェアまたはファームウェアで、本明細書に開示される構造およびそれらの構造的均等物を含む、コンピュータハードウェアで、もしくはそれらのうちの１つまたはそれを上回るものの組み合わせで、実装されることができる。本明細書に説明される主題の実装は、１つまたはそれを上回るコンピュータプログラム、すなわち、データ処理装置による実行のために、もしくはその動作を制御するために、有形の非一過性コンピュータ記憶媒体上で符号化されたコンピュータプログラム命令の１つまたはそれを上回るモジュールとして、実装されることができる。代替として、または加えて、プログラム命令は、データ処理装置による実行のための好適な受信機装置に伝送するための情報を符号化するように生成される、人為的生成伝搬信号、例えば、マシン生成電気、光学、もしくは電磁信号上で符号化されることができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムまたはシリアルアクセスメモリデバイス、もしくはそれらのうちの１つまたはそれを上回るものの組み合わせであり得る。
【０１２７】
「データ処理装置」、「コンピュータ」、または「電子コンピュータデバイス」という用語（もしくは当業者によって理解されるような均等物）は、データ処理ハードウェアを指し、一例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するための全ての種類の装置、デバイス、およびマシンを包含する。本装置はまた、またはさらに、専用論理回路、例えば、中央処理装置（ＣＰＵ）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、もしくはＡＳＩＣ（特定用途向け集積回路）を含むことができる。いくつかの実装では、データ処理装置および／または専用論理回路は、ハードウェアベースならびに／もしくはソフトウェアベースであってもよい。本装置は、随意に、コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、もしくはそれらのうちの１つまたはそれを上回るものの組み合わせを構成するコードを含むことができる。本開示は、従来のオペレーティングシステム、例えば、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）、ＭＡＣ  ＯＳ、ＡＮＤＲＯＩＤ（登録商標）、ＩＯＳ、または任意の他の好適な従来のオペレーティングシステムを伴う、もしくは伴わない、データ処理装置の使用を考慮する。
【０１２８】
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも称され得る、もしくは表され得る、コンピュータプログラムが、コンパイラ型またはインタープリタ型言語、もしくは宣言型または手続き型言語を含む、任意の形態のプログラミング言語で書かれることができ、これは、独立型プログラムとして、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境での使用のために好適な他のユニットとしてを含む、任意の形態で展開されることができる。コンピュータプログラムは、ファイルシステム内のファイルに対応してもよいが、そうである必要はない。プログラムは、他のプログラムもしくはデータ、例えば、マークアップ言語文書内に記憶された１つまたはそれを上回るスクリプトを保持するファイルの一部内に、問題のプログラム専用である単一のファイル内に、もしくは複数の協調ファイル、例えば、１つまたはそれを上回るモジュール、サブプログラム、もしくはコードの複数部分を記憶するファイル内に、記憶されることができる。コンピュータプログラムは、１つのコンピュータ上で、または１つの場所に位置する、もしくは複数の場所にわたって分散され、通信ネットワークによって相互接続される、複数のコンピュータ上で、実行されるように展開されることができる。種々の図に図示されるプログラムの複数部分が、種々のオブジェクト、方法、または他のプロセスを通して、種々の特徴および機能性を実装する、個々のモジュールとして示されるが、プログラムは、代わりに、適宜、いくつかのサブモジュール、第三者サービス、構成要素、ライブラリ等を含んでもよい。逆に、種々の構成要素の特徴および機能性は、適宜、単一構成要素に組み込まれることもできる。
【０１２９】
本明細書に説明されるプロセスおよび論理フローは、入力データに作用し、出力を生成することによって、機能を果たすように、１つまたはそれを上回るコンピュータプログラムを実行する、１つまたはそれを上回るプログラマブルコンピュータによって行われることができる。プロセスおよび論理フローはまた、専用論理回路、例えば、ＣＰＵ、ＦＰＧＡ、またはＡＳＩＣによって行われることもでき、装置がまた、それらとして実装されることもできる。
【０１３０】
コンピュータプログラムの実行のために好適なコンピュータは、汎用または専用マイクロプロセッサ、両方、もしくは任意の他の種類のＣＰＵに基づき得る。概して、ＣＰＵは、読取専用メモリ（ＲＯＭ）またはランダムアクセスメモリ（ＲＡＭ）もしくは両方から、命令およびデータを受信するであろう。コンピュータの不可欠な要素は、命令を実施もしくは実行するためのＣＰＵ、ならびに命令およびデータを記憶するための１つまたはそれを上回るメモリデバイスである。概して、コンピュータはまた、データを記憶するための１つまたはそれを上回る大容量記憶デバイス、例えば、磁気、光磁気ディスク、もしくは光ディスクを含む、またはそれらに動作可能に結合される、そこからデータを受信する、もしくはそこにデータを転送する、または両方を行うであろう。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。また、コンピュータは、別のデバイス、例えば、いくつか例を挙げると、携帯電話、携帯情報端末（ＰＤＡ）、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム（ＧＰＳ）受信機、もしくは携帯用記憶デバイス、例えば、ユニバーサルシリアルバス（ＵＳＢ）フラッシュドライブに組み込まれることができる。
【０１３１】
コンピュータプログラム命令またはデータを記憶するために好適なコンピュータ可読媒体（適宜、一過性または非一過性）は、一例として、半導体メモリデバイス、例えば、消去可能プログラマブル読取専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読取専用メモリ（ＥＥＰＲＯＭ）、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭ、ＤＶＤ＋／−Ｒ、ＤＶＤ−ＲＡＭ、およびＤＶＤ−ＲＯＭディスクを含む、全ての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、バックアップデータ、ジョブ、ウェブページ、ウェブページテンプレート、データベーステーブル、ビジネスおよび／または動的情報を記憶するレポジトリ、ならびに任意のパラメータ、変数、アルゴリズム、命令、規則、制約、もしくはそこへの参照を含む、任意の他の適切な情報を含む、種々のオブジェクトまたはデータを記憶してもよい。加えて、メモリは、ログ、ポリシー、セキュリティまたはアクセスデータ、報告ファイル、ならびにその他等の任意の他の適切なデータを含んでもよい。プロセッサおよびメモリは、専用論理回路によって補完される、またはそれに組み込まれることができる。
【０１３２】
ユーザとの相互作用を提供するために、本明細書に説明される主題の実装は、情報をユーザに表示するためのディスプレイデバイス、例えば、ＣＲＴ（陰極線管）、ＬＣＤ（液晶ディスプレイ）、ＬＥＤ（発光ダイオード）、またはプラズマモニタと、それによってユーザが入力をコンピュータに提供し得る、キーボードおよびポインティングデバイス、例えば、マウス、トラックボール、またはトラックパッドを有する、コンピュータ上で実装されることができる。入力はまた、圧力感受性を伴うタブレットコンピュータ表面、容量または電気感知を使用するマルチタッチスクリーン、もしくは他のタイプのタッチスクリーン等のタッチスクリーンを使用して、コンピュータに提供されてもよい。他の種類のデバイスも、ユーザとの相互作用を提供するために使用されることができ、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響、発話、または触覚入力を含む、任意の形態で受信されることができる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そこから文書を受信することによって、例えば、ウェブブラウザから受信される要求に応答して、ウェブページをユーザのクライアントデバイス上のウェブブラウザに送信することによって、ユーザと相互作用することができる。
【０１３３】
「グラフィカルユーザインターフェース」もしくは「ＧＵＩ」という用語は、１つまたはそれを上回るグラフィカルユーザインターフェース、および特定のグラフィカルユーザインターフェースのディスプレイのそれぞれを表すために、単数形または複数形で使用されてもよい。したがって、ＧＵＩは、ウェブブラウザ、タッチスクリーン、または情報を処理して情報結果を効率的にユーザに提示する、コマンドラインインターフェース（ＣＬＩ）を含むが、それらに限定されない、任意のグラフィカルユーザインターフェースを表してもよい。一般に、ＧＵＩは、ビジネススイートユーザによって操作可能な双方向フィールド、プルダウンリスト、およびボタン等の、いくつかまたは全てがウェブブラウザと関連付けられる複数のユーザインターフェース（ＵＩ）要素を含んでもよい。これらおよび他のＵＩ要素は、ウェブブラウザの機能に関係付けられ得る、またはそれらを表してもよい。
【０１３４】
本明細書に説明される主題の実装は、例えば、データサーバとして、バックエンド構成要素を含む、またはミドルウェア構成要素、例えば、アプリケーションサーバを含む、もしくはフロントエンド構成要素、例えば、それを通してユーザが本明細書に説明される主題の実装と相互作用することができる、グラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータを含む、もしくは１つまたはそれを上回るそのようなバックエンド、ミドルウェア、もしくはフロントエンド構成要素の任意の組み合わせを含む、コンピュータシステムで実装されることができる。本システムの構成要素は、有線および／または無線デジタルデータ通信の任意の形態もしくは媒体、例えば、通信ネットワークによって、相互接続されることができる。通信ネットワークの実施例は、ローカルエリアネットワーク（ＬＡＮ）、無線アクセスネットワーク（ＲＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、広域ネットワーク（ＷＡＮ）、Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ（ＷＩＭＡＸ）、例えば、８０２．１１ａ／ｂ／ｇ／ｎおよび／または８０２．２０を使用する無線ローカリエリアネットワーク（ＷＬＡＮ）、インターネットの全体または一部、ならびに／もしくは１つまたはそれを上回る場所における１つもしくは複数の任意の他の通信システムを含む。ネットワークは、ネットワークアドレスの間で、例えば、インターネットプロトコル（ＩＰ）パケット、フレームリレーフレーム、非同期転送モード（ＡＴＭ）セル、音声、ビデオ、データ、および／または他の好適な情報と通信してもよい。
【０１３５】
コンピューティングシステムは、クライアントと、サーバとを含むことができる。クライアントおよびサーバは、概して、相互から遠隔にあり、典型的には、通信ネットワークを通して相互作用する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で作動し、相互にクライアント−サーバ関係を有する、コンピュータプログラムによって生じる。
【０１３６】
いくつかの実装では、ハードウェアおよび／またはソフトウェアの両方である、コンピュータシステムの構成要素のうちのいずれかもしくは全ては、アプリケーションプログラミングインターフェース（ＡＰＩ）および／またはサービス層を使用して、相互ならびに／もしくはインターフェースとインターフェースをとってもよい。ＡＰＩは、ルーチン、データ構造、およびオブジェクトクラスの仕様を含んでもよい。ＡＰＩは、コンピュータ言語非依存または依存のいずれかであり、完全インターフェース、単一の機能、またはＡＰＩのセットさえも指し得る。サービス層は、ソフトウェアサービスをコンピュータシステムに提供する。コンピュータシステムの種々の構成要素の機能性は、本サービス層を使用して、全てのサービス消費者のためにアクセス可能であり得る。ソフトウェアサービスは、定義されたインターフェースを通して、再利用可能な定義されたビジネス機能性を提供する。例えば、インターフェースは、ＪＡＶＡ（登録商標）、Ｃ＋＋、または拡張マークアップ言語（ＸＭＬ）形式もしくは他の好適な形式でデータを提供する他の好適な言語で書かれたソフトウェアであってもよい。ＡＰＩおよび／またはサービス層は、コンピュータシステムの他の構成要素に関連して、一体ならびに／もしくは独立型構成要素であってもよい。また、サービス層の任意または全ての部分は、本開示の範囲から逸脱することなく、別のソフトウェアモジュール、企業アプリケーション、もしくはハードウェアモジュールの子またはサブモジュールとして実装されてもよい。
【０１３７】
本明細書は多くの具体的実装詳細を含有するが、これらは、任意の発明の範囲または請求され得るものの範囲に対する制限として解釈されるべきではなく、むしろ、特定の発明の特定の実装に特異的であり得る特徴の説明として解釈されるべきである。別個の実装との関連で本明細書に説明される、ある特徴はまた、単一の実装で組み合わせて実装されることもできる。逆に、単一の実装との関連で説明される種々の特徴もまた、別個に、または任意の好適な副次的組み合わせにおいて、複数の実装で実装されることもできる。また、特徴は、ある組み合わせにおいて作用するものとして上記で説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの１つまたはそれを上回る特徴は、ある場合には、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせもしくは副組み合わせの変形例を対象とし得る。
【０１３８】
本主題の特定の実装が説明されている。他の実装、説明される実装の改変、および順列は、当業者に明白となるような以下の請求項の範囲内である。動作は、特定の順序において図面または請求項で描写されるが、これは、そのような動作が、示される特定の順序において、もしくは連続順序において行われること、または望ましい結果を達成するために、全ての図示される動作が行われること（いくつかの動作が随意と見なされ得る）を要求するものとして、理解されるべきではない。ある状況では、マルチタスクおよび並列処理が、有利であり得る。
【０１３９】
また、上記で説明される実装における種々のシステムモジュールならびに構成要素の分離および／または統合は、全ての実装においてそのような分離および／または統合を要求するものとして理解されるべきではなく、説明されるプログラム構成要素およびシステムは、概して、単一のソフトウェア製品にともに組み込まれ得る、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【０１４０】
したがって、例示的実装の上記の説明は、本開示を定義または制約しない。他の変更、代用、および改変も、本開示の精神ならびに範囲から逸脱することなく、可能である。
【図１Ａ】
2017534125.tif 000003
【図１Ｂ】
2017534125.tif 000004
【図２】
2017534125.tif 000005
【図３】
2017534125.tif 000006
【図４】
2017534125.tif 000007
【図５】
2017534125.tif 000008
【図６】
2017534125.tif 000009
【図７】
2017534125.tif 000010
【図８】
2017534125.tif 000011
【国際調査報告】
2017534125.tif 000012