@blackcode_sa/metaestetics-api 1.4.2 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -779,11 +779,99 @@ declare enum Currency {
779
779
  AUD = "AUD"
780
780
  }
781
781
 
782
+ /**
783
+ * Enum for practice types
784
+ */
785
+ declare enum PracticeType {
786
+ GENERAL_PRACTICE = "general_practice",
787
+ DENTAL = "dental",
788
+ DERMATOLOGY = "dermatology",
789
+ CARDIOLOGY = "cardiology",
790
+ ORTHOPEDICS = "orthopedics",
791
+ GYNECOLOGY = "gynecology",
792
+ PEDIATRICS = "pediatrics",
793
+ OPHTHALMOLOGY = "ophthalmology",
794
+ NEUROLOGY = "neurology",
795
+ PSYCHIATRY = "psychiatry",
796
+ UROLOGY = "urology",
797
+ ONCOLOGY = "oncology",
798
+ ENDOCRINOLOGY = "endocrinology",
799
+ GASTROENTEROLOGY = "gastroenterology",
800
+ PULMONOLOGY = "pulmonology",
801
+ RHEUMATOLOGY = "rheumatology",
802
+ PHYSICAL_THERAPY = "physical_therapy",
803
+ NUTRITION = "nutrition",
804
+ ALTERNATIVE_MEDICINE = "alternative_medicine",
805
+ OTHER = "other"
806
+ }
807
+ /**
808
+ * Enum for languages
809
+ */
810
+ declare enum Language {
811
+ ENGLISH = "english",
812
+ GERMAN = "german",
813
+ ITALIAN = "italian",
814
+ FRENCH = "french",
815
+ SPANISH = "spanish"
816
+ }
817
+ /**
818
+ * Enum for all possible clinic tags
819
+ */
820
+ declare enum ClinicTag {
821
+ PARKING = "parking",
822
+ WIFI = "wifi",
823
+ WHEELCHAIR_ACCESS = "wheelchair_access",
824
+ CAFE = "cafe",
825
+ PHARMACY = "pharmacy",
826
+ WAITING_ROOM = "waiting_room",
827
+ CARD_PAYMENT = "card_payment",
828
+ INSURANCE = "insurance",
829
+ CHILDREN_AREA = "children_area",
830
+ TV = "tv",
831
+ AIR_CONDITIONING = "air_conditioning",
832
+ WATER_DISPENSER = "water_dispenser",
833
+ VENDING_MACHINE = "vending_machine",
834
+ ELEVATOR = "elevator",
835
+ RAMP = "ramp",
836
+ HANDICAP_PARKING = "handicap_parking",
837
+ BRAILLE = "braille",
838
+ SIGN_LANGUAGE = "sign_language",
839
+ EMERGENCY_SERVICE = "emergency_service",
840
+ LAB = "lab",
841
+ XRAY = "xray",
842
+ ULTRASOUND = "ultrasound",
843
+ DENTAL = "dental",
844
+ PEDIATRIC = "pediatric",
845
+ GYNECOLOGY = "gynecology",
846
+ CARDIOLOGY = "cardiology",
847
+ DERMATOLOGY = "dermatology",
848
+ ORTHOPEDIC = "orthopedic",
849
+ OPHTHALMOLOGY = "ophthalmology",
850
+ TELEMEDICINE = "telemedicine",
851
+ HOME_VISITS = "home_visits",
852
+ ONLINE_BOOKING = "online_booking",
853
+ MOBILE_APP = "mobile_app",
854
+ SMS_NOTIFICATIONS = "sms_notifications",
855
+ EMAIL_NOTIFICATIONS = "email_notifications",
856
+ ENGLISH = "english",
857
+ SERBIAN = "serbian",
858
+ GERMAN = "german",
859
+ RUSSIAN = "russian",
860
+ CHINESE = "chinese",
861
+ SPANISH = "spanish",
862
+ FRENCH = "french",
863
+ OPEN_24_7 = "open_24_7",
864
+ WEEKEND_HOURS = "weekend_hours",
865
+ NIGHT_SHIFT = "night_shift",
866
+ HOLIDAY_HOURS = "holiday_hours"
867
+ }
868
+
782
869
  declare const CLINIC_GROUPS_COLLECTION = "clinic_groups";
783
870
  declare const CLINIC_ADMINS_COLLECTION = "clinic_admins";
784
871
  declare const CLINICS_COLLECTION = "clinics";
872
+
785
873
  /**
786
- * Interfejs za kontakt informacije
874
+ * Interface for clinic contact information
787
875
  */
788
876
  interface ClinicContactInfo {
789
877
  email: string;
@@ -792,7 +880,7 @@ interface ClinicContactInfo {
792
880
  website?: string;
793
881
  }
794
882
  /**
795
- * Interfejs za fizičku lokaciju
883
+ * Interface for clinic location
796
884
  */
797
885
  interface ClinicLocation {
798
886
  address: string;
@@ -804,40 +892,68 @@ interface ClinicLocation {
804
892
  geohash?: string;
805
893
  }
806
894
  /**
807
- * Interfejs za radno vreme
895
+ * Interface for working hours
808
896
  */
809
897
  interface WorkingHours {
810
898
  monday: {
811
899
  open: string;
812
900
  close: string;
901
+ breaks?: {
902
+ start: string;
903
+ end: string;
904
+ }[];
813
905
  } | null;
814
906
  tuesday: {
815
907
  open: string;
816
908
  close: string;
909
+ breaks?: {
910
+ start: string;
911
+ end: string;
912
+ }[];
817
913
  } | null;
818
914
  wednesday: {
819
915
  open: string;
820
916
  close: string;
917
+ breaks?: {
918
+ start: string;
919
+ end: string;
920
+ }[];
821
921
  } | null;
822
922
  thursday: {
823
923
  open: string;
824
924
  close: string;
925
+ breaks?: {
926
+ start: string;
927
+ end: string;
928
+ }[];
825
929
  } | null;
826
930
  friday: {
827
931
  open: string;
828
932
  close: string;
933
+ breaks?: {
934
+ start: string;
935
+ end: string;
936
+ }[];
829
937
  } | null;
830
938
  saturday: {
831
939
  open: string;
832
940
  close: string;
941
+ breaks?: {
942
+ start: string;
943
+ end: string;
944
+ }[];
833
945
  } | null;
834
946
  sunday: {
835
947
  open: string;
836
948
  close: string;
949
+ breaks?: {
950
+ start: string;
951
+ end: string;
952
+ }[];
837
953
  } | null;
838
954
  }
839
955
  /**
840
- * Interfejs za kontakt osobu
956
+ * Interface for contact person
841
957
  */
842
958
  interface ContactPerson {
843
959
  firstName: string;
@@ -846,6 +962,9 @@ interface ContactPerson {
846
962
  email: string;
847
963
  phoneNumber: string;
848
964
  }
965
+ /**
966
+ * Interface for clinic information
967
+ */
849
968
  interface ClinicInfo {
850
969
  id: string;
851
970
  featuredPhoto: string;
@@ -855,7 +974,7 @@ interface ClinicInfo {
855
974
  contactInfo: ClinicContactInfo;
856
975
  }
857
976
  /**
858
- * Interfejs za administratora klinike
977
+ * Interface for clinic admin
859
978
  */
860
979
  interface ClinicAdmin {
861
980
  id: string;
@@ -871,7 +990,7 @@ interface ClinicAdmin {
871
990
  isActive: boolean;
872
991
  }
873
992
  /**
874
- * Tip za kreiranje novog Clinic Admin profila
993
+ * Interface for creating a clinic admin
875
994
  */
876
995
  interface CreateClinicAdminData {
877
996
  userRef: string;
@@ -884,17 +1003,23 @@ interface CreateClinicAdminData {
884
1003
  isActive: boolean;
885
1004
  }
886
1005
  /**
887
- * Tip za ažuriranje Clinic Admin profila
1006
+ * Interface for updating a clinic admin
888
1007
  */
889
1008
  interface UpdateClinicAdminData extends Partial<CreateClinicAdminData> {
890
1009
  updatedAt?: FieldValue;
891
1010
  clinicsManagedInfo?: ClinicInfo[];
892
1011
  }
1012
+ /**
1013
+ * Enum for admin token status
1014
+ */
893
1015
  declare enum AdminTokenStatus {
894
1016
  ACTIVE = "active",
895
1017
  USED = "used",
896
1018
  EXPIRED = "expired"
897
1019
  }
1020
+ /**
1021
+ * Interface for admin token
1022
+ */
898
1023
  interface AdminToken {
899
1024
  id: string;
900
1025
  token: string;
@@ -903,13 +1028,25 @@ interface AdminToken {
903
1028
  createdAt: Timestamp;
904
1029
  expiresAt: Timestamp;
905
1030
  }
1031
+ /**
1032
+ * Interface for admin information
1033
+ */
906
1034
  interface AdminInfo {
907
1035
  id: string;
908
1036
  name: string;
909
1037
  email: string;
910
1038
  }
911
1039
  /**
912
- * Interfejs za grupaciju klinika
1040
+ * Enum for subscription models
1041
+ */
1042
+ declare enum SubscriptionModel {
1043
+ NO_SUBSCRIPTION = "no_subscription",
1044
+ BASIC = "basic",
1045
+ PREMIUM = "premium",
1046
+ ENTERPRISE = "enterprise"
1047
+ }
1048
+ /**
1049
+ * Interface for clinic group
913
1050
  */
914
1051
  interface ClinicGroup {
915
1052
  id: string;
@@ -927,9 +1064,15 @@ interface ClinicGroup {
927
1064
  createdAt: Timestamp;
928
1065
  updatedAt: Timestamp;
929
1066
  isActive: boolean;
1067
+ logo?: string;
1068
+ practiceType?: PracticeType;
1069
+ languages?: Language[];
1070
+ subscriptionModel: SubscriptionModel;
1071
+ calendarSyncEnabled?: boolean;
1072
+ autoConfirmAppointments?: boolean;
930
1073
  }
931
1074
  /**
932
- * Tip za kreiranje nove Clinic Group
1075
+ * Interface for creating a clinic group
933
1076
  */
934
1077
  interface CreateClinicGroupData {
935
1078
  name: string;
@@ -939,19 +1082,28 @@ interface CreateClinicGroupData {
939
1082
  contactPerson: ContactPerson;
940
1083
  ownerId: string;
941
1084
  isActive: boolean;
1085
+ logo?: string;
1086
+ practiceType?: PracticeType;
1087
+ languages?: Language[];
1088
+ subscriptionModel?: SubscriptionModel;
1089
+ calendarSyncEnabled?: boolean;
1090
+ autoConfirmAppointments?: boolean;
942
1091
  }
943
1092
  /**
944
- * Tip za ažuriranje Clinic Group
1093
+ * Interface for updating a clinic group
945
1094
  */
946
1095
  interface UpdateClinicGroupData extends Partial<CreateClinicGroupData> {
947
1096
  updatedAt?: FieldValue;
948
1097
  }
949
1098
  /**
950
- * Tip za kreiranje admin tokena
1099
+ * Interface for creating an admin token
951
1100
  */
952
1101
  interface CreateAdminTokenData {
953
1102
  expiresInDays?: number;
954
1103
  }
1104
+ /**
1105
+ * Interface for doctor information
1106
+ */
955
1107
  interface DoctorInfo {
956
1108
  id: string;
957
1109
  name: string;
@@ -960,6 +1112,9 @@ interface DoctorInfo {
960
1112
  rating: number;
961
1113
  services: string[];
962
1114
  }
1115
+ /**
1116
+ * Interface for service information
1117
+ */
963
1118
  interface ServiceInfo {
964
1119
  id: string;
965
1120
  name: string;
@@ -977,6 +1132,9 @@ interface ServiceInfo {
977
1132
  duration: number;
978
1133
  treatmentBenefits: TreatmentBenefit[];
979
1134
  }
1135
+ /**
1136
+ * Interface for review information
1137
+ */
980
1138
  interface ReviewInfo {
981
1139
  id: string;
982
1140
  rating: number;
@@ -988,7 +1146,7 @@ interface ReviewInfo {
988
1146
  updatedAt: Timestamp;
989
1147
  }
990
1148
  /**
991
- * Interfejs za kliniku
1149
+ * Interface for clinic
992
1150
  */
993
1151
  interface Clinic {
994
1152
  id: string;
@@ -1001,6 +1159,10 @@ interface Clinic {
1001
1159
  tags: ClinicTag[];
1002
1160
  featuredPhotos: string[];
1003
1161
  photos: string[];
1162
+ photosWithTags?: {
1163
+ url: string;
1164
+ tag: string;
1165
+ }[];
1004
1166
  doctors: string[];
1005
1167
  doctorsInfo: DoctorInfo[];
1006
1168
  services: string[];
@@ -1016,9 +1178,10 @@ interface Clinic {
1016
1178
  updatedAt: Timestamp;
1017
1179
  isActive: boolean;
1018
1180
  isVerified: boolean;
1181
+ logo?: string;
1019
1182
  }
1020
1183
  /**
1021
- * Tip za kreiranje nove klinike
1184
+ * Interface for creating a clinic
1022
1185
  */
1023
1186
  interface CreateClinicData {
1024
1187
  clinicGroupId: string;
@@ -1029,77 +1192,81 @@ interface CreateClinicData {
1029
1192
  workingHours: WorkingHours;
1030
1193
  tags: ClinicTag[];
1031
1194
  photos: string[];
1195
+ photosWithTags?: {
1196
+ url: string;
1197
+ tag: string;
1198
+ }[];
1032
1199
  doctors: string[];
1033
1200
  services: string[];
1034
1201
  admins: string[];
1035
1202
  isActive: boolean;
1036
1203
  isVerified: boolean;
1204
+ logo?: string;
1205
+ featuredPhotos?: string[];
1037
1206
  }
1038
1207
  /**
1039
- * Tip za ažuriranje klinike
1208
+ * Interface for updating a clinic
1040
1209
  */
1041
1210
  interface UpdateClinicData extends Partial<CreateClinicData> {
1042
1211
  updatedAt?: FieldValue;
1043
1212
  }
1044
1213
  /**
1045
- * Enum za sve moguće tagove klinike
1214
+ * Interface for clinic admin signup data
1046
1215
  */
1047
- declare enum ClinicTag {
1048
- PARKING = "parking",
1049
- WIFI = "wifi",
1050
- WHEELCHAIR_ACCESS = "wheelchair_access",
1051
- CAFE = "cafe",
1052
- PHARMACY = "pharmacy",
1053
- WAITING_ROOM = "waiting_room",
1054
- CARD_PAYMENT = "card_payment",
1055
- INSURANCE = "insurance",
1056
- CHILDREN_AREA = "children_area",
1057
- TV = "tv",
1058
- AIR_CONDITIONING = "air_conditioning",
1059
- WATER_DISPENSER = "water_dispenser",
1060
- VENDING_MACHINE = "vending_machine",
1061
- ELEVATOR = "elevator",
1062
- RAMP = "ramp",
1063
- HANDICAP_PARKING = "handicap_parking",
1064
- BRAILLE = "braille",
1065
- SIGN_LANGUAGE = "sign_language",
1066
- EMERGENCY_SERVICE = "emergency_service",
1067
- LAB = "lab",
1068
- XRAY = "xray",
1069
- ULTRASOUND = "ultrasound",
1070
- DENTAL = "dental",
1071
- PEDIATRIC = "pediatric",
1072
- GYNECOLOGY = "gynecology",
1073
- CARDIOLOGY = "cardiology",
1074
- DERMATOLOGY = "dermatology",
1075
- ORTHOPEDIC = "orthopedic",
1076
- OPHTHALMOLOGY = "ophthalmology",
1077
- TELEMEDICINE = "telemedicine",
1078
- HOME_VISITS = "home_visits",
1079
- ONLINE_BOOKING = "online_booking",
1080
- MOBILE_APP = "mobile_app",
1081
- SMS_NOTIFICATIONS = "sms_notifications",
1082
- EMAIL_NOTIFICATIONS = "email_notifications",
1083
- ENGLISH = "english",
1084
- SERBIAN = "serbian",
1085
- GERMAN = "german",
1086
- RUSSIAN = "russian",
1087
- CHINESE = "chinese",
1088
- SPANISH = "spanish",
1089
- FRENCH = "french",
1090
- OPEN_24_7 = "open_24_7",
1091
- WEEKEND_HOURS = "weekend_hours",
1092
- NIGHT_SHIFT = "night_shift",
1093
- HOLIDAY_HOURS = "holiday_hours"
1216
+ interface ClinicAdminSignupData {
1217
+ email: string;
1218
+ password: string;
1219
+ firstName: string;
1220
+ lastName: string;
1221
+ title: string;
1222
+ phoneNumber: string;
1223
+ isCreatingNewGroup: boolean;
1224
+ inviteToken?: string;
1225
+ clinicGroupData?: {
1226
+ name: string;
1227
+ hqLocation: ClinicLocation;
1228
+ logo?: string;
1229
+ contactInfo: ClinicContactInfo;
1230
+ subscriptionModel?: SubscriptionModel;
1231
+ };
1232
+ }
1233
+ /**
1234
+ * Interface for clinic group setup data
1235
+ */
1236
+ interface ClinicGroupSetupData {
1237
+ languages: Language[];
1238
+ practiceType: PracticeType;
1239
+ description: string;
1240
+ logo: string;
1241
+ calendarSyncEnabled: boolean;
1242
+ autoConfirmAppointments: boolean;
1094
1243
  }
1095
1244
  /**
1096
- * Interfejs za tagove klinike
1245
+ * Interface for clinic branch setup data
1246
+ */
1247
+ interface ClinicBranchSetupData {
1248
+ name: string;
1249
+ location: ClinicLocation;
1250
+ description?: string;
1251
+ contactInfo: ClinicContactInfo;
1252
+ workingHours: WorkingHours;
1253
+ tags: ClinicTag[];
1254
+ logo?: string;
1255
+ photos: string[];
1256
+ photosWithTags?: {
1257
+ url: string;
1258
+ tag: string;
1259
+ }[];
1260
+ featuredPhotos?: string[];
1261
+ }
1262
+ /**
1263
+ * Interface for clinic tags
1097
1264
  */
1098
1265
  interface ClinicTags {
1099
1266
  tags: ClinicTag[];
1100
1267
  }
1101
1268
  /**
1102
- * Interfejs za recenziju klinike
1269
+ * Interface for clinic review
1103
1270
  */
1104
1271
  interface ClinicReview {
1105
1272
  id: string;
@@ -1143,6 +1310,14 @@ declare class ClinicGroupService extends BaseService {
1143
1310
  * Deaktivira grupaciju klinika
1144
1311
  */
1145
1312
  deactivateClinicGroup(groupId: string): Promise<void>;
1313
+ /**
1314
+ * Sets up additional clinic group information after initial creation
1315
+ *
1316
+ * @param groupId - The ID of the clinic group to set up
1317
+ * @param setupData - The setup data for the clinic group
1318
+ * @returns The updated clinic group
1319
+ */
1320
+ setupClinicGroup(groupId: string, setupData: ClinicGroupSetupData): Promise<ClinicGroup>;
1146
1321
  /**
1147
1322
  * Kreira admin token za grupaciju
1148
1323
  */
@@ -1222,6 +1397,15 @@ declare class ClinicService extends BaseService {
1222
1397
  * Dohvata sve aktivne klinike gde je korisnik admin
1223
1398
  */
1224
1399
  getActiveClinicsByAdmin(adminId: string): Promise<Clinic[]>;
1400
+ /**
1401
+ * Creates a new clinic branch for a clinic group
1402
+ *
1403
+ * @param clinicGroupId - The ID of the clinic group
1404
+ * @param setupData - The setup data for the clinic branch
1405
+ * @param adminId - The ID of the admin creating the branch
1406
+ * @returns The created clinic
1407
+ */
1408
+ createClinicBranch(clinicGroupId: string, setupData: ClinicBranchSetupData, adminId: string): Promise<Clinic>;
1225
1409
  }
1226
1410
 
1227
1411
  declare class ClinicAdminService extends BaseService {
@@ -1512,6 +1696,7 @@ declare class UserService extends BaseService {
1512
1696
  groupToken?: string;
1513
1697
  groupId?: string;
1514
1698
  };
1699
+ skipProfileCreation?: boolean;
1515
1700
  }): Promise<User>;
1516
1701
  /**
1517
1702
  * Dohvata ili kreira korisnika na osnovu Firebase korisnika
@@ -1563,6 +1748,14 @@ declare class AuthService extends BaseService {
1563
1748
  * Registruje novog korisnika sa email-om i lozinkom
1564
1749
  */
1565
1750
  signUp(email: string, password: string, initialRole?: UserRole): Promise<User>;
1751
+ /**
1752
+ * Registers a new clinic admin user with email and password
1753
+ * Can either create a new clinic group or join an existing one with a token
1754
+ *
1755
+ * @param data - Clinic admin signup data
1756
+ * @returns The created user
1757
+ */
1758
+ signUpClinicAdmin(data: ClinicAdminSignupData): Promise<User>;
1566
1759
  /**
1567
1760
  * Prijavljuje korisnika sa email-om i lozinkom
1568
1761
  */
@@ -7074,18 +7267,18 @@ declare const createPractitionerSchema: z.ZodObject<{
7074
7267
  declare const clinicContactInfoSchema: z.ZodObject<{
7075
7268
  email: z.ZodString;
7076
7269
  phoneNumber: z.ZodString;
7077
- alternativePhoneNumber: z.ZodNullable<z.ZodString>;
7078
- website: z.ZodNullable<z.ZodString>;
7270
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7271
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7079
7272
  }, "strip", z.ZodTypeAny, {
7080
7273
  email: string;
7081
7274
  phoneNumber: string;
7082
- alternativePhoneNumber: string | null;
7083
- website: string | null;
7275
+ alternativePhoneNumber?: string | null | undefined;
7276
+ website?: string | null | undefined;
7084
7277
  }, {
7085
7278
  email: string;
7086
7279
  phoneNumber: string;
7087
- alternativePhoneNumber: string | null;
7088
- website: string | null;
7280
+ alternativePhoneNumber?: string | null | undefined;
7281
+ website?: string | null | undefined;
7089
7282
  }>;
7090
7283
  /**
7091
7284
  * Validaciona šema za fizičku lokaciju
@@ -7097,153 +7290,335 @@ declare const clinicLocationSchema: z.ZodObject<{
7097
7290
  postalCode: z.ZodString;
7098
7291
  latitude: z.ZodNumber;
7099
7292
  longitude: z.ZodNumber;
7100
- geohash: z.ZodNullable<z.ZodString>;
7293
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7101
7294
  }, "strip", z.ZodTypeAny, {
7102
7295
  latitude: number;
7103
7296
  longitude: number;
7104
- geohash: string | null;
7105
7297
  address: string;
7106
7298
  city: string;
7107
7299
  country: string;
7108
7300
  postalCode: string;
7301
+ geohash?: string | null | undefined;
7109
7302
  }, {
7110
7303
  latitude: number;
7111
7304
  longitude: number;
7112
- geohash: string | null;
7113
7305
  address: string;
7114
7306
  city: string;
7115
7307
  country: string;
7116
7308
  postalCode: string;
7309
+ geohash?: string | null | undefined;
7117
7310
  }>;
7118
7311
  declare const workingHoursSchema: z.ZodObject<{
7119
- monday: z.ZodObject<{
7312
+ monday: z.ZodNullable<z.ZodObject<{
7120
7313
  open: z.ZodString;
7121
7314
  close: z.ZodString;
7315
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
7316
+ start: z.ZodString;
7317
+ end: z.ZodString;
7318
+ }, "strip", z.ZodTypeAny, {
7319
+ start: string;
7320
+ end: string;
7321
+ }, {
7322
+ start: string;
7323
+ end: string;
7324
+ }>, "many">>;
7122
7325
  }, "strip", z.ZodTypeAny, {
7123
7326
  open: string;
7124
7327
  close: string;
7328
+ breaks?: {
7329
+ start: string;
7330
+ end: string;
7331
+ }[] | undefined;
7125
7332
  }, {
7126
7333
  open: string;
7127
7334
  close: string;
7128
- }>;
7129
- tuesday: z.ZodObject<{
7335
+ breaks?: {
7336
+ start: string;
7337
+ end: string;
7338
+ }[] | undefined;
7339
+ }>>;
7340
+ tuesday: z.ZodNullable<z.ZodObject<{
7130
7341
  open: z.ZodString;
7131
7342
  close: z.ZodString;
7343
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
7344
+ start: z.ZodString;
7345
+ end: z.ZodString;
7346
+ }, "strip", z.ZodTypeAny, {
7347
+ start: string;
7348
+ end: string;
7349
+ }, {
7350
+ start: string;
7351
+ end: string;
7352
+ }>, "many">>;
7132
7353
  }, "strip", z.ZodTypeAny, {
7133
7354
  open: string;
7134
7355
  close: string;
7356
+ breaks?: {
7357
+ start: string;
7358
+ end: string;
7359
+ }[] | undefined;
7135
7360
  }, {
7136
7361
  open: string;
7137
7362
  close: string;
7138
- }>;
7139
- wednesday: z.ZodObject<{
7363
+ breaks?: {
7364
+ start: string;
7365
+ end: string;
7366
+ }[] | undefined;
7367
+ }>>;
7368
+ wednesday: z.ZodNullable<z.ZodObject<{
7140
7369
  open: z.ZodString;
7141
7370
  close: z.ZodString;
7371
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
7372
+ start: z.ZodString;
7373
+ end: z.ZodString;
7374
+ }, "strip", z.ZodTypeAny, {
7375
+ start: string;
7376
+ end: string;
7377
+ }, {
7378
+ start: string;
7379
+ end: string;
7380
+ }>, "many">>;
7142
7381
  }, "strip", z.ZodTypeAny, {
7143
7382
  open: string;
7144
7383
  close: string;
7384
+ breaks?: {
7385
+ start: string;
7386
+ end: string;
7387
+ }[] | undefined;
7145
7388
  }, {
7146
7389
  open: string;
7147
7390
  close: string;
7148
- }>;
7149
- thursday: z.ZodObject<{
7391
+ breaks?: {
7392
+ start: string;
7393
+ end: string;
7394
+ }[] | undefined;
7395
+ }>>;
7396
+ thursday: z.ZodNullable<z.ZodObject<{
7150
7397
  open: z.ZodString;
7151
7398
  close: z.ZodString;
7399
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
7400
+ start: z.ZodString;
7401
+ end: z.ZodString;
7402
+ }, "strip", z.ZodTypeAny, {
7403
+ start: string;
7404
+ end: string;
7405
+ }, {
7406
+ start: string;
7407
+ end: string;
7408
+ }>, "many">>;
7152
7409
  }, "strip", z.ZodTypeAny, {
7153
7410
  open: string;
7154
7411
  close: string;
7412
+ breaks?: {
7413
+ start: string;
7414
+ end: string;
7415
+ }[] | undefined;
7155
7416
  }, {
7156
7417
  open: string;
7157
7418
  close: string;
7158
- }>;
7159
- friday: z.ZodObject<{
7419
+ breaks?: {
7420
+ start: string;
7421
+ end: string;
7422
+ }[] | undefined;
7423
+ }>>;
7424
+ friday: z.ZodNullable<z.ZodObject<{
7160
7425
  open: z.ZodString;
7161
7426
  close: z.ZodString;
7427
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
7428
+ start: z.ZodString;
7429
+ end: z.ZodString;
7430
+ }, "strip", z.ZodTypeAny, {
7431
+ start: string;
7432
+ end: string;
7433
+ }, {
7434
+ start: string;
7435
+ end: string;
7436
+ }>, "many">>;
7162
7437
  }, "strip", z.ZodTypeAny, {
7163
7438
  open: string;
7164
7439
  close: string;
7440
+ breaks?: {
7441
+ start: string;
7442
+ end: string;
7443
+ }[] | undefined;
7165
7444
  }, {
7166
7445
  open: string;
7167
7446
  close: string;
7168
- }>;
7169
- saturday: z.ZodObject<{
7447
+ breaks?: {
7448
+ start: string;
7449
+ end: string;
7450
+ }[] | undefined;
7451
+ }>>;
7452
+ saturday: z.ZodNullable<z.ZodObject<{
7170
7453
  open: z.ZodString;
7171
7454
  close: z.ZodString;
7455
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
7456
+ start: z.ZodString;
7457
+ end: z.ZodString;
7458
+ }, "strip", z.ZodTypeAny, {
7459
+ start: string;
7460
+ end: string;
7461
+ }, {
7462
+ start: string;
7463
+ end: string;
7464
+ }>, "many">>;
7172
7465
  }, "strip", z.ZodTypeAny, {
7173
7466
  open: string;
7174
7467
  close: string;
7468
+ breaks?: {
7469
+ start: string;
7470
+ end: string;
7471
+ }[] | undefined;
7175
7472
  }, {
7176
7473
  open: string;
7177
7474
  close: string;
7178
- }>;
7179
- sunday: z.ZodObject<{
7475
+ breaks?: {
7476
+ start: string;
7477
+ end: string;
7478
+ }[] | undefined;
7479
+ }>>;
7480
+ sunday: z.ZodNullable<z.ZodObject<{
7180
7481
  open: z.ZodString;
7181
7482
  close: z.ZodString;
7483
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
7484
+ start: z.ZodString;
7485
+ end: z.ZodString;
7486
+ }, "strip", z.ZodTypeAny, {
7487
+ start: string;
7488
+ end: string;
7489
+ }, {
7490
+ start: string;
7491
+ end: string;
7492
+ }>, "many">>;
7182
7493
  }, "strip", z.ZodTypeAny, {
7183
7494
  open: string;
7184
7495
  close: string;
7496
+ breaks?: {
7497
+ start: string;
7498
+ end: string;
7499
+ }[] | undefined;
7185
7500
  }, {
7186
7501
  open: string;
7187
7502
  close: string;
7188
- }>;
7503
+ breaks?: {
7504
+ start: string;
7505
+ end: string;
7506
+ }[] | undefined;
7507
+ }>>;
7189
7508
  }, "strip", z.ZodTypeAny, {
7190
7509
  monday: {
7191
7510
  open: string;
7192
7511
  close: string;
7193
- };
7512
+ breaks?: {
7513
+ start: string;
7514
+ end: string;
7515
+ }[] | undefined;
7516
+ } | null;
7194
7517
  tuesday: {
7195
7518
  open: string;
7196
7519
  close: string;
7197
- };
7520
+ breaks?: {
7521
+ start: string;
7522
+ end: string;
7523
+ }[] | undefined;
7524
+ } | null;
7198
7525
  wednesday: {
7199
7526
  open: string;
7200
7527
  close: string;
7201
- };
7528
+ breaks?: {
7529
+ start: string;
7530
+ end: string;
7531
+ }[] | undefined;
7532
+ } | null;
7202
7533
  thursday: {
7203
7534
  open: string;
7204
7535
  close: string;
7205
- };
7536
+ breaks?: {
7537
+ start: string;
7538
+ end: string;
7539
+ }[] | undefined;
7540
+ } | null;
7206
7541
  friday: {
7207
7542
  open: string;
7208
7543
  close: string;
7209
- };
7544
+ breaks?: {
7545
+ start: string;
7546
+ end: string;
7547
+ }[] | undefined;
7548
+ } | null;
7210
7549
  saturday: {
7211
7550
  open: string;
7212
7551
  close: string;
7213
- };
7552
+ breaks?: {
7553
+ start: string;
7554
+ end: string;
7555
+ }[] | undefined;
7556
+ } | null;
7214
7557
  sunday: {
7215
7558
  open: string;
7216
7559
  close: string;
7217
- };
7560
+ breaks?: {
7561
+ start: string;
7562
+ end: string;
7563
+ }[] | undefined;
7564
+ } | null;
7218
7565
  }, {
7219
7566
  monday: {
7220
7567
  open: string;
7221
7568
  close: string;
7222
- };
7569
+ breaks?: {
7570
+ start: string;
7571
+ end: string;
7572
+ }[] | undefined;
7573
+ } | null;
7223
7574
  tuesday: {
7224
7575
  open: string;
7225
7576
  close: string;
7226
- };
7577
+ breaks?: {
7578
+ start: string;
7579
+ end: string;
7580
+ }[] | undefined;
7581
+ } | null;
7227
7582
  wednesday: {
7228
7583
  open: string;
7229
7584
  close: string;
7230
- };
7585
+ breaks?: {
7586
+ start: string;
7587
+ end: string;
7588
+ }[] | undefined;
7589
+ } | null;
7231
7590
  thursday: {
7232
7591
  open: string;
7233
7592
  close: string;
7234
- };
7593
+ breaks?: {
7594
+ start: string;
7595
+ end: string;
7596
+ }[] | undefined;
7597
+ } | null;
7235
7598
  friday: {
7236
7599
  open: string;
7237
7600
  close: string;
7238
- };
7601
+ breaks?: {
7602
+ start: string;
7603
+ end: string;
7604
+ }[] | undefined;
7605
+ } | null;
7239
7606
  saturday: {
7240
7607
  open: string;
7241
7608
  close: string;
7242
- };
7609
+ breaks?: {
7610
+ start: string;
7611
+ end: string;
7612
+ }[] | undefined;
7613
+ } | null;
7243
7614
  sunday: {
7244
7615
  open: string;
7245
7616
  close: string;
7246
- };
7617
+ breaks?: {
7618
+ start: string;
7619
+ end: string;
7620
+ }[] | undefined;
7621
+ } | null;
7247
7622
  }>;
7248
7623
  /**
7249
7624
  * Validaciona šema za tagove klinike
@@ -7300,7 +7675,7 @@ declare const clinicInfoSchema: z.ZodObject<{
7300
7675
  id: z.ZodString;
7301
7676
  featuredPhoto: z.ZodString;
7302
7677
  name: z.ZodString;
7303
- description: z.ZodNullable<z.ZodString>;
7678
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7304
7679
  location: z.ZodObject<{
7305
7680
  address: z.ZodString;
7306
7681
  city: z.ZodString;
@@ -7308,80 +7683,80 @@ declare const clinicInfoSchema: z.ZodObject<{
7308
7683
  postalCode: z.ZodString;
7309
7684
  latitude: z.ZodNumber;
7310
7685
  longitude: z.ZodNumber;
7311
- geohash: z.ZodNullable<z.ZodString>;
7686
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7312
7687
  }, "strip", z.ZodTypeAny, {
7313
7688
  latitude: number;
7314
7689
  longitude: number;
7315
- geohash: string | null;
7316
7690
  address: string;
7317
7691
  city: string;
7318
7692
  country: string;
7319
7693
  postalCode: string;
7694
+ geohash?: string | null | undefined;
7320
7695
  }, {
7321
7696
  latitude: number;
7322
7697
  longitude: number;
7323
- geohash: string | null;
7324
7698
  address: string;
7325
7699
  city: string;
7326
7700
  country: string;
7327
7701
  postalCode: string;
7702
+ geohash?: string | null | undefined;
7328
7703
  }>;
7329
7704
  contactInfo: z.ZodObject<{
7330
7705
  email: z.ZodString;
7331
7706
  phoneNumber: z.ZodString;
7332
- alternativePhoneNumber: z.ZodNullable<z.ZodString>;
7333
- website: z.ZodNullable<z.ZodString>;
7707
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7708
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7334
7709
  }, "strip", z.ZodTypeAny, {
7335
7710
  email: string;
7336
7711
  phoneNumber: string;
7337
- alternativePhoneNumber: string | null;
7338
- website: string | null;
7712
+ alternativePhoneNumber?: string | null | undefined;
7713
+ website?: string | null | undefined;
7339
7714
  }, {
7340
7715
  email: string;
7341
7716
  phoneNumber: string;
7342
- alternativePhoneNumber: string | null;
7343
- website: string | null;
7717
+ alternativePhoneNumber?: string | null | undefined;
7718
+ website?: string | null | undefined;
7344
7719
  }>;
7345
7720
  }, "strip", z.ZodTypeAny, {
7346
7721
  id: string;
7347
- description: string | null;
7348
7722
  name: string;
7349
7723
  contactInfo: {
7350
7724
  email: string;
7351
7725
  phoneNumber: string;
7352
- alternativePhoneNumber: string | null;
7353
- website: string | null;
7726
+ alternativePhoneNumber?: string | null | undefined;
7727
+ website?: string | null | undefined;
7354
7728
  };
7355
7729
  location: {
7356
7730
  latitude: number;
7357
7731
  longitude: number;
7358
- geohash: string | null;
7359
7732
  address: string;
7360
7733
  city: string;
7361
7734
  country: string;
7362
7735
  postalCode: string;
7736
+ geohash?: string | null | undefined;
7363
7737
  };
7364
7738
  featuredPhoto: string;
7739
+ description?: string | null | undefined;
7365
7740
  }, {
7366
7741
  id: string;
7367
- description: string | null;
7368
7742
  name: string;
7369
7743
  contactInfo: {
7370
7744
  email: string;
7371
7745
  phoneNumber: string;
7372
- alternativePhoneNumber: string | null;
7373
- website: string | null;
7746
+ alternativePhoneNumber?: string | null | undefined;
7747
+ website?: string | null | undefined;
7374
7748
  };
7375
7749
  location: {
7376
7750
  latitude: number;
7377
7751
  longitude: number;
7378
- geohash: string | null;
7379
7752
  address: string;
7380
7753
  city: string;
7381
7754
  country: string;
7382
7755
  postalCode: string;
7756
+ geohash?: string | null | undefined;
7383
7757
  };
7384
7758
  featuredPhoto: string;
7759
+ description?: string | null | undefined;
7385
7760
  }>;
7386
7761
  /**
7387
7762
  * Validaciona šema za informacije o doktoru
@@ -7389,24 +7764,24 @@ declare const clinicInfoSchema: z.ZodObject<{
7389
7764
  declare const doctorInfoSchema: z.ZodObject<{
7390
7765
  id: z.ZodString;
7391
7766
  name: z.ZodString;
7392
- description: z.ZodNullable<z.ZodString>;
7767
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7393
7768
  photo: z.ZodString;
7394
7769
  rating: z.ZodNumber;
7395
7770
  services: z.ZodArray<z.ZodString, "many">;
7396
7771
  }, "strip", z.ZodTypeAny, {
7397
7772
  id: string;
7398
- description: string | null;
7399
7773
  name: string;
7400
7774
  services: string[];
7401
7775
  photo: string;
7402
7776
  rating: number;
7777
+ description?: string | null | undefined;
7403
7778
  }, {
7404
7779
  id: string;
7405
- description: string | null;
7406
7780
  name: string;
7407
7781
  services: string[];
7408
7782
  photo: string;
7409
7783
  rating: number;
7784
+ description?: string | null | undefined;
7410
7785
  }>;
7411
7786
  /**
7412
7787
  * Validaciona šema za informacije o usluzi
@@ -7414,7 +7789,7 @@ declare const doctorInfoSchema: z.ZodObject<{
7414
7789
  declare const serviceInfoSchema: z.ZodObject<{
7415
7790
  id: z.ZodString;
7416
7791
  name: z.ZodString;
7417
- description: z.ZodNullable<z.ZodString>;
7792
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7418
7793
  photo: z.ZodString;
7419
7794
  procedureFamily: z.ZodNativeEnum<typeof ProcedureFamily>;
7420
7795
  category: z.ZodString;
@@ -7430,7 +7805,6 @@ declare const serviceInfoSchema: z.ZodObject<{
7430
7805
  }, "strip", z.ZodTypeAny, {
7431
7806
  id: string;
7432
7807
  duration: number;
7433
- description: string | null;
7434
7808
  name: string;
7435
7809
  doctors: string[];
7436
7810
  photo: string;
@@ -7443,10 +7817,10 @@ declare const serviceInfoSchema: z.ZodObject<{
7443
7817
  pricingMeasure: PricingMeasure;
7444
7818
  currency: Currency;
7445
7819
  treatmentBenefits: TreatmentBenefit[];
7820
+ description?: string | null | undefined;
7446
7821
  }, {
7447
7822
  id: string;
7448
7823
  duration: number;
7449
- description: string | null;
7450
7824
  name: string;
7451
7825
  doctors: string[];
7452
7826
  photo: string;
@@ -7459,6 +7833,7 @@ declare const serviceInfoSchema: z.ZodObject<{
7459
7833
  pricingMeasure: PricingMeasure;
7460
7834
  currency: Currency;
7461
7835
  treatmentBenefits: TreatmentBenefit[];
7836
+ description?: string | null | undefined;
7462
7837
  }>;
7463
7838
  /**
7464
7839
  * Validaciona šema za informacije o recenziji
@@ -7470,13 +7845,13 @@ declare const reviewInfoSchema: z.ZodObject<{
7470
7845
  patientId: z.ZodString;
7471
7846
  patientName: z.ZodString;
7472
7847
  patientPhoto: z.ZodString;
7473
- createdAt: z.ZodDate;
7474
- updatedAt: z.ZodDate;
7848
+ createdAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
7849
+ updatedAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
7475
7850
  }, "strip", z.ZodTypeAny, {
7476
7851
  id: string;
7477
7852
  text: string;
7478
- createdAt: Date;
7479
- updatedAt: Date;
7853
+ createdAt: Timestamp | Date;
7854
+ updatedAt: Timestamp | Date;
7480
7855
  patientId: string;
7481
7856
  rating: number;
7482
7857
  patientName: string;
@@ -7484,8 +7859,8 @@ declare const reviewInfoSchema: z.ZodObject<{
7484
7859
  }, {
7485
7860
  id: string;
7486
7861
  text: string;
7487
- createdAt: Date;
7488
- updatedAt: Date;
7862
+ createdAt: Timestamp | Date;
7863
+ updatedAt: Timestamp | Date;
7489
7864
  patientId: string;
7490
7865
  rating: number;
7491
7866
  patientName: string;
@@ -7504,7 +7879,7 @@ declare const clinicAdminSchema: z.ZodObject<{
7504
7879
  id: z.ZodString;
7505
7880
  featuredPhoto: z.ZodString;
7506
7881
  name: z.ZodString;
7507
- description: z.ZodNullable<z.ZodString>;
7882
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7508
7883
  location: z.ZodObject<{
7509
7884
  address: z.ZodString;
7510
7885
  city: z.ZodString;
@@ -7512,80 +7887,80 @@ declare const clinicAdminSchema: z.ZodObject<{
7512
7887
  postalCode: z.ZodString;
7513
7888
  latitude: z.ZodNumber;
7514
7889
  longitude: z.ZodNumber;
7515
- geohash: z.ZodNullable<z.ZodString>;
7890
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7516
7891
  }, "strip", z.ZodTypeAny, {
7517
7892
  latitude: number;
7518
7893
  longitude: number;
7519
- geohash: string | null;
7520
7894
  address: string;
7521
7895
  city: string;
7522
7896
  country: string;
7523
7897
  postalCode: string;
7898
+ geohash?: string | null | undefined;
7524
7899
  }, {
7525
7900
  latitude: number;
7526
7901
  longitude: number;
7527
- geohash: string | null;
7528
7902
  address: string;
7529
7903
  city: string;
7530
7904
  country: string;
7531
7905
  postalCode: string;
7906
+ geohash?: string | null | undefined;
7532
7907
  }>;
7533
7908
  contactInfo: z.ZodObject<{
7534
7909
  email: z.ZodString;
7535
7910
  phoneNumber: z.ZodString;
7536
- alternativePhoneNumber: z.ZodNullable<z.ZodString>;
7537
- website: z.ZodNullable<z.ZodString>;
7911
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7912
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7538
7913
  }, "strip", z.ZodTypeAny, {
7539
7914
  email: string;
7540
7915
  phoneNumber: string;
7541
- alternativePhoneNumber: string | null;
7542
- website: string | null;
7916
+ alternativePhoneNumber?: string | null | undefined;
7917
+ website?: string | null | undefined;
7543
7918
  }, {
7544
7919
  email: string;
7545
7920
  phoneNumber: string;
7546
- alternativePhoneNumber: string | null;
7547
- website: string | null;
7921
+ alternativePhoneNumber?: string | null | undefined;
7922
+ website?: string | null | undefined;
7548
7923
  }>;
7549
7924
  }, "strip", z.ZodTypeAny, {
7550
7925
  id: string;
7551
- description: string | null;
7552
7926
  name: string;
7553
7927
  contactInfo: {
7554
7928
  email: string;
7555
7929
  phoneNumber: string;
7556
- alternativePhoneNumber: string | null;
7557
- website: string | null;
7930
+ alternativePhoneNumber?: string | null | undefined;
7931
+ website?: string | null | undefined;
7558
7932
  };
7559
7933
  location: {
7560
7934
  latitude: number;
7561
7935
  longitude: number;
7562
- geohash: string | null;
7563
7936
  address: string;
7564
7937
  city: string;
7565
7938
  country: string;
7566
7939
  postalCode: string;
7940
+ geohash?: string | null | undefined;
7567
7941
  };
7568
7942
  featuredPhoto: string;
7943
+ description?: string | null | undefined;
7569
7944
  }, {
7570
7945
  id: string;
7571
- description: string | null;
7572
7946
  name: string;
7573
7947
  contactInfo: {
7574
7948
  email: string;
7575
7949
  phoneNumber: string;
7576
- alternativePhoneNumber: string | null;
7577
- website: string | null;
7950
+ alternativePhoneNumber?: string | null | undefined;
7951
+ website?: string | null | undefined;
7578
7952
  };
7579
7953
  location: {
7580
7954
  latitude: number;
7581
7955
  longitude: number;
7582
- geohash: string | null;
7583
7956
  address: string;
7584
7957
  city: string;
7585
7958
  country: string;
7586
7959
  postalCode: string;
7960
+ geohash?: string | null | undefined;
7587
7961
  };
7588
7962
  featuredPhoto: string;
7963
+ description?: string | null | undefined;
7589
7964
  }>, "many">;
7590
7965
  contactInfo: z.ZodObject<{
7591
7966
  firstName: z.ZodString;
@@ -7607,38 +7982,38 @@ declare const clinicAdminSchema: z.ZodObject<{
7607
7982
  phoneNumber: string;
7608
7983
  }>;
7609
7984
  roleTitle: z.ZodString;
7610
- createdAt: z.ZodDate;
7611
- updatedAt: z.ZodDate;
7985
+ createdAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
7986
+ updatedAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
7612
7987
  isActive: z.ZodBoolean;
7613
7988
  }, "strip", z.ZodTypeAny, {
7614
7989
  id: string;
7615
7990
  isActive: boolean;
7616
- createdAt: Date;
7617
- updatedAt: Date;
7991
+ createdAt: Timestamp | Date;
7992
+ updatedAt: Timestamp | Date;
7618
7993
  isGroupOwner: boolean;
7619
7994
  userRef: string;
7620
7995
  clinicGroupId: string;
7621
7996
  clinicsManaged: string[];
7622
7997
  clinicsManagedInfo: {
7623
7998
  id: string;
7624
- description: string | null;
7625
7999
  name: string;
7626
8000
  contactInfo: {
7627
8001
  email: string;
7628
8002
  phoneNumber: string;
7629
- alternativePhoneNumber: string | null;
7630
- website: string | null;
8003
+ alternativePhoneNumber?: string | null | undefined;
8004
+ website?: string | null | undefined;
7631
8005
  };
7632
8006
  location: {
7633
8007
  latitude: number;
7634
8008
  longitude: number;
7635
- geohash: string | null;
7636
8009
  address: string;
7637
8010
  city: string;
7638
8011
  country: string;
7639
8012
  postalCode: string;
8013
+ geohash?: string | null | undefined;
7640
8014
  };
7641
8015
  featuredPhoto: string;
8016
+ description?: string | null | undefined;
7642
8017
  }[];
7643
8018
  contactInfo: {
7644
8019
  email: string;
@@ -7651,32 +8026,32 @@ declare const clinicAdminSchema: z.ZodObject<{
7651
8026
  }, {
7652
8027
  id: string;
7653
8028
  isActive: boolean;
7654
- createdAt: Date;
7655
- updatedAt: Date;
8029
+ createdAt: Timestamp | Date;
8030
+ updatedAt: Timestamp | Date;
7656
8031
  isGroupOwner: boolean;
7657
8032
  userRef: string;
7658
8033
  clinicGroupId: string;
7659
8034
  clinicsManaged: string[];
7660
8035
  clinicsManagedInfo: {
7661
8036
  id: string;
7662
- description: string | null;
7663
8037
  name: string;
7664
8038
  contactInfo: {
7665
8039
  email: string;
7666
8040
  phoneNumber: string;
7667
- alternativePhoneNumber: string | null;
7668
- website: string | null;
8041
+ alternativePhoneNumber?: string | null | undefined;
8042
+ website?: string | null | undefined;
7669
8043
  };
7670
8044
  location: {
7671
8045
  latitude: number;
7672
8046
  longitude: number;
7673
- geohash: string | null;
7674
8047
  address: string;
7675
8048
  city: string;
7676
8049
  country: string;
7677
8050
  postalCode: string;
8051
+ geohash?: string | null | undefined;
7678
8052
  };
7679
8053
  featuredPhoto: string;
8054
+ description?: string | null | undefined;
7680
8055
  }[];
7681
8056
  contactInfo: {
7682
8057
  email: string;
@@ -7695,21 +8070,21 @@ declare const adminTokenSchema: z.ZodObject<{
7695
8070
  token: z.ZodString;
7696
8071
  status: z.ZodNativeEnum<typeof AdminTokenStatus>;
7697
8072
  usedByUserRef: z.ZodOptional<z.ZodString>;
7698
- createdAt: z.ZodDate;
7699
- expiresAt: z.ZodDate;
8073
+ createdAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
8074
+ expiresAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
7700
8075
  }, "strip", z.ZodTypeAny, {
7701
8076
  id: string;
7702
8077
  status: AdminTokenStatus;
7703
- createdAt: Date;
8078
+ createdAt: Timestamp | Date;
7704
8079
  token: string;
7705
- expiresAt: Date;
8080
+ expiresAt: Timestamp | Date;
7706
8081
  usedByUserRef?: string | undefined;
7707
8082
  }, {
7708
8083
  id: string;
7709
8084
  status: AdminTokenStatus;
7710
- createdAt: Date;
8085
+ createdAt: Timestamp | Date;
7711
8086
  token: string;
7712
- expiresAt: Date;
8087
+ expiresAt: Timestamp | Date;
7713
8088
  usedByUserRef?: string | undefined;
7714
8089
  }>;
7715
8090
  /**
@@ -7728,7 +8103,7 @@ declare const createAdminTokenSchema: z.ZodObject<{
7728
8103
  declare const clinicGroupSchema: z.ZodObject<{
7729
8104
  id: z.ZodString;
7730
8105
  name: z.ZodString;
7731
- description: z.ZodNullable<z.ZodString>;
8106
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7732
8107
  hqLocation: z.ZodObject<{
7733
8108
  address: z.ZodString;
7734
8109
  city: z.ZodString;
@@ -7736,39 +8111,39 @@ declare const clinicGroupSchema: z.ZodObject<{
7736
8111
  postalCode: z.ZodString;
7737
8112
  latitude: z.ZodNumber;
7738
8113
  longitude: z.ZodNumber;
7739
- geohash: z.ZodNullable<z.ZodString>;
8114
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7740
8115
  }, "strip", z.ZodTypeAny, {
7741
8116
  latitude: number;
7742
8117
  longitude: number;
7743
- geohash: string | null;
7744
8118
  address: string;
7745
8119
  city: string;
7746
8120
  country: string;
7747
8121
  postalCode: string;
8122
+ geohash?: string | null | undefined;
7748
8123
  }, {
7749
8124
  latitude: number;
7750
8125
  longitude: number;
7751
- geohash: string | null;
7752
8126
  address: string;
7753
8127
  city: string;
7754
8128
  country: string;
7755
8129
  postalCode: string;
8130
+ geohash?: string | null | undefined;
7756
8131
  }>;
7757
8132
  contactInfo: z.ZodObject<{
7758
8133
  email: z.ZodString;
7759
8134
  phoneNumber: z.ZodString;
7760
- alternativePhoneNumber: z.ZodNullable<z.ZodString>;
7761
- website: z.ZodNullable<z.ZodString>;
8135
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8136
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7762
8137
  }, "strip", z.ZodTypeAny, {
7763
8138
  email: string;
7764
8139
  phoneNumber: string;
7765
- alternativePhoneNumber: string | null;
7766
- website: string | null;
8140
+ alternativePhoneNumber?: string | null | undefined;
8141
+ website?: string | null | undefined;
7767
8142
  }, {
7768
8143
  email: string;
7769
8144
  phoneNumber: string;
7770
- alternativePhoneNumber: string | null;
7771
- website: string | null;
8145
+ alternativePhoneNumber?: string | null | undefined;
8146
+ website?: string | null | undefined;
7772
8147
  }>;
7773
8148
  contactPerson: z.ZodObject<{
7774
8149
  firstName: z.ZodString;
@@ -7794,7 +8169,7 @@ declare const clinicGroupSchema: z.ZodObject<{
7794
8169
  id: z.ZodString;
7795
8170
  featuredPhoto: z.ZodString;
7796
8171
  name: z.ZodString;
7797
- description: z.ZodNullable<z.ZodString>;
8172
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7798
8173
  location: z.ZodObject<{
7799
8174
  address: z.ZodString;
7800
8175
  city: z.ZodString;
@@ -7802,80 +8177,80 @@ declare const clinicGroupSchema: z.ZodObject<{
7802
8177
  postalCode: z.ZodString;
7803
8178
  latitude: z.ZodNumber;
7804
8179
  longitude: z.ZodNumber;
7805
- geohash: z.ZodNullable<z.ZodString>;
8180
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7806
8181
  }, "strip", z.ZodTypeAny, {
7807
8182
  latitude: number;
7808
8183
  longitude: number;
7809
- geohash: string | null;
7810
8184
  address: string;
7811
8185
  city: string;
7812
8186
  country: string;
7813
8187
  postalCode: string;
8188
+ geohash?: string | null | undefined;
7814
8189
  }, {
7815
8190
  latitude: number;
7816
8191
  longitude: number;
7817
- geohash: string | null;
7818
8192
  address: string;
7819
8193
  city: string;
7820
8194
  country: string;
7821
8195
  postalCode: string;
8196
+ geohash?: string | null | undefined;
7822
8197
  }>;
7823
8198
  contactInfo: z.ZodObject<{
7824
8199
  email: z.ZodString;
7825
8200
  phoneNumber: z.ZodString;
7826
- alternativePhoneNumber: z.ZodNullable<z.ZodString>;
7827
- website: z.ZodNullable<z.ZodString>;
8201
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8202
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7828
8203
  }, "strip", z.ZodTypeAny, {
7829
8204
  email: string;
7830
8205
  phoneNumber: string;
7831
- alternativePhoneNumber: string | null;
7832
- website: string | null;
8206
+ alternativePhoneNumber?: string | null | undefined;
8207
+ website?: string | null | undefined;
7833
8208
  }, {
7834
8209
  email: string;
7835
8210
  phoneNumber: string;
7836
- alternativePhoneNumber: string | null;
7837
- website: string | null;
8211
+ alternativePhoneNumber?: string | null | undefined;
8212
+ website?: string | null | undefined;
7838
8213
  }>;
7839
8214
  }, "strip", z.ZodTypeAny, {
7840
8215
  id: string;
7841
- description: string | null;
7842
8216
  name: string;
7843
8217
  contactInfo: {
7844
8218
  email: string;
7845
8219
  phoneNumber: string;
7846
- alternativePhoneNumber: string | null;
7847
- website: string | null;
8220
+ alternativePhoneNumber?: string | null | undefined;
8221
+ website?: string | null | undefined;
7848
8222
  };
7849
8223
  location: {
7850
8224
  latitude: number;
7851
8225
  longitude: number;
7852
- geohash: string | null;
7853
8226
  address: string;
7854
8227
  city: string;
7855
8228
  country: string;
7856
8229
  postalCode: string;
8230
+ geohash?: string | null | undefined;
7857
8231
  };
7858
8232
  featuredPhoto: string;
8233
+ description?: string | null | undefined;
7859
8234
  }, {
7860
8235
  id: string;
7861
- description: string | null;
7862
8236
  name: string;
7863
8237
  contactInfo: {
7864
8238
  email: string;
7865
8239
  phoneNumber: string;
7866
- alternativePhoneNumber: string | null;
7867
- website: string | null;
8240
+ alternativePhoneNumber?: string | null | undefined;
8241
+ website?: string | null | undefined;
7868
8242
  };
7869
8243
  location: {
7870
8244
  latitude: number;
7871
8245
  longitude: number;
7872
- geohash: string | null;
7873
8246
  address: string;
7874
8247
  city: string;
7875
8248
  country: string;
7876
8249
  postalCode: string;
8250
+ geohash?: string | null | undefined;
7877
8251
  };
7878
8252
  featuredPhoto: string;
8253
+ description?: string | null | undefined;
7879
8254
  }>, "many">;
7880
8255
  admins: z.ZodArray<z.ZodString, "many">;
7881
8256
  adminsInfo: z.ZodArray<z.ZodObject<{
@@ -7896,49 +8271,54 @@ declare const clinicGroupSchema: z.ZodObject<{
7896
8271
  token: z.ZodString;
7897
8272
  status: z.ZodNativeEnum<typeof AdminTokenStatus>;
7898
8273
  usedByUserRef: z.ZodOptional<z.ZodString>;
7899
- createdAt: z.ZodDate;
7900
- expiresAt: z.ZodDate;
8274
+ createdAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
8275
+ expiresAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
7901
8276
  }, "strip", z.ZodTypeAny, {
7902
8277
  id: string;
7903
8278
  status: AdminTokenStatus;
7904
- createdAt: Date;
8279
+ createdAt: Timestamp | Date;
7905
8280
  token: string;
7906
- expiresAt: Date;
8281
+ expiresAt: Timestamp | Date;
7907
8282
  usedByUserRef?: string | undefined;
7908
8283
  }, {
7909
8284
  id: string;
7910
8285
  status: AdminTokenStatus;
7911
- createdAt: Date;
8286
+ createdAt: Timestamp | Date;
7912
8287
  token: string;
7913
- expiresAt: Date;
8288
+ expiresAt: Timestamp | Date;
7914
8289
  usedByUserRef?: string | undefined;
7915
8290
  }>, "many">;
7916
8291
  ownerId: z.ZodString;
7917
- createdAt: z.ZodDate;
7918
- updatedAt: z.ZodDate;
8292
+ createdAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
8293
+ updatedAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
7919
8294
  isActive: z.ZodBoolean;
8295
+ logo: z.ZodOptional<z.ZodString>;
8296
+ practiceType: z.ZodOptional<z.ZodNativeEnum<typeof PracticeType>>;
8297
+ languages: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof Language>, "many">>;
8298
+ subscriptionModel: z.ZodNativeEnum<typeof SubscriptionModel>;
8299
+ calendarSyncEnabled: z.ZodOptional<z.ZodBoolean>;
8300
+ autoConfirmAppointments: z.ZodOptional<z.ZodBoolean>;
7920
8301
  }, "strip", z.ZodTypeAny, {
7921
8302
  id: string;
7922
- description: string | null;
7923
8303
  isActive: boolean;
7924
- createdAt: Date;
7925
- updatedAt: Date;
8304
+ createdAt: Timestamp | Date;
8305
+ updatedAt: Timestamp | Date;
7926
8306
  name: string;
7927
8307
  clinics: string[];
7928
8308
  contactInfo: {
7929
8309
  email: string;
7930
8310
  phoneNumber: string;
7931
- alternativePhoneNumber: string | null;
7932
- website: string | null;
8311
+ alternativePhoneNumber?: string | null | undefined;
8312
+ website?: string | null | undefined;
7933
8313
  };
7934
8314
  hqLocation: {
7935
8315
  latitude: number;
7936
8316
  longitude: number;
7937
- geohash: string | null;
7938
8317
  address: string;
7939
8318
  city: string;
7940
8319
  country: string;
7941
8320
  postalCode: string;
8321
+ geohash?: string | null | undefined;
7942
8322
  };
7943
8323
  contactPerson: {
7944
8324
  email: string;
@@ -7948,27 +8328,28 @@ declare const clinicGroupSchema: z.ZodObject<{
7948
8328
  phoneNumber: string;
7949
8329
  };
7950
8330
  ownerId: string;
8331
+ subscriptionModel: SubscriptionModel;
7951
8332
  admins: string[];
7952
8333
  clinicsInfo: {
7953
8334
  id: string;
7954
- description: string | null;
7955
8335
  name: string;
7956
8336
  contactInfo: {
7957
8337
  email: string;
7958
8338
  phoneNumber: string;
7959
- alternativePhoneNumber: string | null;
7960
- website: string | null;
8339
+ alternativePhoneNumber?: string | null | undefined;
8340
+ website?: string | null | undefined;
7961
8341
  };
7962
8342
  location: {
7963
8343
  latitude: number;
7964
8344
  longitude: number;
7965
- geohash: string | null;
7966
8345
  address: string;
7967
8346
  city: string;
7968
8347
  country: string;
7969
8348
  postalCode: string;
8349
+ geohash?: string | null | undefined;
7970
8350
  };
7971
8351
  featuredPhoto: string;
8352
+ description?: string | null | undefined;
7972
8353
  }[];
7973
8354
  adminsInfo: {
7974
8355
  id: string;
@@ -7978,33 +8359,38 @@ declare const clinicGroupSchema: z.ZodObject<{
7978
8359
  adminTokens: {
7979
8360
  id: string;
7980
8361
  status: AdminTokenStatus;
7981
- createdAt: Date;
8362
+ createdAt: Timestamp | Date;
7982
8363
  token: string;
7983
- expiresAt: Date;
8364
+ expiresAt: Timestamp | Date;
7984
8365
  usedByUserRef?: string | undefined;
7985
8366
  }[];
8367
+ description?: string | null | undefined;
8368
+ logo?: string | undefined;
8369
+ practiceType?: PracticeType | undefined;
8370
+ languages?: Language[] | undefined;
8371
+ calendarSyncEnabled?: boolean | undefined;
8372
+ autoConfirmAppointments?: boolean | undefined;
7986
8373
  }, {
7987
8374
  id: string;
7988
- description: string | null;
7989
8375
  isActive: boolean;
7990
- createdAt: Date;
7991
- updatedAt: Date;
8376
+ createdAt: Timestamp | Date;
8377
+ updatedAt: Timestamp | Date;
7992
8378
  name: string;
7993
8379
  clinics: string[];
7994
8380
  contactInfo: {
7995
8381
  email: string;
7996
8382
  phoneNumber: string;
7997
- alternativePhoneNumber: string | null;
7998
- website: string | null;
8383
+ alternativePhoneNumber?: string | null | undefined;
8384
+ website?: string | null | undefined;
7999
8385
  };
8000
8386
  hqLocation: {
8001
8387
  latitude: number;
8002
8388
  longitude: number;
8003
- geohash: string | null;
8004
8389
  address: string;
8005
8390
  city: string;
8006
8391
  country: string;
8007
8392
  postalCode: string;
8393
+ geohash?: string | null | undefined;
8008
8394
  };
8009
8395
  contactPerson: {
8010
8396
  email: string;
@@ -8014,27 +8400,28 @@ declare const clinicGroupSchema: z.ZodObject<{
8014
8400
  phoneNumber: string;
8015
8401
  };
8016
8402
  ownerId: string;
8403
+ subscriptionModel: SubscriptionModel;
8017
8404
  admins: string[];
8018
8405
  clinicsInfo: {
8019
8406
  id: string;
8020
- description: string | null;
8021
8407
  name: string;
8022
8408
  contactInfo: {
8023
8409
  email: string;
8024
8410
  phoneNumber: string;
8025
- alternativePhoneNumber: string | null;
8026
- website: string | null;
8411
+ alternativePhoneNumber?: string | null | undefined;
8412
+ website?: string | null | undefined;
8027
8413
  };
8028
8414
  location: {
8029
8415
  latitude: number;
8030
8416
  longitude: number;
8031
- geohash: string | null;
8032
8417
  address: string;
8033
8418
  city: string;
8034
8419
  country: string;
8035
8420
  postalCode: string;
8421
+ geohash?: string | null | undefined;
8036
8422
  };
8037
8423
  featuredPhoto: string;
8424
+ description?: string | null | undefined;
8038
8425
  }[];
8039
8426
  adminsInfo: {
8040
8427
  id: string;
@@ -8044,11 +8431,17 @@ declare const clinicGroupSchema: z.ZodObject<{
8044
8431
  adminTokens: {
8045
8432
  id: string;
8046
8433
  status: AdminTokenStatus;
8047
- createdAt: Date;
8434
+ createdAt: Timestamp | Date;
8048
8435
  token: string;
8049
- expiresAt: Date;
8436
+ expiresAt: Timestamp | Date;
8050
8437
  usedByUserRef?: string | undefined;
8051
8438
  }[];
8439
+ description?: string | null | undefined;
8440
+ logo?: string | undefined;
8441
+ practiceType?: PracticeType | undefined;
8442
+ languages?: Language[] | undefined;
8443
+ calendarSyncEnabled?: boolean | undefined;
8444
+ autoConfirmAppointments?: boolean | undefined;
8052
8445
  }>;
8053
8446
  /**
8054
8447
  * Validaciona šema za recenziju klinike
@@ -8059,13 +8452,13 @@ declare const clinicReviewSchema: z.ZodObject<{
8059
8452
  patientId: z.ZodString;
8060
8453
  rating: z.ZodNumber;
8061
8454
  comment: z.ZodString;
8062
- createdAt: z.ZodDate;
8063
- updatedAt: z.ZodDate;
8455
+ createdAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
8456
+ updatedAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
8064
8457
  isVerified: z.ZodBoolean;
8065
8458
  }, "strip", z.ZodTypeAny, {
8066
8459
  id: string;
8067
- createdAt: Date;
8068
- updatedAt: Date;
8460
+ createdAt: Timestamp | Date;
8461
+ updatedAt: Timestamp | Date;
8069
8462
  patientId: string;
8070
8463
  isVerified: boolean;
8071
8464
  clinicId: string;
@@ -8073,8 +8466,8 @@ declare const clinicReviewSchema: z.ZodObject<{
8073
8466
  comment: string;
8074
8467
  }, {
8075
8468
  id: string;
8076
- createdAt: Date;
8077
- updatedAt: Date;
8469
+ createdAt: Timestamp | Date;
8470
+ updatedAt: Timestamp | Date;
8078
8471
  patientId: string;
8079
8472
  isVerified: boolean;
8080
8473
  clinicId: string;
@@ -8088,7 +8481,7 @@ declare const clinicSchema: z.ZodObject<{
8088
8481
  id: z.ZodString;
8089
8482
  clinicGroupId: z.ZodString;
8090
8483
  name: z.ZodString;
8091
- description: z.ZodNullable<z.ZodString>;
8484
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8092
8485
  location: z.ZodObject<{
8093
8486
  address: z.ZodString;
8094
8487
  city: z.ZodString;
@@ -8096,201 +8489,393 @@ declare const clinicSchema: z.ZodObject<{
8096
8489
  postalCode: z.ZodString;
8097
8490
  latitude: z.ZodNumber;
8098
8491
  longitude: z.ZodNumber;
8099
- geohash: z.ZodNullable<z.ZodString>;
8492
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8100
8493
  }, "strip", z.ZodTypeAny, {
8101
8494
  latitude: number;
8102
8495
  longitude: number;
8103
- geohash: string | null;
8104
8496
  address: string;
8105
8497
  city: string;
8106
8498
  country: string;
8107
8499
  postalCode: string;
8500
+ geohash?: string | null | undefined;
8108
8501
  }, {
8109
8502
  latitude: number;
8110
8503
  longitude: number;
8111
- geohash: string | null;
8112
8504
  address: string;
8113
8505
  city: string;
8114
8506
  country: string;
8115
8507
  postalCode: string;
8508
+ geohash?: string | null | undefined;
8116
8509
  }>;
8117
8510
  contactInfo: z.ZodObject<{
8118
8511
  email: z.ZodString;
8119
8512
  phoneNumber: z.ZodString;
8120
- alternativePhoneNumber: z.ZodNullable<z.ZodString>;
8121
- website: z.ZodNullable<z.ZodString>;
8513
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8514
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8122
8515
  }, "strip", z.ZodTypeAny, {
8123
8516
  email: string;
8124
8517
  phoneNumber: string;
8125
- alternativePhoneNumber: string | null;
8126
- website: string | null;
8518
+ alternativePhoneNumber?: string | null | undefined;
8519
+ website?: string | null | undefined;
8127
8520
  }, {
8128
8521
  email: string;
8129
8522
  phoneNumber: string;
8130
- alternativePhoneNumber: string | null;
8131
- website: string | null;
8523
+ alternativePhoneNumber?: string | null | undefined;
8524
+ website?: string | null | undefined;
8132
8525
  }>;
8133
8526
  workingHours: z.ZodObject<{
8134
- monday: z.ZodObject<{
8527
+ monday: z.ZodNullable<z.ZodObject<{
8135
8528
  open: z.ZodString;
8136
8529
  close: z.ZodString;
8530
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
8531
+ start: z.ZodString;
8532
+ end: z.ZodString;
8533
+ }, "strip", z.ZodTypeAny, {
8534
+ start: string;
8535
+ end: string;
8536
+ }, {
8537
+ start: string;
8538
+ end: string;
8539
+ }>, "many">>;
8137
8540
  }, "strip", z.ZodTypeAny, {
8138
8541
  open: string;
8139
8542
  close: string;
8543
+ breaks?: {
8544
+ start: string;
8545
+ end: string;
8546
+ }[] | undefined;
8140
8547
  }, {
8141
8548
  open: string;
8142
8549
  close: string;
8143
- }>;
8144
- tuesday: z.ZodObject<{
8550
+ breaks?: {
8551
+ start: string;
8552
+ end: string;
8553
+ }[] | undefined;
8554
+ }>>;
8555
+ tuesday: z.ZodNullable<z.ZodObject<{
8145
8556
  open: z.ZodString;
8146
8557
  close: z.ZodString;
8558
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
8559
+ start: z.ZodString;
8560
+ end: z.ZodString;
8561
+ }, "strip", z.ZodTypeAny, {
8562
+ start: string;
8563
+ end: string;
8564
+ }, {
8565
+ start: string;
8566
+ end: string;
8567
+ }>, "many">>;
8147
8568
  }, "strip", z.ZodTypeAny, {
8148
8569
  open: string;
8149
8570
  close: string;
8571
+ breaks?: {
8572
+ start: string;
8573
+ end: string;
8574
+ }[] | undefined;
8150
8575
  }, {
8151
8576
  open: string;
8152
8577
  close: string;
8153
- }>;
8154
- wednesday: z.ZodObject<{
8578
+ breaks?: {
8579
+ start: string;
8580
+ end: string;
8581
+ }[] | undefined;
8582
+ }>>;
8583
+ wednesday: z.ZodNullable<z.ZodObject<{
8155
8584
  open: z.ZodString;
8156
8585
  close: z.ZodString;
8586
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
8587
+ start: z.ZodString;
8588
+ end: z.ZodString;
8589
+ }, "strip", z.ZodTypeAny, {
8590
+ start: string;
8591
+ end: string;
8592
+ }, {
8593
+ start: string;
8594
+ end: string;
8595
+ }>, "many">>;
8157
8596
  }, "strip", z.ZodTypeAny, {
8158
8597
  open: string;
8159
8598
  close: string;
8599
+ breaks?: {
8600
+ start: string;
8601
+ end: string;
8602
+ }[] | undefined;
8160
8603
  }, {
8161
8604
  open: string;
8162
8605
  close: string;
8163
- }>;
8164
- thursday: z.ZodObject<{
8606
+ breaks?: {
8607
+ start: string;
8608
+ end: string;
8609
+ }[] | undefined;
8610
+ }>>;
8611
+ thursday: z.ZodNullable<z.ZodObject<{
8165
8612
  open: z.ZodString;
8166
8613
  close: z.ZodString;
8614
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
8615
+ start: z.ZodString;
8616
+ end: z.ZodString;
8617
+ }, "strip", z.ZodTypeAny, {
8618
+ start: string;
8619
+ end: string;
8620
+ }, {
8621
+ start: string;
8622
+ end: string;
8623
+ }>, "many">>;
8167
8624
  }, "strip", z.ZodTypeAny, {
8168
8625
  open: string;
8169
8626
  close: string;
8627
+ breaks?: {
8628
+ start: string;
8629
+ end: string;
8630
+ }[] | undefined;
8170
8631
  }, {
8171
8632
  open: string;
8172
8633
  close: string;
8173
- }>;
8174
- friday: z.ZodObject<{
8634
+ breaks?: {
8635
+ start: string;
8636
+ end: string;
8637
+ }[] | undefined;
8638
+ }>>;
8639
+ friday: z.ZodNullable<z.ZodObject<{
8175
8640
  open: z.ZodString;
8176
8641
  close: z.ZodString;
8642
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
8643
+ start: z.ZodString;
8644
+ end: z.ZodString;
8645
+ }, "strip", z.ZodTypeAny, {
8646
+ start: string;
8647
+ end: string;
8648
+ }, {
8649
+ start: string;
8650
+ end: string;
8651
+ }>, "many">>;
8177
8652
  }, "strip", z.ZodTypeAny, {
8178
8653
  open: string;
8179
8654
  close: string;
8655
+ breaks?: {
8656
+ start: string;
8657
+ end: string;
8658
+ }[] | undefined;
8180
8659
  }, {
8181
8660
  open: string;
8182
8661
  close: string;
8183
- }>;
8184
- saturday: z.ZodObject<{
8662
+ breaks?: {
8663
+ start: string;
8664
+ end: string;
8665
+ }[] | undefined;
8666
+ }>>;
8667
+ saturday: z.ZodNullable<z.ZodObject<{
8185
8668
  open: z.ZodString;
8186
8669
  close: z.ZodString;
8670
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
8671
+ start: z.ZodString;
8672
+ end: z.ZodString;
8673
+ }, "strip", z.ZodTypeAny, {
8674
+ start: string;
8675
+ end: string;
8676
+ }, {
8677
+ start: string;
8678
+ end: string;
8679
+ }>, "many">>;
8187
8680
  }, "strip", z.ZodTypeAny, {
8188
8681
  open: string;
8189
8682
  close: string;
8683
+ breaks?: {
8684
+ start: string;
8685
+ end: string;
8686
+ }[] | undefined;
8190
8687
  }, {
8191
8688
  open: string;
8192
8689
  close: string;
8193
- }>;
8194
- sunday: z.ZodObject<{
8690
+ breaks?: {
8691
+ start: string;
8692
+ end: string;
8693
+ }[] | undefined;
8694
+ }>>;
8695
+ sunday: z.ZodNullable<z.ZodObject<{
8195
8696
  open: z.ZodString;
8196
8697
  close: z.ZodString;
8698
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
8699
+ start: z.ZodString;
8700
+ end: z.ZodString;
8701
+ }, "strip", z.ZodTypeAny, {
8702
+ start: string;
8703
+ end: string;
8704
+ }, {
8705
+ start: string;
8706
+ end: string;
8707
+ }>, "many">>;
8197
8708
  }, "strip", z.ZodTypeAny, {
8198
8709
  open: string;
8199
8710
  close: string;
8711
+ breaks?: {
8712
+ start: string;
8713
+ end: string;
8714
+ }[] | undefined;
8200
8715
  }, {
8201
8716
  open: string;
8202
8717
  close: string;
8203
- }>;
8718
+ breaks?: {
8719
+ start: string;
8720
+ end: string;
8721
+ }[] | undefined;
8722
+ }>>;
8204
8723
  }, "strip", z.ZodTypeAny, {
8205
8724
  monday: {
8206
8725
  open: string;
8207
8726
  close: string;
8208
- };
8727
+ breaks?: {
8728
+ start: string;
8729
+ end: string;
8730
+ }[] | undefined;
8731
+ } | null;
8209
8732
  tuesday: {
8210
8733
  open: string;
8211
8734
  close: string;
8212
- };
8735
+ breaks?: {
8736
+ start: string;
8737
+ end: string;
8738
+ }[] | undefined;
8739
+ } | null;
8213
8740
  wednesday: {
8214
8741
  open: string;
8215
8742
  close: string;
8216
- };
8743
+ breaks?: {
8744
+ start: string;
8745
+ end: string;
8746
+ }[] | undefined;
8747
+ } | null;
8217
8748
  thursday: {
8218
8749
  open: string;
8219
8750
  close: string;
8220
- };
8751
+ breaks?: {
8752
+ start: string;
8753
+ end: string;
8754
+ }[] | undefined;
8755
+ } | null;
8221
8756
  friday: {
8222
8757
  open: string;
8223
8758
  close: string;
8224
- };
8759
+ breaks?: {
8760
+ start: string;
8761
+ end: string;
8762
+ }[] | undefined;
8763
+ } | null;
8225
8764
  saturday: {
8226
8765
  open: string;
8227
8766
  close: string;
8228
- };
8767
+ breaks?: {
8768
+ start: string;
8769
+ end: string;
8770
+ }[] | undefined;
8771
+ } | null;
8229
8772
  sunday: {
8230
8773
  open: string;
8231
8774
  close: string;
8232
- };
8775
+ breaks?: {
8776
+ start: string;
8777
+ end: string;
8778
+ }[] | undefined;
8779
+ } | null;
8233
8780
  }, {
8234
8781
  monday: {
8235
8782
  open: string;
8236
8783
  close: string;
8237
- };
8784
+ breaks?: {
8785
+ start: string;
8786
+ end: string;
8787
+ }[] | undefined;
8788
+ } | null;
8238
8789
  tuesday: {
8239
8790
  open: string;
8240
8791
  close: string;
8241
- };
8792
+ breaks?: {
8793
+ start: string;
8794
+ end: string;
8795
+ }[] | undefined;
8796
+ } | null;
8242
8797
  wednesday: {
8243
8798
  open: string;
8244
8799
  close: string;
8245
- };
8800
+ breaks?: {
8801
+ start: string;
8802
+ end: string;
8803
+ }[] | undefined;
8804
+ } | null;
8246
8805
  thursday: {
8247
8806
  open: string;
8248
8807
  close: string;
8249
- };
8808
+ breaks?: {
8809
+ start: string;
8810
+ end: string;
8811
+ }[] | undefined;
8812
+ } | null;
8250
8813
  friday: {
8251
8814
  open: string;
8252
8815
  close: string;
8253
- };
8816
+ breaks?: {
8817
+ start: string;
8818
+ end: string;
8819
+ }[] | undefined;
8820
+ } | null;
8254
8821
  saturday: {
8255
8822
  open: string;
8256
8823
  close: string;
8257
- };
8824
+ breaks?: {
8825
+ start: string;
8826
+ end: string;
8827
+ }[] | undefined;
8828
+ } | null;
8258
8829
  sunday: {
8259
8830
  open: string;
8260
8831
  close: string;
8261
- };
8832
+ breaks?: {
8833
+ start: string;
8834
+ end: string;
8835
+ }[] | undefined;
8836
+ } | null;
8262
8837
  }>;
8263
8838
  tags: z.ZodArray<z.ZodNativeEnum<typeof ClinicTag>, "many">;
8264
8839
  featuredPhotos: z.ZodArray<z.ZodString, "many">;
8265
8840
  photos: z.ZodArray<z.ZodString, "many">;
8841
+ photosWithTags: z.ZodOptional<z.ZodArray<z.ZodObject<{
8842
+ url: z.ZodString;
8843
+ tag: z.ZodString;
8844
+ }, "strip", z.ZodTypeAny, {
8845
+ url: string;
8846
+ tag: string;
8847
+ }, {
8848
+ url: string;
8849
+ tag: string;
8850
+ }>, "many">>;
8266
8851
  doctors: z.ZodArray<z.ZodString, "many">;
8267
8852
  doctorsInfo: z.ZodArray<z.ZodObject<{
8268
8853
  id: z.ZodString;
8269
8854
  name: z.ZodString;
8270
- description: z.ZodNullable<z.ZodString>;
8855
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8271
8856
  photo: z.ZodString;
8272
8857
  rating: z.ZodNumber;
8273
8858
  services: z.ZodArray<z.ZodString, "many">;
8274
8859
  }, "strip", z.ZodTypeAny, {
8275
8860
  id: string;
8276
- description: string | null;
8277
8861
  name: string;
8278
8862
  services: string[];
8279
8863
  photo: string;
8280
8864
  rating: number;
8865
+ description?: string | null | undefined;
8281
8866
  }, {
8282
8867
  id: string;
8283
- description: string | null;
8284
8868
  name: string;
8285
8869
  services: string[];
8286
8870
  photo: string;
8287
8871
  rating: number;
8872
+ description?: string | null | undefined;
8288
8873
  }>, "many">;
8289
8874
  services: z.ZodArray<z.ZodString, "many">;
8290
8875
  servicesInfo: z.ZodArray<z.ZodObject<{
8291
8876
  id: z.ZodString;
8292
8877
  name: z.ZodString;
8293
- description: z.ZodNullable<z.ZodString>;
8878
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8294
8879
  photo: z.ZodString;
8295
8880
  procedureFamily: z.ZodNativeEnum<typeof ProcedureFamily>;
8296
8881
  category: z.ZodString;
@@ -8306,7 +8891,6 @@ declare const clinicSchema: z.ZodObject<{
8306
8891
  }, "strip", z.ZodTypeAny, {
8307
8892
  id: string;
8308
8893
  duration: number;
8309
- description: string | null;
8310
8894
  name: string;
8311
8895
  doctors: string[];
8312
8896
  photo: string;
@@ -8319,10 +8903,10 @@ declare const clinicSchema: z.ZodObject<{
8319
8903
  pricingMeasure: PricingMeasure;
8320
8904
  currency: Currency;
8321
8905
  treatmentBenefits: TreatmentBenefit[];
8906
+ description?: string | null | undefined;
8322
8907
  }, {
8323
8908
  id: string;
8324
8909
  duration: number;
8325
- description: string | null;
8326
8910
  name: string;
8327
8911
  doctors: string[];
8328
8912
  photo: string;
@@ -8335,6 +8919,7 @@ declare const clinicSchema: z.ZodObject<{
8335
8919
  pricingMeasure: PricingMeasure;
8336
8920
  currency: Currency;
8337
8921
  treatmentBenefits: TreatmentBenefit[];
8922
+ description?: string | null | undefined;
8338
8923
  }>, "many">;
8339
8924
  reviews: z.ZodArray<z.ZodString, "many">;
8340
8925
  reviewsInfo: z.ZodArray<z.ZodObject<{
@@ -8344,13 +8929,13 @@ declare const clinicSchema: z.ZodObject<{
8344
8929
  patientId: z.ZodString;
8345
8930
  patientName: z.ZodString;
8346
8931
  patientPhoto: z.ZodString;
8347
- createdAt: z.ZodDate;
8348
- updatedAt: z.ZodDate;
8932
+ createdAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
8933
+ updatedAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
8349
8934
  }, "strip", z.ZodTypeAny, {
8350
8935
  id: string;
8351
8936
  text: string;
8352
- createdAt: Date;
8353
- updatedAt: Date;
8937
+ createdAt: Timestamp | Date;
8938
+ updatedAt: Timestamp | Date;
8354
8939
  patientId: string;
8355
8940
  rating: number;
8356
8941
  patientName: string;
@@ -8358,8 +8943,8 @@ declare const clinicSchema: z.ZodObject<{
8358
8943
  }, {
8359
8944
  id: string;
8360
8945
  text: string;
8361
- createdAt: Date;
8362
- updatedAt: Date;
8946
+ createdAt: Timestamp | Date;
8947
+ updatedAt: Timestamp | Date;
8363
8948
  patientId: string;
8364
8949
  rating: number;
8365
8950
  patientName: string;
@@ -8376,17 +8961,17 @@ declare const clinicSchema: z.ZodObject<{
8376
8961
  count: number;
8377
8962
  }>>;
8378
8963
  admins: z.ZodArray<z.ZodString, "many">;
8379
- createdAt: z.ZodDate;
8380
- updatedAt: z.ZodDate;
8964
+ createdAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
8965
+ updatedAt: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
8381
8966
  isActive: z.ZodBoolean;
8382
8967
  isVerified: z.ZodBoolean;
8968
+ logo: z.ZodOptional<z.ZodString>;
8383
8969
  }, "strip", z.ZodTypeAny, {
8384
8970
  id: string;
8385
- description: string | null;
8386
8971
  tags: ClinicTag[];
8387
8972
  isActive: boolean;
8388
- createdAt: Date;
8389
- updatedAt: Date;
8973
+ createdAt: Timestamp | Date;
8974
+ updatedAt: Timestamp | Date;
8390
8975
  name: string;
8391
8976
  isVerified: boolean;
8392
8977
  doctors: string[];
@@ -8394,68 +8979,95 @@ declare const clinicSchema: z.ZodObject<{
8394
8979
  contactInfo: {
8395
8980
  email: string;
8396
8981
  phoneNumber: string;
8397
- alternativePhoneNumber: string | null;
8398
- website: string | null;
8982
+ alternativePhoneNumber?: string | null | undefined;
8983
+ website?: string | null | undefined;
8399
8984
  };
8400
8985
  location: {
8401
8986
  latitude: number;
8402
8987
  longitude: number;
8403
- geohash: string | null;
8404
8988
  address: string;
8405
8989
  city: string;
8406
8990
  country: string;
8407
8991
  postalCode: string;
8992
+ geohash?: string | null | undefined;
8408
8993
  };
8409
8994
  workingHours: {
8410
8995
  monday: {
8411
8996
  open: string;
8412
8997
  close: string;
8413
- };
8998
+ breaks?: {
8999
+ start: string;
9000
+ end: string;
9001
+ }[] | undefined;
9002
+ } | null;
8414
9003
  tuesday: {
8415
9004
  open: string;
8416
9005
  close: string;
8417
- };
9006
+ breaks?: {
9007
+ start: string;
9008
+ end: string;
9009
+ }[] | undefined;
9010
+ } | null;
8418
9011
  wednesday: {
8419
9012
  open: string;
8420
9013
  close: string;
8421
- };
9014
+ breaks?: {
9015
+ start: string;
9016
+ end: string;
9017
+ }[] | undefined;
9018
+ } | null;
8422
9019
  thursday: {
8423
9020
  open: string;
8424
9021
  close: string;
8425
- };
9022
+ breaks?: {
9023
+ start: string;
9024
+ end: string;
9025
+ }[] | undefined;
9026
+ } | null;
8426
9027
  friday: {
8427
9028
  open: string;
8428
9029
  close: string;
8429
- };
9030
+ breaks?: {
9031
+ start: string;
9032
+ end: string;
9033
+ }[] | undefined;
9034
+ } | null;
8430
9035
  saturday: {
8431
9036
  open: string;
8432
9037
  close: string;
8433
- };
9038
+ breaks?: {
9039
+ start: string;
9040
+ end: string;
9041
+ }[] | undefined;
9042
+ } | null;
8434
9043
  sunday: {
8435
9044
  open: string;
8436
9045
  close: string;
8437
- };
9046
+ breaks?: {
9047
+ start: string;
9048
+ end: string;
9049
+ }[] | undefined;
9050
+ } | null;
8438
9051
  };
8439
9052
  photos: string[];
8440
9053
  services: string[];
8441
9054
  admins: string[];
9055
+ featuredPhotos: string[];
8442
9056
  rating: {
8443
9057
  average: number;
8444
9058
  count: number;
8445
9059
  } | null;
8446
- featuredPhotos: string[];
8447
9060
  doctorsInfo: {
8448
9061
  id: string;
8449
- description: string | null;
8450
9062
  name: string;
8451
9063
  services: string[];
8452
9064
  photo: string;
8453
9065
  rating: number;
9066
+ description?: string | null | undefined;
8454
9067
  }[];
8455
9068
  servicesInfo: {
8456
9069
  id: string;
8457
9070
  duration: number;
8458
- description: string | null;
8459
9071
  name: string;
8460
9072
  doctors: string[];
8461
9073
  photo: string;
@@ -8468,25 +9080,31 @@ declare const clinicSchema: z.ZodObject<{
8468
9080
  pricingMeasure: PricingMeasure;
8469
9081
  currency: Currency;
8470
9082
  treatmentBenefits: TreatmentBenefit[];
9083
+ description?: string | null | undefined;
8471
9084
  }[];
8472
9085
  reviews: string[];
8473
9086
  reviewsInfo: {
8474
9087
  id: string;
8475
9088
  text: string;
8476
- createdAt: Date;
8477
- updatedAt: Date;
9089
+ createdAt: Timestamp | Date;
9090
+ updatedAt: Timestamp | Date;
8478
9091
  patientId: string;
8479
9092
  rating: number;
8480
9093
  patientName: string;
8481
9094
  patientPhoto: string;
8482
9095
  }[];
9096
+ description?: string | null | undefined;
9097
+ logo?: string | undefined;
9098
+ photosWithTags?: {
9099
+ url: string;
9100
+ tag: string;
9101
+ }[] | undefined;
8483
9102
  }, {
8484
9103
  id: string;
8485
- description: string | null;
8486
9104
  tags: ClinicTag[];
8487
9105
  isActive: boolean;
8488
- createdAt: Date;
8489
- updatedAt: Date;
9106
+ createdAt: Timestamp | Date;
9107
+ updatedAt: Timestamp | Date;
8490
9108
  name: string;
8491
9109
  isVerified: boolean;
8492
9110
  doctors: string[];
@@ -8494,68 +9112,95 @@ declare const clinicSchema: z.ZodObject<{
8494
9112
  contactInfo: {
8495
9113
  email: string;
8496
9114
  phoneNumber: string;
8497
- alternativePhoneNumber: string | null;
8498
- website: string | null;
9115
+ alternativePhoneNumber?: string | null | undefined;
9116
+ website?: string | null | undefined;
8499
9117
  };
8500
9118
  location: {
8501
9119
  latitude: number;
8502
9120
  longitude: number;
8503
- geohash: string | null;
8504
9121
  address: string;
8505
9122
  city: string;
8506
9123
  country: string;
8507
9124
  postalCode: string;
9125
+ geohash?: string | null | undefined;
8508
9126
  };
8509
9127
  workingHours: {
8510
9128
  monday: {
8511
9129
  open: string;
8512
9130
  close: string;
8513
- };
9131
+ breaks?: {
9132
+ start: string;
9133
+ end: string;
9134
+ }[] | undefined;
9135
+ } | null;
8514
9136
  tuesday: {
8515
9137
  open: string;
8516
9138
  close: string;
8517
- };
9139
+ breaks?: {
9140
+ start: string;
9141
+ end: string;
9142
+ }[] | undefined;
9143
+ } | null;
8518
9144
  wednesday: {
8519
9145
  open: string;
8520
9146
  close: string;
8521
- };
9147
+ breaks?: {
9148
+ start: string;
9149
+ end: string;
9150
+ }[] | undefined;
9151
+ } | null;
8522
9152
  thursday: {
8523
9153
  open: string;
8524
9154
  close: string;
8525
- };
9155
+ breaks?: {
9156
+ start: string;
9157
+ end: string;
9158
+ }[] | undefined;
9159
+ } | null;
8526
9160
  friday: {
8527
9161
  open: string;
8528
9162
  close: string;
8529
- };
9163
+ breaks?: {
9164
+ start: string;
9165
+ end: string;
9166
+ }[] | undefined;
9167
+ } | null;
8530
9168
  saturday: {
8531
9169
  open: string;
8532
9170
  close: string;
8533
- };
9171
+ breaks?: {
9172
+ start: string;
9173
+ end: string;
9174
+ }[] | undefined;
9175
+ } | null;
8534
9176
  sunday: {
8535
9177
  open: string;
8536
9178
  close: string;
8537
- };
9179
+ breaks?: {
9180
+ start: string;
9181
+ end: string;
9182
+ }[] | undefined;
9183
+ } | null;
8538
9184
  };
8539
9185
  photos: string[];
8540
9186
  services: string[];
8541
9187
  admins: string[];
9188
+ featuredPhotos: string[];
8542
9189
  rating: {
8543
9190
  average: number;
8544
9191
  count: number;
8545
9192
  } | null;
8546
- featuredPhotos: string[];
8547
9193
  doctorsInfo: {
8548
9194
  id: string;
8549
- description: string | null;
8550
9195
  name: string;
8551
9196
  services: string[];
8552
9197
  photo: string;
8553
9198
  rating: number;
9199
+ description?: string | null | undefined;
8554
9200
  }[];
8555
9201
  servicesInfo: {
8556
9202
  id: string;
8557
9203
  duration: number;
8558
- description: string | null;
8559
9204
  name: string;
8560
9205
  doctors: string[];
8561
9206
  photo: string;
@@ -8568,18 +9213,25 @@ declare const clinicSchema: z.ZodObject<{
8568
9213
  pricingMeasure: PricingMeasure;
8569
9214
  currency: Currency;
8570
9215
  treatmentBenefits: TreatmentBenefit[];
9216
+ description?: string | null | undefined;
8571
9217
  }[];
8572
9218
  reviews: string[];
8573
9219
  reviewsInfo: {
8574
9220
  id: string;
8575
9221
  text: string;
8576
- createdAt: Date;
8577
- updatedAt: Date;
9222
+ createdAt: Timestamp | Date;
9223
+ updatedAt: Timestamp | Date;
8578
9224
  patientId: string;
8579
9225
  rating: number;
8580
9226
  patientName: string;
8581
9227
  patientPhoto: string;
8582
9228
  }[];
9229
+ description?: string | null | undefined;
9230
+ logo?: string | undefined;
9231
+ photosWithTags?: {
9232
+ url: string;
9233
+ tag: string;
9234
+ }[] | undefined;
8583
9235
  }>;
8584
9236
  /**
8585
9237
  * Validaciona šema za kreiranje administratora klinike
@@ -8644,7 +9296,7 @@ declare const createClinicAdminSchema: z.ZodObject<{
8644
9296
  */
8645
9297
  declare const createClinicGroupSchema: z.ZodObject<{
8646
9298
  name: z.ZodString;
8647
- description: z.ZodNullable<z.ZodString>;
9299
+ description: z.ZodOptional<z.ZodString>;
8648
9300
  hqLocation: z.ZodObject<{
8649
9301
  address: z.ZodString;
8650
9302
  city: z.ZodString;
@@ -8652,39 +9304,39 @@ declare const createClinicGroupSchema: z.ZodObject<{
8652
9304
  postalCode: z.ZodString;
8653
9305
  latitude: z.ZodNumber;
8654
9306
  longitude: z.ZodNumber;
8655
- geohash: z.ZodNullable<z.ZodString>;
9307
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8656
9308
  }, "strip", z.ZodTypeAny, {
8657
9309
  latitude: number;
8658
9310
  longitude: number;
8659
- geohash: string | null;
8660
9311
  address: string;
8661
9312
  city: string;
8662
9313
  country: string;
8663
9314
  postalCode: string;
9315
+ geohash?: string | null | undefined;
8664
9316
  }, {
8665
9317
  latitude: number;
8666
9318
  longitude: number;
8667
- geohash: string | null;
8668
9319
  address: string;
8669
9320
  city: string;
8670
9321
  country: string;
8671
9322
  postalCode: string;
9323
+ geohash?: string | null | undefined;
8672
9324
  }>;
8673
9325
  contactInfo: z.ZodObject<{
8674
9326
  email: z.ZodString;
8675
9327
  phoneNumber: z.ZodString;
8676
- alternativePhoneNumber: z.ZodNullable<z.ZodString>;
8677
- website: z.ZodNullable<z.ZodString>;
9328
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9329
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8678
9330
  }, "strip", z.ZodTypeAny, {
8679
9331
  email: string;
8680
9332
  phoneNumber: string;
8681
- alternativePhoneNumber: string | null;
8682
- website: string | null;
9333
+ alternativePhoneNumber?: string | null | undefined;
9334
+ website?: string | null | undefined;
8683
9335
  }, {
8684
9336
  email: string;
8685
9337
  phoneNumber: string;
8686
- alternativePhoneNumber: string | null;
8687
- website: string | null;
9338
+ alternativePhoneNumber?: string | null | undefined;
9339
+ website?: string | null | undefined;
8688
9340
  }>;
8689
9341
  contactPerson: z.ZodObject<{
8690
9342
  firstName: z.ZodString;
@@ -8707,24 +9359,29 @@ declare const createClinicGroupSchema: z.ZodObject<{
8707
9359
  }>;
8708
9360
  ownerId: z.ZodString;
8709
9361
  isActive: z.ZodBoolean;
9362
+ logo: z.ZodOptional<z.ZodString>;
9363
+ practiceType: z.ZodOptional<z.ZodNativeEnum<typeof PracticeType>>;
9364
+ languages: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof Language>, "many">>;
9365
+ subscriptionModel: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof SubscriptionModel>>>;
9366
+ calendarSyncEnabled: z.ZodOptional<z.ZodBoolean>;
9367
+ autoConfirmAppointments: z.ZodOptional<z.ZodBoolean>;
8710
9368
  }, "strip", z.ZodTypeAny, {
8711
- description: string | null;
8712
9369
  isActive: boolean;
8713
9370
  name: string;
8714
9371
  contactInfo: {
8715
9372
  email: string;
8716
9373
  phoneNumber: string;
8717
- alternativePhoneNumber: string | null;
8718
- website: string | null;
9374
+ alternativePhoneNumber?: string | null | undefined;
9375
+ website?: string | null | undefined;
8719
9376
  };
8720
9377
  hqLocation: {
8721
9378
  latitude: number;
8722
9379
  longitude: number;
8723
- geohash: string | null;
8724
9380
  address: string;
8725
9381
  city: string;
8726
9382
  country: string;
8727
9383
  postalCode: string;
9384
+ geohash?: string | null | undefined;
8728
9385
  };
8729
9386
  contactPerson: {
8730
9387
  email: string;
@@ -8734,24 +9391,30 @@ declare const createClinicGroupSchema: z.ZodObject<{
8734
9391
  phoneNumber: string;
8735
9392
  };
8736
9393
  ownerId: string;
9394
+ subscriptionModel: SubscriptionModel;
9395
+ description?: string | undefined;
9396
+ logo?: string | undefined;
9397
+ practiceType?: PracticeType | undefined;
9398
+ languages?: Language[] | undefined;
9399
+ calendarSyncEnabled?: boolean | undefined;
9400
+ autoConfirmAppointments?: boolean | undefined;
8737
9401
  }, {
8738
- description: string | null;
8739
9402
  isActive: boolean;
8740
9403
  name: string;
8741
9404
  contactInfo: {
8742
9405
  email: string;
8743
9406
  phoneNumber: string;
8744
- alternativePhoneNumber: string | null;
8745
- website: string | null;
9407
+ alternativePhoneNumber?: string | null | undefined;
9408
+ website?: string | null | undefined;
8746
9409
  };
8747
9410
  hqLocation: {
8748
9411
  latitude: number;
8749
9412
  longitude: number;
8750
- geohash: string | null;
8751
9413
  address: string;
8752
9414
  city: string;
8753
9415
  country: string;
8754
9416
  postalCode: string;
9417
+ geohash?: string | null | undefined;
8755
9418
  };
8756
9419
  contactPerson: {
8757
9420
  email: string;
@@ -8761,6 +9424,13 @@ declare const createClinicGroupSchema: z.ZodObject<{
8761
9424
  phoneNumber: string;
8762
9425
  };
8763
9426
  ownerId: string;
9427
+ description?: string | undefined;
9428
+ logo?: string | undefined;
9429
+ practiceType?: PracticeType | undefined;
9430
+ languages?: Language[] | undefined;
9431
+ subscriptionModel?: SubscriptionModel | undefined;
9432
+ calendarSyncEnabled?: boolean | undefined;
9433
+ autoConfirmAppointments?: boolean | undefined;
8764
9434
  }>;
8765
9435
  /**
8766
9436
  * Validaciona šema za kreiranje klinike
@@ -8768,7 +9438,7 @@ declare const createClinicGroupSchema: z.ZodObject<{
8768
9438
  declare const createClinicSchema: z.ZodObject<{
8769
9439
  clinicGroupId: z.ZodString;
8770
9440
  name: z.ZodString;
8771
- description: z.ZodNullable<z.ZodString>;
9441
+ description: z.ZodOptional<z.ZodString>;
8772
9442
  location: z.ZodObject<{
8773
9443
  address: z.ZodString;
8774
9444
  city: z.ZodString;
@@ -8776,179 +9446,372 @@ declare const createClinicSchema: z.ZodObject<{
8776
9446
  postalCode: z.ZodString;
8777
9447
  latitude: z.ZodNumber;
8778
9448
  longitude: z.ZodNumber;
8779
- geohash: z.ZodNullable<z.ZodString>;
9449
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8780
9450
  }, "strip", z.ZodTypeAny, {
8781
9451
  latitude: number;
8782
9452
  longitude: number;
8783
- geohash: string | null;
8784
9453
  address: string;
8785
9454
  city: string;
8786
9455
  country: string;
8787
9456
  postalCode: string;
9457
+ geohash?: string | null | undefined;
8788
9458
  }, {
8789
9459
  latitude: number;
8790
9460
  longitude: number;
8791
- geohash: string | null;
8792
9461
  address: string;
8793
9462
  city: string;
8794
9463
  country: string;
8795
9464
  postalCode: string;
9465
+ geohash?: string | null | undefined;
8796
9466
  }>;
8797
9467
  contactInfo: z.ZodObject<{
8798
9468
  email: z.ZodString;
8799
9469
  phoneNumber: z.ZodString;
8800
- alternativePhoneNumber: z.ZodNullable<z.ZodString>;
8801
- website: z.ZodNullable<z.ZodString>;
9470
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9471
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8802
9472
  }, "strip", z.ZodTypeAny, {
8803
9473
  email: string;
8804
9474
  phoneNumber: string;
8805
- alternativePhoneNumber: string | null;
8806
- website: string | null;
9475
+ alternativePhoneNumber?: string | null | undefined;
9476
+ website?: string | null | undefined;
8807
9477
  }, {
8808
9478
  email: string;
8809
9479
  phoneNumber: string;
8810
- alternativePhoneNumber: string | null;
8811
- website: string | null;
9480
+ alternativePhoneNumber?: string | null | undefined;
9481
+ website?: string | null | undefined;
8812
9482
  }>;
8813
9483
  workingHours: z.ZodObject<{
8814
- monday: z.ZodObject<{
9484
+ monday: z.ZodNullable<z.ZodObject<{
8815
9485
  open: z.ZodString;
8816
9486
  close: z.ZodString;
9487
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
9488
+ start: z.ZodString;
9489
+ end: z.ZodString;
9490
+ }, "strip", z.ZodTypeAny, {
9491
+ start: string;
9492
+ end: string;
9493
+ }, {
9494
+ start: string;
9495
+ end: string;
9496
+ }>, "many">>;
8817
9497
  }, "strip", z.ZodTypeAny, {
8818
9498
  open: string;
8819
9499
  close: string;
9500
+ breaks?: {
9501
+ start: string;
9502
+ end: string;
9503
+ }[] | undefined;
8820
9504
  }, {
8821
9505
  open: string;
8822
9506
  close: string;
8823
- }>;
8824
- tuesday: z.ZodObject<{
9507
+ breaks?: {
9508
+ start: string;
9509
+ end: string;
9510
+ }[] | undefined;
9511
+ }>>;
9512
+ tuesday: z.ZodNullable<z.ZodObject<{
8825
9513
  open: z.ZodString;
8826
9514
  close: z.ZodString;
9515
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
9516
+ start: z.ZodString;
9517
+ end: z.ZodString;
9518
+ }, "strip", z.ZodTypeAny, {
9519
+ start: string;
9520
+ end: string;
9521
+ }, {
9522
+ start: string;
9523
+ end: string;
9524
+ }>, "many">>;
8827
9525
  }, "strip", z.ZodTypeAny, {
8828
9526
  open: string;
8829
9527
  close: string;
9528
+ breaks?: {
9529
+ start: string;
9530
+ end: string;
9531
+ }[] | undefined;
8830
9532
  }, {
8831
9533
  open: string;
8832
9534
  close: string;
8833
- }>;
8834
- wednesday: z.ZodObject<{
9535
+ breaks?: {
9536
+ start: string;
9537
+ end: string;
9538
+ }[] | undefined;
9539
+ }>>;
9540
+ wednesday: z.ZodNullable<z.ZodObject<{
8835
9541
  open: z.ZodString;
8836
9542
  close: z.ZodString;
9543
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
9544
+ start: z.ZodString;
9545
+ end: z.ZodString;
9546
+ }, "strip", z.ZodTypeAny, {
9547
+ start: string;
9548
+ end: string;
9549
+ }, {
9550
+ start: string;
9551
+ end: string;
9552
+ }>, "many">>;
8837
9553
  }, "strip", z.ZodTypeAny, {
8838
9554
  open: string;
8839
9555
  close: string;
9556
+ breaks?: {
9557
+ start: string;
9558
+ end: string;
9559
+ }[] | undefined;
8840
9560
  }, {
8841
9561
  open: string;
8842
9562
  close: string;
8843
- }>;
8844
- thursday: z.ZodObject<{
9563
+ breaks?: {
9564
+ start: string;
9565
+ end: string;
9566
+ }[] | undefined;
9567
+ }>>;
9568
+ thursday: z.ZodNullable<z.ZodObject<{
8845
9569
  open: z.ZodString;
8846
9570
  close: z.ZodString;
9571
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
9572
+ start: z.ZodString;
9573
+ end: z.ZodString;
9574
+ }, "strip", z.ZodTypeAny, {
9575
+ start: string;
9576
+ end: string;
9577
+ }, {
9578
+ start: string;
9579
+ end: string;
9580
+ }>, "many">>;
8847
9581
  }, "strip", z.ZodTypeAny, {
8848
9582
  open: string;
8849
9583
  close: string;
9584
+ breaks?: {
9585
+ start: string;
9586
+ end: string;
9587
+ }[] | undefined;
8850
9588
  }, {
8851
9589
  open: string;
8852
9590
  close: string;
8853
- }>;
8854
- friday: z.ZodObject<{
9591
+ breaks?: {
9592
+ start: string;
9593
+ end: string;
9594
+ }[] | undefined;
9595
+ }>>;
9596
+ friday: z.ZodNullable<z.ZodObject<{
8855
9597
  open: z.ZodString;
8856
9598
  close: z.ZodString;
9599
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
9600
+ start: z.ZodString;
9601
+ end: z.ZodString;
9602
+ }, "strip", z.ZodTypeAny, {
9603
+ start: string;
9604
+ end: string;
9605
+ }, {
9606
+ start: string;
9607
+ end: string;
9608
+ }>, "many">>;
8857
9609
  }, "strip", z.ZodTypeAny, {
8858
9610
  open: string;
8859
9611
  close: string;
9612
+ breaks?: {
9613
+ start: string;
9614
+ end: string;
9615
+ }[] | undefined;
8860
9616
  }, {
8861
9617
  open: string;
8862
9618
  close: string;
8863
- }>;
8864
- saturday: z.ZodObject<{
9619
+ breaks?: {
9620
+ start: string;
9621
+ end: string;
9622
+ }[] | undefined;
9623
+ }>>;
9624
+ saturday: z.ZodNullable<z.ZodObject<{
8865
9625
  open: z.ZodString;
8866
9626
  close: z.ZodString;
9627
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
9628
+ start: z.ZodString;
9629
+ end: z.ZodString;
9630
+ }, "strip", z.ZodTypeAny, {
9631
+ start: string;
9632
+ end: string;
9633
+ }, {
9634
+ start: string;
9635
+ end: string;
9636
+ }>, "many">>;
8867
9637
  }, "strip", z.ZodTypeAny, {
8868
9638
  open: string;
8869
9639
  close: string;
9640
+ breaks?: {
9641
+ start: string;
9642
+ end: string;
9643
+ }[] | undefined;
8870
9644
  }, {
8871
9645
  open: string;
8872
9646
  close: string;
8873
- }>;
8874
- sunday: z.ZodObject<{
9647
+ breaks?: {
9648
+ start: string;
9649
+ end: string;
9650
+ }[] | undefined;
9651
+ }>>;
9652
+ sunday: z.ZodNullable<z.ZodObject<{
8875
9653
  open: z.ZodString;
8876
9654
  close: z.ZodString;
9655
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
9656
+ start: z.ZodString;
9657
+ end: z.ZodString;
9658
+ }, "strip", z.ZodTypeAny, {
9659
+ start: string;
9660
+ end: string;
9661
+ }, {
9662
+ start: string;
9663
+ end: string;
9664
+ }>, "many">>;
8877
9665
  }, "strip", z.ZodTypeAny, {
8878
9666
  open: string;
8879
9667
  close: string;
9668
+ breaks?: {
9669
+ start: string;
9670
+ end: string;
9671
+ }[] | undefined;
8880
9672
  }, {
8881
9673
  open: string;
8882
9674
  close: string;
8883
- }>;
9675
+ breaks?: {
9676
+ start: string;
9677
+ end: string;
9678
+ }[] | undefined;
9679
+ }>>;
8884
9680
  }, "strip", z.ZodTypeAny, {
8885
9681
  monday: {
8886
9682
  open: string;
8887
9683
  close: string;
8888
- };
9684
+ breaks?: {
9685
+ start: string;
9686
+ end: string;
9687
+ }[] | undefined;
9688
+ } | null;
8889
9689
  tuesday: {
8890
9690
  open: string;
8891
9691
  close: string;
8892
- };
9692
+ breaks?: {
9693
+ start: string;
9694
+ end: string;
9695
+ }[] | undefined;
9696
+ } | null;
8893
9697
  wednesday: {
8894
9698
  open: string;
8895
9699
  close: string;
8896
- };
9700
+ breaks?: {
9701
+ start: string;
9702
+ end: string;
9703
+ }[] | undefined;
9704
+ } | null;
8897
9705
  thursday: {
8898
9706
  open: string;
8899
9707
  close: string;
8900
- };
9708
+ breaks?: {
9709
+ start: string;
9710
+ end: string;
9711
+ }[] | undefined;
9712
+ } | null;
8901
9713
  friday: {
8902
9714
  open: string;
8903
9715
  close: string;
8904
- };
9716
+ breaks?: {
9717
+ start: string;
9718
+ end: string;
9719
+ }[] | undefined;
9720
+ } | null;
8905
9721
  saturday: {
8906
9722
  open: string;
8907
9723
  close: string;
8908
- };
9724
+ breaks?: {
9725
+ start: string;
9726
+ end: string;
9727
+ }[] | undefined;
9728
+ } | null;
8909
9729
  sunday: {
8910
9730
  open: string;
8911
9731
  close: string;
8912
- };
9732
+ breaks?: {
9733
+ start: string;
9734
+ end: string;
9735
+ }[] | undefined;
9736
+ } | null;
8913
9737
  }, {
8914
9738
  monday: {
8915
9739
  open: string;
8916
9740
  close: string;
8917
- };
9741
+ breaks?: {
9742
+ start: string;
9743
+ end: string;
9744
+ }[] | undefined;
9745
+ } | null;
8918
9746
  tuesday: {
8919
9747
  open: string;
8920
9748
  close: string;
8921
- };
9749
+ breaks?: {
9750
+ start: string;
9751
+ end: string;
9752
+ }[] | undefined;
9753
+ } | null;
8922
9754
  wednesday: {
8923
9755
  open: string;
8924
9756
  close: string;
8925
- };
9757
+ breaks?: {
9758
+ start: string;
9759
+ end: string;
9760
+ }[] | undefined;
9761
+ } | null;
8926
9762
  thursday: {
8927
9763
  open: string;
8928
9764
  close: string;
8929
- };
9765
+ breaks?: {
9766
+ start: string;
9767
+ end: string;
9768
+ }[] | undefined;
9769
+ } | null;
8930
9770
  friday: {
8931
9771
  open: string;
8932
9772
  close: string;
8933
- };
9773
+ breaks?: {
9774
+ start: string;
9775
+ end: string;
9776
+ }[] | undefined;
9777
+ } | null;
8934
9778
  saturday: {
8935
9779
  open: string;
8936
9780
  close: string;
8937
- };
9781
+ breaks?: {
9782
+ start: string;
9783
+ end: string;
9784
+ }[] | undefined;
9785
+ } | null;
8938
9786
  sunday: {
8939
9787
  open: string;
8940
9788
  close: string;
8941
- };
9789
+ breaks?: {
9790
+ start: string;
9791
+ end: string;
9792
+ }[] | undefined;
9793
+ } | null;
8942
9794
  }>;
8943
9795
  tags: z.ZodArray<z.ZodNativeEnum<typeof ClinicTag>, "many">;
8944
9796
  photos: z.ZodArray<z.ZodString, "many">;
9797
+ photosWithTags: z.ZodOptional<z.ZodArray<z.ZodObject<{
9798
+ url: z.ZodString;
9799
+ tag: z.ZodString;
9800
+ }, "strip", z.ZodTypeAny, {
9801
+ url: string;
9802
+ tag: string;
9803
+ }, {
9804
+ url: string;
9805
+ tag: string;
9806
+ }>, "many">>;
8945
9807
  doctors: z.ZodArray<z.ZodString, "many">;
8946
9808
  services: z.ZodArray<z.ZodString, "many">;
8947
9809
  admins: z.ZodArray<z.ZodString, "many">;
8948
9810
  isActive: z.ZodBoolean;
8949
9811
  isVerified: z.ZodBoolean;
9812
+ logo: z.ZodOptional<z.ZodString>;
9813
+ featuredPhotos: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
8950
9814
  }, "strip", z.ZodTypeAny, {
8951
- description: string | null;
8952
9815
  tags: ClinicTag[];
8953
9816
  isActive: boolean;
8954
9817
  name: string;
@@ -8958,53 +9821,87 @@ declare const createClinicSchema: z.ZodObject<{
8958
9821
  contactInfo: {
8959
9822
  email: string;
8960
9823
  phoneNumber: string;
8961
- alternativePhoneNumber: string | null;
8962
- website: string | null;
9824
+ alternativePhoneNumber?: string | null | undefined;
9825
+ website?: string | null | undefined;
8963
9826
  };
8964
9827
  location: {
8965
9828
  latitude: number;
8966
9829
  longitude: number;
8967
- geohash: string | null;
8968
9830
  address: string;
8969
9831
  city: string;
8970
9832
  country: string;
8971
9833
  postalCode: string;
9834
+ geohash?: string | null | undefined;
8972
9835
  };
8973
9836
  workingHours: {
8974
9837
  monday: {
8975
9838
  open: string;
8976
9839
  close: string;
8977
- };
9840
+ breaks?: {
9841
+ start: string;
9842
+ end: string;
9843
+ }[] | undefined;
9844
+ } | null;
8978
9845
  tuesday: {
8979
9846
  open: string;
8980
9847
  close: string;
8981
- };
9848
+ breaks?: {
9849
+ start: string;
9850
+ end: string;
9851
+ }[] | undefined;
9852
+ } | null;
8982
9853
  wednesday: {
8983
9854
  open: string;
8984
9855
  close: string;
8985
- };
9856
+ breaks?: {
9857
+ start: string;
9858
+ end: string;
9859
+ }[] | undefined;
9860
+ } | null;
8986
9861
  thursday: {
8987
9862
  open: string;
8988
9863
  close: string;
8989
- };
9864
+ breaks?: {
9865
+ start: string;
9866
+ end: string;
9867
+ }[] | undefined;
9868
+ } | null;
8990
9869
  friday: {
8991
9870
  open: string;
8992
9871
  close: string;
8993
- };
9872
+ breaks?: {
9873
+ start: string;
9874
+ end: string;
9875
+ }[] | undefined;
9876
+ } | null;
8994
9877
  saturday: {
8995
9878
  open: string;
8996
9879
  close: string;
8997
- };
9880
+ breaks?: {
9881
+ start: string;
9882
+ end: string;
9883
+ }[] | undefined;
9884
+ } | null;
8998
9885
  sunday: {
8999
9886
  open: string;
9000
9887
  close: string;
9001
- };
9888
+ breaks?: {
9889
+ start: string;
9890
+ end: string;
9891
+ }[] | undefined;
9892
+ } | null;
9002
9893
  };
9003
9894
  photos: string[];
9004
9895
  services: string[];
9005
9896
  admins: string[];
9897
+ description?: string | undefined;
9898
+ logo?: string | undefined;
9899
+ photosWithTags?: {
9900
+ url: string;
9901
+ tag: string;
9902
+ }[] | undefined;
9903
+ featuredPhotos?: string[] | undefined;
9006
9904
  }, {
9007
- description: string | null;
9008
9905
  tags: ClinicTag[];
9009
9906
  isActive: boolean;
9010
9907
  name: string;
@@ -9014,51 +9911,86 @@ declare const createClinicSchema: z.ZodObject<{
9014
9911
  contactInfo: {
9015
9912
  email: string;
9016
9913
  phoneNumber: string;
9017
- alternativePhoneNumber: string | null;
9018
- website: string | null;
9914
+ alternativePhoneNumber?: string | null | undefined;
9915
+ website?: string | null | undefined;
9019
9916
  };
9020
9917
  location: {
9021
9918
  latitude: number;
9022
9919
  longitude: number;
9023
- geohash: string | null;
9024
9920
  address: string;
9025
9921
  city: string;
9026
9922
  country: string;
9027
9923
  postalCode: string;
9924
+ geohash?: string | null | undefined;
9028
9925
  };
9029
9926
  workingHours: {
9030
9927
  monday: {
9031
9928
  open: string;
9032
9929
  close: string;
9033
- };
9930
+ breaks?: {
9931
+ start: string;
9932
+ end: string;
9933
+ }[] | undefined;
9934
+ } | null;
9034
9935
  tuesday: {
9035
9936
  open: string;
9036
9937
  close: string;
9037
- };
9938
+ breaks?: {
9939
+ start: string;
9940
+ end: string;
9941
+ }[] | undefined;
9942
+ } | null;
9038
9943
  wednesday: {
9039
9944
  open: string;
9040
9945
  close: string;
9041
- };
9946
+ breaks?: {
9947
+ start: string;
9948
+ end: string;
9949
+ }[] | undefined;
9950
+ } | null;
9042
9951
  thursday: {
9043
9952
  open: string;
9044
9953
  close: string;
9045
- };
9954
+ breaks?: {
9955
+ start: string;
9956
+ end: string;
9957
+ }[] | undefined;
9958
+ } | null;
9046
9959
  friday: {
9047
9960
  open: string;
9048
9961
  close: string;
9049
- };
9962
+ breaks?: {
9963
+ start: string;
9964
+ end: string;
9965
+ }[] | undefined;
9966
+ } | null;
9050
9967
  saturday: {
9051
9968
  open: string;
9052
9969
  close: string;
9053
- };
9970
+ breaks?: {
9971
+ start: string;
9972
+ end: string;
9973
+ }[] | undefined;
9974
+ } | null;
9054
9975
  sunday: {
9055
9976
  open: string;
9056
9977
  close: string;
9057
- };
9978
+ breaks?: {
9979
+ start: string;
9980
+ end: string;
9981
+ }[] | undefined;
9982
+ } | null;
9058
9983
  };
9059
9984
  photos: string[];
9060
9985
  services: string[];
9061
9986
  admins: string[];
9987
+ description?: string | undefined;
9988
+ logo?: string | undefined;
9989
+ photosWithTags?: {
9990
+ url: string;
9991
+ tag: string;
9992
+ }[] | undefined;
9993
+ featuredPhotos?: string[] | undefined;
9062
9994
  }>;
9063
9995
  /**
9064
9996
  * Validaciona šema za default grupu
@@ -9088,12 +10020,18 @@ declare const createDefaultClinicGroupSchema: z.ZodObject<{
9088
10020
  contactInfo: z.ZodObject<{
9089
10021
  email: z.ZodString;
9090
10022
  phoneNumber: z.ZodString;
10023
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10024
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9091
10025
  }, "strip", z.ZodTypeAny, {
9092
10026
  email: string;
9093
10027
  phoneNumber: string;
10028
+ alternativePhoneNumber?: string | null | undefined;
10029
+ website?: string | null | undefined;
9094
10030
  }, {
9095
10031
  email: string;
9096
10032
  phoneNumber: string;
10033
+ alternativePhoneNumber?: string | null | undefined;
10034
+ website?: string | null | undefined;
9097
10035
  }>;
9098
10036
  hqLocation: z.ZodObject<{
9099
10037
  address: z.ZodString;
@@ -9102,40 +10040,46 @@ declare const createDefaultClinicGroupSchema: z.ZodObject<{
9102
10040
  postalCode: z.ZodString;
9103
10041
  latitude: z.ZodNumber;
9104
10042
  longitude: z.ZodNumber;
9105
- geohash: z.ZodNullable<z.ZodString>;
10043
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9106
10044
  }, "strip", z.ZodTypeAny, {
9107
10045
  latitude: number;
9108
10046
  longitude: number;
9109
- geohash: string | null;
9110
10047
  address: string;
9111
10048
  city: string;
9112
10049
  country: string;
9113
10050
  postalCode: string;
10051
+ geohash?: string | null | undefined;
9114
10052
  }, {
9115
10053
  latitude: number;
9116
10054
  longitude: number;
9117
- geohash: string | null;
9118
10055
  address: string;
9119
10056
  city: string;
9120
10057
  country: string;
9121
10058
  postalCode: string;
10059
+ geohash?: string | null | undefined;
9122
10060
  }>;
9123
10061
  isActive: z.ZodBoolean;
10062
+ logo: z.ZodOptional<z.ZodString>;
10063
+ practiceType: z.ZodOptional<z.ZodNativeEnum<typeof PracticeType>>;
10064
+ languages: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof Language>, "many">>;
10065
+ subscriptionModel: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof SubscriptionModel>>>;
9124
10066
  }, "strip", z.ZodTypeAny, {
9125
10067
  isActive: boolean;
9126
10068
  name: string;
9127
10069
  contactInfo: {
9128
10070
  email: string;
9129
10071
  phoneNumber: string;
10072
+ alternativePhoneNumber?: string | null | undefined;
10073
+ website?: string | null | undefined;
9130
10074
  };
9131
10075
  hqLocation: {
9132
10076
  latitude: number;
9133
10077
  longitude: number;
9134
- geohash: string | null;
9135
10078
  address: string;
9136
10079
  city: string;
9137
10080
  country: string;
9138
10081
  postalCode: string;
10082
+ geohash?: string | null | undefined;
9139
10083
  };
9140
10084
  contactPerson: {
9141
10085
  email: string;
@@ -9145,21 +10089,27 @@ declare const createDefaultClinicGroupSchema: z.ZodObject<{
9145
10089
  phoneNumber: string;
9146
10090
  };
9147
10091
  ownerId: string;
10092
+ subscriptionModel: SubscriptionModel;
10093
+ logo?: string | undefined;
10094
+ practiceType?: PracticeType | undefined;
10095
+ languages?: Language[] | undefined;
9148
10096
  }, {
9149
10097
  isActive: boolean;
9150
10098
  name: string;
9151
10099
  contactInfo: {
9152
10100
  email: string;
9153
10101
  phoneNumber: string;
10102
+ alternativePhoneNumber?: string | null | undefined;
10103
+ website?: string | null | undefined;
9154
10104
  };
9155
10105
  hqLocation: {
9156
10106
  latitude: number;
9157
10107
  longitude: number;
9158
- geohash: string | null;
9159
10108
  address: string;
9160
10109
  city: string;
9161
10110
  country: string;
9162
10111
  postalCode: string;
10112
+ geohash?: string | null | undefined;
9163
10113
  };
9164
10114
  contactPerson: {
9165
10115
  email: string;
@@ -9169,6 +10119,1491 @@ declare const createDefaultClinicGroupSchema: z.ZodObject<{
9169
10119
  phoneNumber: string;
9170
10120
  };
9171
10121
  ownerId: string;
10122
+ logo?: string | undefined;
10123
+ practiceType?: PracticeType | undefined;
10124
+ languages?: Language[] | undefined;
10125
+ subscriptionModel?: SubscriptionModel | undefined;
10126
+ }>;
10127
+ /**
10128
+ * Validaciona šema za kreiranje administratora klinike
10129
+ */
10130
+ declare const clinicAdminSignupSchema: z.ZodObject<{
10131
+ email: z.ZodString;
10132
+ password: z.ZodString;
10133
+ firstName: z.ZodString;
10134
+ lastName: z.ZodString;
10135
+ title: z.ZodString;
10136
+ phoneNumber: z.ZodString;
10137
+ isCreatingNewGroup: z.ZodBoolean;
10138
+ inviteToken: z.ZodOptional<z.ZodString>;
10139
+ clinicGroupData: z.ZodOptional<z.ZodObject<{
10140
+ name: z.ZodString;
10141
+ hqLocation: z.ZodObject<{
10142
+ address: z.ZodString;
10143
+ city: z.ZodString;
10144
+ country: z.ZodString;
10145
+ postalCode: z.ZodString;
10146
+ latitude: z.ZodNumber;
10147
+ longitude: z.ZodNumber;
10148
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10149
+ }, "strip", z.ZodTypeAny, {
10150
+ latitude: number;
10151
+ longitude: number;
10152
+ address: string;
10153
+ city: string;
10154
+ country: string;
10155
+ postalCode: string;
10156
+ geohash?: string | null | undefined;
10157
+ }, {
10158
+ latitude: number;
10159
+ longitude: number;
10160
+ address: string;
10161
+ city: string;
10162
+ country: string;
10163
+ postalCode: string;
10164
+ geohash?: string | null | undefined;
10165
+ }>;
10166
+ logo: z.ZodOptional<z.ZodString>;
10167
+ contactInfo: z.ZodObject<{
10168
+ email: z.ZodString;
10169
+ phoneNumber: z.ZodString;
10170
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10171
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10172
+ }, "strip", z.ZodTypeAny, {
10173
+ email: string;
10174
+ phoneNumber: string;
10175
+ alternativePhoneNumber?: string | null | undefined;
10176
+ website?: string | null | undefined;
10177
+ }, {
10178
+ email: string;
10179
+ phoneNumber: string;
10180
+ alternativePhoneNumber?: string | null | undefined;
10181
+ website?: string | null | undefined;
10182
+ }>;
10183
+ subscriptionModel: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof SubscriptionModel>>>;
10184
+ }, "strip", z.ZodTypeAny, {
10185
+ name: string;
10186
+ contactInfo: {
10187
+ email: string;
10188
+ phoneNumber: string;
10189
+ alternativePhoneNumber?: string | null | undefined;
10190
+ website?: string | null | undefined;
10191
+ };
10192
+ hqLocation: {
10193
+ latitude: number;
10194
+ longitude: number;
10195
+ address: string;
10196
+ city: string;
10197
+ country: string;
10198
+ postalCode: string;
10199
+ geohash?: string | null | undefined;
10200
+ };
10201
+ subscriptionModel: SubscriptionModel;
10202
+ logo?: string | undefined;
10203
+ }, {
10204
+ name: string;
10205
+ contactInfo: {
10206
+ email: string;
10207
+ phoneNumber: string;
10208
+ alternativePhoneNumber?: string | null | undefined;
10209
+ website?: string | null | undefined;
10210
+ };
10211
+ hqLocation: {
10212
+ latitude: number;
10213
+ longitude: number;
10214
+ address: string;
10215
+ city: string;
10216
+ country: string;
10217
+ postalCode: string;
10218
+ geohash?: string | null | undefined;
10219
+ };
10220
+ logo?: string | undefined;
10221
+ subscriptionModel?: SubscriptionModel | undefined;
10222
+ }>>;
10223
+ }, "strip", z.ZodTypeAny, {
10224
+ email: string;
10225
+ title: string;
10226
+ firstName: string;
10227
+ lastName: string;
10228
+ phoneNumber: string;
10229
+ password: string;
10230
+ isCreatingNewGroup: boolean;
10231
+ inviteToken?: string | undefined;
10232
+ clinicGroupData?: {
10233
+ name: string;
10234
+ contactInfo: {
10235
+ email: string;
10236
+ phoneNumber: string;
10237
+ alternativePhoneNumber?: string | null | undefined;
10238
+ website?: string | null | undefined;
10239
+ };
10240
+ hqLocation: {
10241
+ latitude: number;
10242
+ longitude: number;
10243
+ address: string;
10244
+ city: string;
10245
+ country: string;
10246
+ postalCode: string;
10247
+ geohash?: string | null | undefined;
10248
+ };
10249
+ subscriptionModel: SubscriptionModel;
10250
+ logo?: string | undefined;
10251
+ } | undefined;
10252
+ }, {
10253
+ email: string;
10254
+ title: string;
10255
+ firstName: string;
10256
+ lastName: string;
10257
+ phoneNumber: string;
10258
+ password: string;
10259
+ isCreatingNewGroup: boolean;
10260
+ inviteToken?: string | undefined;
10261
+ clinicGroupData?: {
10262
+ name: string;
10263
+ contactInfo: {
10264
+ email: string;
10265
+ phoneNumber: string;
10266
+ alternativePhoneNumber?: string | null | undefined;
10267
+ website?: string | null | undefined;
10268
+ };
10269
+ hqLocation: {
10270
+ latitude: number;
10271
+ longitude: number;
10272
+ address: string;
10273
+ city: string;
10274
+ country: string;
10275
+ postalCode: string;
10276
+ geohash?: string | null | undefined;
10277
+ };
10278
+ logo?: string | undefined;
10279
+ subscriptionModel?: SubscriptionModel | undefined;
10280
+ } | undefined;
10281
+ }>;
10282
+ /**
10283
+ * Validaciona šema za kreiranje grupacije klinika
10284
+ */
10285
+ declare const clinicGroupSetupSchema: z.ZodObject<{
10286
+ languages: z.ZodArray<z.ZodNativeEnum<typeof Language>, "many">;
10287
+ practiceType: z.ZodNativeEnum<typeof PracticeType>;
10288
+ description: z.ZodString;
10289
+ logo: z.ZodString;
10290
+ calendarSyncEnabled: z.ZodBoolean;
10291
+ autoConfirmAppointments: z.ZodBoolean;
10292
+ }, "strip", z.ZodTypeAny, {
10293
+ description: string;
10294
+ logo: string;
10295
+ practiceType: PracticeType;
10296
+ languages: Language[];
10297
+ calendarSyncEnabled: boolean;
10298
+ autoConfirmAppointments: boolean;
10299
+ }, {
10300
+ description: string;
10301
+ logo: string;
10302
+ practiceType: PracticeType;
10303
+ languages: Language[];
10304
+ calendarSyncEnabled: boolean;
10305
+ autoConfirmAppointments: boolean;
10306
+ }>;
10307
+ /**
10308
+ * Validaciona šema za kreiranje klinike
10309
+ */
10310
+ declare const clinicBranchSetupSchema: z.ZodObject<{
10311
+ name: z.ZodString;
10312
+ location: z.ZodObject<{
10313
+ address: z.ZodString;
10314
+ city: z.ZodString;
10315
+ country: z.ZodString;
10316
+ postalCode: z.ZodString;
10317
+ latitude: z.ZodNumber;
10318
+ longitude: z.ZodNumber;
10319
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10320
+ }, "strip", z.ZodTypeAny, {
10321
+ latitude: number;
10322
+ longitude: number;
10323
+ address: string;
10324
+ city: string;
10325
+ country: string;
10326
+ postalCode: string;
10327
+ geohash?: string | null | undefined;
10328
+ }, {
10329
+ latitude: number;
10330
+ longitude: number;
10331
+ address: string;
10332
+ city: string;
10333
+ country: string;
10334
+ postalCode: string;
10335
+ geohash?: string | null | undefined;
10336
+ }>;
10337
+ description: z.ZodOptional<z.ZodString>;
10338
+ contactInfo: z.ZodObject<{
10339
+ email: z.ZodString;
10340
+ phoneNumber: z.ZodString;
10341
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10342
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10343
+ }, "strip", z.ZodTypeAny, {
10344
+ email: string;
10345
+ phoneNumber: string;
10346
+ alternativePhoneNumber?: string | null | undefined;
10347
+ website?: string | null | undefined;
10348
+ }, {
10349
+ email: string;
10350
+ phoneNumber: string;
10351
+ alternativePhoneNumber?: string | null | undefined;
10352
+ website?: string | null | undefined;
10353
+ }>;
10354
+ workingHours: z.ZodObject<{
10355
+ monday: z.ZodNullable<z.ZodObject<{
10356
+ open: z.ZodString;
10357
+ close: z.ZodString;
10358
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
10359
+ start: z.ZodString;
10360
+ end: z.ZodString;
10361
+ }, "strip", z.ZodTypeAny, {
10362
+ start: string;
10363
+ end: string;
10364
+ }, {
10365
+ start: string;
10366
+ end: string;
10367
+ }>, "many">>;
10368
+ }, "strip", z.ZodTypeAny, {
10369
+ open: string;
10370
+ close: string;
10371
+ breaks?: {
10372
+ start: string;
10373
+ end: string;
10374
+ }[] | undefined;
10375
+ }, {
10376
+ open: string;
10377
+ close: string;
10378
+ breaks?: {
10379
+ start: string;
10380
+ end: string;
10381
+ }[] | undefined;
10382
+ }>>;
10383
+ tuesday: z.ZodNullable<z.ZodObject<{
10384
+ open: z.ZodString;
10385
+ close: z.ZodString;
10386
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
10387
+ start: z.ZodString;
10388
+ end: z.ZodString;
10389
+ }, "strip", z.ZodTypeAny, {
10390
+ start: string;
10391
+ end: string;
10392
+ }, {
10393
+ start: string;
10394
+ end: string;
10395
+ }>, "many">>;
10396
+ }, "strip", z.ZodTypeAny, {
10397
+ open: string;
10398
+ close: string;
10399
+ breaks?: {
10400
+ start: string;
10401
+ end: string;
10402
+ }[] | undefined;
10403
+ }, {
10404
+ open: string;
10405
+ close: string;
10406
+ breaks?: {
10407
+ start: string;
10408
+ end: string;
10409
+ }[] | undefined;
10410
+ }>>;
10411
+ wednesday: z.ZodNullable<z.ZodObject<{
10412
+ open: z.ZodString;
10413
+ close: z.ZodString;
10414
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
10415
+ start: z.ZodString;
10416
+ end: z.ZodString;
10417
+ }, "strip", z.ZodTypeAny, {
10418
+ start: string;
10419
+ end: string;
10420
+ }, {
10421
+ start: string;
10422
+ end: string;
10423
+ }>, "many">>;
10424
+ }, "strip", z.ZodTypeAny, {
10425
+ open: string;
10426
+ close: string;
10427
+ breaks?: {
10428
+ start: string;
10429
+ end: string;
10430
+ }[] | undefined;
10431
+ }, {
10432
+ open: string;
10433
+ close: string;
10434
+ breaks?: {
10435
+ start: string;
10436
+ end: string;
10437
+ }[] | undefined;
10438
+ }>>;
10439
+ thursday: z.ZodNullable<z.ZodObject<{
10440
+ open: z.ZodString;
10441
+ close: z.ZodString;
10442
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
10443
+ start: z.ZodString;
10444
+ end: z.ZodString;
10445
+ }, "strip", z.ZodTypeAny, {
10446
+ start: string;
10447
+ end: string;
10448
+ }, {
10449
+ start: string;
10450
+ end: string;
10451
+ }>, "many">>;
10452
+ }, "strip", z.ZodTypeAny, {
10453
+ open: string;
10454
+ close: string;
10455
+ breaks?: {
10456
+ start: string;
10457
+ end: string;
10458
+ }[] | undefined;
10459
+ }, {
10460
+ open: string;
10461
+ close: string;
10462
+ breaks?: {
10463
+ start: string;
10464
+ end: string;
10465
+ }[] | undefined;
10466
+ }>>;
10467
+ friday: z.ZodNullable<z.ZodObject<{
10468
+ open: z.ZodString;
10469
+ close: z.ZodString;
10470
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
10471
+ start: z.ZodString;
10472
+ end: z.ZodString;
10473
+ }, "strip", z.ZodTypeAny, {
10474
+ start: string;
10475
+ end: string;
10476
+ }, {
10477
+ start: string;
10478
+ end: string;
10479
+ }>, "many">>;
10480
+ }, "strip", z.ZodTypeAny, {
10481
+ open: string;
10482
+ close: string;
10483
+ breaks?: {
10484
+ start: string;
10485
+ end: string;
10486
+ }[] | undefined;
10487
+ }, {
10488
+ open: string;
10489
+ close: string;
10490
+ breaks?: {
10491
+ start: string;
10492
+ end: string;
10493
+ }[] | undefined;
10494
+ }>>;
10495
+ saturday: z.ZodNullable<z.ZodObject<{
10496
+ open: z.ZodString;
10497
+ close: z.ZodString;
10498
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
10499
+ start: z.ZodString;
10500
+ end: z.ZodString;
10501
+ }, "strip", z.ZodTypeAny, {
10502
+ start: string;
10503
+ end: string;
10504
+ }, {
10505
+ start: string;
10506
+ end: string;
10507
+ }>, "many">>;
10508
+ }, "strip", z.ZodTypeAny, {
10509
+ open: string;
10510
+ close: string;
10511
+ breaks?: {
10512
+ start: string;
10513
+ end: string;
10514
+ }[] | undefined;
10515
+ }, {
10516
+ open: string;
10517
+ close: string;
10518
+ breaks?: {
10519
+ start: string;
10520
+ end: string;
10521
+ }[] | undefined;
10522
+ }>>;
10523
+ sunday: z.ZodNullable<z.ZodObject<{
10524
+ open: z.ZodString;
10525
+ close: z.ZodString;
10526
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
10527
+ start: z.ZodString;
10528
+ end: z.ZodString;
10529
+ }, "strip", z.ZodTypeAny, {
10530
+ start: string;
10531
+ end: string;
10532
+ }, {
10533
+ start: string;
10534
+ end: string;
10535
+ }>, "many">>;
10536
+ }, "strip", z.ZodTypeAny, {
10537
+ open: string;
10538
+ close: string;
10539
+ breaks?: {
10540
+ start: string;
10541
+ end: string;
10542
+ }[] | undefined;
10543
+ }, {
10544
+ open: string;
10545
+ close: string;
10546
+ breaks?: {
10547
+ start: string;
10548
+ end: string;
10549
+ }[] | undefined;
10550
+ }>>;
10551
+ }, "strip", z.ZodTypeAny, {
10552
+ monday: {
10553
+ open: string;
10554
+ close: string;
10555
+ breaks?: {
10556
+ start: string;
10557
+ end: string;
10558
+ }[] | undefined;
10559
+ } | null;
10560
+ tuesday: {
10561
+ open: string;
10562
+ close: string;
10563
+ breaks?: {
10564
+ start: string;
10565
+ end: string;
10566
+ }[] | undefined;
10567
+ } | null;
10568
+ wednesday: {
10569
+ open: string;
10570
+ close: string;
10571
+ breaks?: {
10572
+ start: string;
10573
+ end: string;
10574
+ }[] | undefined;
10575
+ } | null;
10576
+ thursday: {
10577
+ open: string;
10578
+ close: string;
10579
+ breaks?: {
10580
+ start: string;
10581
+ end: string;
10582
+ }[] | undefined;
10583
+ } | null;
10584
+ friday: {
10585
+ open: string;
10586
+ close: string;
10587
+ breaks?: {
10588
+ start: string;
10589
+ end: string;
10590
+ }[] | undefined;
10591
+ } | null;
10592
+ saturday: {
10593
+ open: string;
10594
+ close: string;
10595
+ breaks?: {
10596
+ start: string;
10597
+ end: string;
10598
+ }[] | undefined;
10599
+ } | null;
10600
+ sunday: {
10601
+ open: string;
10602
+ close: string;
10603
+ breaks?: {
10604
+ start: string;
10605
+ end: string;
10606
+ }[] | undefined;
10607
+ } | null;
10608
+ }, {
10609
+ monday: {
10610
+ open: string;
10611
+ close: string;
10612
+ breaks?: {
10613
+ start: string;
10614
+ end: string;
10615
+ }[] | undefined;
10616
+ } | null;
10617
+ tuesday: {
10618
+ open: string;
10619
+ close: string;
10620
+ breaks?: {
10621
+ start: string;
10622
+ end: string;
10623
+ }[] | undefined;
10624
+ } | null;
10625
+ wednesday: {
10626
+ open: string;
10627
+ close: string;
10628
+ breaks?: {
10629
+ start: string;
10630
+ end: string;
10631
+ }[] | undefined;
10632
+ } | null;
10633
+ thursday: {
10634
+ open: string;
10635
+ close: string;
10636
+ breaks?: {
10637
+ start: string;
10638
+ end: string;
10639
+ }[] | undefined;
10640
+ } | null;
10641
+ friday: {
10642
+ open: string;
10643
+ close: string;
10644
+ breaks?: {
10645
+ start: string;
10646
+ end: string;
10647
+ }[] | undefined;
10648
+ } | null;
10649
+ saturday: {
10650
+ open: string;
10651
+ close: string;
10652
+ breaks?: {
10653
+ start: string;
10654
+ end: string;
10655
+ }[] | undefined;
10656
+ } | null;
10657
+ sunday: {
10658
+ open: string;
10659
+ close: string;
10660
+ breaks?: {
10661
+ start: string;
10662
+ end: string;
10663
+ }[] | undefined;
10664
+ } | null;
10665
+ }>;
10666
+ tags: z.ZodArray<z.ZodNativeEnum<typeof ClinicTag>, "many">;
10667
+ logo: z.ZodOptional<z.ZodString>;
10668
+ photos: z.ZodArray<z.ZodString, "many">;
10669
+ photosWithTags: z.ZodOptional<z.ZodArray<z.ZodObject<{
10670
+ url: z.ZodString;
10671
+ tag: z.ZodString;
10672
+ }, "strip", z.ZodTypeAny, {
10673
+ url: string;
10674
+ tag: string;
10675
+ }, {
10676
+ url: string;
10677
+ tag: string;
10678
+ }>, "many">>;
10679
+ featuredPhotos: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10680
+ }, "strip", z.ZodTypeAny, {
10681
+ tags: ClinicTag[];
10682
+ name: string;
10683
+ contactInfo: {
10684
+ email: string;
10685
+ phoneNumber: string;
10686
+ alternativePhoneNumber?: string | null | undefined;
10687
+ website?: string | null | undefined;
10688
+ };
10689
+ location: {
10690
+ latitude: number;
10691
+ longitude: number;
10692
+ address: string;
10693
+ city: string;
10694
+ country: string;
10695
+ postalCode: string;
10696
+ geohash?: string | null | undefined;
10697
+ };
10698
+ workingHours: {
10699
+ monday: {
10700
+ open: string;
10701
+ close: string;
10702
+ breaks?: {
10703
+ start: string;
10704
+ end: string;
10705
+ }[] | undefined;
10706
+ } | null;
10707
+ tuesday: {
10708
+ open: string;
10709
+ close: string;
10710
+ breaks?: {
10711
+ start: string;
10712
+ end: string;
10713
+ }[] | undefined;
10714
+ } | null;
10715
+ wednesday: {
10716
+ open: string;
10717
+ close: string;
10718
+ breaks?: {
10719
+ start: string;
10720
+ end: string;
10721
+ }[] | undefined;
10722
+ } | null;
10723
+ thursday: {
10724
+ open: string;
10725
+ close: string;
10726
+ breaks?: {
10727
+ start: string;
10728
+ end: string;
10729
+ }[] | undefined;
10730
+ } | null;
10731
+ friday: {
10732
+ open: string;
10733
+ close: string;
10734
+ breaks?: {
10735
+ start: string;
10736
+ end: string;
10737
+ }[] | undefined;
10738
+ } | null;
10739
+ saturday: {
10740
+ open: string;
10741
+ close: string;
10742
+ breaks?: {
10743
+ start: string;
10744
+ end: string;
10745
+ }[] | undefined;
10746
+ } | null;
10747
+ sunday: {
10748
+ open: string;
10749
+ close: string;
10750
+ breaks?: {
10751
+ start: string;
10752
+ end: string;
10753
+ }[] | undefined;
10754
+ } | null;
10755
+ };
10756
+ photos: string[];
10757
+ description?: string | undefined;
10758
+ logo?: string | undefined;
10759
+ photosWithTags?: {
10760
+ url: string;
10761
+ tag: string;
10762
+ }[] | undefined;
10763
+ featuredPhotos?: string[] | undefined;
10764
+ }, {
10765
+ tags: ClinicTag[];
10766
+ name: string;
10767
+ contactInfo: {
10768
+ email: string;
10769
+ phoneNumber: string;
10770
+ alternativePhoneNumber?: string | null | undefined;
10771
+ website?: string | null | undefined;
10772
+ };
10773
+ location: {
10774
+ latitude: number;
10775
+ longitude: number;
10776
+ address: string;
10777
+ city: string;
10778
+ country: string;
10779
+ postalCode: string;
10780
+ geohash?: string | null | undefined;
10781
+ };
10782
+ workingHours: {
10783
+ monday: {
10784
+ open: string;
10785
+ close: string;
10786
+ breaks?: {
10787
+ start: string;
10788
+ end: string;
10789
+ }[] | undefined;
10790
+ } | null;
10791
+ tuesday: {
10792
+ open: string;
10793
+ close: string;
10794
+ breaks?: {
10795
+ start: string;
10796
+ end: string;
10797
+ }[] | undefined;
10798
+ } | null;
10799
+ wednesday: {
10800
+ open: string;
10801
+ close: string;
10802
+ breaks?: {
10803
+ start: string;
10804
+ end: string;
10805
+ }[] | undefined;
10806
+ } | null;
10807
+ thursday: {
10808
+ open: string;
10809
+ close: string;
10810
+ breaks?: {
10811
+ start: string;
10812
+ end: string;
10813
+ }[] | undefined;
10814
+ } | null;
10815
+ friday: {
10816
+ open: string;
10817
+ close: string;
10818
+ breaks?: {
10819
+ start: string;
10820
+ end: string;
10821
+ }[] | undefined;
10822
+ } | null;
10823
+ saturday: {
10824
+ open: string;
10825
+ close: string;
10826
+ breaks?: {
10827
+ start: string;
10828
+ end: string;
10829
+ }[] | undefined;
10830
+ } | null;
10831
+ sunday: {
10832
+ open: string;
10833
+ close: string;
10834
+ breaks?: {
10835
+ start: string;
10836
+ end: string;
10837
+ }[] | undefined;
10838
+ } | null;
10839
+ };
10840
+ photos: string[];
10841
+ description?: string | undefined;
10842
+ logo?: string | undefined;
10843
+ photosWithTags?: {
10844
+ url: string;
10845
+ tag: string;
10846
+ }[] | undefined;
10847
+ featuredPhotos?: string[] | undefined;
10848
+ }>;
10849
+ /**
10850
+ * Validaciona šema za updating clinic admin
10851
+ */
10852
+ declare const updateClinicAdminSchema: z.ZodObject<{
10853
+ userRef: z.ZodOptional<z.ZodString>;
10854
+ clinicGroupId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
10855
+ isGroupOwner: z.ZodOptional<z.ZodBoolean>;
10856
+ clinicsManaged: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10857
+ contactInfo: z.ZodOptional<z.ZodObject<{
10858
+ firstName: z.ZodString;
10859
+ lastName: z.ZodString;
10860
+ title: z.ZodString;
10861
+ email: z.ZodString;
10862
+ phoneNumber: z.ZodString;
10863
+ }, "strip", z.ZodTypeAny, {
10864
+ email: string;
10865
+ title: string;
10866
+ firstName: string;
10867
+ lastName: string;
10868
+ phoneNumber: string;
10869
+ }, {
10870
+ email: string;
10871
+ title: string;
10872
+ firstName: string;
10873
+ lastName: string;
10874
+ phoneNumber: string;
10875
+ }>>;
10876
+ roleTitle: z.ZodOptional<z.ZodString>;
10877
+ isActive: z.ZodOptional<z.ZodBoolean>;
10878
+ }, "strip", z.ZodTypeAny, {
10879
+ isActive?: boolean | undefined;
10880
+ isGroupOwner?: boolean | undefined;
10881
+ userRef?: string | undefined;
10882
+ clinicGroupId?: string | undefined;
10883
+ clinicsManaged?: string[] | undefined;
10884
+ contactInfo?: {
10885
+ email: string;
10886
+ title: string;
10887
+ firstName: string;
10888
+ lastName: string;
10889
+ phoneNumber: string;
10890
+ } | undefined;
10891
+ roleTitle?: string | undefined;
10892
+ }, {
10893
+ isActive?: boolean | undefined;
10894
+ isGroupOwner?: boolean | undefined;
10895
+ userRef?: string | undefined;
10896
+ clinicGroupId?: string | undefined;
10897
+ clinicsManaged?: string[] | undefined;
10898
+ contactInfo?: {
10899
+ email: string;
10900
+ title: string;
10901
+ firstName: string;
10902
+ lastName: string;
10903
+ phoneNumber: string;
10904
+ } | undefined;
10905
+ roleTitle?: string | undefined;
10906
+ }>;
10907
+ /**
10908
+ * Validaciona šema za updating clinic group
10909
+ */
10910
+ declare const updateClinicGroupSchema: z.ZodObject<{
10911
+ name: z.ZodOptional<z.ZodString>;
10912
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
10913
+ hqLocation: z.ZodOptional<z.ZodObject<{
10914
+ address: z.ZodString;
10915
+ city: z.ZodString;
10916
+ country: z.ZodString;
10917
+ postalCode: z.ZodString;
10918
+ latitude: z.ZodNumber;
10919
+ longitude: z.ZodNumber;
10920
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10921
+ }, "strip", z.ZodTypeAny, {
10922
+ latitude: number;
10923
+ longitude: number;
10924
+ address: string;
10925
+ city: string;
10926
+ country: string;
10927
+ postalCode: string;
10928
+ geohash?: string | null | undefined;
10929
+ }, {
10930
+ latitude: number;
10931
+ longitude: number;
10932
+ address: string;
10933
+ city: string;
10934
+ country: string;
10935
+ postalCode: string;
10936
+ geohash?: string | null | undefined;
10937
+ }>>;
10938
+ contactInfo: z.ZodOptional<z.ZodObject<{
10939
+ email: z.ZodString;
10940
+ phoneNumber: z.ZodString;
10941
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10942
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10943
+ }, "strip", z.ZodTypeAny, {
10944
+ email: string;
10945
+ phoneNumber: string;
10946
+ alternativePhoneNumber?: string | null | undefined;
10947
+ website?: string | null | undefined;
10948
+ }, {
10949
+ email: string;
10950
+ phoneNumber: string;
10951
+ alternativePhoneNumber?: string | null | undefined;
10952
+ website?: string | null | undefined;
10953
+ }>>;
10954
+ contactPerson: z.ZodOptional<z.ZodObject<{
10955
+ firstName: z.ZodString;
10956
+ lastName: z.ZodString;
10957
+ title: z.ZodString;
10958
+ email: z.ZodString;
10959
+ phoneNumber: z.ZodString;
10960
+ }, "strip", z.ZodTypeAny, {
10961
+ email: string;
10962
+ title: string;
10963
+ firstName: string;
10964
+ lastName: string;
10965
+ phoneNumber: string;
10966
+ }, {
10967
+ email: string;
10968
+ title: string;
10969
+ firstName: string;
10970
+ lastName: string;
10971
+ phoneNumber: string;
10972
+ }>>;
10973
+ ownerId: z.ZodOptional<z.ZodString>;
10974
+ isActive: z.ZodOptional<z.ZodBoolean>;
10975
+ logo: z.ZodOptional<z.ZodOptional<z.ZodString>>;
10976
+ practiceType: z.ZodOptional<z.ZodOptional<z.ZodNativeEnum<typeof PracticeType>>>;
10977
+ languages: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof Language>, "many">>>;
10978
+ subscriptionModel: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof SubscriptionModel>>>>;
10979
+ calendarSyncEnabled: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
10980
+ autoConfirmAppointments: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
10981
+ }, "strip", z.ZodTypeAny, {
10982
+ description?: string | undefined;
10983
+ isActive?: boolean | undefined;
10984
+ name?: string | undefined;
10985
+ contactInfo?: {
10986
+ email: string;
10987
+ phoneNumber: string;
10988
+ alternativePhoneNumber?: string | null | undefined;
10989
+ website?: string | null | undefined;
10990
+ } | undefined;
10991
+ hqLocation?: {
10992
+ latitude: number;
10993
+ longitude: number;
10994
+ address: string;
10995
+ city: string;
10996
+ country: string;
10997
+ postalCode: string;
10998
+ geohash?: string | null | undefined;
10999
+ } | undefined;
11000
+ contactPerson?: {
11001
+ email: string;
11002
+ title: string;
11003
+ firstName: string;
11004
+ lastName: string;
11005
+ phoneNumber: string;
11006
+ } | undefined;
11007
+ ownerId?: string | undefined;
11008
+ logo?: string | undefined;
11009
+ practiceType?: PracticeType | undefined;
11010
+ languages?: Language[] | undefined;
11011
+ subscriptionModel?: SubscriptionModel | undefined;
11012
+ calendarSyncEnabled?: boolean | undefined;
11013
+ autoConfirmAppointments?: boolean | undefined;
11014
+ }, {
11015
+ description?: string | undefined;
11016
+ isActive?: boolean | undefined;
11017
+ name?: string | undefined;
11018
+ contactInfo?: {
11019
+ email: string;
11020
+ phoneNumber: string;
11021
+ alternativePhoneNumber?: string | null | undefined;
11022
+ website?: string | null | undefined;
11023
+ } | undefined;
11024
+ hqLocation?: {
11025
+ latitude: number;
11026
+ longitude: number;
11027
+ address: string;
11028
+ city: string;
11029
+ country: string;
11030
+ postalCode: string;
11031
+ geohash?: string | null | undefined;
11032
+ } | undefined;
11033
+ contactPerson?: {
11034
+ email: string;
11035
+ title: string;
11036
+ firstName: string;
11037
+ lastName: string;
11038
+ phoneNumber: string;
11039
+ } | undefined;
11040
+ ownerId?: string | undefined;
11041
+ logo?: string | undefined;
11042
+ practiceType?: PracticeType | undefined;
11043
+ languages?: Language[] | undefined;
11044
+ subscriptionModel?: SubscriptionModel | undefined;
11045
+ calendarSyncEnabled?: boolean | undefined;
11046
+ autoConfirmAppointments?: boolean | undefined;
11047
+ }>;
11048
+ /**
11049
+ * Validaciona šema za updating clinic
11050
+ */
11051
+ declare const updateClinicSchema: z.ZodObject<{
11052
+ clinicGroupId: z.ZodOptional<z.ZodString>;
11053
+ name: z.ZodOptional<z.ZodString>;
11054
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
11055
+ location: z.ZodOptional<z.ZodObject<{
11056
+ address: z.ZodString;
11057
+ city: z.ZodString;
11058
+ country: z.ZodString;
11059
+ postalCode: z.ZodString;
11060
+ latitude: z.ZodNumber;
11061
+ longitude: z.ZodNumber;
11062
+ geohash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11063
+ }, "strip", z.ZodTypeAny, {
11064
+ latitude: number;
11065
+ longitude: number;
11066
+ address: string;
11067
+ city: string;
11068
+ country: string;
11069
+ postalCode: string;
11070
+ geohash?: string | null | undefined;
11071
+ }, {
11072
+ latitude: number;
11073
+ longitude: number;
11074
+ address: string;
11075
+ city: string;
11076
+ country: string;
11077
+ postalCode: string;
11078
+ geohash?: string | null | undefined;
11079
+ }>>;
11080
+ contactInfo: z.ZodOptional<z.ZodObject<{
11081
+ email: z.ZodString;
11082
+ phoneNumber: z.ZodString;
11083
+ alternativePhoneNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11084
+ website: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11085
+ }, "strip", z.ZodTypeAny, {
11086
+ email: string;
11087
+ phoneNumber: string;
11088
+ alternativePhoneNumber?: string | null | undefined;
11089
+ website?: string | null | undefined;
11090
+ }, {
11091
+ email: string;
11092
+ phoneNumber: string;
11093
+ alternativePhoneNumber?: string | null | undefined;
11094
+ website?: string | null | undefined;
11095
+ }>>;
11096
+ workingHours: z.ZodOptional<z.ZodObject<{
11097
+ monday: z.ZodNullable<z.ZodObject<{
11098
+ open: z.ZodString;
11099
+ close: z.ZodString;
11100
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
11101
+ start: z.ZodString;
11102
+ end: z.ZodString;
11103
+ }, "strip", z.ZodTypeAny, {
11104
+ start: string;
11105
+ end: string;
11106
+ }, {
11107
+ start: string;
11108
+ end: string;
11109
+ }>, "many">>;
11110
+ }, "strip", z.ZodTypeAny, {
11111
+ open: string;
11112
+ close: string;
11113
+ breaks?: {
11114
+ start: string;
11115
+ end: string;
11116
+ }[] | undefined;
11117
+ }, {
11118
+ open: string;
11119
+ close: string;
11120
+ breaks?: {
11121
+ start: string;
11122
+ end: string;
11123
+ }[] | undefined;
11124
+ }>>;
11125
+ tuesday: z.ZodNullable<z.ZodObject<{
11126
+ open: z.ZodString;
11127
+ close: z.ZodString;
11128
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
11129
+ start: z.ZodString;
11130
+ end: z.ZodString;
11131
+ }, "strip", z.ZodTypeAny, {
11132
+ start: string;
11133
+ end: string;
11134
+ }, {
11135
+ start: string;
11136
+ end: string;
11137
+ }>, "many">>;
11138
+ }, "strip", z.ZodTypeAny, {
11139
+ open: string;
11140
+ close: string;
11141
+ breaks?: {
11142
+ start: string;
11143
+ end: string;
11144
+ }[] | undefined;
11145
+ }, {
11146
+ open: string;
11147
+ close: string;
11148
+ breaks?: {
11149
+ start: string;
11150
+ end: string;
11151
+ }[] | undefined;
11152
+ }>>;
11153
+ wednesday: z.ZodNullable<z.ZodObject<{
11154
+ open: z.ZodString;
11155
+ close: z.ZodString;
11156
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
11157
+ start: z.ZodString;
11158
+ end: z.ZodString;
11159
+ }, "strip", z.ZodTypeAny, {
11160
+ start: string;
11161
+ end: string;
11162
+ }, {
11163
+ start: string;
11164
+ end: string;
11165
+ }>, "many">>;
11166
+ }, "strip", z.ZodTypeAny, {
11167
+ open: string;
11168
+ close: string;
11169
+ breaks?: {
11170
+ start: string;
11171
+ end: string;
11172
+ }[] | undefined;
11173
+ }, {
11174
+ open: string;
11175
+ close: string;
11176
+ breaks?: {
11177
+ start: string;
11178
+ end: string;
11179
+ }[] | undefined;
11180
+ }>>;
11181
+ thursday: z.ZodNullable<z.ZodObject<{
11182
+ open: z.ZodString;
11183
+ close: z.ZodString;
11184
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
11185
+ start: z.ZodString;
11186
+ end: z.ZodString;
11187
+ }, "strip", z.ZodTypeAny, {
11188
+ start: string;
11189
+ end: string;
11190
+ }, {
11191
+ start: string;
11192
+ end: string;
11193
+ }>, "many">>;
11194
+ }, "strip", z.ZodTypeAny, {
11195
+ open: string;
11196
+ close: string;
11197
+ breaks?: {
11198
+ start: string;
11199
+ end: string;
11200
+ }[] | undefined;
11201
+ }, {
11202
+ open: string;
11203
+ close: string;
11204
+ breaks?: {
11205
+ start: string;
11206
+ end: string;
11207
+ }[] | undefined;
11208
+ }>>;
11209
+ friday: z.ZodNullable<z.ZodObject<{
11210
+ open: z.ZodString;
11211
+ close: z.ZodString;
11212
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
11213
+ start: z.ZodString;
11214
+ end: z.ZodString;
11215
+ }, "strip", z.ZodTypeAny, {
11216
+ start: string;
11217
+ end: string;
11218
+ }, {
11219
+ start: string;
11220
+ end: string;
11221
+ }>, "many">>;
11222
+ }, "strip", z.ZodTypeAny, {
11223
+ open: string;
11224
+ close: string;
11225
+ breaks?: {
11226
+ start: string;
11227
+ end: string;
11228
+ }[] | undefined;
11229
+ }, {
11230
+ open: string;
11231
+ close: string;
11232
+ breaks?: {
11233
+ start: string;
11234
+ end: string;
11235
+ }[] | undefined;
11236
+ }>>;
11237
+ saturday: z.ZodNullable<z.ZodObject<{
11238
+ open: z.ZodString;
11239
+ close: z.ZodString;
11240
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
11241
+ start: z.ZodString;
11242
+ end: z.ZodString;
11243
+ }, "strip", z.ZodTypeAny, {
11244
+ start: string;
11245
+ end: string;
11246
+ }, {
11247
+ start: string;
11248
+ end: string;
11249
+ }>, "many">>;
11250
+ }, "strip", z.ZodTypeAny, {
11251
+ open: string;
11252
+ close: string;
11253
+ breaks?: {
11254
+ start: string;
11255
+ end: string;
11256
+ }[] | undefined;
11257
+ }, {
11258
+ open: string;
11259
+ close: string;
11260
+ breaks?: {
11261
+ start: string;
11262
+ end: string;
11263
+ }[] | undefined;
11264
+ }>>;
11265
+ sunday: z.ZodNullable<z.ZodObject<{
11266
+ open: z.ZodString;
11267
+ close: z.ZodString;
11268
+ breaks: z.ZodOptional<z.ZodArray<z.ZodObject<{
11269
+ start: z.ZodString;
11270
+ end: z.ZodString;
11271
+ }, "strip", z.ZodTypeAny, {
11272
+ start: string;
11273
+ end: string;
11274
+ }, {
11275
+ start: string;
11276
+ end: string;
11277
+ }>, "many">>;
11278
+ }, "strip", z.ZodTypeAny, {
11279
+ open: string;
11280
+ close: string;
11281
+ breaks?: {
11282
+ start: string;
11283
+ end: string;
11284
+ }[] | undefined;
11285
+ }, {
11286
+ open: string;
11287
+ close: string;
11288
+ breaks?: {
11289
+ start: string;
11290
+ end: string;
11291
+ }[] | undefined;
11292
+ }>>;
11293
+ }, "strip", z.ZodTypeAny, {
11294
+ monday: {
11295
+ open: string;
11296
+ close: string;
11297
+ breaks?: {
11298
+ start: string;
11299
+ end: string;
11300
+ }[] | undefined;
11301
+ } | null;
11302
+ tuesday: {
11303
+ open: string;
11304
+ close: string;
11305
+ breaks?: {
11306
+ start: string;
11307
+ end: string;
11308
+ }[] | undefined;
11309
+ } | null;
11310
+ wednesday: {
11311
+ open: string;
11312
+ close: string;
11313
+ breaks?: {
11314
+ start: string;
11315
+ end: string;
11316
+ }[] | undefined;
11317
+ } | null;
11318
+ thursday: {
11319
+ open: string;
11320
+ close: string;
11321
+ breaks?: {
11322
+ start: string;
11323
+ end: string;
11324
+ }[] | undefined;
11325
+ } | null;
11326
+ friday: {
11327
+ open: string;
11328
+ close: string;
11329
+ breaks?: {
11330
+ start: string;
11331
+ end: string;
11332
+ }[] | undefined;
11333
+ } | null;
11334
+ saturday: {
11335
+ open: string;
11336
+ close: string;
11337
+ breaks?: {
11338
+ start: string;
11339
+ end: string;
11340
+ }[] | undefined;
11341
+ } | null;
11342
+ sunday: {
11343
+ open: string;
11344
+ close: string;
11345
+ breaks?: {
11346
+ start: string;
11347
+ end: string;
11348
+ }[] | undefined;
11349
+ } | null;
11350
+ }, {
11351
+ monday: {
11352
+ open: string;
11353
+ close: string;
11354
+ breaks?: {
11355
+ start: string;
11356
+ end: string;
11357
+ }[] | undefined;
11358
+ } | null;
11359
+ tuesday: {
11360
+ open: string;
11361
+ close: string;
11362
+ breaks?: {
11363
+ start: string;
11364
+ end: string;
11365
+ }[] | undefined;
11366
+ } | null;
11367
+ wednesday: {
11368
+ open: string;
11369
+ close: string;
11370
+ breaks?: {
11371
+ start: string;
11372
+ end: string;
11373
+ }[] | undefined;
11374
+ } | null;
11375
+ thursday: {
11376
+ open: string;
11377
+ close: string;
11378
+ breaks?: {
11379
+ start: string;
11380
+ end: string;
11381
+ }[] | undefined;
11382
+ } | null;
11383
+ friday: {
11384
+ open: string;
11385
+ close: string;
11386
+ breaks?: {
11387
+ start: string;
11388
+ end: string;
11389
+ }[] | undefined;
11390
+ } | null;
11391
+ saturday: {
11392
+ open: string;
11393
+ close: string;
11394
+ breaks?: {
11395
+ start: string;
11396
+ end: string;
11397
+ }[] | undefined;
11398
+ } | null;
11399
+ sunday: {
11400
+ open: string;
11401
+ close: string;
11402
+ breaks?: {
11403
+ start: string;
11404
+ end: string;
11405
+ }[] | undefined;
11406
+ } | null;
11407
+ }>>;
11408
+ tags: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<typeof ClinicTag>, "many">>;
11409
+ photos: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11410
+ photosWithTags: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
11411
+ url: z.ZodString;
11412
+ tag: z.ZodString;
11413
+ }, "strip", z.ZodTypeAny, {
11414
+ url: string;
11415
+ tag: string;
11416
+ }, {
11417
+ url: string;
11418
+ tag: string;
11419
+ }>, "many">>>;
11420
+ doctors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11421
+ services: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11422
+ admins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11423
+ isActive: z.ZodOptional<z.ZodBoolean>;
11424
+ isVerified: z.ZodOptional<z.ZodBoolean>;
11425
+ logo: z.ZodOptional<z.ZodOptional<z.ZodString>>;
11426
+ featuredPhotos: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
11427
+ }, "strip", z.ZodTypeAny, {
11428
+ description?: string | undefined;
11429
+ tags?: ClinicTag[] | undefined;
11430
+ isActive?: boolean | undefined;
11431
+ name?: string | undefined;
11432
+ isVerified?: boolean | undefined;
11433
+ doctors?: string[] | undefined;
11434
+ clinicGroupId?: string | undefined;
11435
+ contactInfo?: {
11436
+ email: string;
11437
+ phoneNumber: string;
11438
+ alternativePhoneNumber?: string | null | undefined;
11439
+ website?: string | null | undefined;
11440
+ } | undefined;
11441
+ logo?: string | undefined;
11442
+ location?: {
11443
+ latitude: number;
11444
+ longitude: number;
11445
+ address: string;
11446
+ city: string;
11447
+ country: string;
11448
+ postalCode: string;
11449
+ geohash?: string | null | undefined;
11450
+ } | undefined;
11451
+ workingHours?: {
11452
+ monday: {
11453
+ open: string;
11454
+ close: string;
11455
+ breaks?: {
11456
+ start: string;
11457
+ end: string;
11458
+ }[] | undefined;
11459
+ } | null;
11460
+ tuesday: {
11461
+ open: string;
11462
+ close: string;
11463
+ breaks?: {
11464
+ start: string;
11465
+ end: string;
11466
+ }[] | undefined;
11467
+ } | null;
11468
+ wednesday: {
11469
+ open: string;
11470
+ close: string;
11471
+ breaks?: {
11472
+ start: string;
11473
+ end: string;
11474
+ }[] | undefined;
11475
+ } | null;
11476
+ thursday: {
11477
+ open: string;
11478
+ close: string;
11479
+ breaks?: {
11480
+ start: string;
11481
+ end: string;
11482
+ }[] | undefined;
11483
+ } | null;
11484
+ friday: {
11485
+ open: string;
11486
+ close: string;
11487
+ breaks?: {
11488
+ start: string;
11489
+ end: string;
11490
+ }[] | undefined;
11491
+ } | null;
11492
+ saturday: {
11493
+ open: string;
11494
+ close: string;
11495
+ breaks?: {
11496
+ start: string;
11497
+ end: string;
11498
+ }[] | undefined;
11499
+ } | null;
11500
+ sunday: {
11501
+ open: string;
11502
+ close: string;
11503
+ breaks?: {
11504
+ start: string;
11505
+ end: string;
11506
+ }[] | undefined;
11507
+ } | null;
11508
+ } | undefined;
11509
+ photos?: string[] | undefined;
11510
+ photosWithTags?: {
11511
+ url: string;
11512
+ tag: string;
11513
+ }[] | undefined;
11514
+ services?: string[] | undefined;
11515
+ admins?: string[] | undefined;
11516
+ featuredPhotos?: string[] | undefined;
11517
+ }, {
11518
+ description?: string | undefined;
11519
+ tags?: ClinicTag[] | undefined;
11520
+ isActive?: boolean | undefined;
11521
+ name?: string | undefined;
11522
+ isVerified?: boolean | undefined;
11523
+ doctors?: string[] | undefined;
11524
+ clinicGroupId?: string | undefined;
11525
+ contactInfo?: {
11526
+ email: string;
11527
+ phoneNumber: string;
11528
+ alternativePhoneNumber?: string | null | undefined;
11529
+ website?: string | null | undefined;
11530
+ } | undefined;
11531
+ logo?: string | undefined;
11532
+ location?: {
11533
+ latitude: number;
11534
+ longitude: number;
11535
+ address: string;
11536
+ city: string;
11537
+ country: string;
11538
+ postalCode: string;
11539
+ geohash?: string | null | undefined;
11540
+ } | undefined;
11541
+ workingHours?: {
11542
+ monday: {
11543
+ open: string;
11544
+ close: string;
11545
+ breaks?: {
11546
+ start: string;
11547
+ end: string;
11548
+ }[] | undefined;
11549
+ } | null;
11550
+ tuesday: {
11551
+ open: string;
11552
+ close: string;
11553
+ breaks?: {
11554
+ start: string;
11555
+ end: string;
11556
+ }[] | undefined;
11557
+ } | null;
11558
+ wednesday: {
11559
+ open: string;
11560
+ close: string;
11561
+ breaks?: {
11562
+ start: string;
11563
+ end: string;
11564
+ }[] | undefined;
11565
+ } | null;
11566
+ thursday: {
11567
+ open: string;
11568
+ close: string;
11569
+ breaks?: {
11570
+ start: string;
11571
+ end: string;
11572
+ }[] | undefined;
11573
+ } | null;
11574
+ friday: {
11575
+ open: string;
11576
+ close: string;
11577
+ breaks?: {
11578
+ start: string;
11579
+ end: string;
11580
+ }[] | undefined;
11581
+ } | null;
11582
+ saturday: {
11583
+ open: string;
11584
+ close: string;
11585
+ breaks?: {
11586
+ start: string;
11587
+ end: string;
11588
+ }[] | undefined;
11589
+ } | null;
11590
+ sunday: {
11591
+ open: string;
11592
+ close: string;
11593
+ breaks?: {
11594
+ start: string;
11595
+ end: string;
11596
+ }[] | undefined;
11597
+ } | null;
11598
+ } | undefined;
11599
+ photos?: string[] | undefined;
11600
+ photosWithTags?: {
11601
+ url: string;
11602
+ tag: string;
11603
+ }[] | undefined;
11604
+ services?: string[] | undefined;
11605
+ admins?: string[] | undefined;
11606
+ featuredPhotos?: string[] | undefined;
9172
11607
  }>;
9173
11608
 
9174
11609
  declare enum FirebaseErrorCode {
@@ -9435,4 +11870,4 @@ interface Technology {
9435
11870
  updatedAt: Date;
9436
11871
  }
9437
11872
 
9438
- export { AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type AppointmentNotification, type AppointmentReminderNotification, AuthError, AuthService, type BaseNotification, BlockingCondition, type Brand, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type Category, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicLocation, type ClinicReview, ClinicService, type ClinicTags, Contraindication, CosmeticAllergySubtype, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDocumentTemplateData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreateUserData, Currency, DOCUMENTATION_TEMPLATES_COLLECTION, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FilledDocument, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, HeadingLevel, ListType, type LocationData, MedicationAllergySubtype, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, type PatientClinic, type PatientDoctor, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientSensitiveInfo, PatientService, type PostRequirementNotification, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerReview, PractitionerService, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, ProcedureFamily, type Product, type Requirement, type Subcategory, type Technology, TreatmentBenefit, USER_ERRORS, type UpdateAllergyData, type UpdateBlockingConditionData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicContactInfoSchema, clinicGroupSchema, clinicInfoSchema, clinicLocationSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerSchema, createUserOptionsSchema, doctorInfoSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicProceduresSchema, practitionerReviewSchema, practitionerSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, reviewInfoSchema, serviceInfoSchema, timestampSchema, updateAllergySchema, updateBlockingConditionSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
11873
+ export { AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type AppointmentNotification, type AppointmentReminderNotification, AuthError, AuthService, type BaseNotification, BlockingCondition, type Brand, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type Category, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicLocation, type ClinicReview, ClinicService, type ClinicTags, Contraindication, CosmeticAllergySubtype, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDocumentTemplateData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreateUserData, Currency, DOCUMENTATION_TEMPLATES_COLLECTION, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FilledDocument, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, HeadingLevel, ListType, type LocationData, MedicationAllergySubtype, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, type PatientClinic, type PatientDoctor, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientSensitiveInfo, PatientService, type PostRequirementNotification, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerReview, PractitionerService, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, ProcedureFamily, type Product, type Requirement, type Subcategory, type Technology, TreatmentBenefit, USER_ERRORS, type UpdateAllergyData, type UpdateBlockingConditionData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdateVitalStatsData, type User, UserRole, UserService, type ValidationSchema, type VitalStats, type WorkingHours, addAllergySchema, addBlockingConditionSchema, addContraindicationSchema, addMedicationSchema, addressDataSchema, adminInfoSchema, adminTokenSchema, allergySchema, allergySubtypeSchema, appointmentNotificationSchema, appointmentReminderNotificationSchema, baseNotificationSchema, blockingConditionSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicInfoSchema, clinicLocationSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerSchema, createUserOptionsSchema, doctorInfoSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicProceduresSchema, practitionerReviewSchema, practitionerSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, reviewInfoSchema, serviceInfoSchema, timestampSchema, updateAllergySchema, updateBlockingConditionSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };