package com.ruoyi.web.modules.booking.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * 可预约资源（v_appointment_resource 视图行）。
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AppointmentResourceVo
{
    private Long id;

    private String resourceType;

    private String resourceName;

    /** 主图/头像 URL（兽医、专家、机构均来自 photo_file_url） */
    private String photoFileUrl;

    private String affiliatedUnit;

    private String contactPhone;

    private String introduction;

    private String detailAddress;

    private String serviceStartTime;

    private String serviceEndTime;

    private String serviceArea;

    private BigDecimal feeStandard;

    private String serviceWeekdays;

    private Integer maxDailyAppointments;

    private BigDecimal expertRating;

    private Long sysUserId;

    private String assignedLoginName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date publishTime;

    public Long getId()
    {
        return id;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public String getResourceType()
    {
        return resourceType;
    }

    public void setResourceType(String resourceType)
    {
        this.resourceType = resourceType;
    }

    public String getResourceName()
    {
        return resourceName;
    }

    public void setResourceName(String resourceName)
    {
        this.resourceName = resourceName;
    }

    public String getPhotoFileUrl()
    {
        return photoFileUrl;
    }

    public void setPhotoFileUrl(String photoFileUrl)
    {
        this.photoFileUrl = photoFileUrl;
    }

    public String getAffiliatedUnit()
    {
        return affiliatedUnit;
    }

    public void setAffiliatedUnit(String affiliatedUnit)
    {
        this.affiliatedUnit = affiliatedUnit;
    }

    public String getContactPhone()
    {
        return contactPhone;
    }

    public void setContactPhone(String contactPhone)
    {
        this.contactPhone = contactPhone;
    }

    public String getIntroduction()
    {
        return introduction;
    }

    public void setIntroduction(String introduction)
    {
        this.introduction = introduction;
    }

    public String getDetailAddress()
    {
        return detailAddress;
    }

    public void setDetailAddress(String detailAddress)
    {
        this.detailAddress = detailAddress;
    }

    public String getServiceStartTime()
    {
        return serviceStartTime;
    }

    public void setServiceStartTime(String serviceStartTime)
    {
        this.serviceStartTime = serviceStartTime;
    }

    public String getServiceEndTime()
    {
        return serviceEndTime;
    }

    public void setServiceEndTime(String serviceEndTime)
    {
        this.serviceEndTime = serviceEndTime;
    }

    public String getServiceArea()
    {
        return serviceArea;
    }

    public void setServiceArea(String serviceArea)
    {
        this.serviceArea = serviceArea;
    }

    public BigDecimal getFeeStandard()
    {
        return feeStandard;
    }

    public void setFeeStandard(BigDecimal feeStandard)
    {
        this.feeStandard = feeStandard;
    }

    public String getServiceWeekdays()
    {
        return serviceWeekdays;
    }

    public void setServiceWeekdays(String serviceWeekdays)
    {
        this.serviceWeekdays = serviceWeekdays;
    }

    public Integer getMaxDailyAppointments()
    {
        return maxDailyAppointments;
    }

    public void setMaxDailyAppointments(Integer maxDailyAppointments)
    {
        this.maxDailyAppointments = maxDailyAppointments;
    }

    public BigDecimal getExpertRating()
    {
        return expertRating;
    }

    public void setExpertRating(BigDecimal expertRating)
    {
        this.expertRating = expertRating;
    }

    public Long getSysUserId()
    {
        return sysUserId;
    }

    public void setSysUserId(Long sysUserId)
    {
        this.sysUserId = sysUserId;
    }

    public String getAssignedLoginName()
    {
        return assignedLoginName;
    }

    public void setAssignedLoginName(String assignedLoginName)
    {
        this.assignedLoginName = assignedLoginName;
    }

    public Date getPublishTime()
    {
        return publishTime;
    }

    public void setPublishTime(Date publishTime)
    {
        this.publishTime = publishTime;
    }
}
