#!/usr/bin/env python3
# Комплект текстов для сбора отзывов на Яндекс.Картах
from docx import Document
from docx.shared import Pt, Cm, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH

doc = Document()
style = doc.styles["Normal"]
style.font.name = "Calibri"
style.font.size = Pt(10.5)

h = doc.add_heading("Комплект текстов: отзывы на Яндекс.Картах", level=0)
sub = doc.add_paragraph()
r = sub.add_run("«Добротный дом» · Мытищи, Ярмарочная 11\nСсылка для отзыва: https://yandex.ru/maps/org/dobrotny_dom/99316463249/reviews/")
r.font.size = Pt(10); r.italic = True

def block(title, items):
    doc.add_heading(title, level=1)
    for i, (label, text) in enumerate(items, 1):
        p = doc.add_paragraph()
        r = p.add_run(f"{label}:\n"); r.bold = True
        p.add_run(text)
        doc.add_paragraph()

block("1. SMS (до 160 знаков) — сразу после подписания акта", [
    ("Вариант А", "Спасибо за доверие, {Имя}! Дом сдан 🎉 Будем рады вашей оценке на Яндекс.Картах: {ссылка} С уважением, «Добротный дом»"),
    ("Вариант Б", "{Имя}, спасибо, что выбрали нас! Расскажите о впечатлениях — нам важно ваше мнение: {ссылка} «Добротный дом»"),
])

block("2. WhatsApp/Telegram — в день сдачи (основной)", [
    ("Текст", "Добрый день, {Имя}! 🏡\n\nПоздравляем — ваш дом готов, и мы передаём вам ключи! Это был классный проект, и мы гордимся результатом.\n\nБудем очень благодарны, если вы оставите отзыв о нашей работе на Яндекс.Картах — это 1 минута, а для нас — большая поддержка:\n{ссылка}\n\nЕсли захотите приложить пару фото дома — будет особенно здорово 😊\n\nС уважением, команда «Добротный дом»"),
])

block("3. WhatsApp/Telegram — через 2–3 недели (эмоциональный)", [
    ("Текст", "{Имя}, добрый день! Как устроились в новом доме? 🏠\n\nНадеемся, всё радует — тёплые стены, тишина и вид из окна. Нам очень ценно, что вы доверили нам это строительство.\n\nЕсли вам всё нравится — расскажите об этом на Яндекс.Картах, будущим владельцам домов ваш опыт очень поможет:\n{ссылка}\n\nИ, конечно, если что-то требует внимания — пишите, решим!\n\nС уважением, «Добротный дом»"),
])

block("4. Email — полная версия (для тех, кто любит почту)", [
    ("Тема", "Спасибо, что выбрали «Добротный дом»! 🏡"),
    ("Текст", "Здравствуйте, {Имя}!\n\nСпасибо, что доверили нам строительство вашего дома. Мы строили его, как для себя: сухой лес, утепление по технологии, каждый узел — под контролем прораба.\n\nТеперь у вас есть дом, в котором будет тепло зимой и прохладно летом. Мы будем рады, если вы поделитесь впечатлениями на Яндекс.Картах — это занимает минуту, а помогает другим людям принять важное решение:\n{ссылка}\n\nЕсли захотите добавить фото — будем особенно благодарны: реальные снимки домов — лучшее доказательство нашей работы.\n\nС уважением,\nкоманда «Добротный дом»\nМытищи, Ярмарочная 11\n+7 (495) 128-95-05"),
])

block("5. Пост для соцсетей (VK / Telegram-канал)", [
    ("Текст", "Ещё один сданный дом! 🏡\n\nМы передали ключи семье — и очень гордимся результатом.\n\nДрузья! Если вы строили с нами дом и вам всё понравилось — будем благодарны за отзыв на Яндекс.Картах. Ваше мнение помогает другим людям найти надёжного подрядчика:\n{ссылка}\n\nА если только присматриваетесь — заходите к нам на выставку в Мытищах, покажем дома вживую!\n\n#ДобротныйДом #КаркасныеДома #СтроительствоДомов"),
])

block("6. Шаблоны ответов на отзывы (для менеджера)", [
    ("5★ — тёплый", "Спасибо большое за тёплые слова, {Имя}! Очень рады, что дом оправдал ожидания. Будем на связи — если что-то понадобится, пишите. С уважением, «Добротный дом»"),
    ("5★ — короткий", "Спасибо за доверие и высокую оценку! Рады, что вам нравится. Обращайтесь в любое время!"),
    ("4★ — благодарность + нюанс", "Спасибо за отзыв, {Имя}! Рады, что в целом всё понравилось. Напишите нам, если есть замечания — разберём и улучшим. Ваше мнение помогает нам становиться лучше!"),
    ("3★ и ниже — работа с возражением", "{Имя}, спасибо, что поделились. Нам очень жаль, что остались вопросы. Пожалуйста, свяжитесь с нами напрямую: +7 (495) 128-95-05 или ответьте на это письмо — лично разберём каждую деталь и найдём решение. Нам важно, чтобы вы остались довольны."),
])

doc.add_heading("Практические правила", level=1)
rules = [
    "Отправлять в день подписания акта + контрольное сообщение через 2–3 недели (повторка повышает отклик в 2 раза).",
    "Никакого «оцените нас 5 звёзд» — Яндекс отслеживает такие просьбы и может пометить отзывы. Просим «рассказать о впечатлениях».",
    "Просить фото вместе с отзывом: отзыв с фото ранжируется выше и выглядит достовернее.",
    "Отвечать на КАЖДЫЙ отзыв (даже 5★) в течение 2–3 дней — активность поднимает карточку в выдаче.",
    "Если клиент недоволен — решать вопрос до просьбы об отзыве. Довольный клиент = отзыв сам придёт.",
    "Не публиковать отзывы за клиентов и не просить знакомых — блокировка карточки Яндекса перечеркнёт всё.",
]
for rtext in rules:
    p = doc.add_paragraph(style="List Bullet")
    p.add_run(rtext)

doc.save("/root/site/video/Тексты для отзывов Яндекс.Карты.docx")
print("Сохранено")
