feat: checklists, minibar and deposit modules

- DB migrations 057-059: checklist_templates/items/completions, minibar_items/consumptions, hotel_deposit_settings, booking_deposits
- Backend routes: checklists (templates CRUD + task completions), minibar (items + consumptions), deposit (settings, cash/yookassa hold, release/capture)
- YooKassa service for hold/capture/cancel payments
- Frontend: ChecklistSettingsPage, MinibarSettingsPage, DepositSettingsPage
- HousekeepingPage: task cards now show checklist + minibar panel with checkboxes and quantity buttons
- BookingModal: minibar charges summary + deposit management (cash/YooKassa/release) for existing bookings
- Sidebar + App.tsx: new routes /settings/checklists, /settings/minibar, /settings/deposit

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-02 19:24:53 +03:00
parent ed2dfd4c7f
commit 3c1a6ccebf
17 changed files with 2569 additions and 9 deletions

View File

@@ -44,6 +44,9 @@ import { BillingPage } from './pages/BillingPage'
import { EquipmentPage } from './pages/EquipmentPage'
import { WiFiPage } from './pages/WiFiPage'
import { TTLockPage } from './pages/TTLockPage'
import { ChecklistSettingsPage } from './pages/ChecklistSettingsPage'
import { MinibarSettingsPage } from './pages/MinibarSettingsPage'
import { DepositSettingsPage } from './pages/DepositSettingsPage'
import { ModuleGuard } from './components/ModuleGuard'
export default function App() {
@@ -97,7 +100,10 @@ export default function App() {
<Route path="/billing" element={<BillingPage />} />
<Route path="/equipment" element={<EquipmentPage />} />
<Route path="/wifi" element={<WiFiPage />} />
<Route path="/ttlock" element={<TTLockPage />} />
<Route path="/ttlock" element={<TTLockPage />} />
<Route path="/settings/checklists" element={<ChecklistSettingsPage />} />
<Route path="/settings/minibar" element={<MinibarSettingsPage />} />
<Route path="/settings/deposit" element={<DepositSettingsPage />} />
</Route>
<Route path="/" element={<Navigate to="/login" replace />} />