diff --git a/nedac/sylius-minimum-order-value-plugin/1.0/config/packages/nedac_sylius_minimum_order_value_plugin.yaml b/nedac/sylius-minimum-order-value-plugin/1.0/config/packages/nedac_sylius_minimum_order_value_plugin.yaml
new file mode 100644
index 00000000..64e5c242
--- /dev/null
+++ b/nedac/sylius-minimum-order-value-plugin/1.0/config/packages/nedac_sylius_minimum_order_value_plugin.yaml
@@ -0,0 +1,2 @@
+imports:
+ - { resource: "@NedacSyliusMinimumOrderValuePlugin/Resources/config/config.yaml" }
diff --git a/nedac/sylius-minimum-order-value-plugin/1.0/manifest.json b/nedac/sylius-minimum-order-value-plugin/1.0/manifest.json
new file mode 100644
index 00000000..68498200
--- /dev/null
+++ b/nedac/sylius-minimum-order-value-plugin/1.0/manifest.json
@@ -0,0 +1,10 @@
+{
+ "bundles": {
+ "Nedac\\SyliusMinimumOrderValuePlugin\\NedacSyliusMinimumOrderValuePlugin": ["all"]
+ },
+ "copy-from-recipe": {
+ "config/": "%CONFIG_DIR%/",
+ "src/": "%SRC_DIR%",
+ "templates/": "templates/"
+ }
+}
diff --git a/nedac/sylius-minimum-order-value-plugin/1.0/src/Entity/Channel/Channel.php b/nedac/sylius-minimum-order-value-plugin/1.0/src/Entity/Channel/Channel.php
new file mode 100644
index 00000000..635918c2
--- /dev/null
+++ b/nedac/sylius-minimum-order-value-plugin/1.0/src/Entity/Channel/Channel.php
@@ -0,0 +1,20 @@
+
+
+
+
+ {{ form_errors(form) }}
+
+
+ {{ form_row(form.code) }}
+
+
+ {{ form_row(form.name) }}
+
+
+ {{ form_row(form.color) }}
+
+
+
+ {{ form_row(form.enabled) }}
+
+
+
+ {{ form_label(form.hostname) }}
+
+ {{ form_errors(form.hostname) }}
+
+ {{ form_row(form.contactEmail) }}
+ {{ form_row(form.description, {'attr': {'rows' : '3'}}) }}
+
+
+ {{ form_row(form.countries) }}
+
+
+
+
+
+ {{ form_row(form.baseCurrency) }}
+ {{ form_row(form.currencies) }}
+
+
+
+ {{ form_row(form.defaultTaxZone) }}
+ {{ form_row(form.taxCalculationStrategy) }}
+
+
+
+
+
+
+ {{ form_row(form.shopBillingData.company) }}
+ {{ form_row(form.shopBillingData.taxId) }}
+
+
+ {{ form_row(form.shopBillingData.countryCode) }}
+ {{ form_row(form.shopBillingData.street) }}
+
+
+ {{ form_row(form.shopBillingData.city) }}
+ {{ form_row(form.shopBillingData.postcode) }}
+
+
+
+
+
+ {{ form_row(form.themeName) }}
+
+
+ {{ form_row(form.locales) }}
+ {{ form_row(form.defaultLocale) }}
+
+
+ {{ form_row(form.menuTaxon) }}
+
+
+
+ {{ form_row(form.skippingShippingStepAllowed) }}
+ {{ form_row(form.skippingPaymentStepAllowed) }}
+ {{ form_row(form.accountVerificationRequired) }}
+
+ {% if form.minimumOrderValue is defined %}
+
+ {{ form_row(form.minimumOrderValue) }}
+
+
+
+
+
+ {% endif %}
+
+
diff --git a/nedac/sylius-minimum-order-value-plugin/1.0/templates/bundles/SyliusShopBundle/Cart/Summary/_checkout.html.twig b/nedac/sylius-minimum-order-value-plugin/1.0/templates/bundles/SyliusShopBundle/Cart/Summary/_checkout.html.twig
new file mode 100644
index 00000000..1a69d0fd
--- /dev/null
+++ b/nedac/sylius-minimum-order-value-plugin/1.0/templates/bundles/SyliusShopBundle/Cart/Summary/_checkout.html.twig
@@ -0,0 +1,20 @@
+{% import "@SyliusShop/Common/Macro/money.html.twig" as money %}
+
+{% set minimumOrderValue = cart.channel.minimumOrderValue %}
+{% set total = sylius_order_items_subtotal(cart) %}
+
+{% if total >= minimumOrderValue %}
+ {% set buttonClass = "ui huge primary fluid labeled icon button" %}
+{% else %}
+ {% set buttonClass = "ui huge primary fluid labeled icon button disabled" %}
+ {% set formattedMinimum = money.convertAndFormat(minimumOrderValue) %}
+ {% set formattedDifference = money.convertAndFormat(minimumOrderValue - total) %}
+
+
+
+
+
{{ 'nedac_sylius_minimum_order_value_plugin.ui.minimum_not_yet_reached'|trans({ '%minimumOrderValue% ': formattedMinimum, '%difference%': formattedDifference })|raw('br') }}
+
+
+{% endif %}
+ {{ 'sylius.ui.checkout'|trans }}
diff --git a/nedac/sylius-minimum-order-value-plugin/1.0/templates/bundles/SyliusShopBundle/Cart/Widget/_popup.html.twig b/nedac/sylius-minimum-order-value-plugin/1.0/templates/bundles/SyliusShopBundle/Cart/Widget/_popup.html.twig
new file mode 100644
index 00000000..96f6b88b
--- /dev/null
+++ b/nedac/sylius-minimum-order-value-plugin/1.0/templates/bundles/SyliusShopBundle/Cart/Widget/_popup.html.twig
@@ -0,0 +1,20 @@
+{% import "@SyliusShop/Common/Macro/money.html.twig" as money %}
+
+{% set minimumOrderValue = cart.channel.minimumOrderValue %}
+{% set total = sylius_order_items_subtotal(cart) %}
+
+{% if cart.empty %}
+ {{ 'sylius.ui.your_cart_is_empty'|trans }}.
+{% else %}
+
+ {% for item in cart.items %}
+
{{ item.quantity }} x {{ item.product }} {{ money.convertAndFormat(item.unitPrice) }}
+ {% endfor %}
+
{{ 'sylius.ui.subtotal'|trans }}: {{ money.convertAndFormat(cart.itemsTotal) }}
+
+ {{ 'sylius.ui.view_and_edit_cart'|trans }}
+ {% if total >= minimumOrderValue %}
+
+ {{ 'sylius.ui.checkout'|trans }}
+ {% endif %}
+{% endif %}
diff --git a/nedac/sylius-minimum-order-value-plugin/1.0/templates/bundles/SyliusShopBundle/Cart/_widget.html.twig b/nedac/sylius-minimum-order-value-plugin/1.0/templates/bundles/SyliusShopBundle/Cart/_widget.html.twig
new file mode 100644
index 00000000..2ca25ac8
--- /dev/null
+++ b/nedac/sylius-minimum-order-value-plugin/1.0/templates/bundles/SyliusShopBundle/Cart/_widget.html.twig
@@ -0,0 +1,6 @@
+
+ {{ sylius_template_event('sylius.shop.cart.widget.button', {'cart': cart}) }}
+
+