クライアント向けのショッピングカートソリューションを設計しました。アイテムの1つ(キャンディーなど)については、タイプごとに販売できる一定の数量があります。購入後の数量から差し引きます。
キャンディーの買い物の流れは次のとおりです。
- キャンディーカタログページでキャンディーを選択(カートに追加)
- カートページに移動して、購入するアイテムを確認します
- チェックアウトページに移動します(請求情報+購入するアイテムのリストと価格の合計の詳細)
適切な状況: 顧客Aは残りの10個のスニッカーズから9個を選択します。顧客Bは、残りの10個のスニッカーズから5個を選択します。チェックアウト時に、顧客Bは、 9つのスニッカーズを購入した顧客Aの前に、支払い情報(5つのスニッカーズを残して)を送信します。
これで、顧客Aのチェックアウトページに、何が起こったのか(つまり、おっと、yur candiez r all going!)についてのメッセージが残されます。これには、売り切れたキャンディーのリストや、入手できないキャンディーのリストが含まれます。ここでは、フローをどこに続けるべきかわかりません(これが最初から良いパスであったことを願っています)。
選択したアイテムが変更されていないショッピングカートへのリンクを顧客に提供し、削除して購入を続行できるようにする必要がありますか?または、これらのアイテムは、顧客Aが9つのスニッカーズを購入したため、カートに顧客Aが5つのスニッカーズ(残りの5つのうち)を追加したことを示すように、各アイテムで利用可能な新しい数量を反映する必要がありますか?または、これらのアイテムをカートから完全に削除する必要がありますか?
別の解決策(AndreasNiedermairとE.Rodriguezが提案):顧客がショッピングカートに商品を追加するときに在庫を差し引きます。
これが私の実装である場合、顧客がサイトを離れた場合、どの時点で/どのようにアイテムを在庫に戻すのでしょうか?私のカートはDB駆動ではありません。
フィードバックをいただければ幸いです。喜んで明確にします。