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 с персональной ссылкой', 'Внутренняя форма оценки (1–10) до публикации', 'Перехват негатива — менеджер видит плохой отзыв первым', 'Переадресация довольных гостей на 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, }, }, ]