# Booking.java

    package cloud.wconnect.rateshop.entity.booking;

    import cloud.wconnect.rateshop.pojo.bo.booking.AcrossMonthBasicBO;
    import cloud.wconnect.rateshop.pojo.bo.booking.AcrossQuarterBasicBO;
    import cloud.wconnect.rateshop.pojo.bo.booking.AcrossWeekBasicBO;
    import com.baomidou.mybatisplus.annotation.IdType;
    import com.baomidou.mybatisplus.annotation.TableField;
    import com.baomidou.mybatisplus.annotation.TableId;
    import lombok.Getter;
    import lombok.Setter;
    import lombok.experimental.Accessors;

    import java.io.Serializable;
    import java.math.BigDecimal;
    import java.util.List;

    /**
     * <p>
     *
     * </p>
     *
     * @author yyt
     * @since 2024-07-22
     */
    @Getter
    @Setter
    @Accessors(chain = true)
    public class Booking implements Serializable {

        private static final long serialVersionUID = 1L;

        @TableId(value = "id", type = IdType.AUTO)
        private Long id;

        /**
         * 资产
         */
        private Integer propertyId;

        /**
         * 开始日期（yyyyMMdd）
         */
        private Integer startDate;

        /**
         * 结束日期（yyyyMMdd）
         */
        private Integer endDate;

        /**
         * 总金额
         */
        private BigDecimal totalAmount;

        /**
         * 预定日期（yyyyMMdd）
         */
        private Integer bookedDate;

        /**
         * 修改人
         */
        private Integer updatedBy;

        /**
         * 修改时间
         */
        private Long updatedTime;

        /**
         * 平均房价
         */
        @TableField(exist = false)
        private BigDecimal averagePrice;

        /**
         * 入住天数
         */
        @TableField(exist = false)
        private Integer stayDays;

        /**
         * 提前预定天数
         */
        @TableField(exist = false)
        private Integer advanceDays;

        /**
         * 预定日期所在年月
         */
        @TableField(exist = false)
        private Long bookedYearMonth;

        /**
         * 入住日期所在季度（1,2,3,4）
         */
        @TableField(exist = false)
        private Integer checkInQuarter;

        /**
         * 入住横跨的季度	[{"quarter":"季度（1,2,3,4）","days":"入住天数"}]
         */
        @TableField(exist = false)
        private String stayAcrossQuarter;

        @TableField(exist = false)
        private List<AcrossQuarterBasicBO> acrossQuarterBasicBOList;

        /**
         * 入住日期所在月
         */
        @TableField(exist = false)
        private Integer checkInMonth;

        /**
         * 入住横跨的月	[{"month":"月","days":"入住天数"}]
         */
        @TableField(exist = false)
        private String stayAcrossMonth;

        @TableField(exist = false)
        private List<AcrossMonthBasicBO> acrossMonthBasicBOS;

        /**
         * 入住日期所在周几（1-7）
         */
        @TableField(exist = false)
        private Integer checkInWeek;

        /**
         * 入住横跨的周几	[{"week":"周几（1-7）","days":"入住天数"}]
         */
        @TableField(exist = false)
        private String stayAcrossWeek;

        @TableField(exist = false)
        private List<AcrossWeekBasicBO> acrossWeekBasicBOS;

    }