<p>We use either booleans (i.e. switches) or dropdowns for this.</p>

<p>So we have, e.g. an <code>availableForSale</code> boolean we check in our template logic.  We have a sort of 'main' tab for these critical product fields (and note you can also add such a field to your variants so that for variant products you can selectively enable/disable on a per variant basis).  In your case you might choose to have 3 options - Available For Sale, Enquiries Only, Not available.  Booleans make for nice simple looking template logic, but probably use values is a better way to go if you anticipate anything beyond basic available/not available complexity.</p>

<p>(We use a similar but more complex field for shipping, which can be set to: Free Shipping, Can't Be Shipped, Post Shipping, Courier Only Shipping etc.  Although Commerce's now has it's own shipping category system you can and probably should use for that too, depending on how you implement your shipping).</p>

CC BY-SA 3.0
2018-02-02T23:23:17.003Z
2018-02-02T23:23:17.003Z
Jeremy Daalder
<p>Not every item in my store is available to buy online.</p>

<p>What would be the best way to classify these items in Craft Commerce?
(So that the 'Buy' button can be swapped for 'Enquire')</p>

<p>There are multiple product categories this applies to.</p>

CC BY-SA 3.0
2018-02-01T15:56:16.233Z
We've solved this in the past by adding a boolean to the product and just checking that in template. Does the job but curious to see what people come up with here.
Jan Henckens
<plugin-craftcommerce>
Best way to define non-purchasable products?
# Best way to define non-purchasable products?

(Asked by: username_0 on 2018-02-01)

Not every item in my store is available to buy online.

What would be the best way to classify these items in Craft Commerce?
(So that the 'Buy' button can be swapped for 'Enquire')

There are multiple product categories this applies to.

**Tags:** plugin-craftcommerce

> **Comments:**
> **username_1**: We've solved this in the past by adding a boolean to the product and just checking that in template. Does the job but curious to see what people come up with here.  

---

## 1 answers

### Answer by username_2 on 2018-02-02. Score: 1 | Accepted answer

We use either booleans (i.e. switches) or dropdowns for this.

So we have, e.g. an `availableForSale` boolean we check in our template logic. We have a sort of 'main' tab for these critical product fields (and note you can also add such a field to your variants so that for variant products you can selectively enable/disable on a per variant basis). In your case you might choose to have 3 options - Available For Sale, Enquiries Only, Not available. Booleans make for nice simple looking template logic, but probably use values is a better way to go if you anticipate anything beyond basic available/not available complexity.

(We use a similar but more complex field for shipping, which can be set to: Free Shipping, Can't Be Shipped, Post Shipping, Courier Only Shipping etc. Although Commerce's now has it's own shipping category system you can and probably should use for that too, depending on how you implement your shipping).


---

