package com.saas.tenant.dto.response;

import com.saas.tenant.entity.AppointmentStatus;
import com.saas.tenant.entity.BookingChannel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AppointmentResponse {

    private Long id;
    private Long patientId;
    private String patientName;
    private Long doctorId;
    private String doctorName;
    private Long resourceId;
    private String resourceName;
    private Long medicalServiceId;
    private String medicalServiceName;
    private LocalDateTime appointmentDateTime;
    private Integer durationMinutes;
    private AppointmentStatus status;
    private BookingChannel bookingChannel;
    private String aiSuggestedAlternatives;
    private Boolean isAiScheduled;
    private String cancellationReason;
    private String patientNotes;
    private String doctorNotes;
    private Boolean reminderSent;
    private LocalDateTime confirmedAt;
    private LocalDateTime canceledAt;
    private LocalDateTime completedAt;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
