Общински съвет - Бобошево отказа да даде разрешение за изработване на проект за Подробен устройствен план за стопанския двор в града, както и да бъдат приети инвестициите на ВиК оператора за 2022 г. и 2024 г.


Общинските съветници в Бобошево не дадоха съгласие да бъде изработен Подробен устройствен план за стопанския двор в града, както и да бъдат приети инвестициите на ВиК оператора „Кюстендилска вода“ ЕООД за 2022 г. и 2024 г. в активи публична общинска собственост на Община Бобошево. На днешното заседание, което се проведе от 14:00 часа, присъстваха 10 съветници.
По време на обсъждането на докладната записка, свързана с придобиването на инвестициите, направени от ВиК оператора , общинският съветник Крум Маринов, който е и бивш кмет на Общината, обяви, че ще гласува „против“, защото дружеството отказва да експлоатира канализацията. Според текста на докладната записка, вложените инвестиции са в общ размер на 52 256,65 лв. без ДДС и са извършени законосъобразно.
На заседанието си съветниците не дадоха разрешение за изработване на проект за Подробен устройствен план (ПУП) – Изменение на план за регулация (ИПР) за стопанския двор в града. Председателят на съвета Бобошево Лариса Каменова посочи, че на съветниците не е предоставено мотивирано предложение и опорен план. Тя препоръча към заданието да се има и опорен план, който да дава детайли и да разясни какво цели Общината.
Общинският съвет в Бобошево избра временна комисия, която да изработи правилник за работата на съвета. За председател на комисията бе определен Георги Мичов, а за членове Цветелина Анчева и Асен Бошикьов. Комисията има за цел да изработи проект за изменение и допълнение на правилника за организацията на дейността на съвета, като е необходимо да бъдат взети под внимание недостатъците на правилника, действащ през двете години от настоящия мандат, както и да се избегнат противоречия с нормативни актове от по-висока степен.
По време на заседанието бе взето решение Община Бобошево да предостави на наследници поземлен имот с площ от 7 000 кв. м., намиращ се в землището на с. Висока могила.
Съветниците одобриха и предложение Общината да участва като партньор в проектно предложение по процедура чрез директно предоставяне на безвъзмездна финансова помощ за повишаване на готовността за предотвратяване и овладяване на бедствия, пожари и извънредни ситуации по програма "Развитие на човешките ресурси", с водещ кандидат Регионална дирекция "Пожарна безопасност и защита на населението"- Кюстендил и партньори Община Кюстендил, Община Бобов дол, Община Бобошево, Община Дупница, Община Кочериново, Община Невестино, Община Рила, Община Сапарева баня и Община Трекляно.
По време на заседанието присъстваха жители на с. Блажиево, които настояха кмета на Община Бобошево Стефан Тачев да се срещне с жители на селото. Тачев не присъстваше на заседанието заради ангажимент. Направено бе и предложение следващата сесия на ОБС Бобошево да бъде изнесена в с. Блажиево, за да могат жители на селото да се срещнат с кмета на общината и общинските съветници.

Кюстендил

В Кюстендил бе открита коледна изложба на местните творци

Традиционната коледна изложба на кюстендилските художници беше открита днес в художествената галерия „Владимир Димитров-Майстора“ в града. Тя не е просто...

Враца

С 3,5 промила се увеличава такса „Битови отпадъци“ в Община Борован за 2026 година

Общинскят съвет (ОбС) в Борован прие проект за изменение и допълнение на Наредбата за местните такси и цени на услуги,...

Враца

Общинските съветници в Борован одобриха нов договор за третиране на отпадъци

Общинският съвет в Борован даде съгласие за подписване на договор за възлагане на услуга от общ икономически интерес с дружеството...

Бяла Слатина

Съветниците в Бяла Слатина решиха с общински приходи да се дофинансира план-сметката за чистота и да не се вдига такса смет

Да не се вдига такса смет за гражданите на Бяла Слатина, а недостигът в план-сметката за чистота да се дофинансира...

Шумен

Общинският съвет в Шумен реши таксата за битови отпадъци през 2026 г. да се изчислява както досега, утвърди и цени за ползване на басейн

Общинският съвет в Шумен реши таксата за битови отпадъци през 2026 г. да се изчислява както досега - на база...

Бяла Слатина

Община Бяла Слатина предоставя автобус на Общностен център за деца и семейства след решение на Общинския съвет

Дванадесетместен автобус предоставя Община Бяла Слатина на новосъздадения Общностен център за деца и семейства след решение на Общинския съвет. В...

(function(window, document) { 'use strict'; var CDP_VERSION = '1.0.0'; var config = { writeKey: null, apiHost: '', siteName: 'Paragrafa', siteId: 'paragrafa-com', debug: false, // Article detection selectors (customized for Paragrafa.com) selectors: { articlePage: '.article-content, .single-article, article.full', articleTitle: 'h1, .article-title, .article-block h4', articleContent: '.article-content, .article-body, .content', articleAuthor: '.author, .article-author, [rel="author"]', articleCategory: '.category a, .breadcrumb a, [class*="category"]', articleDate: '.date, .article-date, time, [datetime]', articleTags: '.tags a, .article-tags a, [rel="tag"]', }, // Category mapping (Bulgarian to English for analytics) categoryMap: { 'българия': 'Bulgaria', 'свят': 'World', 'балкани': 'Balkans', 'икономика': 'Economy', 'спорт': 'Sport', 'култура': 'Culture', 'региони': 'Regions', 'it': 'Technology', 'политика': 'Politics', 'общество': 'Society', 'здраве': 'Health', 'наука': 'Science' }, // Reading thresholds readThreshold: { scrollPercent: 75, timeSeconds: 60 }, // Engagement threshold engageThreshold: { scrollPercent: 50, timeSeconds: 30 } }; // State var state = { initialized: false, anonymousId: null, userId: null, sessionId: null, currentPage: null, articleMetadata: null, readingStartTime: null, maxScrollDepth: 0, hasTrackedView: false, hasTrackedRead: false, hasTrackedEngage: false, scrollMilestones: { 25: false, 50: false, 75: false, 100: false } }; // Utility functions function generateId() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0; var v = c === 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); } function getOrCreateAnonymousId() { var storageKey = 'cdp_anonymous_id'; var id = localStorage.getItem(storageKey); if (!id) { id = generateId(); localStorage.setItem(storageKey, id); } return id; } function getSessionId() { var sessionKey = 'cdp_session_id'; var sessionTimeKey = 'cdp_session_time'; var sessionTimeout = 30 * 60 * 1000; // 30 minutes var now = Date.now(); var lastTime = parseInt(localStorage.getItem(sessionTimeKey) || '0', 10); var sessionId = localStorage.getItem(sessionKey); if (!sessionId || (now - lastTime) > sessionTimeout) { sessionId = generateId(); localStorage.setItem(sessionKey, sessionId); } localStorage.setItem(sessionTimeKey, now.toString()); return sessionId; } function log() { if (config.debug && console && console.log) { console.log.apply(console, ['[CDP News]'].concat(Array.prototype.slice.call(arguments))); } } function getContext() { return { page: { url: window.location.href, path: window.location.pathname, title: document.title, referrer: document.referrer }, userAgent: navigator.userAgent, locale: navigator.language, timezone: Intl.DateTimeFormat().resolvedOptions().timeZone, screen: { width: window.screen.width, height: window.screen.height }, session: { id: state.sessionId } }; } // Translate Bulgarian category to English function translateCategory(category) { if (!category) return null; var lower = category.toLowerCase().trim(); return config.categoryMap[lower] || category; } // Extract article metadata from page function extractArticleMetadata() { var sel = config.selectors; // Check if we're on an article page var articleContainer = document.querySelector(sel.articlePage); if (!articleContainer && !window.location.pathname.includes('/article/')) { return null; } // Extract title var titleEl = document.querySelector(sel.articleTitle); var title = titleEl ? titleEl.textContent.trim() : document.title; // Extract author var authorEl = document.querySelector(sel.articleAuthor); var author = authorEl ? authorEl.textContent.trim() : null; // Extract category (first category link found) var categoryEl = document.querySelector(sel.articleCategory); var category = categoryEl ? translateCategory(categoryEl.textContent.trim()) : null; // Extract date var dateEl = document.querySelector(sel.articleDate); var publishDate = null; if (dateEl) { publishDate = dateEl.getAttribute('datetime') || dateEl.textContent.trim(); } // Extract tags var tagEls = document.querySelectorAll(sel.articleTags); var tags = []; for (var i = 0; i < tagEls.length; i++) { tags.push(tagEls[i].textContent.trim()); } // Calculate word count var contentEl = document.querySelector(sel.articleContent); var wordCount = 0; if (contentEl) { wordCount = contentEl.textContent.trim().split(/\s+/).length; } // Generate article ID from URL var articleId = window.location.pathname.replace(/\//g, '-').replace(/^-|-$/g, '') || generateId(); return { articleId: articleId, title: title, author: author, category: category, tags: tags, publishDate: publishDate, wordCount: wordCount, url: window.location.href, siteName: config.siteName, siteId: config.siteId }; } // Detect page type function detectPageType() { var path = window.location.pathname; if (path === '/' || path === '') { return 'homepage'; } if (path.includes('/article/') || path.includes('/news/')) { return 'article'; } if (path.includes('/category/') || path.includes('/section/')) { return 'category'; } if (path.includes('/author/')) { return 'author'; } if (path.includes('/search')) { return 'search'; } if (path.includes('/tag/')) { return 'tag'; } // Check if page has article content var hasArticleContent = document.querySelector(config.selectors.articlePage); if (hasArticleContent) { return 'article'; } return 'other'; } // Send event to CDP function sendEvent(eventName, properties) { if (!config.writeKey) { log('No write key configured'); return; } var payload = { type: 'track', anonymousId: state.anonymousId, userId: state.userId, event: eventName, properties: properties || {}, context: getContext(), timestamp: new Date().toISOString() }; log('Sending event:', eventName, properties); var xhr = new XMLHttpRequest(); xhr.open('POST', config.apiHost + '/v1/events', true); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.setRequestHeader('Authorization', 'Bearer ' + config.writeKey); xhr.send(JSON.stringify(payload)); } // Send page view function sendPageView(properties) { if (!config.writeKey) return; var payload = { type: 'page', anonymousId: state.anonymousId, userId: state.userId, name: properties.name || document.title, properties: properties || {}, context: getContext(), timestamp: new Date().toISOString() }; log('Sending page view:', properties); var xhr = new XMLHttpRequest(); xhr.open('POST', config.apiHost + '/v1/events', true); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.setRequestHeader('Authorization', 'Bearer ' + config.writeKey); xhr.send(JSON.stringify(payload)); } // Calculate scroll depth function getScrollDepth() { var scrollTop = window.pageYOffset || document.documentElement.scrollTop; var scrollHeight = document.documentElement.scrollHeight; var clientHeight = document.documentElement.clientHeight; var scrollable = scrollHeight - clientHeight; if (scrollable <= 0) return 100; return Math.min(100, Math.round((scrollTop / scrollable) * 100)); } // Scroll handler function handleScroll() { if (!state.articleMetadata) return; var depth = getScrollDepth(); state.maxScrollDepth = Math.max(state.maxScrollDepth, depth); // Track scroll milestones var milestones = [25, 50, 75, 100]; for (var i = 0; i < milestones.length; i++) { var milestone = milestones[i]; if (depth >= milestone && !state.scrollMilestones[milestone]) { state.scrollMilestones[milestone] = true; sendEvent('Article Scroll Milestone', { milestone: milestone, articleId: state.articleMetadata.articleId, title: state.articleMetadata.title, category: state.articleMetadata.category }); } } // Check for engagement threshold var timeSpent = (Date.now() - state.readingStartTime) / 1000; if (!state.hasTrackedEngage && depth >= config.engageThreshold.scrollPercent && timeSpent >= config.engageThreshold.timeSeconds) { state.hasTrackedEngage = true; sendEvent('Article Engaged', { articleId: state.articleMetadata.articleId, title: state.articleMetadata.title, category: state.articleMetadata.category, author: state.articleMetadata.author, scrollDepth: depth, timeSpent: Math.round(timeSpent), siteName: config.siteName }); } // Check for read threshold if (!state.hasTrackedRead && (depth >= config.readThreshold.scrollPercent || timeSpent >= config.readThreshold.timeSeconds)) { state.hasTrackedRead = true; sendEvent('Article Read', { articleId: state.articleMetadata.articleId, title: state.articleMetadata.title, category: state.articleMetadata.category, author: state.articleMetadata.author, tags: state.articleMetadata.tags, wordCount: state.articleMetadata.wordCount, scrollDepth: state.maxScrollDepth, timeSpent: Math.round(timeSpent), siteName: config.siteName }); } } // Page unload handler - send final reading session function handleUnload() { if (!state.articleMetadata || !state.readingStartTime) return; var timeSpent = (Date.now() - state.readingStartTime) / 1000; // Use sendBeacon for reliable delivery on page unload var payload = { type: 'track', anonymousId: state.anonymousId, userId: state.userId, event: 'Article Reading Session', properties: { articleId: state.articleMetadata.articleId, title: state.articleMetadata.title, category: state.articleMetadata.category, author: state.articleMetadata.author, scrollDepth: state.maxScrollDepth, timeSpent: Math.round(timeSpent), wasRead: state.hasTrackedRead, wasEngaged: state.hasTrackedEngage, siteName: config.siteName }, context: getContext(), timestamp: new Date().toISOString() }; if (navigator.sendBeacon && config.writeKey) { var blob = new Blob([JSON.stringify(payload)], { type: 'application/json' }); navigator.sendBeacon(config.apiHost + '/v1/events?key=' + config.writeKey, blob); } } // Initialize tracking for article page function initArticleTracking() { state.articleMetadata = extractArticleMetadata(); if (!state.articleMetadata) { log('Not an article page or could not extract metadata'); return; } log('Article detected:', state.articleMetadata); state.readingStartTime = Date.now(); state.maxScrollDepth = getScrollDepth(); // Track article view if (!state.hasTrackedView) { state.hasTrackedView = true; sendEvent('Article Viewed', { articleId: state.articleMetadata.articleId, title: state.articleMetadata.title, category: state.articleMetadata.category, author: state.articleMetadata.author, tags: state.articleMetadata.tags, wordCount: state.articleMetadata.wordCount, publishDate: state.articleMetadata.publishDate, siteName: config.siteName }); } // Set up scroll tracking var scrollTimer = null; window.addEventListener('scroll', function() { if (scrollTimer) clearTimeout(scrollTimer); scrollTimer = setTimeout(handleScroll, 100); }); // Periodic check for time-based reading setInterval(handleScroll, 5000); // Handle page unload window.addEventListener('beforeunload', handleUnload); window.addEventListener('pagehide', handleUnload); } // Public API window.cdpNews = { // Initialize the SDK init: function(writeKey, options) { if (state.initialized) { log('Already initialized'); return; } options = options || {}; config.writeKey = writeKey; config.apiHost = options.apiHost || ''; config.siteName = options.siteName || config.siteName; config.siteId = options.siteId || config.siteId; config.debug = options.debug || false; if (options.selectors) { for (var key in options.selectors) { if (options.selectors.hasOwnProperty(key)) { config.selectors[key] = options.selectors[key]; } } } if (options.categoryMap) { for (var cat in options.categoryMap) { if (options.categoryMap.hasOwnProperty(cat)) { config.categoryMap[cat.toLowerCase()] = options.categoryMap[cat]; } } } state.anonymousId = getOrCreateAnonymousId(); state.sessionId = getSessionId(); state.initialized = true; log('Initialized with write key:', writeKey.substring(0, 8) + '...'); // Auto-detect page type and start tracking var pageType = detectPageType(); state.currentPage = pageType; log('Page type:', pageType); // Send page view sendPageView({ pageType: pageType, siteName: config.siteName }); // Initialize article tracking if on article page if (pageType === 'article') { // Wait for DOM to be fully loaded if (document.readyState === 'complete') { initArticleTracking(); } else { window.addEventListener('load', initArticleTracking); } } }, // Identify user identify: function(userId, traits) { state.userId = userId; var payload = { type: 'identify', anonymousId: state.anonymousId, userId: userId, traits: traits || {}, context: getContext(), timestamp: new Date().toISOString() }; log('Identify:', userId, traits); if (config.writeKey) { var xhr = new XMLHttpRequest(); xhr.open('POST', config.apiHost + '/v1/events', true); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.setRequestHeader('Authorization', 'Bearer ' + config.writeKey); xhr.send(JSON.stringify(payload)); } }, // Track custom event track: function(eventName, properties) { sendEvent(eventName, properties); }, // Track article share trackShare: function(channel) { if (!state.articleMetadata) return; sendEvent('Article Shared', { articleId: state.articleMetadata.articleId, title: state.articleMetadata.title, category: state.articleMetadata.category, channel: channel || 'unknown', siteName: config.siteName }); }, // Track comment trackComment: function() { if (!state.articleMetadata) return; sendEvent('Comment Posted', { articleId: state.articleMetadata.articleId, title: state.articleMetadata.title, category: state.articleMetadata.category, siteName: config.siteName }); }, // Track article save/bookmark trackSave: function() { if (!state.articleMetadata) return; sendEvent('Article Saved', { articleId: state.articleMetadata.articleId, title: state.articleMetadata.title, category: state.articleMetadata.category, siteName: config.siteName }); }, // Track search trackSearch: function(query, resultsCount) { sendEvent('Search Performed', { query: query, resultsCount: resultsCount || 0, siteName: config.siteName }); }, // Track newsletter signup trackNewsletterSignup: function(email) { sendEvent('Newsletter Subscribed', { email: email, siteName: config.siteName }); }, // Get current reading state (for debugging) getReadingState: function() { if (!state.articleMetadata) return null; var timeSpent = state.readingStartTime ? (Date.now() - state.readingStartTime) / 1000 : 0; return { articleId: state.articleMetadata.articleId, title: state.articleMetadata.title, scrollDepth: state.maxScrollDepth, timeSpent: Math.round(timeSpent), hasTrackedRead: state.hasTrackedRead, hasTrackedEngage: state.hasTrackedEngage }; }, // Debug mode debug: function(enabled) { config.debug = enabled !== false; log('Debug mode:', config.debug ? 'enabled' : 'disabled'); } }; log('CDP News SDK loaded (Paragrafa.com version)'); })(window, document);