Files
hotelsync/src/data/modulesData.ts
HotelSync bf8ac76ff0 Add 4 new modules: Касса, Отзывы, Room Service, Аренда
- Касса (POS): продажи на ресепшн, мини-бар, фискальные чеки ОФД, эквайринг
- Сбор отзывов: авто-запрос после выезда, перехват негатива, NPS дашборд
- Room Service: заказ еды через QR-код в номере без приложения
- Аренда объектов: почасовая аренда кортов, бань, залов через PMS и QR

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 15:21:11 +03:00

371 lines
17 KiB
TypeScript
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.
import {
Wifi, CreditCard, Tv2, KeyRound,
BarChart3, Globe, CalendarCheck2, Sparkles, Network,
ShoppingCart, Star, UtensilsCrossed, CalendarClock,
} from 'lucide-react'
import type { ElementType } from 'react'
export type ModuleStatus = 'active' | 'inactive' | 'trial'
export interface ModuleSidebarItem {
path: string
label: string
icon: ElementType
showForHousekeeper?: boolean
}
export interface ModuleDef {
id: string
name: string
tagline: string
description: string
icon: ElementType
iconBg: string
iconColor: string
accentColor: string
price: number
trialDays?: number
features: string[]
stats?: { label: string; value: string }[]
badge?: string
sidebarItem?: ModuleSidebarItem
}
export const MODULES_DATA: ModuleDef[] = [
{
id: 'housekeeping',
name: 'Управление уборкой',
tagline: 'Расписание горничных и статус номеров',
description:
'Управление задачами уборки в реальном времени. Расписание горничных, статусы номеров, уведомления при заезде и выезде. Мобильный интерфейс для персонала.',
icon: Sparkles,
iconBg: 'bg-emerald-100 dark:bg-emerald-900/40',
iconColor: 'text-emerald-600 dark:text-emerald-400',
accentColor: 'bg-emerald-500',
price: 0,
badge: 'Входит в тариф',
features: [
'Список задач уборки по номерам',
'Статусы: грязный / убирается / чистый / проверено',
'Назначение горничных на комнаты',
'Уведомление о заезде и выезде',
'Мобильный интерфейс для горничных',
'Отчёт по выполненным уборкам',
],
sidebarItem: {
path: '/housekeeping',
label: 'Уборка',
icon: Sparkles,
showForHousekeeper: true,
},
},
{
id: 'channel-manager',
name: 'Менеджер каналов',
tagline: 'Синхронизация с OTA-платформами',
description:
'Управление ценами и доступностью на всех OTA одновременно. Booking.com, Airbnb, Яндекс Путешествия, Островок, Суточно.ру, OneTwoTrip и другие платформы.',
icon: Network,
iconBg: 'bg-sky-100 dark:bg-sky-900/40',
iconColor: 'text-sky-600 dark:text-sky-400',
accentColor: 'bg-sky-500',
price: 2500,
features: [
'Booking.com, Airbnb, Expedia',
'Яндекс Путешествия, Островок',
'Суточно.ру, OneTwoTrip',
'Синхронизация цен и доступности в реальном времени',
'Автоматическое закрытие дат при заполнении',
'Маппинг номеров по каналам',
'Уведомления об ошибках синхронизации',
],
sidebarItem: {
path: '/channels',
label: 'Каналы',
icon: Network,
},
},
{
id: 'wifi-auth',
name: 'Wi-Fi Авторизация',
tagline: 'Captive portal для гостей',
description:
'Персонализированная страница входа в Wi-Fi с брендингом отеля. Сбор контактов гостей, автовыдача паролей, статистика подключений.',
icon: Wifi,
iconBg: 'bg-blue-100 dark:bg-blue-900/40',
iconColor: 'text-blue-600 dark:text-blue-400',
accentColor: 'bg-blue-500',
price: 2900,
features: [
'Брендированная страница входа',
'Авторизация по номеру телефона / коду бронирования',
'Сбор email для маркетинга',
'Ограничение скорости по тарифу номера',
'Статистика: устройства, время онлайн, трафик',
],
stats: [
{ label: 'Подключений сегодня', value: '47' },
{ label: 'Активных устройств', value: '31' },
{ label: 'Конверсия email', value: '68%' },
],
},
{
id: 'payments',
name: 'Депозиты и страховки',
tagline: 'Онлайн-оплата при бронировании',
description:
'Автоматический сбор страхового депозита и предоплаты. Интеграция с Тинькофф, СБП, ЮKassa. Умное удержание и автовозврат при выезде.',
icon: CreditCard,
iconBg: 'bg-emerald-100 dark:bg-emerald-900/40',
iconColor: 'text-emerald-600 dark:text-emerald-400',
accentColor: 'bg-emerald-500',
price: 4900,
trialDays: 12,
badge: 'Популярный',
features: [
'Приём депозита онлайн при заезде',
'Интеграция: Тинькофф, ЮKassa, СБП',
'Автоматический возврат при выезде',
'Удержание с подтверждением менеджера',
'Отчёты и история транзакций',
'Уведомления гостю и администратору',
],
stats: [
{ label: 'Собрано за месяц', value: '₽ 184 000' },
{ label: 'Активных депозитов', value: '14' },
{ label: 'Возвратов сегодня', value: '3' },
],
},
{
id: 'tv-welcome',
name: 'Приветствие на TV',
tagline: 'Welcome screen в номере',
description:
'Персональное приветствие на телевизоре при заезде. Расписание ресторана, прогноз погоды, QR-код для заказа услуг. Поддержка Samsung, LG, Android TV.',
icon: Tv2,
iconBg: 'bg-violet-100 dark:bg-violet-900/40',
iconColor: 'text-violet-600 dark:text-violet-400',
accentColor: 'bg-violet-500',
price: 3500,
badge: 'Новинка',
features: [
'Персональное приветствие по имени гостя',
'Расписание: ресторан, спа, трансфер',
'Прогноз погоды и местные новости',
'Заказ услуг и room service с TV',
'Поддержка Samsung SSSP, LG webOS, Android TV',
'Брендирование под стиль отеля',
],
},
{
id: 'smart-locks',
name: 'Электронные замки',
tagline: 'Интеграция СКУД и смарт-замков',
description:
'Управление доступом в номера через PMS. Автовыдача кода при заезде, блокировка при выезде. Поддержка Salto, Dormakaba, TTLock и других систем.',
icon: KeyRound,
iconBg: 'bg-amber-100 dark:bg-amber-900/40',
iconColor: 'text-amber-600 dark:text-amber-400',
accentColor: 'bg-amber-500',
price: 5900,
features: [
'Автовыдача PIN-кода / мобильного ключа при заезде',
'Автоблокировка при выезде или отмене',
'История открытий с временными метками',
'Поддержка: Salto KS, Dormakaba, TTLock, ASSA ABLOY',
'Экстренный доступ для персонала',
'Интеграция с мобильным приложением гостя',
],
},
{
id: 'olap-reports',
name: 'OLAP Отчёты',
tagline: 'Аналитика и бизнес-отчёты',
description:
'Глубокая аналитика по загрузке, выручке, каналам продаж и гостям. Конструктор отчётов, экспорт в Excel/PDF, автоотправка руководству.',
icon: BarChart3,
iconBg: 'bg-cyan-100 dark:bg-cyan-900/40',
iconColor: 'text-cyan-600 dark:text-cyan-400',
accentColor: 'bg-cyan-500',
price: 3900,
badge: 'Популярный',
features: [
'Загрузка (OCC), ADR, RevPAR в динамике',
'Анализ по источникам бронирования',
'Портрет гостя: география, повторные визиты',
'Конструктор произвольных отчётов',
'Экспорт в Excel, PDF, Google Sheets',
'Автоотправка отчётов по расписанию на email',
'Сравнение периодов и план/факт',
],
sidebarItem: {
path: '/reports',
label: 'Аналитика',
icon: BarChart3,
},
},
{
id: 'website-builder',
name: 'Конструктор сайта',
tagline: 'Сайт отеля без разработчика',
description:
'Drag & drop конструктор сайта с готовыми шаблонами для отелей. SEO-оптимизация, мультиязычность, интеграция с модулем онлайн-бронирования.',
icon: Globe,
iconBg: 'bg-rose-100 dark:bg-rose-900/40',
iconColor: 'text-rose-600 dark:text-rose-400',
accentColor: 'bg-rose-500',
price: 4500,
features: [
'Готовые шаблоны для отелей и апартаментов',
'Drag & drop редактор страниц',
'Галерея номеров с виртуальными турами',
'SEO-оптимизация и sitemap',
'Мультиязычность (RU, EN, DE, ZH)',
'Интеграция с модулем онлайн-бронирования',
'Кастомный домен и SSL',
],
sidebarItem: {
path: '/website',
label: 'Сайт отеля',
icon: Globe,
},
},
{
id: 'booking-widget',
name: 'Онлайн-бронирование',
tagline: 'Виджет прямых продаж',
description:
'Виджет бронирования для сайта отеля с оплатой картой. Прямые продажи без комиссии OTA. Подбор номеров, тарифы, спецпредложения.',
icon: CalendarCheck2,
iconBg: 'bg-indigo-100 dark:bg-indigo-900/40',
iconColor: 'text-indigo-600 dark:text-indigo-400',
accentColor: 'bg-indigo-500',
price: 3200,
features: [
'Виджет бронирования на сайт отеля',
'Оплата картой, СБП, ЮKassa',
'Тарифы и спецпредложения',
'Промокоды и программа лояльности',
'Подтверждение на email и SMS',
'Минимизация комиссий OTA',
'Аналитика конверсии',
],
sidebarItem: {
path: '/booking-widget',
label: 'Онлайн-бронирование',
icon: CalendarCheck2,
},
},
{
id: 'pos',
name: 'Касса и POS',
tagline: 'Продажи и расчёты на стойке ресепшн',
description:
'Кассовый модуль для оформления продаж на стойке: дополнительные услуги, мини-бар, сувениры, экскурсии. Фискальные чеки через ОФД, интеграция с эквайрингом.',
icon: ShoppingCart,
iconBg: 'bg-orange-100 dark:bg-orange-900/40',
iconColor: 'text-orange-600 dark:text-orange-400',
accentColor: 'bg-orange-500',
price: 3500,
badge: 'Новинка',
features: [
'Продажа доп. услуг: трансфер, экскурсии, прокат',
'Мини-бар: учёт и списание по номерам',
'Фискальные чеки через ОФД (54-ФЗ)',
'Эквайринг: Тинькофф, Сбер, СБП',
'Привязка платежей к бронированию гостя',
'Отчёты по кассовым операциям за смену',
'Интеграция с 1С и системами учёта',
],
sidebarItem: {
path: '/pos',
label: 'Касса',
icon: ShoppingCart,
},
},
{
id: 'reviews',
name: 'Сбор отзывов',
tagline: 'Автоматический сбор обратной связи от гостей',
description:
'После выезда гость получает автоматическое письмо/SMS с просьбой оставить отзыв. Агрегация оценок, работа с негативом до публикации, переадресация на Booking, Яндекс, Google.',
icon: Star,
iconBg: 'bg-yellow-100 dark:bg-yellow-900/40',
iconColor: 'text-yellow-600 dark:text-yellow-400',
accentColor: 'bg-yellow-500',
price: 1900,
features: [
'Автоматический запрос отзыва после выезда',
'Email и SMS с персональной ссылкой',
'Внутренняя форма оценки (110) до публикации',
'Перехват негатива — менеджер видит плохой отзыв первым',
'Переадресация довольных гостей на Booking, Яндекс, Google',
'Дашборд: NPS, средняя оценка, динамика',
'Ответы на отзывы прямо из PMS',
],
stats: [
{ label: 'Средняя оценка', value: '9.1 / 10' },
{ label: 'Отзывов за месяц', value: '34' },
{ label: 'NPS', value: '+62' },
],
sidebarItem: {
path: '/reviews',
label: 'Отзывы',
icon: Star,
},
},
{
id: 'room-service',
name: 'Room Service',
tagline: 'Заказ еды и услуг через QR-код в номере',
description:
'Гость сканирует QR-код в номере и попадает в мобильное меню: еда, напитки, дополнительные услуги. Заказ мгновенно приходит на кухню и на стойку. Без приложения.',
icon: UtensilsCrossed,
iconBg: 'bg-red-100 dark:bg-red-900/40',
iconColor: 'text-red-600 dark:text-red-400',
accentColor: 'bg-red-500',
price: 2900,
badge: 'Популярный',
features: [
'QR-код в номере — никаких приложений для гостя',
'Меню еды и напитков с фото и ценами',
'Дополнительные услуги: прачечная, трансфер, экскурсии',
'Мгновенное уведомление на кухню и ресепшн',
'Статус заказа в реальном времени',
'Привязка заказа к бронированию (включение в счёт)',
'Конструктор меню и управление стоп-листом',
],
sidebarItem: {
path: '/room-service',
label: 'Room Service',
icon: UtensilsCrossed,
},
},
{
id: 'rental',
name: 'Аренда объектов',
tagline: 'Почасовая аренда кортов, бань, залов',
description:
'Бронирование дополнительных объектов отеля: теннисный корт, баня, конференц-зал, беседка. Гость бронирует сам через QR или менеджер — из PMS. Онлайн-оплата.',
icon: CalendarClock,
iconBg: 'bg-teal-100 dark:bg-teal-900/40',
iconColor: 'text-teal-600 dark:text-teal-400',
accentColor: 'bg-teal-500',
price: 2500,
features: [
'Каталог объектов: корт, баня, зал, беседка и т.д.',
'Сетка расписания с почасовыми слотами',
'Онлайн-бронирование гостем через QR-код',
'Бронирование менеджером прямо из PMS',
'Онлайн-оплата или включение в счёт при выезде',
'Уведомления гостю и персоналу',
'Аналитика загрузки объектов и выручки',
],
sidebarItem: {
path: '/rental',
label: 'Аренда',
icon: CalendarClock,
},
},
]