package com.madeu.crm.kiosk.dto;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;

@Getter
@Setter
@ToString
public class ReserveDTO {

    private String muReserveId;             // 식별자
    private String userName;               // 고객 이름
    private String muUserId;               // 고객 식별자
    private LocalDate reserveDate;         // 예약날짜
    private LocalTime reserveTime;         // 예약시간
    private String reserveCategoryItemId;  // 예약처 카테고리 식별자
    private String reserveCategoryItemName;// 예약처 카테고리 이름
    private String reserveAppYn;           // 앱예약 유무 (Y/N)
    private String reserveNaverYn;         // 네이버 예약 유무 (Y/N)
    private String muTreatmentId;          // 진료 식별자
    private String treatmentName;          // 진료명
    private String muTreatmentProcedureId; // 진료 시술 식별자
    private String treatmentProcedureName; // 진료 시술명
    private String reserveMemberId;        // 의사, 상담자 식별자
    private String muMemberId;             // 담당자 식별자
    private String etc;                    // 메모
    private String status;                 // 상태 (T, TN, R, RW, RN, G, Y)
    private String status2;                // 수납상태 (N, Y, C, P, R)
    private String userCheckYn;            // 사용자 확인 여부
    private LocalDate writeDate;           // 작성일자
    private LocalTime writeTime;           // 작성시간
    private String remark;                 // 비고
    private String cudFlag;                // 작업타입 (C, U, D)
    private String useYn;                  // 사용여부
    private String regId;                  // 등록자
    private LocalDateTime regDate;         // 등록일자
    private String modId;                  // 수정자
    private LocalDateTime modDate;         // 수정일자
    private String tId;                    // T_ID
    private LocalDateTime tDate;           // T_DATE
    private LocalDateTime receptionDate;   // 접수시간
    private String phoneNumber;            // 고객 전화번호

    // 네이버 예약 관련 필드
    private String naverReservationKey;    // 네이버 예약 상품 키값
    private String naverBookingKey;        // 네이버 예약 키값
    private String naverDateTime;          // 네이버 예약 일자 및 시간
    private String naverName;              // 네이버 예약 예약자 이름
    private String naverPhone;             // 네이버 예약 예약자 전화번호
    private String naverState;             // 네이버 예약상태
    private String naverUserId;            // 네이버 예약 사용자 아이디

    // 기존 CRM DB 연동 필드
    private String crmMemberSchedulePid;       // 기존 DB 식별자
    private String crmMemberScheduleMbPid;     // 기존 DB 고객 식별자
    private String crmMemberScheduleMbHp;      // 기존 DB 고객 전화번호
    private String crmMemberScheduleResPid;    // 기존 DB 예약종류 식별자
    private String crmMemberScheduleResPid2;   // 기존 DB 시술분류 식별자
    private String crmMemberScheduleResPid3;
    private String crmMemberScheduleResPid4;
    private String crmMemberScheduleResPidName;  // 기존 DB 예약종류 이름
    private String crmMemberScheduleResPid2Name; // 기존 DB 시술분류 이름
    private String crmMemberScheduleResPid3Name;
    private String crmMemberScheduleResPid4Name;
    private String crmMemberScheduleResEtc;    // 기존 DB 시술분류 비고
    private String crmMemberScheduleRStaff3;   // 기존 DB 시술의사 식별자
    private String crmMemberScheduleRStaff3Icon;
    private String crmMemberScheduleRStaff3Name; // 기존 DB 시술의사 이름
    private String crmMemberScheduleResConsult;  // 기존 DB 상담자 식별자
    private String crmMemberScheduleResConsultName;
    private String crmMemberScheduleResAccept;   // 기존 DB 담당자 식별자
    private String crmMemberScheduleResAcceptName;
    private String crmMemberScheduleResState;    // 기존 DB 예약상태
    private String reserveHomepageYn;            // 홈페이지 예약 여부
    
    private String id;
}
