55a34dc0dc2d524b17b17ba51d7c81d65f86684b
- ChannelsPage: load from API, toggle/sync call real endpoints; normalize enabled→isEnabled, lastSyncedAt→lastSyncAt, add displayName/mappings defaults - FloorMapPage: load rooms+bookings from API; create booking via API - SettingsPage: load hotel via GET /api/hotels/:slug; save general section via PATCH (name, address, timezone, currency, check_in/out times) - UsersPage: load users from API; create/update/delete via API; map backend User (name/role) → StaffUser (firstName/lastName/StaffRole) - api.ts: add hotels.get/update, users.delete, channel normalization, HotelPayload/toHotelPayload - types/index.ts: extend Hotel with phone/checkInTime/checkOutTime/optional fields; add User.createdAt/updatedAt - backend/routes/hotels.ts: extend PATCH to allow address/phone/check_in_time/check_out_time - backend/migrations/004_hotels_contacts.sql: add address/phone/check_in/out_time to hotels Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
HotelSync — SaaS PMS System
Современная система управления отелем (PMS) с шахматкой бронирований, менеджером каналов и API.
Быстрый старт
npm install
npm run dev
Откройте http://localhost:5173
Демо-аккаунты
| Роль | Пароль | |
|---|---|---|
| Менеджер отеля | manager@grand-palace.ru | demo |
| Горничная | cleaner@grand-palace.ru | demo |
| Супер-администратор | admin@hotelsync.io | demo |
Функциональность
- Шахматка — drag-to-book интерфейс, цветовое кодирование по статусам
- Бронирования — список с фильтрами, создание, детальная панель
- Номерной фонд — карточки номеров, статусы, уборка
- Уборка — Kanban-доска: ожидание / в процессе / готово
- Менеджер каналов — Booking.com, Airbnb, Expedia, VRBO
- API-документация — встроенная документация REST API
- Светлая / тёмная тема — переключатель в шапке
- Мультиарендность — архитектура SaaS с изоляцией по отелям
Структура проекта
src/
├── components/
│ ├── calendar/ # Шахматка бронирований
│ ├── bookings/ # Модалки бронирований
│ ├── layout/ # Sidebar, Topbar
│ └── ui/ # Badge, Modal
├── contexts/ # AuthContext, ThemeContext
├── data/ # Мок-данные
├── layouts/ # AppLayout
├── lib/ # Утилиты, константы
├── pages/ # Страницы приложения
└── types/ # TypeScript типы
API
Base URL: https://api.hotelsync.io/v1
Документация доступна в приложении: /grand-palace/api-docs
Стек технологий
- React 18 + TypeScript
- Vite 5
- Tailwind CSS 3 (dark mode)
- React Router 6
- date-fns
- Lucide React
Description
Languages
TypeScript
98.4%
HTML
0.7%
JavaScript
0.3%
Shell
0.2%
CSS
0.2%
Other
0.1%