Files
veilix.app/docs/01-product.md
T
andreypr207andClaude Opus 5.5 ae9531d5fc Документация: решения Q-02, Q-08, Q-09, Q-16; реферальный бонус днями
- Q-02: цены mass в USD $6.99 и $69.90, пресеты пополнения в RUB и USD.
- D-025: реферальный бонус — 30 дней к ключу обоим вместо денег;
  продления без оплаты (key-extensions); крайние случаи — Q-19.
- Q-08, Q-09: help@veilix.app и help@veilixvpn.com, часы по Москве.
- Q-16: ящики на почтовом хостинге (R-18), на этапе 2 — Chatwoot по IMAP.
- R-01 сделано; R-17: путь HMR в Next 16.4 — /_next/hmr.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 16:00:32 +02:00

158 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 01. Продукт
## 1. Бренды
| | Вейликс | ВейликсВПН |
|---|---|---|
| Код сайта | `dedicated` | `mass` |
| Название | RU «Вейликс», EN «Veilix» | RU «ВейликсВПН», EN «VeilixVPN» |
| Цвет | фиолетовый | зелёный (бирюзовый) |
| Суть | личный VPN: у каждого ключа свой индивидуальный IP в выбранной стране | классический VPN: общий сервер, ключ даёт все страны тарифа |
| Протоколы | WireGuard / Amnezia WG и Xray (VLESS, Hysteria2, XHTTP) | Xray и WireGuard |
1. Это два разных продукта на одном бэкенде и одной базе. Сайт определяется по домену.
2. veilixvpn.com продаёт только mass. Перекрёстные ссылки между брендами допустимы: на mass есть блок «нужен свой IP — тарифы Вейликс».
3. Логотип — вариант «Слои» из макета (два перекрывающихся скруглённых квадрата). Подборщик вариантов знака из макета в продукт не переносим.
## 2. Домены
| Назначение | Вейликс prod | Вейликс dev | ВейликсВПН prod | ВейликсВПН dev |
|---|---|---|---|---|
| Сайт | veilix.app | dev.veilix.app | veilixvpn.com | dev.veilixvpn.com |
| Кабинет и оформление заказа | my.veilix.app | dev.my.veilix.app | my.veilixvpn.com | dev.my.veilixvpn.com |
| MiniApp | tg.veilix.app | dev.tg.veilix.app | tg.veilixvpn.com | dev.tg.veilixvpn.com |
1. Админка одна на оба бренда: `plc.veilix.cc` (prod) и `dev.plc.veilix.cc` (dev). Аналитика Umami — `umi.veilix.cc`.
2. Все домены указывают на 169.58.76.183 (этот сервер).
3. Домены хранятся в базе (коллекция «Домены»), у каждого свои языки и валюты. Новое зеркало добавляется записью в базе плюс блоком nginx и сертификатом.
## 3. Состав каждого бренда
1. Сайт: главная, цены, локации, поддержка, юридические страницы.
2. Веб-кабинет, в том числе оформление заказа (оформление живёт на my.*, а не на сайте).
3. MiniApp в Telegram — этап 3.
4. Два Telegram-бота: основной (команды, MiniApp, уведомления) и бот поддержки, подключённый к Chatwoot. Этапы 2–3.
## 4. Термины
1. **Сайт** — бренд (тенант). Почти все сущности привязаны к сайту.
2. **Домен** — хост, на котором открывается сайт, кабинет или MiniApp. У домена свои языки и валюты.
3. **Тариф** — то, что продаётся: цены в валютах, период, лимит устройств, страны.
4. **Страна** — общий справочник. **Локация** — страна на конкретном сайте: город, статус наличия.
5. **Ключ** — купленная единица доступа пользователя со сроком действия и автопродлением.
6. **Подключение** — конкретная конфигурация внутри ключа: WG или AWG-конфиг устройства, ссылка Happ, ссылка Xray.
7. **Заказ, Платёж, Движение по счёту** — см. [04-billing.md](04-billing.md).
8. **Валюта** и **Платёжная система** — справочники; платёжная система доступна в определённых валютах.
## 5. Dedicated (Вейликс)
1. Ключ — это индивидуальный IP в выбранной стране. Страна выбирается при покупке и не меняется никогда. Нужна другая страна — пользователь покупает новый ключ в другой локации и отключает автопродление старого. Отдельного функционала смены страны нет.
2. В каждый ключ входит выделенный RU-адрес: работает и как прямое соединение, и как мост в обе стороны.
3. До 5 устройств на ключ (поле тарифа), все с одним IP. WireGuard — по конфигу на устройство. Xray — ссылка для Happ (обычная или зашифрованная crypt-ссылка Happ, которая скрывает адрес подписки).
4. Тариф — ценовой уровень со своим набором стран:
| Тариф | Страны | Первый месяц | Далее в месяц | USD (из макета) |
|---|---|---|---|---|
| Базовый | 23 страны (см. раздел 7) | 4 900 ₽ | 2 499 ₽ | $49 / $24 |
| Редкие локации | CH, AE, SG, JP, KR | 6 900 ₽ | 3 499 ₽ | $69 / $34 |
| Дальние локации | AU, BR | 9 900 ₽ | 4 999 ₽ | $99 / $49 |
5. Первый месяц дороже, потому что включает подготовку сервера: выделение адреса, настройку протоколов и маршрутизации. Период — месяц.
6. Статусы локаций: «Серверы в наличии» и «Установим за 24 часа». Оплаченный период начинается с момента выдачи ключа. На этапе 1 ключи выдаёт администратор вручную, поэтому так работает для обоих статусов.
7. Каждый ключ продлевается независимо, в свою дату.
## 6. Mass (ВейликсВПН)
1. Ключ включает все страны тарифа. Страна при покупке не выбирается: список стран на сайте только показывает, что входит в ключ.
2. Happ — одна ссылка со всеми странами. WireGuard — пользователь может получить конфиги любой страны тарифа. На этапе 1 это конфиги, которые добавил администратор, по странам; нужна другая страна — через поддержку. Автоматически — на этапе 5.
3. Тарифы: «Месяц» 699 ₽ и «Год» 6 990 ₽ («582 ₽ в месяц, экономия 1 398 ₽»). Платы за подключение и доплат за страну нет: первый период стоит столько же, сколько продление.
4. До 5 устройств на ключ (поле тарифа).
5. Статусы локаций: «Включено» и «Скоро». Локации «Скоро» показываются, но не работают.
6. В кабинете — «Список ключей», как у dedicated; внутри ключа ссылка Xray и конфиги WG. Формулировки «текущая/запасная локация» из макета не используем.
7. Цены в USD (в макете их нет, решение Q-02): «Месяц» $6.99, «Год» $69.90.
## 7. Локации из макета
Город, статус и ценовой уровень dedicated. На mass те же 30 стран: «готова» = «Включено», «24 часа» = «Скоро».
| Код | Страна | Город | Статус | Уровень |
|---|---|---|---|---|
| NL | Нидерланды | Амстердам | готова | базовый |
| DE | Германия | Франкфурт | готова | базовый |
| US | США | Нью-Йорк | готова | базовый |
| GB | Великобритания | Лондон | готова | базовый |
| FR | Франция | Париж | готова | базовый |
| FI | Финляндия | Хельсинки | готова | базовый |
| SE | Швеция | Стокгольм | готова | базовый |
| NO | Норвегия | Осло | 24 часа | базовый |
| DK | Дания | Копенгаген | 24 часа | базовый |
| CH | Швейцария | Цюрих | готова | редкие |
| AT | Австрия | Вена | готова | базовый |
| ES | Испания | Мадрид | готова | базовый |
| IT | Италия | Милан | готова | базовый |
| PL | Польша | Варшава | готова | базовый |
| CZ | Чехия | Прага | готова | базовый |
| RO | Румыния | Бухарест | 24 часа | базовый |
| LT | Литва | Вильнюс | готова | базовый |
| LV | Латвия | Рига | готова | базовый |
| EE | Эстония | Таллин | 24 часа | базовый |
| TR | Турция | Стамбул | готова | базовый |
| KZ | Казахстан | Алматы | 24 часа | базовый |
| AM | Армения | Ереван | 24 часа | базовый |
| GE | Грузия | Тбилиси | 24 часа | базовый |
| AE | ОАЭ | Дубай | готова | редкие |
| SG | Сингапур | Сингапур | готова | редкие |
| JP | Япония | Токио | готова | редкие |
| KR | Южная Корея | Сеул | 24 часа | редкие |
| CA | Канада | Торонто | готова | базовый |
| AU | Австралия | Сидней | 24 часа | дальние |
| BR | Бразилия | Сан-Паулу | 24 часа | дальние |
Координаты для карты — в массиве `L(...)` в `design/handoff/project/Price.dc.html`. Количество свободных серверов из MiniApp (NL 12, DE 10, …) — демо-данные. Показывать ли счётчик на сайте — решается в этапе 1b.
## 8. Пользователи
1. Аккаунты раздельные по сайтам: один email на veilix.app и на veilixvpn.com — два разных пользователя.
2. Регистрация и вход — одно поле email и одноразовый код. Отдельной регистрации нет.
3. Telegram (этап 3): аккаунт можно создать по Telegram без почты. Почта привязывается кодом, после этого работает вход на сайте. На сайте есть кнопка «Войти через Telegram». Правила объединения аккаунтов в пределах сайта — [05-auth.md](05-auth.md).
## 9. Деньги
1. У пользователя есть счёт (баланс) в валюте аккаунта.
2. Валюты — отдельный справочник: RUB и USD. Переключатель валюты не зависит от языка: из России часто заходят через VPN, поэтому страна по IP для выбора валюты не годится. По умолчанию валюта зависит от языка: ru → RUB, остальные → USD.
3. Платёжные системы привязаны только к валютам. Где система доступна, следует из цепочки: валюты → домены, на которых они включены → сайты:
a. RUB — процессинги, принимающие карты РФ (вероятно, из Казахстана и Турции), без автосписаний. ЮKassa — опционально, только для пополнений;
b. USD — Stripe (карты, сохранение карты, автосписания) и криптовалюта.
4. Карта привязывается к аккаунту, а не к ключу (Stripe). Отвязать карту можно в аккаунте.
5. Продление: у каждого ключа галочка автопродления и кнопка «Продлить сейчас». Сначала списывается баланс, нехватка — с карты.
6. Не хватило денег: льготный период 3 дня (ключ работает), затем ключ истекает. Напоминание за 3 дня до окончания.
7. Ручные операции в админке: платёж через платёжную систему manual (проводится как настоящий), корректировка баланса, возврат на баланс.
8. Возвраты (политика из макета): если сервер не заработал по нашей вине — полностью в течение первых 7 дней; если пользователь передумал — остаток неиспользованного периода.
9. Подробно — [04-billing.md](04-billing.md).
## 10. Реферальная программа
1. «Приведите друга — вы оба получите по месяцу в подарок».
2. «Месяц» — это дни срока ключа, а не деньги: по 30 дней обоим после первой оплаты заказа другом ([D-025](decisions/D-025-referral-days.md)). Число дней задаётся в настройках сайта.
a. Другу — на ключ, который он купил.
b. Пригласившему — на его последний купленный ключ. Работающего ключа нет — дни добавятся к следующему.
3. Ссылки: `https://my.veilix.app/r/<код>` (для mass — `my.veilixvpn.com`) и `t.me/<основной бот>?start=<код>`.
4. Приглашения между брендами не засчитываются, самоприглашения отсекаются.
5. В кабинете показываем: приглашено, начислено месяцев, ожидает оплаты; список приглашённых с замаскированной почтой.
## 11. Поддержка и заявки
1. Страница поддержки: Telegram (бот поддержки бренда) и email, FAQ по разделам, форма связи.
2. Почта поддержки: `help@veilix.app` (dedicated) и `help@veilixvpn.com` (mass); в макете были домены .cc. Ящики — на внешнем почтовом хостинге; на этапе 2 письма из них забирает Chatwoot. До этого на сайте только адрес.
3. Заявка «Нужны индивидуальные условия» (dedicated) и «Нужны особые условия» (mass): имя, email, Telegram, WhatsApp, коротко о задаче.
4. Заявки и обращения сохраняются в Payload и приходят на почту поддержки (этап 1), затем уходят в Twenty CRM и Chatwoot (этап 2).
5. Часы поддержки из макета: с 10 до 20 по московскому времени в рабочие дни.
## 12. Языки
en (по умолчанию, без префикса в URL), ru, de, fr, es. Позже — pt-br и ja. Подробно — [06-i18n.md](06-i18n.md).
## 13. Юридические страницы
Условия использования, политика конфиденциальности, политика возвратов, политика cookies. Черновики на RU и EN готовятся в этапе 1b, с заглушками вместо данных юрлица (Q-13). Это черновики, не юридическая консультация: перед запуском — показать юристу. Stripe при подключении проверяет эти страницы.