package shop.alien.entity.store.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import shop.alien.entity.store.EssentialHolidayComparison;

/**
 * 预订服务营业时间DTO
 *
 * @author system
 * @since 2025-01-XX
 */
@Data
@ApiModel(value = "StoreBookingBusinessHoursDTO", description = "预订服务营业时间DTO")
public class StoreBookingBusinessHoursDTO {

    @ApiModelProperty(value = "营业时间ID（编辑时必填）")
    private Integer id;

    @ApiModelProperty(value = "门店ID")
    private Integer storeId;

    @ApiModelProperty(value = "关联store_booking_settings表 id", required = true)
    private Integer settingsId;

    @ApiModelProperty(value = "营业类型（1:正常营业时间, 2:特殊营业时间）", required = true)
    private Integer businessType;

    @ApiModelProperty(value = "节假日类型（当business_type=2时使用，如：春节、元旦、国庆节等）")
    private String holidayType;

    @ApiModelProperty(value = "节假日日期（当business_type=2时使用，用于指定具体日期，可选，格式：yyyy-MM-dd）")
    private String holidayDate;

    @ApiModelProperty(value = "预订时间类型（0:非全天, 1:全天）", required = true)
    private Integer bookingTimeType;

    @ApiModelProperty(value = "开始时间（HH:mm格式，非全天时必填）")
    private String startTime;

    @ApiModelProperty(value = "结束时间（HH:mm格式，非全天时必填）")
    private String endTime;

    @ApiModelProperty(value = "排序（用于同一门店多条记录的排序）")
    private Integer sort;

    @ApiModelProperty(value = "关联essential_holiday_comparison id")
    private Integer essentialId;

    @ApiModelProperty(value = "预约 0免费 1付费")
    private String reservation;

    @ApiModelProperty(value = "预订金额")
    private Double reservationMoney;

    @ApiModelProperty(value = "关联的节假日信息")
    private EssentialHolidayComparison holidayInfo;
}
