Idea
----

The most important thing is a concept. You should be aware, that not every customization should be made as a plugin for Sylius.
If you:

* share the common logic between multiple projects
* think provided feature could be useful for the whole Sylius community and want to share it for free or sell it

then you should definitely consider the creation of a plugin. On the other hand, if:

* your feature is specific for your project
* you don't want to share your work in the community (maybe **yet**)

then don't be afraid to make a regular Sylius customization.

.. tip::

    For needs of this tutorial, we will implement a simple plugin, making it possible to mark a product variant **available on demand**.
