diff --git a/src/main/kotlin/com/s3ai/corporate_app2/controllers/CinemasController.kt b/src/main/kotlin/com/s3ai/corporate_app2/controllers/CinemasController.kt
index f1f97bd9a37ab52478720c9bdb97ad6a4ed96ab8..7d9e08d4e9b0964966c005d785c27b10de465d10 100644
--- a/src/main/kotlin/com/s3ai/corporate_app2/controllers/CinemasController.kt
+++ b/src/main/kotlin/com/s3ai/corporate_app2/controllers/CinemasController.kt
@@ -7,28 +7,27 @@ import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.stereotype.Controller
 import org.springframework.ui.Model
 import org.springframework.web.bind.annotation.GetMapping
+import org.springframework.web.bind.annotation.RequestMapping
 import org.springframework.web.bind.annotation.RequestParam
 import java.util.UUID.fromString
 import java.util.UUID.randomUUID
+import kotlin.random.Random
 
 @Controller
+@RequestMapping("/cinemas")
 class CinemasController {
     @Autowired
     var cinemaService: CinemaService? = null
 
-    @Autowired
-    var cinemaRepository: CinemaRepository? = null
-
-
-    @GetMapping("/cinemas")
+    @GetMapping("/list")
     fun getCinemasBrowsePage(model: Model): String? {
         model.addAttribute("cinemas", cinemaService?.findAll())
         return "cinemas/list"
     }
 
-    @GetMapping("/cinema")
+    @GetMapping("/edit")
     fun getCinemaEditPage(@RequestParam(name = "id", required = false, defaultValue = "") id: String, model: Model): String? {
-        var cinema: Cinema? = null
+        val cinema: Cinema?
         if (id.isEmpty()) {
             cinema = Cinema()
             cinema.id = randomUUID()
diff --git a/src/main/kotlin/com/s3ai/corporate_app2/controllers/TicketsController.kt b/src/main/kotlin/com/s3ai/corporate_app2/controllers/TicketsController.kt
new file mode 100644
index 0000000000000000000000000000000000000000..b900b4cf24b55cd81704df182ae3d7b52b5239ee
--- /dev/null
+++ b/src/main/kotlin/com/s3ai/corporate_app2/controllers/TicketsController.kt
@@ -0,0 +1,39 @@
+package com.s3ai.corporate_app2.controllers;
+
+import com.s3ai.corporate_app2.entities.Ticket
+import com.s3ai.corporate_app2.entities.User
+import com.s3ai.corporate_app2.services.TicketService
+import com.s3ai.corporate_app2.services.UserService
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.stereotype.Controller
+import org.springframework.ui.Model
+import org.springframework.web.bind.annotation.GetMapping
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RequestParam
+import java.util.*
+
+@Controller
+@RequestMapping("/tickets")
+class TicketsController {
+    @Autowired
+    var ticketService: TicketService? = null
+
+    @GetMapping("/list")
+    fun getTicketsBrowsePage(model: Model): String? {
+        model.addAttribute("tickets", ticketService?.findAll())
+        return "tickets/list"
+    }
+
+    @GetMapping("/edit")
+    fun getTicketEditPage(@RequestParam(name = "id", required = false, defaultValue = "") id: String, model: Model): String? {
+        val ticket: Ticket?
+        if (id.isEmpty()) {
+            ticket = Ticket()
+            ticket.id = UUID.randomUUID()
+        } else {
+            ticket = ticketService?.findOne(UUID.fromString(id))
+        }
+        model.addAttribute("ticket", ticket)
+        return "tickets/edit"
+    }
+}
diff --git a/src/main/kotlin/com/s3ai/corporate_app2/controllers/UserController.kt b/src/main/kotlin/com/s3ai/corporate_app2/controllers/UserController.kt
deleted file mode 100644
index 260fbaa6016c1ac348eb27f6f50f36d25bc2a11f..0000000000000000000000000000000000000000
--- a/src/main/kotlin/com/s3ai/corporate_app2/controllers/UserController.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.s3ai.corporate_app2.controllers
-
-import org.springframework.stereotype.Controller
-import org.springframework.web.bind.annotation.GetMapping
-import org.springframework.web.bind.annotation.RequestMapping
-
-@Controller
-@RequestMapping("/users")
-class UserController {
-
-    @GetMapping("/list")
-    fun getUsersList(): String? {
-        return "index"
-    }
-
-    @GetMapping("/edit")
-    fun getUsersEditPage(): String? {
-        return "index"
-    }
-}
\ No newline at end of file
diff --git a/src/main/kotlin/com/s3ai/corporate_app2/controllers/UsersController.kt b/src/main/kotlin/com/s3ai/corporate_app2/controllers/UsersController.kt
new file mode 100644
index 0000000000000000000000000000000000000000..2cd3f89feb18b5c5d138e49d9242cdbe972b5cad
--- /dev/null
+++ b/src/main/kotlin/com/s3ai/corporate_app2/controllers/UsersController.kt
@@ -0,0 +1,39 @@
+package com.s3ai.corporate_app2.controllers
+
+import com.s3ai.corporate_app2.entities.Cinema
+import com.s3ai.corporate_app2.entities.User
+import com.s3ai.corporate_app2.services.CinemaService
+import com.s3ai.corporate_app2.services.UserService
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.stereotype.Controller
+import org.springframework.ui.Model
+import org.springframework.web.bind.annotation.GetMapping
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RequestParam
+import java.util.*
+
+@Controller
+@RequestMapping("/users")
+class UsersController {
+    @Autowired
+    var userService: UserService? = null
+
+    @GetMapping("/list")
+    fun getUsersBrowsePage(model: Model): String? {
+        model.addAttribute("users", userService?.findAll())
+        return "users/list"
+    }
+
+    @GetMapping("/edit")
+    fun getUSerEditPage(@RequestParam(name = "id", required = false, defaultValue = "") id: String, model: Model): String? {
+        val user: User?
+        if (id.isEmpty()) {
+            user = User()
+            user.id = UUID.randomUUID()
+        } else {
+            user = userService?.findOne(UUID.fromString(id))
+        }
+        model.addAttribute("user", user)
+        return "users/edit"
+    }
+}
\ No newline at end of file
diff --git a/src/main/kotlin/com/s3ai/corporate_app2/controllers/rest/CinemaApiController.kt b/src/main/kotlin/com/s3ai/corporate_app2/controllers/rest/CinemaApiController.kt
new file mode 100644
index 0000000000000000000000000000000000000000..3eb3eda21bbd7d5f3b51295fb064329fe6e12d13
--- /dev/null
+++ b/src/main/kotlin/com/s3ai/corporate_app2/controllers/rest/CinemaApiController.kt
@@ -0,0 +1,34 @@
+package com.s3ai.corporate_app2.controllers.rest
+
+import com.s3ai.corporate_app2.entities.Cinema
+import com.s3ai.corporate_app2.services.CinemaService
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.web.bind.annotation.GetMapping
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RestController
+import java.util.*
+import kotlin.random.Random
+
+@RestController
+@RequestMapping("/api/cinemas")
+class CinemaApiController{
+    @Autowired
+    var cinemaService: CinemaService? = null
+
+    @GetMapping("/fill")
+    fun fillCinemas(): String? {
+        val locations : List<String> = listOf("Samara", "Izhevsk", "NeoTokyo", "Bangladesh", "Moscow", "Grozny");
+        val names : List<String> = listOf("Nol", "Tcelkoviy", "Polushka", "Chekushka", "Osmushka", "Pudovichok", "Mediachok", "Silverchok", "Goldenchok", "Deviatichek", "Desatichek");
+        var generatedNames: MutableList<String> = mutableListOf()
+        for (i in 0..300) {
+            val cinema = Cinema();
+            cinema.id = UUID.randomUUID();
+            cinema.name = names.random();
+            generatedNames.add(cinema.name.toString())
+            cinema.seatsCount = Random.nextInt(50, 300);
+            cinema.location = locations.random();
+            cinemaService?.save(cinema);
+        }
+        return generatedNames.toString()
+    }
+}
\ No newline at end of file
diff --git a/src/main/kotlin/com/s3ai/corporate_app2/controllers/rest/TicketApiController.kt b/src/main/kotlin/com/s3ai/corporate_app2/controllers/rest/TicketApiController.kt
new file mode 100644
index 0000000000000000000000000000000000000000..a9660d2d1ae5248e286d7dbddb3082331d0c343d
--- /dev/null
+++ b/src/main/kotlin/com/s3ai/corporate_app2/controllers/rest/TicketApiController.kt
@@ -0,0 +1,46 @@
+package com.s3ai.corporate_app2.controllers.rest;
+
+import com.s3ai.corporate_app2.entities.Ticket
+import com.s3ai.corporate_app2.entities.User
+import com.s3ai.corporate_app2.services.CinemaService
+import com.s3ai.corporate_app2.services.TicketService
+import com.s3ai.corporate_app2.services.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RestController
+import java.util.*
+import kotlin.random.Random
+
+@RestController
+@RequestMapping("/api/tickets")
+class TicketApiController {
+    @Autowired
+    var userService: UserService? = null
+    @Autowired
+    var ticketService: TicketService? = null
+    @Autowired
+    var cinemaService: CinemaService? = null
+
+    @GetMapping("/fill")
+    fun fillTickets(): String? {
+        val wordsFirst = arrayOf("Pirates", "Ladies", "Goblins", "Gangsters", "Programmers", "Hackers", "Wrestlers", "Animals", "Guardians")
+        val wordsSecond = arrayOf("of the", "in", "from")
+        val wordsThird = arrayOf("Galaxy", "America", "Russia", "Japan", "Ocean", "Deep", "Caribbean", "Matrix", "Internet", "Woods", "Caves")
+
+        val users = userService?.findAll()
+        val cinemas = cinemaService?.findAll()
+
+        var generatedNames: MutableList<String> = mutableListOf()
+        for (i in 0..300) {
+            val ticket = Ticket();
+            ticket.id = UUID.randomUUID();
+            ticket.movie = "${wordsFirst.random()} ${wordsSecond.random()} ${wordsThird.random()}";
+            generatedNames.add(ticket.movie.toString())
+            ticket.user = users?.random()
+            ticket.cinema = cinemas?.random()
+            ticketService?.save(ticket);
+        }
+        return generatedNames.toString()
+    }
+}
diff --git a/src/main/kotlin/com/s3ai/corporate_app2/controllers/rest/UserApiController.kt b/src/main/kotlin/com/s3ai/corporate_app2/controllers/rest/UserApiController.kt
new file mode 100644
index 0000000000000000000000000000000000000000..7d8266200c4d3f09b59ab5b44888dd833733231f
--- /dev/null
+++ b/src/main/kotlin/com/s3ai/corporate_app2/controllers/rest/UserApiController.kt
@@ -0,0 +1,35 @@
+package com.s3ai.corporate_app2.controllers.rest;
+
+import com.s3ai.corporate_app2.entities.Cinema
+import com.s3ai.corporate_app2.entities.User
+import com.s3ai.corporate_app2.services.UserService
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.web.bind.annotation.GetMapping
+import org.springframework.web.bind.annotation.RequestMapping
+import org.springframework.web.bind.annotation.RestController
+import java.util.*
+import kotlin.random.Random
+
+@RestController
+@RequestMapping("/api/users")
+class UserApiController {
+    @Autowired
+    var userService: UserService? = null
+
+    @GetMapping("/fill")
+    fun fillCinemas(): String? {
+        val names = arrayOf("Jane", "Mary", "Paul", "Jason", "Keanu", "Andrew", "Joseph", "Jotaro", "Ivan", "Jolyne", "Walther");
+        val surnames = arrayOf("Doe", "Reeves", "Statham", "Bourne", "Joestar", "Kujoh", "White", "Van Hallen", "Black", "Smith");
+        var generatedNames: MutableList<String> = mutableListOf()
+        for (i in 0..300) {
+            val user = User();
+            user.id = UUID.randomUUID();
+            user.name = "${names.random()} ${surnames.random()}";
+            generatedNames.add(user.name.toString())
+            user.age = Random.nextInt(15, 70);
+            userService?.save(user);
+        }
+        return generatedNames.toString()
+    }
+
+}
diff --git a/src/main/kotlin/com/s3ai/corporate_app2/entities/Ticket.kt b/src/main/kotlin/com/s3ai/corporate_app2/entities/Ticket.kt
index 0a2417942d17b4edd0370f8cbbe1a96dde2a0be8..4b4c209d511ce626e074e5f5477d112cb574f4a3 100644
--- a/src/main/kotlin/com/s3ai/corporate_app2/entities/Ticket.kt
+++ b/src/main/kotlin/com/s3ai/corporate_app2/entities/Ticket.kt
@@ -11,7 +11,7 @@ class Ticket {
     @GeneratedValue(strategy = GenerationType.AUTO)
     var id: UUID? = null
     @OneToOne
-    private var user: User? = null
+    var user: User? = null
     @OneToOne
     var cinema: Cinema? = null
     @Column(name = "movie")
diff --git a/src/main/kotlin/com/s3ai/corporate_app2/services/CinemaService.kt b/src/main/kotlin/com/s3ai/corporate_app2/services/CinemaService.kt
index 9a1b8fd27dc89557ff90659cfbf8863f4fbc0350..58830812d46a763298c8256d32aa68d2bc8a938a 100644
--- a/src/main/kotlin/com/s3ai/corporate_app2/services/CinemaService.kt
+++ b/src/main/kotlin/com/s3ai/corporate_app2/services/CinemaService.kt
@@ -16,4 +16,4 @@ class CinemaService(private val cinemaRepository: CinemaRepository) {
     fun save(cinema: Cinema) = cinemaRepository.save(cinema)
 
     fun delete(cinema: Cinema) = cinemaRepository.delete(cinema)
-}
+}
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 4870cd859b37719de78c88e25902686a74985dbb..2b046747b6b61873c2a783b6c5240ea6750b4f25 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,6 +1,6 @@
 spring.thymeleaf.cache=false
 spring.datasource.driver-class-name=org.postgresql.Driver
-spring.datasource.url=jdbc:postgresql://corporate_db2:5432/cinema?useSSL=false
+spring.datasource.url=jdbc:postgresql://corporate_db2:5432/cinema
 spring.datasource.username=postgres
 spring.datasource.password=postgres
 spring.datasource.platform=postgres
diff --git a/src/main/resources/static/coffee/cinemas.coffee b/src/main/resources/static/coffee/cinemas.coffee
index 6c22ba16dfd0ab22f8da0f56a69d4e7f30f5f1e6..bce38c41a45519f71af9943ec6b94225940bd165 100644
--- a/src/main/resources/static/coffee/cinemas.coffee
+++ b/src/main/resources/static/coffee/cinemas.coffee
@@ -15,7 +15,7 @@ hrefToEdit = (event) ->
 removeCinema = (event) ->
   cinema_id = $("#modal_id").text()
   $.ajax
-    url: "#{context_url}/cinema/?id=#{cinema_id}",
+    url: "/api/cinemas/delete?id=#{cinema_id}",
     type: 'DELETE'
     error: (jqXHR, textStatus, errorThrown) ->
       console.log "AJAX Error: #{textStatus}"
diff --git a/src/main/resources/static/coffee/tickets.coffee b/src/main/resources/static/coffee/tickets.coffee
new file mode 100644
index 0000000000000000000000000000000000000000..fb73d380532325dc7a484e2b4cfbdcb18855e2a7
--- /dev/null
+++ b/src/main/resources/static/coffee/tickets.coffee
@@ -0,0 +1,31 @@
+fill_modal = (event) ->
+  target = $(this)
+  ticket_id = target.attr 'ticket_id'
+  if undefined != ticket_id and "" != ticket_id
+    $("#modal_id").text ticket_id
+    $("#modal_movie").text target.find("[attr_name='movie']").text()
+    $("#modal_cinema_id").text target.find("[attr_name='cinema_id']").text()
+    $("#modal_user_id").text target.find("[attr_name='user_id']").text()
+    $("#ticketModal").modal('toggle')
+
+hrefToEdit = (event) ->
+  ticket_id = $("#modal_id").text()
+  window.location.replace "#{context_url}/ticket/?id=#{ticket_id}"
+
+removeCinema = (event) ->
+  ticket_id = $("#modal_id").text()
+  $.ajax
+    url: "#{context_url}/ticket/?id=#{ticket_id}",
+    type: 'DELETE'
+    error: (jqXHR, textStatus, errorThrown) ->
+      console.log "AJAX Error: #{textStatus}"
+    success: (data, textStatus, jqXHR) ->
+      $("tr[ticket_id='#{ticket_id}").remove()
+      $("#ticketModal").modal('toggle')
+
+addListeners = ->
+  $('tr').on 'click', fill_modal
+  $('#edit_ticket').on 'click', hrefToEdit
+  $('#delete_ticket').on 'click', removeCinema
+
+$(document).ready(addListeners)
\ No newline at end of file
diff --git a/src/main/resources/static/js/cinemas.js b/src/main/resources/static/js/cinemas.js
index 46c7d97974aeef1b8445a536bb46bdca77d3f12c..be966d3cef88cd38b4a03a920f40be0f8e9f8ceb 100644
--- a/src/main/resources/static/js/cinemas.js
+++ b/src/main/resources/static/js/cinemas.js
@@ -25,7 +25,7 @@
     var cinema_id;
     cinema_id = $("#modal_id").text();
     return $.ajax({
-      url: `${context_url}/cinema/?id=${cinema_id}`,
+      url: `/api/cinemas/delete?id=${cinema_id}`,
       type: 'DELETE',
       error: function(jqXHR, textStatus, errorThrown) {
         return console.log(`AJAX Error: ${textStatus}`);
diff --git a/src/main/resources/static/js/tickets.js b/src/main/resources/static/js/tickets.js
new file mode 100644
index 0000000000000000000000000000000000000000..2878d4916074df080e756a7c013e9b8b3591e6bb
--- /dev/null
+++ b/src/main/resources/static/js/tickets.js
@@ -0,0 +1,48 @@
+// Generated by CoffeeScript 2.4.1
+(function() {
+  var addListeners, fill_modal, hrefToEdit, removeCinema;
+
+  fill_modal = function(event) {
+    var target, ticket_id;
+    target = $(this);
+    ticket_id = target.attr('ticket_id');
+    if (void 0 !== ticket_id && "" !== ticket_id) {
+      $("#modal_id").text(ticket_id);
+      $("#modal_movie").text(target.find("[attr_name='movie']").text());
+      $("#modal_cinema_id").text(target.find("[attr_name='cinema_id']").text());
+      $("#modal_user_id").text(target.find("[attr_name='user_id']").text());
+      return $("#ticketModal").modal('toggle');
+    }
+  };
+
+  hrefToEdit = function(event) {
+    var ticket_id;
+    ticket_id = $("#modal_id").text();
+    return window.location.replace(`${context_url}/ticket/?id=${ticket_id}`);
+  };
+
+  removeCinema = function(event) {
+    var ticket_id;
+    ticket_id = $("#modal_id").text();
+    return $.ajax({
+      url: `${context_url}/ticket/?id=${ticket_id}`,
+      type: 'DELETE',
+      error: function(jqXHR, textStatus, errorThrown) {
+        return console.log(`AJAX Error: ${textStatus}`);
+      },
+      success: function(data, textStatus, jqXHR) {
+        $(`tr[ticket_id='${ticket_id}`).remove();
+        return $("#ticketModal").modal('toggle');
+      }
+    });
+  };
+
+  addListeners = function() {
+    $('tr').on('click', fill_modal);
+    $('#edit_ticket').on('click', hrefToEdit);
+    return $('#delete_ticket').on('click', removeCinema);
+  };
+
+  $(document).ready(addListeners);
+
+}).call(this);
diff --git a/src/main/resources/templates/cinemas/list.html b/src/main/resources/templates/cinemas/list.html
index 6976b4dd23be241e2ca8ca8c6df804ae61c579a7..cbcbf4c9dcae4fe4469139c628d50da7988264c9 100644
--- a/src/main/resources/templates/cinemas/list.html
+++ b/src/main/resources/templates/cinemas/list.html
@@ -1,10 +1,77 @@
-<!DOCTYPE html>
-<html lang="en">
+<html xmlns:th="http://www.thymeleaf.org">
 <head>
-    <meta charset="UTF-8">
-    <title>Title</title>
+    <title>Cinemas list</title>
+    <link rel="stylesheet" href="/css/cinemas.css">
+    <head th:include="commons/imports"></head>
 </head>
-<body>
-Listing
+<body class="themed-gradient">
+<body th:include="commons/header"></body>
+<div class="container-fluid">
+    <div class="row table-padding justify-content-center">
+        <table class="table shadow col-6 table-striped table-dark">
+            <thead>
+            <tr>
+                <th scope="col">#</th>
+                <th scope="col">Name</th>
+                <th scope="col">Location</th>
+                <th scope="col">Seats count</th>
+            </tr>
+            </thead>
+            <tbody>
+            <tr th:each="sb : ${cinemas}" th:with="mycounter = 0">
+                <td th:text="${mycounter}" th:with="mycounter = ${mycounter + 1}">#</td>
+                <td th:text="${sb.getName()}">Name</td>
+                <td th:text="${sb.getLocation()}">Location</td>
+                <td th:text="${sb.getSeatsCount()}">Seats</td>
+            </tr>
+            </tbody>
+        </table>
+    </div>
+    <div class="modal fade" id="cinemaModal" tabindex="-1" role="dialog"
+         aria-labelledby="cinemaModalTitle" aria-hidden="true">
+        <div class="modal-dialog modal-dialog-centered" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title" id="exampleModalLongTitle">Cinema info</h5>
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">&times;</span>
+                    </button>
+                </div>
+                <div class="modal-body">
+                    <div class="d-flex flex-column">
+                        <div class="d-flex flex-row justify-content-between">
+                            <p>ID:</p>
+                            <p id="modal_id"></p>
+                        </div>
+                        <div class="d-flex flex-row justify-content-between">
+                            <p>Name:</p>
+                            <p id="modal_name"></p>
+                        </div>
+                        <div class="d-flex flex-row justify-content-between">
+                            <p>Location:</p>
+                            <p id="modal_location">value</p>
+                        </div>
+                        <div class="d-flex flex-row justify-content-between">
+                            <p>Seats count:</p>
+                            <p id="modal_seats">value</p>
+                        </div>
+                    </div>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" id="edit_cinema" class="btn btn-primary"><i class="fas fa-edit"></i> Edit
+                        cinema
+                    </button>
+                    <button type="button" id="delete_cinema" class="btn btn-danger"><i class="fas fa-trash-alt"></i>
+                        Delete cinema
+                    </button>
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal"><i class="fas fa-times"></i>
+                        Close
+                    </button>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
 </body>
-</html>
\ No newline at end of file
+<script src="js/cinemas.js"></script>
+</html>
diff --git a/src/main/resources/templates/commons/header.html b/src/main/resources/templates/commons/header.html
index 5d8d23e9f39ac111c521dd833e8cd0e2f24bd147..29055b77bc3599e4aac2cb74403e865cc11ceebf 100644
--- a/src/main/resources/templates/commons/header.html
+++ b/src/main/resources/templates/commons/header.html
@@ -16,8 +16,8 @@
                         Cinemas
                     </a>
                     <div class="dropdown-menu" aria-labelledby="navbarDropdownCinema">
-                        <a class="dropdown-item" href="/cinema">Create</a>
-                        <a class="dropdown-item" href="/cinemas">View</a>
+                        <a class="dropdown-item" href="/cinemas/edit">Create</a>
+                        <a class="dropdown-item" href="/cinemas/list">View</a>
                     </div>
                 </li>
 
@@ -27,8 +27,8 @@
                         Tickets
                     </a>
                     <div class="dropdown-menu" aria-labelledby="navbarDropdownTicket">
-                        <a class="dropdown-item" href="/ticket">Create</a>
-                        <a class="dropdown-item" href="/tickets">View</a>
+                        <a class="dropdown-item" href="/tickets/edit">Create</a>
+                        <a class="dropdown-item" href="/tickets/list">View</a>
                     </div>
                 </li>
 
@@ -38,8 +38,8 @@
                         Users
                     </a>
                     <div class="dropdown-menu" aria-labelledby="navbarDropdownUser">
-                        <a class="dropdown-item" href="/user">Create</a>
-                        <a class="dropdown-item" href="/users">View</a>
+                        <a class="dropdown-item" href="/users/edit">Create</a>
+                        <a class="dropdown-item" href="/users/list">View</a>
                     </div>
                 </li>
             </ul>
diff --git a/src/main/resources/templates/tickets/edit.html b/src/main/resources/templates/tickets/edit.html
new file mode 100644
index 0000000000000000000000000000000000000000..566549bdf8fae810809c1a81066000687cb338f6
--- /dev/null
+++ b/src/main/resources/templates/tickets/edit.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+</head>
+<body>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/templates/tickets/list.html b/src/main/resources/templates/tickets/list.html
new file mode 100644
index 0000000000000000000000000000000000000000..d47ffdd95070e44cb7e5a6f79335035e59785d26
--- /dev/null
+++ b/src/main/resources/templates/tickets/list.html
@@ -0,0 +1,80 @@
+<html xmlns:th="http://www.thymeleaf.org">
+<head>
+    <title>Tickets list</title>
+    <link rel="stylesheet" href="/css/tickets.css">
+    <head th:include="commons/imports"></head>
+</head>
+<body class="themed-gradient">
+<body th:include="commons/header"></body>
+<div class="container-fluid">
+    <div class="row table-padding justify-content-center">
+        <table class="table shadow col-6 table-striped table-dark">
+            <thead>
+            <tr>
+                <th scope="col">#</th>
+                <th scope="col">Movie</th>
+                <th scope="col">Cinema</th>
+                <th scope="col">User</th>
+            </tr>
+            </thead>
+            <tbody th:with="mycounter = 0">
+            <tr th:each="sb : ${tickets}">
+                <td th:text="${mycounter}" th:with="mycounter = ${mycounter + 1}">#</td>
+                <td th:text="${sb.getMovie()}">Movie</td>
+                <td th:text="${sb.getCinema()}">Cinema</td>
+                <td th:text="${sb.getUser()}">User</td>
+            </tr>
+            </tbody>
+        </table>
+    </div>
+    <div class="modal fade" id="ticketModal" tabindex="-1" role="dialog"
+         aria-labelledby="ticketModalTitle" aria-hidden="true">
+        <div class="modal-dialog modal-dialog-centered" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title" id="exampleModalLongTitle">Ticket info</h5>
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">&times;</span>
+                    </button>
+                </div>
+                <div class="modal-body">
+                    <div class="d-flex flex-column">
+                        <div class="d-flex flex-row justify-content-between">
+                            <p>ID:</p>
+                            <p id="modal_id"></p>
+                        </div>
+                        <div class="d-flex flex-row justify-content-between">
+                            <p>Movie:</p>
+                            <p id="modal_movie"></p>
+                        </div>
+                        <div class="d-flex flex-row justify-content-between">
+                            <p>User:</p>
+                            <p id="modal_user_id">value</p>
+                        </div>
+                        <div class="d-flex flex-row justify-content-between">
+                            <p>Cinema:</p>
+                            <p id="modal_cinema_id">value</p>
+                        </div>
+                    </div>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" id="edit_ticket" class="btn btn-primary"><i class="fas fa-edit"></i> Edit
+                        ticket
+                    </button>
+                    <button type="button" id="delete_ticket" class="btn btn-danger"><i class="fas fa-trash-alt"></i>
+                        Delete ticket
+                    </button>
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal"><i class="fas fa-times"></i>
+                        Close
+                    </button>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+<script>
+    let context_url = "${pageContext.request.contextPath}"
+</script>
+<script src="js/tickets.js"></script>
+</html>
diff --git a/src/main/resources/templates/users/edit.html b/src/main/resources/templates/users/edit.html
new file mode 100644
index 0000000000000000000000000000000000000000..566549bdf8fae810809c1a81066000687cb338f6
--- /dev/null
+++ b/src/main/resources/templates/users/edit.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+</head>
+<body>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/templates/users/list.html b/src/main/resources/templates/users/list.html
new file mode 100644
index 0000000000000000000000000000000000000000..7a6ba794766e087d91c009d81048f9463e13661b
--- /dev/null
+++ b/src/main/resources/templates/users/list.html
@@ -0,0 +1,75 @@
+<html xmlns:th="http://www.thymeleaf.org">
+<head>
+    <title>Users list</title>
+    <link rel="stylesheet" href="/css/users.css">
+    <head th:include="commons/imports"></head>
+</head>
+<body class="themed-gradient">
+<body th:include="commons/header"></body>
+
+<div class="container-fluid">
+    <div class="row table-padding justify-content-center">
+        <table class="table col-4 table-striped table-dark">
+            <thead>
+            <tr>
+                <th scope="col">#</th>
+                <th scope="col">Name</th>
+                <th scope="col">Age</th>
+            </tr>
+            </thead>
+            <tbody>
+            <tr th:each="sb : ${users}" th:with="mycounter = 0">
+                <td th:text="${mycounter}" th:with="mycounter = ${mycounter + 1}">#</td>
+                <td th:text="${sb.getName()}">Name</td>
+                <td th:text="${sb.getAge()}">Age</td>
+            </tr>
+            </tbody>
+        </table>
+    </div>
+    <div class="modal fade" id="userModal" tabindex="-1" role="dialog"
+         aria-labelledby="userModalTitle" aria-hidden="true">
+        <div class="modal-dialog modal-dialog-centered" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title" id="exampleModalLongTitle">Cinema info</h5>
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">&times;</span>
+                    </button>
+                </div>
+                <div class="modal-body">
+                    <div class="d-flex flex-column">
+                        <div class="d-flex flex-row justify-content-between">
+                            <p>ID:</p>
+                            <p id="modal_id"></p>
+                        </div>
+                        <div class="d-flex flex-row justify-content-between">
+                            <p>Name:</p>
+                            <p id="modal_name"></p>
+                        </div>
+                        <div class="d-flex flex-row justify-content-between">
+                            <p>Age:</p>
+                            <p id="modal_age"></p>
+                        </div>
+                    </div>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" id="edit_user" class="btn btn-primary"><i class="fas fa-edit"></i>
+                        Edit User
+                    </button>
+                    <button type="button" id="delete_user" class="btn btn-danger"><i class="fas fa-trash-alt"></i>
+                        Delete User
+                    </button>
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal"><i class="fas fa-times"></i>
+                        Close
+                    </button>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+<script>
+    let context_url = "${pageContext.request.contextPath}"
+</script>
+<script src="js/users.js"></script>
+</html>