コンテンツにスキップ

低在庫停止時の商品別案内テキスト

背景

低在庫閾値到達や在庫不足により Web 受注を停止する商品では、顧客に一律の文言だけを返すと次の行動が分かりにくい。 商品ごとに事情が異なるため、停止理由や問い合わせ誘導を商品単位で出し分けられることを正とする。

要件

  • Product の public custom field outOfStockMessage を正本とし、商品ごとに顧客向け案内文をリッチテキストで設定できること。
  • Product の public custom field outOfStockButtonLabel を正本とし、在庫切れ時の購入ボタンに表示する短いラベルを商品ごとに設定できること。
  • stockLevel = OUT_OF_STOCK の variant を Storefront で表示する場合、商品詳細・商品カード・quick order の購入停止理由に outOfStockMessage を優先表示すること。
  • outOfStockMessage / outOfStockButtonLabel / lowStockMessage の解決は apps/storefront/src/lib/out-of-stock-message.ts を共通入口にすること。 商品詳細、標準 ProductCard/products browse card、quick order は 同じ helper の結果を使い、bundle variant だけ在庫切れを無視する分岐を 持たないこと。
  • stockLevel = OUT_OF_STOCK は ProductVariant 単位の購入不可状態として扱う。 Product が bundle 用途かどうかは案内文の出し分け条件にしない。
  • 案内文は、問い合わせ誘導や入荷待ち案内など運用上必要な自由文やリンクをリッチテキストで含められること。
  • outOfStockMessage が未設定または空欄の場合は、既定文言 在庫切れのためカートに追加できません を表示すること。
  • outOfStockButtonLabel が未設定または空欄の場合は、既定ラベル 在庫切れ を表示すること。
  • 短い在庫ステータス表示や購入可否判定そのものは既存の在庫制御要件を正本とし、本要件は顧客向けメッセージ管理と短文ラベル管理に限定すること。

受け入れ観点

  1. Vendure Dashboard の商品編集で outOfStockMessage をリッチテキスト入力で設定できる。
  2. Vendure Dashboard の商品編集で outOfStockButtonLabel を短文入力で設定できる。
  3. 個別文言を設定した商品では、その文言が商品詳細・商品カード・quick order の購入停止導線で表示される。
  4. 個別ボタンラベルを設定した商品では、在庫切れ時の購入ボタンにそのラベルが表示される。
  5. 個別文言または個別ボタンラベルが未設定または空欄の商品では、既定文言 在庫切れのためカートに追加できません と既定ラベル 在庫切れ が表示される。
  6. bundle variant でも stockLevel = OUT_OF_STOCK の場合は、通常 variant と同じ購入停止文言・ボタンラベルになる。