diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..13566b81b018ad684f3a35fee301741b2734c8f4
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/deployment.xml b/.idea/deployment.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9362f1986f017c5b905a96884fde138726d2eeaf
--- /dev/null
+++ b/.idea/deployment.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="PublishConfigData" remoteFilesAllowedToDisappearOnAutoupload="false">
+    <serverData>
+      <paths name="Local or mounted folder">
+        <serverdata>
+          <mappings>
+            <mapping local="$PROJECT_DIR$" web="/" />
+          </mappings>
+        </serverdata>
+      </paths>
+    </serverData>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/magento-uafrica-shipping-extension.iml b/.idea/magento-uafrica-shipping-extension.iml
new file mode 100644
index 0000000000000000000000000000000000000000..c956989b29ad0767edc6cf3a202545927c3d1e76
--- /dev/null
+++ b/.idea/magento-uafrica-shipping-extension.iml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="WEB_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3ce358829caa98cea142c0d523e95c04df039a10
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="MarkdownSettingsMigration">
+    <option name="stateVersion" value="1" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4966609571ba2b0a31e495dcc6401b37abfe57d1
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/magento-uafrica-shipping-extension.iml" filepath="$PROJECT_DIR$/.idea/magento-uafrica-shipping-extension.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..94a25f7f4cb416c083d265558da75d457237d671
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/uafrica/Customshipping/Block/System/Config/Form/Field/Version.php b/uafrica/Customshipping/Block/System/Config/Form/Field/Version.php
new file mode 100644
index 0000000000000000000000000000000000000000..469ffe1026a318d35fe1594ee5d530beb0be3a37
--- /dev/null
+++ b/uafrica/Customshipping/Block/System/Config/Form/Field/Version.php
@@ -0,0 +1,52 @@
+<?php
+namespace uafrica\Customshipping\Block\System\Config\Form\Field;
+
+use Magento\Framework\Data\Form\Element\AbstractElement;
+
+/**
+ * @category   BobGroup
+ * @package    uafrica_customshipping
+ * @author     info@bob.co.za
+ * @website    https://www.bob.co.za
+ */
+class Version extends \Magento\Config\Block\System\Config\Form\Field
+{
+    const EXTENSION_URL = 'https://www.bob.co.za';
+
+    /**
+     * @var \uafrica\Customshipping\Helper\Data $helper
+     */
+    protected $_helper;
+
+    /**
+     * @param \Magento\Backend\Block\Template\Context $context
+     * @param \uafrica\Customshipping\Helper\Data $helper
+     */
+    public function __construct(
+        \Magento\Backend\Block\Template\Context $context,
+        \uafrica\Customshipping\Helper\Data $helper
+    ) {
+        $this->_helper = $helper;
+        parent::__construct($context);
+    }
+
+
+    /**
+     * @param AbstractElement $element
+     * @return string
+     */
+    protected function _getElementHtml(AbstractElement $element)
+    {
+        $extensionVersion   = $this->_helper->getExtensionVersion();
+        $extensionTitle     = 'BobGo';
+        $versionLabel       = sprintf(
+            '<a href="%s" title="%s" target="_blank">%s</a>',
+            self::EXTENSION_URL,
+            $extensionTitle,
+            $extensionVersion
+        );
+        $element->setValue($versionLabel);
+
+        return $element->getValue();
+    }
+}
diff --git a/uafrica/Customshipping/Helper/Data.php b/uafrica/Customshipping/Helper/Data.php
new file mode 100644
index 0000000000000000000000000000000000000000..60754bd7a6836388e257dddf957a217031f0c0e5
--- /dev/null
+++ b/uafrica/Customshipping/Helper/Data.php
@@ -0,0 +1,83 @@
+<?php
+namespace uafrica\Customshipping\Helper;
+
+/**
+ * @category   uafrica
+ * @package    uafrica_customshipping
+ * @author      uafrica
+ * @website    https://www.bob.co.za
+ */
+class Data extends \Magento\Framework\App\Helper\AbstractHelper
+{
+
+    const XML_PATH_ENABLED = 'uafrica_customshipping/general/enabled';
+    const XML_PATH_DEBUG   = 'uafrica_customshipping/general/debug';
+
+    /**
+     * @var \Psr\Log\LoggerInterface
+     */
+    protected $_logger;
+
+    /**
+     * @var \Magento\Framework\Module\ModuleListInterface
+     */
+    protected $_moduleList;
+
+    /**
+     * @param \Magento\Framework\App\Helper\Context $context
+     * @param \Magento\Framework\Module\ModuleListInterface $moduleList
+     */
+    public function __construct(
+        \Magento\Framework\App\Helper\Context $context,
+        \Magento\Framework\Module\ModuleListInterface $moduleList
+    ) {
+        $this->_logger                  = $context->getLogger();
+        $this->_moduleList              = $moduleList;
+
+        parent::__construct($context);
+    }
+
+    /**
+     * Check if enabled
+     *
+     * @return string|null
+     */
+    public function isEnabled()
+    {
+        return $this->scopeConfig->getValue(
+            self::XML_PATH_ENABLED,
+            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
+        );
+    }
+
+    public function getDebugStatus()
+    {
+        return $this->scopeConfig->getValue(
+            self::XML_PATH_DEBUG,
+            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
+        );
+    }
+
+    public function getExtensionVersion()
+    {
+        $moduleCode = 'uafrica_Customshipping';
+        $moduleInfo = $this->_moduleList->getOne($moduleCode);
+        return $moduleInfo['setup_version'];
+    }
+
+    /**
+     *
+     * @param $message
+     * @param bool|false $useSeparator
+     */
+    public function log($message, $useSeparator = false)
+    {
+        if ($this->getDebugStatus()) {
+            if ($useSeparator) {
+                $this->_logger->addDebug(str_repeat('=', 100));
+            }
+
+            $this->_logger->addDebug($message);
+        }
+    }
+}
diff --git a/uafrica/Customshipping/Model/Carrier/Customshipping.php b/uafrica/Customshipping/Model/Carrier/Customshipping.php
new file mode 100644
index 0000000000000000000000000000000000000000..f6eea26866ae84e3cdcf87c0addfbe59fef6a84d
--- /dev/null
+++ b/uafrica/Customshipping/Model/Carrier/Customshipping.php
@@ -0,0 +1,127 @@
+<?php
+
+namespace uafrica\Customshipping\Model\Carrier;
+
+use Magento\Framework\App\Config\ScopeConfigInterface;
+use Magento\Framework\DataObject;
+use Magento\Shipping\Model\Carrier\AbstractCarrier;
+use Magento\Shipping\Model\Carrier\CarrierInterface;
+use Magento\Shipping\Model\Config;
+use Magento\Shipping\Model\Rate\ResultFactory;
+use Magento\Store\Model\ScopeInterface;
+use Magento\Quote\Model\Quote\Address\RateResult\ErrorFactory;
+use Magento\Quote\Model\Quote\Address\RateResult\Method;
+use Magento\Quote\Model\Quote\Address\RateResult\MethodFactory;
+use Magento\Quote\Model\Quote\Address\RateRequest;
+use Psr\Log\LoggerInterface;
+
+/**
+ * @category   uafrica
+ * @package    uafrica_Customshipping
+ * @author     info@bob.co.za
+ * @website    https://www.bob.co.za
+ */
+class Customshipping extends AbstractCarrier implements CarrierInterface
+{
+    /**
+     * Carrier's code
+     *
+     * @var string
+     */
+    protected $_code = 'uafrica';
+
+    /**
+     * Whether this carrier has fixed rates calculation
+     *
+     * @var bool
+     */
+    protected $_isFixed = true;
+
+    /**
+     * @var ResultFactory
+     */
+    protected $_rateResultFactory;
+
+    /**
+     * @var MethodFactory
+     */
+    protected $_rateMethodFactory;
+
+    /**
+     * @param ScopeConfigInterface $scopeConfig
+     * @param ErrorFactory $rateErrorFactory
+     * @param LoggerInterface $logger
+     * @param ResultFactory $rateResultFactory
+     * @param MethodFactory $rateMethodFactory
+     * @param array $data
+     */
+    public function __construct(
+        ScopeConfigInterface $scopeConfig,
+        ErrorFactory $rateErrorFactory,
+        LoggerInterface $logger,
+        ResultFactory $rateResultFactory,
+        MethodFactory $rateMethodFactory,
+        array $data = []
+    ) {
+        $this->_rateResultFactory = $rateResultFactory;
+        $this->_rateMethodFactory = $rateMethodFactory;
+        parent::__construct($scopeConfig, $rateErrorFactory, $logger, $data);
+    }
+
+    /**
+     * Generates list of allowed carrier`s shipping methods
+     * Displays on cart price rules page
+     *
+     * @return array
+     * @api
+     */
+    public function getAllowedMethods()
+    {
+        return [$this->getCarrierCode() => __($this->getConfigData('name'))];
+    }
+
+    /**
+     * Collect and get rates for storefront
+     *
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     * @param RateRequest $request
+     * @return DataObject|bool|null
+     * @api
+     */
+    public function collectRates(RateRequest $request)
+    {
+        /**
+         * Make sure that Shipping method is enabled
+         */
+        if (!$this->isActive()) {
+            return false;
+        }
+
+        /** @var \Magento\Shipping\Model\Rate\Result $result */
+        $result = $this->_rateResultFactory->create();
+
+        $shippingPrice = $this->getConfigData('price');
+
+        $method = $this->_rateMethodFactory->create();
+
+        /**
+         * Set carrier's method data
+         */
+        $method->setCarrier($this->getCarrierCode());
+        $method->setCarrierTitle($this->getConfigData('title'));
+
+        /**
+         * Displayed as shipping method under Carrier
+         */
+        $method->setMethod($this->getCarrierCode());
+        $method->setMethodTitle($this->getConfigData('name'));
+
+        $method->setPrice($shippingPrice);
+        $method->setCost($shippingPrice);
+
+        $result->append($method);
+
+        return $result;
+    }
+
+}
diff --git a/uafrica/Customshipping/Readme.md b/uafrica/Customshipping/Readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..7d894ccb566462edf3b57b1202cb1549ad0542ae
--- /dev/null
+++ b/uafrica/Customshipping/Readme.md
@@ -0,0 +1,62 @@
+<!--- Document The Magento Bobgo shipping plugin with Read Me Styling, Installation and everything--->
+
+# Magento 2 Bobgo Shipping Extension
+
+## Introduction
+
+Magento 2 Bobgo Shipping Extension is a Magento 2 extension that allows you to integrate your Magento 2 store with Bobgo shipping service. This extension allows you to get real-time shipping rates from Bobgo shipping service and display them to your customers during checkout. This extension also allows you to print shipping labels and track shipments.
+
+## How to install Magento 2 Bobgo Shipping Extension
+
+### ✓ Install via composer (recommend)
+
+Run the following command in Magento 2 root folder:</br>
+<Note: You must have composer installed on your server & at this point this option does not work>
+
+``` 
+composer require uafrica/bobgo
+php bin/magento setup:upgrade
+php bin/magento setup:static-content:deploy
+```
+
+### ✓ Install via zip file
+
+1. Download the extension
+2. Unzip the file
+3. Create a folder {Magento root}/app/code/uafrica/Customshipping
+4. Copy the content from the unzip folder
+5. Go to Magento root folder and run upgrade command line to install `uafrica_Customshipping`:
+
+```
+php bin/magento setup:upgrade
+php bin/magento setup:static-content:deploy
+```
+
+## How to configure Magento 2 Bobgo Shipping Extension
+
+### ✓ Step 1: Create an account on Bobgo
+
+You need to create an account on Bobgo to get API key and API secret<Not Sure About This At This Point> . Please visit [Bobgo](https://bobgo.co.za) to create an account.
+
+### ✓ Step 2: Login to Magento Admin
+
+Login to Magento Admin and go to `Stores > Configuration > Sales > Delivery Methods`
+
+
+### ✓ Step 3: Configure Bobgo Shipping Extension
+
+1. Select `Bobgo` as shipping method
+2. Enter API key and API secret
+3. Select `Enable` to enable the extension
+4. Select `Enable Test Mode` to enable test mode
+5. Select `Enable Debug Mode` to enable debug mode
+6. Click `Save Config`
+7. Flush cache (System > Cache Management) and reindex (System > Index Management)
+8. Clear generated files(`rm -rf var/generation/*`)
+9. Reindex data (`php bin/magento indexer:reindex`)
+10. Deploy static content (`php bin/magento setup:static-content:deploy`)
+11. Run `php bin/magento cache:clean`
+12. Run `php bin/magento cache:flush`
+13. Run `php bin/magento setup:upgrade`
+14. Run `php bin/magento setup:di:compile`
+15. Run `php bin/magento setup:static-content:deploy`
diff --git a/uafrica/Customshipping/composer.json b/uafrica/Customshipping/composer.json
new file mode 100644
index 0000000000000000000000000000000000000000..b900607992c43bc0c84bc13d8bb9594d8105fcd1
--- /dev/null
+++ b/uafrica/Customshipping/composer.json
@@ -0,0 +1,27 @@
+{
+  "name": "uafrica/bobgo",
+  "description": "Streamline your shipments and order fulfilments with bobgo",
+  "type": "magento2-module",
+  "version": "1.0.0",
+  "authors": [
+    {
+      "name": "Gundo Sifhufhi",
+      "email": "gundo@bob.co.za",
+      "homepage": "https://www.bob.co.za"
+    }
+  ],
+  "license": [
+    " Apache-2.0"
+  ],
+  "require": {
+    "php": "~5.5.0|~5.6.0|~7.0.0|~7.1.0"
+  },
+  "autoload": {
+    "files": [
+      "registration.php"
+    ],
+    "psr-4": {
+      "uafrica\\Customshipping\\": ""
+    }
+  }
+}
diff --git a/uafrica/Customshipping/etc/adminhtml/system.xml b/uafrica/Customshipping/etc/adminhtml/system.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1f4f38d0abea2d5b83c92e1565d00be872d88b57
--- /dev/null
+++ b/uafrica/Customshipping/etc/adminhtml/system.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * @category   Uafrica
+ * @package    Uafrica_Customshipping
+ * @author     Uafrica
+ */
+-->
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
+    <system>
+
+        <tab id="uafrica" translate="label" sortOrder="200">
+            <label>uafrica</label>
+        </tab>
+        <section id="uafrica_customshipping"  showInDefault="1">
+            <tab>uafrica</tab>
+            <label>bobGo</label>
+            <resource>Magento_Config::config</resource>
+            <group id="general"  showInDefault="1">
+                <label>General Settings</label>
+                <field id="version" translate="label" type="label" sortOrder="1" showInDefault="1" showInWebsite="0" showInStore="0">
+                    <label>Version</label>
+                    <frontend_model>uafrica\Customshipping\Block\System\Config\Form\Field\Version</frontend_model>
+                </field>
+                <!--<field id="enabled" translate="label" type="select" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
+                    <label>Enabled</label>
+                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
+                </field>-->
+                <field id="debug" translate="label" type="select" sortOrder="20" showInDefault="1" showInWebsite="1" showInStore="1">
+                    <label>Debug Mode</label>
+                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
+                </field>
+
+            </group>
+        </section>
+        <section id="carriers" translate="label" type="text" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="1">
+            <group id="uafrica" translate="label" type="text" sortOrder="2" showInDefault="1" showInWebsite="1" showInStore="1">
+                <label>bobGo</label>
+                <field id="version" translate="label" type="label" sortOrder="0" showInDefault="1" showInWebsite="0" showInStore="0">
+                    <label>Version</label>
+                    <frontend_model>uafrica\Customshipping\Block\System\Config\Form\Field\Version</frontend_model>
+                </field>
+<!--                <field id="active" translate="label" type="select" sortOrder="1" showInDefault="1" showInWebsite="1" showInStore="0">-->
+<!--                    <label>Enabled</label>-->
+<!--                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>-->
+<!--                </field>-->
+                <field id="title" translate="label" type="text" sortOrder="2" showInDefault="1" showInWebsite="1" showInStore="1">
+                    <label>Title</label>
+                </field>
+                <field id="name" translate="label" type="text" sortOrder="3" showInDefault="1" showInWebsite="1" showInStore="1">
+                    <label>Method Name</label>
+                </field>
+                <field id="price" translate="label" type="text" sortOrder="4" showInDefault="1" showInWebsite="1" showInStore="0">
+                    <label>Shipping Cost</label>
+                    <validate>validate-number validate-zero-or-greater</validate>
+                </field>
+                <field id="specificerrmsg" translate="label" type="textarea" sortOrder="80" showInDefault="1" showInWebsite="1" showInStore="1">
+                    <label>Displayed Error Message</label>
+                </field>
+                <field id="sallowspecific" translate="label" type="select" sortOrder="90" showInDefault="1" showInWebsite="1" showInStore="0">
+                    <label>Ship to Applicable Countries</label>
+                    <frontend_class>shipping-applicable-country</frontend_class>
+                    <source_model>Magento\Shipping\Model\Config\Source\Allspecificcountries</source_model>
+                </field>
+                <field id="specificcountry" translate="label" type="multiselect" sortOrder="91" showInDefault="1" showInWebsite="1" showInStore="0">
+                    <label>Ship to Specific Countries</label>
+                    <source_model>Magento\Directory\Model\Config\Source\Country</source_model>
+                    <can_be_empty>1</can_be_empty>
+                </field>
+                <field id="showmethod" translate="label" type="select" sortOrder="92" showInDefault="1" showInWebsite="1" showInStore="0">
+                    <label>Show Method if Not Applicable</label>
+                    <frontend_class>shipping-skip-hide</frontend_class>
+                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
+                </field>
+                <field id="sort_order" translate="label" type="text" sortOrder="100" showInDefault="1" showInWebsite="1" showInStore="0">
+                    <label>Sort Order</label>
+                </field>
+            </group>
+        </section>
+
+
+    </system>
+</config>
diff --git a/uafrica/Customshipping/etc/config.xml b/uafrica/Customshipping/etc/config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c0128631672de6b9479a731981e743b443047f9e
--- /dev/null
+++ b/uafrica/Customshipping/etc/config.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * @category   Uafrica
+ * @package    Uafrica_Customshipping
+ * @author     Uafrica
+ */
+-->
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
+    <default>
+        <uafrica_customshipping>
+            <general>
+                <debug>0</debug>
+            </general>
+        </uafrica_customshipping>
+
+        <carriers>
+            <uafrica>
+                <active>0</active>
+                <sallowspecific>0</sallowspecific>
+                <price>0</price>
+                <model>uafrica\Customshipping\Model\Carrier\Customshipping</model>
+                <name>Fixed</name>
+                <title>bobGo</title>
+                <specificerrmsg>This shipping method is not available. To use this shipping method, please contact us.</specificerrmsg>
+            </uafrica>
+        </carriers>
+
+    </default>
+</config>
diff --git a/uafrica/Customshipping/etc/module.xml b/uafrica/Customshipping/etc/module.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d580cd3b909a81799b5ec990da15cf0b34935e03
--- /dev/null
+++ b/uafrica/Customshipping/etc/module.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * @category   Uafrica
+ * @package    Uafrica_Customshipping
+ * @author     Uafrica
+ */
+-->
+<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
+    <module name="uafrica_Customshipping" setup_version="1.0.0">
+    </module>
+</config>
diff --git a/uafrica/Customshipping/i18n/en_US.csv b/uafrica/Customshipping/i18n/en_US.csv
new file mode 100644
index 0000000000000000000000000000000000000000..09ef6059efe59917e951137999e4054f9a615699
--- /dev/null
+++ b/uafrica/Customshipping/i18n/en_US.csv
@@ -0,0 +1 @@
+"Enabled","Enabled"
\ No newline at end of file
diff --git a/uafrica/Customshipping/registration.php b/uafrica/Customshipping/registration.php
new file mode 100644
index 0000000000000000000000000000000000000000..3874a8c7c571621285294fb2e7411bbc0c4b18d7
--- /dev/null
+++ b/uafrica/Customshipping/registration.php
@@ -0,0 +1,6 @@
+<?php
+\Magento\Framework\Component\ComponentRegistrar::register(
+    \Magento\Framework\Component\ComponentRegistrar::MODULE,
+    'uafrica_Customshipping',
+    __DIR__
+);
diff --git a/uafrica/Customshipping/view/frontend/layout/checkout_cart_index.xml b/uafrica/Customshipping/view/frontend/layout/checkout_cart_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2c08acb3437459f52f010a28450a53ab6d43dd21
--- /dev/null
+++ b/uafrica/Customshipping/view/frontend/layout/checkout_cart_index.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
+    <body>
+        <referenceBlock name="checkout.cart.shipping">
+            <arguments>
+                <argument name="jsLayout" xsi:type="array">
+                    <item name="components" xsi:type="array">
+                        <item name="summary-block-config" xsi:type="array">
+                            <item name="children" xsi:type="array">
+                                <item name="shipping-rates-validation" xsi:type="array">
+                                    <item name="children" xsi:type="array">
+                                        <item name="uafrica-rates-validation" xsi:type="array">
+                                            <item name="component" xsi:type="string">uafrica_Customshipping/js/view/shipping-rates-validation</item>
+                                        </item>
+                                    </item>
+                                </item>
+                            </item>
+                        </item>
+                    </item>
+                </argument>
+            </arguments>
+        </referenceBlock>
+    </body>
+</page>
diff --git a/uafrica/Customshipping/view/frontend/layout/checkout_index_index.xml b/uafrica/Customshipping/view/frontend/layout/checkout_index_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3d41b4eac5eb388c255204ad196ae32b769ec5f5
--- /dev/null
+++ b/uafrica/Customshipping/view/frontend/layout/checkout_index_index.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
+    <body>
+        <referenceBlock name="checkout.root">
+            <arguments>
+                <argument name="jsLayout" xsi:type="array">
+                    <item name="components" xsi:type="array">
+                        <item name="checkout" xsi:type="array">
+                            <item name="children" xsi:type="array">
+                                <item name="steps" xsi:type="array">
+                                    <item name="children" xsi:type="array">
+                                        <item name="shipping-step" xsi:type="array">
+                                            <item name="children" xsi:type="array">
+                                                <item name="step-config" xsi:type="array">
+                                                    <item name="children" xsi:type="array">
+                                                        <item name="shipping-rates-validation" xsi:type="array">
+                                                            <item name="children" xsi:type="array">
+                                                                <item name="uafrica-rates-validation" xsi:type="array">
+                                                                    <item name="component" xsi:type="string">uafrica_Customshipping/js/view/shipping-rates-validation</item>
+                                                                </item>
+                                                            </item>
+                                                        </item>
+                                                    </item>
+                                                </item>
+                                            </item>
+                                        </item>
+                                    </item>
+                                </item>
+                            </item>
+                        </item>
+                    </item>
+                </argument>
+            </arguments>
+        </referenceBlock>
+    </body>
+</page>