diff --git a/src/main/java/Team5/SmartTowns/Organisation/organisationControllers.java b/src/main/java/Team5/SmartTowns/Organisation/organisationControllers.java
index 3108a2dded7d5b65991dda3d6b7859e5a052278f..098cad81969726e3d31387fe34d9bc349683eaa3 100644
--- a/src/main/java/Team5/SmartTowns/Organisation/organisationControllers.java
+++ b/src/main/java/Team5/SmartTowns/Organisation/organisationControllers.java
@@ -1,11 +1,18 @@
 package Team5.SmartTowns.Organisation;
 
+import Team5.SmartTowns.business.business;
+import Team5.SmartTowns.business.businessRepository;
+import jakarta.validation.Valid;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.Model;
+import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.bind.annotation.PostMapping;
+
 import org.springframework.stereotype.Controller;
+
 @Controller
 public class organisationControllers {
     @GetMapping("/localauthorities")
@@ -18,7 +25,23 @@ public class organisationControllers {
         ModelAndView modelAndView = new ModelAndView("WorkWith/business.html");
         return modelAndView;
     }
-    @GetMapping("/consumers")
+    @Autowired
+    private businessRepository businessRepository;
+    @PostMapping("/businesssub")
+    public ModelAndView localAuthSent(@Valid @ModelAttribute("business-data")business  business, BindingResult bindingResult, Model model ) {
+        if (bindingResult.hasErrors()) {
+            ModelAndView modelAndView = new ModelAndView("business-data", model.asMap());
+            return modelAndView;
+        } else {// converts user input using the organisation constructor into a submittable format to the sql table
+
+            business bus = new business(business.getBusinessName(), business.getAddress1(), business.getAddress2(), business.getCity(), business.getCounty(), business.getPostcode(), business.getWebsite());
+            System.out.println(bus);
+            businessRepository.addBusiness(bus); //add local authority to local authority table
+            ModelAndView modelAndView = new ModelAndView("redirect:/businesses");
+            return modelAndView;
+        }
+    }
+        @GetMapping("/consumers")
     public ModelAndView getConsumersPage(){
         ModelAndView modelAndView = new ModelAndView("WorkWith/consumers.html");
         return modelAndView;
diff --git a/src/main/java/Team5/SmartTowns/business/business.java b/src/main/java/Team5/SmartTowns/business/business.java
new file mode 100644
index 0000000000000000000000000000000000000000..361fda109f1a18c4238a52c3438eaae1219e0ca8
--- /dev/null
+++ b/src/main/java/Team5/SmartTowns/business/business.java
@@ -0,0 +1,57 @@
+package Team5.SmartTowns.business;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@AllArgsConstructor
+@Data
+public class business {
+    private String businessName;
+    private String address1;
+    private String address2;
+    private String city;
+    private String county;
+    private String postcode;
+    private String website;
+
+    @Override
+    public String toString(){
+        return "business{" +
+                businessName + '\'' +
+                address1 + '\'' +
+                address2 + '\'' +
+                city + '\'' +
+                county + '\'' +
+                postcode + '\'' +
+                website +
+                '}';
+    }
+
+    public String getBusinessName() {
+        return businessName;
+    }
+
+    public String getAddress1() {
+        return address1;
+    }
+
+    public String getAddress2() {
+        return address2;
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public String getCounty() {
+        return county;
+    }
+
+    public String getPostcode() {
+        return postcode;
+    }
+
+    public String getWebsite() {
+        return website;
+    }
+}
diff --git a/src/main/java/Team5/SmartTowns/business/businessRepository.java b/src/main/java/Team5/SmartTowns/business/businessRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..00bcc87952799e645d81af8de6e8d68f324368a4
--- /dev/null
+++ b/src/main/java/Team5/SmartTowns/business/businessRepository.java
@@ -0,0 +1,10 @@
+package Team5.SmartTowns.business;
+
+import java.util.List;
+
+public interface businessRepository {
+    List<business> getAllBusinesses();
+    void addBusiness(business bus);
+
+    void addLocalAuthority(business bus);
+}
diff --git a/src/main/java/Team5/SmartTowns/business/businessRepositoryJDBC.java b/src/main/java/Team5/SmartTowns/business/businessRepositoryJDBC.java
new file mode 100644
index 0000000000000000000000000000000000000000..cdf4f78be64e99f9ffb31659b02dbc01cb25908f
--- /dev/null
+++ b/src/main/java/Team5/SmartTowns/business/businessRepositoryJDBC.java
@@ -0,0 +1,47 @@
+package Team5.SmartTowns.business;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+@Repository
+public class businessRepositoryJDBC implements businessRepository{
+
+        private JdbcTemplate jdbc;
+        private RowMapper<business> businessMapper;
+
+        public businessRepositoryJDBC(JdbcTemplate ajdbc){
+            this.jdbc = ajdbc;
+            setbusinessMapper();
+        }
+
+        private void setbusinessMapper(){
+            businessMapper = (rs, i) -> new business(
+                    rs.getString("businessName"),
+                    rs.getString("address1"),
+                    rs.getString("address2"),
+                    rs.getString("city"),
+                    rs.getString("county"),
+                    rs.getString("postcode"),
+                    rs.getString("website")
+            );
+        }
+        public List<business> getAllBusinesses(){
+            String sql = "SELECT * FROM localAuthority";
+            return jdbc.query(sql, businessMapper);
+        }
+
+    @Override
+    public void addBusiness(business bus) {
+
+    }
+
+    @Override
+        public void addLocalAuthority(business bus){
+            String sql = "INSERT INTO business( businessName, address1, address2, city, county, postcode, website) values (?, ?, ?, ?, ?, ?, ?)";
+            jdbc.update(sql, bus.getBusinessName(),bus.getAddress1(),bus.getAddress2(),bus.getCity(),bus.getCounty(),bus.getPostcode(),bus.getWebsite());
+        }
+
+    }
+
+