/**
 * 预约订单模型
 */

// 预约状态
export type BookingStatus = 'pending' | 'confirmed' | 'in_progress' | 'completed' | 'cancelled' | 'rescheduled'

// 预约订单数据
export interface ShopBooking {
  id: number | string
  bookingNo: string            // 预约编号
  storeId: number              // 店铺ID
  storeName: string            // 店铺名称
  storePhone?: string          // 门店服务电话
  serviceId: number           // 服务ID
  serviceName: string         // 服务名称
  bookingDate: string        // 预约日期
  bookingTime: string        // 预约时间段
  status: BookingStatus     // 预约状态
  price: number             // 价格
  createTime: string        // 创建时间
  updateTime?: string      // 更新时间
  remark?: string           // 备注
  contactName?: string     // 联系人
  contactPhone?: string    // 联系电话
  address?: string          // 地址
}

// 预约查询参数
export interface ShopBookingParam {
  page?: number
  limit?: number
  status?: BookingStatus    // 按状态筛选
  storeId?: number         // 按店铺筛选
  startDate?: string       // 预约日期范围-起始
  endDate?: string         // 预约日期范围-结束
  keywords?: string        // 关键词搜索
  sortBy?: string        // 排序方式（createTime, bookingDate）
}

// 创建/更新预约参数
export interface ShopBookingParams extends ShopBooking {}

// 预约统计
export interface BookingStats {
  total: number            // 总预约数
  pending: number         // 待服务
  confirmed: number       // 已确认
  inProgress: number      // 进行中
  completed: number       // 已完成
  cancelled: number       // 已取消
  rescheduled: number     // 已改签
}
