Index: src/main/java/edu/gjoko/schedlr/SchedlrApplication.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/SchedlrApplication.java	(revision 401a2118e63f6e3ad1e95c29a07a9d48a239bc3b)
+++ src/main/java/edu/gjoko/schedlr/SchedlrApplication.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
@@ -3,6 +3,8 @@
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
 
 @SpringBootApplication
+@EnableJpaAuditing
 public class SchedlrApplication {
 
Index: src/main/java/edu/gjoko/schedlr/config/AppSecurityConfig.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/config/AppSecurityConfig.java	(revision 401a2118e63f6e3ad1e95c29a07a9d48a239bc3b)
+++ src/main/java/edu/gjoko/schedlr/config/AppSecurityConfig.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
@@ -47,4 +47,6 @@
                 .authorizeRequests()
                 .antMatchers("/login*").permitAll()
+                .antMatchers("/register_customer").permitAll()
+                .antMatchers("/register_business").permitAll()
                 .antMatchers("/css/**").permitAll()
                 .antMatchers("/anonymous*").anonymous()
Index: src/main/java/edu/gjoko/schedlr/config/MvcConfig.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/config/MvcConfig.java	(revision 401a2118e63f6e3ad1e95c29a07a9d48a239bc3b)
+++ src/main/java/edu/gjoko/schedlr/config/MvcConfig.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
@@ -11,6 +11,6 @@
     public void addViewControllers(ViewControllerRegistry registry) {
         registry.addViewController("/login").setViewName("login");
-        registry.addViewController("/register/user").setViewName("register_user");
-        registry.addViewController("/register/business").setViewName("register_business");
+        registry.addViewController("/register_customer").setViewName("register_customer");
+        registry.addViewController("/register_business").setViewName("register_business");
         registry.addViewController("/homepage").setViewName("homepage");
     }
Index: src/main/java/edu/gjoko/schedlr/controllers/HomePageController.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/controllers/HomePageController.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
+++ src/main/java/edu/gjoko/schedlr/controllers/HomePageController.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
@@ -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 HomePageController {
+
+    @GetMapping(value = "/homepage")
+    public String getHomePageTemplate(Model model) {
+        return "homepage";
+    }
+}
Index: src/main/java/edu/gjoko/schedlr/controllers/LoginController.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/controllers/LoginController.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
+++ src/main/java/edu/gjoko/schedlr/controllers/LoginController.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
@@ -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 LoginController {
+
+    @GetMapping(value = "/login")
+    public String getMapping(Model model) {
+        return "login";
+    }
+}
Index: src/main/java/edu/gjoko/schedlr/controllers/RegisterController.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/controllers/RegisterController.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
+++ src/main/java/edu/gjoko/schedlr/controllers/RegisterController.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
@@ -0,0 +1,44 @@
+package edu.gjoko.schedlr.controllers;
+
+import edu.gjoko.schedlr.entity.Stakeholder;
+import edu.gjoko.schedlr.services.StakeholderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.PostMapping;
+
+@Controller
+public class RegisterController {
+
+    private final StakeholderService stakeholderService;
+
+    public RegisterController(StakeholderService stakeholderService) {
+        this.stakeholderService = stakeholderService;
+    }
+
+    @GetMapping("/register_customer")
+    public String getCustomerRegisterPage(Model model) {
+        model.addAttribute("stakeholder", new Stakeholder());
+        return "register_customer";
+    }
+
+    @PostMapping(value = "/register_customer")
+    public String registerCustomer(@ModelAttribute Stakeholder customer, Model model) {
+        Stakeholder user = stakeholderService.saveStakeholder(customer);
+        model.addAttribute("user", user);
+        return "homepage";
+    }
+
+    @GetMapping("/register_business")
+    public String getBusinessRegisterPage(Model model) {
+        return "register_business";
+    }
+
+    @PostMapping("/register_business")
+    public String registerBusiness(Model model) {
+        return "register_business";
+    }
+}
Index: src/main/java/edu/gjoko/schedlr/entity/Business.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/entity/Business.java	(revision 401a2118e63f6e3ad1e95c29a07a9d48a239bc3b)
+++ src/main/java/edu/gjoko/schedlr/entity/Business.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
@@ -35,6 +35,6 @@
     private LocalDateTime closingTime;
 
-    @OneToOne(cascade = CascadeType.ALL)
-    @JoinColumn(name = "owner_id", referencedColumnName = "id")
+    @ManyToOne
+    @JoinColumn(name = "owner_id", referencedColumnName = "id", nullable = false)
     private Stakeholder owner;
 
Index: src/main/java/edu/gjoko/schedlr/entity/Service.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/entity/Service.java	(revision 401a2118e63f6e3ad1e95c29a07a9d48a239bc3b)
+++ src/main/java/edu/gjoko/schedlr/entity/Service.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
@@ -5,8 +5,14 @@
 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.*;
+import java.sql.Timestamp;
+import java.time.LocalDateTime;
 
 @Entity
+@EntityListeners(AuditingEntityListener.class)
 @Table(name = "service")
 @Getter
@@ -32,3 +38,11 @@
     @JoinColumn(name = "business_id")
     private Business business;
+
+    @Column(name = "created")
+    @CreatedDate
+    private LocalDateTime created;
+
+    @Column(name = "modified")
+    @LastModifiedDate
+    private LocalDateTime modified;
 }
Index: src/main/java/edu/gjoko/schedlr/entity/Stakeholder.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/entity/Stakeholder.java	(revision 401a2118e63f6e3ad1e95c29a07a9d48a239bc3b)
+++ src/main/java/edu/gjoko/schedlr/entity/Stakeholder.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
@@ -5,4 +5,7 @@
 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.*;
@@ -10,4 +13,5 @@
 
 @Entity
+@EntityListeners(AuditingEntityListener.class)
 @Table(name = "stakeholder")
 @Getter
@@ -41,7 +45,9 @@
 
     @Column(name = "created")
+    @CreatedDate
     private LocalDateTime created;
 
     @Column(name = "modified")
+    @LastModifiedDate
     private LocalDateTime modified;
 }
Index: src/main/java/edu/gjoko/schedlr/services/StakeholderService.java
===================================================================
--- src/main/java/edu/gjoko/schedlr/services/StakeholderService.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
+++ src/main/java/edu/gjoko/schedlr/services/StakeholderService.java	(revision 204464d02c975e7f1c43dfa67e0e5c02f6c95358)
@@ -0,0 +1,21 @@
+package edu.gjoko.schedlr.services;
+
+import edu.gjoko.schedlr.entity.Stakeholder;
+import edu.gjoko.schedlr.entity.StakeholderType;
+import edu.gjoko.schedlr.repositories.StakeholderRepository;
+import org.springframework.stereotype.Service;
+
+@Service
+public class StakeholderService {
+
+    private StakeholderRepository stakeholderRepository;
+
+    public StakeholderService(StakeholderRepository stakeholderRepository) {
+        this.stakeholderRepository = stakeholderRepository;
+    }
+
+    public Stakeholder saveStakeholder(Stakeholder stakeholder) {
+        stakeholder.setStakeholderType(StakeholderType.CUSTOMER);
+        return stakeholderRepository.save(stakeholder);
+    }
+}
