← Все ТЗ

📱 PWA + Web Push Notifications

План для всего портфеля — PWA работает на bestonline, следующий шаг Web Push
📅 Идея от 23.04.2026🎯 Для 6 сайтов

1 ✅ Что уже работает (bestonline preview)

2 Что даст Web Push travel-бизнесу

СценарийПример уведомления
Горящий тур по направлению🔥 Новый тур в Турцию 5★ от 42 900 ₽ — −35% на сегодня
Снижение цены на просмотренный отельRixos Premium Belek стал дешевле на 12 000 ₽
Напоминание о брониВаш тур стартует через 7 дней — чек-лист готовности
Виза истекаетЗа 3 месяца до поездки — напомним про визу
Новый сезонСезон Мальдив стартует — лучшие цены сейчас
Срочное (форс-мажор)Изменение в расписании — свяжитесь с менеджером

3 Архитектура

Пользователь → разрешает уведомления (browser permission)
    ↓
Service Worker (sw.js) подписан на Push
    ↓
Endpoint сохраняется в БД (Supabase)
    ↓
Когда событие (горящий тур, снижение цены):
  Backend отправляет Web Push через VAPID
    ↓
Service Worker ловит event → показывает уведомление

4 Технический стек

5 Типы подписок (topics)

TopicЧто
hot-tours-{country}Горящие туры по стране
price-drop-{hotel_id}Снижение цены конкретного отеля
booking-remindersНапоминания по бронированию
newsletter-weeklyЕженедельный дайджест
visa-remindersДля evisa24

Пользователь сам выбирает на какие топики подписаться — не спамим.

7 По сайтам портфеля

СайтПриоритетТематика пушей
bestonline-tour.ru🔴 P1Горящие туры, снижения цен, сезоны
evisa24.ru🟠 P2Статус заявки, напоминания
ayurtour.ru🟡 P3Новые туры, акции
panchakarma-india.ru🟡 P3Сезоны, программы
viza-india.ru🟢 P4Изменения в визовых правилах
visa-russian.com🟢 P4EN-уведомления для иностранцев

8 Порядок внедрения

🟢 Фаза 1 — MVP (1-2 недели)

  1. Сгенерировать VAPID keys (single command)
  2. Создать Supabase таблицу push_subscriptions
  3. Написать Cloudflare Worker API — subscribe/unsubscribe
  4. Обновить sw.js для обработки push events
  5. Добавить UI permission-запрос (после 2-го визита)
  6. Тестовое уведомление «Спасибо за подписку!»

🟡 Фаза 2 — Интеграция (2-3 недели)

  1. Интеграция с горящими турами (trigger при появлении)
  2. Price-drop подписка через wishlist
  3. Панель управления подписками у пользователя

🔵 Фаза 3 — Масштабирование

  1. Admin-панель для массовой рассылки (осторожно)
  2. Analytics — открываемость, CTR, отписки
  3. A/B тестирование текстов

9 Риски и ограничения

10 Оценка

Итого MVP: ~1 неделя

Обновлено 24.04.2026 · PWA работает, Push — следующий шаг