Отзывы хранятся в Obsidian и публикуются через общий виджет на assets.primetours.ru. Виджет загружает JSON в браузере; для новых отзывов пересборка сайта не нужна.
Яндекс.Карты ──scrape──▶ Obsidian (карточки)
│ менеджер: destination + published
▼
sync-reviews (REST API)
▼
assets/reviews/reviews.json
│ выпуск assets
▼
widget.js → браузер Поле destination хранит id направления, например maldives, thailand, turkey, uae или vietnam:
Виджет отбирает отзывы с рейтингом не ниже 4. Сначала показывает отзывы о выбранном направлении. Если их меньше трёх, дополняет отзывами о других поездках, до трёх при наличии. Параметр limit ограничивает число карточек; по умолчанию — шесть.
| Ситуация | Что увидит посетитель |
|---|---|
| Есть свои отзывы по направлению | Заголовок «Отзывы — {направление}», свои отзывы (до 6) |
| Своих мало (1–2) | Свои + отзывы о других поездках, до 3 при наличии; заголовок направления |
| Своих нет | До 3 отзывов о других поездках, заголовок «Что говорят наши клиенты» |
| Команда | Что делает |
|---|---|
| npm run scrape:reviews | Яндекс → карточки-черновики в Obsidian |
| npm run sync:reviews | Obsidian → JSON в соседнем assets-репозитории и локальный рейтинг |
| npm run build | Сборка сайта, без синхронизации отзывов |
На главной — подборка без фильтра направления; на странице направления — с фильтром:
// главная
<Reviews />
// страница направления (top-up по направлению)
<Reviews destination={dest.id} destinationTitle={title} /> Техническое описание — в REVIEWS_SETUP.md в корне проекта. Описание пайплайна в vault — заметка BUSINESS/PRIME_TOURS/WEB/reviews-pipeline.