Wide BookingModal (2-col), RoomModal, RU channels, migration module, all modules active
- BookingModal: 2-column layout (size=2xl/max-w-3xl), no scroll needed; hourly mode toggle for rooms with allowHourly=true - RoomModal: full add/edit form with hourly rate toggle and amenities checkboxes; RoomsPage wired up - Channel manager: Яндекс Путешествия, Островок, Суточно.ру, OneTwoTrip added; split into RU/International sections - Migration module: 3-step wizard (source select → file upload → progress/results) - All modules set to active by default (version bump to reset localStorage) - BookingCalendar booking blocks: guest count badge (Xг), unpaid red dot indicator Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -176,6 +176,50 @@ export const MOCK_CHANNELS: Channel[] = [
|
||||
bookingsImported: 0,
|
||||
mappings: [],
|
||||
},
|
||||
{
|
||||
id: 'ch5',
|
||||
hotelId: 'hotel-1',
|
||||
name: 'yandex_travel',
|
||||
displayName: 'Яндекс Путешествия',
|
||||
isEnabled: false,
|
||||
lastSyncAt: null,
|
||||
lastSyncStatus: 'idle',
|
||||
bookingsImported: 0,
|
||||
mappings: [],
|
||||
},
|
||||
{
|
||||
id: 'ch6',
|
||||
hotelId: 'hotel-1',
|
||||
name: 'ostrovok',
|
||||
displayName: 'Островок',
|
||||
isEnabled: false,
|
||||
lastSyncAt: null,
|
||||
lastSyncStatus: 'idle',
|
||||
bookingsImported: 0,
|
||||
mappings: [],
|
||||
},
|
||||
{
|
||||
id: 'ch7',
|
||||
hotelId: 'hotel-1',
|
||||
name: 'sutochno',
|
||||
displayName: 'Суточно.ру',
|
||||
isEnabled: false,
|
||||
lastSyncAt: null,
|
||||
lastSyncStatus: 'idle',
|
||||
bookingsImported: 0,
|
||||
mappings: [],
|
||||
},
|
||||
{
|
||||
id: 'ch8',
|
||||
hotelId: 'hotel-1',
|
||||
name: 'onetwotrip',
|
||||
displayName: 'OneTwoTrip',
|
||||
isEnabled: false,
|
||||
lastSyncAt: null,
|
||||
lastSyncStatus: 'idle',
|
||||
bookingsImported: 0,
|
||||
mappings: [],
|
||||
},
|
||||
]
|
||||
|
||||
// ─── Housekeeping ──────────────────────────────────────────────────────────────
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import {
|
||||
Wifi, CreditCard, Tv2, KeyRound,
|
||||
BarChart3, Globe, CalendarCheck2, Sparkles, Network,
|
||||
ShoppingCart, Star, UtensilsCrossed, CalendarClock,
|
||||
ShoppingCart, Star, UtensilsCrossed, CalendarClock, ArrowLeftRight,
|
||||
} from 'lucide-react'
|
||||
import type { ElementType } from 'react'
|
||||
|
||||
@@ -367,4 +367,29 @@ export const MODULES_DATA: ModuleDef[] = [
|
||||
icon: CalendarClock,
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'migration',
|
||||
name: 'Миграция данных',
|
||||
tagline: 'Перенос из другой PMS за 15 минут',
|
||||
description:
|
||||
'Перенос броней, номеров и гостей из другой PMS системы. Поддержка Bnovo, Hotelbird, Fidelio, 1С Отель. Импорт через CSV или Excel — без потери данных.',
|
||||
icon: ArrowLeftRight,
|
||||
iconBg: 'bg-violet-100 dark:bg-violet-900/40',
|
||||
iconColor: 'text-violet-600 dark:text-violet-400',
|
||||
accentColor: 'bg-violet-500',
|
||||
price: 0,
|
||||
badge: 'Бесплатно',
|
||||
features: [
|
||||
'Импорт из Bnovo, Hotelbird, 1С Отель',
|
||||
'CSV / Excel загрузка',
|
||||
'Маппинг полей',
|
||||
'Импорт гостевой базы',
|
||||
'Перенос броней',
|
||||
],
|
||||
sidebarItem: {
|
||||
path: '/migration',
|
||||
label: 'Миграция',
|
||||
icon: ArrowLeftRight,
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user