diff --git a/src/main/java/com/example/clientproject/data/rewards/Rewards.java b/src/main/java/com/example/clientproject/data/rewards/Rewards.java
index e285c9d0cf3dffc600809af9c552c9b4c6abe58a..bb123c252868a48939da75d0899291b7d630b9f6 100644
--- a/src/main/java/com/example/clientproject/data/rewards/Rewards.java
+++ b/src/main/java/com/example/clientproject/data/rewards/Rewards.java
@@ -2,6 +2,7 @@ package com.example.clientproject.data.rewards;
 
 import com.example.clientproject.data.shops.Shops;
 import com.example.clientproject.data.stampBoards.StampBoards;
+import com.example.clientproject.data.twoFactorMethods.TwoFactorMethods;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -29,4 +30,7 @@ public class Rewards {
         rewardStampLocation = rewardLocation;
     }
 
+    @ManyToOne
+    @JoinColumn(name="Stamp_Board_Id", nullable=false)
+    private StampBoards stampBoards;
 }
diff --git a/src/main/java/com/example/clientproject/data/rewards/RewardsRepo.java b/src/main/java/com/example/clientproject/data/rewards/RewardsRepo.java
index e2c27b286bef940fbbd961298a625d6e2656734b..c1ab9c191a5068e3377af33ae003e574d668cf06 100644
--- a/src/main/java/com/example/clientproject/data/rewards/RewardsRepo.java
+++ b/src/main/java/com/example/clientproject/data/rewards/RewardsRepo.java
@@ -22,10 +22,19 @@ public interface RewardsRepo extends JpaRepository<StampBoards, Long> {
 
     /**
      * Find a Reward by the name
-     * @param rewardName - name of the Reward to find
+     * @param rewardId Id of reward to find
      * @return - Optional object containing the Reward found, if it's present
      */
     @Query("select r from Rewards r where r.rewardId = ?1")
-    Optional<Rewards> findByRewardName(String rewardName);
+    Optional<Rewards> findByRewardId(long rewardId);
+
+
+    /**
+     * Find a Reward by the name
+     * @param rewardId Id of reward to find
+     * @return - Optional Integer containing the reward, if it's present
+     */
+    @Query("select r.rewardStampLocation from Rewards r where r.rewardId = ?1")
+    Optional<Integer> getRewardValueFromId(long rewardId);
 
 }
diff --git a/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java b/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java
new file mode 100644
index 0000000000000000000000000000000000000000..ec93834e30a2164233f9f6c89ad9e7f95c3ff08c
--- /dev/null
+++ b/src/main/java/com/example/clientproject/services/GetStampBoardIdFromRewardId.java
@@ -0,0 +1,29 @@
+package com.example.clientproject.services;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class GetStampBoardIdFromRewardId {
+    @Autowired
+    JdbcTemplate jdbc;
+
+    /**
+     * @param rewardId the rewardId of the stampBoardId you want to retrieve
+     */
+    public int getStampBoardId(Integer rewardId){
+        String query = "SELECT Stamp_Board_Id FROM rewards WHERE Reward_Id = " + rewardId + ";";
+        try{
+            List<Map<String, Object>> rs = jdbc.queryForList(query);
+
+            System.out.println((int) rs.get(0).get("Stamp_Board_Id"));
+            return (int) rs.get(0).get("Stamp_Board_Id");
+        }catch (Exception e){
+            return 0;
+        }
+    }
+}
diff --git a/src/main/java/com/example/clientproject/services/UserStampBoardRetriever.java b/src/main/java/com/example/clientproject/services/UserStampBoardService.java
similarity index 63%
rename from src/main/java/com/example/clientproject/services/UserStampBoardRetriever.java
rename to src/main/java/com/example/clientproject/services/UserStampBoardService.java
index b2232bb0be5ab5642a1763ca9bc362b78d009758..b5391f7c6b490d671c8852b9554256065941b1e5 100644
--- a/src/main/java/com/example/clientproject/services/UserStampBoardRetriever.java
+++ b/src/main/java/com/example/clientproject/services/UserStampBoardService.java
@@ -10,9 +10,10 @@ import org.springframework.stereotype.Service;
 import java.sql.ResultSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 @Service
-public class UserStampBoardRetriever {
+public class UserStampBoardService {
 
     @Autowired
     JdbcTemplate jdbc;
@@ -29,7 +30,6 @@ public class UserStampBoardRetriever {
     public int getUserStampPos(int userID, int stampBoardID){
         String query = "SELECT User_Stamp_Position FROM user_stamp_boards WHERE User_Id = " + userID + " AND Stamp_Board_Id = " + stampBoardID + ";";
         try{
-            System.out.println(query);
             List<Map<String, Object>> rs = jdbc.queryForList(query);
 
             System.out.println((int) rs.get(0).get("User_Stamp_Position"));
@@ -39,4 +39,15 @@ public class UserStampBoardRetriever {
         }
 
     }
+
+    public void changeUserStampPosition(int userID, int incrementValue, int currentUserStampPos, int stampBoardId){
+        int newStampPos = currentUserStampPos + incrementValue;
+        String query = "UPDATE user_stamp_boards SET User_Stamp_Position = " + newStampPos + " WHERE User_Id = " + userID + " AND Stamp_Board_Id = " + stampBoardId + ";";
+        jdbc.execute(query);
+    }
+
+    public void createStampRecord(int userID, int stampPosition, int stampBoardId){
+        String query = "INSERT INTO user_stamp_boards (User_Id, Stamp_Board_Id, User_Stamp_Position) VALUES ("+userID+", "+stampBoardId+", "+ stampPosition +");";
+        jdbc.execute(query);
+    }
 }
diff --git a/src/main/java/com/example/clientproject/web/controllers/BusinessDetails.java b/src/main/java/com/example/clientproject/web/controllers/BusinessDetails.java
index 576d98f44e0e1b10c38697f1d52eb3baf34679d8..e1e203a73d734b0974d6d04ef2b548d335dc7264 100644
--- a/src/main/java/com/example/clientproject/web/controllers/BusinessDetails.java
+++ b/src/main/java/com/example/clientproject/web/controllers/BusinessDetails.java
@@ -6,13 +6,15 @@ import com.example.clientproject.data.socials.Socials;
 import com.example.clientproject.data.socials.SocialsRepo;
 import com.example.clientproject.data.stampBoards.StampBoards;
 import com.example.clientproject.data.stampBoards.StampBoardsRepo;
+import com.example.clientproject.data.userPermissions.UserPermissions;
+import com.example.clientproject.data.userPermissions.UserPermissionsRepo;
 import com.example.clientproject.data.userStampBoards.UserStampBoards;
 import com.example.clientproject.data.userStampBoards.UserStampBoardsRepo;
 import com.example.clientproject.data.users.Users;
 import com.example.clientproject.data.users.UsersRepo;
 import com.example.clientproject.service.Utils.JWTUtils;
 import com.example.clientproject.services.UserFavouriteTagSaver;
-import com.example.clientproject.services.UserStampBoardRetriever;
+import com.example.clientproject.services.UserStampBoardService;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -35,20 +37,24 @@ public class BusinessDetails {
 
     private JWTUtils jwtUtils;
 
-    private UserStampBoardRetriever userStampService;
+    private UserStampBoardService userStampService;
 
     private SocialsRepo socialsRepo;
 
+    UserPermissionsRepo userPermissionsRepo;
+
 
     public BusinessDetails(ShopsRepo aShopRepo, StampBoardsRepo aStampBoard,
-                           UsersRepo aUsersRepo, UserStampBoardRetriever aUserStampService,
-                           JWTUtils ajwtUtils, SocialsRepo aSocialsRepo){
+                           UsersRepo aUsersRepo, UserStampBoardService aUserStampService,
+                           JWTUtils ajwtUtils, SocialsRepo aSocialsRepo,
+                           UserPermissionsRepo upr){
         shopsRepo = aShopRepo;
         stampRepo = aStampBoard;
         usersRepo = aUsersRepo;
         jwtUtils = ajwtUtils;
         userStampService = aUserStampService;
         socialsRepo = aSocialsRepo;
+        userPermissionsRepo = upr;
     }
 
     @GetMapping("/businessDetails")
@@ -80,6 +86,20 @@ public class BusinessDetails {
 
         List<Socials> socialMedia = socialsRepo.findByShopId(shop.getShopId());
 
+        //gets users permission level for shop
+        long shopPermissionLevel = 0;
+        List<UserPermissions> userShops = userPermissionsRepo.findByUserId(jwtUtils.getLoggedInUserId(session).get());
+        //loops through userPermissions and saves it to variable to be passed into model
+        for (UserPermissions u : userShops) {
+            if (u.getShop().getShopId() == shop.getShopId()) {
+                shopPermissionLevel = u.getAdminType().getAdminTypeId();
+            }
+        }
+        //creates an object to pass into model
+        ArrayList <Integer> userShopPermissionOBJ = new ArrayList<>();
+        userShopPermissionOBJ.add((int) shopPermissionLevel);
+        model.addAttribute("userPermission", userShopPermissionOBJ);
+
 
         model.addAttribute("socials", socialMedia);
 
diff --git a/src/main/java/com/example/clientproject/web/restControllers/UpdateUserStampPosition.java b/src/main/java/com/example/clientproject/web/restControllers/UpdateUserStampPosition.java
new file mode 100644
index 0000000000000000000000000000000000000000..3b517f939a069bce3e0c169b5bf43e4f81b3ba64
--- /dev/null
+++ b/src/main/java/com/example/clientproject/web/restControllers/UpdateUserStampPosition.java
@@ -0,0 +1,124 @@
+package com.example.clientproject.web.restControllers;
+
+import com.example.clientproject.data.rewards.Rewards;
+import com.example.clientproject.data.rewards.RewardsRepo;
+import com.example.clientproject.data.shops.Shops;
+import com.example.clientproject.data.shops.ShopsRepo;
+import com.example.clientproject.data.stampBoards.StampBoards;
+import com.example.clientproject.data.userPermissions.UserPermissions;
+import com.example.clientproject.data.userPermissions.UserPermissionsRepo;
+import com.example.clientproject.data.userStampBoards.UserStampBoards;
+import com.example.clientproject.data.users.Users;
+import com.example.clientproject.data.users.UsersRepo;
+import com.example.clientproject.service.Utils.JWTUtils;
+import com.example.clientproject.services.GetStampBoardIdFromRewardId;
+import com.example.clientproject.services.StampboardUpdater;
+import com.example.clientproject.services.UserStampBoardService;
+import com.example.clientproject.web.forms.UpdateStampboardForm;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpSession;
+import java.nio.charset.Charset;
+import java.util.*;
+
+@RestController
+public class UpdateUserStampPosition {
+    JWTUtils jwtUtils;
+    UserStampBoardService userStampBoardService;
+    UserPermissionsRepo userPermissionsRepo;
+    RewardsRepo rewardsRepo;
+    UsersRepo usersRepo;
+    GetStampBoardIdFromRewardId getStampBoardIdFromRewardId;
+    ShopsRepo shopsRepo;
+
+    public UpdateUserStampPosition(JWTUtils jwt, UserStampBoardService usbs,
+                                   UserPermissionsRepo upr, RewardsRepo rr,
+                                   UsersRepo ur, GetStampBoardIdFromRewardId gsbifri,
+                                   ShopsRepo sr){ //need to add service for changing stamp pos
+        jwtUtils = jwt;
+        userStampBoardService = usbs;
+        userPermissionsRepo = upr;
+        rewardsRepo = rr;
+        usersRepo = ur;
+        getStampBoardIdFromRewardId = gsbifri;
+        shopsRepo = sr;
+    }
+
+    @PostMapping("/changeUserPos")
+    public void updateUserPos(@RequestParam(name="direction", required = true) String direction,
+                              @RequestParam(name="shopId", required = true) String shopId, HttpSession session) {
+        //will firstly check that user has permission to do action
+        //Optional<Users> user = jwtUtils.getLoggedInUserRow(session);
+        long shopPermissionLevel = 0;
+        int currentUserStampPos = 0;
+        long shopStampBoardId = 0;
+        int shopStampBoardSize = 0;
+        int shopIdConverted = Integer.parseInt(shopId);
+        List<UserPermissions> userShops = userPermissionsRepo.findByUserId(jwtUtils.getLoggedInUserId(session).get());
+        for (UserPermissions u : userShops) { //loops through userPermissions and saves it to variable to be checked
+            if (u.getShop().getShopId() == shopIdConverted) {
+                shopPermissionLevel = u.getAdminType().getAdminTypeId();
+                shopStampBoardId = u.getShop().getStampBoard().getStampBoardId();
+                shopStampBoardSize = u.getShop().getStampBoard().getStampBoardSize();
+            }
+        }
+        if(shopPermissionLevel > 1){//user has the correct level to add/subtract their own stampBoard place
+            currentUserStampPos = userStampBoardService.getUserStampPos(jwtUtils.getLoggedInUserId(session).get(), (int) shopStampBoardId );
+            Shops shop = shopsRepo.getById(Long.valueOf(shopId));
+            StampBoards stampBoard = shop.getStampBoard();
+            if(Objects.equals(direction, "subtract")){
+                if(currentUserStampPos != 0){
+                    userStampBoardService.changeUserStampPosition(jwtUtils.getLoggedInUserId(session).get(), -1, currentUserStampPos, (int) stampBoard.getStampBoardId());
+                }
+            } else if(Objects.equals(direction, "add")){
+                if(currentUserStampPos != shopStampBoardSize){
+                    userStampBoardService.changeUserStampPosition(jwtUtils.getLoggedInUserId(session).get(), 1, currentUserStampPos, (int) stampBoard.getStampBoardId());
+                    currentUserStampPos = userStampBoardService.getUserStampPos(jwtUtils.getLoggedInUserId(session).get(), (int) shopStampBoardId );
+                }
+                if(currentUserStampPos == 0){
+                    System.out.println("Attempting to create record for user");
+                    userStampBoardService.createStampRecord(jwtUtils.getLoggedInUserId(session).get(), 1, (int) shopStampBoardId);
+                }
+            }
+        }
+    }
+
+    @PostMapping("/reedeemReward")
+    public String reedeemStamps(@RequestParam(name="rewardId", required = true) int rewardId, HttpSession session){
+        Optional<Rewards> reward = rewardsRepo.findByRewardId(Long.valueOf(rewardId));
+        int stampBoardId = getStampBoardIdFromRewardId.getStampBoardId(rewardId);
+        Optional<Users> user = usersRepo.findById(Long.valueOf(jwtUtils.getLoggedInUserId(session).get()));
+        Set<UserStampBoards> userStampBoards = user.get().getUserStampBoards();
+        int userStampPos = 0;
+
+        boolean userIsLinkedToStampBoard = false;
+        for(UserStampBoards u : userStampBoards){
+            if(stampBoardId == u.getStampBoard().getStampBoardId()){
+                userStampPos = u.getUserStampPosition();
+                userIsLinkedToStampBoard = true;
+            }
+        }
+        if(userIsLinkedToStampBoard){
+            if(userStampPos >= reward.get().getRewardStampLocation()){
+                userStampBoardService.changeUserStampPosition(jwtUtils.getLoggedInUserId(session).get(), -reward.get().getRewardStampLocation(), userStampPos, stampBoardId);
+                //credit to www.programiz.com for code generator
+                String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";//creates a string of all characters
+                StringBuilder sb = new StringBuilder();
+                Random random = new Random();
+                for(int i = 0; i < 8; i++) {
+                    int index = random.nextInt(alphabet.length());
+                    char randomChar = alphabet.charAt(index);
+                    sb.append(randomChar);
+                }
+                String code = sb.toString().toUpperCase();
+                return code;
+            }
+        } else {
+            System.out.println("User is not linked to stampboard they are trying to claim a reward from");
+        }
+
+        return "no";
+    }
+}
diff --git a/src/main/resources/database/Data Script/script.sql b/src/main/resources/database/Data Script/script.sql
index a97d67a27ab9ce91f5d11917889facee84ffffc6..513d9b5cd3c7017caa4a17ce23d0731f7023fef2 100644
--- a/src/main/resources/database/Data Script/script.sql	
+++ b/src/main/resources/database/Data Script/script.sql	
@@ -1,14 +1,14 @@
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Ethan','Allen-Harris','ethanaharris10@gmail.com','$2a$10$nIjlchUua8JPHUcChoSBfu8hdHfCH2QDInC6785FJidGENP22pIly', 'testImage.png', 1);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Shraya','BELUSKO','ShrayaBELUSKO@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',1);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Saleem','GETTI','SaleemGETTI@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',1);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Saajid','EFREHN','SaajidEFREHN@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',2);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Karaleigh','HAJEC','KaraleighHAJEC@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',1);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Sari','YDICK','SariYDICK@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',1);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Marie','LASUCCI','MarieLASUCCI@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',2);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Tieanna','ACCINI','TieannaACCINI@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',2);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Noel','MCKASSON','NoelMCKASSON@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',2);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Henrich','MANIA','HenrichMANIA@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',2);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Mckenna','CHWEGMANN','MckennaCHWEGMANN@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',1);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("randeep","ccovery","randeepccovery@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",2);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("kaela","ra","kaelara@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",2);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("kerra","oneypenny","kerraoneypenny@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",1);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("morag","za","moragza@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",1);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("waqas","ediego","waqasediego@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",1);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("kobe","hamsi","kobehamsi@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",2);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("mhairi","engblom","mhairiengblom@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",2);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("deanne","aqib","deanneaqib@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",1);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("kian","chesler","kianchesler@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",2);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("freddie","lachy","freddielachy@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",2);
+INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (1,1,1);
 INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (2,1,1);
 INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (3,1,1);
 INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (4,1,1);
@@ -19,57 +19,263 @@ INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (8,1,1);
 INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (9,1,1);
 INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (10,1,1);
 
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Jonathon','ATLEY','JonathonATLEY@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',2);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Carine','OLOMITO','CarineOLOMITO@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',1);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Manuel','PROCACCINI','ManuelPROCACCINI@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',1);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Leon','AUF','LeonAUF@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',1);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Charmian','OFFBECK','CharmianOFFBECK@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',1);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Carolann','BANDA','CarolannBANDA@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',2);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Soul','AHBAR','SoulAHBAR@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',2);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Kismet','BURROUS','KismetBURROUS@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',2);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Fatou','OMBO','FatouOMBO@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',2);
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Blaine','OBARD','BlaineOBARD@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',1);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("keeganjack","hieb","keeganjackhieb@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",2);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("faren","krosschell","farenkrosschell@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",1);
 INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (11,1,2);
 INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (12,1,2);
-INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (13,1,2);
-INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (14,1,2);
-INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (15,1,2);
-INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (16,1,2);
-INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (17,1,2);
-INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (18,1,2);
-INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (19,1,2);
 
-INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ('Amatul','PINNER','AmatulPINNER@email.com','$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK','testImage.png',2);
+INSERT INTO Users (User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id) VALUES ("aimen","enifer","aimenenifer@email.com","$2a$10$YnDtWkRyd3WfYb5CDHBNx.yfuWPW7dOg86NteaEAyaEmaRywfwueK","testImage.png",1);
+INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (13,1,3);
 
-INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ('Roob Group','','RoobGroup.com','24811','CD Congo The Democratic Republic Of The','shopPic.png',0,1,1);
-INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ('Marks - Durgan','','MarksDurgan.com','18079','EG Egypt','shopPic.png',0,1,1);
-INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ('Fay - Koepp','','FayKoepp.com','12140','KP Korea Democratic Peoples Republic Of','shopPic.png',0,1,1);
-INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ('Mueller, Lueilwitz and Roberts','','MuellerLueilwitzandRoberts.com','20157','CZ Czech Republic','shopPic.png',1,1,1);
-INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ('Balistreri, Aufderhar and Huels','','BalistreriAufderharandHuels.com','31289','BS Bahamas','shopPic.png',0,1,1);
-INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ('Murray, Barrows and Tillman','','MurrayBarrowsandTillman.com','745','HK Hong Kong','shopPic.png',1,1,1);
-INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ('Weimann - Hauck','','WeimannHauck.com','39160','SZ Swaziland','shopPic.png',1,1,1);
-INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ('Douglas, Reichert and Kutch','','DouglasReichertandKutch.com','2093','SC Seychelles','shopPic.png',1,1,1);
-INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ('Schoen Group','','SchoenGroup.com','10783','FR France','shopPic.png',0,1,1);
-INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ('Homenick and Sons','','HomenickandSons.com','14948','SM San Marino','shopPic.png',0,1,1);
-
-INSERT INTO stamp_boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (20, "#ffc5c5", "imgs/burrito.png");
-INSERT INTO rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("Free medium Burrito", 4, 2);
-INSERT INTO rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("Free delivery", 7, 2);
-INSERT INTO rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("2 for 1 deal", 12, 2);
-INSERT INTO rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("Free large burrito", 15, 2);
-INSERT INTO rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("£10 off next delivery", 17, 2);
-INSERT INTO rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("50% off next delivery up to £40", 20, 2);
-
-INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ('Bens Burritos','Our owner Benjamin has taked his family recipes and techniques that have been passed down for generations in mexico to come bless the tastebuds of the USA, land of freedom. Come and get tasty burritos delivered to your home!','BensBurritos.com','13708','SM San Marino','imgs/benburrito.png',0,2,2);
-
-INSERT INTO socials (Shop_Id, Social_Platform, Social_Name) VALUES (12, "tiktok", "bensburrito");
-INSERT INTO socials (Shop_Id, Social_Platform, Social_Name) VALUES (12, "twitter", "bensburrito");
-INSERT INTO socials (Shop_Id, Social_Platform, Social_Name) VALUES (12, "instagram", "bensburrito");
-INSERT INTO socials (Shop_Id, Social_Platform, Social_Name) VALUES (12, "facebook", "bensburrito");
-
-SET FOREIGN_KEY_CHECKS=0;
-INSERT INTO user_stamp_boards (User_Id, Stamp_Board_Id, User_Stamp_Position) VALUES (1, 2, 4);
-INSERT INTO User_Permissions (User_ID, Shop_ID, Admin_Type_Id) VALUES (1,12,3);
-SET FOREIGN_KEY_CHECKS=1;
 
 
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("10% off",3,2);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("2 for 1",8,3);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("10% off",7,4);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("�5 off",10,5);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("2 for 1",6,6);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("�5 off",9,7);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("2 for 1",8,8);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("10% off",5,9);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("2 for 1",6,10);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("2 for 1",8,11);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("�5 off",3,12);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("5% off",3,13);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("2 for 1",8,14);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("10% off",9,15);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("10% off",3,16);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("2 for 1",9,17);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("10% off",8,18);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("10% off",8,19);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("10% off",7,20);
+INSERT INTO Stamp_Boards (Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon) VALUES (10,"#ff0000","stamp.png");
+INSERT INTO Rewards (Reward_Name, Reward_Stamp_Location, Stamp_Board_Id) VALUES ("5% off",3,21);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Hudson Group","","hudsongroup.com","21722","ge georgia","shopPic.png","shopBanner.png",1,2,2);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Wyman - Mertz","","wymanmertz.com","27121","ir iran islamic republic of","shopPic.png","shopBanner.png",0,3,4);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Sauer, Hoppe and Hartmann","","sauerhoppeandhartmann.com","12603","kp korea democratic peoples republic of","shopPic.png","shopBanner.png",1,4,2);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Flatley LLC","","flatleyllc.com","34968","tn tunisia","shopPic.png","shopBanner.png",1,5,6);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Johnson Inc","","johnsoninc.com","31198","gs south georgia and the south sandwich islands","shopPic.png","shopBanner.png",1,6,4);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Hills, Corkery and Maggio","","hillscorkeryandmaggio.com","16424","om oman","shopPic.png","shopBanner.png",0,7,7);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Dickinson Group","","dickinsongroup.com","26474","ga gabon","shopPic.png","shopBanner.png",1,8,6);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Balistreri LLC","","balistrerillc.com","38659","es spain","shopPic.png","shopBanner.png",1,9,2);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Gaylord, Ankunding and Stanton","","gaylordankundingandstanton.com","35281","ba bosnia and herzegovina","shopPic.png","shopBanner.png",1,10,7);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Hilpert Group","","hilpertgroup.com","3304","lv latvia","shopPic.png","shopBanner.png",0,11,7);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Kling - Bauch","","klingbauch.com","35570","re reunion","shopPic.png","shopBanner.png",1,12,4);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Larkin - King","","larkinking.com","7492","dk denmark","shopPic.png","shopBanner.png",1,13,4);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Muller, Ullrich and Kunze","","mullerullrichandkunze.com","6456","gw guineabissau","shopPic.png","shopBanner.png",0,14,6);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Friesen - Armstrong","","friesenarmstrong.com","29922","mw malawi","shopPic.png","shopBanner.png",0,15,3);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("McDermott Inc","","mcdermottinc.com","15319","gm gambia","shopPic.png","shopBanner.png",0,16,4);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Moen - Raynor","","moenraynor.com","9864","kg kyrgyzstan","shopPic.png","shopBanner.png",1,17,3);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Hilpert - Berge","","hilpertberge.com","11447","ar argentina","shopPic.png","shopBanner.png",0,18,3);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Padberg Inc","","padberginc.com","15997","kr korea republic of","shopPic.png","shopBanner.png",1,19,2);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Senger - Ryan","","sengerryan.com","25887","iq iraq","shopPic.png","shopBanner.png",0,20,3);
+INSERT INTO Shops (Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id) VALUES ("Fay - Koepp","","faykoepp.com","13482","gf french guiana","shopPic.png","shopBanner.png",1,21,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (1,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,10);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,14);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,12);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,15);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,13);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,11);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,9);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,5);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,4);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,18);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (2,8);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,19);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,9);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,5);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,6);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,10);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,14);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,17);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,15);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,8);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (3,18);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (4,17);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (4,13);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (4,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (4,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (4,12);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (4,14);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (4,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (4,9);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (4,11);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (4,19);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (4,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (5,10);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (6,10);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (6,6);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (6,11);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (6,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (6,13);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (6,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (6,14);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (7,18);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (7,12);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (7,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (7,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (7,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (7,19);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (7,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (7,5);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (7,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (8,13);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (8,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (8,8);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (8,11);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (8,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,14);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,10);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,12);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,17);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,13);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,5);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,9);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,6);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,18);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,4);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,15);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,11);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (9,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (10,8);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (10,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (10,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,6);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,13);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,11);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,19);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,5);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,10);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,9);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,14);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,17);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,8);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,12);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (11,18);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,18);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,11);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,19);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,13);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,14);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,17);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,12);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,10);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,6);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,5);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,15);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,4);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (12,9);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,13);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,14);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,17);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,10);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,4);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,11);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,18);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,19);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,9);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,6);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (13,8);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (14,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (14,17);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (14,5);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (14,13);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (14,11);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (14,14);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,10);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,6);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,11);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,9);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,4);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,17);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,19);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,15);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,8);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (15,5);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (16,19);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (16,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (16,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (16,4);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (16,15);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (16,17);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (16,9);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (16,6);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (16,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (16,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (17,16);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (17,12);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (17,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (17,3);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (17,6);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (17,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (17,5);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (17,13);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (18,10);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (18,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (18,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (18,13);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (18,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (18,18);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (19,5);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (19,8);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (19,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (19,14);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (19,2);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (19,19);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (19,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (19,15);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (20,18);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (20,7);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (20,6);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (20,14);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (20,12);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (20,1);
+INSERT INTO Shop_Tag_Links (Shop_Id, Tag_Id) VALUES (20,3);
diff --git a/src/main/resources/database/Data Script/tablePopulator.py b/src/main/resources/database/Data Script/tablePopulator.py
index c210aed595d44fb8d1d7d5a3a0360598c2c3df36..9564659071373b2177543b70b7dcb44ca047ecb5 100644
--- a/src/main/resources/database/Data Script/tablePopulator.py	
+++ b/src/main/resources/database/Data Script/tablePopulator.py	
@@ -3,7 +3,9 @@ import random
 import hashlib
 
 global current_user_id
-current_user_id = 2
+global current_stamp_id
+current_stamp_id = 1
+current_user_id = 1
 
 # Where pos = position on line, total = total elements in line, fileName is the file name and concat is to remove some
 # random text from surnames.csv
@@ -37,6 +39,31 @@ def createInsert(data, table, columns):
     tempString = 'INSERT INTO ' + table +  " (" + columns + ")" + ' VALUES ' + '(' + data + ');'
     return tempString
 
+def createStampBoard():
+    query = '10,"#ff0000","stamp.png"'
+    return createInsert(query, "Stamp_Boards", "Stamp_Board_Size, Stamp_Board_Colour, Stamp_Board_Icon")
+
+def createRewards():
+    global current_stamp_id
+    rewardsArray = ['"10% off"','"5% off"','"2 for 1"','"£5 off"']
+    query = rewardsArray[random.randint(0,len(rewardsArray)-1)] + ',' + str(random.randint(3,10)) + ',' + str(current_stamp_id+1)
+    return createInsert(query, "Rewards", "Reward_Name, Reward_Stamp_Location, Stamp_Board_Id")
+
+def linkTags(shopId):
+    finalArray = []
+    randomNo = random.randint(1,19)
+    tagIdArray = []
+
+    for i in range(1,20):
+        tagIdArray.append(i)
+
+    random.shuffle(tagIdArray)
+
+    for i in range(1, randomNo):
+        finalArray.append(createInsert((str(shopId) + ',' + str(tagIdArray[i])),"Shop_Tag_Links","Shop_Id, Tag_Id"))
+
+    return finalArray
+
 # Where amount is how many names to compile, and usertype is the type of user you'd like to generate (1,2,3)
 #
 # Returns a list of complete insert statements
@@ -66,11 +93,11 @@ def namePopulator(amount, userType):
     for i in range(0, amount):
         twoFAMethod = random.randint(1, 2)
         email = newForenames[i] + newSurnames[i] + "@email.com"
-        stringInsert = '"' + newForenames[i] + '","' + newSurnames[i] + '","' + email + '","' + stdPassword + '","' + profilePic + '",' + str(twoFAMethod)
+        stringInsert = '"' + newForenames[i].lower() + '","' + newSurnames[i].lower() + '","' + email.lower() + '","' + stdPassword + '","' + profilePic + '",' + str(twoFAMethod)
         insertArray.append(createInsert(stringInsert, "Users", "User_First_Name, User_Last_Name, User_Email, User_Password, User_Profile_Picture, Two_Factor_Method_Id"))
 
     tempAmount = current_user_id
-    while current_user_id < (tempAmount+amount-1):
+    while current_user_id < (tempAmount+amount):
         # print(current_user_id)
         # print(current_user_id+amount)
         stringInsert = str(current_user_id) + ',' + '1' + ',' + str(userType)
@@ -115,8 +142,8 @@ def companyPopulator(amount):
 
         countryi = random.randint(0, len(countries)-1)
 
-        stringInsert = '"' + companyNames[i] + '","' + "" + '","' + websiteArray[i] + '","' + str(earnings) + '","' + countries[countryi] + '","' + "shopPic.png" + '",' + str(random.randint(0, 1)) + ',' + str(1)
-        insertArray.append(createInsert(stringInsert, "Shops", "Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Active, Stamp_Board_Id"))
+        stringInsert = '"' + companyNames[i] + '","' + "" + '","' + websiteArray[i].lower() + '","' + str(earnings) + '","' + countries[countryi].lower() + '","' + "shopPic.png" + '","' +"shopBanner.png" + '",' + str(random.randint(0, 1)) + ',' + str(i+2) + ',' + str(random.randint(2,7))
+        insertArray.append(createInsert(stringInsert, "Shops", "Shop_Name, Shop_Description, Shop_Website, Shop_Earnings, Shop_Countries, Shop_Image, Shop_Banner, Shop_Active, Stamp_Board_Id, Category_Id"))
 
     return insertArray
 
@@ -133,6 +160,7 @@ def userWriter(f, amount, userType):
 
 # Generates sql and writes to file
 def createSQLscript():
+    global current_stamp_id
     f = open("script.sql", "r+")
     f.truncate()
     f.close()
@@ -152,13 +180,30 @@ def createSQLscript():
 
     f.write("\n\n")
 
-    # Shops
     amount = int(input("How many shops would you like to generate?: "))
+
+    # Stamp Boards
+    for i in range(0,amount):
+        f.write(createStampBoard())
+        f.write("\n")
+        f.write(createRewards())
+        f.write("\n")
+        current_stamp_id+=1
+
+    # Shops
     companies = companyPopulator(amount)
     for each in companies:
         f.write(each)
         f.write("\n")
 
+    # Tags
+    tagLinkArray = []
+    for i in range(1, amount+1):
+        tagLinkArray = linkTags(i)
+        for i in range(0,len(tagLinkArray)):
+            f.write(tagLinkArray[i])
+            f.write("\n")
+
     f.close()
 
 
diff --git a/src/main/resources/database/schema.sql b/src/main/resources/database/schema.sql
index 6198044d83712a36dc6e2292019d9346f27b5f88..c7736a3642b0816130bf6b9e4ac6353037abd22a 100644
--- a/src/main/resources/database/schema.sql
+++ b/src/main/resources/database/schema.sql
@@ -276,22 +276,22 @@ INSERT INTO Admin_Types (Admin_Type_Id, Admin_Type_Name) VALUES (1,'User');
 INSERT INTO Admin_Types (Admin_Type_Id, Admin_Type_Name) VALUES (2,'Business Admin');
 INSERT INTO Admin_Types (Admin_Type_Id, Admin_Type_Name) VALUES (3,'Super Admin');
 
-INSERT INTO Tags (Tag_Name) VALUES ('Football');
-INSERT INTO Tags (Tag_Name) VALUES ('Fashion');
-INSERT INTO Tags (Tag_Name) VALUES ('Electronics');
-INSERT INTO Tags (Tag_Name) VALUES ('Coffee');
-INSERT INTO Tags (Tag_Name) VALUES ('Art');
-INSERT INTO Tags (Tag_Name) VALUES ('Pets');
-INSERT INTO Tags (Tag_Name) VALUES ('Clothes');
-INSERT INTO Tags (Tag_Name) VALUES ('Designer');
-INSERT INTO Tags (Tag_Name) VALUES ('Groceries');
-INSERT INTO Tags (Tag_Name) VALUES ('Cars');
-INSERT INTO Tags (Tag_Name) VALUES ('Hiking');
-INSERT INTO Tags (Tag_Name) VALUES ('Cooking');
-INSERT INTO Tags (Tag_Name) VALUES ('Furniture');
-INSERT INTO Tags (Tag_Name) VALUES ('Gaming');
-INSERT INTO Tags (Tag_Name) VALUES ('Travelling');
-INSERT INTO Tags (Tag_Name) VALUES ('Beauty');
-INSERT INTO Tags (Tag_Name) VALUES ('Eco-friendly');
-INSERT INTO Tags (Tag_Name) VALUES ('Decorations');
-INSERT INTO Tags (Tag_Name) VALUES ('Photography');
+INSERT INTO Tags (Tag_Name) VALUES ('football');
+INSERT INTO Tags (Tag_Name) VALUES ('fashion');
+INSERT INTO Tags (Tag_Name) VALUES ('electronics');
+INSERT INTO Tags (Tag_Name) VALUES ('coffee');
+INSERT INTO Tags (Tag_Name) VALUES ('art');
+INSERT INTO Tags (Tag_Name) VALUES ('pets');
+INSERT INTO Tags (Tag_Name) VALUES ('clothes');
+INSERT INTO Tags (Tag_Name) VALUES ('designer');
+INSERT INTO Tags (Tag_Name) VALUES ('groceries');
+INSERT INTO Tags (Tag_Name) VALUES ('cars');
+INSERT INTO Tags (Tag_Name) VALUES ('hiking');
+INSERT INTO Tags (Tag_Name) VALUES ('cooking');
+INSERT INTO Tags (Tag_Name) VALUES ('furniture');
+INSERT INTO Tags (Tag_Name) VALUES ('gaming');
+INSERT INTO Tags (Tag_Name) VALUES ('travelling');
+INSERT INTO Tags (Tag_Name) VALUES ('beauty');
+INSERT INTO Tags (Tag_Name) VALUES ('eco-friendly');
+INSERT INTO Tags (Tag_Name) VALUES ('decorations');
+INSERT INTO Tags (Tag_Name) VALUES ('photography');
diff --git a/src/main/resources/static/css/viewShop.css b/src/main/resources/static/css/viewShop.css
index c7a22395bfae22da772326ab5d3ede32c8ac2498..a42ee8bb8ec07fa002f15ac0ed2a4942acc82f29 100644
--- a/src/main/resources/static/css/viewShop.css
+++ b/src/main/resources/static/css/viewShop.css
@@ -183,3 +183,49 @@ img.stamp{
   align-items: center;
   position: relative;
 }
+
+.change-stamp-progress-container{
+  position: absolute;
+  display: flex;
+  flex-direction: column;
+  top: 70%;
+  right: 3%;
+  width: 10px;
+}
+
+.reward-box{
+  width: inherit;
+
+}
+
+.text-align-center{
+  text-align: center;
+}
+
+.inherit-width{
+  width: inherit;
+}
+
+.reward-claim-title{
+  font-weight: bold;
+  font-size: 40px;
+}
+
+.big-margin-top{
+  margin-top: 70px;
+}
+
+.reward-claim-code{
+  color: black;
+  font-weight: bold;
+  font-size: 60px;
+}
+
+.custom-modal-card-body{
+  background-color: #fff;
+  flex-grow: 1;
+  flex-shrink: 1;
+  padding: 20px;
+  height: 400px;
+  border-radius: 0px 0px 10px 10px;
+}
diff --git a/src/main/resources/static/js/selectCategories.js b/src/main/resources/static/js/selectCategories.js
index 7c3a3ebad97dcbff9665c58ecb306781e6839090..285dbe05020044f8bc20386366806c70c1cdbec0 100644
--- a/src/main/resources/static/js/selectCategories.js
+++ b/src/main/resources/static/js/selectCategories.js
@@ -40,9 +40,9 @@ function submitCategories(listSize){
                 status.innerHTML = "There was an error try again later.";
             }
         };
-        xhttp.onerror = function () {
-            status.innerHTML = "There was an error. Please try again later.";
-        }
+            xhttp.onerror = function () {
+                status.innerHTML = "There was an error. Please try again later.";
+            }
         xhttp.send(params);
         return false;
     }
diff --git a/src/main/resources/static/js/viewShop.js b/src/main/resources/static/js/viewShop.js
index 2f409ca8c5920d0905bc479634ff03c6a037347e..3d7fc0ecf7bc079d4003e3de184fcf3b2585a771 100644
--- a/src/main/resources/static/js/viewShop.js
+++ b/src/main/resources/static/js/viewShop.js
@@ -1,5 +1,6 @@
 var currentPage = 1;
 
+
 function pageNav(direction){
     //this checks that current page will not go to 0 if "direction" = -1 / left
     if (direction === -1){ //"-1" = left
@@ -26,6 +27,55 @@ function pageNav(direction){
     }
 }
 
-function toBusinessWebsite(URL){
-    window.location.href = URL;
+
+function changeUserStampPos(increment, shopId){
+    if (increment === "subtract"){ //take away a stamp position from user
+        params = 'direction=subtract';
+    } else if(increment === "add"){ //add a stamp to user
+        params = 'direction=add';
+    } else {
+        return null;
+    }
+    params = params + '&shopId=' + shopId;
+    var xhttp = new XMLHttpRequest();
+    xhttp.open("POST", '/changeUserPos', true); // true is asynchronous
+    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
+    xhttp.onload = function () {
+        if (xhttp.readyState === 4 && xhttp.status === 200) {
+            console.log(xhttp.responseText);
+            window.location.reload(true);
+        }
+    }
+    xhttp.onerror = function () {
+        alert("There was an error. Database has not been updated.");
+    }
+    xhttp.send(params);
+    return false;
 }
+
+function claimReward(rewardId){
+    params = 'rewardId=' + rewardId;
+    var xhttp = new XMLHttpRequest();
+    xhttp.open("POST", '/reedeemReward', true); // true is asynchronous
+    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
+    xhttp.onload = function () {
+        if (xhttp.readyState === 4 && xhttp.status === 200) {
+            console.log(xhttp.responseText);
+            var modal = document.getElementById("rewardModal");
+            var code = document.getElementById("reward-code");
+            code.innerText = xhttp.responseText;
+            modal.classList.add("is-active");
+        }
+    }
+    xhttp.onerror = function () {
+        alert("There was an error. Database has not been updated.");
+    }
+    xhttp.send(params);
+    return false;
+}
+
+
+function closeModal(){
+    window.location.reload(true);
+}
+
diff --git a/src/main/resources/templates/fragments/reward_card.html b/src/main/resources/templates/fragments/reward_card.html
index 27ef83f54948571b38a5e01e451811513ebc4623..a2f3babb3870c6b54886f70e289cf72e3083ab62 100644
--- a/src/main/resources/templates/fragments/reward_card.html
+++ b/src/main/resources/templates/fragments/reward_card.html
@@ -28,7 +28,7 @@
                 <p th:text="${reward_amount_obtained} + '/' + ${total_reward_amount}"></p>
             </div>
             <div class="level-right">
-                <a th:href="'businessDetails?shopId=' + ${shop.getShopId()}">
+                <a th:href="'businessDetails?shopId=' + ${shopId}">
                 <button class="button is-rounded">
                     Explore
                     <span class="icon is-small is-left ml-1">
diff --git a/src/main/resources/templates/shopDetails.html b/src/main/resources/templates/shopDetails.html
index 409ff6da2368c7e5ef2436183273faa118e211fa..18882f8fa9592f9d7258f761adc0e0688a38a90f 100644
--- a/src/main/resources/templates/shopDetails.html
+++ b/src/main/resources/templates/shopDetails.html
@@ -41,7 +41,7 @@
           <div th:each="reward : ${stampBoard.rewards}" class="reward is-fullwidth">
             <p class="reward-text" th:text="${reward.rewardName}"></p>
             <button th:unless="${UserStampPos[0]>=reward.rewardStampLocation}" class="button is-small buttonRewardNotReady">Cannot afford</button>
-            <button th:if="${UserStampPos[0]>=reward.rewardStampLocation}" class="button is-small buttonRewardisReady">Click to claim!</button>
+            <button th:if="${UserStampPos[0]>=reward.rewardStampLocation}" class="button is-small buttonRewardisReady" th:onclick="claimReward([[${reward.rewardId}]])">Click to claim!</button>
             <progress class="progress is-small marginBottom7px is-success" th:value="${UserStampPos[0]}" th:max="${reward.rewardStampLocation}"></progress>
             <!-- TH:STYLE HAS NOT BEEN SET SO EXPECT AN ERROR -->
             <p class="stampProgressText" th:unless="${UserStampPos[0]>=reward.rewardStampLocation}" th:text="${reward.rewardStampLocation - UserStampPos[0]} + ' away from reward'"/>
@@ -110,7 +110,7 @@
                         </span>
                       </span>
                     </span>
-                    <a th:href="'https://twitter.com/' + ${@loadSocials.getSocial(socials, 'instagram')}"><span class="tag is-large is-danger mousePointerWhenHovered">Instagram</span></a>
+                    <a th:href="'https://instagram.com/' + ${@loadSocials.getSocial(socials, 'instagram')}"><span class="tag is-large is-danger mousePointerWhenHovered">Instagram</span></a>
                   </div>
                 </div>
 
@@ -132,5 +132,24 @@
       <!-- <img th:src="${shop.shopImage}" alt=""> -->
       <!-- <h1 th:text="${stampBoard.stampBoardSize}"></h1> -->
     </div>
+    <div class="change-stamp-progress-container" th:if="${userPermission[0] > 1}">
+        <button class="button is-rounded is-info" th:onclick="changeUserStampPos('add', [[${shop.getShopId}]])">+</button>
+        <button class="button is-rounded is-info" th:onclick="changeUserStampPos('subtract', [[${shop.getShopId}]])">-</button>
+    </div>
+    <div class="modal" id="rewardModal">
+      <div class="modal-background"></div>
+      <div class="modal-card">
+        <header class="modal-card-head text-align-center">
+          <p class="modal-card-title reward-claim-title">Claim your reward!</p>
+          <button class="delete" aria-label="close" onclick="closeModal()"></button>
+        </header>
+        <section class="custom-modal-card-body">
+          <div class="inherit-width text-align-center big-margin-top">reward code:</div>
+          <div class="inherit-width text-align-center reward-claim-code" id="reward-code">XKMSTVZ</div>
+
+        </section>
+      </div>
+    </div>
+    <span th:value="${shop.getShopId}" id="shopId"/>
 </body>
 </html>