schema_version: "1.4" generated_at: "2026-01-23" source: "https://kolesa.dp.ua/" site: domain: "kolesa.dp.ua" canonical_base_url: "https://kolesa.dp.ua" brand: name_uk: "Колеса Дніпро" name_ru: "Колеса Днепр" locale: country: "UA" city: "Dnipro" currency: "UAH" timezone: "Europe/Zaporozhye" languages: primary: "uk" alternates: ["ru"] routes: uk: "/" ru: "/ru/" ui_language_toggle_present: true routing_rules: - "Відповідати мовою користувача." - "Якщо користувач пише російською — за можливості посилатися на /ru/ версії сторінок." - "Не змішувати мови в одній відповіді без потреби." business_type: ["ecommerce", "local_service"] core_topics: ["tires", "wheels", "tire_fitting", "wheel_service", "storage", "auto_service"] discovery: sitemap_xml: "https://kolesa.dp.ua/sitemap.xml" sitemap_notes: - "Якщо sitemap недоступний для читання конкретним клієнтом, використовувати точки входу нижче та навігацію сайту." important_entrypoints: - url: "https://kolesa.dp.ua/" type: "home" - url: "https://kolesa.dp.ua/catalog" type: "catalog_hub" - url: "https://kolesa.dp.ua/shiny/legkovi" type: "tires_category_example" - url: "https://kolesa.dp.ua/shiny/legkovi/w205/h55/r16" type: "tires_size_filter_example" - url: "https://kolesa.dp.ua/shiny/legkovi/zimovi/michelin/w245/h35/r18/is-v/il-92/pos-xl" type: "tires_full_filter_example" - url: "https://kolesa.dp.ua/diski/legkosplavni/momo/w7/r17/pcd4_108/dia63d4/clr-677" type: "wheels_full_filter_example" - url: "https://kolesa.dp.ua/taurus-201-winter" type: "tire_model_example" - url: "https://kolesa.dp.ua/taurus-201-winter-185-80-r14c-102-100r-c" type: "tire_product_example" - url: "https://kolesa.dp.ua/services/tire-fitting" type: "service_with_price_tables_example" - url: "https://kolesa.dp.ua/payment-and-delivery" type: "policy_shipping_payment" - url: "https://kolesa.dp.ua/product-warranty" type: "policy_warranty" - url: "https://kolesa.dp.ua/contacts" type: "contacts" - url: "https://kolesa.dp.ua/client-reviews" type: "site_reviews" - url: "https://kolesa.dp.ua/vacancies" type: "vacancies" - url: "https://kolesa.dp.ua/blog" type: "blog_or_news" - url: "https://kolesa.dp.ua/wide-tires" type: "special_tool_wide_tires_uk" - url: "https://kolesa.dp.ua/ru/wide-tires" type: "special_tool_wide_tires_ru" content_taxonomy: products: tires: roots: ["/shiny", "/shiny/legkovi"] subcategories_known: - path: "/shiny/legkovi" label_uk: "Легкові шини" - path: "/shiny/motoshiny" label_uk: "Мотошини" note: "Шлях може відрізнятися; уточнювати через навігацію/sitemap." - path: "/shiny/vantazhni" label_uk: "Вантажні шини" note: "Шлях може відрізнятися; уточнювати через навігацію/sitemap." common_facets: - "width" - "height" - "diameter" - "season" - "brand" - "runflat" - "omologation" - "speed_index" - "load_index" - "reinforcement (XL тощо)" - "purpose (наприклад SUV), якщо присутнє" wheels: roots: ["/diski"] subcategories_known: - path: "/diski/legkosplavni" label_uk: "Легкосплавні диски" - path: "/diski/stalevi" label_uk: "Сталеві диски" - path: "/diski/kovani" label_uk: "Ковані диски" common_facets: - "type (legkosplavni/stalevi/kovani)" - "brand" - "width" - "diameter" - "pcd" - "dia" - "et (якщо є на сайті)" - "color" services: root: "/services" examples: - "/services/tire-fitting" - "/services/outgoing-tire-fitting" - "/services/keeping-tieres" - "/services/tire-repair" - "/services/balansuvannia-kolis" - "/services/remont-diskiv" - "/services/farbuvannia-diskiv" - "/services/montaz-ta-demontaz-sin-v-dnipri" informational: about: "/about-company" contacts: "/contacts" shipping_payment: "/payment-and-delivery" warranty: "/product-warranty" reviews: "/client-reviews" vacancies: "/vacancies" blog_or_news: "/blog" pricing_and_facts_policy: time_sensitive_fields: ["price", "availability", "promotions"] strict_rules: - "Ніколи не вгадувати, не екстраполювати і не 'усереднювати' ціни або наявність." - "Будь-які ціни/наявність/акції/рік/країну/точні параметри повідомляти тільки з конкретного URL-джерела." - "Не переносити дані між схожими товарами або моделями." authoritative_sources_by_fact: price_and_availability: - "product_detail (сторінка конкретного товару)" - "service_detail (сторінка конкретної послуги)" service_prices_only_from: "/services/{service_slug}" shipping_payment_only_from: "/payment-and-delivery" warranty_only_from: "/product-warranty" contacts_only_from: "/contacts" evidence_link_requirement: - "Коли в тексті є числа/ціна/наявність/рік/країна/індекси/PCD/DIA/ET як факт — поруч має бути посилання на URL, звідки взято." url_patterns: tires: category_pages: passenger_root: pattern: "/shiny/legkovi" page_type: "tires_category" signals: - "h1 містить назву категорії" - "є блок фільтрів та блок 'Ви обрали'" filter_landing_pages: size_only: pattern: "/shiny/legkovi/w{width}/h{height}/r{diameter}" page_type: "tires_filter_landing" example: "/shiny/legkovi/w205/h55/r16" url_tokens: width: "w205" height: "h55" diameter: "r16 (можливі варіанти r16c тощо)" extraction_priority: - "зчитати вибрані параметри з блоку 'Ви обрали'" - "зчитати кількість знайдених товарів/моделей" full_filter: pattern: "/shiny/legkovi/{season_slug}/{brand_slug}/w{width}/h{height}/r{diameter}/is-{speed_index}/il-{load_index}/pos-{reinforcement}" page_type: "tires_filter_landing_full" example: "/shiny/legkovi/zimovi/michelin/w245/h35/r18/is-v/il-92/pos-xl" url_tokens: season_slug: "zimovi|lithni|vsesezonni (та інші, якщо присутні)" brand_slug: "наприклад michelin" speed_index: "is-v (літера)" load_index: "il-92 (число)" reinforcement: "pos-xl (наприклад xl)" token_encoding_notes: - "is- та il- — токени індексів; показувати людське значення з блоку 'Ви обрали'." - "pos- — токен посилення/ознаки; показувати людське значення з блоку 'Ви обрали'." wheels: category_pages: alloy_root: pattern: "/diski/legkosplavni" page_type: "wheels_category" signals: - "h1 містить назву категорії" - "є блок фільтрів та блок 'Ви обрали'" filter_landing_pages: full_filter_with_color: pattern: "/diski/{type_slug}/{brand_slug}/w{width}/r{diameter}/pcd{pcd}/dia{dia}/clr-{color_id}" page_type: "wheels_filter_landing_full" example: "/diski/legkosplavni/momo/w7/r17/pcd4_108/dia63d4/clr-677" url_tokens: type_slug: "legkosplavni|stalevi|kovani" brand_slug: "наприклад momo" width: "w7" diameter: "r17" pcd: "pcd4_108 (роздільник '_')" dia: "dia63d4 (десяткова частина через 'd')" color_id: "наприклад 677" token_encoding_notes: - "PCD: '_' розділяє параметри (4_108)." - "DIA: 'd' означає десятковий роздільник (63d4 => 63,4)." - "clr-{id}: показувати назву кольору з блоку 'Ви обрали', а не вгадувати." extraction_priority: - "зчитати вибрані параметри з блоку 'Ви обрали' (тип/бренд/ширина/діаметр/PCD/DIA/колір)" - "не відновлювати назву кольору за id" full_filter_no_color_optional: pattern: "/diski/{type_slug}/{brand_slug}/w{width}/r{diameter}/pcd{pcd}/dia{dia}" page_type: "wheels_filter_landing_full" note: - "Цей варіант використовувати, якщо користувач не вказував колір і якщо така сторінка існує; якщо ні — вести на категорію або на повний фільтр без clr і пояснити, як обрати колір у фільтрах." token_normalization_rules: pcd_user_to_url: examples: - "5x112 -> pcd5_112" - "4x108 -> pcd4_108" dia_user_to_url: examples: - "66.6 -> dia66d6" - "63.4 -> dia63d4" width_user_to_url: examples: - "7 -> w7" - "7.5 -> w7d5 (використовувати тільки якщо сайт приймає десяткову ширину таким кодуванням; інакше не кодувати та залишити ширину як уточнення/фільтр на сторінці)" et_note: - "ET-токен у URL не підтверджений прикладами; не кодувати ET в URL без явного підтвердження. Якщо користувач вказав ET — фільтрувати на сторінці або підбирати вручну зі сторінок товарів." models_and_products: tire_model_page: pattern: "/{model_slug}" page_type: "tire_model" example: "/taurus-201-winter" signals: - "є вкладки/секції про модель, відгуки, питання" - "є список типорозмірів з індексами та цінами" extraction_priority: - "назва моделі" - "перелік доступних типорозмірів (розмір, індекси)" - "посилання на конкретні товари/типорозміри" product_page: pattern: "/{product_slug}" page_type: "product_detail" example: "/taurus-201-winter-185-80-r14c-102-100r-c" signals: - "є поле 'Код товару' (SKU)" - "є ціна" - "може бути рядок формату 'YYYY, Country' (рік, країна)" extraction_priority: - "назва товару (включно з розміром та індексами, як вказано на сторінці)" - "SKU" - "ціна" - "рік/країна (якщо присутні)" - "відгуки (як користувацький досвід, не як технічний факт)" services_parsing: service_page: pattern: "/services/{service_slug}" page_type: "service_detail" example: "/services/tire-fitting" extraction_rules: - "Назву послуги брати з h1." - "Адреси/точки сервісу витягувати з секції про шинні центри (якщо є)." - "Таблиці/рядки цін витягувати як структуровані дані без переформатування значень." price_tables: parse_strategy: - "Знайти секції цін за заголовками (наприклад: 'Ціни на ...', 'Балансування', 'Комплексна заміна шин')." - "У кожній секції читати рядки як таблицю: перша колонка = назва/діапазон, наступні колонки = ціни." - "Якщо в рядку кілька значень (наприклад '100 / 300'), зберігати як текст або список без змін." - "Рядки з 'додатково' зберігати як надбавки (surcharges)." - "Фрази на кшталт 'безкоштовно' зберігати як примітки (notes)." output_shape: - "price_tables[]: {section_title, headers[], rows[]}" - "surcharges[]" - "notes[]" example_content_map: page: "/services/tire-fitting" price_sections_expected: - "Ціни на шиномонтаж у Колеса Дніпро" - "Балансування" - "Комплексна заміна шин" policies_parsing: shipping_payment: url: "/payment-and-delivery" extraction_focus: - "способи доставки" - "умови по місту та по Україні (якщо вказано)" - "способи оплати" warranty: url: "/product-warranty" extraction_focus: - "гарантійні умови" - "винятки/обмеження" - "умови повернення/обміну (якщо описано)" contacts_parsing: contacts_url: "/contacts" rule: - "Телефони/адреси вважати авторитетними саме зі сторінки /contacts (інші сторінки можуть дублювати або містити скорочений список)." content_quality_notes: - "Блог/новини (/blog) — інформаційний контент, не юридичне джерело. Для умов гарантії/доставки — брати policy-сторінки." - "Відгуки — це користувацькі повідомлення; не трактувати як підтвердження технічних характеристик без прямої згадки на сторінці товару." yamlquery_intent_mapping: size_lookup: description: "Розмір шин без бренду." patterns: - "шини 205/55 R16" - "купити 225/45 R17" - "205 55 16 шини" - "185/80 R14C" extraction: ["width", "height", "diameter", "optional_suffix"] target_url_template_primary: "/shiny/legkovi/w{width}/h{height}/r{diameter}" next_questions_if_missing: ["сезон", "бюджет", "індекси (якщо важливо)"] brand_plus_size: description: "Бренд + розмір без сезону. Не підставляти сезон, якщо юзер не просив." patterns: - "Michelin 245/35 R18" - "шини Michelin 245 35 18" - "купить Michelin 245/35/18" - "Michelin 205 55 16" - "Continental 205/55 R16" - "Nokian 195/65 R15" extraction: ["brand_slug", "width", "height", "diameter"] target_url_template_primary: "/shiny/legkovi/{brand_slug}/w{width}/h{height}/r{diameter}" target_url_template_fallbacks: - "/shiny/legkovi/w{width}/h{height}/r{diameter}" - "/shiny/legkovi" disambiguation_rules: - "Якщо в запиті є 'зимові/літні/всесезонні' — перенаправити в brand_season_plus_size." - "Якщо в запиті є 92V/102-100R/91H тощо — перенаправити в brand_size_with_indices." - "Якщо в запиті є XL/RunFlat — перенаправити в brand_size_with_options." brand_season_plus_size: description: "Бренд + сезон + розмір (сезон явно в запиті)." patterns: - "зимові Michelin 245/35 R18" - "Michelin winter 245/35 R18" - "літні Bridgestone 225/45 R17" - "всесезонні Goodyear 205/55 R16" extraction: ["season_slug", "brand_slug", "width", "height", "diameter"] target_url_template_primary: "/shiny/legkovi/{season_slug}/{brand_slug}/w{width}/h{height}/r{diameter}" target_url_template_fallbacks: - "/shiny/legkovi/{season_slug}/w{width}/h{height}/r{diameter}" - "/shiny/legkovi/{brand_slug}/w{width}/h{height}/r{diameter}" - "/shiny/legkovi/w{width}/h{height}/r{diameter}" brand_only: description: "Тільки бренд шин без розміру." patterns: - "шины Michelin" - "купити Michelin" - "гума Continental" - "Nokian шины" extraction: ["brand_slug"] requires_clarification: ["розмір"] target_entrypoint_prefer: - "/shiny/legkovi/{brand_slug}" fallback_target: "/shiny/legkovi" next_questions_minimal: - "Який розмір (наприклад 205/55 R16)?" brand_size_with_indices: description: "Бренд/або без бренду + розмір + індекси (якщо юзер вказав 92V, 102/100R тощо)." patterns: - "Michelin 245/35 R18 92V" - "Taurus 185/80 R14C 102/100R" - "205/55 R16 91H Continental" extraction: - "brand_slug (optional)" - "width" - "height" - "diameter" - "load_index" - "speed_index" - "season_slug (optional)" target_url_template_prefer_full: - "/shiny/legkovi/{season_slug_optional}/{brand_slug_optional}/w{width}/h{height}/r{diameter}/is-{speed_index}/il-{load_index}" fallback_target: - "/shiny/legkovi/{brand_slug_optional}/w{width}/h{height}/r{diameter}" - "/shiny/legkovi/w{width}/h{height}/r{diameter}" rules: - "season_slug_optional додавати лише якщо сезон був явно в запиті." brand_size_with_options: description: "Бренд + розмір + опції (XL/RunFlat/посилення), якщо юзер це написав." patterns: - "Michelin 245/35 R18 XL" - "Continental 205/55 R16 RunFlat" - "Goodyear 225/45 R17 XL" extraction: - "brand_slug" - "width" - "height" - "diameter" - "reinforcement (optional)" - "runflat (optional)" - "season_slug (optional)" target_url_template_prefer: - "/shiny/legkovi/{season_slug_optional}/{brand_slug}/w{width}/h{height}/r{diameter}/pos-{reinforcement}" fallback_target: - "/shiny/legkovi/{brand_slug}/w{width}/h{height}/r{diameter}" - "/shiny/legkovi/w{width}/h{height}/r{diameter}" rules: - "season_slug_optional додавати лише якщо сезон був явно в запиті." - "Якщо опцію неможливо надійно закодувати в URL — не вигадувати токен, залишити без опції та пояснити, як відфільтрувати на сторінці." model_query: description: "Запит по моделі шин (без розміру або з розміром)." patterns: - "Taurus 201 winter" - "taurus 201 winter 185/80 R14C" - "Michelin Alpin" extraction: - "model_slug_or_name" - "optional_size" target_entrypoint: - "/{model_slug}" fallback_target: - "/shiny/legkovi" rules: - "Якщо є розмір — після сторінки моделі вести на конкретний товар/типорозмір." wheels_full_spec: description: "Повна посадка дисків (R + PCD + DIA + ширина; ET не кодуємо в URL без підтвердження)." patterns: - "диски R17 4x108 DIA 63.4 ширина 7" - "диски 17 5x112 dia 66.6" - "pcd 4x108 dia 63.4 r17" - "r18 5x114.3 dia 67.1" extraction: ["diameter", "pcd", "dia", "width (optional)", "type_slug (optional)", "brand_slug (optional)", "et (optional)"] normalization: pcd: - "5x112 -> pcd5_112" - "4x108 -> pcd4_108" dia: - "66.6 -> dia66d6" - "63.4 -> dia63d4" width: - "7 -> w7" - "7.5 -> w7d5 (використовувати тільки якщо сайт приймає таке кодування)" target_url_template_primary: - "/diski/{type_slug_default}/w{width_optional}/r{diameter}/pcd{pcd}/dia{dia}" fallback_target: - "/diski/{type_slug_default}/r{diameter}/pcd{pcd}/dia{dia}" - "/diski/{type_slug_default}" - "/diski" defaults: type_slug_default: "legkosplavni" rules: - "Якщо width_optional відсутня або не кодується надійно — не додавати w-токен." - "ET не кодувати в URL; якщо ET важливий — пояснити, що його потрібно перевіряти на сторінках товарів або через фільтри (якщо є)." wheels_brand_plus_specs: description: "Бренд дисків + параметри. Колір у URL не підставляти, якщо юзер його не просив." patterns: - "Momo R17 4x108 dia 63.4" - "диски Momo 17 4x108 63.4" - "Enkei r18 5x112 dia 66.6" extraction: ["brand_slug", "diameter", "pcd", "dia", "width (optional)", "type_slug (optional)"] target_url_template_primary: - "/diski/{type_slug_default}/{brand_slug}/w{width_optional}/r{diameter}/pcd{pcd}/dia{dia}" fallback_target: - "/diski/{type_slug_default}/{brand_slug}/r{diameter}/pcd{pcd}/dia{dia}" - "/diski/{type_slug_default}/{brand_slug}" - "/diski/{type_slug_default}" - "/diski" defaults: type_slug_default: "legkosplavni" rules: - "Не додавати clr-{color_id}, якщо колір не заданий." - "Якщо сторінка без clr не існує, дати entrypoint на категорію/бренд і пояснити, як обрати колір у фільтрах." wheels_brand_only: description: "Тільки бренд дисків." patterns: - "диски momo" - "momo диски" - "купить enkei диски" - "диски OZ" extraction: ["brand_slug", "type_slug (optional)"] requires_clarification: ["діаметр (R)", "PCD", "DIA"] target_entrypoint_prefer: - "/diski/{type_slug_default}/{brand_slug}" - "/diski/{type_slug_default}" defaults: type_slug_default: "legkosplavni" next_questions_minimal: - "Який діаметр (R)?" - "Який PCD (наприклад 5x112)?" - "Який DIA (наприклад 66.6)?" - "Який ET (якщо знаєте)?" wheels_color_query: description: "Диски з конкретним кольором/дизайном. Без id кольору — не вигадувати clr." patterns: - "чорні диски 17 4x108" - "диски momo чорні r17 4x108" - "white wheels 18 5x112" extraction: ["color_name", "diameter (optional)", "pcd (optional)", "dia (optional)", "brand_slug (optional)"] target_entrypoint: "/diski" rules: - "Якщо color_id невідомий — вести на найближчу сторінку фільтра без clr та запропонувати обрати колір у фільтрі на сайті." - "Якщо користувач дав готовий URL із clr- — читати назву кольору з блоку 'Ви обрали'." service_pricing: description: "Прайс по послугах." patterns: - "скільки коштує шиномонтаж" - "ціна балансування" - "комплексна заміна шин ціна" - "шиномонтаж прайс" target_page: "/services/tire-fitting" rule: - "Ціни показувати тільки з таблиць цієї сторінки, без домислів." shipping_payment: patterns: ["як оплатити", "доставка", "самовивіз", "оплата картою"] target_page: "/payment-and-delivery" warranty_returns: patterns: ["гарантія", "повернення", "обмін"] target_page: "/product-warranty" contacts: patterns: ["телефон", "адреса", "як зв'язатися"] target_page: "/contacts" yamlerror_handling: if_product_not_found: - "Перевірити, чи існує потрібний розмір у каталозі (через size filter landing)." - "Запропонувати близькі розміри як альтернативи (±1 по ширині або висоті) тільки з поясненням, що це не точний підбір." - "Дати посилання на категорію з фільтрами (/shiny/legkovi) або на size landing." if_wheels_filter_not_found: - "Перейти на найближчий entrypoint: /diski або /diski/legkosplavni і попросити мінімум PCD+DIA+R." - "Якщо неможливо кодувати ширину/ET — не вигадувати токени, а підбирати по товарах або через фільтри на сторінці." if_model_page_not_found: - "Спробувати знайти модель через бренд або size landing." - "Запросити уточнення: сезон/індекси/суфікси (C, XL, RunFlat), якщо вони впливають на пошук." if_price_unavailable: - "Ніколи не вгадувати або не екстраполювати ціну." - "Запропонувати перейти на відповідну сторінку (товару/послуги) для актуальної ціни." - "Якщо сторінка не відкривається — запропонувати звернутися через /contacts." if_ru_mirror_missing: - "Якщо /ru/ версії немає, використовувати UA-сторінку і зберігати мову відповіді користувача." if_filters_incomplete: - "Для шин: розмір + сезон (або хоча б розмір)." - "Для дисків: PCD + DIA + R (ET бажано, але не кодувати без підтвердження)." - "Дати найближчий entrypoint і коротку інструкцію, як добрати фільтри на сайті." assistant_instructions: tires_flow: - "Якщо відомий розмір — вести на size landing і показати добірку варіантів із видачі з посиланнями." - "Якщо потрібна рекомендація — уточнити сезон, бюджет, умови експлуатації, індекси." - "Якщо користувач питає про конкретну модель — відкрити сторінку моделі, показати доступні типорозміри і перейти на конкретні товари." wheels_flow: - "Для дисків пріоритетно зібрати PCD, DIA, ET, R та ширину; якщо є готовий URL фільтра — читати параметри з 'Ви обрали'." - "Не додавати clr-{id}, якщо колір не заданий або id не відомий." - "ET не кодувати в URL без явного підтвердження токена; якщо ET критичний — перевіряти на сторінках товарів." services_flow: - "Для вартості робіт — відкривати конкретну сторінку послуги і цитувати рядки таблиць." strict_dont: - "Не вигадувати ціни, наявність, країну, рік, гарантійні умови." - "Не переносити параметри або індекси між різними товарами." - "Не трактувати відгуки як технічні факти." examples: tires_category: "https://kolesa.dp.ua/shiny/legkovi" tires_size_filter: "https://kolesa.dp.ua/shiny/legkovi/w205/h55/r16" tires_full_filter: "https://kolesa.dp.ua/shiny/legkovi/zimovi/michelin/w245/h35/r18/is-v/il-92/pos-xl" wheel_full_filter: "https://kolesa.dp.ua/diski/legkosplavni/momo/w7/r17/pcd4_108/dia63d4/clr-677" tire_model: "https://kolesa.dp.ua/taurus-201-winter" tire_product: "https://kolesa.dp.ua/taurus-201-winter-185-80-r14c-102-100r-c" service_with_prices: "https://kolesa.dp.ua/services/tire-fitting" sitemap: "https://kolesa.dp.ua/sitemap.xml"