feat(M08-D): 补门店与房间管理

This commit is contained in:
Codex
2026-08-10 11:40:09 +08:00
parent 04afce4417
commit 1ca783e91b
9 changed files with 1017 additions and 14 deletions
+66
View File
@@ -28,10 +28,76 @@ export interface ManagedStore {
address: string;
city: string;
district: string;
longitude: number | null;
latitude: number | null;
contactPhone: string;
businessStatus: 'OPEN' | 'CLOSED' | 'SUSPENDED';
timezone: string;
wifiSsid: string;
wifiConfigured: boolean;
notificationUrl: string;
sortOrder: number;
businessHours: StoreBusinessHour[];
}
export interface StoreBusinessHour {
weekday: number;
openMinute: number;
closeMinute: number;
isClosed: boolean;
}
export interface StoreInput {
name: string;
address: string;
city: string;
district: string;
longitude?: number | null;
latitude?: number | null;
contactPhone: string;
timezone: string;
businessStatus: ManagedStore['businessStatus'];
wifiSsid: string;
wifiPassword?: string;
notificationUrl: string;
sortOrder: number;
businessHours: StoreBusinessHour[];
}
export type RoomConfigurationStatus = 'ENABLED' | 'DISABLED';
export type RoomOperationalStatus =
| 'AVAILABLE'
| 'MAINTENANCE'
| 'RESERVED'
| 'IN_USE'
| 'CLEANING_REQUIRED';
export interface ManagedRoom {
id: string;
storeId: string;
categoryName: string;
name: string;
roomNo: string;
capacity: number;
basePriceCents: number;
weekdayPriceCents: number;
holidayPriceCents: number;
overnightPriceCents: number;
fullDayPriceCents: number;
minimumSpendCents: number;
depositCents: number;
minimumMinutes: number;
maxAdvanceStartMinutes: number;
maxAdvanceDays: number;
configurationStatus: RoomConfigurationStatus;
operationalStatus: RoomOperationalStatus;
tags: string[];
images: string[];
sortOrder: number;
}
export type RoomInput = Omit<ManagedRoom, 'id'>;
export interface BusinessStatistics {
storeId: string;
from: string;