Index: src/main/java/edu/gjoko/schedlr/config/AppFilter.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/config/AppFilter.java	(revision a436340967abb97f2cda58184c9eaaa6f91fcea1)
+++ src/main/java/edu/gjoko/schedlr/config/AppFilter.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -4,4 +4,5 @@
 import org.springframework.security.core.context.SecurityContextImpl;
 import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.util.StringUtils;
 import org.springframework.web.filter.GenericFilterBean;
 
@@ -23,9 +24,13 @@
         HttpSession session = httpServletRequest.getSession(false);
 
+        if(httpServletRequest.getRequestURI().endsWith(".js") || httpServletRequest.getRequestURI().endsWith(".css")) {
+            filterChain.doFilter(servletRequest, servletResponse);
+            return;
+        }
         if(session != null) {
             Map<String, String> roleTargetUrlMap = new HashMap<>();
-            roleTargetUrlMap.put("ADMIN", "/date");
-            roleTargetUrlMap.put("CUSTOMER", "/number");
-            roleTargetUrlMap.put("BUSINESS_OWNER", "");
+            roleTargetUrlMap.put("ADMIN", "/admin");
+            roleTargetUrlMap.put("CUSTOMER", "/homepage");
+            roleTargetUrlMap.put("BUSINESS_OWNER", "/business_homepage");
             SecurityContextImpl sci = (SecurityContextImpl) session.getAttribute("SPRING_SECURITY_CONTEXT");
             if(sci != null) {
@@ -34,14 +39,18 @@
                 for (final GrantedAuthority grantedAuthority : authorities) {
                     String authorityName = grantedAuthority.getAuthority();
-                    if("DATE".equalsIgnoreCase(authorityName)) {
-                        servletRequest.getRequestDispatcher("date").forward(servletRequest, servletResponse);
-                        return;
-                    } else if("GUESS_NUMBER".equalsIgnoreCase(authorityName)) {
-                        try {
-                            servletRequest.getRequestDispatcher("number").forward(servletRequest, servletResponse);
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
-
+                    String page = "";
+                    switch (authorityName) {
+                        case "ADMIN":
+                            page = "/admin";
+                            break;
+                        case "CUSTOMER":
+                        case "BUSINESS_OWNER":
+                            page = "/homepage";
+                            break;
+                        default:
+                            break;
+                    }
+                    if(page != null && !page.trim().isEmpty()) {
+                        servletRequest.getRequestDispatcher(page).forward(servletRequest, servletResponse);
                         return;
                     }
Index: src/main/java/edu/gjoko/schedlr/config/AppSecurityConfig.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/config/AppSecurityConfig.java	(revision a436340967abb97f2cda58184c9eaaa6f91fcea1)
+++ src/main/java/edu/gjoko/schedlr/config/AppSecurityConfig.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -60,4 +60,5 @@
                 .antMatchers("/register_business").permitAll()
                 .antMatchers("/api/nomenclatures/*").permitAll()
+                .antMatchers("/api/business").permitAll()
                 .antMatchers("/homepage").permitAll()
                 .antMatchers("/css/**").permitAll()
Index: src/main/java/edu/gjoko/schedlr/config/MvcConfig.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/config/MvcConfig.java	(revision a436340967abb97f2cda58184c9eaaa6f91fcea1)
+++ src/main/java/edu/gjoko/schedlr/config/MvcConfig.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -2,4 +2,5 @@
 
 import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@@ -14,6 +15,11 @@
         registry.addViewController("/register_business").setViewName("register_business");
         registry.addViewController("/homepage").setViewName("homepage");
+        registry.addViewController("/admin").setViewName("admin");
     }
 
-
+    @Override
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {
+        registry.addResourceHandler("/resources/**")
+                .addResourceLocations("/resources/");
+    }
 }
Index: src/main/java/edu/gjoko/schedlr/controllers/AdminController.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/controllers/AdminController.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
+++ src/main/java/edu/gjoko/schedlr/controllers/AdminController.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -0,0 +1,14 @@
+package edu.gjoko.schedlr.controllers;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@Controller
+public class AdminController {
+
+    @GetMapping(path = "/admin")
+    public String getAdminPageTemplate(Model model) {
+        return "admin";
+    }
+}
Index: src/main/java/edu/gjoko/schedlr/controllers/HomePageController.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/controllers/HomePageController.java	(revision a436340967abb97f2cda58184c9eaaa6f91fcea1)
+++ src/main/java/edu/gjoko/schedlr/controllers/HomePageController.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -11,5 +11,5 @@
 public class HomePageController {
 
-    @GetMapping(name = "/homepage")
+    @GetMapping(path = "/homepage")
     public String getHomePageTemplate(Model model, Principal principal) {
         System.out.println(principal);
@@ -17,5 +17,5 @@
     }
 
-    @PostMapping(name = "/homepage")
+    @PostMapping(path = "/homepage")
     public String postHomePageTemplate(Model model) {
         return "homepage";
Index: src/main/java/edu/gjoko/schedlr/controllers/RegisterController.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/controllers/RegisterController.java	(revision a436340967abb97f2cda58184c9eaaa6f91fcea1)
+++ src/main/java/edu/gjoko/schedlr/controllers/RegisterController.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -20,5 +20,5 @@
     }
 
-    @GetMapping(value ="/register_customer")
+    @GetMapping(path ="/register_customer")
     public String getCustomerRegisterPage(Model model) {
         model.addAttribute("stakeholder", new Stakeholder());
@@ -26,5 +26,5 @@
     }
 
-    @PostMapping(value = "/register_customer")
+    @PostMapping(path = "/register_customer")
     public String registerCustomer(@ModelAttribute Stakeholder customer, Model model) {
         Stakeholder user = stakeholderService.saveStakeholder(customer);
@@ -32,5 +32,5 @@
     }
 
-    @GetMapping(value = "/register_business")
+    @GetMapping(path = "/register_business")
     public String getBusinessRegisterPage(Model model) {
         return "register_business";
@@ -39,5 +39,5 @@
     @PostMapping(value = "/register_business")
     public String registerBusiness(Model model) {
-        return "register_business";
+        return "redirect:login";
     }
 }
Index: src/main/java/edu/gjoko/schedlr/controllers/rest/BusinessController.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/controllers/rest/BusinessController.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
+++ src/main/java/edu/gjoko/schedlr/controllers/rest/BusinessController.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -0,0 +1,31 @@
+package edu.gjoko.schedlr.controllers.rest;
+
+import edu.gjoko.schedlr.entity.Business;
+import edu.gjoko.schedlr.services.BusinessService;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("api/business")
+@AllArgsConstructor
+public class BusinessController {
+
+    final BusinessService businessService;
+
+    @PostMapping
+    public void getBusinessTypes(@RequestBody Business business) {
+        businessService.saveBusiness(business);
+    }
+
+    @GetMapping
+    public List<Business> getNewBusinesses() {
+        return businessService.getNewBusiness();
+    }
+
+    @PatchMapping
+    public void activateBusinesses(@RequestBody List<Business> businessList) {
+        businessService.activateBusinesses(businessList);
+    }
+}
Index: src/main/java/edu/gjoko/schedlr/entity/Appointment.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/entity/Appointment.java	(revision a436340967abb97f2cda58184c9eaaa6f91fcea1)
+++ src/main/java/edu/gjoko/schedlr/entity/Appointment.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -5,4 +5,6 @@
 import lombok.NoArgsConstructor;
 import lombok.Setter;
+import org.springframework.data.annotation.LastModifiedDate;
+import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 
 import javax.persistence.*;
@@ -10,4 +12,5 @@
 
 @Entity
+@EntityListeners(AuditingEntityListener.class)
 @Table(name = "appointment")
 @Getter
@@ -31,7 +34,9 @@
 
     @Column(name = "created")
+    @LastModifiedDate
     private LocalDateTime created;
 
     @Column(name = "modified")
+    @LastModifiedDate
     private LocalDateTime modified;
 }
Index: src/main/java/edu/gjoko/schedlr/entity/Business.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/entity/Business.java	(revision a436340967abb97f2cda58184c9eaaa6f91fcea1)
+++ src/main/java/edu/gjoko/schedlr/entity/Business.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -2,8 +2,12 @@
 
 import com.fasterxml.jackson.annotation.JsonManagedReference;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 import lombok.Setter;
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.annotation.LastModifiedDate;
+import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 
 import javax.persistence.*;
@@ -12,4 +16,5 @@
 
 @Entity
+@EntityListeners(AuditingEntityListener.class)
 @Table(name = "business")
 @Getter
@@ -23,29 +28,31 @@
     private Long id;
 
-    @Column(name = "name")
-    private String name;
+    @Column(name = "company_name")
+    private String companyName;
 
     @OneToOne
     @JoinColumn(name = "business_type_id", referencedColumnName = "id")
+    @JsonProperty("businessType")
     private BusinessType businessType;
 
-    @Column(name = "opening_time")
-    private LocalDateTime openingTime;
-
-    @Column(name = "closing_time")
-    private LocalDateTime closingTime;
-
-    @ManyToOne
+    @ManyToOne(cascade = CascadeType.PERSIST)
     @JoinColumn(name = "owner_id", referencedColumnName = "id", nullable = false)
+    @JsonProperty("owner")
     private Stakeholder owner;
 
-    @OneToMany(mappedBy = "business")
+    @OneToMany(mappedBy = "business", cascade = CascadeType.PERSIST)
     @JsonManagedReference
     private List<Service> services;
 
+    @Column(name = "business_status")
+    @Enumerated(EnumType.STRING)
+    private BusinessStatus businessStatus;
+
     @Column(name = "created")
+    @CreatedDate
     private LocalDateTime created;
 
     @Column(name = "modified")
+    @LastModifiedDate
     private LocalDateTime modified;
 
Index: src/main/java/edu/gjoko/schedlr/entity/BusinessStatus.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/entity/BusinessStatus.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
+++ src/main/java/edu/gjoko/schedlr/entity/BusinessStatus.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -0,0 +1,7 @@
+package edu.gjoko.schedlr.entity;
+
+public enum BusinessStatus {
+    NEW,
+    ACTIVE,
+    BLOCKED
+}
Index: src/main/java/edu/gjoko/schedlr/entity/Service.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/entity/Service.java	(revision a436340967abb97f2cda58184c9eaaa6f91fcea1)
+++ src/main/java/edu/gjoko/schedlr/entity/Service.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -11,5 +11,4 @@
 
 import javax.persistence.*;
-import java.sql.Timestamp;
 import java.time.LocalDateTime;
 
@@ -27,19 +26,13 @@
     private Long id;
 
-    @Column(name = "name")
-    private String name;
-
     @Column(name = "duration")
     private Integer duration;
 
-    @Column(name = "price")
-    private Float price;
-
-    @OneToOne
+    @OneToOne(cascade = CascadeType.MERGE)
     @JoinColumn(name = "service_type_id", referencedColumnName = "id")
     private ServiceType serviceType;
 
     @ManyToOne
-    @JoinColumn(name="business_fk")
+    @JoinColumn(name = "business_fk")
     @JsonBackReference
     private Business business;
Index: src/main/java/edu/gjoko/schedlr/repositories/BusinessRepository.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/repositories/BusinessRepository.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
+++ src/main/java/edu/gjoko/schedlr/repositories/BusinessRepository.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -0,0 +1,14 @@
+package edu.gjoko.schedlr.repositories;
+
+import edu.gjoko.schedlr.entity.Business;
+import edu.gjoko.schedlr.entity.BusinessStatus;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface BusinessRepository extends JpaRepository<Business, Long> {
+
+    List<Business> findBusinessesByBusinessStatus(BusinessStatus status);
+}
Index: src/main/java/edu/gjoko/schedlr/repositories/BusinessTypeRepository.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/repositories/BusinessTypeRepository.java	(revision a436340967abb97f2cda58184c9eaaa6f91fcea1)
+++ src/main/java/edu/gjoko/schedlr/repositories/BusinessTypeRepository.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -2,5 +2,4 @@
 
 import edu.gjoko.schedlr.entity.BusinessType;
-import edu.gjoko.schedlr.entity.Stakeholder;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
Index: src/main/java/edu/gjoko/schedlr/services/BusinessService.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/services/BusinessService.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
+++ src/main/java/edu/gjoko/schedlr/services/BusinessService.java	(revision 46fd0c7386f67547f6b1e9764cb7ea68cd35f8fc)
@@ -0,0 +1,57 @@
+package edu.gjoko.schedlr.services;
+
+import edu.gjoko.schedlr.entity.Business;
+import edu.gjoko.schedlr.entity.BusinessStatus;
+import edu.gjoko.schedlr.entity.ServiceType;
+import edu.gjoko.schedlr.entity.StakeholderType;
+import edu.gjoko.schedlr.repositories.BusinessRepository;
+import edu.gjoko.schedlr.repositories.ServiceTypeRepository;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+import static edu.gjoko.schedlr.entity.BusinessStatus.ACTIVE;
+import static edu.gjoko.schedlr.entity.BusinessStatus.NEW;
+
+@Service
+@AllArgsConstructor
+public class BusinessService {
+
+    private final BusinessRepository businessRepository;
+    private final ServiceTypeRepository serviceTypeRepository;
+
+    public void saveBusiness(Business business) {
+        saveNewServiceTypes(business);
+        business.getOwner().setStakeholderType(StakeholderType.BUSINESS_OWNER);
+        business.setBusinessStatus(NEW);
+        businessRepository.save(business);
+    }
+
+    public void saveNewServiceTypes(Business business) {
+        business.getServices()
+            .stream()
+            .forEach(service -> {
+                if(service.getServiceType().getId() == null) {
+                    ServiceType serviceType = service.getServiceType();
+                    serviceType.setBusinessType(business.getBusinessType());
+                    service.setServiceType(serviceTypeRepository.save(serviceType));
+                }
+            });
+    }
+
+    public List<Business> getNewBusiness() {
+        return businessRepository.findBusinessesByBusinessStatus(NEW);
+    }
+
+    public void activateBusinesses(List<Business> businessList) {
+        businessList
+                .stream()
+                .forEach(business -> {
+                    business.setBusinessStatus(ACTIVE);
+                    businessRepository.save(business);
+                });
+    }
+
+}
