# WalkRoomVO.java

    package cloud.wconnect.frontoffice.pojo.vo.walkroomrequest;

    import cloud.wconnect.commonlib.pojo.dto.jsonview.Views;
    import com.fasterxml.jackson.annotation.JsonView;
    import lombok.Data;

    import java.math.BigDecimal;
    import java.util.Collections;
    import java.util.List;

    /**
     * walkRoom vo类
     *
     * @author lichen
     * @date 2023/7/12
     */
    @Data
    public class WalkRoomVO {

        /**
         * 主键id
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Long id;
        /**
         * From PropertyId
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer fromPropertyId;
        /**
         * From资产名称
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String fromPropertyName;
        /**
         * To PropertyId
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer toPropertyId;
        /**
         * To资产名称
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String toPropertyName;
        /**
         * 邮件发送人
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer lastSentBy;
        /**
         * 邮件发送人姓名
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String lastSentName;
        /**
         * 最后一次发送邮件的时间
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Long lastSentTime;
        /**
         * First Name
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String firstName;
        /**
         * Last Name
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String lastName;
        /**
         * Check-in Date(yyyyMMdd)
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer checkInDate;
        /**
         * Check-out Date(yyyyMMdd)
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer checkOutDate;
        /**
         * Room Type
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String roomType;
        /**
         * Confirmation Number
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String confirmationNumber;
        /**
         * 代理用户id
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer agentUserId;
        /**
         * 代理人姓名
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String agentUserName;
        /**
         * Channel
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String channel;
        /**
         * To Property 前台联系人姓名
         */
        @JsonView({Views.DetailsView.class})
        private String receiveAgentName;
        /**
         * 备注
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String comment;

        /**
         * 以下字段是walkRoom功能 最新的入住明细记录的信息
         */
        /**
         * 发送方审批层级索引
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer sentApproveIndex;
        /**
         * 发送方审批状态
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer sentApproveStatus;
        /**
         * 接收方审批层级索引
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer receiveApproveIndex;
        /**
         * 接收方审批层级状态
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer receiveApproveStatus;
        /**
         * CRS.NO
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String crsNumber;
        /**
         * 入住记录备注
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private String dateinComment;
        /**
         * 入住状态
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer status;
        /**
         * 确认人id
         */
        @JsonView({Views.DetailsView.class})
        private Integer confirmUserId;
        /**
         * 确认人姓名
         */
        @JsonView({Views.DetailsView.class})
        private String confirmUserName;
        /**
         * 确认时间戳
         */
        @JsonView({Views.DetailsView.class})
        private Long confirmTime;
        /**
         * 审批日志信息
         */
        @JsonView({Views.DetailsView.class})
        private List<WalkRoomApproveLevelVO> approveLevelLog = Collections.emptyList();

        /**
         * 入住日的walk rate
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private BigDecimal rate;

        /**
         * 发送方是否开始审批
         */
        @JsonView({Views.ListView.class})
        private Boolean sentIsStartApprove;

        /**
         * 接收方是否开始审批
         */
        @JsonView({Views.ListView.class})
        private Boolean receiveIsStartApprove;

        /**
         * 审批状态对应的入住日(yyyyMMdd)
         */
        @JsonView({Views.ListView.class, Views.DetailsView.class})
        private Integer approveDate;
    }