Skip to main content

General settings

Located at Stores → Configuration → Byte8 → Pre-Order → General Settings.

Fields

FieldPathDefaultWhat it does
Enable Pre-Orderbyte8_preorder/general/enabledNoMaster switch. When off, no pre-order UI, no observers fire, no totals collected. Safe to leave off in staging until launch day.
Allow Pre-Order When In Stockbyte8_preorder/general/allow_when_in_stockNoLets you accept pre-orders for products that already have stock. Useful for "soft launch" deposits where customers reserve a future delivery date even though current inventory exists. Default: off — so a pre-order product is only pre-orderable when actually out of stock.

Behaviour

Master switch off

  • All eligibility checks short-circuit to false regardless of per-product preorder_enabled.
  • The PDP info block, cart fee line, GraphQL fields, and admin grid menu disappear from the storefront / admin.
  • Existing pre-orders in the DB are untouched — flipping the switch back on resumes their lifecycle exactly.

Allow when in stock

When on, the eligibility resolver (Model/Service/PreorderEligibility.php) ignores stock state. The product still needs preorder_enabled and (optionally) preorder_available_from set.

Use this for:

  • Pre-launch deposits when you want to take orders before the announce date.
  • Wholesale / B2B "reserve forward" flows where the customer is fine paying a deposit on something already in stock.

Don't use this for general catalog products — your customers will see "Pre-order" buttons on items they could just buy normally, which confuses everyone.

Scope

All general fields are available at website and store-view scope. Common patterns:

  • Default scope on, store-view off — module enabled globally, but a specific store-view (e.g. a slow-selling region) opts out.
  • Website on, default off — staging website disabled, production website enabled.