export interface DoctorAddress { id: number; completeAddress: string; phoneNumber: string; doctorsCount: number; totalConfiguredAppointments: number; doctors: Doctor[]; } export interface AppointmentFeeConfigurationDTO { offlineConsultationFee: number; onlineConsultationFee: number; currency: string; } export interface AppointmentTypeAndPermissionDTO { allowOnline: boolean; allowOffline: boolean; allowCancellation: boolean; allowRescheduling: boolean; cancellationAllowedBeforeInHours: number; } export interface BasicAppointmentSettingDTO { defaultDuration: number; bufferTime: number; bookingLimitPerDay: number; maximumConsecutiveAppointment: number; } export interface AppointmentConsultationValidityAndFollowUpPolicyDTO { enableConsultationValidity: boolean; consultationValidityDays: number; followUpConsultationFee: number; maximumFollowUpVisits: number; followUpFeeType: string; followUpFeePercentage: number; validityAppliesToSameComplaint: boolean; validityResetOnNewComplaint: boolean; } export interface AppointmentWorkingHourSlot { id?: number; startTime: string; endTime: string; duration: number; } export interface AppointmentConfigWorkingHours { id?: number; dayOfWeek: string; workingHours: AppointmentWorkingHourSlot[]; } export interface SpecialDayConfig { eventDayDate: string; eventDayType: string; eventDayName: string; } export interface AppointmentConfig { id?: number; workspaceId: number; addressId: number; userId: number; status?: string; appointmentConfigWorkingHours: AppointmentConfigWorkingHours[]; appointmentConsultationValidityAndFollowUpPolicyDTO: AppointmentConsultationValidityAndFollowUpPolicyDTO; appointmentFeeConfigurationDTO: AppointmentFeeConfigurationDTO; appointmentTypeAndPermissionDTO: AppointmentTypeAndPermissionDTO; basicAppointmentSettingDTO: BasicAppointmentSettingDTO; specialDayConfigs: SpecialDayConfig[]; } export interface Doctor { id: number; email: string; name: string; specialization: string[]; phoneNumber: string; profilePic: string | null; appointmentConfig: AppointmentConfig | null; } export interface FetchWorkspaceAddressDoctorResponse { totalAddresses: number; totalConfiguredAppointments: number; totalPartialConfiguredAppointments: number; totalNotConfiguredAppointments: number; addresses: DoctorAddress[]; }