@blackcode_sa/metaestetics-api 1.7.26 → 1.7.28

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
@@ -1433,6 +1433,7 @@ interface Practitioner {
1433
1433
  clinicWorkingHours: PractitionerClinicWorkingHours[];
1434
1434
  clinicsInfo: ClinicInfo[];
1435
1435
  procedures: string[];
1436
+ freeConsultations?: Record<string, string> | null;
1436
1437
  proceduresInfo: ProcedureSummaryInfo[];
1437
1438
  reviewInfo: PractitionerReviewInfo;
1438
1439
  isActive: boolean;
@@ -1451,6 +1452,7 @@ interface CreatePractitionerData {
1451
1452
  clinics?: string[];
1452
1453
  clinicWorkingHours?: PractitionerClinicWorkingHours[];
1453
1454
  clinicsInfo?: ClinicInfo[];
1455
+ freeConsultations?: Record<string, string> | null;
1454
1456
  isActive: boolean;
1455
1457
  isVerified: boolean;
1456
1458
  status?: PractitionerStatus;
@@ -1464,6 +1466,7 @@ interface CreateDraftPractitionerData {
1464
1466
  clinics?: string[];
1465
1467
  clinicWorkingHours?: PractitionerClinicWorkingHours[];
1466
1468
  clinicsInfo?: ClinicInfo[];
1469
+ freeConsultations?: Record<string, string> | null;
1467
1470
  isActive?: boolean;
1468
1471
  isVerified?: boolean;
1469
1472
  }
@@ -5547,6 +5550,29 @@ interface SearchCalendarEventsParams {
5547
5550
  /** Optional filter for event type. */
5548
5551
  eventType?: CalendarEventType;
5549
5552
  }
5553
+ /**
5554
+ * Interface for creating blocking events
5555
+ */
5556
+ interface CreateBlockingEventParams {
5557
+ entityType: "practitioner" | "clinic";
5558
+ entityId: string;
5559
+ eventName: string;
5560
+ eventTime: CalendarEventTime;
5561
+ eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
5562
+ description?: string;
5563
+ }
5564
+ /**
5565
+ * Interface for updating blocking events
5566
+ */
5567
+ interface UpdateBlockingEventParams {
5568
+ entityType: "practitioner" | "clinic";
5569
+ entityId: string;
5570
+ eventId: string;
5571
+ eventName?: string;
5572
+ eventTime?: CalendarEventTime;
5573
+ description?: string;
5574
+ status?: CalendarEventStatus;
5575
+ }
5550
5576
 
5551
5577
  declare enum UserRole {
5552
5578
  PATIENT = "patient",
@@ -5985,12 +6011,166 @@ declare class ClinicAdminService extends BaseService {
5985
6011
  getActiveManagedClinics(adminId: string): Promise<Clinic[]>;
5986
6012
  }
5987
6013
 
6014
+ declare class ProcedureService extends BaseService {
6015
+ private categoryService;
6016
+ private subcategoryService;
6017
+ private technologyService;
6018
+ private productService;
6019
+ private mediaService;
6020
+ constructor(db: Firestore, auth: Auth, app: FirebaseApp, categoryService: CategoryService, subcategoryService: SubcategoryService, technologyService: TechnologyService, productService: ProductService, mediaService: MediaService);
6021
+ /**
6022
+ * Process media resource (string URL or File object)
6023
+ * @param media String URL or File object
6024
+ * @param ownerId Owner ID for the media (usually procedureId)
6025
+ * @param collectionName Collection name for organizing files
6026
+ * @returns URL string after processing
6027
+ */
6028
+ private processMedia;
6029
+ /**
6030
+ * Process array of media resources (strings or Files)
6031
+ * @param mediaArray Array of string URLs or File objects
6032
+ * @param ownerId Owner ID for the media
6033
+ * @param collectionName Collection name for organizing files
6034
+ * @returns Array of URL strings after processing
6035
+ */
6036
+ private processMediaArray;
6037
+ /**
6038
+ * Creates a new procedure
6039
+ * @param data - The data for creating a new procedure
6040
+ * @returns The created procedure
6041
+ */
6042
+ createProcedure(data: CreateProcedureData): Promise<Procedure>;
6043
+ /**
6044
+ * Gets a procedure by ID
6045
+ * @param id - The ID of the procedure to get
6046
+ * @returns The procedure if found, null otherwise
6047
+ */
6048
+ getProcedure(id: string): Promise<Procedure | null>;
6049
+ /**
6050
+ * Gets all procedures for a clinic branch
6051
+ * @param clinicBranchId - The ID of the clinic branch
6052
+ * @returns List of procedures
6053
+ */
6054
+ getProceduresByClinicBranch(clinicBranchId: string): Promise<Procedure[]>;
6055
+ /**
6056
+ * Gets all procedures for a practitioner
6057
+ * @param practitionerId - The ID of the practitioner
6058
+ * @returns List of procedures
6059
+ */
6060
+ getProceduresByPractitioner(practitionerId: string): Promise<Procedure[]>;
6061
+ /**
6062
+ * Updates a procedure
6063
+ * @param id - The ID of the procedure to update
6064
+ * @param data - The data to update the procedure with
6065
+ * @returns The updated procedure
6066
+ */
6067
+ updateProcedure(id: string, data: UpdateProcedureData): Promise<Procedure>;
6068
+ /**
6069
+ * Deactivates a procedure (soft delete)
6070
+ * @param id - The ID of the procedure to deactivate
6071
+ */
6072
+ deactivateProcedure(id: string): Promise<void>;
6073
+ /**
6074
+ * Deletes a procedure permanently
6075
+ * @param id - The ID of the procedure to delete
6076
+ * @returns A boolean indicating if the deletion was successful
6077
+ */
6078
+ deleteProcedure(id: string): Promise<boolean>;
6079
+ /**
6080
+ * Gets all procedures that a practitioner is certified to perform
6081
+ * @param practitioner - The practitioner's profile
6082
+ * @returns Object containing allowed technologies, families, categories, subcategories
6083
+ */
6084
+ getAllowedTechnologies(practitioner: Practitioner): Promise<{
6085
+ technologies: Technology[];
6086
+ families: ProcedureFamily[];
6087
+ categories: string[];
6088
+ subcategories: string[];
6089
+ }>;
6090
+ /**
6091
+ * Gets all procedures with optional pagination
6092
+ *
6093
+ * @param pagination - Optional number of procedures per page (0 or undefined returns all)
6094
+ * @param lastDoc - Optional last document for pagination (if continuing from a previous page)
6095
+ * @returns Object containing procedures array and the last document for pagination
6096
+ */
6097
+ getAllProcedures(pagination?: number, lastDoc?: any): Promise<{
6098
+ procedures: Procedure[];
6099
+ lastDoc: any;
6100
+ }>;
6101
+ /**
6102
+ * Searches and filters procedures based on multiple criteria
6103
+ *
6104
+ * @param filters - Various filters to apply
6105
+ * @param filters.nameSearch - Optional search text for procedure name
6106
+ * @param filters.treatmentBenefits - Optional array of treatment benefits to filter by
6107
+ * @param filters.procedureFamily - Optional procedure family to filter by
6108
+ * @param filters.procedureCategory - Optional procedure category to filter by
6109
+ * @param filters.procedureSubcategory - Optional procedure subcategory to filter by
6110
+ * @param filters.procedureTechnology - Optional procedure technology to filter by
6111
+ * @param filters.location - Optional location for distance-based search
6112
+ * @param filters.radiusInKm - Optional radius in kilometers (required if location is provided)
6113
+ * @param filters.minPrice - Optional minimum price
6114
+ * @param filters.maxPrice - Optional maximum price
6115
+ * @param filters.minRating - Optional minimum rating (0-5)
6116
+ * @param filters.maxRating - Optional maximum rating (0-5)
6117
+ * @param filters.pagination - Optional number of results per page
6118
+ * @param filters.lastDoc - Optional last document for pagination
6119
+ * @param filters.isActive - Optional filter for active procedures only
6120
+ * @returns Filtered procedures and the last document for pagination
6121
+ */
6122
+ getProceduresByFilters(filters: {
6123
+ nameSearch?: string;
6124
+ treatmentBenefits?: TreatmentBenefit[];
6125
+ procedureFamily?: ProcedureFamily;
6126
+ procedureCategory?: string;
6127
+ procedureSubcategory?: string;
6128
+ procedureTechnology?: string;
6129
+ location?: {
6130
+ latitude: number;
6131
+ longitude: number;
6132
+ };
6133
+ radiusInKm?: number;
6134
+ minPrice?: number;
6135
+ maxPrice?: number;
6136
+ minRating?: number;
6137
+ maxRating?: number;
6138
+ pagination?: number;
6139
+ lastDoc?: any;
6140
+ isActive?: boolean;
6141
+ }): Promise<{
6142
+ procedures: (Procedure & {
6143
+ distance?: number;
6144
+ })[];
6145
+ lastDoc: any;
6146
+ }>;
6147
+ /**
6148
+ * Helper method to apply in-memory filters to procedures
6149
+ * Used by getProceduresByFilters to apply filters that can't be done in Firestore queries
6150
+ *
6151
+ * @param procedures - The procedures to filter
6152
+ * @param filters - The filters to apply
6153
+ * @returns Filtered procedures
6154
+ */
6155
+ private applyInMemoryFilters;
6156
+ /**
6157
+ * Creates a consultation procedure without requiring a product
6158
+ * This is a special method for consultation procedures that don't use products
6159
+ * @param data - The data for creating a consultation procedure (without productId)
6160
+ * @returns The created procedure
6161
+ */
6162
+ createConsultationProcedure(data: Omit<CreateProcedureData, "productId">): Promise<Procedure>;
6163
+ }
6164
+
5988
6165
  declare class PractitionerService extends BaseService {
5989
6166
  private clinicService?;
5990
6167
  private mediaService;
5991
- constructor(db: Firestore, auth: Auth, app: FirebaseApp, clinicService?: ClinicService);
6168
+ private procedureService?;
6169
+ constructor(db: Firestore, auth: Auth, app: FirebaseApp, clinicService?: ClinicService, procedureService?: ProcedureService);
5992
6170
  private getClinicService;
6171
+ private getProcedureService;
5993
6172
  setClinicService(clinicService: ClinicService): void;
6173
+ setProcedureService(procedureService: ProcedureService): void;
5994
6174
  /**
5995
6175
  * Handles profile photo upload for practitioners
5996
6176
  * @param profilePhoto - MediaResource (File, Blob, or URL string)
@@ -6157,6 +6337,21 @@ declare class PractitionerService extends BaseService {
6157
6337
  practitioners: Practitioner[];
6158
6338
  lastDoc: any;
6159
6339
  }>;
6340
+ /**
6341
+ * Enables free consultation for a practitioner in a specific clinic
6342
+ * Creates a free consultation procedure with hardcoded parameters
6343
+ * @param practitionerId - ID of the practitioner
6344
+ * @param clinicId - ID of the clinic
6345
+ * @returns The created consultation procedure
6346
+ */
6347
+ EnableFreeConsultation(practitionerId: string, clinicId: string): Promise<void>;
6348
+ /**
6349
+ * Disables free consultation for a practitioner in a specific clinic
6350
+ * Finds and deactivates the existing free consultation procedure
6351
+ * @param practitionerId - ID of the practitioner
6352
+ * @param clinicId - ID of the clinic
6353
+ */
6354
+ DisableFreeConsultation(practitionerId: string, clinicId: string): Promise<void>;
6160
6355
  }
6161
6356
 
6162
6357
  declare class UserService extends BaseService {
@@ -6592,150 +6787,6 @@ declare class NotificationService extends BaseService {
6592
6787
  getAppointmentNotifications(appointmentId: string): Promise<Notification[]>;
6593
6788
  }
6594
6789
 
6595
- declare class ProcedureService extends BaseService {
6596
- private categoryService;
6597
- private subcategoryService;
6598
- private technologyService;
6599
- private productService;
6600
- private mediaService;
6601
- constructor(db: Firestore, auth: Auth, app: FirebaseApp, categoryService: CategoryService, subcategoryService: SubcategoryService, technologyService: TechnologyService, productService: ProductService, mediaService: MediaService);
6602
- /**
6603
- * Process media resource (string URL or File object)
6604
- * @param media String URL or File object
6605
- * @param ownerId Owner ID for the media (usually procedureId)
6606
- * @param collectionName Collection name for organizing files
6607
- * @returns URL string after processing
6608
- */
6609
- private processMedia;
6610
- /**
6611
- * Process array of media resources (strings or Files)
6612
- * @param mediaArray Array of string URLs or File objects
6613
- * @param ownerId Owner ID for the media
6614
- * @param collectionName Collection name for organizing files
6615
- * @returns Array of URL strings after processing
6616
- */
6617
- private processMediaArray;
6618
- /**
6619
- * Creates a new procedure
6620
- * @param data - The data for creating a new procedure
6621
- * @returns The created procedure
6622
- */
6623
- createProcedure(data: CreateProcedureData): Promise<Procedure>;
6624
- /**
6625
- * Gets a procedure by ID
6626
- * @param id - The ID of the procedure to get
6627
- * @returns The procedure if found, null otherwise
6628
- */
6629
- getProcedure(id: string): Promise<Procedure | null>;
6630
- /**
6631
- * Gets all procedures for a clinic branch
6632
- * @param clinicBranchId - The ID of the clinic branch
6633
- * @returns List of procedures
6634
- */
6635
- getProceduresByClinicBranch(clinicBranchId: string): Promise<Procedure[]>;
6636
- /**
6637
- * Gets all procedures for a practitioner
6638
- * @param practitionerId - The ID of the practitioner
6639
- * @returns List of procedures
6640
- */
6641
- getProceduresByPractitioner(practitionerId: string): Promise<Procedure[]>;
6642
- /**
6643
- * Updates a procedure
6644
- * @param id - The ID of the procedure to update
6645
- * @param data - The data to update the procedure with
6646
- * @returns The updated procedure
6647
- */
6648
- updateProcedure(id: string, data: UpdateProcedureData): Promise<Procedure>;
6649
- /**
6650
- * Deactivates a procedure (soft delete)
6651
- * @param id - The ID of the procedure to deactivate
6652
- */
6653
- deactivateProcedure(id: string): Promise<void>;
6654
- /**
6655
- * Deletes a procedure permanently
6656
- * @param id - The ID of the procedure to delete
6657
- * @returns A boolean indicating if the deletion was successful
6658
- */
6659
- deleteProcedure(id: string): Promise<boolean>;
6660
- /**
6661
- * Gets all procedures that a practitioner is certified to perform
6662
- * @param practitioner - The practitioner's profile
6663
- * @returns Object containing allowed technologies, families, categories, subcategories
6664
- */
6665
- getAllowedTechnologies(practitioner: Practitioner): Promise<{
6666
- technologies: Technology[];
6667
- families: ProcedureFamily[];
6668
- categories: string[];
6669
- subcategories: string[];
6670
- }>;
6671
- /**
6672
- * Gets all procedures with optional pagination
6673
- *
6674
- * @param pagination - Optional number of procedures per page (0 or undefined returns all)
6675
- * @param lastDoc - Optional last document for pagination (if continuing from a previous page)
6676
- * @returns Object containing procedures array and the last document for pagination
6677
- */
6678
- getAllProcedures(pagination?: number, lastDoc?: any): Promise<{
6679
- procedures: Procedure[];
6680
- lastDoc: any;
6681
- }>;
6682
- /**
6683
- * Searches and filters procedures based on multiple criteria
6684
- *
6685
- * @param filters - Various filters to apply
6686
- * @param filters.nameSearch - Optional search text for procedure name
6687
- * @param filters.treatmentBenefits - Optional array of treatment benefits to filter by
6688
- * @param filters.procedureFamily - Optional procedure family to filter by
6689
- * @param filters.procedureCategory - Optional procedure category to filter by
6690
- * @param filters.procedureSubcategory - Optional procedure subcategory to filter by
6691
- * @param filters.procedureTechnology - Optional procedure technology to filter by
6692
- * @param filters.location - Optional location for distance-based search
6693
- * @param filters.radiusInKm - Optional radius in kilometers (required if location is provided)
6694
- * @param filters.minPrice - Optional minimum price
6695
- * @param filters.maxPrice - Optional maximum price
6696
- * @param filters.minRating - Optional minimum rating (0-5)
6697
- * @param filters.maxRating - Optional maximum rating (0-5)
6698
- * @param filters.pagination - Optional number of results per page
6699
- * @param filters.lastDoc - Optional last document for pagination
6700
- * @param filters.isActive - Optional filter for active procedures only
6701
- * @returns Filtered procedures and the last document for pagination
6702
- */
6703
- getProceduresByFilters(filters: {
6704
- nameSearch?: string;
6705
- treatmentBenefits?: TreatmentBenefit[];
6706
- procedureFamily?: ProcedureFamily;
6707
- procedureCategory?: string;
6708
- procedureSubcategory?: string;
6709
- procedureTechnology?: string;
6710
- location?: {
6711
- latitude: number;
6712
- longitude: number;
6713
- };
6714
- radiusInKm?: number;
6715
- minPrice?: number;
6716
- maxPrice?: number;
6717
- minRating?: number;
6718
- maxRating?: number;
6719
- pagination?: number;
6720
- lastDoc?: any;
6721
- isActive?: boolean;
6722
- }): Promise<{
6723
- procedures: (Procedure & {
6724
- distance?: number;
6725
- })[];
6726
- lastDoc: any;
6727
- }>;
6728
- /**
6729
- * Helper method to apply in-memory filters to procedures
6730
- * Used by getProceduresByFilters to apply filters that can't be done in Firestore queries
6731
- *
6732
- * @param procedures - The procedures to filter
6733
- * @param filters - The filters to apply
6734
- * @returns Filtered procedures
6735
- */
6736
- private applyInMemoryFilters;
6737
- }
6738
-
6739
6790
  declare class PractitionerInviteService extends BaseService {
6740
6791
  constructor(db: Firestore, auth: Auth, app: FirebaseApp);
6741
6792
  /**
@@ -7322,6 +7373,79 @@ declare class CalendarServiceV2 extends BaseService {
7322
7373
  private fetchProfileInfoCards;
7323
7374
  }
7324
7375
 
7376
+ /**
7377
+ * Calendar Service V3
7378
+ * Focused on blocking event management and calendar event search
7379
+ * Appointment logic is handled by AppointmentService and BookingAdmin
7380
+ * External calendar sync is handled by dedicated cloud functions
7381
+ */
7382
+ declare class CalendarServiceV3 extends BaseService {
7383
+ /**
7384
+ * Creates a new CalendarServiceV3 instance
7385
+ * @param db - Firestore instance
7386
+ * @param auth - Firebase Auth instance
7387
+ * @param app - Firebase App instance
7388
+ */
7389
+ constructor(db: Firestore, auth: Auth, app: FirebaseApp);
7390
+ /**
7391
+ * Creates a blocking event for a practitioner or clinic
7392
+ * @param params - Blocking event creation parameters
7393
+ * @returns Created calendar event
7394
+ */
7395
+ createBlockingEvent(params: CreateBlockingEventParams): Promise<CalendarEvent>;
7396
+ /**
7397
+ * Updates a blocking event
7398
+ * @param params - Blocking event update parameters
7399
+ * @returns Updated calendar event
7400
+ */
7401
+ updateBlockingEvent(params: UpdateBlockingEventParams): Promise<CalendarEvent>;
7402
+ /**
7403
+ * Deletes a blocking event
7404
+ * @param entityType - Type of entity (practitioner or clinic)
7405
+ * @param entityId - ID of the entity
7406
+ * @param eventId - ID of the event to delete
7407
+ */
7408
+ deleteBlockingEvent(entityType: "practitioner" | "clinic", entityId: string, eventId: string): Promise<void>;
7409
+ /**
7410
+ * Gets a specific blocking event
7411
+ * @param entityType - Type of entity (practitioner or clinic)
7412
+ * @param entityId - ID of the entity
7413
+ * @param eventId - ID of the event to retrieve
7414
+ * @returns Calendar event or null if not found
7415
+ */
7416
+ getBlockingEvent(entityType: "practitioner" | "clinic", entityId: string, eventId: string): Promise<CalendarEvent | null>;
7417
+ /**
7418
+ * Gets blocking events for a specific entity
7419
+ * @param entityType - Type of entity (practitioner or clinic)
7420
+ * @param entityId - ID of the entity
7421
+ * @param dateRange - Optional date range filter
7422
+ * @param eventType - Optional event type filter
7423
+ * @returns Array of calendar events
7424
+ */
7425
+ getEntityBlockingEvents(entityType: "practitioner" | "clinic", entityId: string, dateRange?: DateRange, eventType?: CalendarEventType): Promise<CalendarEvent[]>;
7426
+ /**
7427
+ * Searches for calendar events based on specified criteria.
7428
+ * This method supports searching for ALL event types (appointments, blocking events, etc.)
7429
+ *
7430
+ * @param params - The search parameters
7431
+ * @returns A promise that resolves to an array of matching calendar events
7432
+ */
7433
+ searchCalendarEvents(params: SearchCalendarEventsParams): Promise<CalendarEvent[]>;
7434
+ /**
7435
+ * Gets the calendar collection path for a specific entity
7436
+ * @param entityType - Type of entity (practitioner or clinic)
7437
+ * @param entityId - ID of the entity
7438
+ * @returns Collection path string
7439
+ */
7440
+ private getEntityCalendarPath;
7441
+ /**
7442
+ * Validates blocking event creation parameters
7443
+ * @param params - Parameters to validate
7444
+ * @throws Error if validation fails
7445
+ */
7446
+ private validateBlockingEventParams;
7447
+ }
7448
+
7325
7449
  /**
7326
7450
  * Service for managing synced calendars and calendar synchronization
7327
7451
  */
@@ -11818,6 +11942,7 @@ declare const practitionerSchema: z.ZodObject<{
11818
11942
  description?: string | null | undefined;
11819
11943
  }>, "many">;
11820
11944
  procedures: z.ZodArray<z.ZodString, "many">;
11945
+ freeConsultations: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
11821
11946
  proceduresInfo: z.ZodArray<z.ZodObject<{
11822
11947
  id: z.ZodString;
11823
11948
  name: z.ZodString;
@@ -12019,6 +12144,7 @@ declare const practitionerSchema: z.ZodObject<{
12019
12144
  averageRating: number;
12020
12145
  recommendationPercentage: number;
12021
12146
  };
12147
+ freeConsultations?: Record<string, string> | null | undefined;
12022
12148
  }, {
12023
12149
  id: string;
12024
12150
  createdAt: Date | Timestamp;
@@ -12135,6 +12261,7 @@ declare const practitionerSchema: z.ZodObject<{
12135
12261
  averageRating: number;
12136
12262
  recommendationPercentage: number;
12137
12263
  };
12264
+ freeConsultations?: Record<string, string> | null | undefined;
12138
12265
  }>;
12139
12266
  /**
12140
12267
  * Šema za validaciju podataka pri kreiranju zdravstvenog radnika
@@ -12494,6 +12621,7 @@ declare const createPractitionerSchema: z.ZodObject<{
12494
12621
  featuredPhoto: string;
12495
12622
  description?: string | null | undefined;
12496
12623
  }>, "many">>;
12624
+ freeConsultations: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
12497
12625
  proceduresInfo: z.ZodOptional<z.ZodArray<z.ZodObject<{
12498
12626
  id: z.ZodString;
12499
12627
  name: z.ZodString;
@@ -12632,6 +12760,7 @@ declare const createPractitionerSchema: z.ZodObject<{
12632
12760
  featuredPhoto: string;
12633
12761
  description?: string | null | undefined;
12634
12762
  }[] | undefined;
12763
+ freeConsultations?: Record<string, string> | null | undefined;
12635
12764
  status?: PractitionerStatus | undefined;
12636
12765
  proceduresInfo?: {
12637
12766
  id: string;
@@ -12734,6 +12863,7 @@ declare const createPractitionerSchema: z.ZodObject<{
12734
12863
  featuredPhoto: string;
12735
12864
  description?: string | null | undefined;
12736
12865
  }[] | undefined;
12866
+ freeConsultations?: Record<string, string> | null | undefined;
12737
12867
  status?: PractitionerStatus | undefined;
12738
12868
  proceduresInfo?: {
12739
12869
  id: string;
@@ -13111,6 +13241,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
13111
13241
  featuredPhoto: string;
13112
13242
  description?: string | null | undefined;
13113
13243
  }>, "many">>;
13244
+ freeConsultations: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
13114
13245
  proceduresInfo: z.ZodOptional<z.ZodArray<z.ZodObject<{
13115
13246
  id: z.ZodString;
13116
13247
  name: z.ZodString;
@@ -13247,6 +13378,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
13247
13378
  featuredPhoto: string;
13248
13379
  description?: string | null | undefined;
13249
13380
  }[] | undefined;
13381
+ freeConsultations?: Record<string, string> | null | undefined;
13250
13382
  proceduresInfo?: {
13251
13383
  id: string;
13252
13384
  name: string;
@@ -13346,6 +13478,7 @@ declare const createDraftPractitionerSchema: z.ZodObject<{
13346
13478
  featuredPhoto: string;
13347
13479
  description?: string | null | undefined;
13348
13480
  }[] | undefined;
13481
+ freeConsultations?: Record<string, string> | null | undefined;
13349
13482
  isVerified?: boolean | undefined;
13350
13483
  proceduresInfo?: {
13351
13484
  id: string;
@@ -18698,6 +18831,115 @@ declare const calendarEventSchema: z.ZodObject<{
18698
18831
  procedureProduct: string;
18699
18832
  } | null | undefined;
18700
18833
  }>;
18834
+ /**
18835
+ * Validation schema for creating blocking events
18836
+ * Based on CreateBlockingEventParams interface
18837
+ */
18838
+ declare const createBlockingEventSchema: z.ZodObject<{
18839
+ entityType: z.ZodEnum<["practitioner", "clinic"]>;
18840
+ entityId: z.ZodString;
18841
+ eventName: z.ZodString;
18842
+ eventTime: z.ZodEffects<z.ZodEffects<z.ZodObject<{
18843
+ start: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18844
+ end: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18845
+ }, "strip", z.ZodTypeAny, {
18846
+ start: Date | Timestamp;
18847
+ end: Date | Timestamp;
18848
+ }, {
18849
+ start: Date | Timestamp;
18850
+ end: Date | Timestamp;
18851
+ }>, {
18852
+ start: Date | Timestamp;
18853
+ end: Date | Timestamp;
18854
+ }, {
18855
+ start: Date | Timestamp;
18856
+ end: Date | Timestamp;
18857
+ }>, {
18858
+ start: Date | Timestamp;
18859
+ end: Date | Timestamp;
18860
+ }, {
18861
+ start: Date | Timestamp;
18862
+ end: Date | Timestamp;
18863
+ }>;
18864
+ eventType: z.ZodEnum<[CalendarEventType.BLOCKING, CalendarEventType.BREAK, CalendarEventType.FREE_DAY, CalendarEventType.OTHER]>;
18865
+ description: z.ZodOptional<z.ZodString>;
18866
+ }, "strip", z.ZodTypeAny, {
18867
+ eventTime: {
18868
+ start: Date | Timestamp;
18869
+ end: Date | Timestamp;
18870
+ };
18871
+ eventName: string;
18872
+ eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
18873
+ entityType: "practitioner" | "clinic";
18874
+ entityId: string;
18875
+ description?: string | undefined;
18876
+ }, {
18877
+ eventTime: {
18878
+ start: Date | Timestamp;
18879
+ end: Date | Timestamp;
18880
+ };
18881
+ eventName: string;
18882
+ eventType: CalendarEventType.BLOCKING | CalendarEventType.BREAK | CalendarEventType.FREE_DAY | CalendarEventType.OTHER;
18883
+ entityType: "practitioner" | "clinic";
18884
+ entityId: string;
18885
+ description?: string | undefined;
18886
+ }>;
18887
+ /**
18888
+ * Validation schema for updating blocking events
18889
+ * Based on UpdateBlockingEventParams interface
18890
+ */
18891
+ declare const updateBlockingEventSchema: z.ZodObject<{
18892
+ entityType: z.ZodEnum<["practitioner", "clinic"]>;
18893
+ entityId: z.ZodString;
18894
+ eventId: z.ZodString;
18895
+ eventName: z.ZodOptional<z.ZodString>;
18896
+ eventTime: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
18897
+ start: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18898
+ end: z.ZodUnion<[z.ZodType<Date, z.ZodTypeDef, Date>, z.ZodType<Timestamp, z.ZodTypeDef, Timestamp>]>;
18899
+ }, "strip", z.ZodTypeAny, {
18900
+ start: Date | Timestamp;
18901
+ end: Date | Timestamp;
18902
+ }, {
18903
+ start: Date | Timestamp;
18904
+ end: Date | Timestamp;
18905
+ }>, {
18906
+ start: Date | Timestamp;
18907
+ end: Date | Timestamp;
18908
+ }, {
18909
+ start: Date | Timestamp;
18910
+ end: Date | Timestamp;
18911
+ }>, {
18912
+ start: Date | Timestamp;
18913
+ end: Date | Timestamp;
18914
+ }, {
18915
+ start: Date | Timestamp;
18916
+ end: Date | Timestamp;
18917
+ }>>;
18918
+ description: z.ZodOptional<z.ZodString>;
18919
+ status: z.ZodOptional<z.ZodNativeEnum<typeof CalendarEventStatus>>;
18920
+ }, "strip", z.ZodTypeAny, {
18921
+ eventId: string;
18922
+ entityType: "practitioner" | "clinic";
18923
+ entityId: string;
18924
+ description?: string | undefined;
18925
+ status?: CalendarEventStatus | undefined;
18926
+ eventTime?: {
18927
+ start: Date | Timestamp;
18928
+ end: Date | Timestamp;
18929
+ } | undefined;
18930
+ eventName?: string | undefined;
18931
+ }, {
18932
+ eventId: string;
18933
+ entityType: "practitioner" | "clinic";
18934
+ entityId: string;
18935
+ description?: string | undefined;
18936
+ status?: CalendarEventStatus | undefined;
18937
+ eventTime?: {
18938
+ start: Date | Timestamp;
18939
+ end: Date | Timestamp;
18940
+ } | undefined;
18941
+ eventName?: string | undefined;
18942
+ }>;
18701
18943
 
18702
18944
  /**
18703
18945
  * Validation schema for practitioner profile info
@@ -19797,4 +20039,4 @@ declare const createReviewSchema: z.ZodEffects<z.ZodObject<{
19797
20039
  } | undefined;
19798
20040
  }>;
19799
20041
 
19800
- export { APPOINTMENTS_COLLECTION, AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentReminderNotification, AppointmentService, AppointmentStatus, AuthError, AuthService, type BaseDocumentElement, type BaseNotification, type BinaryChoiceElement, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, type DynamicTextElement, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, type HeadingElement, HeadingLevel, Language, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MedicationAllergySubtype, type MultipleChoiceElement, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PRACTITIONER_INVITES_COLLECTION, PROCEDURES_COLLECTION, type ParagraphElement, type PatientClinic, type PatientDoctor, PatientInstructionStatus, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsService, type PatientSensitiveInfo, PatientService, PaymentStatus, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerInvite, type PractitionerInviteFilters, PractitionerInviteService, PractitionerInviteStatus, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, RequirementType, type Review, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, USER_ERRORS, USER_FORMS_SUBCOLLECTION, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdatePractitionerInviteData, type UpdateProcedureData, type UpdateSyncedCalendarData, 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, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createFilledDocumentDataSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, filledDocumentSchema, filledDocumentStatusSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerSignupSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, requesterInfoSchema, requirementInstructionDueNotificationSchema, reviewSchema, searchAppointmentsSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateFilledDocumentDataSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };
20042
+ export { APPOINTMENTS_COLLECTION, AUTH_ERRORS, type AddAllergyData, type AddBlockingConditionData, type AddContraindicationData, type AddMedicationData, type AddressData, type AdminInfo, type AdminToken, AdminTokenStatus, type Allergy, type AllergySubtype, AllergyType, type AllergyTypeWithSubtype, type Appointment, type AppointmentReminderNotification, AppointmentService, AppointmentStatus, AuthError, AuthService, type BaseDocumentElement, type BaseNotification, type BinaryChoiceElement, BlockingCondition, type Brand, BrandService, CALENDAR_COLLECTION, CLINICS_COLLECTION, CLINIC_ADMINS_COLLECTION, CLINIC_GROUPS_COLLECTION, type CalendarEvent, CalendarEventStatus, type CalendarEventTime, CalendarEventType, CalendarServiceV2, CalendarServiceV3, CalendarSyncStatus, type Category, CategoryService, CertificationLevel, CertificationSpecialty, type Clinic, type ClinicAdmin, ClinicAdminService, type ClinicAdminSignupData, type ClinicBranchSetupData, type ClinicContactInfo, type ClinicGroup, ClinicGroupService, type ClinicGroupSetupData, type ClinicInfo, type ClinicLocation, ClinicPhotoTag, type ClinicReview, type ClinicReviewInfo, ClinicService, ClinicTag, type ClinicTags, type ContactPerson, Contraindication, CosmeticAllergySubtype, type CreateAdminTokenData, type CreateAppointmentData, type CreateAppointmentHttpData, type CreateAppointmentParams, type CreateBlockingEventParams, type CreateCalendarEventData, type CreateClinicAdminData, type CreateClinicData, type CreateClinicGroupData, type CreateDefaultClinicGroupData, type CreateDocumentTemplateData, type CreateDraftPractitionerData, type CreatePatientLocationInfoData, type CreatePatientMedicalInfoData, type CreatePatientProfileData, type CreatePatientSensitiveInfoData, type CreatePractitionerData, type CreatePractitionerInviteData, type CreatePractitionerTokenData, type CreateProcedureData, type CreateSyncedCalendarData, type CreateUserData, Currency, DOCTOR_FORMS_SUBCOLLECTION, DOCUMENTATION_TEMPLATES_COLLECTION, type DatePickerElement, type DateRange, type DigitalSignatureElement, type DoctorInfo, type DocumentElement, DocumentElementType, type DocumentTemplate, DocumentationTemplateService, type DynamicTextElement, DynamicVariable, type EmergencyContact, EnvironmentalAllergySubtype, FILLED_DOCUMENTS_COLLECTION, type FileUploadElement, type FilledDocument, type FilledDocumentFileValue, FilledDocumentService, FilledDocumentStatus, FirebaseErrorCode, type FirebaseUser, FoodAllergySubtype, type GamificationInfo, Gender, type HeadingElement, HeadingLevel, Language, type ListElement, ListType, type LocationData, MEDIA_METADATA_COLLECTION, MediaAccessLevel, type MediaMetadata, type MediaResource, MediaService, MedicationAllergySubtype, type MultipleChoiceElement, type Notification, NotificationService, NotificationStatus, NotificationType, PATIENTS_COLLECTION, PATIENT_APPOINTMENTS_COLLECTION, PATIENT_LOCATION_INFO_COLLECTION, PATIENT_MEDICAL_HISTORY_COLLECTION, PATIENT_MEDICAL_INFO_COLLECTION, PATIENT_REQUIREMENTS_SUBCOLLECTION_NAME, PATIENT_SENSITIVE_INFO_COLLECTION, PRACTITIONERS_COLLECTION, PRACTITIONER_INVITES_COLLECTION, PROCEDURES_COLLECTION, type ParagraphElement, type PatientClinic, type PatientDoctor, PatientInstructionStatus, type PatientLocationInfo, type PatientMedicalInfo, type PatientProfile, type PatientProfileComplete, type PatientProfileInfo, type PatientRequirementInstance, type PatientRequirementInstruction, PatientRequirementOverallStatus, PatientRequirementsService, type PatientSensitiveInfo, PatientService, PaymentStatus, type PostRequirementNotification, PracticeType, type Practitioner, type PractitionerBasicInfo, type PractitionerCertification, type PractitionerClinicProcedures, type PractitionerClinicWorkingHours, type PractitionerInvite, type PractitionerInviteFilters, PractitionerInviteService, PractitionerInviteStatus, type PractitionerProfileInfo, type PractitionerReview, type PractitionerReviewInfo, PractitionerService, PractitionerStatus, type PractitionerToken, PractitionerTokenStatus, type PractitionerWorkingHours, type PreRequirementNotification, PricingMeasure, type Procedure, type ProcedureCategorization, ProcedureFamily, type ProcedureInfo, type ProcedureReview, type ProcedureReviewInfo, ProcedureService, type Product, ProductService, type ProposedWorkingHours, REGISTER_TOKENS_COLLECTION, REVIEWS_COLLECTION, type RatingScaleElement, type RequesterInfo, type Requirement, RequirementType, type Review, ReviewService, SYNCED_CALENDARS_COLLECTION, type SearchAppointmentsParams, type SearchCalendarEventsParams, SearchLocationEnum, type SearchPatientsParams, type SignatureElement, type SingleChoiceElement, type Subcategory, SubcategoryService, SubscriptionModel, type SyncedCalendar, type SyncedCalendarEvent, SyncedCalendarProvider, SyncedCalendarsService, type Technology, type TechnologyDocumentationTemplate, TechnologyService, type TextInputElement, type TimeSlot, TimeUnit, TreatmentBenefit, USER_ERRORS, USER_FORMS_SUBCOLLECTION, type UpdateAllergyData, type UpdateAppointmentData, type UpdateAppointmentParams, type UpdateBlockingConditionData, type UpdateBlockingEventParams, type UpdateCalendarEventData, type UpdateClinicAdminData, type UpdateClinicData, type UpdateClinicGroupData, type UpdateContraindicationData, type UpdateDocumentTemplateData, type UpdateMedicationData, type UpdatePatientLocationInfoData, type UpdatePatientMedicalInfoData, type UpdatePatientProfileData, type UpdatePatientSensitiveInfoData, type UpdatePractitionerData, type UpdatePractitionerInviteData, type UpdateProcedureData, type UpdateSyncedCalendarData, 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, calendarEventSchema, calendarEventTimeSchema, clinicAdminOptionsSchema, clinicAdminSchema, clinicAdminSignupSchema, clinicBranchSetupSchema, clinicContactInfoSchema, clinicGroupSchema, clinicGroupSetupSchema, clinicLocationSchema, clinicReviewInfoSchema, clinicReviewSchema, clinicSchema, clinicTagsSchema, contactPersonSchema, contraindicationSchema, createAdminTokenSchema, createAppointmentSchema, createBlockingEventSchema, createCalendarEventSchema, createClinicAdminSchema, createClinicGroupSchema, createClinicReviewSchema, createClinicSchema, createDefaultClinicGroupSchema, createDocumentTemplateSchema, createDraftPractitionerSchema, createFilledDocumentDataSchema, createPatientLocationInfoSchema, createPatientMedicalInfoSchema, createPatientProfileSchema, createPatientSensitiveInfoSchema, createPractitionerReviewSchema, createPractitionerSchema, createPractitionerTokenSchema, createProcedureReviewSchema, createReviewSchema, createUserOptionsSchema, documentElementSchema, documentElementWithoutIdSchema, documentTemplateSchema, emailSchema, emergencyContactSchema, filledDocumentSchema, filledDocumentStatusSchema, gamificationSchema, getFirebaseApp, getFirebaseAuth, getFirebaseDB, getFirebaseInstance, initializeFirebase, locationDataSchema, medicationSchema, notificationSchema, passwordSchema, patientClinicSchema, patientDoctorSchema, patientLocationInfoSchema, patientMedicalInfoSchema, patientProfileInfoSchema, patientProfileSchema, patientSensitiveInfoSchema, postRequirementNotificationSchema, practitionerBasicInfoSchema, practitionerCertificationSchema, practitionerClinicWorkingHoursSchema, practitionerProfileInfoSchema, practitionerReviewInfoSchema, practitionerReviewSchema, practitionerSchema, practitionerSignupSchema, practitionerTokenSchema, practitionerWorkingHoursSchema, preRequirementNotificationSchema, procedureCategorizationSchema, procedureInfoSchema, procedureReviewInfoSchema, procedureReviewSchema, requesterInfoSchema, requirementInstructionDueNotificationSchema, reviewSchema, searchAppointmentsSchema, searchPatientsSchema, syncedCalendarEventSchema, timeSlotSchema, timestampSchema, updateAllergySchema, updateAppointmentSchema, updateBlockingConditionSchema, updateBlockingEventSchema, updateCalendarEventSchema, updateClinicAdminSchema, updateClinicGroupSchema, updateClinicSchema, updateContraindicationSchema, updateDocumentTemplateSchema, updateFilledDocumentDataSchema, updateMedicationSchema, updatePatientMedicalInfoSchema, updateVitalStatsSchema, userRoleSchema, userRolesSchema, userSchema, vitalStatsSchema, workingHoursSchema };