低在庫停止時の商品別案内テキスト¶
背景¶
低在庫閾値到達や在庫不足により 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、/productsbrowse card、quick order は 同じ helper の結果を使い、bundle variant だけ在庫切れを無視する分岐を 持たないこと。stockLevel = OUT_OF_STOCKは ProductVariant 単位の購入不可状態として扱う。 Product が bundle 用途かどうかは案内文の出し分け条件にしない。- 案内文は、問い合わせ誘導や入荷待ち案内など運用上必要な自由文やリンクをリッチテキストで含められること。
outOfStockMessageが未設定または空欄の場合は、既定文言在庫切れのためカートに追加できませんを表示すること。outOfStockButtonLabelが未設定または空欄の場合は、既定ラベル在庫切れを表示すること。- 短い在庫ステータス表示や購入可否判定そのものは既存の在庫制御要件を正本とし、本要件は顧客向けメッセージ管理と短文ラベル管理に限定すること。
受け入れ観点¶
- Vendure Dashboard の商品編集で
outOfStockMessageをリッチテキスト入力で設定できる。 - Vendure Dashboard の商品編集で
outOfStockButtonLabelを短文入力で設定できる。 - 個別文言を設定した商品では、その文言が商品詳細・商品カード・quick order の購入停止導線で表示される。
- 個別ボタンラベルを設定した商品では、在庫切れ時の購入ボタンにそのラベルが表示される。
- 個別文言または個別ボタンラベルが未設定または空欄の商品では、既定文言
在庫切れのためカートに追加できませんと既定ラベル在庫切れが表示される。 - bundle variant でも
stockLevel = OUT_OF_STOCKの場合は、通常 variant と同じ購入停止文言・ボタンラベルになる。