Index: backend/GlobeGuru-backend/src/main/java/DatabaseUtil.java
===================================================================
--- backend/GlobeGuru-backend/src/main/java/DatabaseUtil.java	(revision 1c51912fb1f62ebf47d6d4edd6b804c584bb0cb1)
+++ backend/GlobeGuru-backend/src/main/java/DatabaseUtil.java	(revision cd64b0654f6b71706257c7744e179b22c9386ade)
@@ -151,5 +151,8 @@
                 "FROM options o " +
                 "LEFT JOIN optionDetails od ON o.id = od.optionId " +
-                "WHERE (o.country LIKE ? OR o.hotelName LIKE ?)";
+                "WHERE (o.country LIKE ? OR o.hotelName LIKE ?) " +
+                "AND od.type IS NOT NULL " +
+                "AND od.board IS NOT NULL " +
+                "AND od.price > 0";
 
         if (dateQuery != null && !dateQuery.isEmpty() && !dateFlag) {
@@ -200,4 +203,5 @@
         return options;
     }
+
 
 
Index: backend/GlobeGuru-backend/src/main/java/FrontendHandler.java
===================================================================
--- backend/GlobeGuru-backend/src/main/java/FrontendHandler.java	(revision 1c51912fb1f62ebf47d6d4edd6b804c584bb0cb1)
+++ backend/GlobeGuru-backend/src/main/java/FrontendHandler.java	(revision cd64b0654f6b71706257c7744e179b22c9386ade)
@@ -130,5 +130,4 @@
             return;
         }
-
         Server.sendResponse(exchange, 200, mapper.writeValueAsString(options));
     }
Index: backend/GlobeGuru-backend/src/main/java/ScraperThread.java
===================================================================
--- backend/GlobeGuru-backend/src/main/java/ScraperThread.java	(revision 1c51912fb1f62ebf47d6d4edd6b804c584bb0cb1)
+++ backend/GlobeGuru-backend/src/main/java/ScraperThread.java	(revision cd64b0654f6b71706257c7744e179b22c9386ade)
@@ -96,5 +96,6 @@
                             } else if (optionSet.add(option)) {
                                 uniqueOptions.add(option);
-                                DatabaseUtil.saveOptionToDatabase(option);
+                                option.setId(DatabaseUtil.saveOptionToDatabase(option));
+                                scrapeOptionInfo(option);
                                 System.out.println("Parsed " + option);
                             }
@@ -149,10 +150,9 @@
 
              String board = roomOption.select(".rezervacija-objekt").text();
-             if(board.length() > 2){
-                 board = board.substring(0,2);
+             if(board.length() > 2) {
+                 board = board.substring(0, 2);
              }
-             if(board.isEmpty() || type.isEmpty()){
-                 continue;
-             }
+             if(board.isEmpty() || type.isEmpty()) continue;
+
              Elements amenityElement = roomOption.select(".objekt-opis");
              String amenity = (amenityElement != null ? amenityElement.text() : "");
@@ -166,4 +166,35 @@
              DatabaseUtil.saveOptionDetails(option.getId(), type,board,amenity, price);
          }
+        }
+        else if(url.contains("booking.escapetravel.mk")){
+            System.out.println("Scraping info for " + url);
+
+            driver.get(url);
+            try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } //data fetch
+            String pageSource = driver.getPageSource();
+            Document doc = Jsoup.parse(pageSource);
+            Elements roomOptions = doc.select("#hotel-rooms-container .hotel-room-row");
+            for(Element roomOption : roomOptions){
+                String type = roomOption.select("td.align-middle").first().text();
+                String board = roomOption.select("td.align-middle.text-primary.lead").text();
+                if (board.isEmpty() || type.isEmpty())  continue;
+                String priceText = roomOption.select("td.align-middle.text-end .text-success.d-block.lead").text().replace("€", "").trim();
+                float price;
+                if (!priceText.isEmpty()) {
+                    price = Float.parseFloat(priceText.replace(",", ""));
+                } else continue;
+
+                Elements amenityElements = doc.select("div.row > div.col-6.col-md-3.col-xl-2");
+                StringBuilder amenities = new StringBuilder();
+                for (Element amenityElement : amenityElements) {
+                    amenities.append(amenityElement.text()).append(", ");
+                }
+                if (!amenities.isEmpty()) {
+                    amenities.setLength(amenities.length() - 2);
+                }
+                System.out.println(type + board + price + amenities);
+                DatabaseUtil.saveOptionDetails(option.getId(), type, board, amenities.toString(), price);
+            }
+
         }
     }
Index: backend/GlobeGuru-backend/src/main/java/Server.java
===================================================================
--- backend/GlobeGuru-backend/src/main/java/Server.java	(revision 1c51912fb1f62ebf47d6d4edd6b804c584bb0cb1)
+++ backend/GlobeGuru-backend/src/main/java/Server.java	(revision cd64b0654f6b71706257c7744e179b22c9386ade)
@@ -196,12 +196,14 @@
 
     public static void sendResponse(HttpExchange exchange, int statusCode, String response) throws IOException {
+        byte[] responseBytes = response.getBytes(StandardCharsets.UTF_8);
         exchange.getResponseHeaders().add("Cross-Origin-Opener-Policy", "unsafe-none");
         exchange.getResponseHeaders().add("Cross-Origin-Embedder-Policy", "require-corp");
         exchange.getResponseHeaders().add("Content-Type", "application/json");
-        exchange.sendResponseHeaders(statusCode, response.length());
-        exchange.getResponseBody().write(response.getBytes());
-        exchange.getResponseBody().close();
-    }
-
+        exchange.getResponseHeaders().add("Transfer-Encoding", "chunked");
+        exchange.sendResponseHeaders(statusCode, 0);
+        try (OutputStream os = exchange.getResponseBody()) {
+            os.write(responseBytes);
+        }
+    }
 }
 
Index: backend/GlobeGuru-backend/src/main/resources/URLsJSON.json
===================================================================
--- backend/GlobeGuru-backend/src/main/resources/URLsJSON.json	(revision 1c51912fb1f62ebf47d6d4edd6b804c584bb0cb1)
+++ backend/GlobeGuru-backend/src/main/resources/URLsJSON.json	(revision cd64b0654f6b71706257c7744e179b22c9386ade)
@@ -2,6 +2,6 @@
   "agencyurls":
           [
-            "https://magelantravel.mk/"
-
+            "https://magelantravel.mk/",
+            "https://booking.escapetravel.mk/"
           ]
 }
Index: backend/GlobeGuru-backend/target/classes/URLsJSON.json
===================================================================
--- backend/GlobeGuru-backend/target/classes/URLsJSON.json	(revision 1c51912fb1f62ebf47d6d4edd6b804c584bb0cb1)
+++ backend/GlobeGuru-backend/target/classes/URLsJSON.json	(revision cd64b0654f6b71706257c7744e179b22c9386ade)
@@ -2,6 +2,5 @@
   "agencyurls":
           [
-            "https://magelantravel.mk/"
-
+            "https://booking.escapetravel.mk/"
           ]
 }
Index: backend/GlobeGuru-backend/target/classes/lastUpdateTime.json
===================================================================
--- backend/GlobeGuru-backend/target/classes/lastUpdateTime.json	(revision 1c51912fb1f62ebf47d6d4edd6b804c584bb0cb1)
+++ backend/GlobeGuru-backend/target/classes/lastUpdateTime.json	(revision cd64b0654f6b71706257c7744e179b22c9386ade)
@@ -1,3 +1,3 @@
 {
-  "lastUpdateTime" : "2025-01-10T18:31:22.019011800"
+  "lastUpdateTime" : "2025-01-11T00:07:21.694581100"
 }
Index: frontend/css.css
===================================================================
--- frontend/css.css	(revision 1c51912fb1f62ebf47d6d4edd6b804c584bb0cb1)
+++ frontend/css.css	(revision cd64b0654f6b71706257c7744e179b22c9386ade)
@@ -15,5 +15,7 @@
     right: 20px;
 }
-
+.infoDiv{
+    width:400px;
+}
 .login-button {
     background-color: #007bff;
Index: frontend/js/formHandler.js
===================================================================
--- frontend/js/formHandler.js	(revision 1c51912fb1f62ebf47d6d4edd6b804c584bb0cb1)
+++ frontend/js/formHandler.js	(revision cd64b0654f6b71706257c7744e179b22c9386ade)
@@ -4,7 +4,6 @@
 
     form.addEventListener('submit', function(event) {
-        event.preventDefault(); // Prevent the default form submission
+        event.preventDefault();
 
-        // Collect form data
         const formData = new FormData(form);
         const data = {};
@@ -12,5 +11,4 @@
         let errorMessage = "";
 
-        // Validate form data
         formData.forEach((value, key) => {
             data[key] = value;
@@ -36,5 +34,4 @@
         loadingOverlay.style.display = 'flex';
 
-        // Send form data to the server
         fetch('/submit', {
             method: 'POST',
@@ -44,8 +41,12 @@
             body: JSON.stringify(data)
         })
-            .then(response => response.json())
+            .then(response => {
+                if (!response.ok) {
+                    throw new Error('Network response was not ok ' + response.statusText);
+                }
+                return response.json();
+            })
             .then(data => {
                 loadingOverlay.style.display = 'none';
-
                 const dataList = document.getElementById('givenOptions');
                 dataList.innerHTML = '';
@@ -56,92 +57,87 @@
                     wrapper.appendChild(text);
                     dataList.appendChild(wrapper);
+                } else {
+                    data.forEach(item => {
+                        const optionDiv = document.createElement('div');
+                        optionDiv.classList.add('option');
+
+                        const img = document.createElement('img');
+                        img.classList.add('image');
+                        img.src = item.imgSrc || '';
+                        optionDiv.appendChild(img);
+                        const WrapperDiv = document.createElement('div');
+                        optionDiv.appendChild(WrapperDiv);
+
+                        const nameParagraph = document.createElement('p');
+                        nameParagraph.id = 'name';
+                        nameParagraph.textContent = item.hotelName || 'N/A';
+                        WrapperDiv.appendChild(nameParagraph);
+
+                        const countryParagraph = document.createElement('p');
+                        countryParagraph.id = 'country';
+                        countryParagraph.style.fontSize = '20px';
+                        countryParagraph.textContent = item.country || 'N/A';
+                        WrapperDiv.appendChild(countryParagraph);
+
+                        const dateParagraph = document.createElement('h2');
+                        dateParagraph.id = 'date';
+                        dateParagraph.textContent = item.dateRange || 'N/A';
+                        WrapperDiv.appendChild(dateParagraph);
+
+                        const peopleParagraph = document.createElement('p');
+                        peopleParagraph.id = 'numPeople';
+                        peopleParagraph.textContent = item.numPeople === 1 ? item.numPeople + " лице" : item.numPeople + " лица";
+                        WrapperDiv.appendChild(peopleParagraph);
+
+                        const priceHeading = document.createElement('h1');
+                        priceHeading.textContent = 'Цена:';
+                        WrapperDiv.appendChild(priceHeading);
+                        const priceParagraph = document.createElement('h2');
+                        priceParagraph.id = 'price';
+                        priceParagraph.textContent = (item.price || 0) + " EUR";
+                        WrapperDiv.appendChild(priceParagraph);
+
+                        const infoDiv = document.createElement('div');
+                        infoDiv.classList.add("infoDiv");
+                        const typeRoom = document.createElement('p');
+                        typeRoom.textContent = "Тип на соба: " + (item.type || 'N/A');
+                        infoDiv.appendChild(typeRoom);
+                        const plan = document.createElement('p');
+                        plan.textContent = "Услуга: " + (item.board || 'N/A');
+                        infoDiv.appendChild(plan);
+                        const amenities = document.createElement('p');
+                        amenities.textContent = item.amenities && item.amenities.length > 0 ? "Поволности: " + item.amenities : "Нема информации од агенцијата за вклучените поволности.";
+                        infoDiv.appendChild(amenities);
+                        optionDiv.appendChild(infoDiv);
+
+                        const link = document.createElement('a');
+                        link.id = 'link';
+                        link.href = item.link || '#';
+                        link.target = '_blank';
+
+                        const button = document.createElement('button');
+                        button.classList.add('btn', 'login-button');
+                        button.textContent = 'Линк до страна';
+                        const btnWrapDiv = document.createElement('div');
+                        btnWrapDiv.classList.add('btnWrapper');
+                        const favBtn = document.createElement('button');
+                        favBtn.classList.add('favBtn', 'btn');
+                        favBtn.id = 'favBtnId';
+                        favBtn.textContent = 'Додадете во омилени';
+                        favBtn.setAttribute('data-option-id', item.id);
+                        favBtn.addEventListener('click', function () {
+                            const optionId = this.getAttribute('data-option-id');
+                            saveFavoriteOption(optionId);
+                        });
+
+                        btnWrapDiv.appendChild(link);
+                        link.appendChild(button);
+                        btnWrapDiv.appendChild(favBtn);
+
+                        optionDiv.appendChild(btnWrapDiv);
+                        dataList.appendChild(optionDiv);
+                    });
+                    console.log('Finished processing data.');
                 }
-                data.forEach(item => {
-
-                    const optionDiv = document.createElement('div');
-                    optionDiv.classList.add('option');
-
-                    //image
-                    const img = document.createElement('img');
-                    img.classList.add('image');
-                    img.src = item.imgSrc;
-                    optionDiv.appendChild(img);
-                    const WrapperDiv = document.createElement('div');
-                    optionDiv.appendChild(WrapperDiv);
-                    //hotel
-                    const nameParagraph = document.createElement('p');
-                    nameParagraph.id = 'name';
-                    nameParagraph.textContent = item.hotelName;
-                    WrapperDiv.appendChild(nameParagraph);
-                    //Destination
-                    const countryParagraph = document.createElement('p');
-                    countryParagraph.id = 'country';
-                    countryParagraph.style.fontSize = '20px';
-                    countryParagraph.textContent = item.country;
-                    WrapperDiv.appendChild(countryParagraph);
-                    const dateParagraph = document.createElement('h2');
-                    dateParagraph.id = 'date';
-                    dateParagraph.textContent = item.dateRange;
-                    WrapperDiv.appendChild(dateParagraph);
-                    const peopleParaghraph = document.createElement('p');
-                    peopleParaghraph.id = 'numPeople';
-                    if(item.numPeople === 1){
-                    peopleParaghraph.textContent = item.numPeople + " лице";
-                    }
-                    else peopleParaghraph.textContent = item.numPeople + " лица";
-                    WrapperDiv.appendChild(peopleParaghraph);
-                    //price
-                    const priceHeading = document.createElement('h1');
-                    priceHeading.textContent = 'Цена:';
-                    WrapperDiv.appendChild(priceHeading);
-                    const priceParagraph = document.createElement('h2');
-                    priceParagraph.id = 'price';
-                    priceParagraph.textContent = item.price + "EUR";
-                    WrapperDiv.appendChild(priceParagraph);
-
-
-                    const infoDiv = document.createElement('div');
-                    const typeRoom = document.createElement('p');
-                    typeRoom.textContent = "Тип на соба: " + item.type;
-                    infoDiv.appendChild(typeRoom);
-                    const plan = document.createElement('p');
-                    plan.textContent = "Услуга: " + item.board;
-                    infoDiv.appendChild(plan);
-                    const amenities = document.createElement('p');
-                    if(item.amenities.length === 0){
-                        amenities.textContent = "Нема информации од агенцијата за вклучените поволности. ";
-                    }else amenities.textContent = "Поволности: " + item.amenities;
-                    infoDiv.appendChild(amenities);
-                    optionDiv.appendChild(infoDiv);
-
-
-                    //  link and button
-                    const link = document.createElement('a');
-                    link.id = 'link';
-                    link.href = item.link; // Use item.link if available
-                    link.target = '_blank'; // Open link in new tab
-
-                    const button = document.createElement('button');
-                    button.classList.add('btn', 'login-button');
-                    button.textContent = 'Линк до страна';
-                    const btnWrapDiv = document.createElement('div');
-                    btnWrapDiv.classList.add('btnWrapper');
-                    const favBtn = document.createElement('button');
-                    favBtn.classList.add('favBtn','btn');
-                    favBtn.id = 'favBtnId';
-                    favBtn.textContent = 'Додадете во омилени';
-                    favBtn.setAttribute('data-option-id', item.id);
-                    favBtn.addEventListener('click', function () {
-                        const optionId = this.getAttribute('data-option-id');
-                        saveFavoriteOption(optionId);
-                    });
-
-                    btnWrapDiv.appendChild(link);
-                    link.appendChild(button);
-                    btnWrapDiv.appendChild(favBtn);
-
-                    optionDiv.appendChild(btnWrapDiv);
-                    dataList.appendChild(optionDiv);
-                });
                 updateFavoriteButtons();
             })
