web-dev-qa-db-ja.com

ショッピングカート:残りの数量1アイテム-公正とは何ですか?

履修登録制度があります。各コースには、座席が割り当てられています。実際の注文が行われたときのみ、割り当てられた座席が減らされます。したがって、現時点では、登録された座席がコースに割り当て超過になる可能性があります。

席の過剰割り当てを防ぎたい。

これまでのところ、残り1席の場合、3つの方法を考え出しました。

  1. 最初に注文すると登録が取得され、他のユーザーには待機リストページが表示されます
  2. コースがショッピングカートに追加されるとすぐに、シートの合計が減り、ユーザーセッションがタイムアウトになるまで(25分以上)、他のユーザーはこのコースを注文できません。
  3. コースがショッピングカートに追加されるとすぐに、シートの合計数が減り、他のユーザーは「一定の時間」だけこのコースを注文できなくなります。ユーザーに配置するための十分な時間を与えるには、5分間と言います。注文/決定。

私にとって、3番は公平なアプローチのように聞こえます。上記の問題を処理する方法について他のeコマースシステムの例を持っている人はいますか? 1日あたりの注文数は約20未満です。

12
firebird

私は待機リストと修正タイムスロットを組み合わせて、両方のメリットを得ます。

  1. 待機リストは、チケットが不足しているときに役立つだけではありません。コースが数日間売り切れた場合でも、チケットを再販することができます。

  2. fix time slotは、ユーザーに(良い方法で)少しプレッシャーをかけ、リフレッシュセッションタイムアウトとは異なり、ユーザーがチケットをブロックできないようにしますスポットが長すぎます。

チケット販売業者 Amiando は、このようなメカニズムを実装しています。

enter image description here

9
Marcel Otten

www.eventbrite.com 、イベント管理/登録サービス、オプション#3を使用します。これはおそらく最良のアプローチです。

enter image description here

6
moonfly

3が最適ですが、どれでもかまいません。 #1の利点の1つは、イベントが完売して放棄されるのではなく、プロセスに少し投資されるため、実際に空席待ちリストに参加してもらう可能性が高くなることです。出席の上限がどれほどしっかりしているか、空席待ちリストが満たされる可能性がどの程度かなどに依存します。

0
Steve Bennett

オプション#3が最善のアプローチです。それをしない唯一の理由は、実装の難しさです。座席がない可能性があるときにチェックアウトプロセスを実行できないようにし、タイマーを表示することでトランザクションを完了するように動機付けし、緊急性を生み出します。

againstオプション#2をお勧めします。これにより、不必要に長い間在庫がブロックされるためです。

オプション#1は、あなたが言うように非常に少ない数の注文を受け取った場合でも大丈夫かもしれません。購入の最後に在庫がなくなった場合は、「申し訳ありませんが、誰かが最後のスポットを獲得しました」とお客様に伝えることができます。平均チェックアウト完了時間が5分で、1日あたり20件の注文がある場合、衝突が発生する可能性は非常に低くなります。

0
Kevin Borders